Twivie logo

 

It's for all of us a great honour to anounce Twivie.com, one of the first attempts to create a community around Twitter on movies!

Well, what is Twivie? Think about this, people are used to tweet about pretty much everything, including movies, and there is a lot of information on movies circulating on Twitter, but no one catches it and presents it in a website where you can easily keep track of the movies being talked about that matter. Twivie attempts to solve this problem by catching all the tweets with a certain syntax, and presents some nice statistics on them.

 See, Twitter is, at the moment, the greatest web forum ever, but very few people are using it to pull out the information being shared there. Twivie is our attempt on movies and will be nice to follow the growth of this application.

I hope you enjoy it and take a moment to check the website.

Start twiving! 




(this post is only written in english due to the exportation of these Magalhães (Magalhaes/Magellan) laptops to non-portuguese speaking countries like Venezuela, who there might find this post useful)

 

The Magalhães
 

 

So it has arrived, finally, the Magalhães netbook that the portuguese government has been using to increase the usage of computers by children. Adopting the idea of the portuguese company JP Sá Couto, and being supported by Intel, as the computer is nothing else than a Classmate PC, the portuguese started a campaign that rivals the ones did by OLPC and at the same time appears to succeed over them all by the quick partnerships done with African and South American countries, which might turn this project in the de facto cheap laptop for every child in a considerable number of countries. Nothing more than a victory to Intel...

Anyway, here in Portugal, the laptop that was promised to be delivered to all the children still wasn't to most of them. But let's talk about the laptop itself, pros and cons.

 The system features two USB ports, audio-in, audio-out, ethernet port, wireless card and SD memory card slot. 

 

MacBook White 13" and Magalhães

 

The first thing anyone will notice is the keyboard as it's very tiny (as you can see in the image above compared with a 13" MacBook White). Any adult will find difficult not mistyping any word, but since this laptop is not for them that can't really be counted as a con, although we may expect this to be the only computer of the teens of tomorrow, who will certainly feel the laptop too small for them over time. The same goes to the screen. But overall, externally the laptop seems very resistant in its strong plastic body and also very light and portable. Also, the system seems well synched in its components resulting in a very good experience both in Windows XP and in Caixa Mágica Linux (a portuguese GNU/Linux distribution).

 What's wrong then? The main problem that arises is in the disk formatting. When you hear a system with a hard drive of 30GB, you expect it to have at least 15GB of free disk space even if Windows XP is already installed. But in this case, since there is no CD/DVD drive and we're talking about a dual boot system (with two operating systems) the practical result is that users end up with something like 4/6GB of free disk space in the system. Thumbs down. This arises, as said, from the dual boot installation, with Windows XP on a 15GB NTFS partition taking already from the start something like 12GB of it, a 5/6GB Linux partition, a 4GB NTFS for data (the only really free space), and two other partitions of 2GB each for recovery of both operating systems, since there is no cd drive (careful, these recovery partitions will not replace most of the software pre installed, like the Office suite in Windows). In the images below you can see a list of the partitions made on the Magalhães' hard drive, and below that, the amount of free space a Windows user will get right from the start.

 

Fdisk -l runned on CaixaMagica Linux
 
Space left on Windows partition  Data partition
 
Although there are a lot of pressures both from Microsoft, that has a long partnership with the portuguese government (that seems to enjoy paying the licenses), and from Caixa Mágica, that has managed to deploy its distribution on the Magalhães, I would say that if there is a shortage of disk space, the worst thing you can do is turn it even shorter, even more if, as in Portugal, there is simply no decent formation on Linux on the IT teachers, let alone the elementary school teachers. The fact is that, although Caixa Mágica clearly made an effort do deploy a very decent Linux distribution, more consistent, intuitive and good looking than Windows and its antivirus popups, Linux will be ultimately left behind and rarely opened, and that will turn useless all this partitioning scheme that offers children 4GB of free space in a hard drive where it could simply deploy only Windows or Linux, and offer 16/18GB of free space. Anyway, there is a SD card slot which will certainly help.

 

Caixa Magica Linux on Magalhães

 

Fear not, in September this year is expected to be realized the Magalhães 2, which appears to include at least a 80GB hard drive, but be aware that JP Sá Couto stated that it is the country adopting the computers that will have to choose the version. In case it's the first one, be ready for the unhappiness of the children.

The Windows installation features a pre installed Office 2007, which I find abusive since version 2000/2003 would be enough for the kids and take less disk space. There is already Avast antivirus installed, and Parental Controls blocking by default any website not in the white list. An annoying bar will appear at the top too due to some e-learning program. At first run the user will have to configure the usual stuff as administrator passwords and user accounts, and in the end the usual Windows desktop will appear already featuring three columns of icons, which may not be the best start to a child (turning on MagicDesktop will not be either).

On Caixa Mágica the system presents a very nice and intuitive desktop widget that presents applications under groups like Working, Fun, Internet, which certainly will be far more intuitive to children. Internet Connection will be fairly simple to manage even if you're behind some WPA protected wireless network, something still a lot of linux distros can't handle without the user digging in man pages. Parental Controls will also be turned on by default but the program behind seemed to me less capable than the Windows one, since it only allows or blocks programs. That means, or all Internet, or no Internet. I don't believe in parental controls either way...

Although the disk space problems, it's a surprisingly good and well thought system, at least for the price it's being sold to the children. But if you're not under the "e-escolhinhas" program, paying 280-330€ may be a little too much compared to alternatives as the Asus Eee PC.




Everyone at some point in the past must have dropped bookmarks. Remember the times prior to Google? Bookmarking was lots of useful. What if that awesome site you discovered the other day wasn't bookmarked and got forgotten? Searching for it could easily be a fruitless mission. But there came Google, and most of the new users that were now arriving and still arrive to the web today may even not be aware of the existence of bookmarks, that tool of the browser that lets them remind useful or largely accessed links. Why should they? They have Google, the thing that reads their thoughts and never presents anything but what they want in the first result.

Of course bookmarks are still useful and the proof of that is, for example, Del.icio.us, but for a totally different purpose, the purpose of being a warehouse of links we think we may find useful in the future. We are talking about website launching here and even things like the Bookmarks toolbar in your browser are getting pretty useless by now with the recent improvements on Google, namely Google Search Wiki and Google Labs' experiment KeyboardShortcuts.

 

Firefox's Bookmarks Toolbar
 

 

Let me first talk about Keyboard Shortcuts and what an awesome google labs feature it is. It's a known fact in computers that keyboards are much more faster to work with than the mouse. This experiment brings exactly that. The ability to be able to mouselessly scroll through the search results with keys 'J' and 'K'. But the best part is in the fact that the first result is always highlighted by default and a simple Return over a search result will get to that website. You won't loose that second of getting to the mouse (which will probably take itself most of total time wasted if you're not using a touchpad on a laptop), moving it and clicking on the first result. Your search will get where it's supposed to be in a split second. 

This would all mean little if Google had attributed a key to the "I'm feeling lucky button" besides the return to the usual search. That way, searches done for website launching would be direct, and faster.

But you can still improve a little more with what is currently available, and another good thing is Google Search Wiki. With it you can add or remove results from a certain query, make your own websites the first on google (if not) and thus faster accessed. But why are we still typing all that text to get to a website, if Google Search Wiki lets us make any query a direct path to the result we defined? Why not start making our own aliases like searching on google for "tc", and right after the appearance of the results, simply pressing Return with the keyboard shortcut experiment to get to TechCrunch instead of TC Electronic, Teachers College or ThomsonCenter who could mean nothing to you. All with a faster than anything "tc" + Return + Return on google.

 

Adding TechCrunch has a valid result for 'tc'

 

This is what I've been recently thinking, and decided to do, but this usage of Google has a website launcher, and our tweaking of its own tools to give us faster access to the websites we want is problematic. Google has not yet confirmed if the search Wiki choices of the users will ever have any influence in the global results, but if they ever do, search could be compromised with our urge to faster and faster access to what matters to us but to anyone else.

 

TechCrunch has the first result for tc

 

Anyway, I think still very few people are aware of the productivity boost they can have by using these tools, so I thought I better pass the word.




If you're a heavy user of twitter you probably already experienced this: you cannot miss a bit of what is happening on twitter so you always have your Twitter client fired up getting you the updates with a high frequency check (my Twitterific is on a 3min check), and although you have all of your RSS subscriptions safely managed by GoogleReader or your client of choice, you end up knowing the news first on Twitter, by your followers conversations than by deliberately accessing GoogleReader, which itself has an unknown frequency check. Also, if on GoogleReader you have content that's highly important to you (data thats updated by RSS, not your regular blog post) constant accesses to GoogleReader may distract you from the job your doing locally, just to end up knowing nothing knew is there.

Of course you could just forget to check GoogleReader and be notified by a simple RSS Notifier, but why would you install another program if your twitter client already does that?

So I decided to create a Twitter account that gets fed by a simple Ruby script that checks my most important feeds in 3 minutes time loops and if there is any new content, the first 140 characters of it gets posted on twitter (you may edit it to post the entire post but be careful, twitter has a 100 connections per hour limit), because in the feed I'm talking about that is enough to know what happened. So let's get to the code.

require 'net/https'
require 'rexml/document'

begin
  f = File.new("data.txt", "r")
rescue Errno::ENOENT
  #File doesn't exists, fill it with sample data
  f = File.new("data.txt", "w")
  info = {
    "so" => "",
    "eo" => "",
    "aced" => "",
    "po" => "",
    "ges" => "",
    "ppi" => ""
  }
  Marshal.dump(info,f)
  f.close
  f = File.new("data.txt", "r")
end

info = Marshal.load(f)
f.close

urls = {
  "po" => "/external/announcementsRSS.do?announcementBoardId=243496",
  "so" => "/external/announcementsRSS.do?announcementBoardId=243523",
  "aced" => "/external/announcementsRSS.do?announcementBoardId=244762",
  "ges" => "/external/announcementsRSS.do?announcementBoardId=243508",
  "ppi" => "/external/announcementsRSS.do?announcementBoardId=243511",
  "eo" => "/external/announcementsRSS.do?announcementBoardId=243514"
}

actual_info = ""
urls.each { |id,url|
  begin
    http = Net::HTTP.new('fenix.ist.utl.pt', '443')
    http.use_ssl = true
    http.start do |http|
      request = Net::HTTP::Get.new(url)
      response = http.request(request)
      response.value
      actual_info = response.body
    end

  rescue Net::HTTPExceptions
    next #do nothing if couldn't get feed, it'll in the near future
  end

  if info[id] != actual_info  
    info[id] = actual_info

    doc = REXML::Document.new(info[id])
    root = doc.root
    title = String.new(doc.elements["*/channel/item/title"].text)
    desc = String.new(doc.elements["*/channel/item/description"].text)
    desc = desc.gsub(/<[^>]*>/,'')

    begin
      http = Net::HTTP.new('twitter.com', '443')
      http.use_ssl = true
      http.start do |http|
        limit = 140 - (2 + 2 + 2 + title.length)
        request = Net::HTTP::Post.new('/statuses/update.xml')
        request.basic_auth 'username', 'password'
        request.set_form_data({"status"=>id.upcase+"::"+title+"::"+desc.slice(0,limit)})
        response = http.request(request)
        response.value
      end
    rescue Net::HTTPExceptions
      #The submission to twitter failed, forget it! (critical)
    end
  end
}

f = File.new("data.txt", "w")
Marshal.dump(info,f)
f.close

 

 The script is intended to be run by crontab, there you may specify the time interval in which you want the script to be run. The script itself stores the feeds info in a string which for itself is stored in a hashtable that contains all the feed strings indexed by an id that you must provide and be equal in both hash tables, the one for the info, and the one with the URL's of the feeds. In my script all the feeds were located under the same host, so the connection was always and opened with 'fenix.ist.utl.pt' (and SSL). If that is different with you, store the host in another hashtable indexed by the same id's. At last you may want (have) to change the items selected in the XML file returned by the call to be posted on the twitter post. In my example all the feeds started by:

<channel>
    <item>
        <tittle>
        <description>
        <...>
        <...>
    </item>
</channel>

So I select the title and split the description in a way to not fill more than 140 chars total. At last you will have to create a TwitterAccount and provide its username and password in the last connection that is done, the one to Twitter.

I hope this may be useful to you. The result of mine is at @istalert.




A week ago, I suddently got curious about a recent drop in my followers count on Twitter which, I didn't know about, had been because of a bot removal action. Anyway, I came to thought about how many of my contacts were following me back. Althought there are plenty of sites that tell you that, I could name none by the time (check Lessfriends.com or FriendOrFollow), so I thought it would be just faster to write my own thing to do it.

Here's the result, just feed username and password with yours and it should work.

Note: if you've over 100 followers the script might not work due to Twitter's API restriction of 100 requests per hour. If that is the case, just use the web alternatives, this is mostly educational.

 

require 'net/https'
require "rexml/document"

username = ""
password = ""
friendsxml = ""

friends = Array.new
friendlist = Array.new
nonlist = Array.new

http = Net::HTTP.new('twitter.com', 443)
http.use_ssl = true
http.start do |http|
    request = Net::HTTP::Get.new('/statuses/friends/' + username + '.xml')
    request.basic_auth username, password
    response = http.request(request)
    response.value
    friendsxml = response.body
end

doc = REXML::Document.new(friendsxml)
doc.elements.each("*/user/screen_name") {
  |element| friends << element.text
}

friends.each do |f|
  isfriend = ""
  http.start do |http|
      request = Net::HTTP::Get.new("/friendships/exists.xml?user_a=" + f + "&user_b="+ username)
      request.basic_auth username, password
      response = http.request(request)
      response.value
      isfriend = response.body
  end
 
  if isfriend == "<friends>true</friends>"
    friendlist << f
  else
    nonlist << f
  end
end


puts ":::::::Your true friends:::::::"
friendlist.each do |f|
  puts f
end
puts "Total: "
puts friendlist.size

puts "::::::::::Non friends::::::::::"
nonlist.each do |f|
  puts f
end
puts "Total: "
puts nonlist.size




Some months ago it was big news for OpenID. Yahoo was the first big player to announce the YahooID system as a valid OpenID provider, a crucial step that brought some long desired support from major players to the movement. Some weeks ago, Microsoft did the same with their Live accounts, and Google could only follow.

Awesome, right? Well, no. In fact, all that these companies are doing is marketing OpenID as one of those features that everyone claps at, but few stop to realize it means nothing to the movement.

Let's think. Although I already had an OpenID at myopenid.net, I now have my GoogleID has an OpenID, great. Where can I sign in with it? Surely at Flickr from Yahoo, which is an OpenID supporter, right? Actually, no. Well, perhaps on Live Maps this OpenID may be useful. Wrong again. So, what does it mean to me, the OpenID user, to have so many major companies endorsing the system? Zero.

Please, stop trying to turn every existing ID into an OpenID, what we want is not that. We end up having all our previous ID's being all valid OpenIDs, for usage on the same all small sites. Start giving some utility to the feature you're giving us!




I just wanted to note that I had several problems with the code from the post Developping for Ubiquity: Priberam's dictionary, so I changed the system a bit, mainly in the url used and now it's working and rocking, so I corrected the post.

Anyway, now you can install it from here

P.S.: In resume if you don't know what I'm talking about, this script searches for a definition of a portuguese word in the Priberam's dicitonary and shows the definition on-the-fly in preview.




 

barcamp logo

 

Last weekend I was for the second time in BarCamp Portugal organized by the Coimbra's WeBreakStuff. In 2007, being my first participation, I didn't thought I should review the event in this blog, though it was great for me. But this year I can compare the two editions and point out some things that went better/worse, so I'll use my word.


BarCamp Portugal was seeming to continue in its linear but surprising growth, having had no more than 50 people in 2006, 120 in 2007, and 190 in 2008. But when the time came I don't think the mark has been achieved. The number of people presenting themselves appeared to be exactly the same as last year, which is good, for the space is not that much. Probably there was people only attending one of the days.

But reviewing the event itself, I'll divide my analysis in two parts: the social and the talks.

 

barcamp post-it on the elevator


On the talks side I must say BarCamp PT starts to be an event based on choices. The number of presentations this year was huge so, as on Sunday of last year's event, there was to be concurrent talks in different rooms. I cannot avoid myself from thinking I missed a lot, and I don't like to have this kind of feeling when going to an event like this. A fair review on the talks side as a whole can only be made when the videos of the other presentations come out so that everyone can see what missed. Nevertheless, it will always left us with a bitter taste for not being there. This is inevitable, but I thought some of the time after a dinner on the department, which I thought would maintain the people at the event, could be used for talks.

 

socializing

On the social side, the event was great as always. Thanks to BarCamp I could actually meet people from my university I wouldn't possibly meet otherwise. And so many great advices they gave me.
Anyway, I missed Half Baked a lot. I don't think that kind of social games should be extinguished. It didn't have to be Half Baked, but anything like it would be great (I don't know if Werewolf was actually played). Only some presentations did something like that, for example, Scrum 101 by Ricardo Mestre (great, great job!) with the Ball Point Game and Pedro Custódio with the Paper Plane game.

Before I start reviewing the talks I was able to attend, I conclude BarCamp continues to pay off, the organization was great again and invested a lot (thanks for the notebook and stickers!) and this continues to be one of the most important events in Portugal.

So, talks:

- Scrum 101: what a surprising and interesting method for team and project working. Although it was long (matched 4 other presentations of the other room) and not always I was able to be focused, it made me wanting to know more about Agile Development and Scrum itself. I recommend everyone to watch the video of it when it's available (too bad the Ball Point Game will not be included).

- Mind the Gap: Pedro Custódio definitely knows how to make a presentation. This was about usability and I think it made the point clear that what's simple for us, may not be for other person, so usability is a great concern when designing a website, and innovation has to be careful.

- Design: I was already aware of the work of Patrícia Furtado, but not until the end of her presentation I recognized her. Some great tips and useful websites given.

- Fuck you money: Bruno Pedro talked about how to live for some time collecting money to be able to achieve a dream of ours in a state where we don't care about money and just pursue what we want, and how we can survive in a state like that.

There were 2 more talks which I attended but that didn't mean much to me so I won't review them. This was all I was able to attend, so I missed 2/3 more presentations.

Of course the spirit of BarCamp is in having no passive users, just active, but it makes me wonder what it would be like if all the attendees were talkers. It couldn't be good...



Ubiquity was big news last week, the new Firefox feature which opened a whole new world of possibilities for what can be done in the browser. As usual, I'm not going to take your time explaining what it is, so if you want to know more about it, check Ubiquity's homepage.

While I was reading some blogs of the portuguese aggregator Prt. Sc. my attention was caught by a post by Rui Moura, which had created an Ubiquity script that could give a definition of a portuguese word based on the portuguese only Priberam's dictionary. This was kind of nice, because it was something a lot of us use, not only as a definition system but also as a word corrector (if a word is miswritten a definition won't appear).

Anyway, the plugin required that you typed Return to view the definition of a word, and by that time you would be redirected to the default Priberam's homepage. I thought this was useless, since you can do exactly the same with the Live Search Box of Firefox, which is, getting some site's search box in Firefox and being able to search from there, but always being redirected to the host site to view the result.

I thought this was not the kind of behavior Mozilla wanted us to adopt in Ubiquity, so I tried to create a new plugin that would give the definition on the fly. If you don't care about how it was done, just follow the link to install it.

How was it made, though? Well, fist off, I'm not some kind of pro in Javascript, so I'll try to explain the best I can the code used.

CmdUtils.CreateCommand({

makeSearchCommand({
  name: "dic",
  url: "http://priberam.pt/dlpo/definir_resultados.aspx?pal={QUERY}",

  takes: {"palavra": noun_arb_text},
  author: "Miguel Pais www.miguelpais.com",

  author: "Miguel Pais www.miguelpais.com, special thanks to Sofia Cardita @ http://pencilcode.com/",  

  icon: "http://www.priberam.pt/favicon.ico",
  description: "Define a palavra dada segundo o dicionário da Priberam",
  preview: function(pblock, directObject) {
    var searchTerm = directObject.text;
    var pTemplate = "Procurando a definição de <b>${query}</b>";
    var pData = {query: searchTerm};
    pblock.innerHTML = CmdUtils.renderTemplate(pTemplate, pData);

    var url = "http://miguelpais.com/ubiquity/priberam/" + searchTerm;

    jQuery.get( url, function(data) {
      pblock.innerHTML = data;
      });
  },

  execute: function( directObj ) {
      var word = directObj.text;
      Utils.openUrlInBrowser( "http://priberam.pt/dlpo/definir_resultados.aspx?pal=" + escape(word) );
      }

});

EDIT: Green means changes that occured in code strikethrough. This script had a change due to a post by Sofia Cardita in which she presented her version of this plugin which did some things better than this one, mainly in the escaping of characters, so I updated the code. The rest of the post will remain equal to its original version.

Let's see.

 makeSearchCommand({

Is what defines a new command, while I was reading Ubiquity's developer guide I noticed there were other ways you can achieve this, so you may want to check it.

  name: "dic",
  url: "http://priberam.pt/dlpo/definir_resultados.aspx?pal={QUERY}",
  author: "Miguel Pais www.miguelpais.com",
  icon: "http://www.priberam.pt/favicon.ico",
  description: "Define a palavra dada segundo o dicionário da Priberam",


These lines are quite trivial. First defines the name the command will use, which you might want to change, the second defines where we'll get redirected to when Return is pressed.

This was what Rui Moura's script did. But we want to define what preview shows, so we have to create a function to preview.

  preview: function(pblock, directObject) {
    var searchTerm = directObject.text;
    var pTemplate = "Procurando a definição de <b>${query}</b>";
    var pData = {query: searchTerm};
    pblock.innerHTML = CmdUtils.renderTemplate(pTemplate, pData);

This is what defines what is showed as a preview while we're typing an word. Everytime we change pblock we're changing what is being previewed, so we render a template for it saying we're searching for some word and then showing the word itself.

But we have to get the result from Piberam's dictionary. As the website doesn't have an API I had to create one in ruby, stored in www.ubiquity.miguelpais.com/get/word/. This link receives a word parameter and returns a page with the definition parsed from Priberam, for example, www.ubiquity.miguelpais.com/get/word/some.

So in Ubiquity I just had to do:

    var url = "http://miguelpais.com/ubiquity/priberam/" + searchTerm;

    jQuery.get( url, function(data) {
      pblock.innerHTML = data;
      });
  }
});


Which passes the word typed to the url, gets that url and changes pblock to the data retrieved.

And that's all. Now you might ask how's the /get/word script done. That was just a couple of lines of ruby using Hpricot for parsing the webpage and getting the desired elements. If someone is interested, I don't bother showing the source code.

I hope you like it and use it.




You probably heard about Mojave, a fake new Windows operating system that turned out to be Vista in a experiment conducted by Microsoft with persons that didn't quite like it, so they could catch their reaction after saying how bad Vista was and how good Mojave was. I'm not really interested in talking about the Mojave Experiment itself in this post, so I will say only a few words about it.

First, I don't think it was fake has many bloggers do. It may be an ad, but that doesn't mean the experiment was all acted. I believe Microsoft is already in trouble because of Vista's bad reputation and doesn't really need more stuff that can be criticized at the same level. However, the way the experiment was conducted was far too wrong to get conclusions out of it (that is the meaning of the quotes in the word real in the title, I think it was, but not well conducted).

Second, the website is pretty bad designed. Without Silverlight I, on my Mac, wasn't able to see much (the videos didn't load for example), and with Silverlight the design shows a cloud of movies difficult to manage that will make a normal user see only the first and greater ones, which can also be the ones Microsoft wants us to see. In the videos of the sales guys from Microsoft showing what was showed to the people and how the experiment was conducted,  one can see that they showed them stuff like gadgets, instant search, backup utilities, flip 3d, and few more. If what they showed to people was in fact what one can view in those videos then the experiment is completely bullshit, for everyone can see that it is Vista and just someone that never used it can not see that. Also, they were only showing the cool features of Vista, the ones that everyone likes, and no product is used for the cool things it has, it is used because it can solve our everyday problems, because it can really do the simplest things simply, and also the advanced things easily, which is something largely criticized on Vista. This makes me think the people they choose were really below the normal computer user, or never caught a glimpse of Vista, or the video featured a pretty camouflaged version of it. Also, I don't think those HP Pavilions used for the test were really a normal desktop for Vista, since I don't think 2 GB of Ram and Core 2 Duos are that mainstream (they said it has a Windows Vista rank of 3.5/5. What kind of computer gets a 5 after all?).

Bottom line, there can really be no conclusive fact out of this test, but this not the main point I want to talk about so don't bother argue with me it was acted, I'm not that interested in it, but admit it could have been.

The truth is Mojave Experiment has a valid point behind it. The point is valid not only to Vista but to everything in this computer world. In it, there's a lot of people that know about something and give their opinion, people that don't know about something and remain quiet, and people that don't know but talk like they do. Unfortunately, these later ones are the majority and almost everyone commits this mistake several times in their life. With Vista the amount of persons judging it without even having used it exceed the line of what would be normal.

That could have many reasons but most of them result from the fact that a good part of our own knowledge comes from persons which we trust, if we trust someone its easier to take their word as the truth, and we don't bother having an opinion based on our own experience. We just act passive, receive info, accept, and pass it to more people but, and this is important, in the same way that we'd do if we've had in fact experience in the subject. This appeal to authority fallacy is one of the most common, being constantly committed in advertisement, but in this computer world, in the internet, this fallacy starts being equally common. Bloggers and respected users of online communities are great mind making agents, if they've succeeded proving us in the past their opinions about something were relevant, more probable is that in a future subject we will trust them. This is not bad, it's normal, but what if they start somehow judging something without proving to us their opinion or judging based on their own preferences, will we take the opinion as ours, or try to find the truth for ourselves?

This is mainly what happened with Vista, and what's constantly happening with other operating systems and products, people get into discussions and flamewars, people argue, but don't usually realize maybe none of the participants may in fact have experience in what is defending. There is almost a public belief that Vista sucks and there's a lot of people that never even used it thinking they have the obligation to convince others of how bad it is. I say everyone should either use Vista and see for itself, or search for valid reasons for not using it. If you don't have enough money for a Vista license, remain in XP and talk about Vista only to criticize about how expensive it is, which is the only truth you can claim.

This is the reason I think a good conducted Mojave Experiment could in fact have the type of results it had. People say a lot about Vista, but get some of them in a experiment where they have to use it for a month, working, trying to solve its everyday problems, and they may actually say in the end Vista is not that bad, or may say it's terrible. The difference lies in the experience factor and a ten minutes video is not experience. Microsoft launching this ad just committed the exact same fallacy as the users who say bad about Vista without using it, it is trying to convince everyone Vista is good based on person's thoughts not based on real experience.

Anyway, I hope the true idea behind it makes people realize they may be judging Vista unfairly.




Next page