Entries Tagged 'Português' ↓

Filmes do feriado

Neste feriado, estudei pra caramba, mas também deu pra assistir vários filmes:

Só não gostei do Goal! III. A história não tem nada a ver com o Goal II, que termina com “To be continued…”. Perdeu totalmente o sentido, e foi um filme fraco. Thinner não faz meu estilo, mas é um bom filme, assim como The Machinist, que eu achei muito pra baixo. Os outros dois, achei bem legais.

Fibonacci

Um
Coelho
Mais dois
E ainda outro
Seguem assim até o infinito

Debian Lenny no Eee

Já faz algum tempo que eu estava cansado do Ubuntu Eee (que vai passar a se chamar Easy Peasy). O controle de volume simplesmente parou de funcionar, eu não conseguia configurar o governor do cpufreq de forma permanente de maneira alguma (não adiantou colocar o comando no /etc/rc.local nem alterar os parâmetros no laptop.conf) e a interface Remix, ainda que bastante interessante, ainda tem muitas coisas que precisam ser aperfeiçoadas.

Por isso, estava decidido a instalar outra distribuição no meu Eee 701. Na dúvida entre o Arch Linux e o Debian, preferi ficar com o Debian, pois já tenho mais familiaridade com a distribuição. Achei muito bom o fato de existir uma imagem pronta para uso em EeePC’s, juntamente com um guia de instalação. A instalação foi um pouco demorada, mas fiquei contente por ver tudo funcionando de primeira, sem a necessidade de nenhuma configuração manual.

debian-eee

Ainda não tive a oportunidade de testar o WiFi, mas a interface parece ter sido detectada corretamente. A única coisa que vou ter que configurar são as teclas de função para controle do volume, o que não deve ser muito complicado. Estou bastante satisfeito até agora.

Feliz Natal!

Feliz Natal a todos que lêem este blog! 🙂

Apesar da grande comercialização desta data (o que me incomoda bastante), ela é especial para mim pois, apesar de não ser a data precisa, é quando comemoro o nascimento do Cristo, Jesus, enviado por Deus para a salvação da humanidade.

Que todos tenham um dia abençoado!

“Porque um menino nos nasceu, um filho se nos deu, e o principado está sobre os seus ombros, e se chamará o seu nome: Maravilhoso, Conselheiro, Deus Forte, Pai da Eternidade, Príncipe da Paz.” — Isaías 9:6

“Pois, na cidade de Davi, vos nasceu hoje o Salvador, que é Cristo, o Senhor.” — Lucas 2:11

Houston, we have a problem

Na caixa em que veio uma entrega da Livraria Cultura:

Riuston

Twitme

Acabei de instalar o Twitme no blog, para enviar notificações via Twitter sempre que um novo post for publicado. Espero que funcione melhor que o outro plugin que eu havia tentado usar (que eu nem lembro o nome).

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.
РEnṭ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.