<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Video Tutorial To Start Developing Web Applications on Erlang</title>
	<atom:link href="http://beebole.com/blog/erlang/tutorial-web-application-erlang/feed/" rel="self" type="application/rss+xml" />
	<link>http://beebole.com/blog/erlang/tutorial-web-application-erlang/</link>
	<description>The News about the Easiest and Fastest Timesheet</description>
	<lastBuildDate>Sat, 18 Feb 2012 18:59:31 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
	<item>
		<title>By: Sameer</title>
		<link>http://beebole.com/blog/erlang/tutorial-web-application-erlang/#comment-201</link>
		<dc:creator>Sameer</dc:creator>
		<pubDate>Tue, 21 Dec 2010 13:17:25 +0000</pubDate>
		<guid isPermaLink="false">http://beebole.com/blog/?p=387#comment-201</guid>
		<description>The video is not playing on vimeo.com. Please check. 

Thanks from India!</description>
		<content:encoded><![CDATA[<p>The video is not playing on vimeo.com. Please check. </p>
<p>Thanks from India!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Yves</title>
		<link>http://beebole.com/blog/erlang/tutorial-web-application-erlang/#comment-200</link>
		<dc:creator>Yves</dc:creator>
		<pubDate>Mon, 21 Dec 2009 13:06:16 +0000</pubDate>
		<guid isPermaLink="false">http://beebole.com/blog/?p=387#comment-200</guid>
		<description>Hi Ivan,

Hughes is off for a few days, but I am sure he will be able to answer you very soon.

Thank you for your patience.</description>
		<content:encoded><![CDATA[<p>Hi Ivan,</p>
<p>Hughes is off for a few days, but I am sure he will be able to answer you very soon.</p>
<p>Thank you for your patience.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ivan</title>
		<link>http://beebole.com/blog/erlang/tutorial-web-application-erlang/#comment-199</link>
		<dc:creator>Ivan</dc:creator>
		<pubDate>Mon, 21 Dec 2009 11:30:29 +0000</pubDate>
		<guid isPermaLink="false">http://beebole.com/blog/?p=387#comment-199</guid>
		<description>Dear Hughes

Thank you for this demo.  It has been very helpful getting me started with Erlang.  

I wonder if you could offer some advice.

I am trying to split the stickyNotes app between two servers: one with the html, css, img and js, and one with the erlang server.  However it&#039;s not working.

The only change I&#039;ve made to the code is in application.js I have changed the calls to post() from

    post(json, &quot;/notes&quot;, null);

to 

    post(json, &quot;http://localhost:8000/notes&quot;, null);

The erlang server is receiving the requests, but instead of the POST requests it&#039;s expecting, it&#039;s receiving OPTIONS requests.  

I need to figure out what stickyNotes_web.erl should do with an OPTIONS request, and how to get the browser to send POST requests.

I realise this is not really an Erlang question.  It&#039;s probably more to do with the change in the http handshake caused by the split between two servers.  However, is this something MochiWeb and/or WebMachine can handle?  Or is this the wrong way to split the app over two servers?

Any help appreciated.  Once I&#039;ve sorted it out I&#039;ll post a summary.

Best wishes

Ivan</description>
		<content:encoded><![CDATA[<p>Dear Hughes</p>
<p>Thank you for this demo.  It has been very helpful getting me started with Erlang.  </p>
<p>I wonder if you could offer some advice.</p>
<p>I am trying to split the stickyNotes app between two servers: one with the html, css, img and js, and one with the erlang server.  However it&#8217;s not working.</p>
<p>The only change I&#8217;ve made to the code is in application.js I have changed the calls to post() from</p>
<p>    post(json, &#8220;/notes&#8221;, null);</p>
<p>to </p>
<p>    post(json, &#8220;http://localhost:8000/notes&#8221;, null);</p>
<p>The erlang server is receiving the requests, but instead of the POST requests it&#8217;s expecting, it&#8217;s receiving OPTIONS requests.  </p>
<p>I need to figure out what stickyNotes_web.erl should do with an OPTIONS request, and how to get the browser to send POST requests.</p>
<p>I realise this is not really an Erlang question.  It&#8217;s probably more to do with the change in the http handshake caused by the split between two servers.  However, is this something MochiWeb and/or WebMachine can handle?  Or is this the wrong way to split the app over two servers?</p>
<p>Any help appreciated.  Once I&#8217;ve sorted it out I&#8217;ll post a summary.</p>
<p>Best wishes</p>
<p>Ivan</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Hughes</title>
		<link>http://beebole.com/blog/erlang/tutorial-web-application-erlang/#comment-198</link>
		<dc:creator>Hughes</dc:creator>
		<pubDate>Tue, 08 Sep 2009 12:37:14 +0000</pubDate>
		<guid isPermaLink="false">http://beebole.com/blog/?p=387#comment-198</guid>
		<description>@Arne

Thanks for pointing this out.

One way to fix that is to use the list_to_existing_atom/1 (@Lambder) BIF instead of the list_to_atom/1 one in the stickyNotes_web.erl file line 42 :

Action = list_to_existing_atom(binary_to_list(A)),

From the Erlang doc : &quot;This function returns the atom whose text representation is String, but only if there already exists such atom&quot;.</description>
		<content:encoded><![CDATA[<p>@Arne</p>
<p>Thanks for pointing this out.</p>
<p>One way to fix that is to use the list_to_existing_atom/1 (@Lambder) BIF instead of the list_to_atom/1 one in the stickyNotes_web.erl file line 42 :</p>
<p>Action = list_to_existing_atom(binary_to_list(A)),</p>
<p>From the Erlang doc : &#8220;This function returns the atom whose text representation is String, but only if there already exists such atom&#8221;.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Arne Ehrlich</title>
		<link>http://beebole.com/blog/erlang/tutorial-web-application-erlang/#comment-197</link>
		<dc:creator>Arne Ehrlich</dc:creator>
		<pubDate>Tue, 08 Sep 2009 10:57:55 +0000</pubDate>
		<guid isPermaLink="false">http://beebole.com/blog/?p=387#comment-197</guid>
		<description>There is an exploitable denial-of-service bug in the code.
The action parameter is parsed to an atom without checking.
Atoms are not garbage collected - an attacker</description>
		<content:encoded><![CDATA[<p>There is an exploitable denial-of-service bug in the code.<br />
The action parameter is parsed to an atom without checking.<br />
Atoms are not garbage collected &#8211; an attacker</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: lambder &#187; The BeeBole Erlang/Web Tutorial, Webmachine-Style</title>
		<link>http://beebole.com/blog/erlang/tutorial-web-application-erlang/#comment-193</link>
		<dc:creator>lambder &#187; The BeeBole Erlang/Web Tutorial, Webmachine-Style</dc:creator>
		<pubDate>Tue, 25 Aug 2009 20:54:47 +0000</pubDate>
		<guid isPermaLink="false">http://beebole.com/blog/?p=387#comment-193</guid>
		<description>[...] created originally in mochiweb by Hughes Waroquier from BeeBole. Hughes posted it in a form of neat screencast tutorial. It&#8217;s worth [...] </description>
		<content:encoded><![CDATA[<p>[...] created originally in mochiweb by Hughes Waroquier from BeeBole. Hughes posted it in a form of neat screencast tutorial. It&#8217;s worth [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Hughes</title>
		<link>http://beebole.com/blog/erlang/tutorial-web-application-erlang/#comment-196</link>
		<dc:creator>Hughes</dc:creator>
		<pubDate>Wed, 19 Aug 2009 16:35:44 +0000</pubDate>
		<guid isPermaLink="false">http://beebole.com/blog/?p=387#comment-196</guid>
		<description>@momingle

It seems that the tables required by the demo app have not been properly created.
The first time you launch the app with the &#039;start-dev.sh&#039; script, be sure to launch stickydb:reset() in the Erlang console.  This function is creating the initial Mnesia schema with 2 tables &#039;counter&#039; and &#039;note&#039;.</description>
		<content:encoded><![CDATA[<p>@momingle</p>
<p>It seems that the tables required by the demo app have not been properly created.<br />
The first time you launch the app with the &#8216;start-dev.sh&#8217; script, be sure to launch stickydb:reset() in the Erlang console.  This function is creating the initial Mnesia schema with 2 tables &#8216;counter&#8217; and &#8216;note&#8217;.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: momingle</title>
		<link>http://beebole.com/blog/erlang/tutorial-web-application-erlang/#comment-195</link>
		<dc:creator>momingle</dc:creator>
		<pubDate>Tue, 18 Aug 2009 18:12:24 +0000</pubDate>
		<guid isPermaLink="false">http://beebole.com/blog/?p=387#comment-195</guid>
		<description>I got this error when running the tutorial:

=CRASH REPORT==== 18-Aug-2009::14:10:46 ===
  crasher:
    pid:
    registered_name: []
    exception exit: {aborted,{no_exists,counter}}
      in function  mnesia:abort/1
      in call from mnesia_tm:dirty/2
      in call from notes:create/1
      in call from stickyNotes_web:loop/2
      in call from mochiweb_http:headers/4
    initial call: mochiweb_socket_server:acceptor_loop/1
    ancestors: [stickyNotes_web,stickyNotes_sup,]
    messages: []
    links: [,#Port]
    dictionary: [{mochiweb_request_body,
                      &lt;&gt;},
                  {mochiweb_request_recv,true},
                  {mochiweb_request_post,
                      [{&quot;json&quot;,
                        &quot;{&quot;action&quot;:&quot;create&quot;,&quot;doc&quot;:{&quot;text&quot;:&quot;&quot;,&quot;x&quot;:94,&quot;y&quot;:99,&quot;z&quot;:1,&quot;color&quot;:&quot;yellow&quot;}}&quot;}]},
                  {mochiweb_request_path,&quot;/notes&quot;}]
    trap_exit: false
    status: running
    heap_size: 4181
    stack_size: 23
    reductions: 16707
  neighbours:

=ERROR REPORT==== 18-Aug-2009::14:10:46 ===
{mochiweb_socket_server,235,{child_error,{aborted,{no_exists,counter}}}}</description>
		<content:encoded><![CDATA[<p>I got this error when running the tutorial:</p>
<p>=CRASH REPORT==== 18-Aug-2009::14:10:46 ===<br />
  crasher:<br />
    pid:<br />
    registered_name: []<br />
    exception exit: {aborted,{no_exists,counter}}<br />
      in function  mnesia:abort/1<br />
      in call from mnesia_tm:dirty/2<br />
      in call from notes:create/1<br />
      in call from stickyNotes_web:loop/2<br />
      in call from mochiweb_http:headers/4<br />
    initial call: mochiweb_socket_server:acceptor_loop/1<br />
    ancestors: [stickyNotes_web,stickyNotes_sup,]<br />
    messages: []<br />
    links: [,#Port]<br />
    dictionary: [{mochiweb_request_body,<br />
                      &lt;&gt;},<br />
                  {mochiweb_request_recv,true},<br />
                  {mochiweb_request_post,<br />
                      [{"json",<br />
                        "{"action":"create","doc":{"text":"","x":94,"y":99,"z":1,"color":"yellow"}}"}]},<br />
                  {mochiweb_request_path,&#8221;/notes&#8221;}]<br />
    trap_exit: false<br />
    status: running<br />
    heap_size: 4181<br />
    stack_size: 23<br />
    reductions: 16707<br />
  neighbours:</p>
<p>=ERROR REPORT==== 18-Aug-2009::14:10:46 ===<br />
{mochiweb_socket_server,235,{child_error,{aborted,{no_exists,counter}}}}</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Riak Demo: Stickynotes &#171; BeerRiot Blog</title>
		<link>http://beebole.com/blog/erlang/tutorial-web-application-erlang/#comment-194</link>
		<dc:creator>Riak Demo: Stickynotes &#171; BeerRiot Blog</dc:creator>
		<pubDate>Mon, 17 Aug 2009 17:58:46 +0000</pubDate>
		<guid isPermaLink="false">http://beebole.com/blog/?p=387#comment-194</guid>
		<description>[...] say that I wanted to create a note-taking system, something like the fine Erlang/Mochiweb demo put together by the guys at [...] </description>
		<content:encoded><![CDATA[<p>[...] say that I wanted to create a note-taking system, something like the fine Erlang/Mochiweb demo put together by the guys at [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Convert HTML to PDF with Full CSS Support, an OpenSource Alternative Based on Webkit &#124; BeeBole</title>
		<link>http://beebole.com/blog/erlang/tutorial-web-application-erlang/#comment-192</link>
		<dc:creator>Convert HTML to PDF with Full CSS Support, an OpenSource Alternative Based on Webkit &#124; BeeBole</dc:creator>
		<pubDate>Thu, 06 Aug 2009 12:45:04 +0000</pubDate>
		<guid isPermaLink="false">http://beebole.com/blog/?p=387#comment-192</guid>
		<description>[...] will be using Mochiweb as our web server (You can follow our tutorial about Mochiweb if you feel [...] </description>
		<content:encoded><![CDATA[<p>[...] will be using Mochiweb as our web server (You can follow our tutorial about Mochiweb if you feel [...]</p>
]]></content:encoded>
	</item>
</channel>
</rss>

