02.18.09

Ruby1.9 update

Há algum tempo saiu o update do Ruby de v1.8.7 para v1.9. Como já tem um tempo, a galera já trabalhou bastante pra fazer o código portável e compatível. E nós do ArchLinux ainda não fizemos o update… Num levantamento da questão na lista oficial vieram várias dúvidas sobre as gem’s que ainda não foram portadas, por exemplo. Alguém levantou que o VIM quebrou com o update pra ruby1.9, claro, eles não portaram o código…

Bem, depois de algumas horas, consegui resolver o problema. Fiz um patch pro backend do VIM para suporte a ruby e agora tudo funciona. Resumo da ópera:

- Recompilar o Ruby para versão 1.9 (easy, só mudar a versão na PKGBUILD)
- Recompilar o VI
- Recompilar o VIM e GVIM (parte difícil) aplicando o patch que gerei. É preciso também umas mudanças no fetch_patch.sh, pois o VIM já possui mais de 100 patch’s e o Arch só tinha aplicado 65 até a versão que está no repositório.
- Remover o rubygems e rake do sistema, pois o Ruby1.9 provê os dois binários.
- Verificar os programas e gem’s que antes usavam ruby1.8 se já estão portados.

Acho que é isso. Pra quem quer saber o que faltava no VIM pra ser compatível, basta mudar o seguinte:

RSTRING(foo)->len and RSTRING(foo)->ptr
tornou-se:
RSTRING_LEN(foo) and RSTRING_PTR(foo)
RARRAY(bar)->len and RARRAY(bar)->ptr
tornou-se:
RARRAY_LEN(bar) and RARRAY_PTR(bar)

fonte: writequit.org

Tags: , , ,
| Posted in archlinux, linux, patch, ruby, vim | Comentários desativados
07.4.08

Automatizando a bridge no VirtualBox

Há algum tempo eu escrevi um post sobre configurações de rede no VirtualBox. Bem, para que meu host tivesse contato com a guest preciso de uma conexão do tipo Host Interface (ou bridge). Mas fazer bridge no VB é muito sofrido e eu sempre acabava procurando o artigo de novo pra me lembrar dos comandos.

Fui brincar de automatizar o processo. Fazer all-in-one é o melhor para quem quer administrar alguma coisa. Daí eu pensei: “porque não levantar a VM sem precisar da interface gráfica?”. É o chamado modo HeadLess, em que você faz tudo sem depender da interface (como o VMware Server). Então resolvi fazer o script e deixar arrumadinho. Então, baixei o script aqui: bridge_virtualbox.

Bem, o que o script faz é basicamente tudo o que o outro post faz e mais levantar a VM que foi chamada.

Um comando fala mais que mil palavras:

$ bridge_virtualbox -h
Make the host IFACE network up.
Turn on the [tun] module and get up the virtual [tap0] interface.
Makes a bridge with fisical and the virtual network adapter.

Usage: bridge_virtualbox
bridge_virtualbox –help

List of disponible Virtual Machines:
1. archlinux
2. arch_new

That’s all folks!

Tags: , , ,
| Posted in linux, network, scripts | Comentários desativados
07.4.08

Ué, qual é a senha mesmo?

Quem nunca fez essa pergunta é porque:

  1. tem muita boa memória, daquelas que faz contas de 15 dígitos de cabeça em 10s.
  2. anota tudo num papel (ou parede, mesa, qualquer coisa riscável), até a senha do banco, e fica pescando.
  3. joga tudo num .txt e fica pescando.

Qual já fez tem as seguintes saídas:

  1. acaba lembrando depois da 5ª tentativa.
  2. desiste e tenta depois de 2 dias e acaba lembrando.
  3. desiste e assume que esqueceu mesmo, só depois de 20 tentativas, e pede pro admin resetar a senha.

Para quem nunca fez a pergunta (exceto quem tem excelente memória) tem sérios problemas. Primeiro de segurança. Quem nunca viu no banco: “Não anote sua senha num papel.”? Poisé, eu gosto de pensar que se eu tenho idéia de onde achar algo relevante sobre mim mesma, alguém também poderá descobrir também.

Nem papel, nem .txt puro. O que descobri depois de muitas vezes pertubar meu amigo Hugo Dória foi que eu precisava de um programa que gerenciasse minhas senhas. Bem, juro que tentei o Kwallet e o Revelation. Mas, sh**, interface gráfica não ajudou muito, só fez depender do mouse para… tudo! Então, na minha busca por uma wallet perfeita descobri que o Linux.com tinha feito um “How-to” de um wallet em linha de comando. Mas… “eu tenho que digitar muita coisa, não vou lembrar disso!”.

Daí encontrei aquilo que eu procurava (ainda tem umas frescuras, mas vá lá): um Wallet com GPG feito em Shell Script! Wow! Vamos lá, testar.

Dependências: dialog, vim e gpg.

Baixe o script aqui: wallet.

Sugiro colocar em algum lugar na home e adicionar o diretório no $PATH (lembre de adicionar no seu ~/.bashrc) .

$ mkdir ~/bin
$ cd ~/bin
$ wget http://even.archlinux-br.org/blog/wp-content/uploads/2008/07/wallet
$ chmod 700 wallet
$ export PATH=$PATH:~/bin

Depois tem que criar o arquivo de configuração dizendo onde o wallet irá salvar suas senhas:

$ echo “PASSWD_LIST=~/path/to/your/password/file” > ~/.walletrc

Pronto! Agora para editar sua wallet:

$ wallet -e

E para visualizar a wallet:

$ wallet

It’s amazing!

03.24.08

Automatizando o Paste do ArchLinux Brasil

Hello people!

Faz uns dias que eu estou pra escrever sobre isso, mas sempre tem um contratempo.

Bem, me encheram tanto a paciência, dizendo que o Paste do ArchLinux Brasil não tinha um script tipo o nopaste que eu resolvi fazer um. Foi adaptado do pastebinit do Stephane Graber. Na verdade aproveitei umas funções para poder criar o nosso, já que Python eu entendo e queria mexer mais um pouco.

Bem, você pode baixar em: archpaste.tar.gz.
Para usar, é só descompactar, renomear para archpaste, dar permissão de execução e jogar no /usr/bin. Depois é só usar:

$ archpaste -h

archpaste v0.1
Arguments:
	-f < filename > (or pipe the text)
Optional arguments:
	-u < user:defaults to system username >
	-t < type of paste:default is text only >
	-d < description of the contents:default is 'using archpaste' >
	-s < subject:default is 'Untitled' >
	-h < this help >

Tags: , , ,
| Posted in archlinux, code, python | Comentários desativados
10.17.07

Resolvendo um “Numerical Maze”

Um dos trabalhos semestrais este semestre foi realizar um resolvedor de Numerical Maze. Como poderia ser feito em Python usando OO, fiz o meu bonitinho (com uma certa ajuda de um colega). Para usar faça, sendo que a entrada eh um arquivo texto, começando com a linha e coluna da matriz, depois a matriz, seguindo esta sequência até encontrar “0 0″ (tá, fugiu um pouco da regra da ACM, mas foi especificação do trabalho):

$ python maze.py < entrada.

Code:
Read the rest of this entry »

Tags: , ,
| Posted in algoritmos, code, python | Comentários desativados