<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>SameShirtEveryDay.com &#187; beginning</title>
	<atom:link href="http://sameshirteveryday.com/tag/beginning/feed/" rel="self" type="application/rss+xml" />
	<link>http://sameshirteveryday.com</link>
	<description>Personal blog of the one called Alex Gorbatchev, from Toronto, Canada.</description>
	<lastBuildDate>Wed, 30 Dec 2009 20:00:32 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Discovering Erlang #1</title>
		<link>http://sameshirteveryday.com/2009/10/24/discovering-erlang-1/</link>
		<comments>http://sameshirteveryday.com/2009/10/24/discovering-erlang-1/#comments</comments>
		<pubDate>Sat, 24 Oct 2009 23:03:02 +0000</pubDate>
		<dc:creator>Alex Gorbatchev</dc:creator>
				<category><![CDATA[Erlang]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[beginning]]></category>

		<guid isPermaLink="false">http://sameshirteveryday.com/?p=207</guid>
		<description><![CDATA[I&#8217;m starting to research Erlang as a possible language to go with for my future web development and so I will be posting occasional Erlang posts with links and thoughts. This first post will include a large-ish number of Erlang links that&#8217;s I&#8217;m aggregating mostly consisting of existing web frameworks. HTTP Servers These are servers commonly used [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;"><img class="size-full wp-image-206 alignleft" title="erlan_logo" src="http://sameshirteveryday.com/wp-content/uploads/2009/10/erlan_logo.jpg" alt="erlan_logo" width="180" height="160" />I&#8217;m starting to research <a href="http://www.erlang.org" target="_blank">Erlang</a> as a possible language to go with for my future web development and so I will be posting occasional <a href="http://erlang.org/">Erlang</a> posts with links and thoughts.</p>
<p style="text-align: left;">This first post will include a large-ish number of <a href="http://erlang.org/">Erlang</a> links that&#8217;s I&#8217;m aggregating mostly consisting of existing web frameworks.</p>
<p style="text-align: left;">
<h2>HTTP Servers</h2>
<p>These are servers commonly used for deployment, similar to Ngnix, Lighttpd, Apache and so on.</p>
<ul>
<li><a href="http://code.google.com/p/mochiweb/" target="_blank">Mochiweb</a> is a very lightweight HTTP server written in Erlang.</li>
<li><a href="http://yaws.hyber.org/" target="_blank">Yaws</a> is a HTTP high perfomance 1.1 webserver particularly well suited for dynamic-content web applications.</li>
<li><a href="http://www.erlang.org/doc/apps/inets/part_frame.html" target="_blank">Inets</a> is a container for Internet clients and servers. Currently, an <a href="http://www.erlang.org/doc/apps/inets/part_term.html#HTTP">HTTP</a> client and server, a TFPT client and server, and a FTP client has been incorporated into Inets. The HTTP server and client is HTTP 1.1 compliant as defined in <a href="http://www.erlang.org/doc/apps/inets/part_term.html#RFC">RFC</a> 2616.</li>
</ul>
<h2>Web Frameworks</h2>
<p>These are actual web frameworks which make developer&#8217;s lives easier, similar to Ruby, Merb, Sinatra and so on.</p>
<ul>
<li><a href="http://nitrogenproject.com/" target="_blank">Nitrogen</a> uses an event-driven model built on top of <a href="http://erlang.org/">Erlang</a> pattern matching. Nitrogen allows you to tag elements with any <a href="http://erlang.org/">Erlang</a> term, and then act on the tag in server-side code when the user clicks on, hovers over, or otherwise interacts with the element. Catching the event is as simple as writing an <a href="http://erlang.org/">Erlang</a> function.</li>
<li><a href="http://bitbucket.org/justin/webmachine/wiki/Home" target="_blank">Webmachine</a> is not much like the Web frameworks you&#8217;re used to. It is an application layer that adds HTTP semantic awareness on top of the excellent bit-pushing and HTTP syntax-management provided by mochiweb, and provides a simple and clean way to connect that to your application&#8217;s behavior.</li>
<li><a href="http://erlyweb.org/" target="_self">ErlyWeb</a> is a component-oriented web development framework written in <a href="http://erlang.org/">Erlang</a> and designed to work with <a href="http://yaws.hyber.org/">Yaws</a>, a high-performance Erlang web server. ErlyWeb simplifies building database-driven webapps that follow the tried and true MVC pattern using a great language with many outstanding strengths.</li>
<li><a href="http://www.erlang-web.org/" target="_blank">The Erlang Web</a> is an open source framework for applications based on HTTP protocols, giving the developer better control of content management. With Erlang Web&#8217;s simple but extensible concept of including dynamic content in pages, libraries of reusable components can be built. Currently it supports <a href="http://www.erlang.org/doc/apps/inets/part_frame.html" target="_blank">INETS</a> and <a href="http://yaws.hyber.org/" target="_blank">Yaws</a> webservers, but others are planned in the future.</li>
<li><a href="http://www.chicagoboss.org/" target="_blank">Chicago Boss</a> is fully asynchronous, using one single process to handle hundreds or thousands of simultaneous requests, and thus it solves the classic c10k problem. All other web frameworks will break down and cry if you ask them to process more than a few dozen simultaneous requests on a single machine. <a href="http://www.chicagoboss.org/" target="_blank">Chicago Boss</a> is built with <a href="http://erlang.org/">Erlang</a>, the same platform used by banks and telecoms to achieve unprecendented scalability and (no exaggeration) 99.9999999% reliability.</li>
</ul>
<h2>Other Erlang Projects</h2>
<p>This is a list of interesting <a href="http://erlang.org/">Erlang</a> projects that i&#8217;ve found on the web so far.</p>
<ul>
<li><a href="http://github.com/KirinDave/fuzed" target="_blank">Fuzed</a> is an <a href="http://erlang.org/">Erlang</a>-based clustering system designed to let several single-threaded processes (which may or may not be reliable) form<br />
into a pool which can serve requests to remote hosts. These resources need not be homogeneous, Fuzed breaks them up into homogeneous pools<br />
internally and serves out requests without &#8220;crossing the streams&#8221; of different software/versions of software.</li>
<li><a href="http://code.google.com/p/erlydtl/" target="_blank">ErlyDTL</a> is an <a href="http://erlang.org/">Erlang</a> implementation of the <a href="http://www.djangoproject.com/documentation/templates/">Django Template Language</a>. The erlydtl module compiles Django Template source code into Erlang bytecode. The compiled template has a &#8220;render&#8221; function that takes a list of variables and returns a fully rendered document.</li>
<li><a href="http://www.erlang.org/doc/apps/eunit/chapter.html" target="_blank">EUnit</a> is a unit testing framework for <a href="http://erlang.org/">Erlang</a>. It is very powerful and flexible, is easy to use, and has small syntactical overhead.</li>
<li><a href="http://couchdb.apache.org/" target="_blank">Apache CouchDB</a> is a document-oriented database that can be queried and indexed in a MapReduce fashion using JavaScript. CouchDB also offers incremental replication with bi-directional conflict detection and resolution.</li>
<li><a href="http://github.com/mujaheed/erlang-amf" target="_blank">Erlang-AMF</a> is an AMF0 and AMF3 library (ActionScript data exchange).</li>
</ul>
<h2>Interesting Reads</h2>
<ul>
<li><a href="http://highscalability.com/blog/2008/5/14/new-facebook-chat-feature-scales-to-70-million-users-using-e.html" target="_self">New Facebook chat feature scales to 70m users using Erlang</a></li>
<li><a href="http://www.sics.se/~joe/apachevsyaws.html" target="_blank">Apache vs. Yaws</a></li>
<li><a href="http://thestaticvoid.com/post/2009/08/04/replacing-apache-with-yaws/" target="_blank">Replacing Apache with Yaws</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://sameshirteveryday.com/2009/10/24/discovering-erlang-1/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

