<?xml version="1.0" ?>
<!-- RSS generated by Mike Mason's RSS 2.0 Blosxom templates -->
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>NunoNunes.org</title>
		<link>http://nunonunes.org</link>
		<atom:link href="http://nunonunes.org/index.rss20" rel="self" type="application/rss+xml" />
		<description>Thoughts, code, music, ideas, rants, photos, weblog, video, geek stuff, games, Perl, robotics, travelling...</description>
		<language>en</language>
		<copyright>This content is provided under the Creative Commons License - http://creativecommons.org/licenses/by-nc-sa/2.5/</copyright>
		<generator>Blosxom</generator>
		<ttl>3600</ttl>



<item>
	<title>Google Wave - how I use it</title>
	
	<link>http://nunonunes.org/notebook/google_wave/google_wave-how_i_use_it</link>
	<description>&lt;p&gt;This is part two of a short series of essays I am writing on how I have been using &lt;a href=&quot;http://wave.google.com/&quot;&gt;Google Wave&lt;/a&gt; and my take on the system. &lt;br /&gt;
You can find the main article and index to the whole series &lt;a href=&quot;/weblog/geekdom/google_wave-my_take_on_it&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;How I use it&lt;/h2&gt;

&lt;p&gt;Personally I&amp;#8217;ve used it in different contexts and for different purposes (but always for collaboration, i.e. working with other people to achieve a specific goal) and so I am now able to have at least an idea of what does and doesn&amp;#8217;t work for me, for example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Messaging&lt;/strong&gt;: For me this does not make any sense. People have &amp;#8220;waved&amp;#8221; me with the &amp;#8220;&lt;em&gt;Hey, you&amp;#8217;re on wave too, great, let&amp;#8217;s chat!&lt;/em&gt;&amp;#8221; talk and, quite frankly, it feels like trying to kill a fly with the proverbial canon. You &lt;em&gt;can&lt;/em&gt; do it, but you really shouldn&amp;#8217;t as it is a waste of effort, resources and just plain silly. There are myriad instant messaging solutions out there and most of them do much better in that field than wave does. It is overkill, it is slow, it is just plain silly;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Exchanging longer messages&lt;/strong&gt;: The &amp;#8220;Dear Nuno, How have you been? I have been thinking about that party last week and&amp;#8230;&amp;#8221; kind of messages don&amp;#8217;t appeal to me in the least bit either. Do you realize that in a wave (as it stands now, anyway) anyone can edit what anyone else has written? Have you really tried editing long prose on it&amp;#8217;s current interface? This is the canonical use case for email, so just use email for that. If it&amp;#8217;s not a &amp;#8220;living&amp;#8221; document, edited by more than one person, then it&amp;#8217;s an email, not a wave;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Instant collaboration over a project&lt;/strong&gt;: The ephemeral wave. A project comes up, people set up a wave and work on it collaboratively (and yes, they use it as a discussion medium instead of instant messaging in the context of that particular wave), work progresses until the point when the project is over and the wave looses it&amp;#8217;s meaning and usefulness. It didn&amp;#8217;t coalesce into a document, it was just a kind &amp;#8220;white board&amp;#8221; for people to work actively on. It has the history of the work done recorded in it, but apart from that it holds no value whatsoever for the future. This is a usage case that has worked quite well for me;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Planning&lt;/strong&gt;: Two or more people collaborating on planning something like a trip, a podcast, or anything of the sort. I&amp;#8217;ve used it on both the cases mentioned and, as it should be apparent, it is really well suited for that purpose. Even planing something slightly bigger, say the design and implementations of an open software project (I&amp;#8217;ve done that too, and still am in fact) becomes very fruitful. All of these activities require a high degree of gardening, though, because otherwise the wave just turns into an unusable mess.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Things I&amp;#8217;ve learned that work OK&lt;/h2&gt;

&lt;p&gt;As with any new tool, especially one that is as complex as this one, it takes time and experience for one to &lt;a href=&quot;http://en.wikipedia.org/wiki/Grok&quot;&gt;grok&lt;/a&gt; it. I&amp;#8217;ve been using it for a while and I&amp;#8217;ve already uncovered some patterns of usage that seem to crop up in most waves with different users. Here are a few examples:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Commenting on sections of a document&lt;/strong&gt;: I sometimes start a wave as an outline of a document I want to collaborate on or maybe as a few paragraphs about the subject under discussion. And what do people do the first time they open the wave? They do what they&amp;#8217;ve been doing for years on email: they reply to my ideas either on the top or at the bottom of the wave, usually on a different wavelet, either quoting my own words/section titles or simply by launching into the discussion without even stating what they&amp;#8217;re replying to. &lt;br /&gt;
But wave provides a far better way of doing this and after a while (and some experimenting) I find that people usually tend to drift to this way of doing things, which is to comment right there on the wavelet itself, creating a sub-wavelet that can even be collapsed if you just want to read the full text that&amp;#8217;s being debated upon on this sub-wavelet. After a few rounds of this the document starts to look cluttered from all the sub-wavelets debating all the little pieces of text and so the need for curating arises. I will, on a later article, make some screenshots illustrating these items;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Curating the wave&lt;/strong&gt; (think &lt;a href=&quot;http://www.socialtext.net/exchange/index.cgi?wiki_gardening_tips&quot;&gt;wiki gardening&lt;/a&gt;): When the document starts to look like one huge, chaotic mess (or better yet, before it comes to that) someone usually takes the time to read through the sub-wavelets pertaining to the section they&amp;#8217;re most involved in, summarize it, change the &amp;#8220;master wavelet&amp;#8221; accordingly and then delete all of the sub-wavelets. This is a good thing to happen to a wave and not at all an attack on the sub-wavelet participants, as it ensures that the wave keeps fresh and usable. If the need arises for further discussion on a particular topic, people can just create a sub-wavelet and the cycle begins again. Also the history of what was said where by whom is still all there anyway.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Mind dumping&lt;/strong&gt;: When an idea comes to me about a particular project/topic that I have a wave for (you know those &amp;#8220;&lt;em&gt;a-ha!&lt;/em&gt;&amp;#8221; moments you usually have while on the shower or jogging) I usually go to the wave in question as fast as I can and I just write down whatever idea came into me head. This has too benefits for me: 1- I get it out of my head and into a written form. Doing this makes me organize my thoughts enough to write them down and may make some implications or problems immediately apparent; 2- It gives the other people I&amp;#8217;, working with (the wave is about collaboration, after all) a chance to immediately start thinking about the issue/idea I&amp;#8217;ve just got and I can get feedback really fast. I do this actively on some of the projects I&amp;#8217;m waving about with people and it really works.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
	<pubDate>Wed, 11 Nov 2009 08:56:00 +0000</pubDate>
	<guid isPermaLink="true">http://nunonunes.org/notebook/google_wave/google_wave-how_i_use_it</guid>
</item>

<item>
	<title>Google Wave - what it is and isn&amp;#8217;t</title>
	
	<link>http://nunonunes.org/notebook/google_wave/google_wave-what_it_is_and_isnt</link>
	<description>&lt;p&gt;This is part one of a short series of essays on how I have been using &lt;a href=&quot;http://wave.google.com/&quot;&gt;Google Wave&lt;/a&gt; and my take on the system. &lt;br /&gt;
You can find the main article and index to the whole series &lt;a href=&quot;/weblog/geekdom/google_wave-my_take_on_it&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;What it is&lt;/h2&gt;

&lt;p&gt;Google Wave is a product from &lt;a href=&quot;http://google.com/&quot;&gt;Google&lt;/a&gt; which is, at the time of this writing, in a &amp;#8220;technology preview&amp;#8221; stage (what this means is that it is in a stage before beta, when things are out there for a few people to start using it and help the wave team find and fix the most prominent problems/bugs/misfeatures. It is not &amp;#8212;yet&amp;#8212; intended for generalized use and people should bear that in mind when using it and trusting their valuable information to it). &lt;br /&gt;
It has been touted by many as a &amp;#8220;email killer&amp;#8221; and an &amp;#8220;instant messaging killer&amp;#8221; by but I will argue that that is a gross misconception of what wave is and it&amp;#8217;s potencial. Sure, it &lt;em&gt;can&lt;/em&gt; be used in any of those ways, but as I&amp;#8217;ll explain later on, there are nearly no benefits to be gained by doing so and there are some drawbacks to it.&lt;/p&gt;

&lt;p&gt;What is is (in my view, at least) is a very powerful and useful &lt;em&gt;collaboration tool&lt;/em&gt; and a way of replacing the abusive way in which people in large groups or corporations use email. &lt;br /&gt;
The best uses I&amp;#8217;ve came upon so far involved things like planning events/trips, doing research on specific topics, producing requirement documents and planing development of software projects and I&amp;#8217;ll expand on that on a future article.&lt;/p&gt;

&lt;h2&gt;What it&amp;#8217;s not&lt;/h2&gt;

&lt;p&gt;Like I said before, people tend to think that once they get into the wave they&amp;#8217;ll eventually stop using email and instant messaging as a means of communicating and connecting with other people. I don&amp;#8217;t think this will happen &amp;#8212;at least not with the current implementation of wave&amp;#8212; and I&amp;#8217;ll try to explain why.&lt;/p&gt;

&lt;h3&gt;Not Email&lt;/h3&gt;

&lt;p&gt;It is not a substitute for email, it is a substitute for the way people (especially in groups/corporations) &lt;em&gt;abuse&lt;/em&gt; email.&lt;/p&gt;

&lt;p&gt;Most people have been, at one time or another, involved in &amp;#8220;the mail thread that never dies&amp;#8221;. You know the one I&amp;#8217;m talking about, where one person sends an email to a group about some subject that needs to be discussed in order to reach some kind of decision. &lt;br /&gt;
That first mail contains maybe a few points that the person considers important enough to be discussed by this group and elicits a few responses. And also, invariably, a forward or two to someone else that one of the recipients thought should be in on it. Now these responses also elicit other responses from the group and soon someone who wants to reply to item a) on the original email has to reply to a dozen mails, all of each talk about that particular item. &lt;br /&gt;
As the list of people receiving the email grows, so does the confusion, until it becomes nearly impossible to make head or tail of it. (And don&amp;#8217;t even get me started on the subject of top posting in this context&amp;#8230;)&lt;/p&gt;

&lt;p&gt;If you work at a corporation that&amp;#8217;s large enough this is part of your work setting, day in and day out.  And then you&amp;#8217;re probably also involved in document editing and revising via email. Yes, I&amp;#8217;m talking about the &amp;#8220;&lt;em&gt;have you read my alterations to section 5.3.7 of the first draft? No not the one Mrs. A altered, I based my alterations on the version Mr. B did his alterations on&lt;/em&gt;&amp;#8221; nightmare. (Yes, there are ways of alleviating this, but you just know sooner or latter this things will happen.)&lt;/p&gt;

&lt;p&gt;And this is the kind of usage that is an abuse on email, but is just a perfect fit for something like wave. &lt;br /&gt;
Wave can substitute email as a distributed document editing platform and a fast discussion/brainstorming mechanism, but not as a document distribution/message sending one. Because documents in wave are always living things and you don&amp;#8217;t have versions &lt;em&gt;per se&lt;/em&gt;, so if you want to send someone &amp;#8220;the final version of document X&amp;#8221; you&amp;#8217;re better off emailing it to them rather than granting them access to the wave that document is being created on (please note that &amp;#8220;granting access&amp;#8221; to a wave is not something you can do right now, I&amp;#8217;ll talk about this in a future article).&lt;/p&gt;

&lt;h3&gt;Not instant messaging&lt;/h3&gt;

&lt;p&gt;It is also not a substitute for instant messaging. Even though it does provide a way of chatting in real time, this communication is only effective and useful in the context of the immediate document being collaborated on. Using it to chat up your buddies is not efficient or interesting.  &lt;/p&gt;

&lt;p&gt;Even in the context of the wave, sometimes things aren&amp;#8217;t very easy as far as chatting goes (mostly due to the way the current interface shows other people writing in real time). &lt;br /&gt;
On the one hand this interface does give you the ability to use the system on a chat-like way when discussing what it is you&amp;#8217;re doing on the document. On the other hand it is a) distracting and b) an open invitation to start answering whatever it is the other people is writing &lt;em&gt;while she is still writing it&lt;/em&gt;, which is something we do all the time in &lt;em&gt;real world&lt;/em&gt; physical conversations but that doesn&amp;#8217;t work so well in written communication because of the lack of all the clues we get from context and body language. We often find ourselves answering a paragraph that the other people is still writing up, only to find that our question is answered a bit later. Oops, wasted effort and unnecessary noise.&lt;/p&gt;

&lt;p&gt;Instant messaging is a means of communication that is well established and has been around long enough to be well understood by people. It is very useful and practical and there really is no justification for it to go away and be replaced by something that does a whole lot more and is &amp;#8212;therefore&amp;#8212; rather unieldy for that purpose.&lt;/p&gt;

&lt;h3&gt;Not a wiki&lt;/h3&gt;

&lt;p&gt;Wikis are also tools for collaboration and group editing/creation of documents, but they are very different in that they only allow one person to edit a section of the document at a time (otherwise you get conflicts that need to be resolved by the humans doing the editing), they have explicit versions of each page and they don&amp;#8217;t have the fine grained structure that wave does, with the wavelets and blips (something I&amp;#8217;ll go deeper into in yet another future article).&lt;/p&gt;

&lt;p&gt;One thing that the wave has in common with a wiki is the apparent need for curation or gardening. This is something that seems to crop up in every kind of platform that enables collaborative editing of stuff &amp;#8212;people start writing and replying to everything that&amp;#8217;s going on in the document and soon enough the side-threads that led up to the &amp;#8220;finished&amp;#8221; document just become clutter. &lt;br /&gt;
Once again a wave, if properly used, makes this gardening far easier to do than on a wiki, as the discussions should be held on wavelets close to the point being discussed and can them be deleted as the &amp;#8220;gardener&amp;#8221; is refactoring and cleaning-up the document. On a wiki the discussion is (usually) right there on the document, together with the &amp;#8220;real&amp;#8221; content or else it happens on a side &amp;#8220;chat&amp;#8221; page, which is a separate entity altogether and forces you to switch between it and the document you&amp;#8217;re working on at the time.&lt;/p&gt;

&lt;p&gt;All in all, I find the wave much more similar to a wiki than to email, but it is not the same thing at all.&lt;/p&gt;
</description>
	<pubDate>Thu, 05 Nov 2009 18:30:00 +0000</pubDate>
	<guid isPermaLink="true">http://nunonunes.org/notebook/google_wave/google_wave-what_it_is_and_isnt</guid>
</item>

<item>
	<title>How to configure a ZTE MF636 3G modem on Fedora 11</title>
	
	<link>http://nunonunes.org/notebook/how_to_configure_a_zte_mf636_3g_modem_on_fedora_11</link>
	<description>&lt;p&gt;Optimus is now offering a Kanguru-branded ZTE MF363 3G USB pen to it&amp;#8217;s customers which does not work out of the box with a Linux Fedora 11 install. &lt;br /&gt;
The steps to get it working are, however, pretty straightforward to apply and this is a quick-and-dirty howto for the process.&lt;/p&gt;

&lt;p&gt;Some degree of comfort using the command-line is required and please do bear in mind that these steps work on a Fedora 11 distro but other distros will surely require some adjustments. As usual, YMMV.&lt;/p&gt;

&lt;p&gt;The steps to get your shiny new 3G modem working are as follow:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;As root do &lt;code&gt;yum install usb_modeswitch&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Edit your &lt;code&gt;/etc/usb_modeswitch.conf&lt;/code&gt; and add the following section:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Update: It seems that the current (as of October 2009) distribution already
has this section added to it, so you may simply edit the file and uncoment it.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code&gt;########################################################
# ZTE MF628+ (tested version from Telia / Sweden)
# ZTE MF626
# ZTE MF636 (aka &quot;Telstra / BigPond 7.2 Mobile Card&quot;)
#
# Contributor: Joakim Wennergren
DefaultVendor= 0x19d2
DefaultProduct= 0x2000
TargetVendor= 0x19d2
TargetProduct= 0x0031
MessageEndpoint=0x01
MessageContent=&quot;55534243123456782000000080000c85010101180101010101000000000000&quot;
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Add a new rules file to &lt;code&gt;udev&lt;/code&gt;&amp;#8217;s conf (something like &lt;code&gt;/etc/udev/rules.d/zte-pen.rules&lt;/code&gt;) with the following contents:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;SYSFS{idVendor}==&quot;19d2&quot;, SYSFS{idProduct}==&quot;2000&quot;, RUN+=&quot;/usr/bin/usb_modeswitch&quot;
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Right-click your NetworkManager applet and select &amp;#8220;&lt;em&gt;Edit Connections&lt;/em&gt;&amp;#8221;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Choose the &amp;#8220;&lt;em&gt;Mobile Broadband&lt;/em&gt;&amp;#8221; tab and either create a new connection or edit the existing one as you please&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Ensure that the following options are as follow (for everything else you can just leave in the defaults):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Number: *99#&lt;/li&gt;
&lt;li&gt;Username, Password, APN are all empty&lt;/li&gt;
&lt;li&gt;PIN: your own PIN&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;From this point on you should be able to simply insert the pen and (after a few seconds for the device to settle) go in to your NetworkManager applet, select the newly found connection under the &amp;#8220;&lt;em&gt;Mobile Broadband&lt;/em&gt;&amp;#8221; section and it should now connect.&lt;/p&gt;

&lt;p&gt;If you wish to check it while connecting you can, as usual, tail the &lt;code&gt;/var/log/messages&lt;/code&gt; log file, where you should see loads of (un)interesting stuff about the connection that is taking place.&lt;/p&gt;
</description>
	<pubDate>Mon, 21 Sep 2009 15:50:00 +0100</pubDate>
	<guid isPermaLink="true">http://nunonunes.org/notebook/how_to_configure_a_zte_mf636_3g_modem_on_fedora_11</guid>
</item>

<item>
	<title>CPAN search on Firefox</title>
	
	<link>http://nunonunes.org/notebook/randomnotes/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&apos;%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>
	<pubDate>Fri, 18 Apr 2008 10:46:00 +0100</pubDate>
	<guid isPermaLink="true">http://nunonunes.org/notebook/randomnotes/cpan_search_on_firefox</guid>
</item>

<item>
	<title>Guncho</title>
	
	<link>http://nunonunes.org/notebook/randomnotes/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>
	<pubDate>Fri, 18 Apr 2008 08:40:00 +0100</pubDate>
	<guid isPermaLink="true">http://nunonunes.org/notebook/randomnotes/guncho</guid>
</item>

<item>
	<title>London Perl Workshop 2007</title>
	
	<link>http://nunonunes.org/notebook/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>
	<pubDate>Sat, 01 Dec 2007 11:00:00 +0000</pubDate>
	<guid isPermaLink="true">http://nunonunes.org/notebook/lpw2007</guid>
</item>

<item>
	<title>Massas chinesas com &amp;#8220;coisas&amp;#8221;</title>
	
	<link>http://nunonunes.org/notebook/recipes/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>
	<pubDate>Sun, 07 Oct 2007 21:00:00 +0100</pubDate>
	<guid isPermaLink="true">http://nunonunes.org/notebook/recipes/massas_chinesas_com_coisas</guid>
</item>

<item>
	<title>Kafka On The Shore by Haruki Murakami</title>
	
	<link>http://nunonunes.org/notebook/books/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>
	<pubDate>Sun, 07 Oct 2007 15:54:00 +0100</pubDate>
	<guid isPermaLink="true">http://nunonunes.org/notebook/books/kafka_on_the_shore</guid>
</item>

<item>
	<title>Day 4 of the European Open Source Convention 2006</title>
	
	<link>http://nunonunes.org/notebook/eurooscon2006/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 &apos;hello world&apos; 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 &apos;file&apos;;&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>
	<pubDate>Thu, 21 Sep 2006 09:00:00 +0100</pubDate>
	<guid isPermaLink="true">http://nunonunes.org/notebook/eurooscon2006/day4</guid>
</item>

<item>
	<title>Day 3 of the European Open Source Convention 2006</title>
	
	<link>http://nunonunes.org/notebook/eurooscon2006/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>
	<pubDate>Wed, 20 Sep 2006 08:00:00 +0100</pubDate>
	<guid isPermaLink="true">http://nunonunes.org/notebook/eurooscon2006/day3</guid>
</item>

<item>
	<title>Day 2 of the European Open Source Convention 2006</title>
	
	<link>http://nunonunes.org/notebook/eurooscon2006/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>
	<pubDate>Tue, 19 Sep 2006 08:00:00 +0100</pubDate>
	<guid isPermaLink="true">http://nunonunes.org/notebook/eurooscon2006/day2</guid>
</item>

<item>
	<title>Day 1 of the European Open Source Convention 2006</title>
	
	<link>http://nunonunes.org/notebook/eurooscon2006/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>
	<pubDate>Mon, 18 Sep 2006 07:40:00 +0100</pubDate>
	<guid isPermaLink="true">http://nunonunes.org/notebook/eurooscon2006/day1</guid>
</item>

<item>
	<title>Notes on the European Open Source Convention 2006</title>
	
	<link>http://nunonunes.org/notebook/eurooscon2006/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>
	<pubDate>Mon, 18 Sep 2006 01:30:00 +0100</pubDate>
	<guid isPermaLink="true">http://nunonunes.org/notebook/eurooscon2006/intro</guid>
</item>

<item>
	<title>So what&amp;#8217;s this about a notebook, then?</title>
	
	<link>http://nunonunes.org/notebook/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>
	<pubDate>Mon, 31 Jul 2006 23:00:00 +0100</pubDate>
	<guid isPermaLink="true">http://nunonunes.org/notebook/about</guid>
</item>

<item>
	<title>XMPP - Extensible Messaging and Presence Protocol</title>
	
	<link>http://nunonunes.org/notebook/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 &apos;next if /^;/ || /^\s*&amp;#036;/; print&apos;
&lt;/code&gt;&lt;/pre&gt;
</description>
	<pubDate>Wed, 07 Sep 2005 16:30:10 +0100</pubDate>
	<guid isPermaLink="true">http://nunonunes.org/notebook/xmpp</guid>
</item>

	</channel>
</rss>

