Development at the hackathon, go Forrest go!!

In openbsd-misc mail list:

"Development is really fast right now, because of the hackathon in Edmonton.

We are testing as much as we can before we commit, but as always during these hackathon processes we really depend on our user community -- to track our changes and help spot the occasional bug we accidentally introduce.

We are developing really fast and hard; please help us by testing really fast and hard too.

There are some snapshots being made, of course, but people who are familiar with checking out their own trees can really help us by buildind and running it immediately."

- Theo de Raddt, in a June 11th, 2008 message.

Kids 0.1b released

It is my great pleasure to announce the availability of KIDS 0.1b, an Kernel (Network) Intrusion Detection System. This project is the result of a year of research on kernel and Network IDS. The Kernel Intrusion Detection System-KIDS, is a Network IDS, where the main part, packets grab/string match, is running at kernelspace, with a hook of Netfilter Framework. This project is not ready for use. It is only a proof of concept and should not be put in an environment in production, yet.

The main goal of KIDS is to try to reduce the delay in the processing of the rules, with the elimination of two changes in context (kernel-user-user-kernel), as this task is performed in kernelspace.

The main goal of KIDS is to try to reduce the delay in the processing of the rules, with the elimination of two changes in context (kernel-user-user-kernel), as this task is performed in kernelspace.

Very thanks to Amador Pahim, my boss and Teacher Advisor.

A more detailed document for development / hacking will be drafted later.

For more information about KIDS project, please see:

http://sourceforge.net/projects/ids-kids/

Bitlbee

Bom.. depois de mais de um mês out, voltei, espero. Ano novo, vida nova, cidade nova (estou morando agora em Sampa) e eu na luta para conseguir tempo para postar algo aqui.

Bom... eu sou fã do tal do IRC, desde de mil novecentos e bolinha, e depois que passei a usar o bitlbee, mais ainda! :) Para quem não conhece, trata-se de um gateway IRC para redes de instant messaging (atualmente suporta gtalk, jabber, yahoo, icq, msn, aim e skype). Se você fica conectado full time no IRC, trocando ideias com outros nerds, e não quer ter outras aplicações abertas como Gaim, Gtalk, amsn, ou qualquer outro IM, para falar com as pessoas que não usam IRC, seus problemas acabaram!! Instale hoje mesmo o bitlbee, e tenha seus contatos em uma sala IRC, normalmente, com seu client preferido. Tem até integração com o emacs!

Instalação fácil fácil (disponível no apt-get mais próximo de você), conectou, registrou, logou, tá lá.. todos os contatos, perfeito! Ou quase, por default vem sem suporte a SSL, então trate de fazer um túnel seguro (stunnel é uma boa sugestão), e seja feliz.

Bebo nerd…

Sabe aquelas brincadeiras de mesa de bar com os palitos de dente, ou coisa parecida? Bom, quem toma umas, sabe que bar também é cultura.... Mas nerd é osso, então, só pra pensar um pouquinho, um Puzzle C, bem conhecido:

Adicionando ou modificando apenas um caracter, no código abaixo, faça este código imprimir exatamente 20 asteriscos:

int main()
{
        int i, n = 20;
        for (i = 0; i < n; i--)
                printf("*");
	return 0;
}

É simples, e existem algumas soluções para isto! :)

Oops

Quem disse que o Linux não trava ?? Que atire a primeira pedra quem nunca viu ao menos um kernel panic na tela ? Pois bem, quando um erro grave ocorre no sistema, entre outras coisas que o kernel faz uma delas é exibir no terminal e/ou sistema de log, uma mensagem bastante conhecida por quem já passou por isso, a famosa mensagem de Oops. Trata-se de um dump do estado do CPU e da pillha do Kernel no momento em que o problema ocorreu. A mensagem de Oops mais conhecida é a que vem acompanhada de um kernel panic. Muitos ao se deparar com isso, percebem que nada funciona (na maioria dos casos), Ctrl+Alt+Backspace, teclas de função, e nem água, ai, simplesmente reiniciam a máquina, podendo causar ainda mais problemas.

Abaixo um exemplo de uma mensagem de Oops:

Unable to handle kernel paging request at virtual address 00010015
 printing eip:
c01e6608
*pde = 00000000
Oops: 0000
CPU:    0
EIP:    0010:[usb_unlink_urb+8/64]    Tainted: P
EFLAGS: 00010202
eax: 00010001   ebx: d70c6494   ecx: c7c81000   edx: 00010001
esi: c7c81640   edi: d70c6400   ebp: d70c64f0   esp: d2daded0
ds: 0018   es: 0018   ss: 0018
Process kpilotDaemon (pid: 30778, stackpage=d2dad000)
Stack: d892a2ed 00010001 d70c6494 d70c6400 d3df51c0 00000000 d8924350 d70c6494
       d3df51c0 d725a000 cc5faa40 c16063c0 c018c460 d725a000 d3df51c0 d3df51c0
       cc5faa40 c16063c0 c8117e40 00000001 d3df51c0 bffff0e8 00000000 00000000
Call Trace: [] [] [release_dev+576/1280]
[n_tty_ioctl+257/1200] [tty_release+10/16]
   [fput+76/224] [filp_close+92/112] [sys_close+67/96] [system_call+51/56] 

Code: 8b 42 14 85 c0 74 21 8b 80 bc 00 00 00 85 c0 74 17 8b 40 18

Esta mensagem pode ajudar aos desenvolvedores do kernel a depurar melhor o problema, e mesmo que você não reporte o bug, você pode se utilizar de um recurso que foi desenvolvido pensando nisto: As Magic SysRq Keys.

Trata-se de uma combinação de teclas que é utilizada para comunicar-se com o kernel do Linux, caso a opção CONFIG_MAGIC_SYSRQ tiver sido habilitada durante a compilação do kernel, ou em /proc/sys/kernel/sysrq.

Basta apertar Alt+PrintScreen+Tecla e a saída (dependendo da tecla) é enviada para o dmesg. Abaixo apenas algumas teclas:

Tecla Descrição
t Lista de tarefas/processos com suas informações detalhadas
u Remonta todas as partições montadas, só que em read-only
m Mostra informações sobre o estado atual da memória
e Envia um sinal do tipo SIGTERM para todos os processos, exceto para o init

Existe a famosa combinação: Alt+PrintScreen+R E I S U B, onde basicamente mata todos os processos, sincroniza os discos, remonta todas os filesystems montados em read-only, e só então reinicia a máquina. Por tanto, antes de "meter o dedão" no botão de power, REISUB. :)

Just for fun…

Click na imagem acima para ampliar.

Vimdiff, a diferença diferente

Para nós, pobres mortais, analisar a saída do comando diff, pode não parecer muito amigável à primeira vista e as vezes precisamos conhecer o que mudou de um arquivo para outro, após uma edição. Bom, para os amantes do vi/vim o mesmo possui um utilitário chamado vimdiff, que em alguns casos, pode cair como uma luva, e ser muito útil.

O vimdiff, analisa a diferença entre dois ou três arquivos, dividindo a janela de edição e destacando as linhas que são diferentes entre estes arquivos. A navegação, ocorre da mesma forma quando se divide a janela de edição do vim através do comando :split, ou seja:

Ctrl-W + j = Vai para janela de baixo
Ctrl-W + k =Vai para a janela de cima
Ctrl-W + l = Vai para a janela da direita
Ctrl-W + h = Vai para a janela da esquerada

Um exemplo do comando vimdiff em execução pode ser visto aqui.

7mas Jornadas Regionales de Software Libre

Ufa... estou vivo... depois de 14 horas de vôo, cheguei. Tive a oportunidade de participar da 7ª Jornada Regionales de Software Libre, em Córdoba, na Argentina, onde fui mostrar pela primeira vez o KIDS. Cidade bonita, cheia de argentinos fanáticos por futebol e por seu país, um frio de fazer qualquer nordestino como eu, tomar Ron quase todo santo dia para esquentar o corpo. Logo de cara ao chegar no Aeroporto, as 4 horas da matina, não conseguia acreditar no frio que fazia, rezava para alguém desligar os "ar-condicionados", mas quando sai para chamar um taxi, voltei correndo para dentro e percebi que aquilo era o calefator.

Bom, logo no primeiro dia de evento, pude conhecer o Alvaro Fuentes, um chileno que adora Ron, e a Laura Porcel, uma hermana 100% brasileira, ela não admite, mas é sim. Bom, alugamos um carro e no segundo dia partimos para conhecer umas cidades nas proximidades de Córdoba (Villa Carlos Paz, Capilla del Monte e outras...), foto pra lá , foto pra cá, e na volta, já na nossa última parada (Dique San Roque), local tranquilo, pescadores, foto foto, voltamos para o carro, e me deparo com uma porta arrombada, e todos os nosso equipamentos haviam sido roubados! Isso mesmo, todos, perdi meu Sony Vaio TX de 11'', que era mesmo que um filho pra mim, e o Alvaro, perdeu, um Mac Book pro, um HD externo, um ipod de 80 gb, um carregador solar para laptop, 500 dóllares, passaporte, e muitos gadgets. Fomos a delegacia, fizemos o boletim de ocorrência, e outra alternativa não nos restou, a não ser chorar e tomar uma para tentar esquecer o prejuízo.Pois é... esta foi a única parte triste da viagem.

Tirando isto, o evento me pareceu ser feito por pessoas que realmente se preocupam com a divulgação do software livre e que defendem a causa, todos da organização estão de parabéns. No domingo ainda teve um churrascão, onde pude comer a parrilha Argentina, muita carne, muita confraternização e games nerds (IceTowers). Alvaro, você está vivo ??

Bom acho que é isso... Haa todas as fotos da viagem podem ser vistas aqui.

Sysadmin Appreciation Day

Parabéns a todos os Administradores de Sistemas, hoje é o nosso dia. A cada ano, desde 2000, toda última sexta-feira do mês de Julho, este ano, hoje, 27 de Julho, se comemora o Sysadmin Appreciation Day, um dia para apreciar e agradecer a existência do Sysadmin da sua empresa.

Hoje é um dia onde camisas com dizeres do tipo: "curve-se diante de mim, ser insignificante, pois eu sou o root." podem ser utilizadas sem muitos problemas e chantagens como esta ou até piores podem acontecer na sua empresa. Portanto não esqueça de bajular o seu sysadmin hoje.

Faça sua própria mesa multitouch

Todos já devem ter visto protótipos da mesa multitouch screen, onde uma famosa empresa lançoua mesa surface, recentemente. Pois bem, estava eu perambulando por algum lugar da Internet, procurando não sei o que, quando me deparo com este link. Trata-se de um projeto de um grupo de estudantes da Holanda, cujo o principal objetivo é fazer uma Open Source Multi Touch, simplesmente show de bola. Se você procurar bem no site (aconselho, ler de trás pra frente, pois vê a evolução do projeto dos caras, comece pelo primeiro post, ou seja o último da última página, no blog deles), verá que eles já estão bem avançados, e tem até um manual que ensina passo a passo a construção de uma mesa dessas, e acredite: é fácil.

Com um pouco de paciência para encontrar os materiais, e um pouco de habilidade com uma furadeira, solda, cola quente e outras ferramentas (me ferrei) da pra fazer sim uma mesa multitouch. Bom, amanhã vou lá no Alecrim e vê se acho alguns dos materiais e caso eu consiga fazer, colocarei aqui alguns vídeos/fotos, mas por favor, não esperem eu terminar, eu me conheço. :) Dica: Google por FTIR.