Linux… e mais coisas

Um espaço para dizer um pouco mais sobre coisas interessantes…

Arquivo da categoria ‘Free Software’

Campus Party 2009 – Resumo da Ópera (Longo)

Publicado por Fábio Emilio Costa em 28 28UTC Janeiro 28UTC 2009

OK… Já vai alguns dias que acabou a Campus Party, e portanto é uma ótima hora para falar sobre ela, sem muita pressão e tal. Desse modo, posso comentar os bons e ruins sem muito medo.
Bem, se você não quer saber sobre a Campus Party, pule esse post pois ele é muito, MUITO LONGO MESMO!!!
Então, prepare-se para a viagem!

Leia o resto deste post »

Enviado em Campus Party, Campus Party 2009, Eventos, Free Software, Inclusão Digital, Internet, Linux, Sociedade, Software Livre, Tecnologia, cparty | 1 Comentário »

WSIS: Sociedade da Informação

Publicado por Fábio Emilio Costa em 2 02UTC Dezembro 02UTC 2008

Reblog de um artigo meu antigo, em cooperação com o Carlísson Galdino.

Todos sabemos do impacto da Internet no cenário sócio-político-econômico mundial. Alguns afirmam que a Internet é uma aldeia global, e de certa forma ela é. Porém, como em toda aldeia, existe muito ainda a ser decidido. Se por um lado abriu novos mercados e modos de comunicação, pelo outro gerou cybercrime, pirataria e outros assuntos problemáticos.
Com esse objetivo, a ONU propôs uma discussão sobre o assunto, a WSIS (World Summit of Information SocietyCúpula Mundial da Sociedade da Informação), com a participação de todos os países membros da ONU.
Vários temas que serão tratados nessa cúpula são importantes e polêmicos, envolvendo assuntos como Inclusão Digital, Governança Eletrônica, Cybercrime, Pedofilia, Racismo, Software Livre, Copyright, Multiculturalismo e desenvolvimento sustentável.
A primeira rodada, em Genebra, já mostrava que a discussão seria complicada. De um lado, os Estados Unidos e os países do G8 querendo travar a discussão da WSIS às questões do cybercrime, copyright e tarifações. Já um outro bloco, formado pelo Brasil e alguns países do chamado G20 (o bloco dos países em desenvolvimento), incluindo China, Índia e África do Sul, procurando descentralizar o poder da Net e propor idéias para Multiculturalismo, Inclusão Digital (principalmente fugindo do modelo tradicional e usando soluções livres e baseadas em formatos abertos).
O debate foi acirrado, mas no final das contas o grupo do G20 foi bem sucedido na colocação de idéias como a descentralização do controle da Internet e outras.
A próxima rodada, a se realizar entre os dias 16 a 18 de Novembro de 2005, será o tira-teima e poderá representar um grande avanço ou uma grande guinada de rumos para a internet.
Vamos resumir alguns pontos que podem não estar muito claros para a maioria das pessoas.

Governança Eletrônica

A idéia por trás da Governança Eletrônica é que cada país possa gerenciar seus tráfegos de Internet, ao mesmo tempo em que nenhum deles detenha o controle absoluto da Internet.
Os problemas nesse caso chamam-se DNS (Domain Name ServicesServiços de Nome de Domínio) e ICANN (Internet Corporation for Assigned Names and NumbersCorporação para a distribuição de nomes e números de Internet). Falemos primeiro de DNS.
Esse sistema, o DNS, funciona como uma espécie de “agenda telefônica” que traduz nomes de sites legíveis por pessoas (como www.google.com.br) para números IP que os computadores possam usar para procurar tais páginas (como 64.233.187.104). Para evitar a sobrecarga em um único servidor, ele é construído de uma maneira que cada um dos domínios (cada trecho antes de um ponto) seja descentralizado. Antes do último domínio (nesse caso, o “.br”), existem servidores chamados root servers (servidores raiz) que são o início de tudo, onde as pesquisas começam.
O grande problema é que os root servers atualmente são 10, sendo que destes, 7 são americanos, dos quais 4 são militares. Os outros 3 estão na Alemanha, na Suiça e no Japão.
Parece não ser grande problema, mas bastaria, por exemplo, um desses países apagar a entrada para o domínio de um país em guerra (por exemplo, o domínio .br) e aquele país ficaria isolado, ou ao menos MUITO mais difícil de ser alcançado.
As sugestões, principalmente do G20, é de que esses root servers sejam distribuídos, espalhados pelo mundo, ajudando na descentrazação. Isso impediria que uma exclusão americana pudesse afetar o sistema como um todo, já que uma das características do DNS é ser redundante (tradução: ter os mesmos dados em todos os sistemas). Ou seja, uma “remoção” tem que ser feita em todos os root servers. Com o controle saindo das mãos dos EUA, isso com certeza seria muito difícil.
O outro problema é o ICANN, Internet Corporation for Assigned Names and Numbers (Corporação para a distribuição de nomes e números de Internet), uma organização norte-americana que controla o fornecimento dos domínios nacionais já citados e dos números de IP.
Os Estados Unidos não abrem mão de deterem o controle dessa organização, alegando “questões de segurança”, mesmo com a sugestão de passar esse controle para uma organização pan-nacional, como o ITU (International Telecommunication UnionUnião Internacional de Telecomunicações), órgão ligado à ONU que já trata da questão de telecomunicações, com padronizações em vários setores relacionados. Porém, o principal medo dos outros países é que os americanos comecem a usar seu poder no ICANN para atuarem como Grande Irmão (referência a 1984 de George Orwell), o que, considerando-se a atual “Guerra contra o Terror” não seria de se estranhar.
Há um perigo de que uma decisão intransigente americana possa romper a estrutura da Internet como a conhecemos, isolando os EUA do mundo e vice-versa, com cada país criando variações da Internet individuais, talvez ligadas entre si, mas sem o alcance global da Internet como a conhecemos.
Outro problema envolvido na Governança Eletrônica está relacionado ao Multiculturalismo, ou à existência de conteúdo e funcionamento da Internet em idiomas diferentes do inglês ou com alfabetos não latinos (como o Hindi ou Gujarati do Indiano, o Cirílico do Russo e os caracteres japoneses e chineses). Há um crescente interesse pelo uso do sistema IDN – Internationalized Domain Names (Nomes de Domínio Internacionalizados), mas os americanos evitam falar do assunto, alegando que complicaria tecnologicamente o sistema DNS, além de tornar complexo o acesso para americanos. Porém, a alegação é recíproca por parte de países que usam idiomas com alfabetos não-latinos ou até mesmo com alfabetos com acentos, como o Brasil. É que deixar de fora seus alfabetos ou acentos locais fere o respeito à cultura de um povo. Além disso, o fato de o IDN utilizar sistemas técnicos já reconhecidos têm derrubado a barreira da complexidade. De fato, alguns países, como Grécia, Alemanha e Brasil, já adotam domínios IDN.

Liberdade de Expressão:

Outro problema sério a ser tratado no caso da Internet é a Liberdade de Expressão, onde muitas vezes os países acabam sendo pedra e vidraça.
Os Estados Unidos estranhamente não aceitam que o racismo ou a xenofobia (ódio a estrangeiros, relacionado ao nazismo) sejam incluídos como temas a serem deplorados no cyber-espaço, alegando para isso parte da Primeira Emenda de sua Constituição, que declara que o principal valor americano é a liberdade de expressão. Por isso não é tão estranho que sites norte americano sobre racismo e xenofobia sejam tão prósperos em “net-solo” americano.
Esse mesmo princípio que os faz extremamente tolerantes à difusão de idéias xenofóbicas e racistas em seu território é o que os faz ir contra o Grande Firewall da China (um filtro de conteúdo nacional que não permite que chineses acessem sites como o do New York Times ou sobre o Dalai Lama).
Mas se de um lado a China quer barrar certos tipos de conteúdo, do outro os EUA querem censurar o conteúdo pornográfico na Internet. Para isso estão dispostos a tudo, inclusive a impedir a criação de um novo domínio chamado “.xxx” (lembrando que XXX é uma notória convenção para indicar-se pornografia explícita, principalmnete em fitas de vídeo e DVDs) e a exigir que empresas “suspeitas” divulguem incondicionalmente informações sobre “conteúdos polêmicos”. Estranhamente, os EUA possuem muitas leis bizarras sobre a questão sexual, inclusive com estados que permitem a zoofilia (sexo com animais) e até mesmo a necrofilia (sexo com pessoas mortas).

Cyberjus (ou Leis para a Internet):

Na área de crimes digitais, o consenso existe quando se trata de crimes contra bancos, roubos em contas bancárias a partir do roubo de senhas e demais versões informáticas de crimes “do mundo físico”. Fora isso, tratar do Direito Informático ainda é um problema enorme, e pode ficar ainda maior. Principalmente se a WSIS for pressionada a aceitar leis rígidas como a DMCA (Digital Millenium Copyright ActLei de Copyright do Milênio Digital).
A DMCA é uma lei que impede a engenharia reversa (ou seja, a pesquisa do funcionamento e possíveis formas de contornar “travas de segurança” digitais), considerando-a crime de pirataria de dados. O maior problema desse caso é que a DMCA está sendo usada como uma forma de impedir a disseminação cultural e tecnológica. Os Estados Unidos, para variar, são os principais defensores da idéia de leis que lindem legalmente tecnologias de proteção, também chamadas de leis anti-contorno (anti-circunvention em inglês). Já países como o Brasil, China e Índia defendem modelos de copyright mais maleáveis, como aquelas baseadas em Creative Commons para uma maior difusão sócio-tecno-cultural.
Outros dois problemas sérios na Internet também fazem parte dessa discussão. São eles a questão da pirataria e do spam.
A pirataria é inegavelmente nociva, mas o maior problema da questão da pirataria não é o fato em si, mas o que está por trás dele, que é uma supressão velada da cultura de outros países, cuja cultura será substituída pela cultura americana. Esse fato já acontece, mas as empresas midiáticas e de software têm o desejo de conseguir mercados consumidores para seus produtos, não importa o que aconteça. Países de diversos tipos vêm defendendo um modelo que permita que supostos piratas (normalmente pessoas que baixam músicas de bandas pouco conhecidas, como os irlandeses do Ceolbeg ou os coreanos do Banya) possam pagar preços justos pela música, ao invés de serem obrigados a pagar US$ 20,00 em um CD do qual aproveitarão uma ou duas músicas. Claro que as empresas midiáticas são contra, uma vez que perderiam parte expressiva da renda.
Já em se tratando de mensagens de propaganda abusiva (os famosos spams), existem queixas americanas de que os países em desenvolvimento seriam o ponto de partida da maior parte deles. Por sua vez, a maior parte dos países defende que o spam é disparado por empresas norte-americanas que usam de adulteração dos emails para indicarem suas origens em endereços legítimos nas regiões em desenvolvimento.
A questão da invasão de sistemas, principalmente a do defacement (pichação, onde a página de um site é removida e é colocada outra, como em uma pichação de muros), também tem sua polêmica, principalmente sobre como deverão e quem deverá ser responsabilizado. Há uma tendência de que se responsabilize também o administrador de qualquer sistema que tenha sido usado para essa invasão.
Mas há casos em que esta decisão se torna deveras injusta, como ocorre com o tipo de ataque DDoS (Distributed Denail of ServiceNegação de Serviço Distribuída). O DDoS pode ser comparado a uma espécie de “trote coletivo” capaz de desativar um servidor de conteúdo da Internet, e pode se utilizar de (muitos) computadores inocentes. Se a responsabilização se extender aos donos desses computadores, afetará pessoas que nada têm a ver com o problema e que podem ter tido suas máquinas transformadas em zumbis (termo que quer dizer: transformar-se uma máquina comum em uma preparada para participar – sem conhecimento do seu dono – de um ataque de DDoS).

Inclusão Digital:

O tema Inclusão poderia ser o único tema de concórdia entre todos os países na WSIS, já que não existe país que não reconheça a importância da Inclusão Digital e da Internet, e não saiba que para uma evolução no 3° Milênio é necessário combater o Analfabetismo Funcional.
O ponto de discórdia resume-se a como ela deve ser feita.
Os países em desenvolvimentos, liderados por Brasil, China, África do Sul e Índia, sugeriram um modelo de Inclusão baseado na preferência pelo software livre, o que permitiria menores custos e um maior intercâmbio de tecnologia. Esse modelo também possui proponentes na Rússia, Alemanha, Polônia e outros países da União Européia.
Porém, os países desenvolvidos, liderados principalmente pelos Estados Unidos, sugerem um “modelo neutro”, sem preferências, o que em geral acaba abrindo espaço para o tradicional lobby do modelo proprietário de software, que termina sendo imposto por algumas empresas de software, principalmente pela Microsoft. Tais países também possuem interesse em manter o eterno atraso tecnológico dos países em desenvolvimentos.

Conclusão

Enfim, a WSIS teria tudo para ser um campo de decisões unânimes, se prevalecesse o bom-senso e houvesse real preocupação com os países ainda-não-desenvolvidos ou em desenvolvimento. Se houvesse uma real preocupação com uma globalização justa. Mas como não há, de que adianta serem razoáveis?
As ações, os grupos e suas motivações estão bem delineadas. O importante é que as motivações sejam compreendidas e debatidas, e que a sociedade não aceite nenhum tipo de indefinição que favoreça pequenos grupos de elite. É sempre bom notar que, por mais que os atuais donos da Internet entendam assim, a Internet não é um shopping center virtual. Ela é muito mais que isso, e foi fundada com outro objetivo, o objetivo que grupos como FSF, EFF, Creative Commons e outros defendem… A livre troca de conhecimento, para melhoria não apenas de um ou outro país, e sim da humanidade como um todo.
O que está em jogo para os donos do mundo não é a melhoria dos pequenos, mas a preparação de um mercado consumidor nesses países, e só. Teremos, nessa Cúpula, uma chance de mudar as coisas como são hoje, pelo menos no mundo da Informática. Torçamos por ela.
Referência

Powered by ScribeFire.

Enviado em Comunidade, Cultura Livre, DRM, Direitos Autorais, Free Software, Inclusão Digital, Internet, Legislação, Opinião, Sociedade, Software Livre, Standards, Tecnologia | Deixar um comentário »

Ativando a câmera Microdia do Mirax mm6100 no Debian Linux

Publicado por Fábio Emilio Costa em 21 21UTC Outubro 21UTC 2008

Olá!

Se vocês acompanham esse blog a um certo tempo, devem se lembrar de quando falei sobre a instalação do Debian no meu notebook Mirax mm6100, e de como na época falei que a Webcam não funcionava. De boa, nunca senti muita falta da Webcam, mas é muito chato você ficar com um hardware parado no seu notebook. Então, a algum tempo atrás, o Silveira Neto divulgou no Br-Linux.org como instalar um driver alternativo para as Webcam Microdia como a do meu notebook.
Bem, para ser um pouco repetitivo, vou colocar os passos aqui também, embora nos links anteriores tenha-se um passo a passo mais detalhado:

Baixando e compilando:

Você irá precisar instalar pacotes básicos de compilação (build-essentials), os cabeçalhos do kernel (kernel-header) que você tá rodando e o git. Para isso, como root ou usando sudo, digite (no Debian/Ubuntu):

apt-get install kernel-header-`uname -r`kernel-package git-core gitk git-gui git-doc curl ctags build-essential

Com esse comando, você já estará instalando todo o necessário para compilar o driver alternativo. PS: Se você estiver usando o driver gspca, pode ser interessante, ainda que não obrigatório, a remoção ou desabilitação do mesmo. Para desabilitar nos testes, como root digite rmmod gspca. Para remover o driver, digite dpkg -r gspca-module-`uname -r`.
Primeiro, vamos obter os sources do driver. Ele ainda não possui um tarball para distribuição, portanto vamos ter que buscar o driver no repositório git do mesmo. Para isso, digite:

git clone http://repo.or.cz/r/microdia.git

Esse comando não exige root, portanto não exige sudo ou su.
Uma vez terminado a cópia dos arquivos, você terá um diretório microdia dentro do diretório onde você estava. Entre nesse diretório e dispare o comando make. Esse comando também não precisa de root, portanto não se preocupe. A compilação é rápida e não demanda nada de especial (alguns problemas podem aparecer em casos específicos, sendo que sugiro que procure o site do projeto no Google Groups para maiores informações).
Se você não recebeu nenhum erro, então você deverá ter nesse diretório microdia um arquivo com o nome microdia.ko. Esse é o driver que você irá usar… Mas calma, antes de instalá-lo para valer vamos dar uma checada e ver se está tudo OK.

Testando o driver:

Bem, agora que você compilou o driver e já tem um arquivo microdia.ko, é hora de testar o driver e vê se está OK. Acione a kill switch da Webcam e dê uma checada no dmesg para ver se o dispositivo foi localizado. Uma vez localizado podemos testar a Webcam. Ela deve se apresentar como USB2.0 Webcam ou similar, mas pode ser que varie conforme o caso. O importante é ler o dmesg e ver se o hardware foi localizado. Calma que isso só será “necessário” dessa vez (embora dar uma olhada no caso de problemas seja altamente recomendável).
Ativada a kill switch, podemos carregar o driver com o comando (como root, pois estamos adicionando um módulo no kernel, o que demanda poderes de super-usuário):

insmod ./microdia.ko

Caso esteja tudo OK, seu dmesg terá as seguintes linhas (ou similares):

microdia: Microdia USB2.0 webcam driver startup
microdia: Microdia USB2.0 Webcam - Product ID 6260.
microdia: Release: 0100
microdia: Number of interfaces : 1
microdia: Microdia USB2.0 Camera is now controlling video device /dev/video0
usbcore: registered new interface driver usb_microdia_driver
microdia: v0.0.0 : Microdia USB Video Camera

Pode ser que seu driver não rode e dê a seguinte mensagem:

insmod: error inserting 'microdia.ko': -1 Unknown symbol in module

Não precisa se desesperar – é que está faltando alguns módulos que são dependências do microdia.ko. Basta então adicioná-los com

modprobe videodev
modprobe compat-ioctl32

E tentar novamente a carga do driver. Existem outros problemas que podem ocorrer. Caso ocorram, dê uma consultada no processo de instalação no site do projeto Microdia no Google Groups.
Agora, vamos ao teste propriamente dito. Tudo feito, a câmera não apresentando nada no insmod (o que é bom), execute o mplayer com:

mplayer tv:// -tv driver=v4l2:width=640:height=480:fps=25:device=/dev/video0 -vo x11

Se tudo correu bem, você deve estar vendo sua própria imagem de frente corretamente. Se não estiver vendo nada, feche o mplayer (CTRL+C no terminal resolve), acione novamente a kill switch e tente novamente carregar o mplayer. Caso ainda assim não funcione, provavelmente você deverá dar uma olhada no site do projeto no Google Groups.
Pode acontecer de a imagem aparecer de cabeça para baixo… Não se preocupe, falaremos disso logo. No momento, considere que está tudo bem. Eu mesmo na primeira compilação desse driver tive problemas de imagem aparecendo de cabeça para baixo. Por enquanto, simplesmente ignore esse fato e vamos para a instalação do driver.

Instalando o driver:

A instalação do driver é razoavelmente simples e opcional, mas acho interessante se você não quiser ter que levantar esse driver toda vez após rebootar sua máquina. Como root, digite os seguintes comandos:

strip -g microdia.ko
cp microdia.ko /lib/modules/`uname
-r`/kernel/drivers/media/video/usbvideo/
depmod -a

O comando strip pode ser dado sem root, portanto se você tiver usando sudo (como no Ubuntu), não há nenhum problema em deixar o comando sem sudo. Esses comandos apenas limpam o driver de símbolos de depuração, diminuindo seu tamanho e necessidade de memória, copiam o driver para o local apropriado dentro da estrutura de drivers do kernel e remapeia a estrutura do kernel para localizá-lo como parte da estrutura de drivers do kernel, de modo que os comandos de drivers (módulos) sejam apropriadamente usados.
Com isso, o driver deve estar instalado e funcionando normalmente…

Corrigindo a imagem de cabeça para baixo:

Ok… Disse anteriormente que pode acontecer de a imagem da Webcam aparecer de cabeça para baixo. Na realidade, é exatamente isso o que acontece com esse driver no Mirax mm6100. Antes de você se descabelar, vamos com calma: na lista de discussão do suporte a esse driver encontrei uma thread que dizia exatamente o que fazer nesse caso.
As versões mais atuais desse driver possuem três parâmetros que podem ser setados em 0 (desligado) e 1 (ligado), que são vflip (espelhamento vertical), hflip (espelhamento horizontal) e flip_detect (detecção da rotação da Webcam do notebook). No Mirax mm6100 a opção flip_detect não funcionou, portanto pode ser ignorada.
Se você instalou o driver, utilize o comando a seguir para fazer o teste do driver para ver se os parâmetros em questão ajudam.

modprobe microdia vflip=1 hflip=1

Se não instalou ainda o driver (o que é recomendável), utilize o comando a seguir, dentro do diretório microdia:

./insmod microdia.ko vflip=1 hflip=1

Pode ser necessário (na verdade sugere-se) o uso de rmmod microdia antes de tentar qualquer um dos comandos anteriores. Lembrando que todos esses comandos, incluindo o rmmod, demandam root.
Faça novamente o teste com o mplayer e verifique se a imagem está correta. Caso não esteja, vá setando os parâmetros apresentados até alcançar o ajuste adequado ao seu hardware. Lembre-se de usar rmmod antes de cada tentativa, de modo a “limpar” os ajustes anteriores ao descarregar o driver.
Assim que alcançar o ajuste ideal a sua Webcam, será necessário apenas editar um arquivo para que esses parâmetros sejam “gravados” no seu sistema para sempre serem adotados. Para isso, como root, abra seu editor de texto favoritos e abra o arquivo /etc/modprobe.d/aliases (ou, em algumas distros, o /etc/modprobe.conf) e acrescente ao final do mesmo o comando:

options microdia vflip=1 hflip=1

substituindo vflip=1 hflip=1 pelos ajustes adequados à sua Webcam.
Com isso, toda vez que você rebootar sua máquina, sua Webcam deverá estar corretamente configurada sempre que for usada.
A Webcam pode ser usada em qualquer programa que utilize a API Video4Linux (v4l), como o mplayer, cheese (para fotos e vídeos), amsn (mensageiro instantâneo) e afins. Cada programa possui seus ajustes, mas uma vez o driver esteja corretamente configurado, é tudo questão de ajustar corretamente as opções do programa.
Como nota final, em vários locais, inclusive nas documentações do site do projeto no Google Groups foi sugerido o uso do comando module-assistant install,prepare (m-a install,prepare para os íntimos) no Debian/Ubuntu. Não utilizei esse comando (desconhecia essa parte do processo) mas não tive problema. O uso ou não desse comando fica a seu critério, lembrando que esse comando exige root, pois manipula arquivos do kernel.

Powered by ScribeFire.

Enviado em Debian, Dicas, Free Software, Linux, Software Livre, Ubuntu | 2 Comentários »

Conectando o Nokia 6085 no Linux: Cartão de Memória e Memória Interna

Publicado por Fábio Emilio Costa em 16 16UTC Outubro 16UTC 2008

O celular Nokia 6085 foi um dos melhores celulares que a Nokia colocou em venda. Segundo a Nokia, algumas especificações são:
  • Flip com antena interna
  • GSM/EDGE 850/900/1800/1900 MHz
  • Display principal: LCD passivo CSTN de 128 x 160, 262 mil cores
  • Display externo: 96 x 68 FSTN, 2 cores Preto e Branco com LEDs azuis
  • Interface de usuário S40 com 3 teclas programáveis, deslizador de 4 direções, teclado ITU-T, teclas de volume e tecla de câmera
  • Viva-voz integrado
  • Câmera VGA com zoom digital de 4x
  • Rádio FM
  • 3 MB de memória livre do usuário, leitor de cartão de memória MicroSD com hot-swapping
  • Interface de carga de 2 mm
  • Conector Pop-PortTM (USB 1.1)
  • Standby ativo e interface de usuário aprimorada (Cher UI)
  • Bluetooth
  • Filmadora e reprodutor de vídeo
  • Reprodutor de música (MP3, MP4 AAC, AAC+, eAAC+)
  • Navegador XHTML sobre TCP/IP
  • MMS
  • Mensagens instantâneas
  • Comandos/ discagem de voz aprimorados (SIND)
  • Jogos e aplicativos Java MIDP2.0 pré-instalados
  • Streaming 3GPP
  • Sincronização local e remota (SyncML)
  • Temas que incluem papéis de parede & protetores de tela animados, esquemas de cor e toques
  • Teclas programáveis configuráveis pelo usuário
  • Calendário, lista de tarefas, notas
  • Despertador, Cronômetro de contagem regressiva

Comprei esse celular no final do ano passado (2007) com um preço bastante interessante e recursos versáteis. Possui compatibilidade Java MIDP 2.0, o que permite usar programas como o AnyRemote (controlador de computador via Bluetooth para Linux) e BarSnap (programa que permite a “leitura” de QR-Codes – códigos de barra bidimensionais usados para passar informações, como URLs, pequenos textos e afins) e seus recursos de áudio são razoáveis (seu maior problema é que a bateria vai para o ralo rapidamente se usar como MP3 Player). Como aceita toques em MP3, fica fácil configurar um toque simples e a transferência de dados via Bluetooth é muito interessante (já transmiti informações de e para meu Palm e meu notebook sem problemas).
Porém, um problema que eu tive foi que o mesmo não veio com o cabo, o que nunca me deu dor de cabeça. Mas, para facilitar as coisas, decidi comprar um cabo e investigar como conectar o Nokia 6085 ao notebook via cabo, usando Linux. Tudo aqui foi testado no Debian Lenny, mas deve funcionar no Ubuntu Gutsy e em qualquer boa distro atualizada.
Primeiro, cuidado ao comprar o cabo: em alguns casos tentarão de empurrar o cabo dos celulares Samsung. Fuja! Mesmo se for comprar um cabo genérico, procure pelos cabos CA-53 e CA-70 (que foi o que eu comprei). Se você tiver o fone de ouvido do 6085, o conector inferior é praticamente idêntico. Em alguns casos, ao encaixar o cabo pela primeira vez pode ser necessário forçar um pouquinho. Basta ter cuidado que ele encaixa normalmente.
Uma vez que o celular seja conectado ao cabo, ele irá mostrar uma tela perguntando o modo de conexão, com três opções: Transferência de Dados, Impressora e Fax e Modo Nokia. No caso, falaremos do primeiro e do último modo, que são os mais relacionados à transferência de arquivos de e para o celular.
O primeiro modo é o mais simples: basta selecionar o modo no celular que automaticamente o Linux irá reconhecer o celular como uma pendrive. No caso, esse modo é usado para transferir os dados de e para o cartão de memória MicroSD (TransFlash – seja lá o que isso quer dizer). A transferência é simples e pode ser feita como a cópia de dados normal de qualquer gerenciador. Ao terminar, lembre-se de utilizar uma opção de desmontagem do dispositivo (como a “Remover de Modo Seguro” do Konqueror / Dolphin no KDE 4.0).
O último modo é um pouco mais complexo, pois acessa a memória interna do celular (3 MB), que deveria ser acessível apenas via Bluetooth ou com o uso de um programa da Nokia para Windows. No caso, porém, alguma investigada e você descobre que na verdade existe um modo do Bluetooth chamado OBEX, que é usado para as transferências de dados, e que justamente esse modo é usado pelo programa da Nokia para se conectar ao celular via cabo. Então, procurando algumas informações na Net, cheguei a alguns tutoriais, que basicamente resumem o processo a (tudo deverá ser feito como root):

  • Instale os pacotes obex, obexfs e obxftp. Se desejar, também instale gnome-vfs-obexftp. No caso do Debian/Ubuntu, o comando é: sudo apt-get install obex obextool obexpushd obexfs obexftp gnome-vfs-obexftp;
  • Uma vez instalado os pacotes, crie um diretório /nokia (ou qualquer outro). Esse será o ponto de montagem da memória interna do celular;
  • Agora, carregue o módulo do FUSE (File User Space Environment) com modprobe fuse;
  • Monte a memória interna do celular com obexfs -u 0 /nokia/ (obs.: o parâmetro é um zero e não um O);
  • Depois, todos os processos de transferência de dados serão executados normalmente, usando os comandos de shell, como cp, rm, mv e afins. Após o término, desmonte o dispositivo com umount /nokia normalmente;
  • Atenção: não sei se é um bug no obexfs ou algo similar, mas se o seu filesystem estiver com locales para  UTF-8 (como no caso do Debian Lenny), você terá problemas com diretórios e arquivos que contenham acentos na memória do celular, uma ves que ela se encontra em Latin-1. Não sei como resolver esse problema ainda;

Para mais informações sobre esse tipo de processo, dê uma olhada no Janelas Quebradas e no De Tudo um Pouco.

Update: Esses truques funcionam normalmente com o celular Nokia N73

Powered by ScribeFire.

Enviado em Debian, Dicas, Free Software, Linux, Nokia 6085, Software Livre, Ubuntu | 9 Comentários »

AnyRemote – Controlando seu PC pelo Celular

Publicado por Fábio Emilio Costa em 6 06UTC Outubro 06UTC 2008

Olá!

Fale a verdade, você já se pegou em situações onde um bom controle remoto para o computador seria uma ótima idéia, como em uma apresentação, ou quando você está usando seu PC para ouvir música e está lavando louça e quer ouvir uma música em especial qualquer (bem, no meu caso foi Get Over, da trilha sonora do anime Hikaru no Go… :P ). De qualquer modo, é um momento onde tudo o que você quer é controlar seu PC sem ter que chegar perto do seu teclado ou mouse.
Pois bem, para apresentações existem alguns controles remotos que conseguem “substituir” um mouse, mas são caros.
Pois bem: tem um celular com suporte a bluetooth e J2ME? Usa Linux? Então sem problemas!
Existe um software chamado AnyRemote que transforma um celular Bluetooth em controle remoto por meio de um cliente J2ME que deve ser enviado para o celular. É importante que a JVM J2ME do celular suporte Bluetooth por meio de JSR (Java Specification Request) 82. No meu caso, o teste foi feito com um celular Nokia 6085 e funcionou perfeitamente. No site do AnyRemote existe uma lista dos celulares suportados.
OK, então mão na massa.
Primeiro, tenha certeza de ter as dependências do mesmo instalado: você precisará de pacotes de bluettoth (libbluez, obex e libbluetooth), além de python e PyKDE (python e python-kde) ou Gtk Python. Se você já fez alguma operação Bluetooth com o seu celular em Linux, provavelmente terá tudo o que é necessário. Caso contrário, existem muitos tutorias na Internet sobre como configurar corretamente seu dongle (chaveiro USB) de Bluetooth no Linux.
Embora a maior parte das distribuições contem com o AnyRemote nos repositórios, vamos fazer a instalação a partir dos pacotes oferecidos no site do AnyRemote, pois eles são mais atualizados com arquivos para controle de aplicações e afins. No site do AnyRemote, clique em Download e baixe os seguintes pacotes (obviamente, no formato compatível com sua distribuição – no meu caso, como Debianista, os arquivos são .deb):
  • Cliente em Linha de Comando:
  • Cliente Gráfico – aqui utilizaremos o kAnyRemote para o KDE. Existe também o gAnyRemote para o GNOME, mas não comentaremos ele aqui:
  • Cliente J2ME – ele pode ser baixado também via WAP, mas o próprio kAnyRemote ao detectar o celular permite que o cliente J2ME seja enviado para o celular via Bluetooth:

Baixado tudo isso e instalado as dependências, conecte seu dongle Bluetooth. Caso necessário, faça todas as configurações exigidas para a comunicação entre seu celular e o computador via Bluetooth. É fundamental que todos esses recursos estejam corretamente configurados antes da instalação, pois o AnyRemote (e o kAnyRemote) utiliza-se da estrutura Bluetooth do Linux. Em distribuições mais atuais, tudo resume-se a espetar o dongle que ele é auto-identificado. Instale os arquivos baixados conforme a sua distribuição. Ligue o seu Celular e ative a função Bluetooth do mesmo.
Abra então o kAnyRemote. Ele irá jogar na System Tray (Bandeja do Sistema) um pequeno ícone o identificando. Clique com o botão direito em cima dele e você terá um menu como o exibido ao lado. Clique em Start e você irá ativar o serviço do AnyRemote. PS: perceba que também deve ter na System Tray um ícone com o símbolo do Bluetooth, que indica que tem um adaptador Bluetooth conectado e reconhecido. Ele não precisa estar azul nesse momento, pois não há operações nele.
Tela Principal do kAnyRemoteAgora, vamos trabalhar o AnyRemote. Dê dois cliques no ícone do kAnyRemote ou então clique com o botão direito do mouse e escolha Restore. Você irá receber uma janela igual à do lado (clique para ampliar). Essa é a janela principal do kAnyRemote, por onde você configura quais programas podem ou não serem controlados pelo AnyRemote. Existem várias opções para configurar aqui: iremos mexer apenas nos clientes cujo modo for Server (servidor). O outro modo, AT, é um modo que utiliza comandos AT (de modem) via WiFi ou infravermelho para controlar o computador, mas não falaremos dele aqui. O Modo Server é o modo que utiliza Bluetooth (e em alguns dispositivos, infravermelho). Existe ainda o Bemused, sobre o qual também não falaremos.
Ele é dividido em três Estados: Disponível (o programa a ser controlado está instalado, mas o agente do AnyRemote não está ativo para ele), Gerenciado (o agente está ativo) e Não-Disponível (o programa a ser controlado não está instalado). No caso, temos vários agentes Disponíveis, mas apenas um Gerenciado, que é o All_in_1, que funciona como “controle remoto universal”. Sugiro que deixe apenas esse em Gerenciado. Para desativar os demais, selecione qualquer um que esteja como Gerenciado e clique em “Parar”.

Tudo OK, é hora de enviarmos o cliente J2ME ao celular. Clique em Setup | Devices. Ele irá abrir uma janela que irá investigar todos os seus dispositivos Bluetooth. Espere um pouco e ele deve mostrar o seu dispositivo. No meu caso, é o “Nokia Fábio” ao lado. Selecione-o e clique duas vezes.
Agora, já indicamos ao AnyRemote que esse dispositivo pode acessar o computador, mas ainda ele  não o fará pois não tem o cliente J2ME instalado. Para fazer o deploy desse cliente, você também pode, caso a solução do envio automatizado não funcio, enviar o arquivo normalmente por OBEX File Transfer do Linux ou então por download do mesmo via WAP (lembrando que você precisará enviar dois arquivos, um .JAR e um .JAD). Mas vamos ao envio automatizado.
Ao clicar duas vezes, você receberá uma janela para fazer os ajustes das configurações para aquele celular. Primeiro, clique em Ping para verificar se está tudo OK e a comunicação é efetiva. O Celular pode perguntar se deseja aceitar comunicação e ou pareamento do mesmo com o computador. Confirme e, caso necessário, forneça a senha de pareamento (normalmente o computador pede para definir uma. Apenas escolha uma senha que você considere adequada e confirme a mesma senha no celular). Tudo OK, basta clicar em “Enviar Java”. Confirme o alerta que seu Celular deverá dar para o envio do arquivo. Tudo OK, clique em OK para sair. Uma configuração avançada é fazer com que uma determinada configuração do AnyRemote seja carregada de imediato no Celular uma vez que ele conecte-se ao AnyRemote. Para isso, clique em “Escolher” e escolha o arquivo .cfg correspondente.
Tudo bem… Agora é a hora da verdade: abra seu celular e vá ao menu de Aplicações do mesmo. Lá deverá estar listado o AnyRemote. Escolha-o. Pode ser que o celular pergunte se você deseja a aplicação usar recursos de conectividade. Permita, pois é justamente o acesso ao Bluetooth. Tudo correndo bem, o cliente irá automaticamente identificar uma conexão, à qual você irá se ligar. Você entrará no menu do All_in_1 (imaginando que ele esteja ativo). Escolha o programa que você deseja controlar. Em alguns casos na tela irá parecer com a imagem ao lado. Nesse caso, cada um dos símbolos representa a tecla do teclado do celular que deve ser pressionada para fazer a função ser ativada. Por exemplo, para suprimir o som na tecla ao lado, digite 2. Para fechar o programa, tecle 8 e para parar a música tecle 0. Em outros casos irá aparecer outros layouts. Nesses casos, utilize as teclas direcionais do celular para mover até a opção desejada e aperte o botão central do celular (o que normalmente fica dentro do direcional) para executar a opção.
Para terminar, existe formas de configurar o comportamento tanto do AnyRemote quanto do kAnyRemote. Vá em Setup | Preferences. Você receberá uma janela como a da imagem ao lado (clique para ampliar). Existe uma série de ajustes que você pode configurar, mas os mais interessantes são o Auto-Startup (para fazer com que o kAnyRemote seja carregado ao iniciar o KDE/GNOME) e as opções de Show in List, que filtram quais configurações devem ser apresentadas pelo kAnyRemote. Sugiro que se desmarque as configurações de Modo AT (uma vez que não as usaremos) e que marque-se a opção Custom Made, que indica que configurações não relacionadas a Aplicativos também devam ser apresentadas. Entre tais configurações consta a All_in_1 que citamos aqui.
Na realidade, existe muito mais para se falar sobre o AnyRemote, pois ele é poderoso o bastante para, em conjunto com as aplicações Linux que possuam algum tipo de chamada distribuída (como o DCOP do KDE ou mesmo disparos por linha de comando), ser customizada para controle remoto de praticamente qualquer aplicação. Basta apenas estudar a documentação disponível no site do AnyRemote.
Em tempo: para o pessoal que desejar saber mais sobre o AnyRemote, em especial sobre o uso do gAnyRemote, veja esse artigo do Blog do Venilton.

Powered by ScribeFire.

Enviado em Configurações, Debian, Dicas, Free Software, KDE, Linux, Software Livre, Tecnologia | Deixar um comentário »

Dica: Gravando conversas do Skype no Debian

Publicado por Fábio Emilio Costa em 5 05UTC Agosto 05UTC 2008

Bem, precisei procurar um programa em Linux que gravasse conversas de Skype, pois no futuro estarei gravando (tudo dando certo) alguns Podcasts com um pessoal aí (não sobre Linux, mas sobre RPG). Procurando na Net, descobri algumas dicas de como redirecionar o sinal do ALSA para um arquivo usando SOX e afins, mas nenhumas delas funcionou comigo.
Então consegui encontrar um programinha opensource chamado Skype Call Recorder (SCR), que faz exatamente isso de maneira extremamente funcional. Além do Source possui pacotes para Xandros/eeePC, Ubuntu Hardy Heron (exige o repositório multiverse) e Debian Lenny.
A instalação é razoavelmente simples: copie o pacote para Debian (ou para Ubuntu conforme o caso – aqui me focarei no Debian) para o seu computador e abra um terminal. Instale antes a liblame, libid3 e a libvorbis (dependências do mesmo) via apt-get (se você ouve OGG Vorbis e MP3, normalmente já terá esses codecs instalados). Passe para root com o comando ‘su‘ e utilize o dpkg para instalar o pacote. Normalmente o comando será dpkg -i /onde/baixei/o/arquivo/skype-call-recorder-debian_0.5_i386.deb. Isso basta para instalar o pacote.
Um ícone para o mesmo será criado no menu Utilitários. Basta ativá-lo e um ícone será criado na System Tray do seu ambiente. Clique com o botão direito nele e você receberá uma opção de configuração que permite escolher onde você deseja guardar as chamadas gravadas, o formato desejado, o nome a ser dado e se você deseja receber uma caixa de confirmação de se deseja ou não gravar aquela chamada ou se as chamadas serão gravadas automaticamente.
Após ajustar as configurações, basta abrir seu Skype e realizar a chamada. Automaticamente uma caixa de confirmação será aberta solicitando se deseja gravar aquela chamada. O ideal é confirmar rapidamente. O resto é falar e dexiar o sistema trabalhar.

Enviado em Debian, Dicas, Free Software, Linux, Software Livre | 8 Comentários »

Meio-Bit e a polêmica das traduções em SL

Publicado por Fábio Emilio Costa em 4 04UTC Agosto 04UTC 2008

Eu tenho que admitir que até gosto de ler o Meio-Bit: o Cardoso parece de certa forma o similar brasileiro do John C. Dvorak (colunista norte-americano que publica colunas na Info brasileira), com um certo teor de trollagem no qual pode estar uma preocupação verdadeira. Isso é algo de se admirar nele.
Mas acho que às vezes até mesmo isso passa dos limites.
Recentemente ele postou no Meio-Bit um artigo com um nome no mínimo provocativo: Quer ajudar o Software Livre? Esqueça o Babelfish. O artigo até tem uma opinião bastante relevante, ainda que não possamos concordar: é o problema relacionado com a diferença entre tradução e localização. Mas o problema é que o tom do artigo, mais o próprio retrospecto do autor, mais uma série de outras questões compromete o que ele diz:

Quer ajudar o Software Livre? Esqueça o Babelfish | Meio Bit

No caso das traduções, temos um agravante: São de péssima qualidade. Um desenvolvedor de um projeto Open Source pequeno não tem mão-de-obra para certificar uma tradução. Se for um idioma pouco-familiar então, está na mão de quem “colaborou” com a versão.

Acho que o agravante aqui não é a péssima qualidade, o tamanho do projeto ou qualquer catzo que o seja, e sim na real é o fato de que as pessoas ainda não entenderam (provavelmente como o Cardoso) que a programação não é a única forma de colaborar com Software Livre. Ou seja, ou programo ou não colaboro.
Embora seja programador formado, vou admitir que não sou um super-programador, um über-hacker de códigos. Mas acho que conheço bem inglês e português. Quando tomei conhecimento do projeto Babelzilla (um projeto que fornece um site e ferramentas para tradução de extensões dos software do Mozilla), decidi começar a participar. Já tinha feito a tradução de uma extensão simples (a Add Bookmarks Here), então decidi procurar alguma na qual pudesse ajudar. Acabei pegando uma das mais importantes extensões atualmente, a Scribefire (ferramenta de edição de posts para blogs do Firefox). Antes que pensem que é fácil, mesmo ela sendo localizada e tudo o mais, são mais de 300 strings para traduzir com cuidado com termos e consistência. Não é um processo fácil e a cada novo release, novas strings relacionadas a novas funcionalidades surgem e precisam ser traduzidas.
A questão aqui é que existem formas razoavelmente simples de participar-se desse tipo de projeto e apoiar traduções, sobre as quais falarei adiante.
Vejamos o que o Cardoso diz a seguir:
Quer ajudar o Software Livre? Esqueça o Babelfish | Meio Bit

Tradução, aliás, que não é só rodar uma série de strings no Babelfish, colar de volta, enviar e dizer “eu sou desenvolvedor Open Source”. Parte do esforço deveria incluir localização, mas aí entra mexer em código, e os 99% lá de cima não têm competência pra isso.

Aqui é importante também que os desenvolvedores colaborem para tornar o software localizável. No caso do Firefox e das suas extensões, existem ferramentas de código que tornam o software localizável. Diferentemente do que se prega, localizar um software não é uma questão também de criar-se códigos com compilação condicional para os vários idiomas. Um software localizável tem que ter um mecanismo de:
  1. Identificar o “idioma preferido” do ambiente em questão;
  2. Carregar arquivos de localização específicos para o idioma em questão e;
  3. Substituir determinadas strings pelas informações contidas em um arquivo de localização;
  4. Modificar e corrigir determinadas características idiomáticas para o “idioma preferido” (por exemplo, no caso do japonês, chinês e hebraico, entre outros, onde a leitura dos conteúdos é feita da direita para a esquerda, o texto e a posição dos elementos de tela devem ser invertidos);

OK… Aqui temos uma questão interessante sobre como tornar o software localizável. Consultando a Internet, achei esse artigo no Guia do Mochileiro. Esse artigo comenta um pouco do processo de transformar o software em localizável. É um processo que depende de todos os lados e que é feito para ser “independente”, ou seja, o tradutor não precisa ser parte da equipe de tradução e vice-versa.
Agora, qual a dificuldade?
Na verdade, a dificuldade é justamente coisas como a que o Cardoso coloca e que o Vladimir Melo comenta:
Conheço alguém que prejudica o software livre « Vladimir Melo

(…) Ele faz críticas duras à tradução de software livre e encerra afirmando absurdamente: “Afinal pro usuário não importa se a janelinha está em inglês ou português, essencial é que ela faça alguma coisa.”

(…)Ele ou qualquer outra pessoa deveria pesquisar na internet durante meia hora para conhecer os projetos de tradução e saber (inclusive pelos usuários) o quanto eles têm melhorado tecnicamente. (…)

Por exemplo, as pessoas que vão a um hipermercado e compram um computador popular não têm obrigação de saber inglês (e muitas vezes não sabem). O fato de um aplicativo estar traduzido ou não faz toda a diferença para que elas o usem. Mas certamente este blogueiro não tem consciência de que sua atitude afasta colaboradores e dificulta o nosso trabalho de recrutamento e divulgação.

A questão é que, pela exposição do Cardoso, uma pessoa deveria se preocupar apenas em programar SL. A verdade é que, embora isso seja importante (1) não é fácil de ser feito e (2) tira foco.
O programador de SL tem que ser visto como programador, e o tradutor como tradutor. Se você não possui habilidade como programador, não há problema: o mundo do SL possui espaço para todo tipo de envolvimento, seja desenvolvimento, documentação, tradução, artes ou evangelização. Escolha uma área onde você sinta ter proficiência e vá em frente. Bug report, relato de problemas com a tradução e por aí afora também é importante. Não se sinta acanhado: existe MUITO ESPAÇO para atuar-se (aproveito e me coloco à disposição de qualquer usuário do Scribefire para comentários sobre a tradução para o português brasileiro).
Agora, tenho que concordar com a citação do Vladimir acima: o que o Cardoso diz no final do seu artigo é, no mínimo, irresponsável:
Quer ajudar o Software Livre? Esqueça o Babelfish | Meio Bit

Você vai colaborar muito mais com o Open Source (e com seu futuro profissional) se ao invés de sair chutando traduções automáticas agora, se preparar por uns 2 ou 3 anos e entrar produzindo de verdade. Afinal pro usuário não importa se a janelinha está em inglês ou português, essencial é que ela faça alguma coisa. (grifos meus)

Dizer isso é irresponsável pois no Brasil muitas pessoas mal sabe ler, escrever e compreender o português direito, quanto mais o Inglês, que é um idioma que, por mais que os anglófonos queiram dizer, é cheio de nuances e detalhes específicos. Colocar um software em inglês, à exceção de software altamente especializado (como programação, CAD e afins) ou em jogos (onde o inglês se resume praticamente a “Press Start”, à exceção de jogos no estilo RPG) é algo que eu diria no mínimo temerário. Mesmo a MS percebeu isso e com o passar do tempo passou a localizar todos os seus softwares para outros idiomas além do inglês. Não adianta o software fazer algo se o usuário não sabe o que ele faz, e simplesmente adestrar o usuário em “Clique aqui, clique aqui, clique aqui…” não resolve o problema básico, que é o fato de ele não saber o que cargas-d’água ele está fazendo.
Não tiro alguns méritos do artigo do Cardoso, e ressalto aos usuários de SL: se perceberem coisas estranhas em traduções, COMENTEM JUNTO ÀS COMUNIDADES OU DESENVOLVEDORES!!! A maior parte dos software mais importantes possuem comunidades específicas para a tradução (Ubuntu LoCo Teams, os projetos de localização do Debian como o Debian Brasil, Babelzilla, BrOffice.org, etc…) e elas são receptivas com os interessados (sei disso pela recepção que tive dos desenvolvedores do Scribefire), oferecendo todos os recursos para aqueles que desejarem aprender, assim como listas onde pode-se discutir termos adotados até que um consenso seja obtido. Se você souber um pouco mais de programação, prepare software para ser localizado (o artigo da Wikipedia citado anteriormente serve de bom ponto de partida). Acima de tudo participe!
Mas também tenho que afirmar que o artigo do Cardoso, apesar de tudo isso, foi de um mau-gosto atroz, e de um nível de temerariedade incrível. Vou me abster de comentar mais sobre o artigo per se, pois creio que o fundamento dele já foi desfeito aqui.
De qualquer modo, fica a sugestão aos novatos: participem. Aos veteranos: ajudem os novatos, por favor!

Enviado em Atualidades, Blogosfera, Blogs, Comunidade, Free Software, Linux, Opinião, Profissionais, Sociedade, Software Livre, Tradução, Traduções | 3 Comentários »

Lei de Crimes na Internet: Inútil e Perigosa

Publicado por Fábio Emilio Costa em 10 10UTC Julho 10UTC 2008

Sempre que eu leio sobre leis como o projeto de Lei do Senador Eduardo Azeredo para a “tipificação de crimes na Internet”, me pergunto se essas pessoas que são nossos representantes no governo são apenas despreparadas, inocentes ou simplesmente são mal-intencionados. Prefiro como cidadão brasileiro imaginar que seja a primeira ou a segunda resposta, mas cada vez mais me vejo pensando que é o terceiro: que “nossos representantes” estão apenas representando os interesses de uma pequena parcela de megacorporações que possuem interesses diversos (e muitas vezes antagônicos) aos da sociedade.
Por que digo isso?
Essa legislação, que visa em sua teoria lutar contra a pedofilia, é talvez um dos maiores exemplos de como uma lei pode ser mal redigida por pessoas cujo conhecimento do funcionamento da Internet é zero ou beira isso.
Vou tentar me manter no nível técnico, expondo as mazelas dessa legislação no âmbito técnico e seu impacto real na sociedade, tal como fiz em outras ocasiões, como no caso do Cicagate. Vou falar das características que me lembro e apontar links para materiais relevantes na Net. Se esquecer algo válido, peço desculpas: são muitos assuntos para pouco tempo.
Vejamos então:

Log de acesso por três anos

Para começar, vamos direto a uma das partes mais bizarras da legislação, que é a obrigatoriedade do log de acesso de todos os usuários de um provedor por três anos. Pois bem:
Qualquer um que tenha trabalhado com o gerenciamento, análise e manutenção de logs de qualquer tipo sabe que, dependendo de como o log é construído, existe uma explosão na quantidade de dados registrados que pode até mesmo comprometer o sistema. Segundo o substitutivo, a lei em questão exige registro (ou mais exatamente “retenção”) de todos os acessos de todos os usuários por no mínimo três anos. Normalmente, os logs de sistemas operacionais e aplicações são bem menores, de três/quatro dias. E não sem razão.
Imaginemos um exemplo fictício: temos um sistema de log genérico (chamemos de genlog para facilitar) que é capaz de registrar as informações solicitadas pela legislação. Esse genlog registra cada chamada IP do usuário em um formato como o abaixo:

nome_usuário:data:hora:IP_origem:IP_NAT:IP_destino:URL_destino:Protocolo_destino:Informações_Adicionais

Onde:

  • nome_usuário identifica o usuário de maneira única (normalmente seu login);
  • data e hora são auto-explicativos;
  • IP_origem é o IP pelo qual o usuário se conectou ao servidor;
  • IP_NAT é o IP pelo qual o usuário foi enxergado por outros servidores da internet, por meio de Tradução de Endereços de Rede (Network Address Table), técnica muito usada atualmente;
  • IP_destino é o IP de destino do servidor;
  • URL_destino é a URL do destino do servidor completa, incluindo pastas, subpastas e nomes de arquivo;
  • Protocolo_destino indica o tipo de protocolo utilizado na comunicação e, muitas vezes, o tipo de serviço de Internet utilizado (HTTP, BitTorrent, FTP, SSH, etc…);
  • Informações_adicionais são exatamente isso: informações adicionais para cada tipo de protocolo. Essas informações podem variar conforme o protocolo e portanto não são tão relevantes assim;

A formatação dos registros foi escolhida de um modo que gere logs que são facilmente parseados (analisados) por ferramentas razoavelmente simples de extrações de dados, encontradas em quaisquer instalações de servidores, além de permitir campos de tamanho variável, o que permite o registro adequado e sem limitações das informações trafegadas.
Parece simples, OK? Agora vem a pegadinha:
Imaginemos um provedor razoavelmente pequeno (com uns 100 usuários simultâneos). Por sua vez, imaginemos que cada registro de conexão IP tenha algo em torno de 2KBytes (2048 Bytes) e que cada usuário faça em torno de 100 chamadas IPs por segundo (parece muito, mas pode significar 100 emails baixados, ou 10 páginas acessadas com 9 fotos em cada uma). OK:

  • um único usuário gera 200K de logs por segundo.
  • Multiplicando isso por 60 segundos, temos 12000K por minuto (12MB aproximadamente).
  • Multipliquemos novamente por 60 para gerar o total por hora e teremos 720MB por hora (ou seja, mais de um CD).
  • Multiplicamos agora por 24 para o dia, alcançamos 17280 MB (17GB aproximadamente – ou 4 DVDs);
  • Multiplicando agora por 365 para um ano: 6205 GB (ou algo em torno de 6 Terabytes – trilhões de bytes);
  • E agora multipliquemos por 3 (o número de anos de retenção): chegamos a 18.1 Terabytes de dados!!!. Mesmo que você comprima isso com compressões de alto nível que garantam 50% de compressão (mais que isso pode acontecer, mas é muito difícil), chegamos a um total de 9 Terabytes de dados a serem conservados (o que inclui backups, etc).
  • E isso para apenas um usuário: multiplicando esses valores finais pelo número de usuários, chegamos a um total de 1800 Terabytes (quase 2 Petabytes – quatrilhões de bytes!!!!!!) ou 900 Terabytes (próximo a 1 Petabyte)

Embora possa-se alegar que a gravação de logs em meio óptico e outros meios de backup seja padrão (e realmente o é), temos ainda alguns problemas:

  1. como manipular essa massa gigantesca de informação? Mesmo sabendo o período no qual o crime ocorreu, como identificar as transações ilícitas (o que é o objetivo de manter-se tais logs) em tempo hábil? O processamento de uma massa de dados tão grande demanda muito tempo (pense no Imposto de Renda que, embora tenha 20K, é entregue por vários milhões de pessoas, e o quanto demora para que o mesmo seja processado e as restituições liberadas e você terá uma compreensão do tamanho do buraco);
  2. Como armazenar essa massa de dados? Mesmo o uso de meios ópticos de grande volume (Bluray, por exemplo), ou de sistemas de SAN (Storage Area Network) seriam complexos e custosos de serem mantidos apenas para esse fim. Além disso, uma boa parte do tempo que seria gasto na análise viria da reconstrução desses dados (que são, por motivos de confiabilidade, “espalhados” no meio físico) para seu formato “original”;
  3. Os custos serão repassados? O usuário terá que pagar para ser espionado? O governo dará subsídios? Quem pagará a conta?
  4. Os logs são confiáveis? Existem milhares de formas simples para “evadir-se” do sistema, por meio de proxies e sistemas similares (no caso do Cicagate eu falei um pouco sobre essas possibilidades). Como rastrear “evasões”? Além disso, como garantir que a pessoa não foi vítima de má-fé de outrem? Ou ele próprio teve sua senha roubada?

Mas isso ainda não é o pior:

O provedor dedo-duro

A legislação em questão, segundo o que o Sérgio Amadeu da Silveira expõe em seu blog,cria a idéia do “provedor dedo-duro”, ou seja, o provedor deverá informar imediatamente à justiça a suspeita de que tenha havido qualquer uso ilegal de sua rede. Conforme a lei diz, e cita o blog em questão:

Blog do Sergio Amadeu: SENADOR CRIA A FIGURA DO PROVEDOR DELATOR

“Art. 22. O responsável pelo provimento de acesso a rede de computadores é obrigado a:
III – informar, maneira sigilosa, à autoridade competente, denúncia da qual tenha tomado conhecimento e que contenha indícios da prática de crime sujeito a acionamento penal público incondicionado, cuja perpetração haja ocorrido no âmbito da rede de computadores sob sua responsabilidade.

§ 2º O responsável citado no caput deste artigo, independentemente do ressarcimento por perdas e danos ao lesado, estará sujeito ao pagamento de multa variável de R$ 2.000,00 (dois mil reais) a R$ 100.000,00 (cem mil reais) a cada requisição, aplicada em dobro em caso de reincidência, que será imposta pela autoridade judicial desatendida, considerando-se a natureza, a gravidade e o prejuízo resultante da infração, assegurada a oportunidade de ampla defesa e contraditório.”
A dúvida aqui é que existe a questão do sigilo na informação da polícia, sem que a pessoa tenha conhecimento de que sua privacidade está sendo violada e que sua navegação está sendo vigiada. Ou seja: mesmo que eu não faça nada ilegal, pelo fato de eu usar algo que possa ser usado para fins ilegais (como, no exemplo mais clássico o uso de redes P2P, como o BitTorrent), eu serei denunciado? Qual será minha chance de defesa? Por não fazer a menor idéia da época em que isso ocorreu, como preparar minha defesa? Ou seja, vemos aí uma séria ofensa a princípios como o da presunção de inocência e o da ampla defesa.
Além disso, existe um custo sério ao provedor que é: como ele irá se comportar?
O provimento de acesso à Internet pressupõe o acesso a todos os serviços que a mesma dispõe, incluindo o de acessar ferramentas como IRC e BitTorrent que, embora tenham usos ilegais, também tem muitos usos legais (muito conteúdo rico, como distribuições de Linux e filmes divulgados em Creative Commons como The Big Buck Bunny, são distribuidos por esses meios). Ou seja: ele irá impedir o uso desses protocolos (violando o contrato com o consumidor)? Irá entregar os usuários desses protocolos (que podem estar fazendo coisas legítimas e serem pegos em um linchamento moral, o que pode acarretar depois um processo contra o provedor)? Irá monitorar o tráfego dos usuários (como mostrado anteriormente, e ainda contando com um potencial ônus moral)?
E outra: como dizer que esses logs não se voltarão contra as pessoas em situações imprevistas (por exemplo, quando o seguro resolver negar o pagamento de um sinistro porque viu que o usuário acessava sites sobre doenças crônicas)? Ou seja: mesmo a navegação segura poderá se tornar perigosa.
Mas acha que acabou? Não! Essa lei ainda tem muito o que piorar!

A Net afetando o que está fora dela

Atualmente, qualquer pessoa pode (como sempre pode) gravar uma fita cassete com aquele CD seu e botar no toca fitas do carro para não perder sua inestimável coleção de Elton John (ou de Calypso, ou de Kraftwerk, ou das músicas do Balão Mágico) e ainda assim poder aproveitar muito o CD que adquiriu com seu dinheiro (em geral suado). O aluno pode xerocar pedaços de livros para fazer suas anotações para seu trabalho de TCC ou mesmo copiá-los à mão.
Mas essa lei trata de uma forma diferente o meio cibernético e suas inovações. Citando o Pedro Dória:
Senado aprova projeto nocivo à Internet Agora é a vez da Câmara

Ele transforma em crime o acesso a qualquer apetrecho ou mídia digital que tenha sido protegido. Celular bloqueado pela operadora? Não pode desbloquear sem expressa permissão. CD mesmo comprado que não permite cópia para o computador ou iPod? Mesmo que o indivíduo tenha comprado o disco, será crime.

Ou seja: posso escolher qualquer marca de carro, e qualquer gasolina para o mesmo, mas não posso comprar um celular em uma operadora e o chip em outra. Posso gravar uma fita do meu disco do Kraftwerk, mas nada de Home Computer no meu Computador Pessoal. Posso gravar um VHS do filme que passou na Sessão da Tarde, mas Star Wars no meu MP4 Player? Esqueça!
Ou seja, direitos que nos são dados como válidos acabaram sumindo!

Essa lei é necessária?

Me lembro de, há muitos anos atrás ter ido em uma finada COMDEX. Nessa ida, assisti uma palestra de um delegado da 4ª DIG (Delegacia de Investigações) do DEIC de São Paulo, especializada em crimes cibernéticos. Em uma época onde os conhecimentos e informações sobre a informática forense (ou seja, especializada no estudo de crimes cibernéticos) era pouco e disperso, ele falou algo que me deixou pensativo: “o anonimato na Internet não existe! Você consegue rastrear qualquer pessoa em qualquer lugar, basta saber o caminho das pedras.
Hoje, com o conhecimento que existe de Informática Forense, com suas várias técnicas de rastreamento de informações, cruzamento de informações de logs, fingerprint, reconstrução de dados apagados e por aí afora, é possível ao menos (diria eu) em 90% dos casos pegar-se as pessoas que cometem crimes na Internet, bastando boa intenção por parte da polícia e dos órgãos do Judiciário, sem a menor necessidade de novas legislações, com o uso do que já existe, sem a necessidade de provedores vigilantes e coisas do gênero. Basta apenas a correta eficiência e o uso do que a lei já oferece.
Essa legislação é perigosa para a privacidade do cidadão brasileiro. Ela é perigosa para o próprio princípio de liberdade de expressão. Pode provocar um pré-julgamento de pessoas apenas por terem falado coisas que vão contra os interesses de grandes poderes. Não respeita os direitos do cidadão. Está transformando o Brasil no Big Brother (o do 1984).
Pretendo ainda falar mais sobre isso, mas até lá, vou deixar alguns links. Leiam e reflitam:
http://observatorio.ultimosegundo.ig.com.br/blogs.asp?id={A6B7472E-99F8-4A56-87AD-620A557AA6C7}&id_blog=2
http://pedrodoria.com.br/2008/07/10/senado-aprova-projeto-nocivo-a-internet-agora-e-a-vez-da-camara/
http://samadeu.blogspot.com/search/label/contra%20PLC%20do%20Azeredo
http://www1.folha.uol.com.br/folha/informatica/ult124u420911.shtml
http://br-linux.org/2008/ja-era-senado-aprova-projeto-de-lei-da-internet-todos-os-acessos-deverao-ser-arquivados-no-provedor-por-3-anos/
http://www.cic.unb.br/docentes/pedro/trabs/nervosismo.html
http://www.softwarelivre.org/news/11765
http://info.abril.com.br/aberto/infonews/072008/10072008-12.shl
http://renata.org/post/comunicado-importante/
http://www.navegantes.org/index/2008/07/10/projeto-de-crimes-na-internet-passou-no-
http://www.softwarelivre.org/news/11746
http://www.fsfla.org/svnwiki/blogs/lxo/2008-07-04-novos-crimes-absurdos
http://www.fsfla.org/svnwiki/blogs/lxo/2008-07-01-do-celular-direto-pra-cela
http://www.softwarelivre.org/news/11759
http://vitorpamplona.com/wiki/Lei%20PLC%2089/03
http://www.nardol.org/2008/7/5/o-desafio-da-intangibilidade
http://fsfla.org/svnwiki/blogs/lxo/2008-07-02-navegando-pro-xadrez.pt
http://googlediscovery.com/2008/07/07/carta-aberta-em-defesa-da-liberdade-e-do-progresso-do-conhecimento-na-internet-brasileira/
http://www.navegantes.org/index/2008/07/08/o-projeto-de-lei-de-crimes-na-internet-e
http://a2kbrasil.org.br/Projetos-de-lei-transformam-em
http://www1.folha.uol.com.br/folha/informatica/ult124u420911.shtml

Enviado em Atualidades, Blogosfera, Blogs, Censura, Comunidade, Cultura Livre, Direitos Autorais, Free Software, Inclusão Digital, Internet, Legislação, Opinião, Sociedade, Software Livre, Tecnologia | 2 Comentários »

Certificado de Participação no Mozilla Download Day! \o/

Publicado por Fábio Emilio Costa em 19 19UTC Junho 19UTC 2008

Pois é! Eu participei!!!

Eu fiz parte dessa massa de downloads do Firefox 3 nas primeiras 24 horas (3 downloads: um Windows, um Linux e um Portable para o treinamento onde estou).

Como qualquer nova versão, várias extensões pararam de funcionar (como a PermaTabs) e outras estão funcionando incorretamente (como a Add Bookmark Here, que parou de permitir a adição de todas as abas). O novo sistema de Historico + Favoritos (a Biblioteca) é um pouco complexo, mas funcional, e o sistema de digitação de endereços melhorou horrores! Falarei mais sobre o FF 3 mais adiante.

Parabéns aos usuários do Firefox! Rumo ao Guiness Book!
Via: BrLinux.org,nixCraft, PSL-Brasil,Info Exame,Blog da Mozilla,SpreadFirefox e mais um porrilhão de Lugares!

Enviado em Firefox, Free Software, Software Livre | Deixar um comentário »

Mozilla Download Day 2008 – Eu vou!!

Publicado por Fábio Emilio Costa em 2 02UTC Junho 02UTC 2008

Download Day 2008

Fale a verdade, você já quiz participar de um recorde mundial. E se você gosta do Firefox, sua oportunidade de participar de um recorde mundial está chegando. Não, você não precisará dançar Dança Irlandesa, tocar junto com outros guitarristas “Smoke on the Water” ou participar de uma multidão de Papais Noéis (sim, esses recordes existem) entre milhares de outros recordes bizarros. Tudo o que você tem a fazer é baixar o Firefox 3.0 no dia do seu lançamento.
A idéia do pessoal da Mozilla é tornar o Firefox 3.0 o programa mais baixado em 24 horas e mandar o registro para o Guiness. E para ajudar, o pessoal da SpreadFirefox criou o Mozilla Download Day 2008.
A idéia é simples: entre no site e preencha o seu email no formulário do mesmo. No dia em que o Firefox 3.0 for lançado, você receberá um link para o download. Caso o download seja feito nas primeiras 24 horas, você receberá um certificado de participante do (esperamos) recorde de maior download de um único programa em vinte e quatro horas.
E você quer fazer mais? Então:
  1. Organize uma Festa de Download em sua escola ou escritório. Você pode se reunir com seus amigos ou colegas de trabalho durante o horário de almoço ou durante o intervalo para baixar o Firefox 3 em conjunto. Claro, divulgue-a de modo que todos possam participar!

  2. Junte-se a um dos grupos do Download Day em sua rede de relacionamentos preferida ou crie uma e convide todos seus amigos. Já existem comunidades no Orkut e no Facebook!

  3. Torne-se um Representante Universitário Firefox e consiga o apoio de seus colegas para o projeto.

  4. Adicione os ícones e logos do Download Day em seu site, blog ou perfil.

Vamos participar e fazer a raposinha de fogo entrar para o Guiness!!!

Download Day 2008

Via Br-Linux.org, TechFree, Toca do Elfo, Hamacker e mais um porrilhão de sites!

Enviado em Free Software, Software Livre, memes | 2 Comentários »