<?xml version="1.0"?>
<!-- name="generator" content="blosxom/2.0.2" -->
<!DOCTYPE rss PUBLIC "-//Netscape Communications//DTD RSS 0.91//EN" "http://my.netscape.com/publish/formats/rss-0.91.dtd">

<rss version="0.91">
  <channel>
    <title>NunoNunes.org   </title>
    <link>http://nunonunes.org</link>
    <description>Notes, thoughts, code, music, ideas, rants, photos, weblog, video, geek stuff, games, Perl, travelling...</description>
    <language>en</language>

  <item>
    <title>CPAN search on Firefox</title>
    <link>http://nunonunes.org/2008/04/18#cpan_search_on_firefox</link>
    <description>&lt;p&gt;Adding a new search engine plugin for &lt;a href=&quot;http://search.cpan.org/&quot;&gt;CPAN&lt;/a&gt; to &lt;a href=&quot;http://firefox.com/&quot;&gt;Firefox&lt;/a&gt; is actually pretty easy, so I&amp;#8217;ll write it down here in order not to forget it.&lt;/p&gt;

&lt;p&gt;You just have to edit a file by the name of &lt;code&gt;CPAN.xml&lt;/code&gt; (or something similar that strikes your fancy) and stick it in firefoxe&amp;#8217;s &lt;code&gt;searchplugins&lt;/code&gt; directory. You might find it somewhere around &lt;code&gt;/usr/lib/firefox-XX/searchplugins&lt;/code&gt; or, better yet, in you own homedir at &lt;code&gt;.mozilla/firefox/XXXXXX.default/searchplugins&lt;/code&gt;).&lt;/p&gt;

&lt;p&gt;Enter the following content into the file:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;OpenSearchDescription xmlns=&quot;http://a9.com/-/spec/opensearch/1.1/&quot; xmlns:moz=&quot;http://www.mozilla.org/2006/browser/search/&quot;&amp;gt;
&amp;lt;ShortName&amp;gt;CPAN&amp;lt;/ShortName&amp;gt;
&amp;lt;Description&amp;gt;Comprehensive Perl Archive Network&amp;lt;/Description&amp;gt;
&amp;lt;InputEncoding&amp;gt;UTF-8&amp;lt;/InputEncoding&amp;gt;
&amp;lt;Image width=&quot;16&quot; height=&quot;16&quot;&amp;gt;data:image/x-icon,%00%00%01%00%01%00%10%10%00%00%00%00%00%00(%01%00%00%16%00%00%00(%00%00%00%10%00%00%00%20%00%00%00%01%00%04%00%00%00%00%00%C0%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%FF%FF%FF%00%7B%00%00%00%00%7B%00%00%7B%7B%00%00%00%00%7B%00%7B%00%7B%00%00%7B%7B%00%BD%BD%BD%00%7B%7B%7B%00%FF%00%00%00%00%FF%00%00%FF%FF%00%00%00%00%FF%00%FF%00%FF%00%00%FF%FF%00%00%00%00%00%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%F0%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF%FF3l%FC%BF%EF%18%E6%D7%EB%F0%F6%DB%00%00%FA%E9%00%02%F8%C3al%FC%03te%F8%02Co%F0%02r%20%E0%01%5C%D0%E0%03%11%00%E6%0F%BF%E6'%1F%00%02%07%FF%00%06%87%FF2%80%E3%FF1%E0&amp;lt;/Image&amp;gt;
&amp;lt;Url type=&quot;text/html&quot; method=&quot;GET&quot; template=&quot;http://search.cpan.org/search?mode=all&amp;amp;amp;query={searchTerms}&quot;/&amp;gt;
&amp;lt;moz:SearchForm&amp;gt;searchFormURL&amp;lt;/moz:SearchForm&amp;gt;
&amp;lt;/OpenSearchDescription&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;The long line there is the funny little camel picture, and it must not be broken up.&lt;/p&gt;

&lt;p&gt;It is actually trivial to create plugins to almost any search engine you can think of, this is just a good example that is handy for me. &lt;br /&gt;
If you need to add any extra parameters or so to the search, you can find the
documentation for the search plugins at the &lt;a href=&quot;http://developer.mozilla.org/en/docs/Creating_OpenSearch_plugins_for_Firefox&quot;&gt;mozilla developer
center&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Note: Credit where it is due, I found the original example &lt;a href=&quot;http://groups.google.com/group/comp.lang.perl.misc/browse_thread/thread/2e5ad1cb25569ea9/44318577d969b032?lnk=gst&quot;&gt;here&lt;/a&gt; and pretty much copied it over to this post with the minor fix of substituting the &lt;em&gt;&amp;amp;&lt;/em&gt; &lt;code&gt;Url&lt;/code&gt; element for the encoded version (&lt;em&gt;&amp;amp;amp;&lt;/em&gt;).&lt;/p&gt;
</description>
  </item>
  <item>
    <title>Guncho</title>
    <link>http://nunonunes.org/2008/04/18#guncho</link>
    <description>&lt;p&gt;Amazingly enough, in this day and age there are still some people creating moo/mud-like virtual worlds.&lt;/p&gt;

&lt;p&gt;This year&amp;#8217;s (2008) April&amp;#8217;s fools day &lt;a href=&quot;http://guncho.com&quot;&gt;Guncho&lt;/a&gt; was introduced (announcement
&lt;a href=&quot;http://groups.google.com/group/rec.arts.int-fiction/browse_frm/thread/c2de0832846ca71e#&quot;&gt;here&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;It is located at &lt;code&gt;guncho.game-host.org 4108&lt;/code&gt; and you can create your own character at &lt;a href=&quot;http://cp.guncho.com/&quot;&gt;http://cp.guncho.com/&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The wiki with all the info about the &amp;#8220;&lt;em&gt;game&lt;/em&gt;&amp;#8221; is at &lt;a href=&quot;http://wiki.guncho.com/&quot;&gt;http://wiki.guncho.com/&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The concept is interesting enough: any player can create &lt;em&gt;realms&lt;/em&gt; for others to play in and the goal is essentially to implement a virtual reality base for people to create their &lt;a href=&quot;http://en.wikipedia.org/wiki/Interactive_fiction&quot;&gt;interactive fiction&lt;/a&gt; with others. &lt;br /&gt;
Yes, it&amp;#8217;s been done a long time ago on many a MU[D|OO|SH]. Still, the fact that nowadays someone actually created something like this with only a text interface intrigues me deeply.&lt;/p&gt;

&lt;p&gt;I plan to take a closer look at this virtual world and if it turns out to be as interesting as it sounds, I&amp;#8217;ll be taking some notes here.&lt;/p&gt;
</description>
  </item>
  <item>
    <title>London Perl Workshop 2007</title>
    <link>http://nunonunes.org/2007/12/01#lpw2007</link>
    <description>&lt;p&gt;These are a few notes I&amp;#8217;ve taken during the presentations I attended at the &lt;a href=&quot;http://conferences.yapceurope.org/lpw2007/index.html&quot;&gt;2007 edition of the London Perl Workshop&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;Scaling with memcached (Leon Brocard [acme])&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Don&amp;#8217;t underestimate the fact that this is a cache, not a database &amp;#8212;can&amp;#8217;t dump, can&amp;#8217;t iterate over keys, not persistant, not redundant, etc.&lt;/li&gt;
&lt;li&gt;TTL is good, invalidation is bad (which means things &lt;em&gt;will get&lt;/em&gt; out of date)&lt;/li&gt;
&lt;li&gt;Tuning is done with TTL, cache sizes&lt;/li&gt;
&lt;li&gt;Uses memory, not so much CPU&lt;/li&gt;
&lt;li&gt;Easily distributed (over servers, CPUs, etc)&lt;/li&gt;
&lt;li&gt;Limits set by default are small, change them!&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Catalyst quick start (Matt Trout)&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Not a &amp;#8220;do it fast&amp;#8221; approach to stuff, a bit more work to get started, but supposedly better at tackling &lt;em&gt;your&lt;/em&gt; problem&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cpan Catalyst::Devel&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;App scaffolding: &lt;code&gt;catalyst.pl Project&lt;/code&gt; - very basic&amp;#8230;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;Catalyst is basically just a component loader and a URI dispatcher&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;UTF8 out-of-the-box (&lt;code&gt;DBIx::Class&lt;/code&gt; may be helpful)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Controllers (URI dispatching)&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;:Local&lt;/code&gt;, &lt;code&gt;:Global&lt;/code&gt;, &lt;code&gt;:Regex&lt;/code&gt;, &lt;code&gt;:LocalRegex&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;:Chained&lt;/code&gt; -&gt; powerful enough to implement almost everything else&amp;#8230;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Models&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;DBIx&lt;/li&gt;
&lt;li&gt;Not the point of this tutorial, JFGI&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Views&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Template Toolkit is widely used&lt;/li&gt;
&lt;li&gt;&lt;code&gt;HTML::Mason&lt;/code&gt; (ouch!)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;HTML::Template&lt;/code&gt; (too simple for most stuff?)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Deployment&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;mod_perl is OK, but probably overkill&lt;/li&gt;
&lt;li&gt;FastCGI is perfect for new stuff that only uses Catalyst&lt;/li&gt;
&lt;/ul&gt;
</description>
  </item>
  <item>
    <title>Massas chinesas com &amp;#8220;coisas&amp;#8221;</title>
    <link>http://nunonunes.org/2007/10/07#massas_chinesas_com_coisas</link>
    <description>&lt;p&gt;Mais uma receita fácil, para principiantes quase completos (como eu). &lt;br /&gt;
Desta vez a receita foi inventada um dia que estava a olhar para o que tinha em casa para fazer o jantar. É rápida de fazer e embora eu liste os ingredientes que utilizei, é muito fácil alterar para incluir o que houver à mão. &lt;br /&gt;
Também foi uma óptima maneira de estrear o meu wok novinho em folha! :-) Mas é óbvio que pode ser feito em qualquer outro utensílio do género.&lt;/p&gt;

&lt;p&gt;A quantidade que fiz foi para um. Ou melhor, deveria ter sido, mas não se pode dizer que tenha acertado muito bem com as quantidades e acabei por comer por dois!&lt;/p&gt;

&lt;h2&gt;Ingredientes&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Massa chinesa com ovos&lt;/li&gt;
&lt;li&gt;Cogumelos frescos&lt;/li&gt;
&lt;li&gt;Um ovo&lt;/li&gt;
&lt;li&gt;Toucinho fumado cortado em pedaços&lt;/li&gt;
&lt;li&gt;Óleo de cozinhar (penso que óleo de amendoim será o melhor, mas à falta desse o óleo Fula serviu-me muito bem)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/nunonunes/1509053154/&quot; title=&quot;Photo Sharing&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2068/1509053154_efd68cd949_m.jpg&quot; width=&quot;159&quot; height=&quot;240&quot; alt=&quot;Noodles and egg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/nunonunes/1508198583/&quot; title=&quot;Photo Sharing&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2187/1508198583_5f954667ce_m.jpg&quot; width=&quot;240&quot; height=&quot;159&quot; alt=&quot;Smoked ham&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Confecção&lt;/h2&gt;

&lt;p&gt;Bater um ovo para fritar mais tarde.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/nunonunes/1509056320/&quot; title=&quot;Photo Sharing&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2116/1509056320_5663726e26_m.jpg&quot; width=&quot;240&quot; height=&quot;159&quot; alt=&quot;Scrambled egg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Lavar bem os cogumelos e cortá-los em lâminas.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/nunonunes/1508197047/&quot; title=&quot;Photo Sharing&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2070/1508197047_fd4f06da5f_m.jpg&quot; width=&quot;159&quot; height=&quot;240&quot; alt=&quot;Fresh mushrooms&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;De seguida dar-lhes uma &lt;em&gt;entaladela&lt;/em&gt; no wok (esta é uma descoberta recente minha: dar uma &lt;em&gt;entaladela&lt;/em&gt; nos cogumelos significa passá-los numa frigideira &amp;#8212;ou semelhante&amp;#8212;, com algum sal, até eles perderem a sua água), com cuidado para não abusar do sal!&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/nunonunes/1509057050/&quot; title=&quot;Photo Sharing&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2384/1509057050_635c6d0094_m.jpg&quot; width=&quot;240&quot; height=&quot;159&quot; alt=&quot;Mushrooms on the wok&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/nunonunes/1508200883/&quot; title=&quot;Photo Sharing&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2284/1508200883_3f17d6c77f_m.jpg&quot; width=&quot;240&quot; height=&quot;159&quot; alt=&quot;Suet it off, you mushrooms!&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Pôr os cogumelos de parte, deitar algum óleo no wok e deixar aquecer bem.&lt;/p&gt;

&lt;p&gt;Fritar um pouco o toucinho fumado, fazendo-o perder um pouco da sua gordura e colocar de lado, junto dos cogumelos (retirando com cuidado de modo e evitar levar óleo junto).&lt;/p&gt;

&lt;p&gt;Deitar o ovo no wok e mexer rapidamente, garantindo que ele fica todo &amp;#8220;desfeito&amp;#8221; em pedaços.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/nunonunes/1509059146/&quot; title=&quot;Photo Sharing&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2062/1509059146_cb76d72068_m.jpg&quot; width=&quot;240&quot; height=&quot;159&quot; alt=&quot;Fried egg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Retirar cuidadosamente os pedaços de ovo (para evitar levar óleo) e colocá-los junto dos cogumelos e do toucinho.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/nunonunes/1509060802/&quot; title=&quot;Photo Sharing&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2373/1509060802_500b10362b_m.jpg&quot; width=&quot;240&quot; height=&quot;159&quot; alt=&quot;&amp;quot;Stuff&amp;quot; for the noodles&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Entretanto (ou &lt;em&gt;depois&lt;/em&gt; de tudo o que se fez acima, caso seja muito complicado estar a fazer tudo ao mesmo tempo &amp;#8212;eu declaro-me culpado!) ferve-se água suficiente para cobrir toda a massa que se quer fazer e &lt;strong&gt;enquanto ela ainda ferve&lt;/strong&gt; despeja-se por cima das massas.&lt;/p&gt;

&lt;p&gt;Espera-se 5 minutos (ou o tempo indicado no pacote, mas geralmente é muito pouco), mexendo com um garfo no final, para ajudar a desembaraçar, até ficarem &lt;em&gt;al dente&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/nunonunes/1509059968/&quot; title=&quot;Photo Sharing&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2378/1509059968_289c811771_m.jpg&quot; width=&quot;240&quot; height=&quot;159&quot; alt=&quot;Al dente&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Passado este tempo, escorre-se bem as massas e, enquanto elas escorrem, aquece-se de novo o óleo e coloca-se as &amp;#8220;coisas&amp;#8221; no wok para fritarem mais um pouco em conjunto (se não se tiver deixado arrefecer muito os ingredientes não é necessário dar muito tempo a esta fritura).&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/nunonunes/1508205455/&quot; title=&quot;Photo Sharing&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2386/1508205455_6c233577fa_m.jpg&quot; width=&quot;240&quot; height=&quot;159&quot; alt=&quot;Dried-up noodles&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/nunonunes/1509061654/&quot; title=&quot;Photo Sharing&quot;&gt;&lt;img src=&quot;http://farm1.static.flickr.com/249/1509061654_7c01b74eba_m.jpg&quot; width=&quot;240&quot; height=&quot;159&quot; alt=&quot;The &amp;quot;stuff&amp;quot; waiting for the noodles&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Quando as massas estiverem bem escorridas e as &amp;#8220;coisas&amp;#8221; quentes no wok, acrescenta-se as massas ao wok e deixa-se fritar (sim, é suposto &lt;em&gt;fritar&lt;/em&gt; as massas) mexendo sempre muito bem.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/nunonunes/1508206287/&quot; title=&quot;Photo Sharing&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2251/1508206287_6e48d97831_m.jpg&quot; width=&quot;240&quot; height=&quot;159&quot; alt=&quot;Mixed-in&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Remexer e misturar o melhor possível, evitando partir a massa toda.&lt;/p&gt;

&lt;p&gt;O &amp;#8220;truque&amp;#8221; de misturar tudo atirando a comida ao ar dá um aspecto de &amp;#8220;cromo da cozinha&amp;#8221;, é muito giro e ajuda realmente a misturar melhor as coisas, no entanto se por azar se falhar a recepção, pode correr muito mal e dar aso a uma bela noite de limpezas, a tentar lavar o óleo que saltou para todo o lado.&lt;/p&gt;

&lt;p&gt;Com o wok a coisa é mais fácil e eu, até hoje, não tenho experiências negativas com esta brincadeira, mas tudo depende da coragem e jeitinho de cada um.&lt;/p&gt;

&lt;p&gt;Eu avisei! ;-)&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/nunonunes/1508207065/&quot; title=&quot;Photo Sharing&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2373/1508207065_5f2fc0e20c_m.jpg&quot; width=&quot;240&quot; height=&quot;159&quot; alt=&quot;Mixed-in&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Quando a massa estiver dourada e/ou estivermos fartos de mexer, pode-se acrescentar um pouco de molho de soja (cuidado que o prato já deve ser algo salgado, não abusar deste molho) ou, no meu caso e porque não tinha molho de soja, um pouco de Worcestershire sauce (vulgo &lt;em&gt;&amp;#8220;molho inglês&amp;#8221;&lt;/em&gt;) serviu perfeitamente &amp;#8212;como disse no início, isto foi inventado com o que tinha à mão&amp;#8230;&lt;/p&gt;

&lt;p&gt;Servir.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/nunonunes/1509064954/&quot; title=&quot;Photo Sharing&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2136/1509064954_bfd6100547_m.jpg&quot; width=&quot;240&quot; height=&quot;159&quot; alt=&quot;Noodles with &amp;quot;stuff&amp;quot; - huge quantity&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Comer.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/nunonunes/1508209535/&quot; title=&quot;Photo Sharing&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2254/1508209535_055d8e5569_m.jpg&quot; width=&quot;240&quot; height=&quot;159&quot; alt=&quot;Noodles with stuff&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;E, se tudo correu bem, o prato deve ficar bem limpo.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/nunonunes/1509067418/&quot; title=&quot;Photo Sharing&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2220/1509067418_8a0ac9e59b_m.jpg&quot; width=&quot;240&quot; height=&quot;159&quot; alt=&quot;Finito!&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Finalmente, para acompanhar eu  pessoalmente recomendo um chá forte (pois o sabor destes ingredientes é também bastante forte). No meu caso um Assam bem escuro caiu muito bem.&lt;/p&gt;

&lt;p&gt;Todas as fotos podem ser vistas &lt;a href=&quot;http://flickr.com/photos/nunonunes/sets/72157602303403286/&quot;&gt;aqui no flickr&lt;/a&gt;.&lt;/p&gt;
</description>
  </item>
  <item>
    <title>Kafka On The Shore by Haruki Murakami</title>
    <link>http://nunonunes.org/2007/10/07#kafka_on_the_shore</link>
    <description>&lt;p&gt;It seems strange to me now, but I&amp;#8217;ve only found out about &lt;a href=&quot;http://www.murakami.ch/&quot;&gt;Murakami&lt;/a&gt;&amp;#8217;s work a few weeks ago. Since then I&amp;#8217;ve learned that everybody and his mother has been into it for quite a long time.&lt;/p&gt;

&lt;p&gt;But anyway, my first encounter with this author was (as recommended by a friend) with the book &lt;a href=&quot;http://en.wikipedia.org/wiki/Kafka_on_the_Shore&quot;&gt;Kafka On The Shore&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I usually like to read books in the language they were originally written in but in this case I did have to make an exception (sadly I don&amp;#8217;t read japanese at all). but it wasn&amp;#8217;t all that bad because as I found out in the mean time, &lt;a href=&quot;http://www.murakami.ch/&quot;&gt;Murakami&lt;/a&gt; is not only a writer but also (among many other things he does) he is a translator &amp;#8212;especially of novels and literature&amp;#8212; and he either translated or oversaw the translation of most (all?) of his novels into english, this one included, I think, so I&amp;#8217;m quite sure that what I read was as close to what he wanted to write as possible (given that you can never have a perfect match, of course).&lt;/p&gt;

&lt;p&gt;So what&amp;#8217;s the book like? &lt;br /&gt;
Well, I can definitely see why there are so many people who love it. The story is interesting, with a really great pace and easy to follow. Up to a point.&lt;/p&gt;

&lt;p&gt;Of course there are some things which are quite alien to me because of culture differences, but those don&amp;#8217;t really bother or take back from the pleasure of reading the book &amp;#8212;quite the contrary.&lt;/p&gt;

&lt;p&gt;So I liked the overall experience and read up the whole thing rather fast.&lt;/p&gt;

&lt;p&gt;My only complain is that the very ending feels rather rushed-through, as if he somehow got to a point where he just had to finish up the book in a set number of pages and since he had gotten carried away before, he was now pressed for time and space and had to quicken up the pace quite a bit and also leave a few loose strands that never got quite tied up. &lt;br /&gt;
It felt like finishing up the story was a bit of a rush job and I was expecting a few things to fall into place which didn&amp;#8217;t and I also felt like a few other elements were introduced right before the last chapters that could &amp;#8212;and should&amp;#8212; have been explored a bit further, but that just got lost in the rush to close everything up. &lt;br /&gt;
Of course, I might just be needing to read it again and see how the pieces fall together now &amp;#8212;something that the author recommends doing anyway. Maybe I will do it someday and update these musings then&amp;#8230;&lt;/p&gt;

&lt;p&gt;In the end I found it a pretty entertaining read. It is not heavy reading or full-blown &amp;#8220;serious&amp;#8221; literature, but it is a good book that guarantees a few good hours of quite pleasurable entertainment.&lt;/p&gt;

&lt;p&gt;Author: &lt;a href=&quot;http://www.murakami.ch/&quot;&gt;Haruki Murakami&lt;/a&gt; &lt;br /&gt;
Book: &lt;a href=&quot;http://en.wikipedia.org/wiki/Kafka_on_the_Shore&quot;&gt;Kafka On The Shore&lt;/a&gt;&lt;/p&gt;
</description>
  </item>
  <item>
    <title>Day 4 of the European Open Source Convention 2006</title>
    <link>http://nunonunes.org/2006/09/21#day4</link>
    <description>&lt;p&gt;These are the notes I&amp;#8217;ve taken during the talks on the fourth and final day of the &lt;a href=&quot;http://conferences.oreillynet.com/euos2006/&quot;&gt;2006 edition&lt;/a&gt; of the &lt;a href=&quot;http://www.oreilly.com/&quot;&gt;O&amp;#8217;Reilly&lt;/a&gt; European Open Source Convention (better known as &lt;a href=&quot;http://conferences.oreillynet.com/euos2006/&quot;&gt;EuroOSCON 2006&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;You can get to the index page for my notes on this conference &lt;a href=&quot;/notebook/eurooscon2006/&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;The Conway channel&lt;/h2&gt;

&lt;p&gt;Speaker: Damian Conway&lt;/p&gt;

&lt;h3&gt;List::Maker&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;In Perl6 we have &lt;code&gt;@bitmap = (0) x 256;_ becomes _@bitmap = 0 xx 256;&lt;/code&gt; and many other things, but for Perl5 we have List::Maker&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;for (&amp;lt;@list&amp;gt;)&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;for (&amp;lt; ^@list&amp;gt; )&lt;/code&gt; (count down)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;my @list = &amp;lt;1, 4, ..30: !/13/&amp;gt;;&lt;/code&gt; (1 to 30, 3 by 3, but not 13)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;my @list = &amp;lt;yada yeda 'hello world' hello&amp;gt;;&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;my @list = &amp;lt; 46d &amp;gt;;&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Extensible by using the &lt;code&gt;add_handler&lt;/code&gt; funcion&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;New version up on CPAN in a day or two&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Contextual::Return&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Designed to solve the wantarray problem&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Examples:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;use Contextual::return;
sub yada (){
    ...
    if (LIST) return X;
    if (ARRAY) return Y;
}


...
return
    LIST { @list }
    BOOL { 1 }
    STR { &quot;hello&quot; }
    VOID { die &quot;huh?&quot; }
&lt;/code&gt;&lt;/pre&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;return FAIL;&lt;/code&gt; =&gt; if it is called in a &lt;em&gt;BOOLEAN&lt;/em&gt; context return undef, else die. This means that &lt;code&gt;open FH 'file';&lt;/code&gt; now dies (as it should) because I&amp;#8217;m not checking the return value&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Douglas Engelbart&amp;#8217;s Hyperscope: Taking Web collaboration to the Next Level using Ajax and Dojo&lt;/h2&gt;

&lt;p&gt;Speaker: Brad Neuberg&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.bootstrap.org/augdocs/friedewald030402/augmentinghumanintellect/ahi62index.html&quot;&gt;&lt;em&gt;Augmenting The Human Intellect&lt;/em&gt;&lt;/a&gt; - Paper to read (1962!!)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Tools for thinking:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Language ( 40,000 years? )&lt;/li&gt;
&lt;li&gt;Writing ( 3,500 - 6,000 years? )&lt;/li&gt;
&lt;li&gt;Computers ( &gt;= 1950 )&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Systems Thinking&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Tools&lt;/li&gt;
&lt;li&gt;Humans&lt;/li&gt;
&lt;li&gt;Training (no training is good, implicit training should suffice, but training get you further, faster)&lt;/li&gt;
&lt;li&gt;Language (a way of conveying symbols, not just words)&lt;/li&gt;
&lt;li&gt;Methodology (take what you&amp;#8217;ve already got and use it in new ways)&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Capabilities (all 5 parts of the systems have capabilities)&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Can be broken down&lt;/li&gt;
&lt;li&gt;Work together&lt;/li&gt;
&lt;li&gt;Some are more &lt;em&gt;core&lt;/em&gt; than others&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Look at tools and humans holistically&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://hyperscope.org/&quot;&gt;http://hyperscope.org/&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;!-- technorati tags start --&gt;&lt;p style=&quot;text-align:right;font-size:10px;&quot;&gt;Technorati Tags: &lt;a href=&quot;http://www.technorati.com/tag/eurooscon&quot; rel=&quot;tag&quot;&gt;EuroOSCON&lt;/a&gt;, &lt;a href=&quot;http://www.technorati.com/tag/eurooscon06&quot; rel=&quot;tag&quot;&gt;EuroOSCON06&lt;/a&gt;, &lt;a href=&quot;http://www.technorati.com/tag/eurooscon2006&quot; rel=&quot;tag&quot;&gt;EuroOSCON2006&lt;/a&gt;&lt;/p&gt;&lt;!-- technorati tags end --&gt;
</description>
  </item>
  <item>
    <title>Day 3 of the European Open Source Convention 2006</title>
    <link>http://nunonunes.org/2006/09/20#day3</link>
    <description>&lt;p&gt;These are the notes I&amp;#8217;ve taken during the talks on the third day of the &lt;a href=&quot;http://conferences.oreillynet.com/euos2006/&quot;&gt;2006 edition&lt;/a&gt; of the &lt;a href=&quot;http://www.oreilly.com/&quot;&gt;O&amp;#8217;Reilly&lt;/a&gt; European Open Source Convention (better known as &lt;a href=&quot;http://conferences.oreillynet.com/euos2006/&quot;&gt;EuroOSCON 2006&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;You can get to the index page for my notes on this conference &lt;a href=&quot;/notebook/eurooscon2006/&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;Jabber: the state of the bulb&lt;/h2&gt;

&lt;p&gt;Speaker: Peter Saint-Andre&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Jabber is powered by streaming XML&lt;/li&gt;
&lt;li&gt;Streaming bits on real time everywhere, more like a real-time Internet-supported application server really&lt;/li&gt;
&lt;li&gt;Use your own namespaces to send/receive most anything you want&lt;/li&gt;
&lt;li&gt;All open-standards&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Dare, Care &amp;amp; Share&lt;/h2&gt;

&lt;p&gt;Speaker: Tor Nørretranders&lt;/p&gt;

&lt;h3&gt;Defending the hard path&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Why do people choose to do something that is inherently difficult? (Especially if they choose to do it &lt;em&gt;because&lt;/em&gt; it is difficult&amp;#8230;)&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Potlatch&lt;/em&gt; - The ritual of showing your strength (a village/tribal chief&amp;#8217;s strength) by giving gifts, especially gifts which create waste, which are resource-limited. He who could waste the most was the strongest&lt;/li&gt;
&lt;li&gt;Wasting will advertise your resources&lt;/li&gt;
&lt;li&gt;The natural world works like this also, see the ugly (dangerous) feathers on the peacock&amp;#8217;s tail&lt;/li&gt;
&lt;li&gt;The handicap principle states this same notion (this principle was mathematically proved on the basis that &amp;#8220;genes that go for a silly, costly display have a better chance of reproducing&amp;#8221;)&lt;/li&gt;
&lt;li&gt;Taking something difficult which someone has already done and doing it in a slightly more difficult way will, therefore, make you more appreciated. This will spawn multiple derivations from the original thing and lead to greater &amp;#8220;&lt;em&gt;evolution&lt;/em&gt;&amp;#8221;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Why did the Web create a &lt;em&gt;gift economy&lt;/em&gt;?&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Hau&lt;/em&gt; - The spirit of the gift. Gifts create societies and relationships.&lt;/li&gt;
&lt;li&gt;A gift creates a &amp;#8220;debt&amp;#8221; of sorts because the &lt;em&gt;hau&lt;/em&gt; (the spirit of the gift) will always be trying to get back at the gift giver. In an economic exchange, in contrast, people pay for the good so there is no sense of &amp;#8220;obligation&amp;#8221; afterwards&lt;/li&gt;
&lt;li&gt;We live in a market economy with huge pockets of gift economy:
&lt;ul&gt;
&lt;li&gt;family&lt;/li&gt;
&lt;li&gt;neighbourhood&lt;/li&gt;
&lt;li&gt;friends&lt;/li&gt;
&lt;li&gt;colleagues&lt;/li&gt;
&lt;li&gt;&amp;#8230;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Most of our daily life is centered around the gift economy, as opposed to the market economy&lt;/li&gt;
&lt;li&gt;On an economy of scarcity you show your strength by owning, knowing, closing, etc; on an abundance economy you show strength by giving, showing, sharing&lt;/li&gt;
&lt;/ul&gt;

&lt;!-- technorati tags start --&gt;&lt;p style=&quot;text-align:right;font-size:10px;&quot;&gt;Technorati Tags: &lt;a href=&quot;http://www.technorati.com/tag/eurooscon&quot; rel=&quot;tag&quot;&gt;EuroOSCON&lt;/a&gt;, &lt;a href=&quot;http://www.technorati.com/tag/eurooscon06&quot; rel=&quot;tag&quot;&gt;EuroOSCON06&lt;/a&gt;, &lt;a href=&quot;http://www.technorati.com/tag/eurooscon2006&quot; rel=&quot;tag&quot;&gt;EuroOSCON2006&lt;/a&gt;&lt;/p&gt;&lt;!-- technorati tags end --&gt;
</description>
  </item>
  <item>
    <title>Day 2 of the European Open Source Convention 2006</title>
    <link>http://nunonunes.org/2006/09/19#day2</link>
    <description>&lt;p&gt;These are the notes I&amp;#8217;ve taken during the talks on the second day of the &lt;a href=&quot;http://conferences.oreillynet.com/euos2006/&quot;&gt;2006 edition&lt;/a&gt; of the &lt;a href=&quot;http://www.oreilly.com/&quot;&gt;O&amp;#8217;Reilly&lt;/a&gt; European Open Source Convention (better known as &lt;a href=&quot;http://conferences.oreillynet.com/euos2006/&quot;&gt;EuroOSCON 2006&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;You can get to the index page for my notes on this conference &lt;a href=&quot;/notebook/eurooscon2006/&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;Microformats: Web of Data&lt;/h2&gt;

&lt;p&gt;Speaker: &lt;a href=&quot;http://suda.co.uk/&quot;&gt;Brian Suda&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;(&lt;em&gt;missed some of the initial content, must link to slides which are on-line on the speaker&amp;#8217;s website&lt;/em&gt;)&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Microformats are &amp;#8220;&lt;em&gt;people first, machines, second&lt;/em&gt;&amp;#8221;&lt;/li&gt;
&lt;li&gt;Embedded in HTML &amp;#8220;&lt;em&gt;overloading&lt;/em&gt;&amp;#8221; the tags that are already there&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Compound Microformats&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;hCard: Information on people&lt;/li&gt;
&lt;li&gt;hCalendar: Information about events (calendaring)&lt;/li&gt;
&lt;li&gt;hAtom: Information about feeds&lt;/li&gt;
&lt;li&gt;hReview: Reviewing events, etc&amp;#8230;&lt;/li&gt;
&lt;li&gt;hResume: Your resume&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Why encode things in HTML directly?&lt;/h3&gt;

&lt;p&gt;(Ex: hAtom) If it is in HTML it is easier to later convert it to other things, the semantics are all in HTML, human-readable, and then a &amp;#8220;semantic cook&amp;#8221; comes in and transforms it into whatever you want&lt;/p&gt;

&lt;p&gt;Provides &amp;#8220;&lt;em&gt;Unix piping for the Web&lt;/em&gt;&amp;#8221;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;HTML | WebService | &lt;/li&gt;
&lt;li&gt;HTML | Tidy | Proxy Service | Mapping&lt;/li&gt;
&lt;li&gt;HTML | &amp;#8230;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Basically allows us to maintain everything (people, calendars, &amp;#8230;) in a single format &amp;#8212;HTML&amp;#8212; by &amp;#8220;overloading&amp;#8221; the HTML markup elements such as &lt;em&gt;span&lt;/em&gt;, &lt;em&gt;class&lt;/em&gt;, &amp;#8230;&lt;/p&gt;

&lt;h2&gt;Project honsting on Google Code&lt;/h2&gt;

&lt;p&gt;Speaker: &lt;a href=&quot;&quot;&gt;Greg Stein&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://code.google.com/&quot;&gt;Google Code&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Up now:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Simple interface, &lt;em&gt;no advertising&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Gmail-like issue tracking&lt;/li&gt;
&lt;li&gt;Scalable Subversion repository (supported on bigtable)&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Coming soon:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;File Downloads&lt;/li&gt;
&lt;li&gt;Issue change notifications&lt;/li&gt;
&lt;li&gt;&amp;#8230;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Cool Tools for Geographic Applications&lt;/h2&gt;

&lt;p&gt;Speaker: Schuyler Erle&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://labs.metacarta.com/&quot;&gt;http://labs.metacarta.com/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Using MetaCarta technology for nothing (or close to).&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;GIS and the Neogeographer: Neogeography is &lt;em&gt;not&lt;/em&gt; GIS, it is about GPS, Google Maps, Mashups, etc&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;OpenLayers&lt;/h3&gt;

&lt;p&gt;&lt;a href=&quot;http://openlayers.org/&quot;&gt;http://openlayers.org/&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;API for building web map apps&lt;/li&gt;
&lt;li&gt;AJAX&lt;/li&gt;
&lt;li&gt;Open source&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Gutenkarte (Using GeoParser)&lt;/h3&gt;

&lt;p&gt;&lt;a href=&quot;http://gutenkarte.org/&quot;&gt;Gutenkarte&lt;/a&gt;
&lt;a href=&quot;http://labs.metacarta.com/&quot;&gt;GeoParser&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Taking text (like a Gutenberg project book), feed it to a &lt;a href=&quot;http://labs.metacarta.com/&quot;&gt;GeoParser API&lt;/a&gt;, getting the place names out of the text and producing a map with all those places marked (with, for example, name sizes linked to the frequency with which each name is referred to)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;The Google Data API&lt;/h2&gt;

&lt;p&gt;Speaker: Frank Mantek&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://code.google.com/apis/gdata/&quot;&gt;http://code.google.com/apis/gdata/&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Data presented in ATOM and RSS formats&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Google kinds&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Calendar provides:
&lt;ul&gt;
&lt;li&gt;event&lt;/li&gt;
&lt;li&gt;time&lt;/li&gt;
&lt;li&gt;status&lt;/li&gt;
&lt;li&gt;&amp;#8230;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Queries&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;REST filter model&lt;/li&gt;
&lt;li&gt;Returns items&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Writing&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Update: &amp;#8220;&lt;em&gt;POST&lt;/em&gt;&amp;#8221; to an URI&lt;/li&gt;
&lt;li&gt;Delete: &amp;#8220;&lt;em&gt;DELETE&lt;/em&gt;&amp;#8221; to an URI&lt;/li&gt;
&lt;li&gt;Insert: &amp;#8220;&lt;em&gt;PUT&lt;/em&gt;&amp;#8221; to an URI&lt;/li&gt;
&lt;/ul&gt;

&lt;!-- technorati tags start --&gt;&lt;p style=&quot;text-align:right;font-size:10px;&quot;&gt;Technorati Tags: &lt;a href=&quot;http://www.technorati.com/tag/eurooscon&quot; rel=&quot;tag&quot;&gt;EuroOSCON&lt;/a&gt;, &lt;a href=&quot;http://www.technorati.com/tag/eurooscon06&quot; rel=&quot;tag&quot;&gt;EuroOSCON06&lt;/a&gt;, &lt;a href=&quot;http://www.technorati.com/tag/eurooscon2006&quot; rel=&quot;tag&quot;&gt;EuroOSCON2006&lt;/a&gt;&lt;/p&gt;&lt;!-- technorati tags end --&gt;
</description>
  </item>
  <item>
    <title>Day 1 of the European Open Source Convention 2006</title>
    <link>http://nunonunes.org/2006/09/18#day1</link>
    <description>&lt;p&gt;These are the notes I&amp;#8217;ve taken during the tutorials on the first day of the &lt;a href=&quot;http://conferences.oreillynet.com/euos2006/&quot;&gt;2006 edition&lt;/a&gt; of the &lt;a href=&quot;http://www.oreilly.com/&quot;&gt;O&amp;#8217;Reilly&lt;/a&gt; European Open Source Convention (better known as &lt;a href=&quot;http://conferences.oreillynet.com/euos2006/&quot;&gt;EuroOSCON 2006&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;You can get to the index page for my notes on this conference &lt;a href=&quot;/notebook/eurooscon2006/&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;Tutorial - Datawarehousing with MySQL&lt;/h2&gt;

&lt;p&gt;Speaker: &lt;a href=&quot;http://transitionpoint.strongspace.com/&quot;&gt;John Paul Ashenfelter&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;Presentation notes&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;It is mandatory to talk to everyone involved and make them agree (or at least understand what they consider) to the common terms. Each person may have a different idea of what something like an &amp;#8220;order&amp;#8221; means. You must make them agree to a single, common definition.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Metadata is king! &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Most of the work is business stuff, not technical&amp;#8230;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Dimension tables may be huge (as in tens or maybe even more than 100 columns). This is normal even if it feels really wrong to the database guy in us and the benefits are worth it. In this case &amp;#8220;redundant is good&amp;#8221;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Federated tables exist since MySQL 5.0.3 and provide &amp;#8220;link&amp;#8221;-like access between tables.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&amp;#8220;Archive&amp;#8221; table type (engine ?) compresses the data on the fly with zlib. It is extremely bad for data warehousing usage because every search implies a full-table scan as there it implements no indexes.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;UUID() function - may be used instead of a simple sequence and generates universally unique IDs.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;PostgreSQL has an OLAP engine (table type?) and so it may be more interesting than MySQL for some types of usage.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Tutorial - Creating Passionate Users&lt;/h2&gt;

&lt;p&gt;Speaker: &lt;a href=&quot;http://headrush.typepad.com/creating_passionate_users/&quot;&gt;Kathy Sierra&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;What is a passionate user and why does it matter?&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;People are only passionate if they are really good at it. Passion creates a higher resolution experience (passionate people experience things much deeper and get a whole lot more out of things they&amp;#8217;re passionate about)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The goal: try to get the users through the following milestones as fast as possible: beginner (sucks), regular (OK), expert (passionate, high-resolution experience). One big problem is that regular users tend to stay there, tend not to upgrade (makes them get back in the beginner &amp;#8220;suck&amp;#8221; zone) and companies tend to think it is OK to have most users as regular users&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;People are/become passionate about the goal (making images, skiing, &amp;#8230;), not the tool (photoshop, the skis, &amp;#8230;). &amp;#8220;&lt;em&gt;What can I do with this&lt;/em&gt;&amp;#8221; vs &amp;#8220;&lt;em&gt;How do I use this&lt;/em&gt;&amp;#8221;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Creating passionate users does not necessarily mean that you mak them kick ass in your product. You can teach/help them get better at something tangentially related to your product and if they get really good at it, they&amp;#8217;ll end up being passionate about &lt;em&gt;your product&lt;/em&gt;. See &amp;#8220;&lt;em&gt;Misattribution of arousal&lt;/em&gt;&amp;#8221; (the brain relates a good/bad feeling to everything that&amp;#8217;s related to the experience &amp;#8212;the whole context&amp;#8212; not just to the thing/action itself)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;What is in the way?&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;The brain&amp;#8217;s irracional &amp;#8220;crap filter&amp;#8221; still thinks that things like programming languages, subjects, etc are really not important, for it the really important things are saving our live from tigers or reproducing.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;What does the brain care about?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Anything unexpected&lt;/li&gt;
&lt;li&gt;Anything not quite right&lt;/li&gt;
&lt;li&gt;Anything different&lt;/li&gt;
&lt;li&gt;Anything scary&lt;/li&gt;
&lt;li&gt;Anything exhilarating (either if we&amp;#8217;re doing it or just watching)&lt;/li&gt;
&lt;li&gt;Beauty&lt;/li&gt;
&lt;li&gt;Young/innocent/helpless&lt;/li&gt;
&lt;li&gt;Playing&lt;/li&gt;
&lt;li&gt;Faces (especially reactions)&lt;/li&gt;
&lt;li&gt;Unresolved situations (curiosity)&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;What does the brain not care and forget?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Anxiety/stress&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;So you have to link things that the brain cares about to the things you want it to pay attention to&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Simple example: &amp;#8220;&lt;em&gt;conversational&lt;/em&gt; beats &lt;em&gt;formal&lt;/em&gt;&amp;#8221; every time! Why? There is no definite answer to that question yet, but the current hypothesis is that when the tone is conversational the brain is tricked into thinking that he is taking part in a conversation and he is wired to participate in it and so it pays attention&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;How do we do that?&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;You need to talk to the brain, not just the mind&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Create a compelling &amp;#8220;vision&amp;#8221; for what it will feel like when the user is kicking ass in it&amp;#8217;s activity. &amp;#8220;&lt;em&gt;Why is it worth going through the pain of being a novice and regular user until I get to expert user?&lt;/em&gt;&amp;#8221;. Before the user uses the product he must know &lt;em&gt;why that is cool&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Is there a clear path to being an expert user? Are we helping them getting there? Do they &lt;em&gt;see&lt;/em&gt; that there is a path and a way?&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&amp;#8220;Why?&amp;#8221;,  &amp;#8220;Who cares?&amp;#8221; &amp;#8220;So what?&amp;#8221;: when you answer all those questions you can answer your user&amp;#8217;s questions about why they should use your application/product&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Documentation and information transference:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You can give either facts, information or understanding, but not all three at once!&lt;/li&gt;
&lt;li&gt;Words + Pictures &gt; Words&lt;/li&gt;
&lt;li&gt;&amp;#8230;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Who can help you help your users learn?&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Communities&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Keeping users engaged&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;If users are to become power users then they have to stay with it. We must try to keep them interested, get them and keep them as much as possible in a &lt;em&gt;flow state&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The flow state (&amp;#8220;I&amp;#8217;m in the flow!&amp;#8221;) requires a linear relationship between &lt;em&gt;challenge&lt;/em&gt; and &lt;em&gt;knowledge and skill&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Many things create arousal in the brain (discovery, challenge, narrative, growth, thrill, sensation, &amp;#8230;)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;We must &lt;em&gt;not&lt;/em&gt; break the flow of the users. We must enchant the users and keep them enchanted.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;What breaks the flow? Microsoft Bob, complicated dials, weird menus&amp;#8230;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Create a continuing challenge to the users, creating &amp;#8220;levels&amp;#8221; (or making them very explicit if they already exists implicitly) so that they can see and feel their evolution&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;User Experience Spiral: Interaction -&gt; Payoff -&gt; Motivation benefit -&gt; Back to Interaction&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The Tribe: passionate users create &amp;#8220;tribes&amp;#8221; that they feel proud of announcing to the world that they belong to. T-shirt first development (make sure you have ways for your users to state their tribe)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Giving users something to talk about. Easter eggs, The Dark Side Of The Rainbow&amp;#8230; Give experienced users some knowledge that makes them &amp;#8220;something more&amp;#8221; than others. &amp;#8220;Insider information&amp;#8221; is social currency.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Community: Passion builds community and community builds passion.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;!-- technorati tags start --&gt;&lt;p style=&quot;text-align:right;font-size:10px;&quot;&gt;Technorati Tags: &lt;a href=&quot;http://www.technorati.com/tag/eurooscon&quot; rel=&quot;tag&quot;&gt;EuroOSCON&lt;/a&gt;, &lt;a href=&quot;http://www.technorati.com/tag/eurooscon06&quot; rel=&quot;tag&quot;&gt;EuroOSCON06&lt;/a&gt;, &lt;a href=&quot;http://www.technorati.com/tag/eurooscon2006&quot; rel=&quot;tag&quot;&gt;EuroOSCON2006&lt;/a&gt;&lt;/p&gt;&lt;!-- technorati tags end --&gt;
</description>
  </item>
  <item>
    <title>Notes on the European Open Source Convention 2006</title>
    <link>http://nunonunes.org/2006/09/18#intro</link>
    <description>&lt;p&gt;These are the notes I&amp;#8217;ve taken during and about the &lt;a href=&quot;http://conferences.oreillynet.com/euos2006/&quot;&gt;2006 edition&lt;/a&gt; of the &lt;a href=&quot;http://www.oreilly.com/&quot;&gt;O&amp;#8217;Reilly&lt;/a&gt; European Open Source Convention (better known as &lt;a href=&quot;http://conferences.oreillynet.com/euos2006/&quot;&gt;EuroOSCON 2006&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;They are really just unstructured tidbits to help me recall things latter on, when I&amp;#8217;m going over the materials, but it may have some sort of value for someone else&amp;#8230;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;/notebook/eurooscon2006/day1&quot;&gt;Day 1 - Tutorial day&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;/notebook/eurooscon2006/day2&quot;&gt;Day 2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;/notebook/eurooscon2006/day3&quot;&gt;Day 3&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;/notebook/eurooscon2006/day4&quot;&gt;Day 4&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;!-- technorati tags start --&gt;&lt;p style=&quot;text-align:right;font-size:10px;&quot;&gt;Technorati Tags: &lt;a href=&quot;http://www.technorati.com/tag/eurooscon&quot; rel=&quot;tag&quot;&gt;EuroOSCON&lt;/a&gt;, &lt;a href=&quot;http://www.technorati.com/tag/eurooscon06&quot; rel=&quot;tag&quot;&gt;EuroOSCON06&lt;/a&gt;, &lt;a href=&quot;http://www.technorati.com/tag/eurooscon2006&quot; rel=&quot;tag&quot;&gt;EuroOSCON2006&lt;/a&gt;&lt;/p&gt;&lt;!-- technorati tags end --&gt;
</description>
  </item>
  <item>
    <title>So what&amp;#8217;s this about a notebook, then?</title>
    <link>http://nunonunes.org/2006/08/01#about</link>
    <description>&lt;p&gt;Welcome to my digital notebook.&lt;/p&gt;

&lt;p&gt;I am Nuno and this section of the site is where I write down things that I want to remember later on.&lt;/p&gt;

&lt;p&gt;The information stored in here is mostly relevant to me and it is therefore available to the world with no guarantees. I guess it goes without saying that some parts of the notebook are not accessible to the general public, as indeed other parts of my site. If you are family or a friend and would like to have access to anything in here which you don&amp;#8217;t currently have (or even if you are none of those but would still like to look into something which is barred to you and think you may be able to make a good case for it) do drop me a line and I&amp;#8217;ll get you setup with an account.&lt;/p&gt;

&lt;p&gt;Please note that because English is not my native tongue, there are parts of this information repository which are written in Portuguese, most notably information which I imported from previous incarnations of my site, but also some things which only make sense to maintain in Portuguese.&lt;/p&gt;

&lt;p&gt;Having said all that, if you find anything useful in here that&amp;#8217;s great, enjoy!&lt;/p&gt;
</description>
  </item>
  <item>
    <title>XMPP - Extensible Messaging and Presence Protocol</title>
    <link>http://nunonunes.org/2005/09/07#xmpp</link>
    <description>&lt;p&gt;This is a page that I created to hold some information I have gathered on the subject (while working on setting up a server) and will have to be revised to make it &amp;#8220;&lt;em&gt;cleaner&lt;/em&gt;&amp;#8221;.&lt;/p&gt;

&lt;p&gt;Some relevant links:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.jabber.org/&quot;&gt;http://www.jabber.org/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.xmpp.org/&quot;&gt;http://www.xmpp.org/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.ietf.org/rfc/rfc3920.txt&quot;&gt;rfc 3920&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;DNS configuration to support XMPP&lt;/h2&gt;

&lt;p&gt;SRV records:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;_xmpp-server._tcp.domain&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;_xmpp-client._tcp.domain&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;_jabber._tcp.domain&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;_jabber-client._tcp.domain&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For clients and for older servers the &lt;em&gt;A&lt;/em&gt; record of the domain is often used.&lt;/p&gt;

&lt;h2&gt;Helper scripts&lt;/h2&gt;

&lt;pre&gt;&lt;code&gt;#!/bin/sh

domain=&amp;#036;1

(
    dig srv _xmpp-server._tcp.&amp;#036;domain
    dig srv _xmpp-client._tcp.&amp;#036;domain
    dig srv _jabber._tcp.&amp;#036;domain
    dig srv _jabber-client._tcp.&amp;#036;domain
    dig a &amp;#036;domain
) | perl -ne 'next if /^;/ || /^\s*&amp;#036;/; print'
&lt;/code&gt;&lt;/pre&gt;
</description>
  </item>
  <item>
    <title>AJAX</title>
    <link>http://nunonunes.org/2005/05/11#ajax</link>
    <description>&lt;p&gt;AJAX is (yet another) acronym which is short for &amp;#8220;&lt;em&gt;Asynchronous JavaScript + XML&lt;/em&gt;&amp;#8221;.&lt;/p&gt;

&lt;p&gt;But what AJAX is about is using a group of technologies which are already &lt;em&gt;out there&lt;/em&gt; and which are well understood, and combining them in order to provide better, more responsive and more powerful web applications.&lt;/p&gt;

&lt;p&gt;In a nutshell AJAX makes use of the following technologies:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;XHTML and CSS for presentation and design;&lt;/li&gt;
&lt;li&gt;The DOM for interaction with and dynamic display of data;&lt;/li&gt;
&lt;li&gt;XML (and, of course, XSLT for data manipulation and transmission;&lt;/li&gt;
&lt;li&gt;XMLHttpRequest for &lt;strong&gt;asynchronous&lt;/strong&gt; data fetching;&lt;/li&gt;
&lt;li&gt;JavaScript to bind it all together and control everything.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Resources&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.adaptivepath.com/publications/essays/archives/000385.php|&quot;&gt;Ajax: A New Approach to Web Applications&lt;/a&gt; - An excellent introduction to the whole concept of AJAX. This is where I got most of the information from for my first foray into it.&lt;/li&gt;
&lt;/ul&gt;
</description>
  </item>
  <item>
    <title>Aolynk WDR814g</title>
    <link>http://nunonunes.org/2005/03/10#aolynkwdr814g</link>
    <description>&lt;p&gt;&lt;img src=&quot;http://nunonunes.org/images/AolynkWDR814g-front.jpg&quot; alt=&quot;&quot; title=&quot;&quot; /&gt;
&lt;img src=&quot;http://nunonunes.org/images/AolynkWDR814g-back.jpg&quot; alt=&quot;&quot; title=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The Aolynk WDR814g is a ADSL2+ capable wireless router.&lt;/p&gt;

&lt;p&gt;It has a number of interesting features built-in such as a DHCP server, support for UPnP, firewall capabilities, DynamicDNS client capabilities and more.&lt;/p&gt;

&lt;h2&gt;Notes on firmware version &amp;#8220;V1.00.15beta.1   Feb. 1, 2005  15:39:35&amp;#8221;&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;The UPnP seems to work quite well (tried it with Azureus) but there are still some kinks to be ironed out such as not cleaning up the assignments table after the connection is terminated and giving out information on the whole table, regardless of each entry being enabled or disabled;&lt;/li&gt;
&lt;li&gt;DynamicDNS support is not quite all there yet. It seems not to support protocol 2 of the [DynDNS.org)[http://dyndns.org/] service (which I use);&lt;/li&gt;
&lt;li&gt;The list of connected wireless clients is always empty, regardless of the number of clients actually connected;&lt;/li&gt;
&lt;li&gt;The logs are sparse and rather uninteresting. there is no detail on packets dropped from the WAN port, for example, only the indication that they where dropped;&lt;/li&gt;
&lt;li&gt;The data collected via SNMP seems to be mostly OK, except for the reported speed on the interfaces. No matter what speed I connect to my ADSL line or switch ports (10MBPS ou 100MBPS) I always have the same value for all of them (100MBPS).&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Resources&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://datacomm.huawei.com/Products/Products/Aolynk/4822.shtml&quot;&gt;Product&amp;#8217;s data page&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
</description>
  </item>
  <item>
    <title>CPAN - The Comprehensive Perl Archive Network</title>
    <link>http://nunonunes.org/2005/03/08#cpan</link>
    <description>&lt;p&gt;CPAN is a place where most of the freely available (as in Free Beer) Perl modules are to be found, along with many other resources such as scripts and the like.&lt;/p&gt;

&lt;p&gt;I actually have a developer ID at CPAN and hope to one day be proud of the work I may have posted there&amp;#8230; My ID is &lt;a href=&quot;http://search.cpan.org/~nfmnunes/&quot;&gt;NFMNUNES&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The most useful interface to CPAN is the &lt;a href=&quot;http://search.cpan.org/&quot;&gt;http://search.cpan.org/&lt;/a&gt; site.&lt;/p&gt;

&lt;h2&gt;Resources&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;The &lt;a href=&quot;http://pause.perl.org/&quot;&gt;PAUSE&lt;/a&gt; server - The management interface for CPAN authors.&lt;/li&gt;
&lt;/ul&gt;
</description>
  </item>
  </channel>
</rss>
