<?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>ediaz &#124; iamedu &#187; Technology</title>
	<atom:link href="http://ediaz.me/category/technology/feed/" rel="self" type="application/rss+xml" />
	<link>http://ediaz.me</link>
	<description>Technology, Music, Development, Science</description>
	<lastBuildDate>Thu, 03 Jun 2010 23:28:33 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Simple python master and slave</title>
		<link>http://ediaz.me/2010/05/simple-python-master-and-slave/</link>
		<comments>http://ediaz.me/2010/05/simple-python-master-and-slave/#comments</comments>
		<pubDate>Sun, 02 May 2010 20:52:55 +0000</pubDate>
		<dc:creator>iamedu</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[network]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://ediaz.me/?p=222</guid>
		<description><![CDATA[Yesterday I was a little bit playful so I decided to write a simple master/slave application in python.
What it does is send a command string through the socket, the command gets executed on the other end and returns the answer.

?Download localizer.pyimport os
import socket
&#160;
host = &#34;127.0.0.1&#34;
port = 1234
&#160;
def execute&#40;command&#41;:
    result = &#34;&#34;
  [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday I was a little bit playful so I decided to write a simple master/slave application in python.</p>
<p>What it does is send a command string through the socket, the command gets executed on the other end and returns the answer.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left2">Download <a href="http://ediaz.me/wp-content/plugins/wp-codebox/wp-codebox.php?p=222&amp;download=localizer.py">localizer.py</a></span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p2223"><td class="code" id="p222code3"><pre class="python" style="font-family:monospace;"><span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">os</span>
<span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">socket</span>
&nbsp;
host = <span style="color: #483d8b;">&quot;127.0.0.1&quot;</span>
port = <span style="color: #ff4500;">1234</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">def</span> execute<span style="color: black;">&#40;</span>command<span style="color: black;">&#41;</span>:
    result = <span style="color: #483d8b;">&quot;&quot;</span>
    args = command.<span style="color: black;">split</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot; &quot;</span><span style="color: black;">&#41;</span>
    <span style="color: #ff7700;font-weight:bold;">if</span> args<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span> == <span style="color: #483d8b;">&quot;cd&quot;</span>:
        <span style="color: #dc143c;">os</span>.<span style="color: black;">chdir</span><span style="color: black;">&#40;</span>args<span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>
        <span style="color: #ff7700;font-weight:bold;">return</span> <span style="color: #483d8b;">&quot;Dir changed&quot;</span>
    pipe = <span style="color: #dc143c;">os</span>.<span style="color: black;">popen</span><span style="color: black;">&#40;</span>command, <span style="color: #483d8b;">&quot;r&quot;</span><span style="color: black;">&#41;</span>
    <span style="color: #ff7700;font-weight:bold;">for</span> line <span style="color: #ff7700;font-weight:bold;">in</span> pipe.<span style="color: black;">readlines</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>:
        result += line
    <span style="color: #ff7700;font-weight:bold;">return</span> result
&nbsp;
<span style="color: #ff7700;font-weight:bold;">def</span> get_and_obey<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>:
    s = <span style="color: #dc143c;">socket</span>.<span style="color: #dc143c;">socket</span><span style="color: black;">&#40;</span><span style="color: #dc143c;">socket</span>.<span style="color: black;">AF_INET</span>, <span style="color: #dc143c;">socket</span>.<span style="color: black;">SOCK_STREAM</span><span style="color: black;">&#41;</span>
    s.<span style="color: black;">connect</span><span style="color: black;">&#40;</span><span style="color: black;">&#40;</span>host, port<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
    <span style="color: #ff7700;font-weight:bold;">while</span> <span style="color: #008000;">True</span>:
        command = <span style="color: #483d8b;">&quot;&quot;</span>
        <span style="color: #ff7700;font-weight:bold;">while</span> <span style="color: #008000;">True</span>:
            temp = s.<span style="color: black;">recv</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">1024</span><span style="color: black;">&#41;</span>
            command += temp
            <span style="color: #ff7700;font-weight:bold;">if</span> <span style="color: #ff7700;font-weight:bold;">not</span> temp <span style="color: #ff7700;font-weight:bold;">or</span> <span style="color: #008000;">len</span><span style="color: black;">&#40;</span>temp<span style="color: black;">&#41;</span> <span style="color: #66cc66;">&lt;</span> <span style="color: #ff4500;">1024</span>:
	        <span style="color: #ff7700;font-weight:bold;">break</span>
	<span style="color: #ff7700;font-weight:bold;">if</span> command == <span style="color: #483d8b;">&quot;exit&quot;</span>:
	    <span style="color: #ff7700;font-weight:bold;">break</span>
        result = execute<span style="color: black;">&#40;</span>command<span style="color: black;">&#41;</span>
	<span style="color: #ff7700;font-weight:bold;">if</span> <span style="color: #ff7700;font-weight:bold;">not</span> result:
	    result = <span style="color: #483d8b;">&quot;Error with command&quot;</span>
        s.<span style="color: black;">send</span><span style="color: black;">&#40;</span>result<span style="color: black;">&#41;</span>
    s.<span style="color: black;">close</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">if</span> __name__ == <span style="color: #483d8b;">&quot;__main__&quot;</span>:
    get_and_obey<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span></pre></td></tr></table></div>


<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left2">Download <a href="http://ediaz.me/wp-content/plugins/wp-codebox/wp-codebox.php?p=222&amp;download=listener.py">listener.py</a></span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p2224"><td class="code" id="p222code4"><pre class="python" style="font-family:monospace;"><span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">os</span>
<span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">socket</span>
&nbsp;
host = <span style="color: #483d8b;">''</span>
port = <span style="color: #ff4500;">1234</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">def</span> recv_and_command<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>:
    s = <span style="color: #dc143c;">socket</span>.<span style="color: #dc143c;">socket</span><span style="color: black;">&#40;</span><span style="color: #dc143c;">socket</span>.<span style="color: black;">AF_INET</span>, <span style="color: #dc143c;">socket</span>.<span style="color: black;">SOCK_STREAM</span><span style="color: black;">&#41;</span>
    s.<span style="color: black;">bind</span><span style="color: black;">&#40;</span><span style="color: black;">&#40;</span>host, port<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
    s.<span style="color: black;">listen</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#41;</span>
    conn, addr = s.<span style="color: black;">accept</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
    <span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">&quot;Receiving and commmanding&quot;</span>, addr
    <span style="color: #ff7700;font-weight:bold;">while</span> <span style="color: #008000;">True</span>:
        command = <span style="color: #008000;">raw_input</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;remote&gt;&gt;&quot;</span><span style="color: black;">&#41;</span>
        conn.<span style="color: black;">send</span><span style="color: black;">&#40;</span>command<span style="color: black;">&#41;</span>
	<span style="color: #ff7700;font-weight:bold;">if</span> command == <span style="color: #483d8b;">&quot;exit&quot;</span>: 
	    <span style="color: #ff7700;font-weight:bold;">break</span>
        result = <span style="color: #483d8b;">&quot;&quot;</span>
        <span style="color: #ff7700;font-weight:bold;">while</span> <span style="color: #008000;">True</span>:
            temp = conn.<span style="color: black;">recv</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">1024</span><span style="color: black;">&#41;</span>
	    result += temp
	    <span style="color: #ff7700;font-weight:bold;">if</span> <span style="color: #ff7700;font-weight:bold;">not</span> temp <span style="color: #ff7700;font-weight:bold;">or</span> <span style="color: #008000;">len</span><span style="color: black;">&#40;</span>temp<span style="color: black;">&#41;</span> <span style="color: #66cc66;">&lt;</span> <span style="color: #ff4500;">1024</span>:
	        <span style="color: #ff7700;font-weight:bold;">break</span>
        <span style="color: #ff7700;font-weight:bold;">print</span> result
    s.<span style="color: black;">close</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">if</span> __name__ == <span style="color: #483d8b;">&quot;__main__&quot;</span>:
    recv_and_command<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span></pre></td></tr></table></div>

<p>I want to write a version that uses the http protocol, and maybe someday I&#8217;ll write my own http server <img src='http://ediaz.me/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://ediaz.me/2010/05/simple-python-master-and-slave/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ARMYC Simulator</title>
		<link>http://ediaz.me/2010/04/armyc-simulator/</link>
		<comments>http://ediaz.me/2010/04/armyc-simulator/#comments</comments>
		<pubDate>Mon, 26 Apr 2010 21:29:19 +0000</pubDate>
		<dc:creator>iamedu</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[ARM]]></category>
		<category><![CDATA[joystick]]></category>
		<category><![CDATA[Objective C]]></category>
		<category><![CDATA[PS3]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Simulator]]></category>

		<guid isPermaLink="false">http://ediaz.me/?p=204</guid>
		<description><![CDATA[This is a very simple video of the ARMYC simulator, the simulator aims to be able to specify special ARM devices
In this case we are simulating three devices:

An internal memory, written in objective C.
An LCD device, written in python.
A joystick driver, written in python.

The interface to the programs is through the memory, and we can [...]]]></description>
			<content:encoded><![CDATA[<p>This is a very simple video of the ARMYC simulator, the simulator aims to be able to specify special ARM devices</p>
<p>In this case we are simulating three devices:</p>
<ul>
<li>An internal memory, written in objective C.</li>
<li>An LCD device, written in python.</li>
<li>A joystick driver, written in python.</li>
</ul>
<p>The interface to the programs is through the memory, and we can add the configuration through a simple file:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p204code7'); return false;">View Code</a> INI</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p2047"><td class="code" id="p204code7"><pre class="ini" style="font-family:monospace;"><span style="color: #000066; font-weight:bold;"><span style="">&#91;</span>dataflash0<span style="">&#93;</span></span>
<span style="color: #000099;">lib</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> at91sam9260</span>
<span style="color: #000099;">sym</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> dataflash</span>
<span style="color: #000099;">model</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> objc</span>
<span style="color: #000099;">base</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> 0</span>
<span style="color: #000099;">size</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> 2097152</span>
&nbsp;
<span style="color: #000066; font-weight:bold;"><span style="">&#91;</span>control1<span style="">&#93;</span></span>
<span style="color: #000099;">lib</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> at91sam9260</span>
<span style="color: #000099;">sym</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> Control</span>
<span style="color: #000099;">model</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> python</span>
<span style="color: #000099;">base</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> 8587830276</span>
<span style="color: #000099;">port</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> /dev/input/js0</span>
&nbsp;
<span style="color: #000066; font-weight:bold;"><span style="">&#91;</span>lcd<span style="">&#93;</span></span>
<span style="color: #000099;">lib</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> at91sam9260</span>
<span style="color: #000099;">sym</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> LcdMx</span>
<span style="color: #000099;">model</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> python</span>
<span style="color: #000099;">config</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> images.cfg</span>
<span style="color: #000099;">base</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> 4294963716</span></pre></td></tr></table></div>

<div align="center"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/B1tc47n0-Qo&amp;hl=en_US&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="480" height="385" src="http://www.youtube.com/v/B1tc47n0-Qo&amp;hl=en_US&amp;fs=1&amp;" allowscriptaccess="always" allowfullscreen="true"></embed></object></div>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p204code8'); return false;">View Code</a> C</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p2048"><td class="code" id="p204code8"><pre class="c" style="font-family:monospace;"><span style="color: #339933;">#include &lt;controller.h&gt;</span>
<span style="color: #339933;">#include &lt;lcd.h&gt;</span>
&nbsp;
<span style="color: #993333;">void</span> main<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #993333;">unsigned</span> <span style="color: #993333;">char</span> <span style="color: #339933;">*</span>lcd <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #993333;">unsigned</span> <span style="color: #993333;">char</span> <span style="color: #339933;">*</span><span style="color: #009900;">&#41;</span><span style="color: #0000dd;">4294963716</span><span style="color: #339933;">;</span>
	<span style="color: #993333;">unsigned</span> <span style="color: #993333;">char</span> <span style="color: #339933;">*</span>control1 <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #993333;">unsigned</span> <span style="color: #993333;">char</span> <span style="color: #339933;">*</span><span style="color: #009900;">&#41;</span><span style="color: #0000dd;">8587830276</span><span style="color: #339933;">;</span>
	<span style="color: #993333;">unsigned</span> <span style="color: #993333;">char</span> <span style="color: #339933;">*</span>control2 <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #993333;">unsigned</span> <span style="color: #993333;">char</span> <span style="color: #339933;">*</span><span style="color: #009900;">&#41;</span><span style="color: #0000dd;">8587830272</span><span style="color: #339933;">;</span>
	<span style="color: #993333;">int</span> i<span style="color: #339933;">;</span>
	<span style="color: #993333;">char</span> id1<span style="color: #339933;">;</span>
	<span style="color: #993333;">char</span> id2<span style="color: #339933;">;</span>
	<span style="color: #993333;">char</span> move1<span style="color: #339933;">;</span>
	<span style="color: #993333;">char</span> move2<span style="color: #339933;">;</span>
	id1 <span style="color: #339933;">=</span> createObject<span style="color: #009900;">&#40;</span>lcd<span style="color: #339933;">,</span> <span style="color: #0000dd;">1</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">1</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	id2 <span style="color: #339933;">=</span> createObject<span style="color: #009900;">&#40;</span>lcd<span style="color: #339933;">,</span> <span style="color: #0000dd;">2</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">1</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	put_char<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">'0'</span> <span style="color: #339933;">+</span> id1<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	put_char<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">'<span style="color: #000099; font-weight: bold;">\n</span>'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	put_char<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">'0'</span> <span style="color: #339933;">+</span> id2<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	put_char<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">'<span style="color: #000099; font-weight: bold;">\n</span>'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">while</span><span style="color: #009900;">&#40;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		move1 <span style="color: #339933;">=</span> readControl<span style="color: #009900;">&#40;</span>control1<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		move2 <span style="color: #339933;">=</span> readControl<span style="color: #009900;">&#40;</span>control2<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		put_char<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">'0'</span> <span style="color: #339933;">+</span> move1<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		put_char<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">' '</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		put_char<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">'0'</span> <span style="color: #339933;">+</span> move2<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		put_char<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">'<span style="color: #000099; font-weight: bold;">\n</span>'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span>move1 <span style="color: #339933;">!=</span> <span style="color: #0000dd;">8</span><span style="color: #009900;">&#41;</span>
			move<span style="color: #009900;">&#40;</span>lcd<span style="color: #339933;">,</span> id1<span style="color: #339933;">,</span> readControl<span style="color: #009900;">&#40;</span>control1<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span>move2 <span style="color: #339933;">!=</span> <span style="color: #0000dd;">8</span><span style="color: #009900;">&#41;</span>
			move<span style="color: #009900;">&#40;</span>lcd<span style="color: #339933;">,</span> id2<span style="color: #339933;">,</span> readControl<span style="color: #009900;">&#40;</span>control2<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>If you are interested in the project you can find info <a href="http://code.google.com/p/armycreator">here</a></p>
]]></content:encoded>
			<wfw:commentRss>http://ediaz.me/2010/04/armyc-simulator/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>New things to try</title>
		<link>http://ediaz.me/2010/03/new-things-to-try/</link>
		<comments>http://ediaz.me/2010/03/new-things-to-try/#comments</comments>
		<pubDate>Fri, 12 Mar 2010 19:54:24 +0000</pubDate>
		<dc:creator>iamedu</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[ARM]]></category>
		<category><![CDATA[Cassandra]]></category>
		<category><![CDATA[Gadgets]]></category>
		<category><![CDATA[Lustre]]></category>

		<guid isPermaLink="false">http://ediaz.me/?p=183</guid>
		<description><![CDATA[I&#8217;ve been fairly busy lately, and thus I don&#8217;t have any time to test new things.
So here&#8217;s my list of interesting things that I want to try:

Notion Ink Adam

A new tablet, it looks very very interesting (not like the iPad), it features an ARM processor by nVidia, the nVidia Tegra 2. It is a Dual Core [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been fairly busy lately, and thus I don&#8217;t have any time to test new things.</p>
<p>So here&#8217;s my list of interesting things that I want to try:</p>
<ul>
<li><strong>Notion Ink Adam</strong></li>
</ul>
<p>A new tablet, it looks very very interesting (not like the iPad), it features an ARM processor by nVidia, the nVidia Tegra 2. It is a Dual Core ARM Cortex with integrated video controller, it must be pretty good as it supports HDMI.</p>
<p>I want to get my hands into one of those processors! And I have a new personal project, writing the device simulators of the nVidia Tegra for <a href="http://code.google.com/p/armycreator/">armycreator</a> (part of my thesis project). It will go very slowly but hopefuly someday I&#8217;ll be able to run Android on armycreator.</p>
<ul>
<li><strong>HTC Desire</strong></li>
</ul>
<p>Another device which I&#8217;m very interested in because of my obsession with ARM processors. It has an awesome ui, based on Android. I must admit.. I didn&#8217;t believe in Android at first, but at least to me it looks very very interesting.</p>
<ul>
<li><strong>Cassandra</strong></li>
</ul>
<p>As it looks to me the future of databases. Cassandra is an apache project which aims to build a distributed database,  it features high availability, and it reduces bottlenecks as every node of the cassandra cluster has the same information.</p>
<p>Based on Amazon&#8217;s Dynamo and Google&#8217;s BigTable it looks like a very good option for a high available, high performance database.</p>
<ul>
<li><strong>Lustre</strong></li>
</ul>
<p>Sun&#8217;s distributed fs, the wikipedia states that 15 of 30 of the fastest clusters in the world use lustre. I looks promising and a major improve over older distributed fs.</p>
<p>Maybe I&#8217;ll get an opportunity to work with lustre and cassandra in a project here at <a href="http://www.javanes.com">javanes</a>, if so.. I&#8217;m looking forward to it!</p>
<p>As for the ARM projects&#8230; I don&#8217;t think I&#8217;ll have enough time, if you want to help you&#8217;re free to do it, contact me and I&#8217;ll help you too.</p>
]]></content:encoded>
			<wfw:commentRss>http://ediaz.me/2010/03/new-things-to-try/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dragon Templates</title>
		<link>http://ediaz.me/2010/02/dragon-templates/</link>
		<comments>http://ediaz.me/2010/02/dragon-templates/#comments</comments>
		<pubDate>Tue, 02 Feb 2010 18:12:13 +0000</pubDate>
		<dc:creator>iamedu</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[ZPT]]></category>

		<guid isPermaLink="false">http://ediaz.me/?p=172</guid>
		<description><![CDATA[I am determined to use a lot of things from the zope world in python&#8230; why you ask??
Because I want to.. isn&#8217;t that enough?
I have the attribute syntax working, I added a few things besides the string, python and path namespaces things like this are possible:

?View Code XML&#60;div tal:define=&#34;attr1 js:object.method(arg);;;
      [...]]]></description>
			<content:encoded><![CDATA[<p>I am determined to use a lot of things from the zope world in python&#8230; why you ask??</p>
<p>Because I want to.. isn&#8217;t that enough?</p>
<p>I have the attribute syntax working, I added a few things besides the string, python and path namespaces things like this are possible:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p172code10'); return false;">View Code</a> XML</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p17210"><td class="code" id="p172code10"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;div</span> <span style="color: #000066;">tal:define</span>=<span style="color: #ff0000;">&quot;attr1 js:object.method(arg);;;</span>
<span style="color: #009900;">                 attr2 groovy:5;;;</span>
<span style="color: #009900;">                 attr3 python:object2.method(arg2)&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span></pre></td></tr></table></div>

<p>The groovy, js and python namespaces are the names of python ScriptingEngine, that means you can use freemarker, javascript, groovy, python, ruby,  PHP, or any engine that supports the JSR 223.</p>
<p>I hope to finish it in a couple of weeks (I only have time to work during weekends)</p>
<p>If you want the check the code, it is here:  <a href="http://github.com/iamedu/Dragon-Templates">http://github.com/iamedu/Dragon-Templates</a></p>
]]></content:encoded>
			<wfw:commentRss>http://ediaz.me/2010/02/dragon-templates/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>repoze.bfg on jython 2.5</title>
		<link>http://ediaz.me/2010/01/repoze-bfg-on-jython-2-5/</link>
		<comments>http://ediaz.me/2010/01/repoze-bfg-on-jython-2-5/#comments</comments>
		<pubDate>Tue, 05 Jan 2010 04:44:20 +0000</pubDate>
		<dc:creator>iamedu</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[repoze.bfg]]></category>

		<guid isPermaLink="false">http://ediaz.me/?p=120</guid>
		<description><![CDATA[I&#8217;m going to be honest, I don&#8217;t really like Java for the frontend, but it is very widely used and I find it very nice for whatever&#8217;s not the frontend.
There must be a lot of java guys who think the same and there are projects like Groovy and Grails endorsed by Sun,  I was impressed [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m going to be honest, I don&#8217;t really like Java for the frontend, but it is very widely used and I find it very nice for whatever&#8217;s not the frontend.</p>
<p>There must be a lot of java guys who think the same and there are projects like <a href="http://groovy.codehaus.org/">Groovy</a> and <a href="http://www.grails.org/">Grails</a> endorsed by Sun,  I was impressed to see even a Ruby container in <a href="https://glassfish.dev.java.net/">glassfish v3</a>.</p>
<p>I haven&#8217;t tried ruby yet so I cannot comment on that, and I wanted to try something simple with jython so I decided to try bfg, my first attempts didn&#8217;t work so I asked for help on the bfg developers list, and a loooot of help from Chris McDonough I got it working.</p>
<p>It isn&#8217;t soo nice yet, and zcml configuration doesn&#8217;t work but at least it&#8217;s usable.</p>
<p>Here is how to get it working, since some changes were just made by Chris on the development&#8217;s trunk you need subversion and mercurial to get the repos.</p>
<p>First of all get <a href="http://www.jython.org/">jython</a> I tried this with 2.5.1, it is pretty simple to install it.</p>
<p>Next you need to get setuptools, you can get that from <a href="http://pypi.python.org/pypi/setuptools">pypi</a> make sure to download the source version (the one that ends with .tar.bz2)</p>
<p>To install it uncompress it, get into the directory and run:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p120code21'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p12021"><td class="code" id="p120code21"><pre class="bash" style="font-family:monospace;"><span style="color: #800000;">${JYTHONDIR}</span><span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>jython setup.py <span style="color: #c20cb9; font-weight: bold;">install</span></pre></td></tr></table></div>

<p>Since we are going to be testing a lot it&#8217;s better to install virtualenv do it with</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p120code22'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p12022"><td class="code" id="p120code22"><pre class="bash" style="font-family:monospace;"><span style="color: #800000;">${JYTHONDIR}</span><span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>easy_install virtualenv</pre></td></tr></table></div>

<p>Now create a folder where you can start working, in this case I&#8217;ll assume it&#8217;s called BFG</p>
<p>Get into the BFG folder and create a virtual env.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p120code23'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p12023"><td class="code" id="p120code23"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">cd</span> BFG
<span style="color: #800000;">${JYTHONDIR}</span><span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>virtualenv <span style="color: #660033;">--no-site-packages</span> sys
<span style="color: #7a0874; font-weight: bold;">source</span> sys<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>activate</pre></td></tr></table></div>

<p>After this you&#8217;ll have you virtualenv&#8217;s jython and easy_install in your path.</p>
<p>It&#8217;s time to download latest versions from repos, and also <a href="http://http://pypi.python.org/packages/source/z/zope.schema/zope.schema-3.5.4.tar.gz">http://pypi.python.org/packages/source/z/zope.schema/zope.schema-3.5.4.tar.gz</a> this from pypi</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p120code24'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p12024"><td class="code" id="p120code24"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">svn</span> <span style="color: #c20cb9; font-weight: bold;">co</span> http:<span style="color: #000000; font-weight: bold;">//</span>svn.repoze.org<span style="color: #000000; font-weight: bold;">/</span>repoze.bfg<span style="color: #000000; font-weight: bold;">/</span>trunk<span style="color: #000000; font-weight: bold;">/</span> repoze.bfg
<span style="color: #c20cb9; font-weight: bold;">svn</span> <span style="color: #c20cb9; font-weight: bold;">co</span> http:<span style="color: #000000; font-weight: bold;">//</span>svn.repoze.org<span style="color: #000000; font-weight: bold;">/</span>repoze.bfg.jinja2<span style="color: #000000; font-weight: bold;">/</span>trunk<span style="color: #000000; font-weight: bold;">/</span> repoze.bfg.jinja2
hg clone http:<span style="color: #000000; font-weight: bold;">//</span>dev.pocoo.org<span style="color: #000000; font-weight: bold;">/</span>hg<span style="color: #000000; font-weight: bold;">/</span>jinja2-main jinja2
<span style="color: #c20cb9; font-weight: bold;">tar</span> xfvj zope.schema-3.5.4.tar.gz</pre></td></tr></table></div>

<p>Now we need to change a few things head into the zope.schema-3.5.4 folder and edit this file src/zope/schema/_bootstrapfields.py</p>
<p>In line 31 you should see something like:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p120code25'); return false;">View Code</a> PYTHON</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p12025"><td class="code" id="p120code25"><pre class="python" style="font-family:monospace;"><span style="color: #ff7700;font-weight:bold;">class</span> ValidatedProperty<span style="color: black;">&#40;</span><span style="color: #008000;">object</span><span style="color: black;">&#41;</span>:
&nbsp;
    <span style="color: #ff7700;font-weight:bold;">def</span> <span style="color: #0000cd;">__init__</span><span style="color: black;">&#40;</span><span style="color: #008000;">self</span>, name, check=<span style="color: #008000;">None</span><span style="color: black;">&#41;</span>:
        <span style="color: #008000;">self</span>._info = name, check
&nbsp;
    <span style="color: #ff7700;font-weight:bold;">def</span> <span style="color: #0000cd;">__set__</span><span style="color: black;">&#40;</span><span style="color: #008000;">self</span>, inst, value<span style="color: black;">&#41;</span>:
        name, check = <span style="color: #008000;">self</span>._info
        <span style="color: #ff7700;font-weight:bold;">if</span> value <span style="color: #66cc66;">!</span>= inst.<span style="color: black;">missing_value</span>:
            <span style="color: #ff7700;font-weight:bold;">if</span> check <span style="color: #ff7700;font-weight:bold;">is</span> <span style="color: #ff7700;font-weight:bold;">not</span> <span style="color: #008000;">None</span>:
                check<span style="color: black;">&#40;</span>inst, value<span style="color: black;">&#41;</span>
            <span style="color: #ff7700;font-weight:bold;">else</span>:
                inst.<span style="color: black;">validate</span><span style="color: black;">&#40;</span>value<span style="color: black;">&#41;</span>
        inst.<span style="color: #0000cd;">__dict__</span><span style="color: black;">&#91;</span>name<span style="color: black;">&#93;</span> = value</pre></td></tr></table></div>

<p>Add a __get__ method like this:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p120code26'); return false;">View Code</a> PYTHON</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p12026"><td class="code" id="p120code26"><pre class="python" style="font-family:monospace;"><span style="color: #ff7700;font-weight:bold;">class</span> ValidatedProperty<span style="color: black;">&#40;</span><span style="color: #008000;">object</span><span style="color: black;">&#41;</span>:
&nbsp;
    <span style="color: #ff7700;font-weight:bold;">def</span> <span style="color: #0000cd;">__init__</span><span style="color: black;">&#40;</span><span style="color: #008000;">self</span>, name, check=<span style="color: #008000;">None</span><span style="color: black;">&#41;</span>:
        <span style="color: #008000;">self</span>._info = name, check
&nbsp;
    <span style="color: #ff7700;font-weight:bold;">def</span> <span style="color: #0000cd;">__set__</span><span style="color: black;">&#40;</span><span style="color: #008000;">self</span>, inst, value<span style="color: black;">&#41;</span>:
        name, check = <span style="color: #008000;">self</span>._info
        <span style="color: #ff7700;font-weight:bold;">if</span> value <span style="color: #66cc66;">!</span>= inst.<span style="color: black;">missing_value</span>:
            <span style="color: #ff7700;font-weight:bold;">if</span> check <span style="color: #ff7700;font-weight:bold;">is</span> <span style="color: #ff7700;font-weight:bold;">not</span> <span style="color: #008000;">None</span>:
                check<span style="color: black;">&#40;</span>inst, value<span style="color: black;">&#41;</span>
            <span style="color: #ff7700;font-weight:bold;">else</span>:
                inst.<span style="color: black;">validate</span><span style="color: black;">&#40;</span>value<span style="color: black;">&#41;</span>
        inst.<span style="color: #0000cd;">__dict__</span><span style="color: black;">&#91;</span>name<span style="color: black;">&#93;</span> = value
    <span style="color: #ff7700;font-weight:bold;">def</span> <span style="color: #0000cd;">__get__</span><span style="color: black;">&#40;</span><span style="color: #008000;">self</span>, inst, owner<span style="color: black;">&#41;</span>:
        name, check = <span style="color: #008000;">self</span>._info
        <span style="color: #ff7700;font-weight:bold;">return</span> inst.<span style="color: #0000cd;">__dict__</span><span style="color: black;">&#91;</span>name<span style="color: black;">&#93;</span></pre></td></tr></table></div>

<p>Now install zope.schema with:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p120code27'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p12027"><td class="code" id="p120code27"><pre class="bash" style="font-family:monospace;">jython setup.py <span style="color: #c20cb9; font-weight: bold;">install</span></pre></td></tr></table></div>

<p>Now get into the jinja2 directory, here you should patch your file with the patch provided below</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p120code28'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p12028"><td class="code" id="p120code28"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">patch</span> <span style="color: #660033;">-p1</span> <span style="color: #000000; font-weight: bold;">&amp;</span>lt; jinja2_jython.patch</pre></td></tr></table></div>

<p>Now for install jinja2, repoze.bfg and repoze.bfg.jinja2 in that order, for each package just go into the directory and run:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p120code29'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p12029"><td class="code" id="p120code29"><pre class="bash" style="font-family:monospace;"><span style="color: #800000;">${JYTHONDIR}</span><span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>jython setup.py <span style="color: #c20cb9; font-weight: bold;">install</span></pre></td></tr></table></div>

<p>You can create a project with paster now, but it won&#8217;t work right away, because zcml doesn&#8217;t work with jython but you can get it working.</p>
<p>Here is a sample project tweaked to work, just download it and run:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p120code30'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p12030"><td class="code" id="p120code30"><pre class="bash" style="font-family:monospace;">paster serve MyProject.ini</pre></td></tr></table></div>

<p>I hope this works for you and that you find it useful</p>
<p><a href="http://ediaz.me/wp-content/uploads/2010/01/MyProject-jython.tar.bz2">MyProject-jython.tar</a></p>
<p><a href="http://ediaz.me/wp-content/uploads/2010/01/jinja2_jython.patch.bz2">jinja2_jython.patch</a></p>
<p><strong>UPDATE </strong>Chris just told me that zope.schema now passes tests under jython, so it&#8217;s no longer necesarry to change the _bootstrapfields.py file.</p>
<p>Another thing, I forgot to mention that you need to run jython setup.py develop with the MyProject egg.</p>
]]></content:encoded>
			<wfw:commentRss>http://ediaz.me/2010/01/repoze-bfg-on-jython-2-5/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Next decade: Gadgets , Web = Desktop, HTML 5</title>
		<link>http://ediaz.me/2009/12/next-decade-gadgets-web-desktop-html-5/</link>
		<comments>http://ediaz.me/2009/12/next-decade-gadgets-web-desktop-html-5/#comments</comments>
		<pubDate>Thu, 31 Dec 2009 19:16:07 +0000</pubDate>
		<dc:creator>iamedu</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[HTML 5]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Operating Systems]]></category>

		<guid isPermaLink="false">http://ediaz.me/?p=85</guid>
		<description><![CDATA[Right now I&#8217;m in the middle of an existencial crisis, I&#8217;m about to finish university and I don&#8217;t know what to do. I have worked a little in the past, mostly web development in python and java. I enjoy working on the web, and I would work on it, but I don&#8217;t find it that [...]]]></description>
			<content:encoded><![CDATA[<p>Right now I&#8217;m in the middle of an existencial crisis, I&#8217;m about to finish university and I don&#8217;t know what to do. I have worked a little in the past, mostly web development in python and java. I enjoy working on the web, and I would work on it, but I don&#8217;t find it that interesting.</p>
<p>For my thesis project I&#8217;m designing an embedded system along with some friends, it is designed for the ARM architecture. It&#8217;s going pretty well, we have an <a href="http://code.google.com/p/army-creator/">ARM  simulator</a>, some code and ideas for a microkernel (mostly taken from the <a href="http://os.inf.tu-dresden.de/fiasco/">Fiasco microkernel</a>), and a basic hardware platform.  This is what I really  really like, but&#8230; I need a lot more experience to build high quality things&#8230; so the question is&#8230; what to do the next few years?</p>
<p>So it&#8217;s natural that I&#8217;m curious about what is going to happen in the near future&#8230;</p>
<p>I think that we are going to see more portable devices which run UNIX systems, like iPhone OS and Android, I think there are two main reasons why this will continue to happen.</p>
<ul>
<li>UNIX is a very well known and tested architecture.</li>
<li>LINUX has been ported to nearly every machine architecture, because it&#8217;s Open Source.</li>
</ul>
<p>But that is not the only thing, prices on computer processors are dropping so.. I think we are going to <a href="http://www.popularmechanics.com/blogs/technology_news/4210607.html">embed a computer on everything we can</a>, or wouldn&#8217;t you like your <a href="http://news.cnet.com/8301-17939_109-9844750-2.html">internet fridge </a>to order food from the supermarket when it knows you&#8217;re running low on something. Or imagine if you could get updates for your microwave, so it knew how long it takes to defrost some kind of meat (ok this one is very stupid). Your car could connect to google maps to show you the best route to get home.</p>
<p>And what if you could accomplish all of this with the same technology that drives your phone? Why not? a simple ARM processor costs about 15 dollars! (ARM is important here because it&#8217;s an open standard which the iPhone, Motorola DEXT and many others happen to use).</p>
<p>The problem with all of this? we need to train a ton of new programmers to create apps for your iPhone, your DEXT, your microwave, your fridge, your car, your firefly, your TV&#8230;.. blah blah blah blah.</p>
<p>Well&#8230; it won&#8217;t be that bad&#8230; all of that runs on UNIX doesn&#8217;t it? Well, I think we could get most programmers to do stuff for our gadgets.. how?</p>
<p>Ok this may sound stupid and it probably is&#8230; but what about HTML?</p>
<p>At least for the GUI based gadgets it would be nice&#8230; we have tons of  web programmers, we could bring them to the desktop and beyond, and HTML 5 is the key.</p>
<p>HTML 5 has databases, and interaction it is seen as a replacement for Google Gears, and XUL, and I think it can be seen as a direct competitor for Java&#8217;s SWING, Adobe&#8217;s AIR&#8230;</p>
<p>And think about it, part of the HTML 5 standard is how things are displayed on mobile devices.</p>
<p>With this we are leaving all processing in the cloud, we don&#8217;t need the fastest processors.. at least not for the front ends, at least just in theory we need just a web browser (and whatever is needed to run a web browser). Sounds like <a href="http://en.wikipedia.org/wiki/Google_Chrome_OS">Chrome OS</a> doesn&#8217;t it?</p>
<p>The interesting is that we can build our standard java/python/php/whatever backend, or in the case of your microwave you can interact with your C program that drives the motor&#8230;.</p>
<p>I don&#8217;t really believe all of this, but it would be really nice&#8230; don&#8217;t you think?</p>
]]></content:encoded>
			<wfw:commentRss>http://ediaz.me/2009/12/next-decade-gadgets-web-desktop-html-5/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
	</channel>
</rss>
