Archive for the ‘Nerdocracia’ Category

Science is about being a blind man with a stick

Tuesday, September 13th, 2005

What you learn, when you read works like Novum Organum by Sir Francis Bacon, is that science is about being a blind man with a stick, and he who most persistently pokes blindly ahead of him, contributes the most to our understanding of the Universe, though only if he is willing to accept what the poking tells him that he does not want to be true.

Hans Reiser
Bob Sinclar – Love Generation (radio edit)

Security Link Fest

Thursday, September 1st, 2005
Acounstic Cryptoanalysis
E você achando que não tinha mais com o que se preocupar…

Military Grade Wireless Security

Nem WEP nem WPA: o lance é usar IPSec para protejer links sem-fio

Routing in the Dark — Scalable searches in dark P2P networks

Apresentação do Ian Clark sobre o Small-World Networks, roteamento nessas redes e coisas similares.

Revisitando Velhos Problemas

Tuesday, August 23rd, 2005

um tempo atrás eu comentei sobre algumas ferramentas escritas em python para fazer network sniffing. Precisei construir uma ferramenta dia desses e me dei conta de que aquelas listadas não bastariam. Acabei tendo que recorrer à pcapy e à dpkt. A primeira é um binding da libpcap para python, um dos poucos que permite ler um trace-file em off-line. A segunda é uma ferramenta que facilita a leitura e a decodificação de pacotes lidos diretamente da rede. Por exemplo, com a dpkt é muito fácil extrair o payload de um pacote UDP contido dentro de um pacote IP, por sua vez contido dentro de um pacote Ethernet.

***

E vamos ao linkfest:

Why’s (poignant) Guide to Ruby
Fiquei curioso para ver como ruby é e acabei caindo no guia introdutório de uma linguagem de programação mais louco que eu já vi.
Really getting started with Rails
Mais outro tutorial sobre rails
Hugos House of Weblog Horror – Archiv der Kategorie ‘Python’
Um bom weblog sobre python em alemão.
Ian Bicking – A Conservative Metaclass
Ótima referência sobre o que fazer e o que não fazer quando estiveres fazendo uma metaclasse em python
MIT OpenCourseWare – Applied Statistics, Spring 2003
Da série “relembrar é viver”
HP Technical Reports – Peer to Peer computing
Para os interessados, uma visão geral da área de P2P pelo pessoal da HP.

Comparações entre Web Frameworks

Wednesday, August 17th, 2005

Dia agitado na blogsphere das linguages dinâmicas mais hypes do momento: ruby e python ;-) E, novamente, tudo por causa do Ruby on Rails.

A menos que você esteja escondido em uma caverna (porque o RoR já apareceu até na slashdot), a proposta do Rails (bem como da maioria das web frameworks que estão aparecendo) é facilitar ao máximo a vida do programador de “webapps”, geralmente adotando uma filosofia DRY e organizando a aplicação segundo um modelo MVC. Nada de escrever código para fazer CRUD: a arquitetura faz isso por você. Nada de escrever código SQL: usa-se algum tipo de ORM para transformar acesso a objetos em acessos ao banco de dados.

Desta vez a agitação ocorreu não devido a outra language-war entre o pessoal do Ruby e do Python, mas devido a uma comparação entre o Rails e o Django, a proposta do mundo pyhton para o Rails. Essa comparação, entitulada A comparison of Django with Rails, gerou uma boa seqüência de artigos e comentários.

Enquanto alguns artigos concentraram-se em fazer comentários sobre essa comparação ou de explicar como migrar de um web framework para o outro, outros voltaram para as comparações. entre as linguagens.

Para quem quiser entrar mais no mérito das language-wars, uma boa pedida é o artigo Ruby, Python, “Power” ou uma entrevista com o BDFL do mundo Ruby, onde ele comenta sobre closures e coisas do gênero.

Vale a pena dar uma lida nos comentários de todos os posts “linkados”: muita coisa boa pode ser peneirada de lá. Além disso, vale a pena dar uma olhada no seaside, uma web framework para – pasmem – smalltalk.

Kamaelia

Tuesday, July 12th, 2005

Direto do sítio do Kamaelia:

Kamaelia is designed as a testbed for network experimentation using a component architecture designed to simplify creation and testing of new protocols for large scale media delivery systems.

But what is it?

A collection of python generators running concurrently linked via communications channels.

Idéias começaram a pipocar na minha menta na hora que eu li isso. Eles até fazem uma comparação entre esse projeto e o Twisted no blog deles. Detalhe: esse projeto é do pessoal da BBC opensource.

***

Esse cara faz uns desenhos bacanas.

Paul Johnson – It’s a Love Thang

A pergunta

Tuesday, June 7th, 2005

A resposta não é 42, mas “logo”.

***

Prolixo, agora eu sou prolixo. Vamos ver qual será o comentário que eu receberei com o próximo capítulo…

***

– Qual é a desses pontinhos afinal? Você poderia me perguntar. Ah, eles me ajudam a não ser prolixo. :cool:

***

Para não pasar batido, o python-link do dia é:Python webcam fun – motion detection.

Sly & Robbie – The Ganja Man

Doublecast

Monday, May 23rd, 2005

Fazia um bom tempo que eu não aparecia por aqui. Resolvi vir e fazer um post mais para fins de bookmarking do que para qualquer outra coisa. É, outras coisas têm ocupado a minha mente e me envolvido numa áurea de culpa da qual está cada vez mais complicado me despir.

De qualquer forma, eu ainda não esqueci esse blog. Acreditem. CSS Style for you WordPress RSS Feed.

***

Toda vez que eu volto de Fortaleza uma gripe se prende às minhas pernas e eu tenho que carregá-la por pelo menos uma semana a tira-colo para poder livrar-me dela.

Dessa vez peguei uma amidalite, com direito a antibiótico e tudo mais. Pelo visto a amidalite já deu uma trégua, mas deixou uma saudosa (?!) gripe no lugar. Realmente, foi uma ótima semana em Fortaleza.

***

Eu deveria ter me afastado deles por mais tempo, mas uma tarde de domingo morosa sempre é uma boa desculpa para retomar a antigos vícios.

O chato é que parece que, logo agora que eu finalmente consegui fazer o Titus e a Yuna se agarrarem, terei que me afastar deles mais uma vez. Por mais uma semana, quem sabe? Quem sabe eu consigo pegar o doublecast da próxima vez?!

***

Sim, falando em vícios, o python-link do dia é esse: The Python Chalange. Descubra o quando você realmente sabe usar a sua linguagem preferida. Mas não vale “trapacear”.

Sniffing network traffic in python

Thursday, April 21st, 2005

E os links dos dias são:

Sniffing network traffic in python
Sem comentários: o link salvou o dia! Esse lance de fazer tudo em C estava enchendo o saco!
TcpIpPowerTools
Deus salve o Google: estava procurando pelo pycap, o binding de python para a pcap e caí nisso. Perfeito: milhares de brinquedinhos e referências para a minha filha
Chemical Bros. – Hey Boy Hey Girls

Test-Driven Development in Python

Tuesday, April 19th, 2005

Existe um projeto no qual eu me meti e com o qual eu tenho perdido um bom tempo. Venho cozinhando-o há um bom tempo, e já quase o deixei em um estado onde ele pode ser servido — quase.

O problema é que eu comecei a ler sobre UnitTesting e fiquei curioso se isso funcionaria nesse projeto em particular e por isso venho perdendo quase todo o (pouco) tempo que eu gasto com esse projeto escrevendo UnitTests e refatorando o código.

Confesso que ainda não presenciei nenhum momento onde escrever um teste tivesse me salvado algum tempo ou tivesse me ajudado a definir melhor as interfaces do sistema mas estou confiante de que, de alguma forma isso vai mudar — espero. O que me faz pensar assim? .

Nagios, Request-Tracker e scrips

Tuesday, April 5th, 2005

Direto do Departamento de Engenharia “BOFH”-ística.

O pessoal daqui do laboratório usa uma combinação de Request-Tracker e nagios para gerência de problemas e monitoração de máquinas. Sempre que algum problema é detectado, o nagios abre uma requisição no Request-Tracker. Sempre que o problema é solucionado, outra requisição é aberta. O problema é que, com os experimentos que estão rodando no laboratório, a carga e o uso de swap das máquinas estão variando muito, indo de picos a vales e questão de minutos. OU seja: a cada hora era necessário ir para o Request-Tracker apenas para fechar todos esses tickets – e são vários. Não mais. o Scrip abaixo soluciona o problema. Mais informações aqui.

Description: Merge Into Existing Ticket on match

Condition: OnCreate

Action: User Defined Custom action preparation code:

1;

Custom action cleanup code:

# If the subject of the ticket matches a pattern suggesting
# that this is a Nagios RECOVERY message  AND there is
# an existing ticket (open or new) in the "General" queue with a matching
# "problem description", (that is not this ticket)
# merge this ticket into that ticket
#
# Based on http://marc.free.net.ph/message/20040319.180325.27528377.en.html

my $problem_desc = undef;

my $Transaction = $self->TransactionObj;
my $subject = $Transaction->Attachments->First->GetHeader('Subject');
if ($subject =~ /\*\* RECOVERY (\w+) - (.*) OK \*\*/) {
    # This looks like a nagios recovery message
    $problem_desc = $2;

    $RT::Logger->debug("Found a recovery msg: $problem_desc");
} else {
    return 1;
}

# Ok, now let's merge this ticket with it's PROBLEM msg.
my $search = RT::Tickets->new($RT::SystemUser);
$search->LimitQueue(VALUE => 'General');
$search->LimitStatus(VALUE => 'new', OPERATOR => '=', ENTRYAGGREGATOR => 'or');
$search->LimitStatus(VALUE => 'open', OPERATOR => '=');

if ($search->Count == 0) { return 1; }
my $id = undef;
while (my $ticket = $search->Next) {
    # Ignore the ticket that opened this transation (the recovery one...)
    next if $self->TicketObj->Id == $ticket->Id;
    # Look for nagios PROBLEM warning messages...
    if ( $ticket->Subject =~ /\*\* PROBLEM (\w+) - (.*) (\w+) \*\*/ ) {
        if ($2 eq $problem_desc){
            # Aha! Found the Problem TICKET corresponding to this RECOVERY
            # ticket
            $id = $ticket->Id;
            # Nagios may send more then one PROBLEM message, right?
            $RT::Logger->debug("Merging ticket " . $self->TicketObj->Id . " into $id because of OA number match.");
            $self->TicketObj->MergeInto($id);
            # Keep looking for more PROBLEM tickets...
        }
    }
}

$id || return 1;
# Auto-close/resolve this whole thing
$self->TicketObj->SetStatus( "resolved" );
1;

Vá com Deus

Monday, April 4th, 2005

UFMG, 15:15, escrevendo a dissertação… voz ativa, voz passiva, nota de rodapé, identa, reorganiza. Inicio de seção. Tocador de músicas no modo aleatório. Roberta Mirando começa a cantar. É, pelo visto essa dissertação vai demorar para sair…

***

Que que você esperava? Mais um post sobre a morte do Papa?

Roberta Miranda – Vá Com Deus… Iggy Pop – Lust for Life

Two Is An Impossible Number

Thursday, March 31st, 2005

É. A wiki-mania voltou. É simplesmente fascinante como eu consigo me perder na selva da de um wiki, e olhe que nem era no MeatBall.

Tudo começou com um post do Guido van Rossun sobre multi-methods e decorators… Depois, fui no google, cai no WikiWikiWeb (o original) e, depois de descobrir que overloading a overriding não são a mesma coisa de multimethods, acabei descobrindo que dois é um número ímpossível, até porque só existe o zero, o um, e o infinito.

O que isso tem a ver com a escrita da minha dissertação ainda permanece um mistério.

IE was ‘unsafe’ for 98% of 2004, Mozilla safest

Thursday, March 24th, 2005

Da próxima vez que o seu colega pró-MS vier, com um sorriso no rosto, lhe contar do último furo de segurança do Firefox, do Linux, do xchat (?!), mostre-o o segiunte: IE was ‘unsafe’ for 98% of 2004, Mozilla safest..

A melhor passagem do texto: “This means fully patched IE was known to be unsafe for an incredible 98 per cent of 2004,”

“How to never miss one episode with BitTorrent and RSS”

Wednesday, March 16th, 2005

Simplesmente sensacional! [via Ned Batchel]

Mano Chao – Desaparecido

Ajax: A New Approach to Web Applications

Friday, February 25th, 2005

There are several articles poping up on how the duo JavaScript and XMLHttpRequest are changing the web. First of all I’d recomend reading Ajax: A New Approach to Web Applications. Then, for further reading, one article on XMLHttpRequest and other on how GMail uses this duo.

Nature versus Nurture

Monday, February 21st, 2005

I knew Zope has some deep black magic inside it but this is just mind blowing. [Link origin]

In the same spirit of how the environment or how changes to it modify the individual’s perception of it, here comes a link to a nice flame war on Ian Bicking’s blog.

Dj Neighbours – Frequency

AuthImage

Wednesday, February 16th, 2005

Desisti. Tava aparecendo spam demais no meu blog. Nem aquela proteção besta q eu criei estava adiantando. Fiz como Sellaro e instalei o AuthImage. Uma versão antiga, diga-se de passagem, por aque a mais nova está dando problemas que eu não estou com saco de depurar.

Claro que nem tudo vem de graça, e agora, para poder fazer comentários no meu blog, será necessário digitar o conteúdo que aparece numa pequena imagem e habilitar cookies. Paciência….

Novo ano, novo link

Tuesday, January 25th, 2005

O Pordeus reclamou e, para alegria geral da nação, vamos para um novo post. Por falta de vontade de falar sobre os problemas do meu nariz, vamos a uma “carrada” de links:

Cortesia Daily Python-URL.

Persecution, terror, war

Sunday, December 12th, 2004

In a more general sense, whether you are religious or not, there is no denying that the people inspired (for good or ill) by the Bible have left a remarkable impact on human history…

Persecution, terror, war …

And things just keep getting better and better

Momentos nerd durante um feriado na UFMG

Wednesday, December 8th, 2004

Não pude resistir:

Belle and Sebastian – If you find yourself caught in love