3 de dezembro de 2010

Virtual Box

Já desde os tempos da faculdade que "acho engraçada" a história toda da virtualização.

A ideia é relativamente simples: usar um computador para fingir que tem lá dentro um outro computador inteiro, virtual, onde se podem instalar sistemas operativos completos. Eu uso principalmente para brincadeiras do género ter uma máquina virtual Linux no Windows do meu novo portátil para ir matando saudades ao Linux, ou para experimentar configurações. Quando fiz a cadeira de Engenharia de Sistemas de Objectos Distribuídos, cheguei mesmo a criar uma máquina virtual com o sistema que desenvolvemos.

Durante muito tempo usei o VMWare Player para as minhas necessidades de virtualização. Infelizmente o VMWare Player é isso mesmo, um player. Não é possivel (só com ele) criar uma máquina virtual de raiz. É nesse nicho que a VMWare vende alguns produtos. O VMWare Workstation é uma ferramenta completa para a criação e gestão de máquinas virtuais para o Desktop. Claro que é pago. Portanto havia que arranjar alternativas para criar as máquinas virtuais, alternativas essas que passavam por usar outros programas para gerar os ficheiros que servem de disco ao VMWare (o qemu), e um gerador do ficheiro de configuração do VMWare (que felizmente era um ficheiro de texto com um formato bastante compreensível).

Nos tempos em que comecei a olhar para estas coisas ouvi falar de um "VMWare Workstation" open-source. Como entusiasta destas coisas do open-source fui dar uma olhada ao Virtual Box. Na altura a interface tinha um aspecto horrível e, se bem me lembro, não consegui meter máquinas virtuais a correr decentemente. Pelo que declarei como uma perda de tempo e nunca mais voltei a olhar para ele.

Num dos meus primeiros dias na OutSystems o meu colega do lado sugeriu-me o Virtual Box quando perguntei se dava para instalar o VMWare no meu computador. Aparentemente o Virtual Box entretanto foi comprado à innotek pela Sun, que entretanto foi comprada pela Oracle. E em vez de ser descontinuado foi um projecto que até foi pegado e bastante desenvolvido. Hoje em dia é uma alternativa bastante agradável ao VMWare Workstation para utilizadores de Desktop (pelo menos).

Ao contrário da versão que experimentei, tem uma interface bonitinha, polida, e intuitiva. É bastante fácil criar e meter a correr uma máquina virtual com as configurações por omissão. Também é fácil de editar as configurações das máquinas virtuais, especialmente com a (excelentemente) detalhada informação que a ferramenta nos fornece.

Embora as máquinas virtuais costumem funcionar bastante bem sem qualquer comunicação com o software de virtualização, há coisinhas que se o host (o software de virtualização) tiver alguma comunicação com o guest (o sistema operativo na máquina virtual), se tornam mais simples. Coisas que se notam bastante como uma melhor integração do rato entre a máquina virtual e a máquina real, o host conseguir avisar o guest que o "monitor" (que é uma janela, normalmente) aumentou ou diminuiu. Tanto o VMWare como o Virtual Box fornecem este tipo de extensões (sob o nome de VMWare Tool e Guest Additions, respectivamente) que normalmente tornam a experiência de usar uma máquina virtual bastante mais agradável.

Eu agora uso o Virtual Box para ter uma máquinazinha com Debian. Há que dizer que fiquei bastante surpreendido quando vi o debian-installer a instalar um pacote com as Guest Additions sem eu ter de me preocupar mais com o assunto. Não que tenha medo de as instalar, mas enquanto que no Windows normalmente há um installer com a filosofia "next, next, next", no Linux o normal é este tipo de ferramentas conter módulos para o kernel que têm de ser compilados "on-the-fly". São as desvantagens da extrema heterogeneidade de sistemas Linux. Compilar módulos do kernel não é uma operação que esteja disponível "out-of-the-box" na maioria dos sistemas (e normalmente não está numa instalação base da Debian), portanto nem sempre é linear fazê-lo da maneira mais poupada possível. Lembro-me de imensas vezes que andei a instalar pacotes meio às cegas até acertar com os que eram necessários para a compilação com sucesso, e isso claro que deixou mais pacotes do que os que queria no sistema. Quando o guest está ciente que está debaixo de uma máquina virtual e instala por ele mesmo as Tools de guest, é simplesmente maravilhoso.

Bem, afinal o que é que eu quero dizer com esta conversa toda? Experimentem o Virtual Box. Vale a pena. Cresceu muito nos últimos anos e é uma alternativa bastante viável (e barata) ao VMWare (pelo menos para uso em desktop).

18 de novembro de 2010

Validade dos jogos de Futebol

Eu tenho uma teoria: as pessoas não gostam mesmo de ver jogos de futebol. Apenas gostam de saber o resultado em tempo real.

PROVA*: Imaginemos que as pessoas gostam de facto de ver o desenrolar de um jogo de futebol.

Desta hipótese, concluir-se-ia que as pessoas fariam questão de ver o jogo do inicio ao fim, como quem gosta de ver um filme, sem interrupções. Mais, não importaria a altura em que se vê o jogo. Podia ver o jogo no dia em que ocorre, no dia a seguir, ou daí a uma semana, um mês ou mesmo depois de anos. O valor de entertenimento do jogo seria exactamente como o valor de entretenimento de um filme, eterno.

No entanto, não só as pessoas aceitam cortar partes do jogo desde que possam seguir o resultado em tempo real (como por exemplo, quando estão a sair com amigos), como nunca vi nenhum exemplo de pessoas que fossem capazes de perder o jogo, gravá-lo e vê-lo mais tarde. Prova deste comportamento deviante são os jogos da selecção durante o Mundial, em que o país literalmente parava para que as pessoas pudessem tirar o tempo dos seus trabalhos para verem o jogo em directo.

Portanto pode-se concluir que os adeptos de futebol não gostam, de facto, de ver jogos de futebol, tornando a hipótese absurda. QED

* como é uma prova a ver com futebol, terá necessariamente de ser por absurdo.

16 de novembro de 2010

OutSystems

Para quem não sabe: estou a trabalhar na OutSystems. No cantinho de I&D da OutSystems, desenvolve-se a Agile Platform, enquanto que no cantinho de consultoria (onde ainda não meti os pés) se desenvolvem aplicações usando a Agile Platform.

Esta coisa da Agile Platform é uma solução completa para o desenvolvimento de aplicações web. Consiste não só de um IDE para desenvolver as aplicações Web (onde se podem definir páginas, entidades de um modelo ER que se reflectem em tabelas em bases de dados, lógica inerente a acções nas páginas ou a acções que correm em timers, entre outras coisas), mas também da plataforma de suporte à execução e gestão das aplicações Web desenvolvidas no IDE.

Entrei para a OutSystems depois de um processo inacreditavelmente célere de entrevistas. Um dia fui a um almoço com um colega meu da faculdade que já trabalhava lá e mais dois tipos da OutSystems, nessa altura combinou-se que se faria a próxima etapa das entrevistas tão cedo quanto possível. Um deles tinha de ir para fora durante uma semana, portanto fiquei uma semana à espera da segunda entrevista. Na Quinta-feira seguinte fui ao escritório fazer as entrevistas técnicas. Finda a tarde em que fui entrevistado por três pessoas diferentes, disseram que me contactariam o mais rapidamente possível para a entrevista final com o CEO da empresa. E foi rápido sim senhor: no dia a seguir de manhãzinha tinha uma chamada perdida no telemóvel que era alguém a contactar-me para uma entrevista nessa tarde. Sexta feira tenho a entrevista com o Paulo Rosado, e poucos minutos depois é-me feita uma oferta de emprego. Na terça-feira (só respondi definitivamente na Segunda) já lá estava a trabalhar.

Considerando que o outro sítio onde fiz uma entrevista cerca de uma semana antes de qualquer contacto com a OutSystems ainda está por me contactar, acho que foi bastante rápido o processo de ser empregado.

Um produto dá identidade a uma empresa da nossa área e diferencia-a das demais. A maioria das outras empresas que vi eram todas de consultoria genérica, sem identidade. Não via grande diferença entre trabalhar para a empresa X ou a XPTO. Estou contente com a minha escolha actual. Gosto da OutSystems, uma empresa com o que parece ser um óptimo produto, com bom ambiente, e lá tenciono ficar nos próximos tempos.

12 de novembro de 2010

Benvindos ao Cantinho

E ei-lo. O meu primeiro blog... desde há muito tempo. Não é a minha primeira tentativa de ter um blog, mas vamos lá ver se desta lhe dou um bocadinho mais de vida (na forma de posts).

Este primeiro post podia ser muito grande, com imensa informação sobre mim, o que gosto, o que faço e mais uma data de coisas, mas assim ficava rapidamente sem assunto para escrever. Em vez de fazer um testamento aqui e já, vou só falar um pouco de mim, do que me levou a fazer mais uma tentativa de ter um blog e mais umas coisas insignificantes.

Primeiro eu: chamo-me Ricardo Silva, muitas vezes abreviado para "ardo". A alcunha vem de ardoRic, o meu "nome" online. E no inicio serviu para distinguir dos outros Ricardos todos no curso. Foi apenas no inicio da faculdade que comecei a frequentar mais as Internets, a ir ao IRC através do mIRC (e não a ir ao mIRC) e nessa altura usava, se bem me lembro, o nick "nolf" (de "no one lives forever"). Um dos primeiros trabalhos da primeira cadeira de programação da faculdade era fazer um programa que dada uma palavra mostrasse todas as maneiras de "rodar" a palavra. Por exemplo, para a palavra "exemplo" devia mostrar "exemplo", "xemploe", "emploex" ... "oexempl". E foi daí que veio o nick "ardoRic", é um dos resultados desse programa quando aplicado ao meu nome, Ricardo. Foi na tal altura em que usava o nick "nolf", mas não estava muito satisfeito com ele, portanto escolhi uma das permutações desse programa de que gostei e tenho usado esse nick nos últimos anos. Agora estou afeiçoado ao nick e não me vejo a deixá-lo para trás tão cedo.

Este blog surgiu como o blog onde eu vou colocar os posts mais pessoais que não cabem num blog que estou a preparar com uma amiga minha (quando tiver algo para mostrar desse projecto, falarei sobre ele). Basicamente esse blog deverá ser ligeiramente mais sério, e aqui é onde meto a outra tralha toda em que penso e que me acontece. Aqui vou falar de banalidades que me acontecem no dia a dia, sobre o tempo, sobre World of Warcraft, enfim... basicamente o que me der na real gana.

Vou escrever o blog maioritariamente em português, mas podem haver uns posts em resposta a outros blogs em inglês que escreverei em inglês. Não faço uma versão em português e outra em inglês simplesmente porque não me vou dar a esse trabalho. A minha audiência inicial será portuguesa, falarei sobre coisas que me acontecem em Portugal, portanto não vejo razão para falar noutra língua.

Vou tentar sempre que os meus posts tenham algum conteúdo e não se limitem a um despejar de uma imagem, um vídeo do Youtube ou um link para outro post. Quando fizer isso (mostrar uma imagem, linkar um video ou outro post) será sempre para acrescentar algo da minha opinião ao que mostro. Não gosto de ler posts que se limitam a espalhar links, sem adicionar nada, portanto vou evitar fazê-lo no meu próprio blog.

Para não alongar muito mais o primeiro post, acho que fico por aqui.