…or, “when you have a hammer, everything looks like a nail”.

Mandriva 2011 beta3 running on macbook air

To do a more fair comparison between Mac and Linux approaches on same hardware, I took a shot and installed Mandriva 2011 beta3 (x86-64 version) alongside Mac OS X on the same Macbook air. The process is nowhere simple nor straight, but it is certainly possible. So in case someone wants to repeat the feat, here is a quick step-by-step instruction how to do so (alternatively, for the impatient ones, you could skip till the end of this post for a simple one-step solution).

  • Download Mandriva 2011b3 from your favorite mirror. The architecture should not matter, but to get the most from the hardware I’d recommend 64bits edition (but it is solely up to you to decide).
  • Run hdiutil convert -format UDRW -o mdv2011.img Mandriva.2011-beta3.x86_64.iso to convert the image to mac-compatible format
  • Now comes the tricky part. In order to make the system boot from this image, it is not enough to create a bootable usb disk or create a local disk partition for the installation. You actually have to create 2 local disk partitions – one where the Linux will be installed, and another roughly equal to the size of the installable image (1.6GB as of mdv2011 beta3), where you should put the copy of the installation image using dd. In other words, you must do the following:
  • Open disk utility from Dock->Utilities.
  • Create a new partition with roughly 2GB in size.
  • Create another partition with the space you want for your Linux install (about 10GB should be enough).
  • Format both partitions as MSDOS FAT.
  • Plug your pendrive which will be used for installation.
  • Open a terminal, become root and run diskutil list, it should show you the partitions you have created and the pendrive. E.g., it should show something like:

  sh-3.2# diskutil list
  /dev/disk0
     #:                       TYPE NAME                    SIZE       IDENTIFIER
     0:      GUID_partition_scheme                        *121.3 GB   disk0
     1:                        EFI                         209.7 MB   disk0s1
     2:                  Apple_HFS Macintosh HD            89.9 GB    disk0s2
     3:       Microsoft Basic Data                         29.2 GB    disk0s3
     4:       Microsoft Basic Data                         2.0 GB     disk0s4
  /dev/disk1
     #:                       TYPE NAME                    SIZE       IDENTIFIER
     0:     FDisk_partition_scheme                        *8.0 GB     disk1
     1:                       0x17                         1.7 GB     disk1s1

Here, disk0s3 is the partition where the Linux system will live after the installation, disk0s4 is the partition for the installer, and disk1 is the disk currently located inside the pendrive.

  • Now we have to transfer the installation image both to the pendrive and local partition. For this, first run diskutil unmountDisk /dev/disk0s4 and diskutil unmountDisk /dev/disk1 to unmount the partitions, and then transfer the image to them with dd if=mdv2011.img of=/dev/disk1 and dd if=mdv2011.img of=/dev/disk0s4.
  • !! AS ALWAYS, make sure you know what you are doing, because dd command does not likes newcomers and non-careful people !!. If you are not careful, this is the step you have the most possibility of losing all your data for good. You’ve been warned.
  • After it is done, the installation procedure is mostly prepared, but you still need to prepare your mac for multi-booting. Luckily for you, this is easy – just install refit and it should work without any configuration.
  • Now, with the pendrive still plugged, reboot your machine. On boot prompt, there will be a new nice refit menu, where you should choose partition tool and allow it to syncronize the GPT partition table with MBR. This is necessary because grub1 and low-level system utilities used in Mandriva 2011 do not support GPT partition tables.
  • Now you can try booting from your pendrive. If you receive a Non-system disk or Unable to find isolinux.bin, make sure that you have followed the steps of having the same image on both pendrive and local partition. What (apparently) happens in this case is that Mac gets confused about the local disks namings (e.g., it confuses the USB partitions with local disk ones), and isolinux gets lost trying to figure what to do and usually gets stuck. There is probably a more clean way to make this work, but as I am lazy sometimes, I just settled with this solution.
  • If you got to the grub splashscreen, congratulations, you have almost reached half of the procedure :) . Now press TAB to edit kernel parameters, and change the root=LIVE:LABEL=… to root=LIVE:/dev/sdb. This way, you are telling kernel that the partition you are booting from is in fact the pendrive, and it won’t get lost trying to solve the puzzle of GPT+MBR+multiple disks mappings (more on this later). Just make sure you select Live system instead of Installation to prevent needless reboots and problems.
  • If everything goes OK, you should be able to boot to KDE with 800×600 resolution. If you reached this point, open the konsole terminal, become root, run draklive-install and proceed with the installation until the partitioning step. At this point, the Mandriva installer gets confused by the GPT+MBR partition table as well, and gets lost about what to do. What you should do is remove the partition you dedicated for Mandriva installation (the big one, not the 2GB one), create a new one with your favorite Linux file system (I suggest ext4) and format it. Just name it as / partition and create no swap – we could always create a swap file later.
  • Now the installer will tell you that the machine must be rebooted to update partition layout and will quit. Instead of rebooting, however, just run partprobe command as root and it will re-sync in-memory partition table with the new disk content, and restart draklive-install. Now it should allow you to proceed with the installation, so just sit back and relax while Mandriva gets installed on your system. Or go make a tea or drink a beer, cause it will take a somewhat long time.
  • When the install finishes, in the bootloader installation step, make sure to install it to the root of the partition – in my case, it was /dev/sda3, but your mileage may vary.
  • The install should finish, but in case grub-install command output in the terminal gave you an error message, you must install grub manually because somehow, surprisingly, it gets confused with the GPT+MBR layout as well. So just run grub-install /dev/sda3 and it should work. If it does not, try running just grub so it would recreate the device mapping, and install the bootloader manually (this is a bit technical and tedious procedure so I’ll skip it on behalf of clarity – feel free to ask in comments if you have questions about this point).
  • Finally, run fdisk /dev/sda, unmark the /dev/sda4 (old installation partition) as active, and mark /dev/sda3 as active. Basically, fdisk /dev/sda – press – a – press – 3 – press -a – press – 4 – w should do it (/me feels like describing Mortal Kombat fatalities with this explanation :) ).
  • Reboot, and a new Linux entry should appear within refit menu. However, when you try to boot it, grub will fail, saying that it is unable to locate kernel and initrd files at correct location. This, once again, is due to mismatch between GPT and MBR partition table, and a quick fix is to change (hd0,3) to (hd0,2) for both kernel and initrd lines. Once again, I am not describing the right fix, but the quickest one.
  • When the system boots, everything should work automatically, including wifi and everything else. As Mandriva 2011 comes pre-loaded with firmware for most closed cards and devices, it all should just work out of the box.
  • Just remember to edit /boot/grub/menu.lst file and make the change from (hd0,3) to (hd0,2) there to have it permanently remembered.

So, that’s it, and if you have got through this quick tutorial to this point and managed to get Mandriva 2011 installed on your Mac machine, you can consider yourself a true geek. Of course, most of this tutorial applies to Macbook Air, because it does not has a CD/DVD port – if it had, most of those steps wouldn’t be necessary at all. But.. we do not seek easy routes, are we? :)

And of course, I mentioned in the beginning of this post that there is a way to install Mandriva on OSX in just 1 simple step. This step is very simple – just ask me to send you a .dd.img copy of my Mandriva partition to you, so you could simple copy it into one of your own partitions, and it will just work. Somehow it feels a more natural way of distributing and packaging anything on Mac platform (I mean, within a .dmg file) – so I am unsure if it is more a hack than the complete tutorial I described above :) .

P.S.: Just to update you with some timings on the same hardware. Mac OS X 10.6.8 takes approximately 10 seconds from refit boot menu towards desktop. Stock Mandriva 2011 beta3 takes approximately 12 seconds from grub menu to kdm, and approximately another 12* seconds from kdm to full-featured desktop. After some optimizations, I could decrease this time to 7 seconds from grub to kdm, and 6 seconds from kdm to full-featured desktop. With auto-login they are tied in this comparison, which is really amazing!

At request from my friends from ROSA Labs :) , I was using a mac os x-based machine this week, to get a feeling on how it works, feels and looks like. As I had never used a mac before, it was certainly a nice experience, and I think I managed to extract the feeling of what is fundamentally different between a Mac and PC-based approaches (in this case, let’s consider PC as being Linux-based OS instead of Windows, which stands in between those approaches and perhaps I’ll describe my thoughts about it later).

Hi, I'm Mac.

So, after using a Linux-based OS exclusively for my Desktop for the past 10 years or so (except the time at Microsoft where I was using a pre-released version of Vista during the work hours), I finally was able to get a hold of a MacBook Air. One thing I can say that most of the mac advertizements are true – the hardware really looks amazing and “cool”. As for the software, well, let’s go step-by-step in this evaluation.

The fest thesis I want to emphasize is that the fundamental change between the Mac and Linux Desktop approaches is that Mac does everything to force you to understand and bend to the system default settings and the way it works, and Linux is completely aimed at making the system easy to customize and adapt to you. In other words, Mac forces you to adapt to the system, and Linux focuses on making system easily adaptable to what you want. This ranges from each and every level of the system configuration, starting with the UI, standardization of the used applications, the standardized menu, dock, and so on. On Mac, it is done this way, and you should not even think on changing it – it just works and the only solution for you is to get used to it.

On Linux, the things are quite opposite on all stages. Each and every part of the system can be customized, adapted, modified; there is no single point of complete integration between applications, settings and features. It is quite common to have a Linux system with systemd+kde+pidgin+openoffice, where each application has its programming framework, UI, look-and-feel, and functionality. And by no means it makes this system a second-class citizen when comparing to a upstart+gnome+emphaty+libreoffice one. This is the biggest advantage (and, for some, disadvantage) of Linux-based approaches – the large choice without One True Way of doing things.

This also brings me back to the eternal flame was which says that “the Mac is the Best Desktop Experience out there”, which I personally cannot agree with. Yes, Mac has its own experience, but the largest drawback is that is the only experience you could get out of it. By the contrary, on Linux there are thousands ways of how one could create, customize and run his Desktop. Somebody feels comfortable with pure KDE experience, someone would feel much more natural with a GNOME desktop. Many productivity-oriented Linux desktops are running dwm, icewm, ratpoison, wm3, evilwm and many many other desktop environments with multitude of apparently incompatible applications and do not miss any of their larger cousins (like kde, gnome or xfce) features.

So to summarize it all, one big advantage of a Mac-based experience is that the entire desktop feels like an appliance. To illustrate, consider any cellphone OS, or any TV or a videogame – the things “just work”, and you have no choice nor need to modify the way they work and just go on with using them. This is certainly a huge plus for casual users who just need to use their devices to get things done – it is very hard to get confused about what to do with the system, and in most applications all keyboard shortcuts, UI, menus, appearance and so on is standardized. In other words, you don’t learn how to use a Mac or Android or Symbian, you just use it, and there is only one correct way to get something done.

The advantage of a Linux-based desktops is their absolute – and even exaggerated sometimes – flexibility. They are completely focused on making the desktop experience bendable towards what you need, at a cost of much higher entry level and necessary learning about all the puzzles which compose it. It is certainly not focused on casual users (and, in my personal opinion, it should not be), and it is more of an elitist system – only the ones willing to learn, customize and adapt the system will be able to get the most out of it. But the ones who manage to get through this exhaustive task will be truly rewarded with a system where you know exactly what each and every piece, process or file are responsible for.

In other words, Mac is an appliance, and Linux is a constructor. Mac just works (not necessarily the way you expect), and Linux gives you the possibility to make it work the way you want (at a cost of a high learning and customization curve).

So in my personal opinion, it is pointless comparing a Mac experience to a Linux Desktop one. If Mac should be compared to anything, it is to other appliance-like environments, like cellphones and similar devices for example; or to end-to-end solutions based on any OS which has the similar goals in mind (like meego, android, winphone, windows, symbian, ubuntu – and now mandriva, which has invested a lot of time of ROSA Labs designers and developers to introduced a new UI experience for the 2011 release). In such cases, the user does not cares – nor should he – about what the system is based upon – a darwin os, a win kernel, a linux or any other low-level operating system. What use gets is the overall default UI which just works, and he should adapt to.

Hi, I am PC^WMandriva 2011 (this shot was shamelessly borrowed from softpedia because it really looks awesome!)

At the end, summarizing and concluding this long text, I can say now that it is more clear for me now where the ROSA Labs designers and developers are getting their inspiration from. Personally, for me, the Rosa Panel (included by default in Mandriva 2011) feels more natural and easy to use than its Mac equivalent and more flexible and tunable than its Windows counterpart. The same way, the ROSA Launcher application feels more powerful than Mac’s finder+dockbar combination, and much more flexible and friendly than Windows 7 start menu. This, at least for me, only complements my opinion that Linux is a constructor – you can build anything from the tools and pieces it has, take the best ideas out there and use them as inspiration, and result in something new. This is specially true to the geeks (like me) who do not like some of the design choices taken by ROSA – so we can just go ahead and make the system the way we want, taking the best from the both worlds.

Hi, I'm a bit customized Mandriva 2011 - and the limit to my customization is only your imagination :)

And, of course, having the power of Linux constructor, you can certainly adapt the system towards your needs, remove or change things you don’t want, and add what you find missing.

That’s it :) .

P.S.: Please, consider everything said here as my own personal opinion. By no means it represents the official Mandriva or ROSA view on the matter. This is what I think.

P.P.S.: Some extremely interesting discussion and feedbacks in the comments, be sure to check them out. Thanks for all this feedback!

So, after some months of evaluation, my patch to kwin to enable quick workspace switching was rejected as well.

I am starting to suspect that I am the only person on the face of the Earth who actually uses this functionality. The metacity patch was rejected, the mutter patch seems to have gone to limbo (not a single developer bothered to reply to the feature request with patch over the last few months), and now it won’t enter kwin too. However, from the experience, the kde developer’s feedback was the best one, and it actually gave me some ideas on how to do this functionality without changing a single line of code within kwin.

The idea came from the fact that the kde sends and receives dbus messages for anything. So I took some time today, learned how to develop for udev in python, and also learned how to grab a message which knotify sends when a desktop switch occurs, save the last used workspace; then how to discover that a desktop switch is attempted via a keyboard shortcut, and finally trick kwin into thinking that a different workspace switch should be done.

Yes, it is a hack, which actually relies on parsing strings and regexps contained within DBUS parameters, and it has a huge and enormous overhead over plain metacity/mutter/kwin patches, but it works and does not required me to manually patch metacity or mutter or kwin for each and every release :) .

So this is the code. Just run this “daemon” in background and become a happy user of such functionality:

#!/usr/bin/python

import dbus
from dbus.mainloop.glib import DBusGMainLoop
import pygtk
pygtk.require('2.0')
import gtk
import traceback
import re

# This is a very dirty hack which will probably affect the karma and maybe
# even cause a global meltdown...
regex = re.compile('The global shortcut for Switch to Desktop (.*) was issued.')

lastdesktop=None
prevdesktop=None

def match(bus, msg):
    global lastdesktop, prevdesktop, newdesktop, curdesktop, kwin
    if msg.get_path() == '/Notify':
        args = msg.get_args_list()
        if args[0] == "globalshortcutpressed":
            val = regex.findall(args[4])
            if lastdesktop == None or prevdesktop == None:
                return
            if val:
                curdesktop = "%s" % (val[0])
                if lastdesktop == curdesktop:
                    global kwin
                    kwin.setCurrentDesktop(int(prevdesktop))
        elif len(args[0]) > 6:
            param = args[0][:7]
            if param == 'desktop':
                val = args[0][7:]
                newdesktop = "%s" % val
                if newdesktop == lastdesktop:
                    return
                else:
                    prevdesktop = "%s" % lastdesktop
                    lastdesktop = "%s" % val

if __name__ == "__main__":
    DBusGMainLoop(set_as_default=True)

    bus = dbus.SessionBus()
    bus2 = dbus.SessionBus()

    # ask dbus-daemon to receive all matching messages
    bus.add_match_string("member='event',interface='org.kde.KNotify'")

    # add a callback when receiving a message
    bus.add_message_filter(match)

    kwin = bus2.get_object('org.kde.kwin', '/KWin')

    try:
        gtk.main()
    except:
        traceback.print_exc()

A careful reader already noticed that I am using 2 message bus instances, parse strings by hand, use a regexp to extract the new workspace number for the switch, and use a gtk mainloop within a kde environment. And I am also doing a “cast” from dbus variables into a local representation.

Is it a hack? Yes. Is it a dirty hack? Yes. Is it an awesomely dirty and hackish and oh-my-god-I-dont-believe-it-works-kind of a hack? I certainly think so.

But it works :) .

I have been asking myself numerous times before: what does we miss to have the best Desktop? No matter if it runs Windows, or Mac, or Linux, or anything else.

And the answer I have for myself is that we are limited by the fact that we know what should one expect from his average desktop.

So, what do we know about it?

Well, the de-facto standard for the desktops includes a integrated environment, standardized appearance across all the applications, ability to quickly launch applications and switch between them, possibility of working with many documents easily… Possibility to easily work on different types of documents, graphical applications, use the resources located in some distant place over the world-wide network. And all the other small things that became so tightly integrated into our lives that we cannot imagine a computer without that.

And now, most desktop environments and desktop projects have it. We have it in Windows. We have it in Mac. We have it in Ubuntu, Fedora, SuSE, Mandriva (or better – in Gnome, KDE, XFCE and other desktop environments).

But if we consider the other part of the medal, I think that things are not that simple.

The evolution of the Internet and the web – as we know it – has flown very quickly in the past decade. Just 10 years ago, we had that crappy modem connections (in the best case), the Wide World Web was still making its first steps towards the web 2.0 revolution, and a Pentium 3 with 128MB of RAM was a dream machine.

And at the same time, we had the desktop evolution, which was going slow and steadily. On Microsoft front, we went from Windows 2000 to XP to Vista to 7. On Mac, we went through Mac OS X versions. On the open-source front, we went from KDE 1 to 4.5; from GNOME 1 to GNOME 3; XFCE went all the way up to its latest 4.6 version…

And what if we consider how the mobile and portable computing has evolved in the same time as well? Thinking 10 years ago, could we imagine Android? IPhone? Meego? And at the same time, if look at our desktop environments, they are essentially still the same as a decade ago.

If we think how the world has changed on the web, Internet and technology side; and compare it with the evolution of the desktop, I believe that it is undeniable that a slower pace was taken on the desktop side. Beside the revolution caused by the Mac OS X launch, the biggest and major revolution – in my honest opinion – was brought to us by the KDE 4 release. Yes, we have gnome – which is my main desktop environment as of now; we have all the evolution brought by the development teams at Microsoft; but I can see those changes as evolution, and not revolution in the way we use our computers.

Of course, desktops of today they are much better-looking. They have much more features, integration with the world-wide network, gadgets, eye-candy utilities, and many other features. But essentially, they still work in the same way as in the last decade.

And with the evolution of the information we have around us, with the number of information we are working with daily, with the global network around us, mobile devices, distant friends which we talk to over cellphones, social network, instant messengers, email, and the overall quantity of the information we are dealing with daily, I believe that the way the desktop is used now is slowing us down.

And what it all has to do with Planet Mandriva and my blog, where I am posting all this rant?

Well, it is a simple answer..

Since I first knew about Mandrake and Conectiva (who gave birth to Mandriva), they had the Desktop innovation in mind. Mandriva came through a difficult road this year, this is true. But now we can start thinking on how to continue this innovation even further. And as it came to me to be the one in front of the Mandriva Desktop, I can only share with you what I have in mind about it all.

In a few words, my goal is to make Mandriva the best desktop distribution out there. Not yet another distribution, perhaps not the biggest one, but the one which will attempt to transform the way we think about and use our desktops.

Will it be simple? Definitely, now. But what fun is in doing simple things?

Will it be challenging? Heck, yes!!

And I will do my best to make it work.

Since I first heard about the filming of the Lord of the Rings movies, my life was almost divided into two stages: before I heard about it, and after that. The Lord of the Rings was the first book I read (at age 4 or 5, I don’t remember exactly), and I read it at least 50 times since that. So the waiting that movie was really, really expected.

After the last of the LOTR movies, I was a bit lost. There was no more need to wait for the next movies. I felt almost like ‘the cinema has got to its top, and I don’t think any other movie will entertain me, and allow me to go to the other worlds as the LOTR did’. For several years, I was waiting for the next LOTR movies like a child who is waiting for the Santa’s gifts at the end of the year. And suddenly I felt like all the wishes were fulfilled.

However, some new movies appeared and made me feel almost as when I was waiting for the Fellowship of the Ring, The Two Towers and The Return of the King – movies like the Spiderman series, The Jason Bourne series, the last episode in the Starwars movies (well, the 3rd episode to be correct), Pirates of the Caribbean, 300, the new Batman and The Dark Knight movies, and many others. However, most of those movies appeared before 2009, so I started the year thinking ‘oh my.. this year will be a really boring one, with nothing interesting to watch’.

Well, to sum it in a few words.. I was completely wrong. The year of 2009 brought me a lot more excellent movies that I could possible hope. Just to name a few: Watchmen (until the very end of the year, I thought it would be simple the best movie in a long long time), 500 Days of Summer, Zombieland, Terminator Salvation, Inglorious Bastards, Taken, Star Trek, Pandorum (almost-the-best SciFi movie in a long long time), District 9, and many many others. I have to say that all those movies were great, and left a mark in my memories.

And then Avatar came and put them all into the background.

I already expected a lot from this movie, and also was quite afraid that it would not live up to the expectations. However, I had a lot of trust in James Cameron – the cinema magician who created Terminator, Aliens, True Lies, Abyss and Titanic.. and he made yet another cinema miracle. In my opinion, Avatar is the biggest happening in the cinema world of this decade. And it is specially true for the ones out there who happen live some part of their life in different worlds – worlds created by writers, cinema guys, or RPG games.

The writers manage to create great worlds, and make you believe that they are real in your mind. Role-playing games put you in those worlds, and make you part of it. But with Avatar, James Cameron was the first guy to in fact create a different world, and let us to live in it for a while. That world feels so real, that you forget about all the computer-generated graphics, effects, and a (few) plot holes, so you just lose a few hours of your real life to spend them on Pandora.

So, to sum it all up – if you haven’t done it yet, go watch Avatar – and, if possible, watch it in 3D. You’ll probably feel the same feeling as the people in the beginning of the past century had, by watching the first movies ever.

I think that resumes pretty much everything I have to say about it :) .

Usp finalmente colocou a minha tese na net! Uhuu!

Para quem quiser mergulhar numa aventura emocionante, conhecer as teorias, mitos e lendas do Grande Caos, comparar a sua inteligência com a artificial, e participar de uma busca dinâmica afim de e averiguar a verdadeira autonomia de computação, sintam-se convidados a se escalar nessa jornada!

http://www.teses.usp.br/teses/disponiveis/55/55134/tde-05082009-205709/

Ééééé, mais um ano está se acabando..

Nesse em particular aconteceram muitas coisas comigo. E, seguindo a tradição dos últimos anos, só posso falar duas coisas: – A cada ano parece que o tempo passa mais e mais rápido – Todos os planos feitos no começo do ano acabam se transformando de forma inacreditável :) .

Bem, alguns dos destaques de 2008, que logo-logo vai ficar no passado:

  • Encontrei a Vanessa (sem dúvida alguma uma das coisas mais legais de 2008 :) )!
  • Fui para Salvador no carnaval. Foi uma experiência única e inesquecível :) .
  • Saí da mstech, depois de 5 anos lá. Aprendi muito lá, fiz diversos projetos interessantes, achei amigos para toda a vida e cresci muito. Mas chegou a hora de procurar novos desafios..
  • Adiantei de forma inacreditável as coisas do doutorado. Se no fim do ano passado eu não sabia nem para onde ele estava indo, e hoje posso falar que o projeto está praticamente terminado, e é um projeto BOM.
  • Entrei para Mandriva. Para mim isso é particularmente interessante – estou mexendo com Linux já faz mais de 10 anos, mas nunca trabalhei em nenhum lugar que trabalhasse diretamente com software livre.
  • Realizei diversos projetos para Intel (com ajuda do Paulo, é claro).
  • Li mais de 300 livros no meu N800. Encontrei diversos livros que realmente marcaram a minha vida e fizeram pensar nela.
  • Conheci diversas cervejas diferentes (novo hobby), e comecei a “degustar” vinhos bons. Casillero Del Diablo, de 2007.. hummm…
  • Consolidei o meu hobby de fotografia. Algumas fotos receberam milhares de visitas, algumas centenas.. Mas, observando as fotos antigas e comparando com as de hoje, consigo notar o meu crescimento pessoal nitidamente.

E muitas outras coisas.

De forma geral, 2008 foi bom. Corrido, mas bom. Vamos para 2009 agora!

Finalmente dei uma limpada geral no meu orkut, removendo todas as pessoas desconhecidas ou estranhas.

O interessante é a evolução dele (no caso, com o meu perfil).

Em 2004, só tinha gente conhecida nele (em torno de umas 250 pessoas).

Em 2005, uns 80% das pessoas no meu profile foram as que me encontraram e adicionaram (e delas, só uns 30% mandou alguma mensagem sequer um dia) (chegou a 800 pessoas o meu perfil).

Em 2006, fiz uma limpeza, removendo as pessoas que nunca responderam nenhuma mensagem nem mandaram (chegou a 500).

Em 2007, chegou a temporada de SPAM, com bilhões de perfis falsos e propaganda.  E muita gente (desconhecida e conhecida) acabou desencanando dele e saiu (em torno de 450 pessoas).

Em 2008 (i.e., agora), só tem pessoas conhecidas nele (350 pessoas).

O que eu tiro como conclusão disso? Em 4 anos, o orkut me ajudou a achar 100 novos amigos (digo, pessoas com quais eu converso, e que são especiais para mim). Tá certo que boa parte delas eu conheci na vida real, mas… o orkut ajuda a manter amizade apesar de distância e tudo.

Conversando hoje com J.F. e P.C. (nomes foram escondidos propositalmente :) ), chegamos na seguinte conclusão:

MULHERES SÃO IGUAIS AO Linux

E é muito fácil provar isso! Vejam só:

  • Ambos mostram mensagens crípticas, difíceis de entender, porém essenciais.
  • Se você não prestar atenção nestas mensagens, freqüentemente pode levar um “Oops”!
  • Se você não prestar atenção mesmo assim, isso vai acabar dando um panic. Kernel panic, para ser mais exato. Ou seja, f***u.
  • Embora o kernel é o mesmo, as distribuições variam bastante (cor de cabelo, gostos, cor de sapato + cor de cinto, etc).
  • Essa variação torna-se ainda mais visível se a gente considerar os skins que elas gostam de aplicar! (“Cabelo vermelho + sapato preto hoje; cabelo loiro + sapato verde amanhã..”)
  • Elas podem ser de mais diversas configurações e opções (tem as que gostam de cálculo (hehe, não resisti), tem as que gostam de dançar, tem as que fazem até computação…)
  • As mensagens que elas demonstram são quase sempre indecifráveis, e você precisa de um man para entendê-las. Err… bem, pensando melhor, no caso do Linux é mais fácil..
  • Geralmente elas suportam todos os dispositivos presentes no mercado, porém cada variação do seu próprio jeito.
  • Elas tem interfaces-padrão de entrada-e-saída.. (acho que vou apanhar depois dessa)
  • Se você der um reboot nelas sem dar um sync antes, com certeza vai ter problemas!!
  • A facilidade para instalar novos pacotes (bolsas, sapatos, vestidos) é impressionante!! (Por outro lado, alguns pacotes dão conflitos que demoram um tempo significativo para resolver).
  • Elas criam processos-filhos… (essa foi péssima.. hehe)
  • A interface gráfica é facilmente customizada, as vezes até demais
  • Você precisa conhecer um bilhão de comandos para fazer funcionar do jeito eficiente, e conseguir o que você quer.
  • Elas tem tratamento padronizado para o protocolo ICMP PING (“psiu!!”)
  • Elas suportam diversos aliases para os comandos mais variados. Alguns inclusive podem resultar em efeitos opostos do que você pensava.
  • Elas geralmente estão por trás de qualquer grande projeto :) .
  • Existem diversos bugs que precisariam ser tratados nas versões mais atualizadas…
  • Elas conseguem conversar entre si em protocolos de mais baixo nível (as vezes eu acho que é mais fácil entender a saída binária do tcpdump de que a conversa de duas mulheres sobre a moda…)
  • Elas tem diversas aplicações que fazem mais-ou-menos a mesma coisa (alguém pensou mozilla, firefox, epiphany, galeon, opera e konqueror para navegar na net? nada a ver, eu pensei simplesmente nos 0×208308 sapatos que tem no armário..)
  • e finalmente, para concluir:
  • VOCÊ NUNCA CONSEGUE ENTENDER O SISTEMA INTEIRO!
  • (se você entende, é porque você é o vi.. hehe)

:)

Continuando a temporada de lançamentos, nesse fim da semana saiu Firefox 3 RC1. Com isso, podemos dizer que nas próximas semanas (de acordo com o cronograma de Mozilla), vamos ter a versão final do Firefox 3.0.

Eu estou usando ele desde o fim do ano, nas versões conhecidas como “nightly” (com codenome “minefield“) – são as versões compiladas diariamente. Isso tem lados positivos e negativos – entre os positivos, o desempenho dessas versões geralmente é significativamente superior ao das mais oficiais. Entre os negativos – vire e mexe algo para de funcionar (por exemplo, gmail, acentos, teclado, etc, etc). Mas em geral eu gostei da experiência que eu tive com os nightlies.

Porém, recentemente – já faz aproximadamente 1 mês -  ele tem 2 problemas extremamente irritantes:

  1. O acesso ao chrome (i.e., páginas “internas” do browser) foi desabilitado. Com isso, extensions como yardvark (para remover partes das páginas – tipo banners, fontes ilegiveis, etc) e webdeveloper (caixinha mágica dos web-developers :) ) pararam de funcionar. Enquanto o webdeveloper – de acordo com o site do seu criador – ainda tem esperança, o outro aparentemente não vai ser atualizado no futuro previsível…
  2. Os atalhos (alt-número) para trocar de tabs pararam de funcionar de vez no Linux. Isso é mais de que irritante. Inclusive eu achei o commit que quebrou isso, mas, apesar da minha experiência com o código do mozilla, não estou nem um pouco animado a mexer com isso.. hehehe

Mas, fora isso, o desempenho dos nightlies é mais de que suficiente, e qualidade de renderização também.

E, por falar em desempenho.. Acredito que muitos já perceberam que o Firefox para windows ganhou um speedup de até 4x na renderização de páginas, javascript, e funcionamento em geral. Tudo isso foi possível graças ao PGO (profile-guided optimizations) – técnica nova que apareceu nas últimas versões do GCC (junto com uma multidão de problemas, o gcc também trouxe coisas boas nas versões mais recentes :) ). Entretanto, só versões para windows são compiladas com esse suporte; as de Linux não.

Eu tentei dar uma chance a essa técnica – já que o Arch Linux, que estou usando no último ano-e-pouco, tem facilidade muito grande para criação de pacotes otimizados. E, realmente, a diferença de desempenho é MUITO grande. Não vou colocar nenhum benchmark nem nada aqui, só a minha opinião subjetiva. E ela é:

LIGUE JÁ O PGO!

hehehe.

(se você quer ver um benchmark, dê uma olhada aqui por exemplo -Firefox 3 ainda mais veloz | Open Mania).

E é isso. De forma geral, o firefox 3 parece ser muito melhor que o 2, vamos esperar o release final!

© 2012 Eugeni's blog Suffusion theme by Sayontan Sinha