<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
  <link>http://mikewatkins.ca/tags/tablet/</link>
  <atom:link href="http://mikewatkins.ca/tags/tablet/feeds/rss" type="application/rss+xml" rel="self"/>
  <lastBuildDate>Tue, 27 Nov 2007 19:30:06 GMT</lastBuildDate>
  <title>mike watkins dot ca</title>
  <description>XML Feed for mike watkins dot ca</description>
  <language>en</language>
  <generator>Parlez/0.1</generator>
<item>
  <title>QP and Durus on Nokia N800</title>
  <link>http://mikewatkins.ca/2007/11/27/nokia-n800-runs-qp/</link>
  <description><![CDATA[
<div class="document">
<p>The attached image is a screen shot of a web browser running on a <a class="reference external" href="http://europe.nokia.com/A4305062">Nokia N800</a>, a
Linux-based <em>internet tablet</em>. Weighing only ounces, the wireless device is a
great platform for Python developers as the language has more or less become
the default dynamic language for the device and, it would seem, for Nokia. GUI developers commonly employ pygtk/glade for <a class="reference external" href="http://maemo.org/">Maemo</a> applications; I'm not aware of much web development being done on the N series tablets as yet.</p>
<p><a class="reference external" href="/2007/11/27/nokia-n800-runs-qp/file/ce39f11e61fe/view">Pictured</a> is the output of a highly Pythonic web framework and object database combination, <a class="reference external" href="http://www.mems-exchange.org/software/qp/">QP</a> and <a class="reference external" href="http://www.mems-exchange.org/software/durus/">Durus</a> - the app is merely a template provided by running <a class="reference external" href="/software/files/qp/mkqpapp.py">mkqpapp.py</a>.</p>
<p>I wanted to see what QP and this little tablet, underpowered by
laptop or server standards, could do - here is a benchmark between a fairly fast Unix desktop, across a fairly slow wireless link, generating 10 concurrent request streams to the device</p>
<pre class="literal-block">
frog# /home/mw% siege -b -c10 -t10s http://n800:8000/
Transactions:                164 hits
Availability:             100.00 %
Elapsed time:               9.85 secs
Data transferred:           0.06 MB
Response time:              0.58 secs
Transaction rate:          16.65 trans/sec
Throughput:                 0.01 MB/sec
Concurrency:                9.71
Successful transactions:     164
Failed transactions:           0
Longest transaction:        3.66
Shortest transaction:       0.19
</pre>
<p>Not bad, considering its a full stack web framework and object database running on a little machine weighing only ounces that also is running what amounts to be a Gnome environment, browser, mail and other apps, all powered by a lowly TI 320MHz Armel architecture CPU.</p>
<p>Out of curiosity I added a hit counter to exercise the object database and the transaction rate was a respectable 12.36/second.</p>
<p>Worlds smallest portable web application demo machine!</p>
<p>Once I figure out how to make Debian packages for the armel architecture I'll post a deb link for a one click install of Durus, QP, QPY and Dulcinea.</p>
<p>Incidentally, while sqlite is in common use on Nokia tablets, there's clearly no reason why <a class="reference external" href="http://www.mems-exchange.org/software/durus/">Durus</a> could not be used. N-series Python developers might find that to be an ideal persistence pairing to go along with their web or GTK apps.</p>
</div>

]]></description>
  <guid isPermaLink="false">tag:mikewatkins.ca,2007-10-10:journal:mw:entry:489</guid>
  <pubDate>Tue, 27 Nov 2007 19:30:06 GMT</pubDate>
  <category>python</category>
  <category>qp</category>
  <category>tablet</category>
  <category>durus</category>
</item>
</channel></rss>
