Monday, September 8, 2008

Hug a developer today

Funny video with a point to make...

Labels: ,

Wednesday, July 16, 2008

A bug in Google's system

I got this e-mail today from Google:

Hello,

There was a bug in our system that allowed you to sign up for a nickname that was already taken. Please log in at and update your profile with a new nickname. We are very sorry for any inconvenience this may cause, and hope that you'll take this chance to come up with a new creative nickname!

Thanks for your understanding and best of luck in the contest.

- Google Code Jam Team

This is after more than a month using the old nickname and doing some of the exercises with it. My nickname is ideed very common, Rick, but it's not the same as the one with Google's profile, even though the e-mail address is the same.

So the only thing I can think of is that they were not checking for unique nicknames before and were relying their system solely on some internal code. Now that the contest start date is approaching, they figured unique nicknames will be important.

Labels: ,

Sunday, June 8, 2008

Is Technological Singularity almost a reality?

Until two days ago, I was very skeptic about technological singularity. I believed in the paradox that if humans created the machines, how can they be smarter than their creators? So, computers could not even start to be smarter and cognitive work would always be done by humans. This is pretty much the same view of Frank Levy and Richard Murnane on the matter in their 2004 book “The New Division of Labor - How Computers are Creating the Next Job Market”.

In the book, they say that computers are changing work and salaries, shifting the most well paid jobs to areas focusing on expert thinking, complex communication, and non-routine tasks that involve cognitive work or where humans “still have a comparative (that is, relative) advantage”. (p. 36)

Of course I always agreed that our systems will improve and become more complex, efficient and capable with time but I didn’t think they could get to a point where they would behave as humans and evolve by their own terms and become conscious of their actions.

In this context, there would always be limitations and we are already approaching some of them if we don’t discover another means (such as is believed with quantum computing) to improve technology since thermodynamics is one of the constraints reaching limits.

I’m still skeptic but a very captive special report by IEEE caught my attention on Friday and kept me thinking about this topic. There, two articles are particularly interesting together by their antagonistic views: The first of them, by Christof Koch and Giulio Tononi, argues that yes, machines can eventually have consciousness and execute at least some cognitive work. "Consciousness is part of the natural world. It depends, we believe, only on mathematics and logic and on the imperfectly known laws of physics, chemistry, and biology; it does not arise from some magical or otherworldly quality. That's good news, because it means there's no reason why consciousness can't be reproduced in a machine—in theory, anyway."

The other article, by Alfred Nordmann, is on the other direction. For him, technology isn't evolving faster now than it was from 19th century until 1960s (he presents a timeline of some of humans' important and popular breakthroughs from 1830s onwards to exemplify this) and argues that "the story of the Singularity is sweeping, dramatic, simple—and wrong".

In the different scenarios of the report, singularity is possible (or should I say believed?) in some of them and not too far away from our present time. For me, right now, I don’t know anymore what to conclude. I need more reading and discussion time.

Labels: ,

Saturday, May 17, 2008

Firefox 3 Release Candidate 1 has been released!

Great news! We are now one step closer to version 3 of Firefox. See the release notes at the official Mozilla web site.

I've been using the new Firefox since its beta 4. The Mozilla Blog has been talking about it for a while now but it is never too much to highlight the completely renewed and integrated address bar and bookmarking system plus the more efficient memory management. All great!

If you already use Firefox 2, I sincerely recommend you to try the new version. It is definitely stable enough for any user and you can use the Nightly Tester Tools to run most of the add-ons that are incompatible just because the interface to identify the add-on compatibility changed.

Labels: ,

Tuesday, April 29, 2008

Clusty, a search engine clustering the results

I intended to write about this four days ago, when I first saw this post at Google Blogoscoped but I didn’t have the time before. In it Philipp Lenssen, the author of the blog, argues that “diverse Google results are good” because they satisfy different cases of a search, given that the semantics of the same search from two different users might be different. He gives the example of the query [google blog] which might yield at least three different classes of results: “1) the user wants to see the official blog by Google Inc., 2) the user heard about Google’s blogging platform and wants to find Blogger.com, or 3) the user is looking for an independent blog covering Google.”

He goes on explaining the case for other examples and concludes that, even though some results might be diverse, there is a problem of optimization that benefits those pages that are doing a better job at it (particularly the ones that are aware that search engine optimization matters). Further, in the comments, he also adds a comparison of the overall results of different search engines, specifically Yahoo, and Microsoft’s Live.com and argues that Google’s results are better for the keywords [google blog].

I agree that, in a general sense, diverse results do benefit a broader population of users and it is in this context that I want to introduce the Clusty Search, arguing that its results are even better than Google's. This engine goes beyond the notion of crawling and indexing pages, by also querying other search engines, combining the results and grouping them into clusters. The notion of cluster here is to try to maximize the similarity of web pages within the cluster and the dissimilarity across different clusters so that the resulting clusters are as relevant as possible as a group of similar pages.

By doing so, Clusty increases the importance of different classes of the result and gives the user the opportunity to narrow it down to the specific class he or she is looking for. Lets go back to the [google blog] example. In Clusty the query returns different classes as expected (the official Google blog, the Google Blog Search tool, and several independent blogs about Google) and, more interestingly, lists the different clusters it found on the left, allowing the user to specify which ‘kind’ of result he or she wants. Note that the engine uses a soft algorithm for clustering so each result can be in more than one cluster for the same query.



A more generic example highlights this feature even further. Take the query [star], for instance, which could mean at least the user is looking for either 1) someone famous, 2) a constellation of some sort, 3) some band, or even 4) something related to Star Wars or Star Trek. These are all real examples of clusters presented as a result.

I haven’t been using this search engine on an everyday basis yet but, overall, it is quite powerful, seems to be very consistent, and has a lot of other features. To name a few related to the topic of this post, search within a cluster, highlight the page’s clusters, and narrow the results by top or second level domain. I actually got myself playing with it for a while just to see how it organizes the different ‘kinds’ of pages into clusters, without any human intervention*.

*I’m assuming the engine is using the notion of cluster as an unsupervised learning process that groups documents based on their similarity (according to some metric). See the Wikipedia article on Data Clustering for more details.

Labels: ,

Friday, March 28, 2008

How many open source developers does it take to change a light bulb?

The answer is 17!

17 to argue about the license; 17 to argue about the brain-deadness of the light bulb architecture; 17 to argue about a new model that encompasses all models of illumination and makes it simple to replace candles, campfires, pilot lights, and skylights with the same easy-to-extend mechanism; 17 to speculate about the secretive industrial conspiracy that ensures that light bulbs will burn out frequently; 1 to finally change the light bulb, and 16 who decide that this solution is good enough for the time being.

From Peter Wayner, cited by Steven Weber's book, The Success of Open Source, p. 81.

Labels: , ,

Thursday, March 6, 2008

The Firefox add-ons I use

When I saw this post and a print screen of a Firefox window in it with a lot of add-ons, I wondered about which were being used. Some I could guess as I also had them installed but I ended up asking Luke about the others. The question resulted in a follow-up post where he lists all the nice and cute third-party features he uses that you can add to your browser to make it even better!

From his list, I also use Adblock Plus, Fasterfox, Faviconize Tab, Firebug, Google Notebook, and PDF Download. They are all excellent utilities that come in hand often. Now, before I get into the other add-ons I use which are not listed there, let me add a word about the difference between Adblock Plus and Adblock. The second, in my opinion, is very obsolete right now and the maintenance of the project is almost abandoned. Besides, most pre-made block filters developed by other groups are only being updated for Adblock Plus these days. In any case, however, you can improve both with another add-on called Adblock Filterset.G. It essentially adds and maintains its own set of filters for you.

Now, to my add-ons:

FireFTP
This is a very simple and fast FTP client working inside your Firefox tabs. It is really easy to use and support many nice features such as SSL and integrity checks. Besides, it offers you the ability to store profiles of FTP servers you work more often with.

Resizeable Textarea
This is a tiny add-on that lets you resize textareas. Very useful in forms of blogs and forums that offer you a limited space for all your great set of arguments!

Locationbar²
A recent addition to my collection. I discovered it reading the comments of a post evaluating the new IE8 beta release on Google Blogoscoped. A new feature of this new version of the Microsoft browser is basically a copy of this add-on: It highlights and decodes the URL you are current on for a variety of reasons:
  1. Helps identify spoofing;
  2. the readability of the address;
  3. Allows you to quickly click a directory in the address to navigate through the hierarchy of the web page.
Forecastfox
There are many weather forecast add-ons available for Firefox. I use this one when I’m travelling because it is the less obtrusive among the ones I evaluated. Just add your cities and voilà!

Labels:

Tuesday, March 4, 2008

Understanding Quantum Computing

For readers interested in Quantum Mechanics and Quantum Computing, here is a list of topics in order of difficulty or deepness.
  1. For a basic and fun overview of interrelated concepts, refer to The Elegant Universe documentary. The official web site of the show also has a number of other useful resources.
  2. For the necessary mathematical understanding, watch the comprehensive set of video lectures from the MIT on linear algebra;
  3. Get into the world of Quantum Mechanics with the introduction from Wikipedia or a series of fundamental concepts by Professor Richard Fitzpatrick, from the University of Texas;
  4. Go deep into the Wikipedia articles on Quantum Computing and on Quantum Mechanics;
  5. Read the book Quantum Computation and Quantum Information by Michael A. Nielsen and Isaac L. Chuang.
After that, you are all set to start understand this crazy world! ;-)

Labels: ,

Tuesday, August 21, 2007

Wiki Scanner

I got this today while listening to This Week in Tech episode 110: WikiScanner is a web site created by Virgil, who is currently working at Indiana University.

The idea of WikiScanner is to list edits done by organizations on Wikipedia based on their IP range. For instance, you can see how many edits within Wal-Mart's IP range were meant to make the company look nicer on Wikipedia. Wal-Mart, I have only one word for you: Busted!

Now, funny thing, when Virgil was asked why he created such a tool, his answers were:
  • To improve virgil.gr 's Google pagerank for the query 'virgil'
  • To create a cornucopia of minor public relations disasters for companies and organizations I dislike.
  • To see what "interesting organizations" (which I am neutral toward), are up to.
  • Every time I hear about a new security vulnerability, I look to see if it can be done on a massive scale and indexed.

Labels:

Monday, August 20, 2007

Why Blogger?

Why did I choose Blogger for this blog? First, you may want to read some comparisons done across the web. Just Google for it but I liked this, this, and this reviews (in chronological order).

I mainly compared Blogger to the Wordpress hosting service at wordpress.com because I'm already familiar with those. So below are my reasons for choosing Blogger. I of course took into account the fact that I'm already hosting a WordPress blog in portuguese.

Reason 1 - WordPress can be too complex
Although the WordPress software (note the distinction between WordPress software and the hosting service) I'm using is great in many aspects, I didn't want to go through all the setup involved to put online a new WordPress blog. Especially because my actual domain name doesn't make sense in English.

Besides, although there is a great plugin called Gengo for administering multi-lingual blogs, I didn't want my English blog to have the same content and translations of the portuguese one. It is true that I might do that one day but it is not what I had in mind for now.

With WordPress software out of the way, I had to choose between online tools. Since TypePad was excluded without a thought because it's not a free service and I didn't know it, I ended up with two options - Blogger or WordPress Hosting Service.

Reason 2 - With Blogger I can host my files on my own server
Another important reason for choosing Blogger is that it allows me to host my files and content wherever I want to. Since I have enough space on where my other blog is located, this sounded like opera to me! I simply hate to leave my content in places where I can't access the source and that, for me, was a big flaw of WordPress hosting service.

Reason 3 - Blogger allows templates customization
WordPress hosting service doesn't. Customization is a big deal for me and WP had its limitations: I can't change templates and I can't add plugins. I know Blogger doesn't have plugins and, even worse, categories but at least that are some hacks that can be done.

Reason 4 - Blogger seems cleaner and faster
I read in one of the reviews above that Blogger has issues with FTP connections when your blog gets too big. Right now, though, it is working flawlessly; it's fast and clean, just as needed for Small Bits of thought.

Conclusion
The conclusion I make is that if you want power in your hands, go for your own server and setup WordPress software in it. If you are like me, looking for simplicity with a little power in your hands, and you don't mind doing some hacks to have a category system, than go for Blogger. Right now I'm happy with it.

Labels: