<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.7.6(BH)" -->
<rss version="2.0">
    <channel xmlns:g="http://base.google.com/ns/1.0">
        <title>Protoblogr.net feed</title>
        <description></description>
        <link>http://protoblogr.net/blog/</link>
        <lastBuildDate>Wed, 07 Sep 2011 12:25:35 +0000</lastBuildDate>
        <generator>FeedCreator 1.7.6(BH)</generator>
        <language>EN</language>
        <managingEditor>jerry.jalava@gmail.com</managingEditor>
        <item>
            <title>Domain issues</title>
            <link>http://protoblogr.net/blog/view/domain_issues.html</link>
            <description>&lt;div class=&quot;abstract&quot;&gt;Finally got my domain issues worked out&lt;/div&gt;
&lt;p&gt;
Finally got my domain issues worked out. For long time the domain was pointing to wrong server and for many weird reasons I couldn&amp;#39;t get it to update.
&lt;/p&gt;
&lt;p&gt;
Next I&amp;#39;ll start transfering this blog to my own server and to a new and improved platform.&lt;br /&gt;
Also hopefully finally get some time to actually update it also...
&lt;/p&gt;</description>
            <author>Jerry Jalava &lt;jerry.jalava@gmail.com&gt;</author>
            <pubDate>Fri, 05 Mar 2010 10:25:17 +0000</pubDate>
            <guid>http://protoblogr.net/midcom-permalink-64ba8610284111dfb86ebfc094d32bc62bc6</guid>
        </item>
        <item>
            <title>Mobilephone browser detecting from PHP</title>
            <link>http://protoblogr.net/blog/view/mobilephone_browser_detecting_from_php.html</link>
            <description>
&lt;p&gt;
While ago friend of me asked for a script to detect if site is browsed with mobile device.&lt;br /&gt;
There are lot of these around on the net and here is my contribution to that list.
&lt;/p&gt;
&lt;p&gt;
Hopefully someone else find this usefull also:
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp; 
&lt;/p&gt;
&lt;div class=&quot;code php&quot;&gt;
&lt;pre&gt;
public function is_mobile($include_iphone_and_ipod=true)&lt;br /&gt;
{&lt;br /&gt;
    $mobile_browser = 0;&lt;br /&gt;
    $user_agent = $this-&amp;gt;get_value(&amp;#39;_SERVER&amp;#39;, &amp;#39;HTTP_USER_AGENT&amp;#39;);&lt;br /&gt;
    &lt;br /&gt;
    if (preg_match(&amp;#39;/(up.browser|up.link|mmp|symbian|smartphone|midp|wap|phone)/i&amp;#39;, strtolower($user_agent))) {&lt;br /&gt;
        $mobile_browser++;&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    if (! $include_iphone_and_ipod) {&lt;br /&gt;
        if (preg_match(&amp;#39;/(iphone|ipod)/i&amp;#39;, strtolower($user_agent))) {&lt;br /&gt;
            $mobile_browser--;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    if (   (strpos(strtolower($this-&amp;gt;get_value(&amp;#39;_SERVER&amp;#39;, &amp;#39;HTTP_ACCEPT&amp;#39;)),&amp;#39;application/vnd.wap.xhtml+xml&amp;#39;)&amp;gt;0)&lt;br /&gt;
        || ((   $this-&amp;gt;has_value(&amp;#39;_SERVER&amp;#39;, &amp;#39;HTTP_X_WAP_PROFILE&amp;#39;)&lt;br /&gt;
             || $this-&amp;gt;has_value(&amp;#39;_SERVER&amp;#39;, &amp;#39;HTTP_PROFILE&amp;#39;))))&lt;br /&gt;
    {&lt;br /&gt;
        $mobile_browser++;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    $mobile_ua = strtolower(substr($user_agent, 0, 4));&lt;br /&gt;
    $mobile_agents = array(&lt;br /&gt;
        &amp;#39;w3c &amp;#39;,&amp;#39;acs-&amp;#39;,&amp;#39;alav&amp;#39;,&amp;#39;alca&amp;#39;,&amp;#39;amoi&amp;#39;,&amp;#39;audi&amp;#39;,&amp;#39;avan&amp;#39;,&amp;#39;benq&amp;#39;,&amp;#39;bird&amp;#39;,&amp;#39;blac&amp;#39;,&lt;br /&gt;
        &amp;#39;blaz&amp;#39;,&amp;#39;brew&amp;#39;,&amp;#39;cell&amp;#39;,&amp;#39;cldc&amp;#39;,&amp;#39;cmd-&amp;#39;,&amp;#39;dang&amp;#39;,&amp;#39;doco&amp;#39;,&amp;#39;eric&amp;#39;,&amp;#39;hipt&amp;#39;,&amp;#39;inno&amp;#39;,&lt;br /&gt;
        &amp;#39;ipaq&amp;#39;,&amp;#39;java&amp;#39;,&amp;#39;jigs&amp;#39;,&amp;#39;kddi&amp;#39;,&amp;#39;keji&amp;#39;,&amp;#39;leno&amp;#39;,&amp;#39;lg-c&amp;#39;,&amp;#39;lg-d&amp;#39;,&amp;#39;lg-g&amp;#39;,&amp;#39;lge-&amp;#39;,&lt;br /&gt;
        &amp;#39;maui&amp;#39;,&amp;#39;maxo&amp;#39;,&amp;#39;midp&amp;#39;,&amp;#39;mits&amp;#39;,&amp;#39;mmef&amp;#39;,&amp;#39;mobi&amp;#39;,&amp;#39;mot-&amp;#39;,&amp;#39;moto&amp;#39;,&amp;#39;mwbp&amp;#39;,&amp;#39;nec-&amp;#39;,&lt;br /&gt;
        &amp;#39;newt&amp;#39;,&amp;#39;noki&amp;#39;,&amp;#39;oper&amp;#39;,&amp;#39;palm&amp;#39;,&amp;#39;pana&amp;#39;,&amp;#39;pant&amp;#39;,&amp;#39;phil&amp;#39;,&amp;#39;play&amp;#39;,&amp;#39;port&amp;#39;,&amp;#39;prox&amp;#39;,&lt;br /&gt;
        &amp;#39;qwap&amp;#39;,&amp;#39;sage&amp;#39;,&amp;#39;sams&amp;#39;,&amp;#39;sany&amp;#39;,&amp;#39;sch-&amp;#39;,&amp;#39;sec-&amp;#39;,&amp;#39;send&amp;#39;,&amp;#39;seri&amp;#39;,&amp;#39;sgh-&amp;#39;,&amp;#39;shar&amp;#39;,&lt;br /&gt;
        &amp;#39;sie-&amp;#39;,&amp;#39;siem&amp;#39;,&amp;#39;smal&amp;#39;,&amp;#39;smar&amp;#39;,&amp;#39;sony&amp;#39;,&amp;#39;sph-&amp;#39;,&amp;#39;symb&amp;#39;,&amp;#39;t-mo&amp;#39;,&amp;#39;teli&amp;#39;,&amp;#39;tim-&amp;#39;,&lt;br /&gt;
        &amp;#39;tosh&amp;#39;,&amp;#39;tsm-&amp;#39;,&amp;#39;upg1&amp;#39;,&amp;#39;upsi&amp;#39;,&amp;#39;vk-v&amp;#39;,&amp;#39;voda&amp;#39;,&amp;#39;wap-&amp;#39;,&amp;#39;wapa&amp;#39;,&amp;#39;wapi&amp;#39;,&amp;#39;wapp&amp;#39;,&lt;br /&gt;
        &amp;#39;wapr&amp;#39;,&amp;#39;webc&amp;#39;,&amp;#39;winw&amp;#39;,&amp;#39;winw&amp;#39;,&amp;#39;xda&amp;#39;,&amp;#39;xda-&amp;#39;&lt;br /&gt;
    );&lt;br /&gt;
&lt;br /&gt;
    if (in_array($mobile_ua, $mobile_agents)) {&lt;br /&gt;
        $mobile_browser++;&lt;br /&gt;
    }&lt;br /&gt;
    if (   $this-&amp;gt;has_value(&amp;#39;_SERVER&amp;#39;, &amp;#39;ALL_HTTP&amp;#39;)&lt;br /&gt;
        &amp;amp;&amp;amp; strpos(strtolower($this-&amp;gt;get_value(&amp;#39;_SERVER&amp;#39;, &amp;#39;ALL_HTTP&amp;#39;)), &amp;#39;OperaMini&amp;#39;) &amp;gt; 0)&lt;br /&gt;
    {&lt;br /&gt;
        $mobile_browser++;&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    if (strpos(strtolower($user_agent), &amp;#39;windows&amp;#39;) &amp;gt; 0) {&lt;br /&gt;
        $mobile_browser = 0;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    if ($mobile_browser &amp;gt; 0) {&lt;br /&gt;
        return true;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    return false;&lt;br /&gt;
}
&lt;/pre&gt;
&lt;/div&gt;</description>
            <author>Jerry Jalava &lt;jerry.jalava@gmail.com&gt;</author>
            <category>programming</category>
            <pubDate>Fri, 17 Apr 2009 07:07:34 +0000</pubDate>
            <guid>http://protoblogr.net/midcom-permalink-6cbf7c1a2b1e11de910ed963513cd344d344</guid>
        </item>
        <item>
            <title>USB finger, more details</title>
            <link>http://protoblogr.net/blog/view/usb_finger-more_details.html</link>
            <description>
&lt;p&gt;
As many of you might have already heard from me or &lt;a href=&quot;http://digg.com/linux_unix/Severed_Finger_Replaced_with_USB_Linux_Distro&quot;&gt;various places on the net&lt;/a&gt; after &lt;a href=&quot;http://protoblogr.net/blog/view/lost_my_left_ring_finger_on_a_motorcycle_crash_with_deer.html&quot;&gt;my motorcycle accident&lt;/a&gt;  last year&lt;br /&gt;
I got myself a &lt;a href=&quot;http://www.flickr.com/photos/jerry_jalava/sets/72157615074278472/&quot;&gt;prosthetic USB finger&lt;/a&gt; .
&lt;/p&gt;
&lt;p&gt;
After last night when my friend &lt;a href=&quot;http://bergie.iki.fi/blog/when_reality_meets_product_concepts/&quot;&gt;Bergie blogged about this&lt;/a&gt; many have contacted me through email and asking if it is true or how can I work while my finger is in the USB or Is it attached straight to my bone, etc.&lt;br /&gt;
So I think it is best I&amp;#39;ll try to explain some of these here now.
&lt;/p&gt;
&lt;p&gt;
First of all it is not attached permanently in to my body, it is removable prosthetic which has USB memorystick inside it.
&lt;/p&gt;
&lt;div class=&quot;image&quot;&gt;
&lt;a href=&quot;http://farm4.static.flickr.com/3389/3344182851_94a2b669d0.jpg&quot;&gt;
&lt;img src=&quot;http://farm4.static.flickr.com/3389/3344182851_94a2b669d0_m.jpg&quot; border=&quot;0&quot; /&gt;
&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&lt;br /&gt;
Secondly when I&amp;#39;m using the USB, I just leave my finger inside the slot and pick it up after I&amp;#39;m ready.
&lt;/p&gt;
&lt;div class=&quot;image&quot;&gt;
&lt;a href=&quot;http://farm4.static.flickr.com/3613/3344184187_8eeb0448d5.jpg&quot;&gt;
&lt;img src=&quot;http://farm4.static.flickr.com/3613/3344184187_8eeb0448d5_m.jpg&quot; border=&quot;0&quot; /&gt;
&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;
Currently I have &lt;a href=&quot;http://sourceforge.net/projects/billix&quot;&gt;Billix&lt;/a&gt; , &lt;a href=&quot;http://damienkatz.net/2008/07/couchdbx-couchdb-binary-for-os.html&quot;&gt;CouchDBX&lt;/a&gt;  and &lt;a href=&quot;http://www.ajatus.info&quot;&gt;Ajatus&lt;/a&gt;  installed inside it.&lt;br /&gt;
I&amp;#39;m planning to use the other prosthetic as a shell for the next version, which will have removable fingertip and RFID tag.
&lt;/p&gt;
&lt;p&gt;
I hope this helps some people to better understand what this all is about.&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
More pictures on &lt;a href=&quot;http://www.flickr.com/photos/jerry_jalava/sets/72157615074278472/&quot;&gt;my Flickr photo set&lt;/a&gt;. 
&lt;/p&gt;</description>
            <author>Jerry Jalava &lt;jerry.jalava@gmail.com&gt;</author>
            <pubDate>Tue, 10 Mar 2009 19:44:53 +0000</pubDate>
            <guid>http://protoblogr.net/midcom-permalink-ecc654e60dab11de8f424d20015023752375</guid>
        </item>
        <item>
            <title>Crash and burn</title>
            <link>http://protoblogr.net/blog/view/crash_and_burn.html</link>
            <description>
Last friday I collided to quite frustrating moment while doing user import to clients Midgard site.&lt;br /&gt;&lt;br /&gt;I created a simple import script to parse the old data from CSV and insert them as Midgard persons. After the script runned for a while I started seeing errors that the MySQL wasn't responding. Checked the server and realized that all disks were mounted as read-only and I couldn't mount them back. So after weekend of strugling with the server we decided with the hosting company to move all the data to new server.&lt;br /&gt;&lt;br /&gt;After this I made some minor modifications to the import script so it sleeps 2 minutes after every 250 imported users. And monitored the server all the time. After 5hours of importing everything was ready and the server is still doing ok.&lt;br /&gt;&lt;br /&gt;So just a small advice to anyone who has to do big imports (over 18k objects), add some sleep time to the import script so the server can take a deep breath once in a while.&lt;br /&gt;&lt;br /&gt;on the next Midgard dev meeting I'll try to do this again on a development server and trace for memory leaks.&lt;br /&gt;&lt;p class=&quot;technorati-tags&quot;&gt;&lt;a href=&quot;http://technorati.com/tag/Midgard&quot; rel=&quot;tag&quot;&gt;Midgard&lt;/a&gt;&lt;/p&gt;</description>
            <author>Jerry Jalava &lt;jerry.jalava@gmail.com&gt;</author>
            <category>midgard</category>
            <pubDate>Tue, 02 Sep 2008 12:36:28 +0000</pubDate>
            <guid>http://protoblogr.net/midcom-permalink-c351d61c78eb11ddad9c310c803e66b966b9</guid>
        </item>
        <item>
            <title>Midgard Textmate bundle</title>
            <link>http://protoblogr.net/blog/view/midgard_textmate_bundle.html</link>
            <description>
&lt;p&gt;
For quite a while &lt;a href=&quot;http://blogs.nemein.com/people/joonas/&quot;&gt;Joonas&lt;/a&gt;  and I have planned to do a &lt;a href=&quot;http://macromates.com/&quot;&gt;Textmate&lt;/a&gt; bundle for &lt;a href=&quot;http://www.midgard-project.org/&quot;&gt;Midgard CMS&lt;/a&gt;  to fasten and ease the code development and work as a reference to the thousands of methods MidCOM and Midgard has.
&lt;/p&gt;
&lt;p&gt;
Finally last night we just decided to put the project on properly and uploaded it to &lt;a href=&quot;http://github.com/joonas/midgard.tmbundle/tree/master&quot;&gt;GitHub&lt;/a&gt;.&lt;br /&gt;
Today I added (and adding right now) quite alot of the basic methods.
&lt;/p&gt;
&lt;p&gt;
Here&amp;#39;s a screenshot of shortcuts for  the Query Builder.
&lt;/p&gt;
&lt;div class=&quot;image&quot;&gt;
&lt;a href=&quot;http://protoblogr.net/midcom-serveattachmentguid-f42c6b5e64a911dd8e8d870e59c86c186c18/midgard_textmate_bundle_qb.png&quot;&gt;
&lt;img src=&quot;http://protoblogr.net/midcom-serveattachmentguid-f42c6b5e64a911dd8e8d870e59c86c186c18/midgard_textmate_bundle_qb.png&quot; border=&quot;0&quot; alt=&quot;midgard_textmate_bundle_qb.png&quot; title=&quot;midgard_textmate_bundle_qb.png&quot; /&gt;
&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;
with these methods even complex queries can be built lightning fast. We will be adding more stuff as time goes by.
&lt;/p&gt;</description>
            <author>Jerry Jalava &lt;jerry.jalava@gmail.com&gt;</author>
            <category>midgard</category>
            <pubDate>Thu, 07 Aug 2008 18:01:38 +0000</pubDate>
            <guid>http://protoblogr.net/midcom-permalink-e1e3c85664aa11ddba6801699c168a978a97</guid>
        </item>
        <item>
            <title>PHP5 xmlObject</title>
            <link>http://protoblogr.net/blog/view/php5_xmlobject.html</link>
            <description>
&lt;p&gt;
UPDATE [08/06/2008]: Version update. Did some fixing and made it work better with larger structures. 
&lt;/p&gt;
&lt;p&gt;
Here&amp;#39;s another simple little helper I developed for Duct framework.&lt;br /&gt;
I use this one to convert my arrays to XML. As Duct automatically scaffolds objects from XML/YAML to database&lt;br /&gt;
and uses the same methods to render the database objects to html forms for editing I needed some quick way to&lt;br /&gt;
transform this data to and from XML. Class end examples are &lt;a href=&quot;http://protoblogr.net/downloads/php5/xmlObjects.phps&quot;&gt;here&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
Usage example:
&lt;/p&gt;
&lt;div class=&quot;code php&quot;&gt;
&lt;pre&gt;
&amp;lt;?php&lt;br /&gt;
$resource = new xmlObjectItem();&lt;br /&gt;
$resource-&amp;gt;items = array(&lt;br /&gt;
    &amp;#39;id&amp;#39; =&amp;gt; 100,&lt;br /&gt;
    &amp;#39;name&amp;#39; =&amp;gt; &amp;quot;Jerry Jalava&amp;quot;,&lt;br /&gt;
    &amp;#39;person_id&amp;#39; =&amp;gt; 1&lt;br /&gt;
);&lt;br /&gt;
$resource-&amp;gt;attributes = array(&lt;br /&gt;
    &amp;#39;person_id&amp;#39; =&amp;gt; array(&lt;br /&gt;
        &amp;#39;is_assoc&amp;#39; =&amp;gt; true,&lt;br /&gt;
        &amp;#39;foreign_model&amp;#39; =&amp;gt; &amp;#39;person&amp;#39;,&lt;br /&gt;
        &amp;#39;foreign_key&amp;#39; =&amp;gt; &amp;#39;id&amp;#39;&lt;br /&gt;
    )&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
$resource_set = new xmlObjectSet();&lt;br /&gt;
$resource_set-&amp;gt;wrapper_id = &amp;#39;resource&amp;#39;;&lt;br /&gt;
$resource_set-&amp;gt;items[] = $resource;&lt;br /&gt;
&lt;br /&gt;
$projects = array();&lt;br /&gt;
for ($i=1; $i &amp;lt;= 1; $i++)&lt;br /&gt;
{&lt;br /&gt;
    $object = new xmlObjectItem();&lt;br /&gt;
    $object-&amp;gt;items = array(&lt;br /&gt;
        &amp;#39;id&amp;#39; =&amp;gt; $i,&lt;br /&gt;
        &amp;#39;name&amp;#39; =&amp;gt; &amp;quot;Project {$i}&amp;quot;,&lt;br /&gt;
        &amp;#39;manager_id&amp;#39; =&amp;gt; $i+1,&lt;br /&gt;
        &amp;#39;resources&amp;#39; =&amp;gt; $resource_set&lt;br /&gt;
    );&lt;br /&gt;
    &lt;br /&gt;
    $projects[] = $object;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
$project_set = new xmlObjectSet();&lt;br /&gt;
$project_set-&amp;gt;wrapper_id = &amp;#39;project&amp;#39;;&lt;br /&gt;
$project_set-&amp;gt;items = $projects;&lt;br /&gt;
&lt;br /&gt;
$clients = array();&lt;br /&gt;
for ($i=1; $i &amp;lt;= 1; $i++)&lt;br /&gt;
{&lt;br /&gt;
    $client = new xmlObjectItem();&lt;br /&gt;
    $client-&amp;gt;items = array(&lt;br /&gt;
        &amp;#39;id&amp;#39; =&amp;gt; $i,&lt;br /&gt;
        &amp;#39;name&amp;#39; =&amp;gt; &amp;quot;Client {$i}&amp;quot;,&lt;br /&gt;
        &amp;#39;contact_id&amp;#39; =&amp;gt; $i+1,&lt;br /&gt;
        &amp;#39;team-leader&amp;#39; =&amp;gt; null,&lt;br /&gt;
        &amp;#39;projects&amp;#39; =&amp;gt; $project_set&lt;br /&gt;
    );    &lt;br /&gt;
    $client-&amp;gt;attributes = array(&lt;br /&gt;
        &amp;#39;contact_id&amp;#39; =&amp;gt; array(&lt;br /&gt;
            &amp;#39;is_assoc&amp;#39; =&amp;gt; true,&lt;br /&gt;
            &amp;#39;foreign_model&amp;#39; =&amp;gt; &amp;#39;person&amp;#39;,&lt;br /&gt;
            &amp;#39;foreign_key&amp;#39; =&amp;gt; &amp;#39;id&amp;#39;&lt;br /&gt;
        )&lt;br /&gt;
    );&lt;br /&gt;
    &lt;br /&gt;
    $clients[] = $client;&lt;br /&gt;
}&lt;br /&gt;
$client_set = new xmlObjectSet();&lt;br /&gt;
$client_set-&amp;gt;wrapper_id = &amp;#39;client&amp;#39;;&lt;br /&gt;
$client_set-&amp;gt;items = $clients;&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;complex set:\n&amp;quot;;&lt;br /&gt;
var_dump($client_set);&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;\n--------toXml---------\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$xmlSet_clients = xmlObjects::toXml($client_set, &amp;#39;clients&amp;#39;);&lt;br /&gt;
echo &amp;quot;complex:\n&amp;quot;;&lt;br /&gt;
echo $xmlSet_clients;&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;\n--------fromXml---------\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$client_set = xmlObjects::fromXml($xmlSet_clients);&lt;br /&gt;
echo &amp;quot;client_set root: {$client_set-&amp;gt;root}\n&amp;quot;;&lt;br /&gt;
var_dump($client_set);&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;\n--------back toXml---------\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$xmlSet_clients2 = xmlObjects::toXml($client_set);&lt;br /&gt;
echo &amp;quot;complex:\n&amp;quot;;&lt;br /&gt;
echo $xmlSet_clients2;&lt;br /&gt;
&lt;br /&gt;
if ($xmlSet_clients == $xmlSet_clients2) {&lt;br /&gt;
    echo &amp;quot;\n\nVALID SET CONVERSION\n\n&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
?&amp;gt;
&lt;/pre&gt;
&lt;/div&gt;</description>
            <author>Jerry Jalava &lt;jerry.jalava@gmail.com&gt;</author>
            <category>programming</category>
            <pubDate>Tue, 05 Aug 2008 15:37:23 +0000</pubDate>
            <guid>http://protoblogr.net/midcom-permalink-65d7127e630411ddae248b040f2449124912</guid>
        </item>
        <item>
            <title>PHP5 events class</title>
            <link>http://protoblogr.net/blog/view/php5_events_class.html</link>
            <description>
&lt;p&gt;
While I was building Duct Frameworks server side with PHP5 I realized I needed some kind of event support for it.&lt;br /&gt;
So I created similar approach that ActionScript uses. You can download the class with example from &lt;a href=&quot;http://protoblogr.net/downloads/php5/events.zip&quot;&gt;here&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
Hopefully this comes in handy for someone else also.&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
Here is simple example also:
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;div class=&quot;code php&quot;&gt;
&lt;pre&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
class mother extends events_observable&lt;br /&gt;
{&lt;br /&gt;
    public function __construct()&lt;br /&gt;
    {&lt;br /&gt;
        parent::__construct();&lt;br /&gt;
        &lt;br /&gt;
        $this-&amp;gt;addEventListener(events_event::ONCONSTRUCT, events::delegate($this, &amp;#39;on_object_constructed&amp;#39;));&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    public function on_object_constructed($target, $args)&lt;br /&gt;
    {&lt;br /&gt;
        echo &amp;quot;{$target-&amp;gt;name} has born.&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
class child extends events_observable&lt;br /&gt;
{&lt;br /&gt;
    public $name;&lt;br /&gt;
    &lt;br /&gt;
    public function __construct($name)&lt;br /&gt;
    {&lt;br /&gt;
        parent::__construct();&lt;br /&gt;
        &lt;br /&gt;
        $this-&amp;gt;name = $name;&lt;br /&gt;
        &lt;br /&gt;
        $this-&amp;gt;dispatchEvent(new events_event(events_event::ONCONSTRUCT, $this));&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
$mother = new mother();&lt;br /&gt;
$child = new child(&amp;#39;Jack&amp;#39;);&lt;br /&gt;
&lt;br /&gt;
?&amp;gt;
&lt;/pre&gt;
&lt;/div&gt;</description>
            <author>Jerry Jalava &lt;jerry.jalava@gmail.com&gt;</author>
            <category>programming</category>
            <pubDate>Mon, 04 Aug 2008 09:42:01 +0000</pubDate>
            <guid>http://protoblogr.net/midcom-permalink-96d52a06620911ddb07df1d072991b281b28</guid>
        </item>
        <item>
            <title>Just added first version of mobile css</title>
            <link>http://protoblogr.net/blog/view/just_added_first_version_of_mobile_css.html</link>
            <description>
If one is to browse this website through phone browser they should see this page fitted on the phone screen.&lt;br /&gt;This is currently tested on Nokia S60 series phones only. Widescreens doesn't show it right yet, but that will be done also after I get test machine for them.&lt;br /&gt;</description>
            <author>Jerry Jalava &lt;jerry.jalava@gmail.com&gt;</author>
            <category>mobile</category>
            <pubDate>Mon, 28 Jul 2008 10:56:03 +0000</pubDate>
            <guid>http://protoblogr.net/midcom-permalink-c570427c5c9311ddac280b6e15a1b54ab54a</guid>
        </item>
        <item>
            <title>Sudden urge to redesign this layout</title>
            <link>http://protoblogr.net/blog/view/sudden_urge_to_redesign_this_layout.html</link>
            <description>
&lt;p&gt;
I&amp;#39;ve planned doing this for soooo long and finally I took up the challenge and redid everything...&lt;br /&gt;
Later on I&amp;#39;m going to move to other server so I&amp;#39;m getting more recent Midgard beneath and some new stuff to the site.
&lt;/p&gt;
&lt;p&gt;
Hope you guys like this... If you have any comments/wishes drop me an email or shout at Jaiku...&lt;br /&gt;
&lt;br /&gt;
Later&lt;br /&gt;
&lt;/p&gt;</description>
            <author>Jerry Jalava &lt;jerry.jalava@gmail.com&gt;</author>
            <category>layout</category>
            <pubDate>Thu, 17 Jul 2008 20:27:33 +0000</pubDate>
            <guid>http://protoblogr.net/midcom-permalink-c950da12543e11ddaa98971cc1eba172a172</guid>
        </item>
        <item>
            <title>Duct Framework</title>
            <link>http://protoblogr.net/blog/view/duct_framework.html</link>
            <description>
&lt;p&gt;
Duct is something I have planned doing for a while and started coding last week.
&lt;/p&gt;
&lt;p&gt;
What is Duct? (or what it will be)
&lt;/p&gt;
&lt;p&gt;
Duct is a Flash framework with different generators and tools.&lt;br /&gt;
with single click it can generate dynamic Flash Sites, Banners, Polls, Surveys, etc. (through engines)&lt;br /&gt;
It has it&amp;#39;s own server implementation also which allows dynamic content, mail and other features&lt;br /&gt;
for Flash. Server side is written with PHP but I have planned a Python version of it also.
&lt;/p&gt;
&lt;p&gt;
Currently Duct UI is built to Flash IDE but I have plans to add Commandline, Online and Standalone support also.
&lt;/p&gt;
&lt;p&gt;
I&amp;#39;m going to publish this as a Open Source project as soon as it gets a bit more mature.&lt;br /&gt;
Also more about the whole project will be published later.&lt;br /&gt;
&lt;br /&gt;
Here are some screenshots of the Banner Engine. (And scaffolded banner project.)&lt;br /&gt;
&lt;/p&gt;
&lt;div class=&quot;image&quot;&gt;
&lt;a href=&quot;http://protoblogr.net/midcom-serveattachmentguid-a9a49baa541011dd9404e75baf0fd804d804/gui.png&quot;&gt;
&lt;img src=&quot;http://protoblogr.net/midcom-serveattachmentguid-a9a49baa541011dd9404e75baf0fd804d804/gui.png&quot; alt=&quot;Gui&quot; title=&quot;Gui&quot; width=&quot;356&quot; height=&quot;212&quot; /&gt;
&lt;/a&gt;
&lt;/div&gt;
&lt;div class=&quot;image&quot;&gt;
&lt;a href=&quot;http://protoblogr.net/midcom-serveattachmentguid-b0b76706541011dd88b79b64fd3d98f898f8/bannercreator.png&quot;&gt;
&lt;img src=&quot;http://protoblogr.net/midcom-serveattachmentguid-b0b76706541011dd88b79b64fd3d98f898f8/bannercreator.png&quot; alt=&quot;bannerCreator.png&quot; title=&quot;bannerCreator.png&quot; width=&quot;290&quot; height=&quot;372&quot; /&gt;
&lt;/a&gt;
&lt;/div&gt;
&lt;div class=&quot;image&quot;&gt;
&lt;a href=&quot;http://protoblogr.net/midcom-serveattachmentguid-b6cf8768541011dd9404e75baf0fd804d804/scaffoldedbanner.png&quot;&gt;
&lt;img src=&quot;http://protoblogr.net/midcom-serveattachmentguid-b6cf8768541011dd9404e75baf0fd804d804/scaffoldedbanner.png&quot; alt=&quot;scaffoldedBanner.png&quot; title=&quot;scaffoldedBanner.png&quot; width=&quot;400&quot; height=&quot;106&quot; /&gt;
&lt;/a&gt;
&lt;div class=&quot;image_text&quot;&gt;
(All these files have been generated after pressing the &amp;quot;Create&amp;quot; -button)
&lt;/div&gt;
&lt;/div&gt;</description>
            <author>Admin &lt;&gt;</author>
            <category>programming</category>
            <pubDate>Thu, 17 Jul 2008 15:15:30 +0000</pubDate>
            <guid>http://protoblogr.net/midcom-permalink-3168a318541311dd8ed2693b4364af16af16</guid>
        </item>
        <item>
            <title>Lost my left ring finger on a motorcycle crash with deer</title>
            <link>http://protoblogr.net/blog/view/lost_my_left_ring_finger_on_a_motorcycle_crash_with_deer.html</link>
            <description>
Last wednesday (07.05.2008) while I was driving my &lt;a href=&quot;http://www.flickr.com/photos/jerry_jalava/2453812361/&quot;&gt;one week old Ducati Monster 696&lt;/a&gt; from work to home,&lt;br /&gt;I crashed into a deer.&lt;br /&gt;I slided approx. 8 meters with the deer on front and after that bounced from side to side 11 meters with the bike. Last slide was approx. 58 meters with my left hand under the bike. Somehow my backpack got attached to the bike handles so I wasn't able to get rid of the bike while sliding. After the bike stopped I got up and took my helmet and gloves off.&lt;br /&gt;I was swearing a lot and started to take cigarettes out of my pocket, thats when I realized that half of my finger was missing...&lt;br /&gt;Then I started to scream and yell until a car came to the scene and I was able to stop them so they could call help.&lt;br /&gt;I got to smoke one cigarette before the ambulance came and took me to the hospital. Luckily I was close to Helsinki so they took me to hospital where was great hand surgeon. They amputated half of the finger off.&lt;br /&gt;&lt;br /&gt;I'm still very happy of the outcome. It could have ended a lot worst. I think most of the compliments for my survival with minimal damage goes to the great motorcycle clothing and safety gear I had on.&lt;br /&gt;&lt;br /&gt;So remember bikers, wear your safety gear! You never know what can happen...&lt;br /&gt;&lt;br /&gt;I'll put up some photos as soon as I get enough strength to get them off from the camera...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</description>
            <author>Jerry Jalava &lt;jerry.jalava@gmail.com&gt;</author>
            <pubDate>Fri, 16 May 2008 16:21:15 +0000</pubDate>
            <guid>http://protoblogr.net/midcom-permalink-1b6ae466236411dd8fe119f02dd9d44cd44c</guid>
        </item>
        <item>
            <title>Ajatus LT @ FOSDEM video</title>
            <link>http://protoblogr.net/blog/view/ajatus_lt-_fosdem_video.html</link>
            <description>
For those of you who are interested but missed the talk&lt;br /&gt;the video is now available to be &lt;a href=&quot;http://ftp.heanet.ie/mirrors/fosdem-video/2008/lightningtalks/FOSDEM2008-ajatus.ogg&quot;&gt;downloaded.&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;</description>
            <author>Jerry Jalava &lt;jerry.jalava@gmail.com&gt;</author>
            <category>ajatus</category>
            <pubDate>Wed, 05 Mar 2008 10:50:55 +0000</pubDate>
            <guid>http://protoblogr.net/midcom-permalink-07da6d54eaa211dcb2212df5f555de19de19</guid>
        </item>
        <item>
            <title>Ajatus LightingTalk in AOP</title>
            <link>http://protoblogr.net/blog/view/ajatus_lightingtalk_in_aop.html</link>
            <description>
Next saturday there is a &lt;a href=&quot;http://aop.turuxi.org/&quot;&gt;FOSS event &amp;quot;Avoimien Ohjelmien P&amp;auml;iv&amp;auml;&amp;quot;&lt;/a&gt; in Turku, Finland.&lt;br /&gt;
I will be holding a LightningTalk of Ajatus there somewhere after 3pm.&lt;br /&gt;
&lt;br /&gt;
If you are coming there, let&amp;#39;s go for a beer etc. and discuss the topic or offtopic...</description>
            <author>Jerry Jalava &lt;jerry.jalava@gmail.com&gt;</author>
            <category>ajatus</category>
            <pubDate>Mon, 03 Mar 2008 19:23:01 +0000</pubDate>
            <guid>http://protoblogr.net/midcom-permalink-3d2e7564e95711dc8a16f1ccf979ba74ba74</guid>
        </item>
        <item>
            <title>Interesting taxi company</title>
            <link>http://protoblogr.net/blog/view/interesting_taxi_company.html</link>
            <description>
&lt;p&gt;
Today when I was leaving from home to Helsinki I decided to take a taxi from my house to the train station.&lt;br /&gt;
For my supprise the Riihim&amp;auml;ki taxi operator was a bit more enhanced than I could have imagined.&lt;br /&gt;
This is the call I made&lt;br /&gt;
&lt;br /&gt;
Machine answers: Hello, finding your position now...&lt;br /&gt;
[After few seconds]&lt;br /&gt;
Machine: Calling nearest available taxi, please wait...&lt;br /&gt;
Taxi driver: I will be there in two minutes.&lt;br /&gt;
Me: Thank you.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I could believe this in Helsinki but not in Riihim&amp;auml;ki which is really small town...&lt;br /&gt;
We are going to the right direction....
&lt;/p&gt;</description>
            <author>Jerry Jalava &lt;jerry.jalava@gmail.com&gt;</author>
            <category>mobile</category>
            <pubDate>Thu, 21 Feb 2008 17:13:35 +0000</pubDate>
            <guid>http://protoblogr.net/midcom-permalink-56157fa6e0a011dc8c1053aaae6e8a2a8a2a</guid>
        </item>
        <item>
            <title>Ajatus Lightning talk @ FOSDEM</title>
            <link>http://protoblogr.net/blog/view/ajatus_lightning_talk-_fosdem.html</link>
            <description>
&lt;p&gt;
Ajatus LT was accepted to this years &lt;a href=&quot;http://www.fosdem.org/2008/&quot;&gt;FOSDEM&lt;/a&gt; in Belgium.
&lt;/p&gt;
&lt;p&gt;
At this point it seems the presentation will be on Sunday 24 at 15:40.
&lt;/p&gt;
&lt;p&gt;
I&amp;#39;ll be introducing Ajatus itself and little bit about the pieces it is built on (CouchDB, jQuery).&lt;br /&gt;
Mostly I try to concentrate the presentation for developers interested either in offline AJAX development or even Ajatus itself.&lt;br /&gt;
I will be showing and explaining some of the layers inside Ajatus, different ways to expand it with plugins, etc and give sneak peak to the future of the app.&lt;br /&gt;
Some basic replication scenarios will be covered also.
&lt;/p&gt;
&lt;p&gt;
At the same weekend &lt;a href=&quot;http://bergie.iki.fi&quot;&gt;Bergie&lt;/a&gt;  and I will be attending the &lt;a href=&quot;http://wiki.jabber.org/index.php/FOSDEM_2008&quot;&gt;XMPP Devcon&lt;/a&gt; to collect and present our ideas of the automated XMPP based CouchDB replication currently going under name PillowTalk.&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;</description>
            <author>Jerry Jalava &lt;jerry.jalava@gmail.com&gt;</author>
            <category>ajax</category>
            <pubDate>Fri, 08 Feb 2008 21:14:01 +0000</pubDate>
            <guid>http://protoblogr.net/midcom-permalink-c55ec2cad68a11dca7c23d4324bd68836883</guid>
        </item>
        <item>
            <title>Ajatus 0.6.0 released</title>
            <link>http://protoblogr.net/blog/view/ajatus_0-6-0_released.html</link>
            <description>
&lt;p&gt;
Finally got the new release out.&lt;br /&gt;
This fixes some bugs and adds cool new features.
&lt;/p&gt;
&lt;p&gt;
Go check it out at &lt;a href=&quot;http://www.ajatus.info/download/ajatus_0-6-0/&quot;&gt;http://www.ajatus.info/download/ajatus_0-6-0/&lt;/a&gt; &amp;nbsp;
&lt;/p&gt;</description>
            <author>Jerry Jalava &lt;jerry.jalava@gmail.com&gt;</author>
            <category>javascript</category>
            <pubDate>Wed, 30 Jan 2008 18:04:31 +0000</pubDate>
            <guid>http://protoblogr.net/midcom-permalink-ce189884cf5d11dc92f6a16166844ea94ea9</guid>
        </item>
        <item>
            <title>Finally got them working</title>
            <link>http://protoblogr.net/blog/view/finally_got_them_working.html</link>
            <description>
&lt;div class=&quot;image&quot;&gt;
&lt;a href=&quot;http://protoblogr.net/midcom-serveattachmentguid-aadbdbb0c9ea11dc846513ff7503a8b0a8b0/ajatus_native.jpg&quot;&gt;&lt;img src=&quot;http://protoblogr.net/midcom-serveattachmentguid-aadbdbb0c9ea11dc846513ff7503a8b0a8b0/ajatus_native.jpg&quot; alt=&quot;ajatus_native.jpg&quot; title=&quot;ajatus_native.jpg&quot; width=&quot;240&quot; height=&quot;180&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;
Today I got the complete stack working on my N800 device!
&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Erlang&lt;/li&gt;
	&lt;li&gt;ICU&lt;br /&gt;
	&lt;/li&gt;
	&lt;li&gt;CouchDB&lt;/li&gt;
	&lt;li&gt;Ajatus &lt;br /&gt;
	&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
They are far from perfect yet but I&amp;#39;m sure it&amp;#39;ll get better little by little.&lt;br /&gt;
Currently I&amp;#39;m 
&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;preparing the packages for releasing them through maemo extras repository.&lt;/li&gt;
	&lt;li&gt;trying to compile the latest erlang R12.b.0 (now the package is R11.b.1)&lt;/li&gt;
	&lt;li&gt;adding dependencies to couchdb package&lt;/li&gt;
	&lt;li&gt;packaging Ajatus also&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
After first releases there are some possible tweaking to do... I still get some Segfaults at some points while using couchdb.&lt;br /&gt;
&lt;br /&gt;
If someone would like to give this a try the hard way:&lt;br /&gt;
All the current packages can be found &lt;a href=&quot;http://protoblogr.net/downloads/erlang/&quot;&gt;here http://protoblogr.net/downloads/erlang/&lt;/a&gt;  
&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;Download and install &lt;a href=&quot;http://protoblogr.net/downloads/erlang/erlang-base_11.b.1-1_armel.deb&quot;&gt;erlang-base_11.b.1-1_armel.deb&lt;/a&gt;  to the device (after download: dpkg -i&amp;nbsp; erlang-base_11.b.1-1_armel.deb)&lt;/li&gt;
	&lt;li&gt;Download and install &lt;a href=&quot;http://protoblogr.net/downloads/erlang/libicu36_3.6-2_armel.deb&quot;&gt;libicu36_3.6-2_armel.deb&lt;/a&gt; &lt;/li&gt;
	&lt;li&gt;Download and install &lt;a href=&quot;http://protoblogr.net/downloads/erlang/couchdb_0.7.2-1_armel.deb&quot;&gt;couchdb_0.7.2-1_armel.deb&lt;/a&gt; &lt;/li&gt;
	&lt;li&gt;Get the &lt;a href=&quot;http://www.ajatus.info/download/&quot;&gt;latest release&lt;/a&gt;  of Ajatus and follow it&amp;#39;s &lt;a href=&quot;http://www.ajatus.info/documentation/installation/&quot;&gt;installation instructions&lt;/a&gt; &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
There might be some dependencies which have to be manually installed. (Will be fixed later)&lt;br /&gt;
Currently the CouchDb installs itself to /usr and the databases are located at /usr/var/lib/couchdb.&lt;br /&gt;
I changed the DB path in /usr/etc/couchdb/couch.ini to point to my other memorycard (/media/mmc2/couchdb_db) which had some more space left.
&lt;/p&gt;
&lt;p&gt;
Hopefully I get to release these as soon as possible for easier use.
&lt;/p&gt;
&lt;p&gt;
Great thanks to the folks at #couchdb channel (nslater, jan,...)&lt;br /&gt;
And to &lt;a href=&quot;http://blogs.nemein.com/people/piotras/&quot;&gt;Piotras&lt;/a&gt;  
&lt;/p&gt;</description>
            <author>Admin &lt;&gt;</author>
            <category>maemo</category>
            <pubDate>Wed, 23 Jan 2008 19:35:49 +0000</pubDate>
            <guid>http://protoblogr.net/midcom-permalink-66aa02c8c9ea11dcb4d22f9fb54992de92de</guid>
        </item>
        <item>
            <title>First set of Erlang packages for Maemo</title>
            <link>http://protoblogr.net/blog/view/first_set_of_erlang_packages_for_maemo.html</link>
            <description>
&lt;p&gt;
Last night I finally was able to do successful packages and installation on my N800.
&lt;/p&gt;
&lt;p&gt;
First set (N800/N810) can be downloaded here: &lt;a href=&quot;http://protoblogr.net/downloads/erlang/&quot;&gt;http://protoblogr.net/downloads/erlang/&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
I&amp;#39;ll upload rest of the deps as I get to the office. Also I&amp;#39;m currently buildin ICU which is also needed by CouchDB. Hopefully today I have working native Ajatus on my N800.&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;UPDATE:&lt;/strong&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
Just uploaded rest of the package files. Also there is packages for ICU.&lt;br /&gt;
I&amp;#39;m currently trying to get CouchDB to work, but still have some minor problems with it.&lt;br /&gt;
&lt;br /&gt;
For basic usage of erlang one could only install the erlang-base and erlang-nox packages...
&lt;/p&gt;</description>
            <author>Jerry Jalava &lt;jerry.jalava@gmail.com&gt;</author>
            <category>maemo</category>
            <pubDate>Wed, 23 Jan 2008 06:48:56 +0000</pubDate>
            <guid>http://protoblogr.net/midcom-permalink-44d9f6fac97f11dc9b0b21daf5f9d766d766</guid>
        </item>
        <item>
            <title>Packaging Erlang for maemo</title>
            <link>http://protoblogr.net/blog/view/packaging_erlang_for_maemo.html</link>
            <description>
&lt;p&gt;
I was able to package Erlang for X86 target but collided with some segfaults on Armel. It seems the problem is the qemu and after a while trying to patch it I gave up for tonight. Have to continue tomorrow night.
&lt;/p&gt;
&lt;p&gt;
Anyhow we aren&amp;#39;t that far of getting CouchDB and Ajatus to work natively on Nokia n800/n810...
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;&lt;img src=&quot;http://protoblogr.net/midcom-serveattachmentguid-a316a174c7ad11dc96185b713c0482ff82ff/erlang_x86.jpg&quot; border=&quot;0&quot; alt=&quot;erlang_x86.jpg&quot; title=&quot;erlang_x86.jpg&quot; width=&quot;494&quot; height=&quot;311&quot; /&gt; 
&lt;/p&gt;</description>
            <author>Jerry Jalava &lt;jerry.jalava@gmail.com&gt;</author>
            <category>maemo</category>
            <pubDate>Sun, 20 Jan 2008 23:16:36 +0000</pubDate>
            <guid>http://protoblogr.net/midcom-permalink-bf5e3928c7ad11dc9e5ebb640fd9f780f780</guid>
        </item>
        <item>
            <title>I shouldn't browse the web</title>
            <link>http://protoblogr.net/blog/view/i_shouldn-t_browse_the_web.html</link>
            <description>
&lt;p&gt;
Few nights ago while I was searching for Erlang resources in the big web I came across interesting project &lt;a href=&quot;http://haxe.org/&quot;&gt;HaXe&lt;/a&gt;.&lt;br /&gt;
After few hours of reading I was sold. I started testing with different options and had an idea for a project... CouchBrowser.
&lt;/p&gt;
&lt;p&gt;
CouchBrowser is cross platform &lt;a href=&quot;http://www.couchdb.org/&quot;&gt;CouchDB&lt;/a&gt;  administrating utility which runs as standalone app. User interface is built with flex for sleek looks. Backend is written with haXe and ActionScript.&lt;br /&gt;
So currently I&amp;#39;m building CouchDb library for haXe similar to my other project &lt;a href=&quot;http://plugins.jquery.com/project/jqcouch&quot;&gt;jqCouch&lt;/a&gt;.&lt;br /&gt;
Planned features for the CouchBrowser are atleast the same functionality as the couch&amp;#39;s own browser based utility plus some export/import features.
&lt;/p&gt;
&lt;p&gt;
I&amp;#39;ll put up some project site for this as it matures a bit and I get more time to work with it.
&lt;/p&gt;
&lt;p&gt;
Here is a screenshot of the app (v0.0.1)
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;&lt;a href=&quot;http://protoblogr.net/midcom-serveattachmentguid-14bbc826c41211dc926259440cfde2c8e2c8/couchbrowser.png&quot; target=&quot;_blank&quot; title=&quot;Zoom&quot;&gt;&lt;img src=&quot;http://protoblogr.net/midcom-serveattachmentguid-14bbc826c41211dc926259440cfde2c8e2c8/couchbrowser.png&quot; border=&quot;0&quot; alt=&quot;CouchBrowser.png&quot; title=&quot;CouchBrowser.png&quot; width=&quot;435&quot; height=&quot;344&quot; /&gt;&lt;/a&gt; 
&lt;/p&gt;</description>
            <author>Jerry Jalava &lt;jerry.jalava@gmail.com&gt;</author>
            <category>couchdb</category>
            <pubDate>Wed, 16 Jan 2008 09:06:23 +0000</pubDate>
            <guid>http://protoblogr.net/midcom-permalink-4f75be22c41211dca13cdbe4d6185c6c5c6c</guid>
        </item>
    </channel>
</rss>