Anti-DRM stickers

I told you: we have to fight against DRM. I've already started, as you can see in the pictures: marking products that have DRM with stickers saying "WARNING DRM: Product restricts usage or invades privacy" and trying to alert those who may be more open to know about the dangers of DRM by posting stickers saying stuff like "PROTECT FREEDOM #1: ELIMINATE DRM" in places like music stores, techology centers and so on.

What about you? There's a lot you can do, but let me help you... If you're in the Portuguese cities of Lisbon or Coimbra and if you want a bunch of anti-DRM stickers, please let me know, and I'll try to meet you in person to give you some. If you want to coordinate combined efforts in sensibilizing people about the dangers on DRM, feel also free to contact me. Have some ideas about what I could do to fight against DRM? Please tell me.

Let's fight for a future with freedom, let's stop the corporations atempt of destroying art!


October 3: Day against DRM

October 3rd is the Day Against DRM

So, October the 3rd is a day marked to be a day of action against the dangers of DRM.

Big Media describe DRM as Digital Rights Management. However, since its purpose is to restrict you the user, it is more accurate to describe DRM as Digital Restrictions Management. DRM Technology can restricts users’ access to movies, music, literature and software, indeed all forms of digital data. Unfree software implementing DRM technology is simply a prison in which users can be put to deprive them of the rights that the law would otherwise allow them.

From Richard Stallman, President of the FSF:
”The motive for DRM schemes is to increase profits for those who impose them, but their profit is a side issue when millions of people’s freedom is at stake; desire for profit, though not wrong in itself, cannot justify denying the public control over its technology. Defending freedom means thwarting DRM.”

From Bruce Schneier, Security expert:
[...] digital rights management is not a feature that users want. Being able to remove copy protection is a good thing for some users, and completely irrelevant for everyone else. No user is ever going to say: "Oh no. I can now play the music I bought for my computer in my car. I must install a patch so I can't do that anymore."

Q: What the heck is DRM, and why is it so bad?

A: Good question. First, let me list for you some of the things that I like to do, as the chances are you like to do this stuff too:

  • * I record my favorite shows and watch them later.
  • * I like to create mix tapes for my friends.
  • * I want to watch my movies on my PC, TV and portable device.
  • * I make back-ups of all the music I've downloaded.
  • * I want to watch the new high definition stuff on my high definition display.
  • * Sometimes I like to share my videos or DVDs with my friends or family.
  • * I like privacy, so I don't want anyone snooping what I've watched or read.
  • * And I want to switch to GNU/Linux and do all this stuff as well.

DRM enables Big Media to stop you from doing this stuff. You see, THEY call it Digital RIGHTS Management - their rights. They want the right to restrict you and your behavior. That's why WE call it Digital Restrictions Management.

In short the Big Media conglomerates have realized that the traditional way of doing things - they sell you stuff and it's yours - isn't as good for them as - they sell you stuff and it's theirs. It's much better for them if they still own the stuff you buy from them.

Free Software refuses to be locked down by DRM, so Big Media will refuse to release films or music playable by free software.

Want to do something to prevent this? Join us.



Dear you: if you're wondering what should you offer me, please consider this: after all is way cheap and a genious idea.

The pictures say it all - these are rechargable power cells, like those I use for lot's of things, but... charged via USB. Sweet! Oh, and for those thinking this is weird, since you thought I'm not a gadget kind of guy... I'm not, but this rocks!

If you're wondering, the manufacturers claim that it takes about 5 hours to fully charge a battery, but they are working on significantly reducing this time. There is already a version of this battery for cell phones, which has a USB jack attached to it via wire, but the whole wire thing isn't as sexy as this cells. Launched just last week, the site has had over 100,000 visitors already. The battery is going to be available first in UK, then later in US. It will be sold direct online and via major chains.


New laptop

HP Compaq nc6220 Notebook
As I've told you before, my old laptop had its hard disk die, and I was pondering wether to buy another hard disk or a new laptop. I even looked out for the latest ASUS. Well, no need for that.

Thanks to the nice folks of SonaeCom (yup, where I work), I didn't have to spend money on any of those things since they gave me a HP Compaq nc6220 Notebook PC, as you can see in the picture. It has a DVD+ RW, 1.7GHz Centrino, 1 Gb RAM... Sweet! Of course the first thing I did with it was to install Debian there, and now I'm a happy user of my new laptop!

Since my old laptop was named Atlantis, this had to be Lemuria.


meme: top ten UNIX shell commands

So, it seems that there's already another meme flooding the blogsphere, and who am I to break the chain?

This are my most used shell commands in my work station:

[marado@noori ~]$ history | awk '{print $2}' | awk 'BEGIN {FS="|"} {print $1}' | sort | uniq -c | sort -nr | head -10
144 mplayer
81 ll
81 cd
67 fg
61 perl
58 mv
49 vi
41 ssh
35 wget
33 ls
[marado@noori ~]$

Some notes on this:
  • I was surprised with mplayer being the first command. Yet, that's justifiable if you take in consideration that I use mplayer as my music player whenever I'm playing stuff I have on my hard disk (not that frequent since I spend my work time listening to Pandora, tho), as my podcast player (twice a week, since I only listen to two weekly podcasts) and to listen to online radio (when the Flash player stops spitting sound and I don't want to restart the browser (there are so many tabs!).
  • ll and ls should be aggregated as one, and its use is obvious.
  • fg should be aggregated in vi, since I almost never :q my vim instances, but, instead, put them in background...
  • perl is quite obvious, since I work coding with it. While I don't code in this machine (I ssh to some boxes where I code remotely) I write some scripts and similar stuff here.
  • Finaly wget. 10 are .zip's, 6 are .pdf's, 13 are mp3. .zip's, .pdf's and others are all because everything people link me to and that I get to read later is wget'd. That include .pdf's, .zip's, .pps's and such. The downloaded mp3's are all from a netlabel called tlhotra.


gnunet-chat: the next-generation talker?


Finaly, after four years talking about it, gnunet-chat is on GNUnet's roadmap (for GNUnet 0.7.4), and there has been some discussion on how to implement it.
This article aims to provide a description on how could gnunet-chat be implemented, and should be seen as a "Request For Comments".


In this section I'll try to give you some background on what are talkers and what is GNUnet, so it turns easier to explain how and why should we mix both concepts together.


Talkers are text-based online virtual worlds to which multiple users are connected at the same time to chat. People log into the talkers remotely (usually via telnet), and have a basic text interface with which to communicate with each other, in a somewhat similar way to how MUDs work.

When a user connects to a talker, he enters a room (a "virtual space") that has some links to some other rooms in order to make some kind of map. Talker users can talk privately to another talker users, wherever they are in the talker, chat publicly to someone (in a way that others near can watch them talking) in generally (to all of those who are in the same room as he is). Shouting is also possible, making all the talker users to hear what that user has to say. Of course, users are able to move themselves from one room to another, unless the room where they're walking towards is closed.


GNUnet is a framework for secure peer-to-peer networking that does not use any centralized or otherwise trusted services. Since such a framework provides the means to do any kind of network communications, virtually any network application you might want to do is feasible using this network. A first service implemented on top of the networking layer allows anonymous censorship-resistant file-sharing.


So, if we have a simple form of chat that is a simple form of a virtual world (as a matter of fact that are claims that a talker is "the simplest possible Virtual World"), and then a way to make any kind of communication in a censorship-resistant secure and anonymous fashion, why not combine both things and create a secure, censorship-resistant and anonymous virtual world and way to chat?

Let's think, first, on the concepts that needed to be implemented.


Each gnunet-chat is able to have any number of avatars (meaning a "virtual persona"), although I'll talk (for simplification purposes) in only one avatar per node. Each avatar (also to be called user or node) has properties such as a name (mandatory), a description (optional), a keyring (optional) and a location (optional). All of this are self-explanatory, but let me empathize some things: the description should be in ASCII. Also, the keyring is to be taken as in the original sense of the word: a set of keys to several places. If a room is locked, the avatar can only walk in if he has the key needed to do so. Finally, the location is mandatory if you are online, and needed to know where to spawn him when the user is connecting to the gnunet-chat world. If there's no "location" set, he must spawn in a never-private are, the "by default" room of gnunet-chat.


Each room also has a set of properties: a name (mandatory), a description (optional), a owner (optional), a gate (mandatory), and a list of links (optional). The name is to be how the room is referred to: something like "Jungle", "island", "castle"... The description is optional and is to be something like an ASCII banner. That way you can have a room called "island" with a description like
You open your eyes and find yourself on a deserted island. The sky is blue
and the water is clear. Suddenly, you hear voices and laughter far away.
Excited, you follow the sounds to a calm beach. Hiding behind the bushes,
you see... MERMAIDS! A couple of them spot you and signal you to come near
them. "Hi! Follow us to a magical world!" a little mermaid says. The
mermaids dive into the ocean. You don't hesitate and dive in after them...

or a room called "Jungle" with a description like
                    `o_ o  )   `-.  (     ).`-.__.`)
                    (_Y_.)'  ._   )  `._ `. ``-..-'
                  _..`--'_..-_/  /--'_.' .'
                 (il).-''  ((i).'  ((!.-'

Of course that if a room has no description, then no description will be shown.
The original creator of a room will be automatically it's owner, The owner can offer that room to another avatar (and the room changes ownership), or to revoke ownership (and the room belongs to the virtual world and no avatar will have it). Being the owner of a room is important since only the room owner can lock the gate (which has two states: locked or unlocked). If one room is unlocked anyone can come in, but if it is locked only the key owners can enter.
Finally, each room can have a list of links (if a room hasn't one then it will have the same behavior as if it has an empty list). Each link represents a pointer to another room, showing a "virtual physics connection". Once again, only room owners can create or remove room links.

Rough scheme of implementation

While the user interface will let the user refer to a room by its name, the gnunet-chat node will talk to the network not by it's name but by it's public key.

If a node X wants to go to an open established room, it broadcasts a request to all chat-enabled GNUnet nodes. Other nodes ("Y") that are in that room will update their info, seeing that avatar as present in the room, and reply to him with an advertisement.

If a node X wants to go to a closed established room, it broadcasts a request to all chat-enabled GNUnet nodes. Other nodes ("Y") that have the key for this channel answer and request an AES sessionkey S for encryption of chat messages. The joining node X must not reveal the room key to the answering node Y, because this node might be someone pretending to be a member of Y trying to get the channel key. Instead, the joining node generates the random sessionkey S, encrypts it using the room key and sends the result to the answering node Y. Y decrypts the session key and uses the sessionkey to encrypt a channel advertisement. If either X or Y don't have a valid key for the room, the decrypted advertisement is invalid.

An advertisement consists of the room description, and a list of avatars (public keys of the members of the room).

Nodes achieve anonymity by acting as relays for other nodes. Since all relays decrypt new messages, they have to be signed by the author to guard against forgery. To detect censorship, members of a channel regularly post user statistics ("user A: 10 msgs, user B: 23 msgs") that every nodes compares with local statistics.

Further work

I hope this article will lead the interest parties into an healthy discussion of this model. Furthermore, and before the actual implementation of such a thing, this concept (specially the scheme of implementation) have to be enhanced to describe all possible commands (actions) an avatar has, and what are the reactions for it (and how they're achieved).

If you want to comment on this, please feel free to do it here on my blog or by e-mail. I intend to post a copy of this on GNUnet's community so you'll be able to see some reactions there too (or so I hope).


XML 2006 registration open

IDEAllianceOK, OK, I know I just recommended you SHiFT in September and XTech WebDev in October, but if you still want more good events for the year, know that the XML 2006 conference will be from 4 to 7 December, and the registration is already open.

Don't miss XML 2006, the annual gathering of XML experts, novices, developers, managers, and others representing the spectrum of people working with XML and the technologies and applications that have emerged from it.

XML 2006 provides 4 focused tracks to provide you with in-depth information relevant for today’s users and thought-leaders.

XML 2006 features 3 industry respected keynoters:

  • Darin McBeath, Chief Architect at Elsevier. Unleashing the power of XML.
  • Jon Bosak, Distinguished Engineer at Sun Microsystems and Chair of the original XML working group
  • Roger Bamford, Principal Architect and Senior VP at Oracle

XML 2006 offers much more: informal networking opportunities, panel sessions, exhibits, receptions, and time to meet and greet speakers and thought leaders.

Review the full conference agenda: XML 2006 Program

For full XML 2006 registration details, view the registration page.

Once again, this is one event I'll have to miss, but it you can manage to go, don't think twice!

Linux Kernel 2.6.18 Released

Linus Torvalds announced the release of the 2.6.18 Linux kernel, following the previous stable kernel release by three months. He exclaimed, "she's good to go, hoist anchor!", the second year in a row that a kernel release has coincided with 'Talk Like A Pirate Day'. "Here's some real booty for all you land-lubbers," Linus continued, "there's not too many changes, with t'bulk of the patch bein' defconfig updates, but the shortlog at the aft of this here email describes the details if you care, you scurvy dogs." In keeping with the theme, he signed the announcement, "Linus 'but you can call me Cap'n'".

The latest kernel source can be downloaded from your nearest Linux Kernel archive mirror. You can browse through all the changes using the gitweb interface, complete with a 2.6.18 tag playfully declaring, "Raise the Jolly Roger!".

Source: KernelTrap



So, I promissed a review on Kaneva, a Web 2.0 social network, and still didn't deliver it. Some people asked me about it, but I've mixed the fact that I hadn't really the time to do a proper review with the fact that I was exchanging some e-mails with Kaneva's folks to postpone this blog post. Well - I'll postpone it no more, but sorry - this isn't really the review it should be.

First of all, IMHO Kaneva has all the things they need to, if they develop them, be the ultimate Web 2.0 social application. Yes, that's right - while not being a mashup of mashups (fortunately!) they'll bringing to kaneva all nice things about the nice Web 2.0 social apps you have out there - and doing it well: integrating and innovating instead of copying. If Kaneva is a social network of all sorts and Flickr is a photos social network, why would they behave in the same manner? Thumbs up on Kaneva for that.

Another thing I'm excitingly expecting from Kaneva is "the Virtual World of Kaneva": a Virtual World certainly feels right when we're talking about the kind of relationships and links you can do in a social network. They expect the VW's beta to open "towards the end of the year", and I certainly expect them to get me a beta account then.

But not all in Kaneva is cool, and I argued about it with them. They took all those things in consideration and thought I was right, so... let's just wait and see if they fix this things.

  • Lack of RSS feeds - You have lot's of feedable content, namedly (but not only) the blogs. Yet, I didn't see no feeds there...
  • Blog Import - If you want to have people migrationg to Kaneva from their actual system, and since the blogs are usually the only real content people don't want to loose in the social network features Kaneva has, when setting up the blog, a Kaneva user should be able to have his blog section imported from another system (via RSS, for instance) instead of having to use Kaneva's blog;
  • Usabillity - There are some usabillity problems in Kaneva (try to visit Kaneva using Opera Mini, for instance) and you'll see what I mean;
  • Kaneva's Blog - As you can see in this article (thanks for the link Gonçalo!), every startup should have a blog, and Kaneva hasn't;
  • Acessibility - Kaneva has some features that use Flash 8 (or bigger) which is a no-no: remember that Linux users don't have any recent versions than Flash 7.
The last thing really pisses me off - and it's the decision point for me from being a heavy user of Kaneva or do not use it at all - the number of Flash 8 things in there is so great that you cannot do almost nothing without it (which is my case - a Linux user), and I didn't saw any attempt to change that (migrating to Flash 7 shouldn't be that hard). It's quite nasty when you upload a music and then try to hear it, just to read the message "This computer needs Flash 8 or later to view this video." Hey, it's not a video, but that's not the issue - the issue is that there's no plausible reason for using Flash 8 in a music player!

Well... All in all, I still have hope on Kaneva. If they play well, I can see a bright future for them. More importantly (for me ;-), I'll be using it ;-) But what I'm really really curious about is Kaneva's virtual world (nowadays web virtual worlds just suck, and this doesn't seem to suck!) and what will be the decision factor is the version of the Flash they're using.

Python 2.5 is out!

So, Python 2.5 is finaly out!

I'm not coding much in Python this days, specially not using Python to do real stuff (just some simple scripts), but you have to love this new release.

Besides being faster and more reliable, it has some awesome new language stuff, like the new "with" operator: it will turn try/finally blocks from
        VAR = EXPR

        with VAR = EXPR:

... Awesome, heh?

Also, generators now have push, throw and close methods. And this is to Perl coders like me: I also liked the fact that Perl lets you do stuff like
$a = 3 if $b == 1;

, but Python 2.5 will let you do not only that, but
$a = 3 if $b == 1 else $a = 2


Finally, let me quote two other things that left me excited:

New builtins any and all evaluate whether an iterator contains any or all True values, respectively.

min and max gained a key keyword parameter, analogous to sort.



Hi there,

Since I hadn't the time I wished to have to write about some of the stuff I have on my pool of things to write about, today I'll just leave you with some links:

  • EurOSCON 2006 begun today. Since I know some people there, they gave me some updates on what's going on and I so envy them. Well, maybe next year...
  • Ever heard of pdfjam? I didn't, and I'm sorry, because this blog post just made one directory of perl scripts of mine completely obsolete.


Software Freedom Day

Software Freedom Day
The Software Freedom Day is a global, grassroots effort to educate the public about the virtues and availability of Free and Open Source Software. Local teams from all over the world are organising events tomorrow, 16 September 2006.

If you want to find what's going to happen near you, visit this website. For those Portuguese out there, we have stuff happening in three cities: Lisbon, Oporto and Aveiro. All of them will have a community lunch (I only know where the Lisbon's will be), and the Lisbon's meeting will have a free CD's distribution with Free Software.


Life, the Universe and Everything

Damian Conway in Portugal
So, yesterday I went to Damian Conway's fabulous talk Life, the Universe and Everything. What really surprised me is that he really talked about Life, the Universe and Everything else, and used all that to give us some sugar on Perl 6... He started with the Game of Life and applied the second thermodynamics law on it, to prove Maxwel's deamon wrong... all in Klingon Perl! Is he crazy or what? ;-)

So, what now? Well, I don't think I'm going to be able to attend to any other of these things this year, but for you I have some suggestions of great stuff that is still going to happen this year:

Shift (28, 29 September, Lisbon, Portugal) will be all about emerging technologies, whether they’re the latest internet trend or the latest social or psychological development. SHiFT will evolve around five major areas, and the idea is to have contributions about them from all sections of society:
  • People and Technology
  • Knowledge Management
  • Civic Participation
  • Rights, Liberties and Privacy for the Digital Age
  • New forms of Economics

XTech WebDev (31 October, London, UK) is a one-day training event designed to bring web developers up to speed with the latest advances and best practice in web development. Covering topics from application design down to technologies such as REST and Ruby on Rails, it's ideal for development teams wanting a quick heads-up on recent web technology.


How wrong MySpace can be?

MySpaceFirst of all: I don't like MySpace, so yes, my oppinion can be seen as biased.

So, yesterday MySpace guys announced that they might create an YouTube alternative. No shit. Now, what really surprises me is what they said in the industry conference...

Let me quote some pearls:
  • most of YouTube’s traffic starts at MySpace
  • If you look at virtually any Web 2.0 application, whether its YouTube, whether it’s Flickr, whether it’s Photobucket or any of the next-generation Web applications, almost all of them are really driven off the back of MySpace
  • 60%-70% of YouTube’s traffic comes from MySpace

Dudes, are you crazy? Reality check, please!

Let me point some issues here for you to ponder:
  • MySpace is a useless space where people can link with each other to do nothing; YouTube is all about sharing media content
  • The exception in MySpace is MySpace music, where people share audio media, but YouTube doesn't compete with that, specially 'cause it isn't just directed into artists unlime MySpace Music
  • Since there are so many differences between MySpace and YouTube, you can expect to have four kinds of internet users: MySpace users, YouTube users, MySpace and YouTube users and people who don't use none of those
  • Then, there's no way possible to create that insane possibility that MySpace is the service creating users to YouTube, nor that 60% to 70% of YouTube's users are also MySpace users, specially in those cases that only use YouTube because of MySpace
  • MySpace is an ugly piece of shit and is a great example of how can something do everything wrong in an Web 2.0 application. You didn't create Web 2.0, nor you are the inspiration of the other web 2.0 applications. Mainly 'cause the majority of them aren't even playing in the same markets.

So, now, please, GET REAL, stop thinking you're the best, don't throw more jokes like those to us ('cause you ain't funny) and specially fuck off and go take care of your users, since you're doing a really bad job. Like, err, stop that "Flash 9" madness you're planning, put MySpace Music at least at the level of it's concurrents, get some design lessons, make your site with acessibility, stop blocking external links in Flash widgets, stop your scaling issues due to the hodge podge of coldfusion, ASP, and IIS, ... and that's just for starts.

Excuse me if you're offended for this words. If I sounded pissed off is, well, because I am.



As I've told you previously, I'm a beta-tester of goPlan, a collaboration webapp made by WeBreakStuff. I really like this application, already use it for one of my projects, and when I get the time to manage my own stuff I'll start using it for more projects. So, what is goPlan? According to WeBreakStuff's site,
GoPlan is web-based project management and collaboration software. The application's main objective is to enhance communication between members of a project - whatever its scope might be.
But I'll say more: goPlan is a good tool even for those projects you have by yourself.
goPlan screenshot
So, goPlan private beta started, and I have five invites to give out, so, if you want some, just post a comment here and I'll give'em to you. This also means that now I feel there's already no problem in reviewing goPlan. But, while I could do my usual review on this webapp I don't really feel like doing it: mainly because I'm using it already for quite a while now, so the review wouldn't really have that "first impact factor" that reviews usually have, and because people of WeBreakStuff did the fine thing of letting beta-testers (or at least me) to add the goPlan project to their list of projects - which means that every time I find a bug or a flaw on the system I just open a ticket to them and they fix it as they feel like (according to their oppinions/decisions/priorities). Which is really a nice thing - I think that they might be able to create a sense of community there.

Goplan provides features like Notes, Blog, Calendar, Tickets, Tasks, Files, and Chat, and let me enphatize the chat - a really nice to have (specially because you may have hundreds per project) that you never saw in other applications like this up today: it's great to be able to chat with your project mates about your projects without having to add them in your IM rooster and be linked to them in any kind of situation - this is preety cool since you'll probably try to not mix your friend-chats with your work-chats with your projectx-chats...

Startup Sqad's review on goPlan alerts on some of the issues I hope the WeBreakStuff team will address soon: stuff like the lack of fuctionalities on calendar (which I know they're planning to do something about) and the lack of user-friendliness of textile (at least as the only option).

All in all, goPlan still has a lot to evolve, but it inspires confidence - a feeling of trust that tells me that they'll keep improoving it. It might not be the best sollution for all of those scenarios they want it to be - but - at least while I'm not paying for it - it is the nest sollution for some cases - and they promise to make it better and better.


Funny easter eggs

PythonI really like to know about funny easter eggs in software, specially if they are in command-line tools/apps. I've posted some before (sorry, but I won't bother searching them just to link), but today I just found about one other:

root@noori ~]# python
Python 2.4.3 (#1, Jun 13 2006, 16:41:18)
[GCC 4.0.2 20051125 (Red Hat 4.0.2-8)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from __future__ import braces
File "", line 1
SyntaxError: not a chance

Thanks to Melo for this one...

Treemo: walking on the right path

TreemoWhen I talked about the actual music industry scenario with the technological advances we're seeing on BarCamp Portugal, I said that new stuff was needed, and that some webapps are walking towards the solutions needed (like Amie St. or SellABand) but we weren't there yet. Well, yesterday I knew about Treemo, the next step towards what we need.

Joining the likes of Flickr and YouTube and a fairly busy marketplace, Treemo is trying to change the status quo in two noticeable ways.

The first is that they’re paying strong attention to the mobile device market on both the contribution and the consumption side.

The other twist is that the company seems to be very interested in growing a socially conscious community and have set up affiliations with a number of different organizations in an effort to keep its users involved in some things besides just sharing video clips from last night’s adventure at the bar.

Here's some cover on Treevo, TechCrunch's is outdated so discard it. Specially regarding to the issue that made me look to Treemo at first:
When you sign up for a pro account, you can enroll in our upcoming revenue sharing program. Treemo will share back revenue to users for the content they create.

That's right, while consumers of your content don't have to pay nothing to get your content, you still might be able to get some money for it. Too bad it will only happen to pro accounts:
Treemo is free with 200 MB of storage per month (1 GB total limit) and most of the functionality. We will be rolling out a 'pro' service -- that costs $2.99/month -- soon. The 'pro' service will have essentially no storage limit and several new, exclusive features.

Paying three dollars per month to get 50% of revenue out of advertising? It seems that you won't have money to win here (probably to loose) unless your content is really highly requested...

While new features are surely going to appear, their model business will hardly change - but will, perheaps, evolve. Yet, and under the actual stance that, I don't see them as being a viable way for artists to earn money with their art, but it's a good step towards it.


perl.pt design contest

perl.ptAs I've told you before, perl.pt was created, but it's website kind of sucks, so they've put up with a design contest.

Until the 30th of this month you'll be able to participate - you just have to use this logo, valid XHTML and CSS, level A WAI and support for the Portuguese and English languages. To add to those, I would personally like it to be acessible and to have ATOM besides RSS.

You won't get any price if your design wins, but, on the other hand, the site will show your design, which must be cool, heh? And, most importantly, you're helping perl.pt.

Saving the audio out of a video stream

So, you really want to get the audio from that video stream you see in that website, but you don't know how? I know that it can be usefull, when, for instance, the stream is from an interview and you can't hear well what they're saying even your your volume maxed up. So, the easy way to do that is just:

  • Grab the url of the stream http:// or mms:// or anything - it doesn't really matter);
  • mplayer mms://blabla.com/whatever.wmv -ao pcm:file=output.wav
  • Now you have output.wav, just process it to fill your needs!

You should look up to -vc dummy -vo null if you don't want to see the video as the audio is being recorded. It will go fast, also.

Take in consideration that mplayer runs in lot's of Operating Systems: it's not a "Linux thing" only... You can run in on your favourite BSD flavor, Mac OS, Windows or even in your XBox. So don't be shy and give it a try.

This post was kindly bringed up to you by the "RTFM before begging me to tell you how to do" team.

libextractor 0.5.15 released

libextractor is a library used to extract meta-data from files of arbitrary type. It is designed to use helper-libraries to perform the actual extraction, and to be trivially extendable by linking against external extractors for additional file types.

Yesterday libextractor 0.5.15 was released. This release fixes minor problems in the PDF extractors and improves the PNG extractor. It also makes libextractor relocatable (by no longer building the installation path into the binary). Various translations have been updated.

Portuguese "Citizen Card" aprooved

Portuguese Citizen CardWow, I wasn't counting on this one: aprooved the Portuguese "Citizen Card" too soon, giving no time for contestation on the solution presented.

To give you some understanding about what I'm talking about, just take into consideration that there are already some countries with similar solutions (in concept, some better in design) and last year we saw those all cracked in What The Hack. I would guess that after the new Portuguese digital passport issues (the first fake one was used one day after the system was up) the Portuguese goverment would be more careful about thins kind of stuff, mainly security-wise. But they didn't: the Pegasus Project clearly has several flaws security-wise. And this is no passport - this is a card that aggregates info on five now-existent cards and info about yourself. Your live is going to be recorded there, and being naive about security in a system as this just scares me.

So (and this question is most directed to those who attended to BarCamp Portugal, but I really expect to get more people acknoledge this issue), what can we still do about this?


Damian Conway in Portugal

Damian Conway
As I told you before, the Perl guru Damian Conway is comming to Portugal to lecture about "Perl Best Practices" in the next days 12 and 13. There are still a few spots for the event, so if you want to go hurry up and register yourself. The price is 750 €.

Now, the news is that for those (like me) that can't attend to that lecture (which promisses to be nothing but awsome), Damian is still here: in the night of the 13th, at 21:00, Damian is going to do a presentation about entitled "Life, the Universe and Everything", and for free! You just have to register and you're in!

So, if you're Portuguese, don't loose these opportunities to be with Damian... Now you have no excuse!

Dystopian tech views

Evil GoogleOne of the tech-o-sophical discussions I had on BarCamp (and that ended as being something almost like a lecture) was about me showing my "dystopian tech views", and ended with me recommending the reading of books like 1984, We and Fahrenheit 451. The argue started with me saying that Google was far away from their "do no evil" motto, and that, despite all the hype they still have, they're, for a while now, stopped to really give the technologic world good new stuff. But, while talking about that kind of stuff, I always feel "alone", and others allways look like way-to-optimistic to me. Well, now I've found that I'm not the only one with this kind of vision, and all because you can only think dystopicly when you hear about Google creating eavesdropping software.


And the rant of the day

BloggerI was missing something: ranting. After this big vaactions I took, I spent a lot of time without saying bad stuff on stuff... It's a kind of an addiction, get it? I even retained myself of talking too much bad about Microsoft at BarCamp, can you imagine? So, I'm back, and since it's quite late I chose an easy-pick.

Now, imagine you have an application called "xpto". You have two versions of it: one is called "xpto beta" and the other only "xpto". What will you guess? Well, if you're not one of those belonging to the "MySpace generation", 10 year-ld kids that only saw "beta" in Web 2.0 apps, you can't miss this: "Xpto beta" was an almost-release yet-buggy version of Xpto, and then, when final and stable "Xpto" came.

What intrigues me is what the hell is happening in Google people's minds: Why, after having Blogger for years, WHY do we have NOW "Blogger Beta"? HELLO?

Back to business

As you might imagine, I'm preety busy being back to work after 3 weeks of vacations. Yet, since there are some things I have to tell you, I'll just use the silly-tag-stuff to tell them to you:

Trace "blog-tagged" me, which means I have to do the silly chain-blog-spamming thingie. Or, in other words, "the tagged person writes six things about himself, and tags six other people to do the same". So here it is:

  • My vacations were awsome!
  • BarCamp Portugal was awsome, my presentation went quite well, if I take into consideration that the theme wasn't that interesting for almost all of the barcampers there. The picture in the end of this post was taken there, on my presentation.
  • I'm preety pissed off: my laptop's (and only personal computer) hard disk is DEAD. No possible fix. So, besides being pissed off, I'm starting to ponder wether I buy another laptop (I have the excuse now) or just another hard disk. But I'll need some time to see what ASUS has to offer this days...
  • I know the best blonde joke ever
  • This blog was once infected by a worm
  • I'm just making this post now so that I can do a post on my musical project blog that will link here

About those six guys I want to tag with this...
  • Trace is being officially tagged: I'm doing this to see if he now acomplishes the rule and chooses six people to tag on, not only two!
  • Nuno Nunes is tagged. I'm doing this since I know he is a reader of this blog, and his blog is feeded on P*. I'm kinda curious to see the reaction of the guys on P* to this kind of "spam", specially if the thing sticks inside P* people (they tagging themselves)
  • JCP is tagged (you know who you are). This is just to try to make you start blogging ;-)
  • cha0s is tagged (you know who you are). This is just to try to make you start blogging ;-)
  • Lua is tagged (you know who you are). This is just to try to make you re-start blogging, your blog disappeared!
  • Finally, hmmm.... let me think... Well, Neil Stephenson! ;-D It would be AWSOME to know that someone like him read things like what I write... (yeah, right!)

Well, end of stupid blog post, back to work.
Mind Booster Noori on BarCamp Portugal


Planet BarCamp Portugal

BarCamp Portugal 2006
Unfortunately only a few hours before BarCamp Portugal 2006, I've just setted up Planet BarCamp Portugal, an aggregator where you can read the thoughts of those who are going to attend this year's BarCamp Portugal.

If you're one of those, see you tomorrow!


How Technology is changing markets - The Music Industry Scenario

BarCamp Portugal 2006 - CoimbraAs you might know, BarCamp Portugal 2006 starts tomorrow at 14:30 GMT. I'm scheduled to talk about "How Technology is changing markets - The Music Industry Scenario", and since I had nothing prepared for it, and since I needed an excuse to try out Zoho, I've just made some slides to help me go though the talk. If you want to read (and comment) them, they're here.