<?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>Flavio Ishii &#187; Webmachine</title>
	<atom:link href="http://www.flavioishii.com/tag/webmachine/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.flavioishii.com</link>
	<description>&#34;Live as if you were to die tomorrow. Learn as if you were to live forever.” Mahatma Gandhi</description>
	<lastBuildDate>Tue, 29 Mar 2011 03:37:39 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>PInGo (Pain Information on the go)</title>
		<link>http://www.flavioishii.com/2010/07/pingo/</link>
		<comments>http://www.flavioishii.com/2010/07/pingo/#comments</comments>
		<pubDate>Sun, 04 Jul 2010 19:57:00 +0000</pubDate>
		<dc:creator>flavio</dc:creator>
				<category><![CDATA[About]]></category>
		<category><![CDATA[appcelerator titanium]]></category>
		<category><![CDATA[chronic pain study]]></category>
		<category><![CDATA[clinical study]]></category>
		<category><![CDATA[iPhone in research]]></category>
		<category><![CDATA[iPod touch]]></category>
		<category><![CDATA[mobile for research]]></category>
		<category><![CDATA[pingo]]></category>
		<category><![CDATA[rackspace]]></category>
		<category><![CDATA[Webmachine]]></category>

		<guid isPermaLink="false">http://www.flavioishii.com/?p=227</guid>
		<description><![CDATA[This iPod Touch app was built for Susan Tupper&#8216;s clinical study. PInGo is intended to be used by children with chronic pain, allowing them to fill out an electronic survey to show how they feel at different times of the day. The app I built with will allow Tupper to investigate the intensity of the [...]]]></description>
			<content:encoded><![CDATA[<p style="font-size: 19.5px; line-height: 28.5px;">This iPod Touch app was built for <a title="Susan Tupper PInGo" href="http://www.usask.ca/communications/ocn/08-sept-19/gradprofile.php">Susan Tupper</a>&#8216;s clinical study. PInGo is intended to be used by children with chronic pain, allowing them to fill out an electronic survey to show how they feel at different times of the day.<span id="more-227"></span> The app I built with will allow Tupper to investigate the intensity of the participant&#8217;s pain with different intervals in the day and other variables. The study will commence on July 7th, 2010.</p>
<p style="font-size: 19.5px; line-height: 28.5px;">PInGo has been installed in a number of iPod Touches so it supports multiple participants at the same time. We also made sure to meet privacy requirements by not storing or sending any personal information.</p>
<p style="font-size: 19.5px; line-height: 28.5px;">The first screen capture below is the main menu which allows the user to select a survey depending on the time of day and whether they have completed it or not. The screen captures that follow demonstrate the variation in the survey&#8217;s question formats used. We were able to create an intuitive and dynamic interface, making use of the touch screen, shake gestures, show/hide animations, and question dependancies.</p>
<p style="font-size: 19.5px; line-height: 28.5px;"><img class="alignnone size-medium wp-image-219" style="font-size: 19.5px; line-height: 28.5px;" title="pingo menu screen capture" src="http://www.flavioishii.com/wp-content/uploads/2010/07/Screen-shot-2010-07-02-at-4.04.03-PM-159x300.png" alt="" width="238.5" height="450" /> <img class="alignnone size-medium wp-image-220" style="font-size: 19.5px; line-height: 28.5px;" title="pingo body map screen capture" src="http://www.flavioishii.com/wp-content/uploads/2010/07/Screen-shot-2010-07-02-at-4.05.15-PM-159x300.png" alt="" width="238.5" height="450" /> <img class="alignnone size-medium wp-image-222" style="font-size: 19.5px; line-height: 28.5px;" title="pingo survey question" src="http://www.flavioishii.com/wp-content/uploads/2010/07/Screen-shot-2010-07-02-at-5.20.17-PM-161x300.png" alt="" width="241.5" height="450" /></p>
<p style="font-size: 19.5px; line-height: 28.5px;"><img class="alignnone size-medium wp-image-223" style="font-size: 19.5px; line-height: 28.5px;" title="pingo survey question 10" src="http://www.flavioishii.com/wp-content/uploads/2010/07/Screen-shot-2010-07-02-at-5.27.07-PM-160x300.png" alt="" width="240" height="450" /><img class="alignnone size-medium wp-image-224" style="font-size: 19.5px; line-height: 28.5px;" title="pingo survey question 12" src="http://www.flavioishii.com/wp-content/uploads/2010/07/Screen-shot-2010-07-02-at-5.19.52-PM-161x300.png" alt="" width="241.5" height="450" /></p>
<p style="font-size: 19.5px; line-height: 28.5px;">The technical cost to run this study is about $4/month with no hardware to purchase since we&#8217;re using a Cloud Computing Service. There was a chunk of time spent on researching the different technologies, setting up, developing the server side and client side, and designing and implementing the application&#8217;s graphics. The system has been pilot tested, tweaked, with the known bugs ironed out. If you are an academic or comercial researcher in need of a similar mobile app I would be interested in hearing your thoughts, feel free to <a style="font-size: 19.5px; line-height: 28.5px;" title="Contact Flavio" href="http://www.flavioishii.com/contact/">contact me</a>.</p>
<p style="font-size: 19.5px; line-height: 28.5px;">The technologies I used include: <a style="font-size: 19.5px; line-height: 28.5px;" title="Rackspace" href="http://www.rackspace.com" target="_blank">RackSpace</a> for storing the data collected &amp; <a style="font-size: 19.5px; line-height: 28.5px;" title="Appcelerator Titanium" href="http://www.appcelerator.com/" target="_blank">Appcelerator Titanium</a> for developing the iPhone OS app. I have a simple <a style="font-size: 19.5px; line-height: 28.5px;" title="Basho Webmachine" href="http://webmachine.basho.com">Webmachine</a> RESTful API server (Erlang and Mochiweb-based) running in the cloud for collecting the data. The data can also be easily exported to a spreadsheet application like MS Excel or Google Spreadsheet, where it can be manipulated to your needs. The iPod Touch client app sends the data when it has a WiFi connection, but if there is no WiFi connection it just stores the data locally, allowing the user to continue entering new information. The technologies were chosen primarily due to their simple, speedy, and flexible development cycles, and secondly because of my familiarity with Erlang and Web standard technologies (HTML, Javascript, and CSS). The original mobile client app was developed using Titanium 0.8, but it was re-written from scratch in two days to the superior version 1.3. All the illustrations were done by Shi Shi, a fellow <a style="font-size: 19.5px; line-height: 28.5px;" title="MADMUC Lab" href="http://madmuc.usask.ca/">MADMUC</a> graduate student.</p>
<p style="font-size: 19.5px; line-height: 28.5px;">I have learned much from this project and it is a great feeling to know that the system will be used for a worthy research cause. Thank you Susan Tupper for envisioning the project and Prof. Ralph Deters for giving me the opportunity to work on this project.</p>
<p style="font-size: 19.5px; line-height: 28.5px;"><strong>UPDATE:</strong> The following poster of the PInGo project was presented at the <a title="CAN 2010" href="http://arthritisnetwork.ca/events/asc_2010_intro_en.php" target="_blank">Canadian Arthritis Network 2010.</a><br style="font-size: 19.5px; line-height: 28.5px;" /> <div id="zdscribdid_227_1" style="width: 100%; padding: 15px 0px;"><a href="http://www.flavioishii.com">ZD Scribd iPaper</a></div>
<script type="text/javascript">
var zdscribdvar_227_1 = scribd.Document.getDoc(40736465, 'key-2imd7rglzfzrwjs4fg2l')
zdscribdvar_227_1.addParam('jsapi_version', 1);
zdscribdvar_227_1.addParam('height', 600);
zdscribdvar_227_1.addParam('width', 590);
zdscribdvar_227_1.addParam('disable_related_docs', true);
zdscribdvar_227_1.addParam('mode', 'list');
zdscribdvar_227_1.addParam('auto_size', true);
zdscribdvar_227_1.addParam('page', 1);
zdscribdvar_227_1.write('zdscribdid_227_1');
</script>
</p>
<p style="font-size: 19.5px; line-height: 28.5px;"><a style="font-size: 19.5px; line-height: 28.5px;" title="Projects" href="/projects">More Projects&#8230;</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.flavioishii.com/2010/07/pingo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Erlang &amp; Webmachine on Rackspace CentOS Cloud Server</title>
		<link>http://www.flavioishii.com/2010/04/erlang-webmachine-on-rackspace-centos-cloud-server/</link>
		<comments>http://www.flavioishii.com/2010/04/erlang-webmachine-on-rackspace-centos-cloud-server/#comments</comments>
		<pubDate>Fri, 23 Apr 2010 17:22:07 +0000</pubDate>
		<dc:creator>flavio</dc:creator>
				<category><![CDATA[About]]></category>
		<category><![CDATA[basho]]></category>
		<category><![CDATA[centos]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[Erlang]]></category>
		<category><![CDATA[rackspace]]></category>
		<category><![CDATA[Webmachine]]></category>

		<guid isPermaLink="false">http://www.flavioishii.com/?p=180</guid>
		<description><![CDATA[This is a quick step-by-step process for getting Erlang (R13B04)  and Webmachine running on a clean CentOS 5.4 Rackspace cloud server. Once you create your cloud server on Rackspace, open the Web console. Secure your server Follow the instructions for Securing your cloud server. Also do the following: $ visudo /sudoers # Allow sudo cmd [...]]]></description>
			<content:encoded><![CDATA[<p>This is a quick step-by-step process for getting Erlang (R13B04)  and Webmachine running on a clean CentOS 5.4 Rackspace cloud server.<span id="more-180"></span></p>
<p>Once you create your cloud server on Rackspace, open the Web console. </p>
<h3>Secure your server</h3>
<p>Follow the <a title="Rackspace Server Security" href="http://cloudservers.rackspacecloud.com/index.php/Basic_Cloud_Server_Security" target="_blank">instructions</a> for Securing your cloud server. Also do the following:<br />
<span style="font-family: 'lucida console';">$ visudo<br />
/sudoers<br />
# Allow sudo cmd access to new user<br />
[new_user] ALL=(ALL) ALL</span></p>
<h3>Setup your Firewall</h3>
<h4>Check your iptables current configurations</h4>
<p><span style="font-family: 'lucida console';">$ iptables -L</span></p>
<h4>Open ports</h4>
<p><span style="font-family: 'lucida console';">$ sudo /sbin/iptables -I RH-Firewall-1-INPUT 1 -p tcp &#8211;dport http -j ACCEPT<br />
$ sudo /sbin/iptables -I RH-Firewall-1-INPUT 1 -p tcp &#8211;dport https -j ACCEPT<br />
$ sudo /sbin/iptables -I RH-Firewall-1-INPUT 1 -p tcp &#8211;dport ssh -j ACCEPT<br />
$ sudo /sbin/iptables -I RH-Firewall-1-INPUT 1 -p tcp &#8211;dport 8000 -j ACCEPT<br />
$ sudo /sbin/services iptables save</span></p>
<h4>Check your changes</h4>
<p><span style="font-family: 'lucida console';">$ iptables -L</span></p>
<p>Logout and close Web console.</p>
<h3>Install Erlang</h3>
<p>Open a terminal (or Putty on Windows) and SSH as [new_user]<br />
<span style="font-family: 'lucida console';">$ ssh [new_user]@[your cloud server ip]<br />
$ sudo yum install gcc glibc-devel make ncurses-devel openssl-devel<br />
$ wget http://erlang.org/download/otp_src_R13B04.tar.gz<br />
$ tar zxvf otp_src_R13B04.tar.gz<br />
$ cd otp_src_R13B04<br />
$ ./configure &amp;&amp; make &amp;&amp; sudo make install</span></p>
<h3>Install Mercurial via RPM</h3>
<p><span style="font-family: 'lucida console';">$ yum install python-devel rpm-buildtp://mercurial.selenic.com/release/mercurial-1.4.1.tar.gz<br />
$ wget http://mercurial.selenic.com/release/mercurial-1.4.1.tar.gz<br />
$ cp mercurial-1.4.1.tar.gz mercurial-1.4.1.tar.gz.orig<br />
$ tar zxvf mercurial-1.4.1.tar.gz<br />
$ cd mercurial-1.4.1/<br />
$ cp contrib/mercurial.spec contrib/mercurial.spec.orig<br />
$ sed -i -e&#8217;s/snapshot/1\.4\.1/&#8217; contrib/mercurial.spec<br />
$ sed -i -e&#8217;s/, docutils &gt;= 0.5//&#8217; contrib/mercurial.spec<br />
$ cd ../</span><br />
<span style="font-family: 'lucida console';"> $ tar cvf &#8211; mercurial-1.4.1 | gzip &gt; mercurial-1.4.1.tar.gz$ rpmbuild -tb mercurial-1.4.1.tar.gz<br />
$ rpm -Uvh /usr/src/redhat/RPMS/i386/mercurial-1.4.1-0.x86_64.rpm<br />
$ hg &#8211;version</span></p>
<h3>Install Webmachine</h3>
<p><span style="font-family: 'lucida console';">$ hg clone http://bitbucket.org/basho/webmachine/<br />
$ cp -r webmachine /home/projects<br />
$ cd /home/projects/webmachine<br />
$ make<br />
$ /scripts/new_webmachine.sh ediaryAPI ..<br />
$ cd ../e*<br />
$ make</span></p>
<h3>Run Webmachine</h3>
<p><span style="font-family: 'lucida console';">$ ./start.sh<br id="zw-128220403d22Jh8c11be65" /></span><br />
<span style="font-family: 'lucida console';"><strong id="zw-1282b86c3eaI6c1u11be65">Visit</strong> http://[ip]:[port]<br />
</span></p>
<h3>References</h3>
<p><a id="zw-1282b8d76f37zBXjJ11be65" title="Installing Erlang" href="https://wiki.basho.com/display/RIAK/Installing+Erlang" target="_blank">https://wiki.basho.com/display/RIAK/Installing+Erlang</a><br />
<a title="Rackspace Firewall" href="http://cloudservers.rackspacecloud.com/index.php/Firewalls" target="_blank">http://cloudservers.rackspacecloud.com/index.php/Firewalls</a><br />
<a title="Rackspace Server Security" href="http://cloudservers.rackspacecloud.com/index.php/Basic_Cloud_Server_Security" target="_blank">http://cloudservers.rackspacecloud.com/index.php/Basic_Cloud_Server_Security</a><br />
<a title="Rackspace iptables rules" href="http://cloudservers.rackspacecloud.com/index.php/Common_iptables_rules_for_CentOS_5.3" target="_blank">http://cloudservers.rackspacecloud.com/index.php/Common_iptables_rules_for_CentOS_5.3</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.flavioishii.com/2010/04/erlang-webmachine-on-rackspace-centos-cloud-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Erlang Workshop Slides</title>
		<link>http://www.flavioishii.com/2009/10/erlang-workshop-slides/</link>
		<comments>http://www.flavioishii.com/2009/10/erlang-workshop-slides/#comments</comments>
		<pubDate>Thu, 01 Oct 2009 20:35:41 +0000</pubDate>
		<dc:creator>flavio</dc:creator>
				<category><![CDATA[About]]></category>
		<category><![CDATA[DETS]]></category>
		<category><![CDATA[Erlang]]></category>
		<category><![CDATA[ETS]]></category>
		<category><![CDATA[Mnesia]]></category>
		<category><![CDATA[Mochiweb]]></category>
		<category><![CDATA[Webmachine]]></category>

		<guid isPermaLink="false">http://www.flavioishii.com/?p=115</guid>
		<description><![CDATA[Two sets of slides were presented at the Erlang Workshop in Saskatoon on September 17, 2009. One on Erlang data storage modules and the other on Erlang-based Mochiweb and Webmachine.]]></description>
			<content:encoded><![CDATA[<p>These two sets of slides were presented at the Erlang Workshop in Saskatoon on September 17, 2009. <a title="Erlang Workshop Brochure" href="http://www.flavioishii.com/wp-content/uploads/2009/10/erlang_workshop.pdf">See brochure</a>.</p>
<p>The first set goes over the Erlang data storage modules ETS, DETS, and Mnesia. These modules are part of the Erlang library and are extremely powerful and flexible for storing data. The second set briefly outlines Mochiweb and Webmachine. Mochiweb can be used on its own as a lightweight HTTP server. Webmachine is built on top of Mochiweb providing a Web service gateway interface, ideal for building an API server.<span id="more-115"></span></p>
<p><a style="margin: 12px auto 6px auto; font-family: Helvetica,Arial,Sans-serif; font-style: normal; font-variant: normal; font-weight: normal; font-size: 14px; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none; display: block;" title="View Erlang Data Storage Modules on Scribd" href="http://www.scribd.com/doc/20492533/Erlang-Data-Storage-Modules">Erlang Data Storage Modules</a> <object id="doc_417737148111366" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="100%" height="500" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="name" value="doc_417737148111366" /><param name="align" value="middle" /><param name="quality" value="high" /><param name="play" value="true" /><param name="loop" value="true" /><param name="scale" value="showall" /><param name="wmode" value="opaque" /><param name="devicefont" value="false" /><param name="bgcolor" value="#ffffff" /><param name="menu" value="true" /><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://d1.scribdassets.com/ScribdViewer.swf?document_id=20492533&amp;access_key=key-1luoz4e3c43athy9zeps&amp;page=1&amp;version=1&amp;viewMode=" /><param name="allowfullscreen" value="true" /><embed id="doc_417737148111366" type="application/x-shockwave-flash" width="100%" height="500" src="http://d1.scribdassets.com/ScribdViewer.swf?document_id=20492533&amp;access_key=key-1luoz4e3c43athy9zeps&amp;page=1&amp;version=1&amp;viewMode=" allowscriptaccess="always" allowfullscreen="true" menu="true" bgcolor="#ffffff" devicefont="false" wmode="opaque" scale="showall" loop="true" play="true" quality="high" align="middle" name="doc_417737148111366"></embed></object></p>
<p><a style="margin: 12px auto 6px auto; font-family: Helvetica,Arial,Sans-serif; font-style: normal; font-variant: normal; font-weight: normal; font-size: 14px; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none; display: block;" title="View Webmachine on Scribd" href="http://www.scribd.com/doc/20492861/Webmachine">Webmachine</a> <object id="doc_866509925998333" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="100%" height="500" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="name" value="doc_866509925998333" /><param name="align" value="middle" /><param name="quality" value="high" /><param name="play" value="true" /><param name="loop" value="true" /><param name="scale" value="showall" /><param name="wmode" value="opaque" /><param name="devicefont" value="false" /><param name="bgcolor" value="#ffffff" /><param name="menu" value="true" /><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://d1.scribdassets.com/ScribdViewer.swf?document_id=20492861&amp;access_key=key-1lkwipjqhsw1ou4kju3a&amp;page=1&amp;version=1&amp;viewMode=" /><param name="allowfullscreen" value="true" /><embed id="doc_866509925998333" type="application/x-shockwave-flash" width="100%" height="500" src="http://d1.scribdassets.com/ScribdViewer.swf?document_id=20492861&amp;access_key=key-1lkwipjqhsw1ou4kju3a&amp;page=1&amp;version=1&amp;viewMode=" allowscriptaccess="always" allowfullscreen="true" menu="true" bgcolor="#ffffff" devicefont="false" wmode="opaque" scale="showall" loop="true" play="true" quality="high" align="middle" name="doc_866509925998333"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.flavioishii.com/2009/10/erlang-workshop-slides/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

