NunoNunes.org

Loading
Entries by year
2012
Months
JanFeb Mar Apr
May Jun Jul Aug
Sep Oct Nov Dec
Entries by month
January
Sun Mon Tue Wed Thu Fri Sat
14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        
Powered by Blosxom
Creative Commons License

Grande Auditório - Um podcast da Gulbenkian Música

Descobri muito recentemente, completamente por acaso, uma pérola que quero partilhar.

Embora não consiga devotar o tempo que gostaria a concertos e actividades musicais semelhantes (e quem é que consegue?), faço questão de pelo menos me manter minimamente informado do que vai acontecendo à minha volta, por forma a evitar falhar aqueles concertos “imperdíveis”. Naturalmente também tento descobrir música nova interessante (nova para mim, bem ententido), mas essa parte é, claro está, muito mais dificil.

Uma das minhas fontes de informação nesta área é a mailing list da Gulbenkian Música, que me dá a conhecer regularmente a programação mensal desta entidade.
Essa mailing list é-me muito útil, mas tem um senão: na programação da Gulbenkian Música são incluídos muitos autores/peças/intérpretes/orquestras/etc que eu não conheço. O que, à partida, seria uma coisa óptima, porque me daria a possibilidade de os vir a conhecer, se eu tivesse o tempo necessário, quando recebo o mail, para ir investigar cada um dos intérpretes ou obras lá incluídos e seleccionar os que me parecem mais interessantes. Claro que na realidade eu raramente consigo fazer esta pesquisa e acabo invariavelmente por perder belissimas oportunidades de vir a conhecer música muito boa.

E é aqui que entra a minha recente descoberta dos podcasts da Gulbenkian Música. Em particular do podcastGrande Auditório”.
Neste podcast semanal, é apresentado o programa musical da semana seguinte do grande auditório da Fundação Gulbenkian. Nele são referidos não só os concertos, mas também outras actividades relacionadas, como sejam filmes passados nesse espaço.
Mas, mais importante do que listar as actividades da semana, no podcast são apresentados os intérpretes e compositores dos concertos, os realizadores dos filmes e por aí fora, e são passadas (na íntegra) peças que serão interpretadas nos concertos ou que fazem parte das bandas sonoras dos filmes.

Ou seja, toda a pesquisa que eu adoraria fazer semanalmente está condensada neste podcast.
Acho que esta é uma ideia brilhante e que é muito bem executada, resultando numa utilização excelente do meio podcast.
É com muito gosto que digo à Gulbenkian Música (e em particular à equipa Jorge Rodrigues e Tiago Jónatas) um grande “Bravo!” e obrigado.

About this entry

Originally written on Jan 14, 2012 @ 19:48
Read article on it's own page (permalink)

Singularity, robots and all that jazz

This is a cross-post from another blog—OneOverZero—where I write (somewhat infrequently) about Singularity topics in general.
In it I mostly link to other interesting articles, and I want to keep some of my posts for future reference, so I’ll be copying them over to this site.

Before I get to the latest post, here are a few of the interesting posts/links I wrote about there:

And now, for the cross-post.


Thoughts on “The Future of Moral Machines”

Today we’re coming back to the topic of ethics and morality.

It is not a commonly accepted fact that there is a real need for serious thought and debate over the subject of “synthetic” moral agents. Many people and institutions still regard this issue as something of an esoteric topic that the techies have dreamed up in their wildest dreams and not something that will ever impact society at large, at least not for the foreseeable future.

Still, there are a number of people who take this issue very seriously indeed and today we point you to an article about it: The Future of Moral Machines. In it the author, a self professed Singularity-sceptic (and co-author of a book on this very subject), makes the point that regardless of the Singularity issue, the fact remains that robots moving around in the physical space and interacting with humans are something that will inevitably become more and more common and that many of these machines will necessarily be making operational decisions that will impact humans in very serious (and potentially very dangerous) ways. It will, therefore, be necessary for us to provide these machines with ways to evaluate their actions in light of doing “good” or “bad” by us humans.

The machines, the article argues, will be autonomous, not in a human sense (they will not be self-aware or have freedom of will-in fact, they will have no will whatsoever), but they will be autonomous in the operational sense. This “engineers’ autonomy” will make for the absolute necessity of some kind of “functional morality” that tries to “make autonomous agents better at adjusting their actions to human norms”.

The article is somewhat long, but the viewpoints and arguments are very compelling and I urge you to read it in full. I just can’t resist quoting one final passage that I found particularly inspiring:

The different kinds of rigor provided by philosophers and engineers are both needed to inform the construction of machines that, when embedded in well-designed systems of human-machine interaction, produce morally reasonable decisions even in situations where Asimov’s laws would produce deadlock.

While I do not share the author’s skepticism towards the Singularity, I find the notion of a “functional morality” to be a very interesting and, really, very important one. Here is a topic into which we can (and I think we should) make headway today, regardless of what the future brings, because Singularity or no Singularity, one thing is certain (as the author posits): short of a cataclysmic event at a global scale, robots will be all around, and so we’d better make sure they understand our ways, our needs and our frailties so that they are able to deal with us without causing us harm. Wether they end up being conscious entities, or mere mindless tools, it behoves us, as their creators, to provide them with that knowledge.

About this entry

Originally written on Jan 09, 2012 @ 18:46
Read article on it's own page (permalink)

Going to Codebits 2011

Sapo Codebits 2011 edition. I’ll be there. After having attended last year’s event I can only say that I can’t wait!

About this entry

Originally written on Aug 31, 2011 @ 10:43
Read article on it's own page (permalink)

Urban Gardener’s Virtual Little Helper

This is a project idea I came up with for a system to watch over my plants and report back whenever necessary.
This came about after having attended the awesome Codebits conference/contest/mega-geek-fest and having been exposed to all of those neat Arduino thingies. It was supposed to inspire people. And it certainly did.

This idea may not be the coolest/sexiest one to emerge from a geek mind, but it addresses a real need I have, being a (rather amateurish) urban-gardener: knowing when the plants actually need to be watered and—most importantly by far—being reminded of it! Of course thinking about all of the data I would be able to collect from this system and all of the analysis I could do on it doesn’t hurt one bit either. :-)

So here is the first mind dump regarding the Urban Gardener’s Virtual Little Helper project.

The idea

Create a system that monitors things like amount of moisture in the earth and report back whenever it falls below a certain level.
Other interesting things to monitor would be amount of light received and temperature.
The system must be relatively weather-resistant and be able to send it’s data wirelessly.

That data would then be collected by a server at home and acted upon. This is the part of the system that is responsible for analysing the levels of moisture, temperature and so on and send the notifications.
I will not delve into this part right now, as it would be trivial to implement compared to the sensors bit.

Implementation ideas

This part deals mostly with the sensors and less with the data munging that would need to be done with the data those sensors would collect. I’ll get to that part once I have actual data to work with.

Using weather stations

At first I considered using an off-the-shelf weather station to do the sensing part.
Many weather stations already have WiFi connectivity embedded in them, so I wouldn’t need to worry about that part.
It would be able to measure temperature, light(?) and even wind speed (although this one is hardly relevant), but what about level of moisture in the earth? I don’t think this is something your typical weather station has sensors for and that is the crucial part of the system.

Also, they are really expensive (the wireless versions, at least) so for now this option is out.

Using Arduinos for the probes

Arduinos come to mind almost instantly whenever sensors and stuff are discussed and so this is looking like a rather attractive option right now.
The light and temperature sensors are easy enough to implement, but what about moisture/humidity sensors that must be buried a few centimetres bellow the surface of the earth? Is there a way to do it? Should I go for conductivity sensors instead and infer level of moisture from the current flowing between them? Is there a better way to do this?

As it turns out, after having had a few words with my nearest Arduino guru, some work has been done on these sensors (they went the conductivity way) and he feels like we could do better, so it looks like the project may have some feet to stand on.

What kind of wireless connectivity would work best? AFAIK there is no WiFi shield for the Arduino, but there are at least two options that I’m aware of: Bluetooth and ZigBee.
Given that I know next to zero about ZigBee and I need to have this system talking to both a Mac box—production—and a Linux box—development—, I’m not sure if this would be such a good idea. On the other hand the Bluetooth option might limit the distance from the sensor to the server.

About this entry

Originally written on Nov 17, 2010 @ 20:45
Read article on it's own page (permalink)

Week In Music - 07 to 13 November 2010

This week in music was dominated by a couple of new discoveries: Frank Zappa and Wim Mertens. Also, I listened to a few more songs/artists a bit more intently and so they’re present in the playlist as well.

The playlist

This week’s music is available as an 8tracks playlist.

The boring bit

Zappa is a well known musician (composer, guitarist, record producer and lots more) which is largely unknown to me. My music teacher, being a fan of the man and his work, often mentions Zappa songs when looking for examples of many issues in music theory. This week he directed me to a few specific songs for me to listen to and analyze.
And so it is that I am now starting to discover Zappa’s music, years after he passed away. I’m starting out with just a few songs, looking for specific elements in them, such as “The Black Page Drum Solo”, or “Let’s Move To Cleveland”. I’m looking at elements of rhythm in the drums, just in case you’re curious. :-)
One thing I’ve always been partial to is live performances and there is ample material from Zappa for me to sink my teeth into as I go on (“Zappa in New York” is sounding really good).

Wim Mertens is another recent discovery. I went to a live show here in Lisbon, this very week, and I was hooked. My friend João is a long-time fan and he’d told me about Wim already, but I’d just never got around to actually listening to anything of his until the show.
I must say his singing is somewhat unusual and, as far as I can tell, this concert was very different from the usual ones in that the piano took somewhat of a second stage to the violin. Nevertheless I loved the concert and I’m loving the album that João lent me afterwards —”Epic That Never Was”, a live album recorded in a concert in Lisbon. It is way much more piano solo-oriented than the concert was and so far I’m loving it.
For a taste of what the show was like you can watch this video of Wim Mertens and Tatiana Samouil playing “The Belly Of An Architect”.

The rest of the playlist comprises a bunch of unrelated songs:
There’s a couple of songs I am working on right now by the Dave Matthews Band; Then there’s an artist I recently started listening to more intently, due to this post by Célia VenturaGalt MacDermot—; and finally, to round things off (and to make the minimum 8 tracks for the playlist), an old favourite of mine that came up on a shuffle sequence and I really liked to listen to again—Billy Joel’s “Got To Begin Again”.

The song list

  1. Frank Zappa - The Black Page Drum Solo
  2. Frank Zappa - Let’s Move To Cleveland
  3. Wim Mertens - Close Cover
  4. Wim Mertens - The Belly Of An Architect
  5. Dave Matthews Band - Steady As We Go
  6. Dave Matthews Band - Digging A Ditch
  7. Galt MacDermot - Coffee Cold
  8. Billy Joel - Got To Begin Again

About this entry

Originally written on Nov 13, 2010 @ 19:00
Read article on it's own page (permalink)

Diary 2010-05-27 - Recent concerts

The two concerts I attended most recently were A Silent Film at the Aula Magna and Grizzly Bear at the Coliseu.

I enjoyed both shows very much and there were a few pleasant similarities between them (for me, at least): I didn’t know the bands all that well, but having come across their songs I decided that it would be good to check them out live and so I bought the tickets without exactly being a huge fan of either; I really liked both bands live on stage (and this is by far my favourite way of getting to know new bands and new music) even though they are quite different from each other; the music they both make is, as I’d hoped, quite good and, at the very least, quite promising; both bands’ vibe was excellent and they put on a terrific show, made the concert-goers feel really good and made everyone really get into it.

But there’s one thing that was very much different between them. One thing that is a major aspect of any concert and that, unfortunately, goes wrong on the majority of shows I attend (on a trend that is getting steadily worse from year to year): sound quality and especially sound volume.

On the A Silent Film show the volume was so loud that nobody there could possibly enjoy all the nuances of the music they were playing. It was physically impossible to really get into the music. I left with a ringing in my ears and the feeling that had I seen them in their rehearsal room I would have enjoyed their music a whole lot more (and not because I’d be closer to the band, but simply due to the fact that the sound would have been much better than what we got at the Aula Magna).
This is a real shame, as the band (once again) is really good on stage and they do put on a very good show, not to mention the fact that Robert Stevenson has some pretty impressive vocal stunts, which I could not, for the life of me, appreciate in the middle of that wall of —not sound, but noise.
I think it’s a shame that the sound engineers seem to conspire to sabotage them (and almost everyone else, for that matter) by squeezing every possible decibel out of the speakers. But guess what: raw power is not what it’s all about and too much loudness is actually detrimental to our ability to enjoy the music!

Now the Grizzly Bear show was another matter altogether.
The band was just as good on stage (in their own, very different style, of course), they were into it and into the crowd, just like A Silent Film were, but they had surprisingly good sound. And I say “surprisingly” because I’ve been to my fair share of shows on that venue and the sound quality usually sucks in a huge way. But not so this time.
The sound was not so loud as to give us pain in the ears, so we actually got to listen to and really enjoy the music. Granted, there could have been some adjustments made to the sound setup of the softer, wind instruments (flute, sax, clarinet,) but then I think that room is not all that great in terms of acoustics and the fact is that other than that small detail, everything else was very well set up. I could hear all the subtle vocal harmonies really clearly, I could hear the lute as clear as is if was being played right there before me on an empty and silent room, but I could still listen to and feel the powerful guitar, bass and drum sounds.
This is not consensual, as some of the people that were with me complained that the vibration they felt coming from the drums and the bass notes on the keyboards were too much for them, but for me, it was an almost perfect sound setup. Something I don’t experience all that often any more.
I left the venue with my ears clean, without any ringing in them and totally won over to the band’s music. But also very pleased with the overall show. I definitely had a good time. And I feel really sorry that the ringing in my ears didn’t allow me to get away from the A Silent Film show with such satisfaction. They surely deserved it.

About this entry

Originally written on May 27, 2010 @ 12:25
Read article on it's own page (permalink)

Lifestream down

I’ve posted about the lifestream concept before and I’ve even implemented such a stream for myself.

My lifestream feed was supported by Storytlr.com and it worked rather well, actually, but Storytlr decided, a while ago, to call it quits and yesterday they shut down their servers.
As such I went through all of the links on the site that referenced that stream and deleted them.

Now, to my utter surprise, I find out that some people were actually following that stream. They’ve asked me about it and why it started giving them an error page.
Amazed I am, yes… :-)

I currently have nothing that can substitute the Storytlr feed. Yes, they did put up their code for other people to use if they wish, and there are other alternatives out there, but what I would like was for something that would be at least as flexible and as “hands-off” as the Storytlr service was, and that I haven’t been able to find out (maybe due to lack of trying hard enough).
So for now I’ll redirect the lifestream.nunonunes.org domain back to the nunonunes.org site and if and when I find an alternative I’ll point it back there.

But the question lingers in my mind, what exactly did you like so much about the lifestream that made you follow it instead of any other feed I have (say my Friendfeed or Google Buzz feed)? I’d really like to know so that I can look for a suitable alternative.

Anyway, thank you all for following.

About this entry

Originally written on Mar 03, 2010 @ 11:16
Read article on it's own page (permalink)

Google Accounts and the induced schizophrenia

I have one Google apps account for my domain (nunonunes.org) and in it I have my canonical email account. Associated with this account I have the XMPP (google talk) address, the Google Docs stuff (where I keep the pdfs, spreadsheets and whatnot) and my Calendar and “official” Contacts list.

Then I have another totally separate Google account (a plain one, not on my own domain) where I have my Google Reader, Latitude and a few other bits and pieces such as Blogger, Google Wave and so on. Also, because of the social nature of some of these services, I must maintain a separate Contacts list on this account. This Contacts info is not synced to the main Contacts list because, well, there simply is no (sane/safe) way to do it.

Do you see a problem here? Do you?
Also, can you see how the new Google Buzz exacerbates this problem?

Just yesterday a friend was telling me how he wished Google had a tool to merge all the multiple accounts he has on it due to the services they’ve been acquiring over the years.
Me, I’d like to have a single account for all of the Google stuff on my own domain.

Come on Google, it is high time you let me merge my accounts or, at the very least, allow me to have something as obvious as a reader feature on my apps account!
Buying companies left and right, launching new products and disrupting the markets is all very well and lots of fun, sure, but how about a little love for those who want, who really want to use your stuff in a productive and sane way?
This schizophrenia you are inducing in my on-line presence is really becoming a major nuisance. People don’t know whether to look up my own address or the address of the “fake” account and are sometimes not even sure how to get in touch with me on the web (on your services).

This is just shoddy on your part Google. I know it must take a bit of effort to get this particular bit together, but if anyone has the talent and resources to do this in a heartbeat, folded and with both arms tied behind your backs, you are it!

End rant.

About this entry

Originally written on Feb 12, 2010 @ 17:08
Read article on it's own page (permalink)

Diary 2010-01-29 - On reading

Reading is something I’ve enjoyed doing since I was a boy. It is not something that I’ve done consistently along my life, but those periods when I read the least were (usually) not particularly good ones and I didn’t read mostly because I just couldn’t find the time to do it.
Sure, I’ve always had a pile of books on my nightstand from which I would, on those occasions, pick one and start to have a go at it, until I fell asleep within a couple of minutes. At most.
Reading in bed, whenever I’m overly tired, just doesn’t work.

These last few years have been one of those spells when I hardly picked up a book. I didn’t stop buying them, though, I just stopped reading them, which had the effect of turning the to-read pile into a to-read shelve and then two to-read shelves.
In all honesty, I must say that I didn’t completely stop reading, I just stopped reading anything that was not technical and directly related to work. (One of the biggest advantages of being an engineer is that you never really stop reading and learning.)
This state of affairs lasted until a few months ago, when I decided to effect a few changes in my life which indirectly contributed to me having time to read again. Specifically, I started taking the train to work. Which turned a two to three hour daily drive into a 2 and a half daily commute.

So now I find myself reading again and, as I was discussing with a friend a few days ago, it feels like I got re-acquainted with a long-lost, but dear friend of mine. One which I’d missed so much!
The pile of books I have on the shelves is rather diversified and so far I’ve delved with much gusto into such topics as finance, historical fiction, randomicity ad uncertainty, pop anthropology, neuroscience, ancient treatises on the Bushido and Zen, science fiction, architecture and design…

I dourly missed my story telling friends and, thankfully, the pile of new stuff is still pretty big (and I still want to re-read lots of stuff,) so even if I were to stop buying new books now, I’d still be settled for a long time to come.

About this entry

Originally written on Jan 29, 2010 @ 11:39
Read article on it's own page (permalink)

Blosxom plugin for Disqus feedback system

This is a plugin that I concocted for enabling the usage of the Disqus on a Blosxom site.

It is perfectly possible to add this functionality just by tweaking the flavour templates, of course, but this makes it easier to use and also makes it possible to port existing sites to Blosxom and easily maintain the comments that may already exist.

It also allows for the individual turning on or off of feedback on a per-story basis.

I’ll probably add a zipped file with the plugin somewhere on the site, but for now the code is displayed right here on this page.

# Blosxom Plugin: disqus
# Author: Nuno Nunes <http://nunonunes.org/>
# Version: v0.01  2010-01-05
# Documentation: See the relevant sections of this file or type: perldoc disqus

package disqus;

# --- Configurable variables -------------------
#
# What is your username on Disqus (the one that should appear
# on the javascript section of the HTML pages)?
$disqus_username = 'nunonunes' unless defined $disqus_username;
# 
# Message to display if feedback (comments and trackbacks) is not allowed 
# on a story.
$feedback_not_allowed_message = 'Feedback has been disabled for this page'
   unless defined $feedback_not_allowed_message;
#
# ---------------------------------------------

# Use $disqus::comments and $disqus::comment_count in your story template.
# Use $disqus::footer in your footer template.

use vars qw{ $footer $comments $comment_count };

sub start {
  1;
}

sub story {
  my ($pkg, $path, $filename, $story_ref, $title_ref, $body_ref) = @_;

  my $feedback_allowed = 1;
  $feedback_allowed = 0
    if (defined $meta::allowfeedback && $meta::allowfeedback =~ /^n/i);

  if ($pagetype::pagetype eq 'story') {
    $comment_count ="";
    if ($feedback_allowed) {
      $comments = <<COMMENTS_THREAD;
<div id="disqus_thread"></div>
<script type="text/javascript" src="http://disqus.com/forums/$disqus_username/embed.js"></script>
<noscript><a href="http://disqus.com/forums/$disqus_username/?url=ref">View the discussion thread.</a></noscript>
COMMENTS_THREAD
    }
    else {
      $comments = $feedback_not_allowed_message;
    }
  }
  else {
    $comments = "";
    $comment_count = "";
    if ($feedback_allowed) {
      $comment_count = "$permalink::story#disqus_thread";
    }
  };

  1;
}

sub foot {
  my ($pkg, $dir, $head_ref) = @_;

  $footer = <<FOOTER_END;
<script type="text/javascript">
//<![CDATA[
(function() {
    var links = document.getElementsByTagName('a');
    var query = '?';
    for(var i = 0; i < links.length; i++) {
    if(links[i].href.indexOf('#disqus_thread') >= 0) {
        query += 'url' + i + '=' + encodeURIComponent(links[i].href) + '&';
    }
    }
    document.write('<script charset="utf-8" type="text/javascript" src="http://disqus.com/forums/$disqus_username/get_num_replies.js' + query + '"></' + 'script>');
})();
//]]>
</script>
FOOTER_END

  if ($pagetype::pagetype eq 'story') {
    $footer = "";
  }

  1;
}


1;

=head1 NAME

Blosxom Plug-in: disqus


=head1 SYNOPSIS

Integrates the comment and trackback service provided by Disqus
(http://disqus.com/) into blosxom.

Requires the permalink and pagetype plugins and knows how to work with the meta 
    plugin if it is installed.

=head1 INSTALLATION

Fill in the configurable variables according to the instructions and
put the file in your plugin directory (just like any other plugin).

If you whish to use the meta plugin together with this one make sure
that the it is run before this one (renaming meta to 00meta and this
one to 99disqus does the trick --read the bloxsom plugin documentation
if you require further assistance).

You need to have the permalink plugin installed for this one to work and it must 
run before this one does. You can use the same scheme as defined for the meta 
plugin to that effect.

    You also need to have the pagetype plugin installed and have it run before
    this one, just like the permalink plugin above.

=head1 CONFIGURATION

Fill in the variables in the Configurable varables section of this file 
according with the descriptions (which should hopefully be self-explanatory) 
and if you have any doubts check out the usage section bellow.

=head1 USAGE

After having set up an account on Disqus and filled in all the variables to 
be configured at the top of this plugin, just put the $disqus::footer in your 
foot flavour template, near the end.

Then, on your story flavour template, drop the $disqus::comment_count and 
$disqus::comments variables wherever you want them to appear and that's it!

Feedback (both comments and trackbacks) is enabled by default for all stories.
Should you wish to control this behaviour, you can do so on a story-by-story
basis using the meta plugin and assigning the meta-variable
meta-allowfeedback as exemplified below:

----------
My great story's name
meta-allowfeedback: no

This is a really interesting story...
----------

Any value you assign to this variable starting with the letter n turns it off 
and anything else (including not setting the variable at all) turns it on.

=head1 BUGS

Bug reports and comments may be sent to nuno@nunonunes.org.

=head1 CHANGELOG

2011-03-21 - Fixed some typos and bugs that were helpfully pointed out by 
             Christian G. Warden.

2010-01-05 - First implementation.

=head1 AUTHOR

Nuno Nunes <http://nunonunes.org/>

=head1 LICENSE

This Disqus Plug-in
Copyright 2010, Nuno Nunes

Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.

About this entry

Originally written on Jan 05, 2010 @ 22:33
Read article on it's own page (permalink)

New comment system - take 2

This post is just a quick heads-up (and a test actually) for the fact that I’ve switched the comment-handling system on this site again.
This time not because of spam, but because my previous “provider” —Haloscan— is going for a paid service and I’ve always used it for free and I can’t even remotely begin to justify paying for this functionality on this site. There are other reasons for switching, but this was the one that made me jump to attention and just do it.

Therefore, as you may notice, this site’s comments are now handled by the Disqus system.

Due to the nature of the writing here (more of a record of my findings, thoughts, etc,) I’m not overly concerned with losing the old comments with this transition (after all I have gone down this road before and I could never bring the previous comments along on the two or three migrations that this site has undergone anyway), but I will in time look into the possibility of importing the old comments into the new system.

That is all, the irregular programming will now continue as scheduled.

About this entry

Originally written on Jan 05, 2010 @ 22:03
Read article on it's own page (permalink)

Google Wave - how I use it

This is part two of a short series of essays I am writing on how I have been using Google Wave and my take on the system.
You can find the main article and index to the whole series here.

How I use it

Personally I’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’t work for me, for example:

  • Messaging: For me this does not make any sense. People have “waved” me with the “Hey, you’re on wave too, great, let’s chat!” talk and, quite frankly, it feels like trying to kill a fly with the proverbial canon. You can do it, but you really shouldn’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;

  • Exchanging longer messages: The “Dear Nuno, How have you been? I have been thinking about that party last week and…” kind of messages don’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’s current interface? This is the canonical use case for email, so just use email for that. If it’s not a “living” document, edited by more than one person, then it’s an email, not a wave;

  • Instant collaboration over a project: 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’s meaning and usefulness. It didn’t coalesce into a document, it was just a kind “white board” 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;

  • Planning: Two or more people collaborating on planning something like a trip, a podcast, or anything of the sort. I’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’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.

Things I’ve learned that work OK

As with any new tool, especially one that is as complex as this one, it takes time and experience for one to grok it. I’ve been using it for a while and I’ve already uncovered some patterns of usage that seem to crop up in most waves with different users. Here are a few examples:

  • Commenting on sections of a document: 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’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’re replying to.
    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’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;

  • Curating the wave (think wiki gardening): 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’re most involved in, summarize it, change the “master wavelet” 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.

  • Mind dumping: When an idea comes to me about a particular project/topic that I have a wave for (you know those “a-ha!” 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’, working with (the wave is about collaboration, after all) a chance to immediately start thinking about the issue/idea I’ve just got and I can get feedback really fast. I do this actively on some of the projects I’m waving about with people and it really works.

About this entry

Originally written on Nov 11, 2009 @ 08:56
Read article on it's own page (permalink)

Google Wave - what it is and isn’t

This is part one of a short series of essays on how I have been using Google Wave and my take on the system.
You can find the main article and index to the whole series here.

What it is

Google Wave is a product from Google which is, at the time of this writing, in a “technology preview” 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 —yet— intended for generalized use and people should bear that in mind when using it and trusting their valuable information to it).
It has been touted by many as a “email killer” and an “instant messaging killer” by but I will argue that that is a gross misconception of what wave is and it’s potencial. Sure, it can be used in any of those ways, but as I’ll explain later on, there are nearly no benefits to be gained by doing so and there are some drawbacks to it.

What is is (in my view, at least) is a very powerful and useful collaboration tool and a way of replacing the abusive way in which people in large groups or corporations use email.
The best uses I’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’ll expand on that on a future article.

What it’s not

Like I said before, people tend to think that once they get into the wave they’ll eventually stop using email and instant messaging as a means of communicating and connecting with other people. I don’t think this will happen —at least not with the current implementation of wave— and I’ll try to explain why.

Not Email

It is not a substitute for email, it is a substitute for the way people (especially in groups/corporations) abuse email.

Most people have been, at one time or another, involved in “the mail thread that never dies”. You know the one I’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.
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.
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’t even get me started on the subject of top posting in this context…)

If you work at a corporation that’s large enough this is part of your work setting, day in and day out. And then you’re probably also involved in document editing and revising via email. Yes, I’m talking about the “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” nightmare. (Yes, there are ways of alleviating this, but you just know sooner or latter this things will happen.)

And this is the kind of usage that is an abuse on email, but is just a perfect fit for something like wave.
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’t have versions per se, so if you want to send someone “the final version of document X” you’re better off emailing it to them rather than granting them access to the wave that document is being created on (please note that “granting access” to a wave is not something you can do right now, I’ll talk about this in a future article).

Not instant messaging

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.

Even in the context of the wave, sometimes things aren’t very easy as far as chatting goes (mostly due to the way the current interface shows other people writing in real time).
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’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 while she is still writing it, which is something we do all the time in real world physical conversations but that doesn’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.

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 —therefore— rather unieldy for that purpose.

Not a wiki

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’t have the fine grained structure that wave does, with the wavelets and blips (something I’ll go deeper into in yet another future article).

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 —people start writing and replying to everything that’s going on in the document and soon enough the side-threads that led up to the “finished” document just become clutter.
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 “gardener” is refactoring and cleaning-up the document. On a wiki the discussion is (usually) right there on the document, together with the “real” content or else it happens on a side “chat” page, which is a separate entity altogether and forces you to switch between it and the document you’re working on at the time.

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.

About this entry

Originally written on Nov 05, 2009 @ 18:30
Read article on it's own page (permalink)

Google Wave - my take on it

This is a short series of essays on how I have been using Google Wave in the few weeks since I’ve got my invite and why I think it is a great tool for collaborating.
This started out as an idea for a single blog post, but as I began outlining it and fleshing out the sections I wanted to write, it soon became too big for a single article and so I decided to split it into a few different ones so as to make each part bite-sized, making the whole thing easier to read and spreading it out over time a bit.

I’ll use this first article to keep track of all the subsequent ones, so as to turn it into a kind of index of the whole series (look for it at the end of this post).

My feeling so far can be summed up in like this: I really like wave!
I’ve been wanting a product like this for a long, long time and I’ve been using things like Google Docs for some of the purposes I now use wave for, but some things have been lacking all along.
I always knew what I wanted out of such a product (I’ve worked on a prototype of a system loosely resembling part of what wave is many years ago, on my last years at university, and I’ve been pinning for something like this to show up ever since then) and now, after using wave for a while, I find that it fulfills my needs quite nicely.

It is still not all there, of course (and I will address this on an upcoming article,) but it is on the right track.

This, then, is why I love Google Wave and why I think it is a product with great, great potential.
In the rest of the series I’ll describe some of my best use cases, interesting ways I found to use it and what I still feel is lacking.

Hope you enjoy it! (And no, at this time I have no invites to hand out, sorry.) :-)

About this entry

Originally written on Nov 03, 2009 @ 22:30
Read article on it's own page (permalink)

How to configure a ZTE MF636 3G modem on Fedora 11

Optimus is now offering a Kanguru-branded ZTE MF363 3G USB pen to it’s customers which does not work out of the box with a Linux Fedora 11 install.
The steps to get it working are, however, pretty straightforward to apply and this is a quick-and-dirty howto for the process.

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.

The steps to get your shiny new 3G modem working are as follow:

  1. As root do yum install usb_modeswitch

  2. Edit your /etc/usb_modeswitch.conf and add the following section:

    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.

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

    SYSFS{idVendor}=="19d2", SYSFS{idProduct}=="2000", RUN+="/usr/bin/usb_modeswitch"
    
  4. Right-click your NetworkManager applet and select “Edit Connections

  5. Choose the “Mobile Broadband” tab and either create a new connection or edit the existing one as you please

  6. Ensure that the following options are as follow (for everything else you can just leave in the defaults):

    • Number: *99#
    • Username, Password, APN are all empty
    • PIN: your own PIN

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 “Mobile Broadband” section and it should now connect.

If you wish to check it while connecting you can, as usual, tail the /var/log/messages log file, where you should see loads of (un)interesting stuff about the connection that is taking place.

About this entry

Originally written on Sep 21, 2009 @ 16:50
Read article on it's own page (permalink)

The content of this site is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 2.5 License.