Archive for the ‘Nerd’ Category.

Nerd Girls

Disclaimer: this post contains my personal view on a given matter. Don’t ask me for statistical data that supports what’s written here, because I don’t have it. These are simply my own perceptions and conclusions, which might be completely mistaken.

There’s this movement called Nerd Girls, and reading their website just made me laugh.

So, they want to encourage girls to enter the “science, technology, math and engineering” fields so that they can “change their world”. That’s actually a very nice initiative, and I would be willing to support it.

But there’s a problem.

The science and engineering fields are traditionally dominated by men. I believe that might be alredy intimidating for women. However, I believe the real issue is that many men in these fields act just like the character sitting on the chair in this xkcd comic.

What’s the problem with Nerd Girls? Check out the Profiles section on their website. It does a really lousy job at trying to get women to be respected in science and engineering. The Nerd Girls website doesn’t look like one which is trying to promote the inclusion of women in specific academic/market fields. Pictures like Casey’s bottommost one will only encourage men in science and engineering (I mean, men who have such an attitude) to continue having an idiotic attitude towards women in their fields, thus keeping them away.

So please, Nerd Girls, get serious.

SWI-Prolog Easter Egg

swi-prolog-easteregg

Found it by accident :)

New toys

Yesterday I bought myself three new toys:

f-22-raptorAn F-22 Raptor model

ka-52-alligatorA KA-52 Alligator model

rc-f1-ferrariAn RC F1 Ferrari

Rexona for Physicists

Rexona Quantum

Análise: Cuidado ao pedir coisas a um programador

Hoje no trabalho, um colega enviou a seguinte piada para uma lista interna:

A esposa pede ao marido, um programador, para ir à mercearia e diz:

- Compre duas salsichas e, se eles tiverem ovos, compre 10.

O programador vai até a loja e pergunta:

- Vocês têm ovos?
- Sim.
- Então eu quero 10 salsichas.

Esta piada é simplesmente muito boa (de fato, eu pensei exatamente como o programador da piada) e o Otávio encaminhou a mensagem para pipoca-l, nossa lista de discussão do pessoal da Unisinos. A primeira resposta foi do Dante, com a seguinte objeção:

Mas cara, o programador não deveria primeiro comprar as duas salsichas
pra depois comprar mais 10?

O que nos mostrou que estávamos diante um grande problema semântico, e não de uma inocente piada. Dada a criticidade da necessidade de uma solução para o problema, o Otávio e eu prontamente começamos a trabalhar na solução. A conclusão à qual chegamos, com base em nossos trabalhos que seguiram escolas diferentes de pensamento para o Problema dos Ovos e das Salsichas do Programador, é de que o problema é altamente ambíguo e não possui solução computacional definitiva.

A seguir encontra-se a resposta que produzimos, anunciando tal fato:

O problema é ambíguo e sugere duas abordagens. (Cordeiro, O. C., 2008) sugere que o valor que representa a quantidade de salsichas a serem adquiridas é sobrescrito a cada pedido de compra, sugerindo uma mudança de idéia por parte do agente que executa a ação. Sendo assim, o problema pode ser resolvido utilizando o seguinte programa:

#!/bin/bash

SAUSAGES=0

function buy_sausages {
SAUSAGES=$1
}

buy_sausages 2 && if [[ $EGGS != 0 ]]; then buy_sausages 10; fi

echo $SAUSAGES

No entanto, a abordagem dada por (Silveira, C. L. B., 2008) acrescenta ao valor mencionado a quantidade requisitada pelo agente em cada ação de compra. O programa abaixo ilustra a semântica da abordagem:

#!/bin/bash

SAUSAGES=0

function buy_sausages {
SAUSAGES=$((SAUSAGES+$1))
}

buy_sausages 2 && if [[ $EGGS != 0 ]]; then buy_sausages 10; fi

echo $SAUSAGES

Os resultados da execução dos programas são apresentados a seguir, demonstrando a ambigüidade do problema em questão:

root@ubuntu32:~# EGGS=0 ./cesar.sh
2
root@ubuntu32:~# EGGS=1 ./cesar.sh
12
root@ubuntu32:~# EGGS=0 ./otavio.sh
2
root@ubuntu32:~# EGGS=1 ./otavio.sh
10

Dado que o resultado é determinístico, não são necessárias multiplas execuções para os cálculos de média e desvio padrão dos valores observados.

Referências:

Cordeiro, Otávio C. A non-cumulative approach to the Programmer’s Eggs and Sausages problem. Porto Alegre, 2008.

Silveira, César L. B.. Usage of recurrence relations in the solution of the Programmer’s Eggs and Sausages problem. Porto Alegre, 2008.