Desenvolvimento livre de drivers de webcam Microdia

Como alguns de meus leitores já sabem, meu laptop (Acer Aspire 5050-3205) possui uma Acer Orbicam sem suporte no Linux (tanto com gspcav, quanto com linux-uvc), identificada pelo lsusb como 0c45:6260 (vendor: Microdia).

Além da minha, existem várias webcams desse tipo sem suporte pelo Kernel: 0c45:6027, 0c45:608f, 0c45:60ec, 0c45:60fe, 0c45:60c0, 0c45:613b, 0c45:613c, 0c45:624e, 0c45:624f, 0c45:6242, 0c45:6253, 0c45:6260, 0c45:6270, 0c45:627b, 0c45:8105.

Na lista microdia, surgiu uma iniciativa que pode mudar essa realidade: usando USB sniffs dos drivers de Windows, começamos a desenvolver drivers para webcams Microdia (repositório git).

Gostaria de convidar a comunidade brasileira usuária de Linux que tem webcam Microdia (0c45:XXXX) a também participar, compartilhando as informações de sua câmera para ajudar no desenvolvimento. Quem se interessar, favor entrar na lista ou entrar em contato comigo para mais informações.

Programas indispensáveis no meu computador

O Tiago Celestino me convidou pra esse meme há… mais de três meses. Antes tarde do que nunca, então lá vamos nós.

Pra começar, a definição de programa é complicadíssima. Pra mim, não adianta ter Firefox se não tenho ifconfig. Da mesma forma, será que uma biblioteca é um programa? Para ter Firefox eu tenho que ter várias libs, que talvez eu não possa nessa brincadeira. E se eu puder escolher um programa sem pensar em nada disso, será que posso escolher o apt-get?

Bem… Parti do princípio de que tenho todas as libs do mundo que eu quiser, não vale apelar pro apt-get e não vale baixar outros programas. Nesse caso, eu escolheria os seguintes três programas pra viver:

Bash

Página oficial

A vida sem terminal não tem graça. Se bem que não sei se vou conseguir usar 1/10 dos recursos do Bash sem programa nenhum, isso é, sem ls, grep, sed… Quem se importa? Ao menos pra chamar o Vim e o Ruby preciso de um shell, e escolho o Bash.

Vim

Página oficial

Editor de texto de macho, sem frescuras. Esse programa me acompanha há anos, não consigo me ver longe dele, suas utilidades são infinitas.

Ruby/IRB

Página oficial

Minha nova linguagem. Tem que vir com documentação, senão eu tô ferrado. Mas já que tenho todas as libs e tempo do mundo, posso desenvolver o que eu quiser e dessa forma depois de algum tempo terei muitos outros programas.

Um navegador talvez até seja indispensável, mas acho que é algo sacrificável, já que tenho o Ruby pra fazer requisições HTTP e que dá pra se virar na unha.

Algo indispensável que eu me esqueci é o SSH. É sempre uma das primeiras coisas que faço questão de ter nas minhas instalações, com ele conecto na Dreamhost e de lá eu governo o mundo. O Wget também faria muita falta assim como um leitor de PDF e um programa pra ouvir música (mpd, sem sombra de dúvidas). Mas acho que nenhum desses é mais importante que os três primeiros.

Respondido?

Passo esse meme para o Ilmo. Sr. Rev. Ibrahim Cesar, Ilmo. Sr. John Artmann Jr. e para o Ilmo. Sr. Vinicius de Figueiredo.

Você pode confiar no seu computador?

De quem o seu computador deveria receber ordens? A maioria das pessoas pensam que seus computadores deveriam obedecer elas, não a outra pessoa. Com um plano que chamam de “computação confiável”, grande corporações de mídia (incluindo as companias de filmes e de gravação), junto com companhias de computação como a Microsoft e a Intel, estão planejando fazer o seu computador obedecer eles ao invés de você. (a versão da Microsoft deste esquema é chamada “Palladium”.) Programas proprietários já tiveram recursos mal intencionados antes, mas este plano fará isso universal.

Software proprietário significa, fundamentalmente, que você não controla o que ele faz; você não pode estudar o código-fonte, ou alterá-lo. Não é surpreendente que os homens de negócios espertos encontrem maneiras de usar o controle deles para pôr você em desvantagem. A Microsoft já fez isso várias vezes: uma versão do Windows foi planejada para relatar a Microsoft todos os programas instalados no seu disco rígido; uma atualização de “segurança” recente no Windows Media Player requeriu que os usuários aceitassem novas restrições. Mas a Microsoft não está sozinha: o programa de compartilhamento de música KaZaa foi projetado para que o parceiro de negócios do KaZaa pudesse alugar o uso do seu computador para os seus clientes. Esses recursos são freqüentemente secretos, mas até quando você sabe sobre eles é difícil de removê-los, já que você não tem o código-fonte.

No passado, esses eram incidentes isolados. “Computação confiável” fará isso impregnante. “Computação traiçoeira” é um nome mais apropriado, porque o plano foi feito para ter certeza que seu computador irá sistematicamente desobedecer você. De fato, ele foi projetado para fazer o seu computador parar de trabalhar como um computador para propósitos gerais. Toda operação pode necessitar permissão explícita.

A idéia técnica por trás da computação traiçoeira é que o computador inclua uma encriptação digital e um dispositivo de assinatura, e as chaves são guardadas em segredo de você. Programas proprietários usarão esse dispositivo para controlar que outros programas você pode rodar, que documentos ou dados você pode acessar, e que programas você pode passar para eles. Esses programas continuamente baixam novas regras de autorização através da internet, e obrigam essas regras a automaticamente funcionar. Se você não permitir que seu computador obtenha as novas regras periodicamente da internet, algumas capacidades irão automaticamente parar de funcionar.

É claro, Hollywood e as companhias de gravação planejam usar computação traiçoeira para “DRM” (Digital Restrictions Management), para que vídeos e músicas baixadas possam ser tocados apenas num computador espećifico. Compartilhar será totalmente impossível, a não ser usando os arquivos autorizados que você pegar dessas companias. Você, o público, deve ter a liberdade e a habilidade de compartilhar essas coisas. (Eu espero que alguém encontre uma maneira de produzir versões descriptografadas, e que faça upload e compartilhe elas, então DRM não terá sido um sucesso, mas isso não é uma desculpa para o sistema.)

Fazer o compartilhamento impossível é ruim o suficiente, mas pode ser pior. Existem planos para usar a mesma facilidade para e-mail e documentos – resultando em e-mail que aparece em duas semanas, ou documentos que só podem ser lidos nos computadores de uma companhia.

Imagine se você receber um e-mail do seu chefe dizendo a você alguma coisa que você acha arriscada; um mês depois, quando aquilo explode, você não pode usar o e-mail para mostrar que a decisão não foi sua. “Ter isso escrito” não protege você quando a ordem é escrita em tinta que desaparece.

Imagine se você recebe um e-mail do seu chefe declarando uma polícia que é ilegal ou moralmente vergonhoso, como rasgar as contas da sua empresa, ou permitir uma perigosa ameaça para o seu país a continuar sem verificação. Hoje você pode mandar isso para um jornalista e expôr a atividade. Com computação traiçoeira, o jornalista não poderá ler o documento; seu computador se recusará a obedecê-lo. Computação traiçoeira se torna um paraíso para a corrupção.

Processadores de texto como Microsoft Word podem usar sua computação traiçoeira para quando eles salvam os seus documentos, ter certeza que nenhum processador de texto concorrente possa lê-lo. Hoje nós precisamos descobrir os segredos do formato do Word por experimentos cansativos para fazer processadores de texto livres ler documentos do Word. Se o Word encriptar documentos usando computação traiçoeira quando você salva eles, a comunidade do software livre não terá a chance de desenvolver programas que leiam eles – e mais que isso, programas podem até ser proibidos pelo “Digital Millenium Copyright Act”.

Programas que usam computação traiçoeira continuarão baixando novas regras de autorização através da internet, e obrigando essas regras a funcionarem automaticamente. Se a Microsoft ou o governo dos Estados Unidos não gostar do que você disse num documento que você escreveu eles podem postar novas instruções dizendo para todos os computadores recusarem a deixar qualquer um ler aquele documento. Cada computador deverá obedecer quando baixar as novas instruções. Sua escrita estará sujeita ao estilo 1984 de retroactive erasure 1. Você poderá não ser permitido para ler você mesmo.

Você pode pensar que você pode descobrir que coisas asquerosas uma aplicação de computação traiçoeira faz, estudar o quão ruins elas são, e decidir se quer aceitá-las. Seria ignorante e tolo aceitar, mas o ponto é que o negócio que você pensa que você está fazendo não continuará assim. Assim que você começar a depender do uso do programa, você está preso e eles sabem disso; então eles podem mudar o trato. Algumas aplicações irão automaticamente baixar atualizações que farão alguma coisa diferente – e eles não vão dar a você a opção de atualizar ou não.

Hoje você pode se prevenir de estar restrito pelo software proprietário não o utilizando. Se você usa GNU/Linux ou algum outro sistema operacional livre, e se você evita instalar aplicações proprietárias nele, então você está no comando de o que o seu computador faz. Se um programa livre tem um recurso mal intencionado, outros desenvolvedores na comunidade irão tirá-lo, e você poderá usar a versão corrigida. Você também pode rodar aplicações livres e programas em sistemas operacionais não-livres; isso não lhe dá liberdade completa, mas muitos usuários fazem isso.

Computação traiçoeira põe a existência de sistemas operacionais livres e aplicações livres em risco, porque você pode não estar habilitado a rodá-los. Algumas versões de computação traiçoeira irão precisar do sistema operacional para serem especificamente autorizados por uma companhia particular. Sistemas operacionais livres não poderiam ser instalados. Algumas versões de computação traiçoeira iriam requerir que todos os programas fossem autorizados pelo desenvolvedor do sistema operacional. Você não poderia rodar aplicações livres em qualquer sistema. Se você descobrir como, e dizer a alguém, isto poderia ser um crime.

Já existem propostas para as leis dos Estados Unidos que irão obrigar todos os computadores a suportarem computação traiçoeira, e para proibir que se conectem computadores velhos à internet. O CBDTPA (que chamamos de Consume But Don’t Try Programming Act – Consuma mas não tente o ato de programar) é um deles. Mas até se eles não forçarem você legalmente a usar computação traiçoeira, a pressão para aceitar será enorme. Hoje pessoas freqüentemente usam o formato do Word para comunicação, although isso causa vários tipos de problemas (veja “Nós podemos pôr um fim aos anexos de Word”). Se só uma máquina de computação traiçoeira puder ler os últimos documentos do Word, muitas pessoas mudarão para ele, se eles verem a situação apenas nos termos de uma ação individual (tudo ou nada). Para se opor a computação traiçoeira, nós precisamos nos juntar e confrontar a situação como uma escolha coletiva.

Para mais informações sobre computação traiçoeira, veja <http://www.cl.cam.ac.uk/users/rja14/tcpa-faq.html>.

Bloquear computação traiçoeira irá requerer um grande número de cidadãos para organizar. Nós precisamos da sua ajuda! A Eletronic Frountier Foundation e a Public Knowledge estão fazendo campanha contra computação traiçoeira, assim como o projeto Digital Speech, que é patrocinado pela FSF. Por favor visite estes sites, então você pode se cadastrar para ajudar o trabalho deles.

Você também pode ajudar escrevendo para os escritórios públicos da Intel, IBM, HP/Compaq, ou qualquer uma que você comprou um computador, explicando que você não quer ser pressionado para comprar um sistema de computação “confiável” então você não quer que eles produzam isso. Isso pode dar a luz ao poder do consumidor. Se você fizer isso por si mesmo, por favor mande cópias das suas cartas para as organizações acima.

Tentativa de tradução de Can you trust your computer?, de Richard Stallman, que achei lá no blog do Gustavo. O termo computação traiçoeira que eu usei na tradução é a treacherous computing – não encontrei tradução melhor para usar. Qualquer sugestão ou correção será bem-vinda. :)

[1] Parece-me uma referência ao livro do George Orwell. Não sei que termo devo usar para traduzir.

Flash 9 no Firefox a 64 bits

Para rodar o plug-in do Flash num Gentoo a 64 bits, baixe o plug-in para 32 bits na página da Adobe. Descompacte o .tar.gz e na pasta onde você descompactou, escreva:

# echo net-www/nspluginwrapper ~arch >> /etc/portage/package.keywords

… para desbloquear o “nspluginwrapper” do seu sistema, esse é o programa que vai transformar a lib de 32bits em uma lib de 64.

Então instale o nspluginwrapper:

# emerge nspluginwrapper

E agora é só instalar o plugin usando o nspluginwrapper:

# nspluginwrapper --install libflashplayer.so

Reinicie o Firefox e se divirta!

Se sua distribuição não for Gentoo, é só instalar o nspluginwrapper de outra maneira como installpkg, apt-get ou coisas do tipo. ;)

A dica foi do Renato e foi obtida no Gentoo Wiki, que é muito útil; realmente uma grande vantagem de quem usa Gentoo.

Flick com XGL e Beryl

Não sabe o que é o Flick? É o meu Acer Aspire 5050-3205. Não sabe o que é XGL e Beryl? Google it! ;)

Por sugestão do Schneider, instalei Xgl e Beryl no laptop. Demorou um pouco e tive alguns problemas emergindo tudo, mas agora estou sob KDE+Beryl+Aquamarine com a minha ATI Radeon Xpress 1100.

Constatações pra quem nunca viu isso: É bonito. Existem muitos mais recursos do que aqueles mostrados nos vídeos da internet e é difícil usar todos. O computador fica um mais devagar, mas a diferença é pouca. Você impressiona qualquer usuário Windows sem dificuldade. É complicado instalar, configurar e usar. E agora eu ainda tenho que encontrar coisas bonitas pra combinar com os efeitos loucos 3D dele.

Queria gravar um videozinho também como todos esses caras na internet fazem, mas eu acho que o VNC deixaria tudo muito lerdo. Como que os caras gravam? Usando uma câmera de verdade? Alguma sugestão?

© 2005–2020 Tiago Madeira