Arquivos Mensais: janeiro 2008

Webcam D-Link DSB-C110 no Linux

Alguns anos atrás eu tentei fazer a webcam DSB-C110 da D-Link funcionar no Linux sem grande sucesso e acabei desistindo, mas na pesquisa de compatibilidade do BrLinux havia vários relatos de que ela funcionava, então resolvi tentar novamente, e, bem, agora ela funciona. :D

Antes de mais nada, verifique se seu usuário está no grupo video:

cat /etc/group

Se não estiver, adicione com o comando (como root):

usermod -a -G video usuario

Para fazer essa webcam funcionar, precisamos do módulo gspca. No ArchLinux só precisamos rodar:

pacman -S gspca

“Ok, se é tão simples assim, por que você não conseguiu antes?” Simples. Quando você pluga a camera, por padrão, o udev carregará o módulo sn9cxx, que só funciona como Video4Linux2, e como a maioria dos programas ainda usa o Video4Linux1, não pude usá-la.

O módulo gspca funciona tanto como V4L1 e 2, através do módulo v4l1_compat, que pelo menos na minha máquina é carregado automaticamente. Embora ele também fosse carregado com o sn9cxx, não sei por que, não funcionava.

O próximo passo é específico da sua distribuição. O importante agora é que você coloque o módulo sn9cxx na lista negra de módulos (blacklist). No /etc/rc.conf/ do meu ArchLinux, modifiquei as seguintes linhas:

MOD_BLACKLIST=(sn9c102)
MODULES=(... gspca)

No Ubuntu e talvez outras distribuições, o arquivo a ser alterado é /etc/modprobe.d/blacklist.

E voi là, sua webcam funcionando (inclusive com o kopete).

Publicidade

Criptografia II

O modo de usar anterior funciona bem na hora de criptografar o arquivo, você dá o nome do arquivo que quer que seja encriptado e qual o nome ele deve ter depois disso, mas na hora de descriptografar, ainda mais se for apenas em caráter temporário, é cansativo ter que descriptografar, usar o cat, e apagar novamente.

Por isso eu fiz uma modificação no código do meu programa para criptografar arquivos. Você pode usar como anteriormente, mas agora há uma opção a mais: se o arquivo de saída for “-“, ele imprimirá a string des/encriptada na tela, mais prático.

O novo source:

Saiba mais

Humor: Procura-se mulher geek

Esse cara é usuário da linha de comando no Unix, e está procurando uma mulher que também o seja para fork(), ter um filho que será educado desde pequeno a usar a linha de comando.

Humor: aliases divertidos

No fórum do Archlinux, fizeram um post pedindo para que os usuários postassem seus respectivos ~/.bashrc, ou ~/.zshrc.

No meio do tópico encontro isso:

 Aliases

:D

E se calculadoras fossem feitas de madeira?

Oi, eu sou um iPhone.

Todo mundo lembra das propagandas da Apple que começam com:

– Oi, eu sou um Mac.
– E eu um PC.

Pois esse é um comparativo entre o iPhone e um Smartphone. (é uma imagem, não é vídeo)

Matando um dragão

Vocês conhecem aquela velha história: o príncipe chega no castelo, mata o dragão e salva a princesa. Então surgiram as versões que diziam o que aconteceria se o príncipe fosse na verdade um músico de algum gênero de Metal, e agora temos o que acontece quando o príncipe é programador de uma determinada linguagem:

Versão original.
Versão em inglês com alguns a mais.

E fica aqui minha contribuição:
perl: Faz um programa que só ele entende. Mostra o código para o dragão, que não consegue entender todos aqueles ‘@’s, ‘$’s e ‘$_’s. O dragão fica entediado e se mata. A princesa também.

DNA para programadores

Uma comparação, em inglês, interessante de como o código genético se assemelha a um programa de computador. Temos “comentários”, demarcados geralmente por GT e AG, “dependências” entre proteínas, reprodução celular através de fork(), entre outras comparações intrigantes.

Pode ser necessário já ter um conhecimento prévio de genética (ensino médio) e de programação para se entender.

Mirror Brasileiro do Archlinux

Já faz algum tempo que temos nosso próprio mirror do pacman. Ele já está, inclusive, nas listas de servidores que podem ser encontradas no diretório /etc/pacman.d , mas por padrão, ele usará os servidores dos Estados Unidos. Esses servidores ficam sobrecarregados em horários de pico, em especial o archlinux.org, que é justamente o primeiro da lista.

Para descarregar um pouco o servidor principal e conseguir mais velocidade nos seus downloads, abra cada arquivo do diretório o arquivo mirrorlist do diretório /etc/pacman.d como root e troque a posição dos servidores, colocando o brasileiro no topo.

Se antes estava assim:

# United States
Server = ftp://ftp.archlinux.org/$repo/os/i686
...

# South America
# - Brazil
Server = http://archlinux.c3sl.ufpr.br/$repo/os/i686

Agora deverá ficar:

# South America
# - Brazil
Server = http://archlinux.c3sl.ufpr.br/$repo/os/i686

# United States
Server = ftp://ftp.archlinux.org/$repo/os/i686
...

Atualização para pacman versão 3.1

Agora que foi lançado o pacman 3.1, o trabalho foi simplificado. Se você usava uma instalação com o pacman 3.0 e atualizou, siga esses passos; se você instalou o ArchLinux recentemente (depois de 15 de janeiro), você não terá alterar os seguintes arquivos:

mv /etc/pacman.conf{,.pacsave}
mv /etc/pacman.conf{.pacnew,}

Isso criará um backup do atual pacman.conf e colocará um novo no lugar, que foi instalado junto com o pacman 3.1. Isso não muda muita coisa, e você poderia continuar usando o anterior, mas agora temos apenas uma lista com os servidores, ao invés de uma para cada repositório.

Para usar o mirror brasileiro na nova versão só se tem que editar o arquivo /etc/pacman.d/mirrorlist, e fazer o que foi descrito a cima.

Criptografia

Esse é um programa simples de criptografia que usa um algoritmo XOR (exclusivamente ou) escrito em C. Você o chama com o arquivo que será encriptado e com o nome do arquivo de saída; ele pede uma senha e criptografa esse arquivo usando essa senha. Para descriptografar, basta usar o programa novamente com a mesma senha. Assim:

crypt "arquivo de entrada.txt" "criptografado.txt"
crypt "criptografado.txt" "arquivo de saída.txt"

Se a senha for igual nas duas vezes, o arquivo será descriptografado, e o arquivo de entrada.txt será igual ao arquivo de saída.txt. O mais interessante do algoritmo XOR é você não precisar implementar um algoritmo para criptografar e outro para descriptografar, um único algoritmo faz todo o trabalho.

Saiba mais