quarta-feira, 29 de dezembro de 2010

A matemática financeira do FarmVille

O FarmVille, um dos jogos mais populares no Facebook, possui uma aplicação básica da matemática financeira. Em um jogo onde comercializa-se uma variedade de produtos com diferentes preços para compra e venda, para se obter o maior lucro ou ganhar dinheiro mais rápido é preciso comparar matematicamente os valores. Além do índice de experiência (XP) que também pode ser ponderado na escolha do item a ser produzido.

No FarmVille existem as moedas (Farm Coins) que ganhamos principalmente na venda da produção e as notas (Farm Cash) que ganhamos uma a cada mudança de nível. De todos os itens que estão disponíveis no mercado, uns só podem ser comprados com as moedas, outros só com as notas e alguns com ambas. Existe também o ganho de experiência (XP Gained) que provém do trabalho ou de algumas transações comerciais. Este serve para avançarmos nos níveis do jogo.

As notas servem para comprar itens especiais e são adquiridas em maior quantidade através da compra real por cartão de crédito. As moedas compram os itens básicos porém suficientes para nos divertirmos no jogo e são adquiridas gratuitamente aos montes nas colheitas. As moedas também podem ser adquiridas por cartão de crédito mas não é necessário, vamos discutir aqui somente o jogo gratuito.

Para realizar uma plantação é necessário arar a terra (Plow), plantar (Plant) as sementes (Seeds), esperar o crescimento (Grown) e então fazer a colheita (Harvest) e venda (Sell) do produto. Numa próxima produção todos estes passos se repetem.

Os itens são caracterizados por preço de compra, tempo para colheita, experiência adquirida e preço de venda. Diversas combinações dentre estas características são distribuídas para os produtos agrícolas e o jogo vai nos disponibilizando mais itens a medida que avançamos nos níveis.

Um abacaxi custa 95 moedas na compra da semente, ganha-se duas unidades de experiência no plantio, demora 2 dias para a colheita e na venda de sua produção ganha-se 242 moedas. Estes valores são para cada bloco de terra arada, desta forma para cada bloco plantado, considerando o gasto de 15 moedas para arar a terra, temos um lucro de 242 - 95 - 15 = 132 moedas. Como demora 48 horas o crescimento então ganhamos 132 / 48 = 2,75 moedas por hora. Em XP ganhamos uma unidade em arar a terra mais duas unidades pelo plantio, proporcionando neste período de 48 horas um ganho de 0,06 unidade de experiência por hora.

Já um tomate custa 100 moedas a semente, ganha-se 1 XP no plantio, demora 8 horas para a colheita e na venda ganha-se 173 moedas. O lucro será de apenas 173 - 100 - 15 = 58 moedas entretando ganharemos 58 / 8 = 7,25 moedas por hora graças a colheita mais rápida. Em XP ganha-se um por arar e mais um pelo plantio, proporcionando neste período de 8 horas um ganho de 0,25 XP por hora.

Para se obter um ganho acelerado de moedas é preciso analisar o lucro por hora pois alguns itens pagam bem mas demoram muito para produzir. Uma produção com ganho menor mas com uma maior rotatividade pode trazer um lucro maior no mesmo período de tempo. Durante uma produção de abacaxi ganha-se 132 moedas nestas 48 horas, mas em 48 horas podemos ter seis produções de tomates, totalizando 348 moedas nestas 48 horas.

Outro ponto a considerar é a preferência pelo ganho de moedas ou de experiência. Também cada item vai ser melhor para um ou para outro. Ganhar experiência é bom porque mais itens ficam disponíveis e quase sempre vem um item mais lucrativo.

Claro que ninguém vai querer ou poder ficar o tempo todo plantando e colhendo na frente do computador, assim escolha o melhor item de acordo com as horas que você tem disponíveis para jogar o FarmVille.

quinta-feira, 23 de dezembro de 2010

Manipulando o endereço MAC das interfaces de rede

Uma maneira simples de alterar, no sistema Linux, o endereço MAC de uma placa ethernet é com o utilitário MAC Changer (http://www.alobbs.com/macchanger/).

Mesmo não sendo uma alteração permanente, como seria se fosse definido nos arquivos "/etc/sysconfig/network-scripts/ifcfg-ethX", "/etc/network/interfaces" etc. (dependendo da distro), este utilitário serve quando o sistema usa o NetworkManager para gerenciar as conexões pois este gerenciador não segue as configurações definidas nestes arquivos.

Para alterar permanentemente poderíamos então adicionar uma chamada para execução deste utilitário em algum script de inicialização do sistema.

Um exemplo de linha de comando, para definir um endereço, é apresentado a seguir:

# macchanger -m 01:23:45:67:89:AB eth0

Lembrando que este tipo de alteração é apenas na camada de software da interface de rede. Nada é alterado fisicamente no circuito da placa, portanto o endereço original continua gravado. O "permanente" é porque o sistema configura automaticamente durante sua inicialização.

O MAC Changer tem algumas qualidades como escolher aleatoriamente um endereço para a interface, escolher mantendo a identificação do fabricante ou do tipo de placa, escolher um endereço de outro fabricante. São recursos que podem servir para um administrador com algum propósito específico.

As principais distros disponibilizam em seus repositórios o pacote deste utilitário, assim sua instalação torna-se bem simples.

sexta-feira, 10 de dezembro de 2010

Quer ouvir o Linux?

Isso mesmo, o site Linux Radio (www.linux.fm) transmite na forma sonora o código fonte do Linux. A cada carregamento da página deste site, é selecionando aleatoriamente um arquivo do kernel para ser falado com uma voz sintetizada.

Não vejo a utilidade disto mas quem sabe seja útil pra alguma coisa. Esta estação de rádio é dedicada ao maior cientista de todos os tempos: Dr. Sheldon Cooper, do seriado The Big Bang Theory. Isto eu concordo! :)

quinta-feira, 9 de dezembro de 2010

Monitorando o tráfego através de uma canalização

O Pipe Viewer (pv) é uma ferramenta de terminal para monitorar o progresso do tráfego de dados através de uma canalização entre dois processos. Ao ser inserido na linha de comando, o pv pode mostrar uma indicação visual do quanto já foi transferido, tempo decorrido, taxa de transferência, barra de progressão, porcentagem e tempo estimado para término.

Por exemplo, em um cenário onde um comando faz a cópia de um dispositivo de armazenamento para um arquivo imagem, como mostrado a seguir:

# dd if=/dev/sdb of=arquivo.dd

Com o pv podemos monitorar o tráfego de dados acrescentando-o na linha de comando do dd, que agora está duplicado:

# dd if=/dev/sdb | pv -b -t -r -p -e -s 1041760256 | dd of=arquivo.dd

Ou simplesmente, já que as opções ficam ativas por padrão:

# dd if=/dev/sdb | pv -s 1041760256 | dd of=arquivo.dd

O tamanho total do dispositivo de armazenamento pode ser obtido pelo comando "fdisk -l". O exemplo a seguir contém todos os comandos em uma única linha:

# dd if=/dev/sdb | pv -s `fdisk -l /dev/sdb | head -2 | tail -1 | awk '{print $5}'` | dd of=arquivo.dd

O Pipe Viewer pode ser utilizado em canalização com qualquer comando. Veja um uso da ferramenta pv com o gzip, por exemplo, se quisermos compactar o nosso arquivo imagem podemos monitorar o progresso:

# pv arquivo.dd | gzip > arquivo.dd.gz

Mais um exemplo para uso com o netcat, monitorando a transmissão do arquivo:

# cat arquivo.dd | pv -s 1041760256 | nc -w 1 192.168.1.133 3000

Muitas ferramentas de linha de comando no sistema Linux não mostram a progressão, desta forma a ferramenta pv torna-se um bom complemento. Para mais informações, a página do Pipe Viewer está neste endereço: http://www.ivarch.com/programs/pv.shtml

terça-feira, 30 de novembro de 2010

Problema de Lógica: Bactérias no tubo de ensaio

Um cientista notou que certa espécie de bactéria leva uma hora para se duplicar. Colocou num tubo de ensaio uma única bactéria e notou que ao final de um dia completo as bactérias já ocupavam metade do tubo de ensaio. Quanto tempo levará para as bactérias ocuparem a outra metade do tubo de ensaio?





RESPOSTA





Se as bactérias levam uma hora para duplicarem-se e ocupam atualmente metade do tubo de ensaio, então em uma hora irão dobrar em número e ocuparão a outra metade do tubo de ensaio.

Conserte você mesmo

Com o propósito de ajudar a salvar o planeta, o site iFixit (www.ifixit.com) tenta diminuir o acúmulo de lixo eletrônico nos convencendo de que o melhor é consertar do que jogar fora. Melhor até do que a reciclagem, já que o produto será 100% reaproveitado.

Muitos equipamentos eletrônicos possuem substâncias químicas extremamente tóxicas para o meio ambiente. O site iFixit possui uma explicação sobre o assunto e também sobre o que é reciclagem e alguns de seus problemas. O propósito do site é conserte você mesmo e evite o lixo eletrônico.

O iFixit oferece gratuitamente dezenas de manuais com passo a passo do conserto. Diversos aparelhos eletrônicos dentre os mais populares estão com os manuais prontos e outros estão sendo produzidos. Os internautas também podem colaborar nas edições dos manuais.

Se você for jogar fora algum produto eletrônico, tente consertá-lo, quem sabe dá certo!

segunda-feira, 29 de novembro de 2010

Vídeos sobre símbolos da física e astronomia

A Universidade de Nottingham, da Inglaterra, deu início a um projeto com um site que explica alguns fundamentos das teorias sobre a física e astronomia. O site, chamado de Sixty Symbols, contém uma coleção de vídeos apresentados por especialistas da universidade que explicam, de uma forma informal, o significado de alguns dos símbolos utilizados pelos cientistas.

Inicialmente eram sessenta símbolos mas atualmente o site já possui mais que isso. O projeto aceita pedidos de internautas para explicações de símbolos ainda ausentes. Os vídeos estão publicados no YouTube, confira através dos endereços:

http://www.sixtysymbols.com/

http://www.youtube.com/sixtysymbols

sexta-feira, 26 de novembro de 2010

Edições imperdíveis da Scientific American Brasil

A mais tradicional revista mundial de divulgação científica, a Scientific American, com mais de 165 anos, reuniu credibilidade e espaço no mercado da divulgação científica. Ao longo destes anos, vem acompanhando passo a passo o progresso da ciência e da tecnologia, noticiando as últimas invenções, apontando novas tendências e prevendo futuros desenvolvimentos.

A Scientific American Brasil faz parte desse complexo de publicações pelo mundo, sendo que a Scientific American é editada em 20 países e em 16 idiomas. O público da Scientific American Brasil é principalmente o profissional com formação universitária na faixa dos 24 aos 49 anos, com interesse em ciência e tecnologia. A edição brasileira ocupa o quarto lugar em difusão, ficando atrás apenas dos EUA, Alemanha e Itália.

A Scientific American Brasil aproxima-se do discurso científico ao lançar mão da objetividade, usando mais recursos denotativos, e preocupando-se com a descrição do real. Analisando a linguagem da revista, nota-se que ela considera que seu leitor possui maior proximidade com o conhecimento científico. Além disso, utiliza como referências principalmente especialistas no assunto, e conta com muitas fontes estrangeiras, como cientistas ligados às universidades reconhecidas internacionalmente, tendo um cuidado maior em garantir a credibilidade da notícia.

Em paralelo as edições mensais, a Scientific American Brasil esporadicamente lança edições especiais com diversos artigos sobre um tema em comum. Para os amantes da física e principalmente cosmologia, algumas edições especiais são imperdíveis. Eu recomendo a leitura das edições especiais apresentadas a seguir:

A vida secreta das estrelas - Edição especial nº 13

As diferentes faces do infinito - Edição especial nº 15

Buracos negros - Edição especial nº 18

Paradoxos do tempo - Edição especial nº 21

Relatividade - Edição especial nº 24

Fronteiras da física, 2ª edição - Edição especial nº 26

O passado e o presente do cosmos, 2ª edição - Edição especial nº 27

Todos os estados da luz - Edição especial nº 29

De que é feito o universo? - Edição especial nº 34

terça-feira, 23 de novembro de 2010

Só existem dois mapas para GPS

Uma dúvida bastante comum entre as pessoas que pretendem comprar um aparelho GPS, ou até entre as que já compraram, é "qual é o melhor GPS?". Mais de um fator deve ser analisado para se obter esta resposta. Basicamente devemos qualificar o hardware do aparelho (PDA), o software de navegação e o mapa.

O PDA é simples de analisar, por exemplo, temos o tamanho da tela de 3,5", 4,3" etc., com as resoluções de 320x240, 480x272 etc., velocidade do processador de 400MHz, 500MHz etc., memória RAM de 64MB, 128MB etc. e, por fim, espaço de armazenamento em memória flash, com alguns aceitando cartões de 4GB ou mais. Dentre estes números nós sabemos que quanto maior, melhor, especialmente nos quesitos de processamento e RAM, que dão um maior desempenho ao aparelho.

O software de navegação é uma categoria bem vasta, existem diversos e em várias versões, tornando complicado experimentar todos para decidir pelo que mais agrada. Só para citar alguns nomes, temos o Destinator, Navigon, iGO, NDrive, Garmin, TomTom. Mas em uma eventual análise, como critérios de comparação podemos considerar a facilidade de uso, funções avançadas para navegação e clareza na tela do mapa como pontos favoráveis. Atualmente todos são bastante completos e a análise acaba se baseando no gosto pessoal mesmo. Outra característica interessante é quanto a personalização do software, se é possível adicionar skins, scripts etc. Por exemplo o iGO, da empresa Nav N Go, é altamente configurável e personalizável.

O terceiro fator é o mapa para a navegação. Atualmente no mundo só existem duas companhias que desenvolvem mapas digitais e que competem entre si, a europeia Tele Atlas (www.teleatlas.com) e a americana Navteq (www.navteq.com). A Tele Atlas é uma subsidiária da TomTom, fabricante de sistemas de navegação, e a Navteq é uma subsidiária da Nokia, fabricante de sistemas de telecomunicação. Como curiosidade podemos ver que o Google Maps (maps.google.com) e o Bing Maps (www.bing.com/maps) utilizam a Tele Atlas e a Navteq.

Desta forma quanto ao mapa nós não temos muita escolha, ou vai ser da Tele Atlas ou da Navteq. Alguns dos softwares de navegação aceitam operar com qualquer um dos mapas, por exemplo o iGO, facilitando a nossa vida na escolha de qual mais agrada, pois dependendo da cidade um pode ser melhor que o outro na cobertura.

Anualmente saem atualizações dos mapas, hoje a mais recente lançada pela Tele Atlas é a 2010.6 e pela Navteq é a 2010 Q2. Mas isto não quer dizer que as empresas fabricantes de aparelhos GPS irão disponibilizar estas atualizações para seus clientes, por exemplo a Aquarius eu ainda não vi liberar uma. A Tele Atlas e a Navteq não vendem mapas diretamente para o consumidor, são as empresas fabricantes dos GPS que fornecem, assim não fique muito esperançoso em receber atualizações. Felizmente temos a Internet que pode dar uma forcinha.

Mais informações complementam o software de navegação, como construções em 3D, radares, pontos de interesse, vozes etc., tudo isso fornecido pelas empresas que fabricam os aparelhos e softwares GPS.

Então, quando for escolher um GPS, não se preocupe muito com o mapa em si, verifique principalmente as capacidades do software de navegação, se há a possibilidade de trocar entre Tele Atlas e Navteq, como é a instalação do software no aparelho, se é fácil a atualização no acesso aos arquivos. Esta liberdade faz a diferença para quem pretende manter o GPS atualizado. E um hardware parrudo é bom para garantir que futuras versões ainda possam ser executadas no PDA sem sofrimento. Boa navegação!

segunda-feira, 15 de novembro de 2010

Como fazer cópia de segurança dos arquivos de um usuário

Fazer backup é indispensável, a não ser que você armazene nada em seu computador. Em um uso comum os softwares guardam diversas informações, endereços de sites favoritos, e-mails recebidos, documentos, imagens, configurações etc. Você poderá ter arquivos importantes e talvez não queira perdê-los.

Os sistemas operacionais atuais organizam os arquivos de usuário em diretórios (ou pastas) exclusivos para cada usuário. Como medida de segurança adotam ainda uma restrição de acesso para os usuários não bisbilhotarem os arquivos dos outros.

No sistema Windows Vista e 7 os diretórios particulares dos usuários ficam em "C:\Users\", no Windows XP ficam em "C:\Documents and Settings\" e no Linux em "/home/". Para cada usuário há um subdiretório com seu nome, ficando o caminho completo para seus arquivos particulares, no Windows Vista e 7 em "C:\Users\Nome do Usuário\", no XP em "C:\Documents and Settings\Nome do Usuário\" e no Linux em "/home/nome do usuário/".

Uma simples cópia de todo o conteúdo deste subdiretório garante um backup completo. Mas poderá ser um exagero pois muitos arquivos são desnecessários, como arquivos temporários e cache de navegadores e de outros softwares, por exemplo do GoogleEarth.

Nos sistemas operacionais, cada subdiretório particular de usuário possui um conjunto de mais subdiretórios que separam e organizam os arquivos em assuntos e propósitos. Os principais são mostrados a seguir.

No Windows Vista e 7 temos:

...\AppData (Pasta oculta, contém os dados de "Configurações locais" e "Dados de aplicativos")
...\Contacts
...\Desktop
...\Documents (Meus documentos)
...\Downloads
...\Favorites
...\Music (Meus documentos\Minhas músicas)
...\Pictures (Meus documentos\Minhas imagens)
...\Saved Games
...\Videos (Meus documentos\Meus vídeos)

No Windows XP temos:

...\Configurações locais (Pasta oculta)
...\Dados de aplicativos (Pasta oculta)
...\Desktop
...\Favoritos
...\Meus documentos

As pastas "AppData", "Configurações locais" e "Dados de aplicativos" servem para armazenar configurações de softwares, arquivos temporários, cache etc. São arquivos criados pelos softwares instalados e não diretamente pelos usuários. É uma boa ideia realizar cópia de segurança destas pastas, por exemplo usuários do navegador Firefox terão seus "profiles" armazenados em um caminho como "C:\Users\Nome do Usuário\AppData\Roaming\Mozilla\Firefox\Profiles\xxxxxxxx.default\". Mas apague antes os arquivos temporários e os arquivos de cache, estes ocupam muito espaço e podem atrapalhar o tamanho do backup. A ferramenta CCleaner (http://www.piriform.com/ccleaner) é uma boa ajuda neste procedimento.

No Windows 7 os arquivos temporários dos usuários ficam em "C:\Users\Nome do Usuário\AppData\Local\Temp\" e o cache do navegador Internet Explorer fica em "C:\Users\Nome do Usuário\AppData\Local\Microsoft\Windows\Temporary Internet Files\". O cache do navegador Firefox fica em algo como "C:\Users\Nome do Usuário\AppData\Local\Mozilla\Firefox\Profiles\xxxxxxxx.default\Cache\". No Windows XP os arquivos temporários dos usuários ficam em "C:\Documents and Settings\Nome do Usuário\Configurações locais\Temp" e o cache do navegador Internet Explorer fica em "C:\Documents and Settings\Nome do Usuário\Configurações locais\Temporary Internet Files". Todo o conteúdo destas pastas não precisam estar incluídos em um backup.

As pastas que armazenam os arquivos produzidos pelos usuários são, por padrão no Windows Vista e 7: "Documents", "Downloads", "Music", "Pictures" e "Videos". No Windows XP ficam concentrados em "Meus documentos". Os arquivos que estiverem nelas provavelmente serão do usuário e talvez queira tê-los em backup. Alguns usuários tem o deselegante costume de armazenar arquivos no Desktop, verifique esta pasta também. Tem mais, o Internet Explorer armazena os endereços de sites favoritos na pasta "Favorites" ou "Favoritos", desta forma verifique todas as pastas para checar se existem dados importantes do usuário.

Em um sistema Linux a estrutura de diretórios pessoais é bem mais simples e clara, principalmente para as configurações dos softwares utilizados pelos usuários. Geralmente os softwares guardam os arquivos de configuração em subdiretórios com o mesmo nome do software e iniciados com um ponto. Por exemplo, o Firefox armazena em "/home/nome do usuário/.mozilla/". As distribuições Linux também criam diretórios para organizarem os arquivos dos usuários. Podem existir os diretórios "Documentos", "Download", "Imagens", "Música", "Vídeos" etc. Os diretórios que contiverem arquivos pessoais devem ser incluídos no backup.

É muito mais prático e seguro realizar a cópia de todo o diretório pessoal do usuário, mas isso pode ocupar um espaço grande de armazenamento. É uma boa medida remover primeiro os arquivos desnecessários, como temporários e cache. Um bom costume para o usuário é manter os arquivos organizados a partir de um único caminho e não espalhados por todo o sistema. Evite armazenar arquivos no Desktop, não é um bom hábito. E sempre faça cópia de segurança.

quinta-feira, 4 de novembro de 2010

Mais uma forma de zerar a senha de um usuário do Windows

Algumas distribuições de Linux disponibilizam em seu repositório oficial de softwares o utilitário capaz de zerar as senhas dos usuários do Windows. Estou me referenciando ao "The Offline NT Password Editor", já citado em um artigo anterior (http://dan-scientia.blogspot.com/2009/12/como-zerar-as-senhas-dos-usuarios-do.html).

O arquivo executável deste utilitário chama-se chntpw e geralmente vem no pacote de mesmo nome. Caso sua distribuição não o forneça, você poderá encontrá-lo no site "http://pogostick.net/~pnh/ntpasswd/".

O chntpw é um utilitário para ver algumas informações e modificar as senhas no arquivo de dados de usuários SAM, em um Windows NT/2000. Este arquivo também é utilizado pelos Windows XP, Vista e 7.

Não é necessário saber a senha antiga para definir uma nova senha. Para que o utilitário funcione é preciso acessar o sistema Windows em modo offline, ou seja, a partir de um outro sistema que esteja operando no computador. O artigo anterior citava um CD de inicialização mas quem, por exemplo, está com o sistema Windows em um HD avulso, pode utilizar o Linux que está em sua máquina para montar este HD e realizar o procedimento.

Em um pequeno passo a passo, veja estes exemplos:

No seu sistema Linux, monte a partição que contém o sistema Windows;

# mount -t ntfs-3g -o force /dev/sda2 /mnt/ntfs/

Vá até a pasta que contém o arquivo SAM;

# cd /mnt/ntfs/Windows/System32/config/

Liste os usuários existentes no arquivo SAM;

# chntpw -l SAM

Especifique exatamente o usuário que terá a senha zerada;

# chntpw -u "Nome do Usuário" SAM

Na próxima tela escolha a opção 1 e pressione a tecla Enter. Isto irá zerar a senha do usuário, deixando-a em branco. Depois, o utilitário vai perguntar para gravar a mudança. Responda Y e pressione a tecla Enter. O resultado é a expressão OK.

Na próxima vez que este sistema Windows for iniciado, o usuário em questão estará sem senha de login.

Este método não funciona em um sistema Windows criptografado.

quarta-feira, 3 de novembro de 2010

Lançamento do Fedora 14

Ontem, dia 2/11, foi lançado o Fedora 14. O Fedora é uma distribuição do sistema operacional Linux patrocinada pela empresa Red Hat, desenvolvido pelo Projeto Fedora.

O Projeto Fedora nasceu em 2003 quando a Red Hat decidiu entregar para a comunidade livre o desenvolvimento de sua distribuição voltada ao público.

Antigamente a Red Hat mantinha duas distribuições do seu sistema Linux, uma livre para o público e outra restrita ao meio corporativo, o Red Hat Enterprise Linux. A Red Hat decidiu então dedicar-se somente a distribuição corporativa e criou o Projeto Fedora para a comunidade livre. O anúncio da versão 1.0 do Fedora deu-se em 6 de Novembro de 2003.

O Fedora é uma distribuição Linux completa, de uso geral, contendo todas as novidades do mundo do software livre. É uma distribuição sempre moderna e atualizada com a mais alta tecnologia do software livre. Na distribuição Fedora, as versões dos softwares contidos estão, em sua grande parte, entre as últimas versões lançadas.

O Fedora manteve basicamente as mesmas características do antigo Red Hat Linux, com o gerenciamento de pacotes pela ferramenta RPM. Entretanto atualmente, o Fedora possui um sistema de gerenciamento de pacotes bastante eficiente e evoluído. O Fedora faz uso o delta RPM, o qual em uma atualização de pacotes, o gerenciador efetua o download apenas das partes que diferem da versão instalada. Isto gera uma grande economia na questão da banda consumida. No momento pouquíssimas distribuições utilizam o delta RPM, entre elas Fedora, Mandriva e OpenSUSE.

A diversidade de softwares disponíveis para o Fedora é grande. Existem vários repositórios de softwares livres que disponibilizam pacotes para o Fedora. O principal é o RPM Fusion (http://rpmfusion.org/). É comum também as desenvolvedoras de softwares proprietários, as que possuam versões para o sistema Linux, disponibilizarem pacotes compatíveis com o Fedora.

Uma versão do Red Hat Enterprise Linux é sempre lançada após o lançamento de uma versão do Fedora. Assim a Red Hat aproveita as características positivas do Fedora em sua distribuição corporativa.

De acordo com o site DistroWatch, o Fedora é a segunda distribuição mais popular, atrás apenas do Ubuntu. Informação checada em Novembro de 2010.

Mais informações em:

http://fedoraproject.org/

http://distrowatch.com/table.php?distribution=fedora

http://www.redhat.com/archives/fedora-announce-list/2003-November/msg00000.html

quinta-feira, 28 de outubro de 2010

Piscar o led de uma placa de rede

Digamos que você tenha mais de uma placa de rede em seu computador e você precisa identificar a porta física de uma placa ethernet em particular.

No sistema Linux, a ferramenta ethtool com a opção -p fará com que o led correspondente de uma porta física pisque. Por exemplo, veja a linha de comando para identificar a eth0:

# ethtool -p eth0

A ferramenta ethtool é utilizada para ver e modificar os parâmetros de um dispositivo ethernet. No Fedora é disponibilizada no pacote de mesmo nome.

segunda-feira, 25 de outubro de 2010

Recuperando a senha do administrador ou usuário do Windows

Uma outra opção para o utilitário já citado neste blog (http://dan-scientia.blogspot.com/2009/12/como-zerar-as-senhas-dos-usuarios-do.html) é o Stellar Phoenix Password Recovery. Este software, com uma interface bem mais amigável, também pode zerar as senhas das contas dos usuários no sistema operacional Windows.

O Stellar Phoenix Password Recovery é compatível com o Windows 7, Vista, XP, 2003, Server (2000-2008) e 2000. Basta iniciar o computador com o CD da versão de boot do Stellar Phoenix Password Recovery e, com apenas alguns cliques do mouse, zerar as senhas das contas que necessitar.


Outras situações de quebra de senha, como senhas armazenadas em navegadores, clientes de e-mail, mensageiros instantâneos e até números seriais de registro de softwares, também é possível por este software.

O Stellar Phoenix Password Recovery não é um software gratuito mas vale a pena comprá-lo. Bastante útil em assistência técnica de computadores e computação forense. Mais informações em http://www.stellarinfo.com/password-recovery.htm.

domingo, 24 de outubro de 2010

Problema de Lógica: Família Atrapalhada

Duas avós com suas duas netas.
Dois maridos com suas duas esposas.
Dois pais com suas duas filhas.
Duas mães com seus dois filhos.
Duas solteiras com suas mães.
Duas irmãs com seus dois irmãos.
Leia meus dizeres mas de todo esse pessoal dito,
só falei de 6 pessoas, o que parece um mito!
Ninguém nasceu proscrito, com incesto ou com delito.
Não sei porque eu me agito e fico aflito.
Quem são eles eu peço a algum perito!





RESPOSTA





A figura abaixo ilustra o parentesco dos membros da família:


Cada quadrado representa um membro da família.
Cada membro possui relações distintas de acordo com cada parente. Por exemplo, uma mulher é ao mesmo tempo avó, esposa e mãe de três pessoas distintas.
Cada relação descrita no enunciado do problema possui cor única entre os envolvidos.
A letra identifica uma relação.
O filho E possui pai não citado.
O filho F possui pai não citado.
A mãe E possui um filho e uma filha de maridos diferentes (um marido não citado).
A mãe F possui um filho e uma filha de maridos diferentes (um marido não citado).
Os irmãos G são da mesma mãe mas de pais diferentes (um pai não citado).
Os irmãos H são da mesma mãe mas de pais diferentes (um pai não citado).

terça-feira, 19 de outubro de 2010

Proteção de escrita na aquisição de imagem forense

O Tableau Forensic USB Bridge modelo T8-R2 é um hardware bloqueador de escrita que permite que um dispositivo de armazenamento USB (por exemplo, pendrives e HD externos) seja conectado a um computador forense para aquisição de imagem ou análise dos dados. Os dados podem ser lidos, com proteção contra escrita, impossibilitando qualquer alteração durante a aquisição ou análise.

O T8-R2 suporta a conexão com o computador via interface FireWire ou USB. Também incorpora um visor LCD por onde são mostradas algumas informações técnicas. As informações fornecidas incluem nome do fabricante, modelo, capacidade e número serial do dispositivo USB conectado. Outras informações adicionais são fornecidas na intenção de ajudar em situações adversas.


Na computação forense este tipo de equipamento é recomendável pois os ambientes gráficos dos sistemas operacionais modernos tem o costume de montar o dispositivo automaticamente, com acesso total, de leitura e escrita. E isto pode ser um problema se o sistema executar, em segundo plano, algum processo com acesso aos dados armazenados, alterando por exemplo os metadados dos arquivos e assim prejudicando a evidência.

Em um sistema Linux é possível montar manualmente um dispositivo de armazenamento no modo de somente leitura. Este procedimento garante uma certa proteção aos dados. No sistema Windows dá um pouco mais de trabalho controlar o acesso aos dispositivos. O uso do Tableau Forensic USB Bridge torna a proteção facilitada e assegurada.

Informações oficiais sobre o Forensic USB Bridge podem ser encontradas na página da Tableau na Internet, pelo endereço http://www.tableau.com/. A marca Tableau pertence a Guidance Software (http://www.guidancesoftware.com/).

segunda-feira, 18 de outubro de 2010

Computação forense com o Sleuth Kit e Autopsy

O The Sleuth Kit (TSK) e o Autopsy são ferramentas livres para investigação digital, isto é, forense digital, que podem ser executadas em sistemas Windows, Linux, BSD, OS X e Solaris. São ferramentas para serem usadas em análise de sistemas de arquivos NTFS, FAT, HFS+, Ext2, Ext3 e outros.

O The Sleuth Kit é um conjunto de ferramentas forenses para linha de comando e o Autopsy é uma interface gráfica para estas ferramentas do TSK. O acesso à interface do Autopsy se dá por um navegador Web, o Autopsy cria um servidor Web e seus scripts geram as páginas da interface.

A instalação em um sistema Linux é bastante simples. Algumas distros disponibilizam os pacotes compilados, em outras podemos instalar a partir dos pacotes fontes disponíveis em http://www.sleuthkit.org/. Os arquivos para baixar são sleuthkit-x.y.z.tar.gz e autopsy-x.yz.tar.gz.

Na instalação a partir dos pacotes fontes, o conteúdo do Sleuth Kit deve ser extraído para um diretório qualquer e dentro dele executar os comando padrões de compilação: ./configure, make, make install. Dependências extras poderão ser requeridas e se tudo der certo, já está pronto. O conteúdo do Autopsy deve ser extraído para um diretório definitivo e basta executar os comandos ./configure e make. Durante sua instalação o Autopsy pede que se determine um diretório base para onde serão armazenados os casos. Após a conclusão da instalação, o servidor Web do Autopsy precisa ser iniciado e no navegador digita-se o endereço "http://localhost:9999/autopsy".

A interface do Autopsy é composta por várias páginas, por estas páginas o investigador vai criar um caso, adicionar as peças que serão examinadas e por fim realizar os diversos exames disponíveis. A seguir um pequeno passo a passo de como inserir uma unidade de armazenamento para a análise forense:

Na página inicial, crie um novo caso e dê um nome à ele. Opcionalmente pode-se preencher com a descrição, nome dos investigadores etc.

Em seguida, adicione um computador ao caso. Opcionalmente preencha a descrição e outras informações que julgar necessárias.

Por fim, adicione uma imagem da unidade de armazenamento deste computador que será investigado. A imagem não é necessariamente um arquivo imagem criado com um disk dump, pode ser também o caminho para o dispositivo físico, caso a unidade esteja conectada diretamente na controladora de disco ou via adaptador USB.

Adicionando uma imagem no Autopsy

Com estes três passos concluídos podemos realizar a investigação forense na unidade de armazenamento. Basicamente temos a análise da unidade e a linha do tempo das atividades dos arquivos.

Página de análise de imagens adicionadas

As partições reconhecidas recebem as identificações com letras de unidade, como no Sistema Windows. Selecionando a letra da unidade de armazenamento e clicando no botão "Analyze" vamos para uma página onde temos diversas opções de análise:

O botão "File Analysis" abre um conjunto de páginas onde podemos navegar pelo sistema de arquivos, possibilitando ver o conteúdo dos arquivos alocados e não alocados.

Página de análise de arquivos

O botão "Keyword Search" abre a página com um mecanismo de busca de palavra chave para o espaço alocado e não alocado.

O botão "File Type" abre um conjunto de páginas que fornecem uma ferramenta de separação dos arquivos pelo tipo e com a possibilidade de extração e recuperação de todos os arquivos, alocados e não alocados, para o diretório base onde os casos são armazenados.

Retornando à página inicial de análise das imagens, temos o botão "File Activity Time Lines". Clicando neste botão, abre-se um conjunto de páginas que fornecem ferramentas para a criação e visualização de uma linha do tempo das atividades de acesso dos arquivos. A linha do tempo é criada a partir das informações dos metadados dos arquivos e pode conter inclusive arquivos não alocados que foram recuperados.

Página de visualização da linha do tempo

Esta é uma pequena descrição de algumas das ferramentas contidas na dupla Sleuth Kit e Autopsy. Tratam-se de dois excelentes conjuntos de softwares que atendem em quase todas as necessidades do investigador forense e pode-se considerar indispensável em um laboratório forense computacional.

domingo, 17 de outubro de 2010

Realismo nas fotografias com HDR

A visão humana possui uma grande capacidade de adaptação e também é mais sensível a intensidade de luz do que as cores. Esta característica nos possibilita enxergar por completo um cenário que contenha áreas com pouca iluminação e muita iluminação.

As máquinas fotográficas digitais não possuem esta capacidade pois o sensor fotográfico trabalha em uma frequência chamada LDR (Low Dynamic Range) que faz com que áreas com muito contraste da imagem percam informações sobre as tonalidades de cores.

Na fotografia, o alcance dinâmico é medido na diferença dos valores de exposição (EV) entre as partes mais brilhantes e mais escuras de uma imagem. Um incremento de uma unidade de EV equivale ao dobro de exposição ou quantidade de luz. É estimado que os olhos humanos possam enxergar em um alcance dinâmico com aproximadamente 24 EV diferentes, enquanto que uma câmera digital pode capturar no máximo um alcance dinâmico com entre 6 a 9 EV diferentes.

Para resolver este problema, foi desenvolvido o HDR. O HDR (High Dynamic Range ou Grande Alcance Dinâmico) é um método que pode ser utilizado em todo tipo de imagem digital, como gráficos em jogos de computador, vídeo e fotografia digital, para alargar o alcance dinâmico, que é o espaço entre o valor mais escuro e o mais claro de uma imagem. O HDR é usado para corrigir imagens que possam vir a perder detalhes de cor por conta de problemas com a exposição.

Diferença entre uma imagem HDR (cima) e normal (baixo)

O HDR é a mesclagem de três ou mais fotos do mesmo assunto com diferentes valores de exposições. Ou seja, usa-se fotos super-expostas, fotos sub-expostas e uma foto feita com a fotometria normal. Quanto mais fotos, mais detalhes serão registrados. Por exemplo, fixe a câmera em um tripé e configure a máquina para fotografar com exposição normal (0 EV), uma sub-exposta (-2 EV) e outra super-exposta (+2 EV).

Imagem HDR formada por quatro imagens com exposições diferentes

Com o auxílio de um programa de computador específico as imagens são mescladas automaticamente com o usuário definindo os ajustes do mapeamento de tons. Os programas capazes de trabalhar com HDR são: Dynamic Photo HDR, Photomatix, Photoshop, Hugin e CinePaint. Dentre outros.

Embora nem todas as câmeras compactas possuam um modo manual, quase todas elas possuem o recurso de Compensação de Exposição. Ele é representado nas câmeras digitais com o símbolo positivo e negativo divididos por uma barra, ou também representado pela sigla EV. Esse recurso existe para que o fotógrafo minimize situações onde o fotômetro interno da câmera possa a vir a se enganar. Se o objeto fotografado ficar muito escuro na imagem, é só colocar a compensação de exposição em +1 e a câmera vai deixar entrar um pouco mais de luz para realizar a foto. O contrário também é possível sendo que nas fotos muito claras é necessário regular a compensação para -1.

As fotos no formato JPEG possuem uma profundidade de cor de 8-bit por canal. Isso quer dizer que são processadas cores de 0 a 255, do preto ao branco, em cada canal. Arquivos de fotos com profundidade de cor de 16-bit possuem mais detalhes e fidelidade de cores, inclusive do preto e do branco, pois contém mais informações de cor em cada canal. Por causa desta limitação, fotos HDR ficam melhores se produzidas a partir de imagens em formato RAW.

Para visualizar imagens HDR em telas e monitores normais, impressão a tinta ou outros métodos de visualização que têm um alcance dinâmico limitado, utiliza-se a técnica de "tone mapping", ou mapeamento de tons, em que o grande alcance dinâmico é comprimido numa curta faixa de luminosidade, ou num curto alcance dinâmico. Imagens criadas utilizando-se essa técnica comumente tornam-se imagens surreais se um grande alcance dinâmico estiver comprimido num curto alcance dinâmico.

sábado, 9 de outubro de 2010

Como alterar o nome do proprietário e organização da licença no Windows

Você comprou um computador com o Windows instalado e percebeu que na janela Sobre o Windows aparece na licença o nome da empresa que vendeu o computador ou outro nome qualquer. Se você deseja alterar o nome do proprietário em que o Windows mostra-se licenciado, então este artigo pode ajudá-lo. É possível alterar o nome e a organização da licença do Windows.

Para alterar as informações é necessário editar o registro, clique no botão Iniciar, depois em Executar (ou pressionando as teclas Windows+R), digite regedit.exe no campo Abrir e execute-o. Se você receber a janela do Controle de Conta de Usuário (no Windows Vista ou 7), clique em Sim. No Editor do Registro procure pela seguinte chave:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion

Agora encontre as chaves RegisteredOwner e RegisteredOrganization no painel direito. Dê um duplo clique sobre elas para alterar os valores e digite o nome que desejar. Após as mudanças, simplesmente saia do Editor do Registro.

Para verificar as mudanças, digite winver.exe na janela Executar para abrir a janela Sobre o Windows.

Esta dica funciona em todas as versões do Windows, incluindo o Windows 7 e Vista.

domingo, 26 de setembro de 2010

Personalizando o iGO 8 no aparelho de GPS

O iGO é um software de navegação para dispositivos GPS produzido pela empresa Nav N Go (http://www.navngo.com/). O iGO roda em dispositivos com o sistema operacional Microsoft Windows CE e as versões mais recentes incluem suporte ao sistema do iPhone.

Diversos dispositivos pessoais de navegação (PND), ou também chamados de assistentes pessoais de navegação (PNA), utilizam o Windows CE com o iGO, por exemplo os GPS da Aquarius e da Airis. Este artigo aborda o iGO 8, precisamente a versão 8.3.4, em algumas das muitas possibilidades de configurações. Esta versão é a mais comum encontrada nos aparelhos comercializados no Brasil.

O software iGO 8 vem instalado em um diretório na memória flash do dispositivo. Como exemplo vamos adotar "\iGO8\". Dentro deste diretório encontra-se o sub-diretório "\iGO8\content\" onde ficam guardados os arquivos relacionados aos mapas etc. No "\iGO8\content\" temos os sub-diretórios:

"\iGO8\content\building\", para os arquivos de construções 3D, com extensões .3dl e .3dc;
"\iGO8\content\dem\", para os arquivos de modelo digital de elevação, com extensão .dem;
"\iGO8\content\lang\", para os arquivos de tradução da língua, em arquivos zipados;
"\iGO8\content\map\", para os arquivos de mapa, com extensão .fbl;
"\iGO8\content\poi\", para os arquivos de pontos de interesse, com extensão .poi;
"\iGO8\content\scheme\", para os arquivos de esquema de cor, em arquivos zipados;
"\iGO8\content\skin\", para os arquivos de aparência do software;
"\iGO8\content\speedcam\", para os arquivos de radares, com extensões .txt e .spdb;
"\iGO8\content\voice\", para os arquivos de voz, em arquivos zipados.

Para acrescentar ou atualizar arquivos de mapa, língua, pontos de interesse, radares, voz etc. basta copiar os novos arquivos para seus respectivos sub-diretórios. Na próxima inicialização do iGO os novos arquivos serão automaticamente reconhecidos e incorporados no software.

No mesmo nível hierárquico do diretório "\iGO8\content\" podem existir também os sub-diretórios, entre outros:

"\iGO8\cars\", para arquivos de imagens de veículos, com extensão .bmp;
"\iGO8\extension\", para arquivos de extensão de funcionalidades do software e da skin;
"\iGO8\gfx\", para arquivos de gráficos, por exemplo veículos em 3D.

Em um exemplo prático vamos instalar a skin Gurjon, uma das mais famosas para o software iGO 8. Após o download do seu pacote completo (para a versão 6.17 trata-se do arquivo "GJ6.17p_da_fullpack.rar") fazemos a extração do seu conteúdo para a pasta "\iGO8\". Esta skin contém arquivos para os sub-diretórios "\iGO8\content\scheme\", "\iGO8\content\skin\" e "\iGO8\extension\". Se desejar usar, nesta skin, imagens de veículos sobre a seta de direção, basta incluir os arquivos bitmap (não inclusos no pacote da skin) no sub-diretório "\iGO8\cars\". Nas opções do software iGO 8 aparecerá o botão para troca da skin (máscara), é só clicar e reiniciar o software para a skin entrar em ação.

Outro exemplo prático é a instalação de veículos 3D no lugar da seta de direção. Os arquivos de modelos gráficos para veículos 3D ficam geralmente no sub-diretório "\iGO8\gfx\", com extensões .mdl e .tex. Para utilizá-los é necessário adicionar algumas linhas no arquivo "\iGO8\sys.txt". Este arquivo contém as definições de configuração do iGO 8. Um exemplo de parte do conteúdo, do arquivo "\iGO8\sys.txt", para definição do veículo 3D é apresentado a seguir:

[map]
3d_scale_carmodel=1
3dcarsizemin=5000
3dcarsizemax=15000
3dcarsizemul=35000

[3d]
car_day=WPSilver.mdl
car_night=WPSilver.mdl
ghost_day=WPSilver.mdl
ghost_night=WPSilver.mdl

Na seção [map] o parâmetro "3dcarsizemin" define o tamanho mínimo do veículo, o parâmetro "3dcarsizemax" define o tamanho máximo, ambos para variações no zoom do mapa, e o parâmetro "3dcarsizemul" define a relação de tamanho do veículo com a largura da via no mapa. A seção [3d] define em seus parâmetros os nomes dos arquivos para cada situação de mapa, diurno, noturno etc.

A estrutura do software iGO 8 é bem simples, um backup é facilmente realizado apenas copiando todos os diretórios e arquivos para um local seguro. Na restauração deste backup basta copiar tudo de volta. A personalização também é simples, como visto nos exemplos deste artigo. Pela Internet encontra-se muitas dicas e arquivos para download, para o software iGO.

Mas atenção, antes de fazer qualquer alteração no iGO é altamente recomendável fazer uma cópia de segurança de todo o conteúdo da memória flash do seu dispositivo GPS. É bem provável que nas tentativas de personalização o software tenha seu funcionamento prejudicado e a restauração do backup vai trazer de volta a ordem das coisas.

Para ter acesso ao conteúdo da memória flash do dispositivo GPS, e isso pode depender do dispositivo, podemos utilizar, quando sob conexão por cabo USB, o software Windows Mobile Device Center (ou o Microsoft ActiveSync para o Windows XP e anteriores), ou se ativado no dispositivo, o acesso direto como se fosse uma unidade de armazenamento removível. Em sistema Linux, por exemplo, é feito desta forma, como uma unidade de armazenamento removível. Também é possível, se o conteúdo estiver em um cartão removível (cartão SD ou MicroSD), retirar este cartão e conectá-lo diretamente no leitor de cartões de seu computador.

Aqui no Brasil os dispositivos GPS trazem somente os mapas do Brasil. Os mapas de outros países, como Argentina, Estados Unidos e países Europeus, devem ser adquiridos separadamente. Entretanto, skin, veículos, temas etc. poder ser encontrados gratuitamente pela Internet.

Os exemplos demonstrados aqui não são a única forma para a solução dos casos apresentados. Como o software iGO é muito flexível, é possível que existam mais de uma solução para determinadas personalizações.

sexta-feira, 24 de setembro de 2010

Problema de lógica: 15 minutos nas ampulhetas

Com uma ampulheta de 7 minutos e outra de 11, como marcar 15 minutos?





RESPOSTA





Inicie o tempo usando as duas ampulhetas. No momento que a ampulheta de 7 minutos chegar ao fim, vire-a para um novo início. No momento que a ampulheta de 11 minutos chegar ao fim terão se passado 4 minutos na ampulheta de 7 minutos, então, vire novamente a ampulheta de 7 minutos para somar mais 4 minutos aos 11 minutos já transcorridos.

segunda-feira, 20 de setembro de 2010

Sites pelo mundo com notícias referentes ao Linux

Informação na Internet é o que não falta. Na vastidão da Internet existem ótimos sites com notícias referentes ao sistema operacional Linux. Alguns são versões online de jornais e revistas impressas, com excelente conteúdo editorial.

Segue uma lista do que eu considero como os melhores sites de notícias Linux:

Linux Format
http://www.linuxformat.co.uk/

Linux Magazine, da QuarterPower Media
http://www.linux-mag.com/

Linux Magazine, da Linux New Media
http://www.linux-magazine.com/

The Linux Foundation
http://www.linuxfoundation.org/

Linux Journal
http://www.linuxjournal.com/

Linux.com
http://www.linux.com/

LinuxInsider
http://www.linuxinsider.com/

Linux Today
http://www.linuxtoday.com/

Linux Security
http://www.linuxsecurity.com/

LinuxPlanet
http://www.linuxplanet.com/

domingo, 19 de setembro de 2010

Rodando jogos no DOSBox

O software DOSBox é um emulador de PC Intel x86, com suporte a som, gráfico, mouse, joystick etc., preparado para rodar jogos e demais softwares do sistema MS-DOS, os quais simplesmente não podem ser executados nos computadores e sistemas operacionais modernos. Possui um prompt de comando no estilo do DOS original, com apenas alguns comandos, sendo suficiente para instalar e executar muitos dos jogos para DOS. É um software gratuito e possui versões para os principais sistemas operacionais.

Neste artigo demonstro a versão para Linux e, como exemplo, a instalação e execução do jogo 11th Hour. Na página oficial do DOSBox na Internet (http://www.dosbox.com/) existe uma listagem dos jogos compatíveis, são centenas deles.

A distro Fedora disponibiliza o pacote para o DOSBox em seu repositório oficial, assim sua instalação torna-se simples. Na primeira execução o DOSBox cria seu arquivo de configuração no diretório pessoal do usuário. Neste arquivo, algo como ~/.dosbox/dosbox-0.74.conf, existem diversas linhas separadas em seções para a configuração das características do hardware emulado. A configuração padrão já é suficiente mas se desejar alguma em específico basta alterar as linhas envolvidas. A última seção, com a marca [autoexec], equivale ao arquivo autoexec.bat do sistema DOS.

Uma funcionalidade interessante do DOSBox é que podemos definir um diretório real, do sistema hospedeiro, para ser a raiz de uma unidade de armazenamento, por exemplo a unidade C. Desta forma, no prompt de comando do DOSBox podemos digitar o comando "mount C ~/DOSBOX" e então o diretório DOSBOX, localizado no diretório pessoal do usuário, será a unidade C no sistema DOS emulado.

Outra funcionalidade é de ser possível montar múltiplas imagens ISO na mesma letra de unidade e usar a combinação de teclas CTRL+F4 para trocar as imagens, selecionando a que ficará ativa. Como se estivesse trocando um disco na unidade física.

Na inicialização do sistema DOS emulado, fica disponível uma unidade de armazenamento contendo os comandos básicos. Identificada pela letra Z, esta unidade é algo como um ramdisk, como tinham os disquetes de instalação do Windows 95 ao Millenium.

Para exemplificar, vamos para um passo a passo da instalação e execução do jogo 11th Hour, no DOSBox. A partir das mídias do jogo foram geradas imagens ISO. Seguem os passos:

1. Criar uma pasta para conter os ISOs e outra para ser o drive C (neste exemplo são ~/ISOs e ~/DOSBOX).

2. Executar o DOSBox:

$ dosbox

3. No prompt do DOSBox, montar o drive C:

mount C ~/DOSBOX

4. No prompt do DOSBox, montar as imagens na unidade D:

imgmount D ~/ISOs/11hdisk1.iso ~/ISOs/11hdisk2.iso ~/ISOs/11hdisk3.iso ~/ISOs/11hdisk4.iso -t iso

5. Instalar o jogo (operar normalmente como se estivesse no sistema DOS).

d:
go.bat

6. Executar o jogo:

c:
cd GAMES\11H
go.bat

Depois, quando for somente executar o jogo, basta seguir os passos 2, 3, 4 e 6. Ou, dando mais um exemplo de funcionalidade do DOSBox, use somente a linha de comando abaixo:

$ dosbox ~/DOSBOX/GAMES/11H/GO.BAT -c "IMGMOUNT D ~/ISOs/11hdisk1.iso ~/ISOs/11hdisk2.iso ~/ISOs/11hdisk3.iso ~/ISOs/11hdisk4.iso -t iso" -exit

O DOSBox é muito simples e eficiente. Para sair do DOSBox digite o comando exit e para liberar o cursor do mouse para seu desktop, use CTRL+F10. O argumento -fullscreen inicia o DOSBox no modo tela cheia, ou use as teclas Alt+Enter para alternar entre os modos. É possível também reduzir a velocidade do processamento emulado para aproximar o desempenho dos computadores antigos. Nas páginas manuais há explicações para os outros comandos e teclas de atalho.

Turismo virtual pelo GPS

Atualmente os principais softwares de navegação para aparelhos GPS oferecem a visualização dos mapas em 3D e, com isso, a projeção de alguns monumentos em 3D. As construções mais famosas do mundo estão entre os monumentos incluídos nos softwares para GPS.

Desta forma, podemos realizar um turismo virtual por estes locais famosos. Procurando pelo endereço ou pela coordenada a imagem do monumento aparece na tela do aparelho, desde que o software esteja configurado para navegação em 3D.

Veja a seguir algumas imagens de monumentos famosos. São imagens produzidas pelo software Nav N Go iGO8 com mapas e demais detalhes dos Estados Unidos e Europa, além do Brasil que já vem incluso pelo vendedor do aparelho.

* clique na imagem para visualizá-la em tamanho real.

Os monumentos são, na ordem apresentada: a Torre do Relógio (Big Ben) no Palácio de Westminster e a roda-gigante London Eye; a Casa Branca em Washington D.C.; o Coliseu de Roma; o Corcovado; a Torre Eiffel; o Palácio do Louvre; a Catedral de Notre-Dame; a Catedral Metropolitana de São Paulo; e a Praça de São Pedro e a Basílica de São Pedro no Vaticano.

Experimente realizar este turismo virtual em seu aparelho GPS, passeie e veja as construções mais famosas do mundo. Mas lembre-se, é necessário conter instalado, no software do aparelho, os mapas e construções dos países onde os monumentos se localizam.

segunda-feira, 13 de setembro de 2010

Níveis de execução em sistemas Linux

O termo nível de execução (runlevel) refere-se ao modo de operação em sistemas operacionais que implementam o padrão System V de inicialização. Um nível de execução é apenas um número que especifica o estado do sistema, no que diz respeito ao processo init, após a inicialização. Somente um nível é executado na inicialização do sistema, eles não são executados sequencialmente.

Convencionalmente existem sete níveis de execução, do 0 ao 6, que são designados para definir estados basicamente de mono ou multi usuário, modo texto ou modo gráfico e serviços iniciados. A exata configuração de cada nível varia dentre as diversas distribuições Linux. Um modelo padrão é apresentado abaixo:

Nível   Estado

0       Desligar a máquina (halt);
1       Modo texto, mono-usuário;
2       Modo texto, multi-usuário, básico, sem rede;
3       Modo texto, multi-usuário, completo, com rede;
4       Não usado;
5       Modo gráfico, multi-usuário, completo, com rede;
6       Reiniciar a máquina (reboot).

Este modelo padrão é seguido pela distribuição Red Hat e principais descendentes (CentOS, Fedora) e também pelo openSUSE. A distribuição Debian não faz distinção entre os níveis 2 a 5. A distribuição Slackware utiliza o nível 4 para o modo gráfico multi-usuário e não utiliza os níveis 2 e 5.

Um nível de execução pode ser definido através do arquivo /etc/inittab, onde há uma linha para especificar o nível padrão, também pode ser definido através de um parâmetro para o kernel em sua inicialização, ou então, pelo comando telinit (ou init) quando o sistema estiver em execução. Para saber em qual nível está o sistema, podemos utilizar o comando "runlevel" ou "who -r".

Um nível não usado é geralmente disponibilizado para o administrador definir o que desejar, em inicializações específicas. Porém nada impede de alterar os níveis pré-configurados do sistema.

Se você está familiarizado com o sistema Microsoft Windows, o nível de execução é semelhante a escolha que se faz no menu de opções avançadas durante o boot do Windows, onde existem as opções de "Modo seguro", Modo seguro com rede", "Modo seguro com prompt de comando" etc., que normalmente aparece após um desligamento inadequado ou pressionando a tecla F8 durante o boot.

quinta-feira, 9 de setembro de 2010

Não use uma rede desconhecida

Uma grande tentação quando se tem um computador com placa de rede sem fio é a de conectar-se gratuitamente em uma rede que forneça acesso a Internet.

É comum, encontrarmos na vizinhança, um sinal de rede sem fio desprotegido de senha. Talvez existam usuários distraídos que não configuram adequadamente seus pontos de acesso mas, também podem existir pessoas querendo, na verdade, roubar informações de vítimas.

Da mesma forma que não devemos digitar senhas pessoais em computadores de estranhos, por exemplo, em lan-house, porque corremos o risco de um software malicioso capturar tudo o que digitamos, o risco de usar uma rede desconhecida é muito maior.

Um computador que fique no meio de uma rede, servindo de passagem para o tráfego de dados, é capaz de monitorar o conteúdo que passa por ele. É basicamente isto que ocorre quando usamos uma rede desconhecida para ter acesso a Internet. Toda a transferência de dados entre nosso computador e a Internet se faz por uma rede controlada por um administrador que pode ter más intenções.

Então não use uma rede desconhecida, principalmente quando for acessar uma página ou e-mail que necessite de sua senha pessoal. O mesmo cuidado é válido para redes gratuitas de praças públicas ou espaços comerciais, apesar destas serem, a princípio, confiáveis.

O recomendável é apenas usar o seu computador e sua conta de Internet para acessar sites que requerem senhas pessoais, principalmente site de bancos! Em acessos por redes públicas limite-se apenas a visitas a sites de uso genérico. Todo o cuidado é pouco.

segunda-feira, 30 de agosto de 2010

Problema de Lógica: As pérolas do rajá

Um rajá deixou às suas filhas certo número de pérolas e determinou que a divisão se fizesse do seguinte modo: a filha mais velha tiraria 1 pérola e um sétimo do que restasse; viria, depois, a segunda e tomaria para si 2 pérolas e um sétimo do restante; a seguir a terceira jovem receberia 3 pérolas e um sétimo do que restasse. E assim sucessivamente. A divisão proposta pelo velho rajá era justa e perfeita. Feita a partilha, cada uma das herdeiras recebeu o mesmo número de pérolas. Pergunta-se: Qual o número de pérolas? Quantas são as filhas do rajá?






RESPOSTA






Seja x o número total de pérolas do rajá e q1, q2, q3 etc. as quantidades para cada filha. Portanto x = q1+q2+q3 etc.

A primeira filha retirou 1 pérola mais 1/7 do restante:

q1 = 1 + 1/7 * (x-1) = (x+6)/7

Então restaram:

x - q1 = x - ((x+6)/7) = (6x-6)/7

A segunda retirou 2 pérolas mais 1/7 do restante:

q2 = 2 + 1/7 * ((6x-6)/7 - 2) = (6x+78)/49

Poderíamos agora calcular o restante e a quantidade para a terceira filha mas não é necessário. Como sabemos que as herdeiras receberam o mesmo número de pérolas, então, q1=q2=q3 etc. Assim, podemos igualar a quantidade q1 com q2 e encontrar o valor do número total de pérolas:

q1 = q2
(x+6)/7 = (6x+78)/49
x = 36

As pérolas eram em número de 36 e foram repartidas por 6 filhas. A primeira tirou 1 pérola e mais um sétimo de 35, isto é, 5; logo, tirou 6 pérolas e deixou 30. A segunda, das 30 que encontrou, tirou 2 mais um sétimo de 28, que é 4; logo, tirou 6 e deixou 24. A terceira, das 24 que encontrou, tirou 3 mais um sétimo de 21, ou 3. Tirou portanto 6, deixando 18 de resto. A quarta, das 18 que encontrou, tirou 4 mais um sétimo de 14. E um sétimo de 14 é 2, recebendo também 6 pérolas. A quinta encontrou 12 pérolas e retirou 5 e um sétimo de 7, isto é, 1; logo tirou 6. A sexta filha recebeu, por fim, as 6 pérolas restantes.

sábado, 28 de agosto de 2010

Magnitude de objetos celestes

A magnitude é uma medida do brilho de um objeto celeste. Números mais altos de magnitudes representam objetos menos brilhantes, números mais baixos de magnitudes representam objetos mais brilhantes e números negativos de magnitude indicam brilho extremo.

O primeiro sistema de medida do brilho de objetos celestes foi desenvolvido pelo astrônomo grego Hiparco, no século II a.C. Ele verificou que as estrelas poderiam ser classificadas de acordo com o brilho que apresentavam quando observadas a olho nu. Sem meios de medir sua radiação, ele escolheu visualmente as mais brilhantes e as definiu como de grandeza 1. As um pouco mais fracas, chamou de grandeza 2, e assim por diante até chegar às estrelas que mal podia ver, que classificou como grandeza 6.

Naquela época a intensidade visual era associada ao tamanho dos objetos, desta forma utilizava-se a palavra grandeza. Atualmente, a intensidade visual está relacionada à distância de um objeto, não tendo relação com seu tamanho e brilho intrínseco e o termo adotado passou a ser magnitude. O brilho que um objetos celeste aparenta ter, quando visto a olho nu a partir da Terra, determina sua magnitude aparente ou visual. Já a medida real ou do seu brilho intrínseco é definida pela magnitude absoluta.

O sistema quantitativo atual foi desenvolvido em 1856 pelo astrônomo inglês Norman Robert Pogson, que procurou criar um sistema que concordasse tanto quanto possível com as antigas medições qualitativas feitas pelos gregos. Com o auxílio de um fotômetro, Pogson elaborou um modelo matemático para dar conta do sistema de magnitudes.

A expressão que dá a magnitude visual ou aparente de uma estrela em termos de sua luminosidade é conhecida como fórmula de Pogson e é escrita como:

m = -2,5 log F + C

Onde m é a magnitude aparente ou visual da estrela, F é a luminosidade da estrela recebida por um detector colocado sobre a superfície da Terra, e C é a constante usada para definir o zero da escala de magnitude, baseada na magnitude aparente da estrela Vega.

A equação de Pogson mostra que a escala de magnitudes é uma relação logarítmica. A regra utilizada por esta escala é tal que uma diminuição sucessiva de uma unidade em magnitude representa um aumento no brilho aparente por um fator de 2,512. Deste modo uma diferença de 5 magnitudes corresponde a um aumento de 100 vezes no brilho do objeto celeste. Trata-se da medição feita por Pogson através do fotômetro, onde observou-se que a diferença de brilho entre uma estrela de grandeza 1 e uma de grandeza 6 era de aproximadamente 100 vezes.

A magnitude aparente não nos dá uma ideia do brilho verdadeiro de um objeto, que às vezes parece fraco devido à grande distância que se encontra, enquanto outros nos parecem muito brilhantes porque estão muito mais perto. A magnitude absoluta é o brilho que os objetos apresentariam, se estivessem a uma mesma distância, padronizada em 10 parsecs (1 parsec = 30,857x10^12 km). Deste modo, vemos que a magnitude absoluta mede quão brilhante um objeto apareceria para nós se ele fosse tirado de sua posição verdadeira e colocado a uma distância padrão de 10 parsecs, ou aproximadamente 32,6 anos-luz.

Se a distância real de uma estrela é d parsecs, sua magnitude absoluta M e sua magnitude aparente m estão relacionadas pela equação:

M = m - 5 log (d/10)

Abaixo uma tabela com as estrelas mais brilhantes de acordo com a magnitude aparente e respectiva magnitude absoluta e distância à Terra:

Estrela      magnitude      magnitude      distância à Terra
             aparente       absoluta       em parsecs

Sol          -26,74          4,83            0,00000485
Sirius        -1,46          1,43            2,64
Canopus       -0,72         -5,63           96
Arcturus      -0,04         -0,29           11,24
Vega           0,03          0,58            7,76
Rigel          0,18         -6,72          240
Procyon        0,34          2,63            3,49
Betelgeuse     0,42         -6,05          197

A visão humana, sem instrumentos, é capaz de enxergar objetos até a sexta magnitude, com o auxílio de um binóculo ou de um telescópio o alcance torna-se maior, por exemplo o telescópio Hubble detecta objetos até a trigésima magnitude aparente.

quinta-feira, 26 de agosto de 2010

Execução de aplicações gráficas remotas pelo redirecionamento do X11 com o SSH

O protocolo SSH possui a habilidade de redirecionar seguramente aplicações gráficas, do ambiente X Window, para uma conexão SSH criptografada. Assim, a aplicação gráfica é executada na máquina remota e sua janela é exibida na máquina local, em um tráfego de rede protegido.

Se a máquina remota possui o sistema Linux, que é o se será abordado neste artigo, a implementação do "X11 Forwarding" torna-se simples e os clientes poderão ser tanto sistemas Linux como Windows.

Para isto poder acontecer são necessários alguns pré-requisitos. Primeiro, na máquina remota o servidor X deve estar em estado de execução. Segundo, o sistema da máquina remota precisa estar configurado para permitir o acesso por SSH. E finalmente, o servidor SSH (SSHd) da máquina remota e o cliente SSH da máquina local precisam estar configurados para permitir o X11 Forwarding.

O primeiro e o segundo pré-requisitos não serão abordados neste artigo, vamos partir do terceiro.

A configuração do servidor SSH se faz pelo arquivo "/etc/ssh/sshd_config". Neste arquivo encontram-se duas linhas que devem ter seus argumentos como mostrado abaixo, para ativar o redirecionamento do X11:

X11Forwarding yes
X11DisplayOffset 10

O parâmetro "X11Forwarding" marcado com "yes" especifica que o redirecionamento do X11 está permitido. O parâmetro "X11DisplayOffset" especifica o primeiro valor disponível para redirecionamento do X11 pelo servidor SSH, prevenindo que o SSHd interfira nos servidores X11 reais. O padrão é 10.

Basta reiniciar o serviço do SSHd para concluir esta parte da configuração da máquina remota. Agora vamos para o cliente, que é a máquina local onde irá receber as janelas das aplicações gráficas.

Em um cliente com sistema Linux, existem algumas formas de ativar o X11 Forwarding em uma sessão SSH. Uma é editar o arquivo de configuração "/etc/ssh/ssh_config" e alterar duas linhas para "ForwardX11 yes" e "ForwardX11Trusted yes". Esta forma ativa o recurso permanentemente para todos os usuários que forem utilizar o SSH. Uma outra forma é diretamente na linha de comando do SSH, com os parâmetros -X ou -Y. O parâmetro -X equivale ao "ForwardX11 yes" e o parâmetro -Y ao "ForwardX11Trusted yes".

Temos então duas classes de clientes, com o redirecionamento não-confiável do X11 e com o redirecionamento confiável do X11, respectivamente -X e -Y. O redirecionamento confiável do X11 significa que o cliente confia no servidor X, no qual está conectando pelo SSH, e que então neste servidor X não há qualquer programa malicioso como keylogger, screenshot ou algo que vá espionar sua conexão. O redirecionamento não-confiável do X11 significa uma conexão para um sistema desconhecido ou inseguro. Este tipo de conexão gera um cookie com o xauth e utiliza uma extensão de segurança para limitar o acesso. Algumas aplicações podem não funcionar neste modo não-confiável por causa destas limitações na segurança.

Assim, em um cliente com sistema Linux devemos executar o cliente SSH para abrir um terminal do sistema remoto e qualquer aplicação gráfica que for executada por este terminal será aberta na área de trabalho do cliente, que é a máquina local. Segue um exemplo de linha de comando para o SSH:

$ ssh -CY -c blowfish 192.168.1.102

Outros parâmetros podem ser utilizados na linha de comando do SSH, de acordo com a necessidade ou preferência. Por exemplo o parâmetro -C ativa a compactação de dados na transferência pela rede, o parâmetro -c especifica a cifra de criptografia. Este assunto sai do escopo deste artigo, é só um lembrete.

Em um cliente com sistema MS Windows são necessários um servidor X, para receber as janelas das aplicações remotas, e um cliente SSH, para estabelecer a conexão segura com o servidor remoto.

Um servidor X para Windows compatível com o X11 é o Xming (http://www.straightrunning.com/XmingNotes/). Sem entrar em muitos detalhes, pois o procedimento é fácil, instale e execute o Xming. Seu ícone aparecerá na barra de tarefas. Posicionando o cursor sobre seu ícone, o software mostra o endereço do servidor X no cliente Windows, algo como "Xming Server:0.0".

O PuTTY (http://www.chiark.greenend.org.uk/~sgtatham/putty/) é uma implementação gratuita de um cliente SSH para Windows. Não requer instalação, basta executá-lo para abrir sua janela de configuração. Na janela de configuração do PuTTY, na categoria "Session" escreva o nome da máquina ou o IP em "Host Name (or IP address)" e a porta se for o caso. Na categoria "Connection/SSH/X11" marque a quadrícula "Enable X11 forwarding" e em "X display location" escreva sem as aspas "localhost:0.0", que é o endereço do servidor X instalado no cliente Windows. Concluída esta configuração, basta clicar no botão "Open" para o PuTTY abrir a janela do terminal remoto. Qualquer aplicação gráfica que for executada por este terminal será aberta na área de trabalho do cliente Windows.

Como visto, pela ferramenta SSH é possível não só executar aplicações em modo texto como também aplicações gráficas. A administração de sistemas remotos torna-se bastante completa com este recurso a mais. Consulte as documentações das ferramentas citadas neste artigo para mais informações.

segunda-feira, 23 de agosto de 2010

I don't want directions

Adaptando o mundo moderno aos costumes antigos...


* clique na imagem para exibi-la em tamanho natural.

Referência: XKCD (http://xkcd.com/783/)

Usando o msmtp com o Mutt para envio de anexos

O Mutt é um programa que permite aos usuários ler, salvar e compor mensagens de e-mail, em um ambiente em modo texto. Programas deste tipo são formalmente chamados de MUA (Mail User Agent).

Para o envio de e-mail pela linha de comando com arquivos binários em anexo, o resultado é mais garantido quando utiliza-se o Mutt para formatar a mensagem. O Mutt trata adequadamente os tipos MIME e assim o recebimento do arquivo binário é devidamente reconhecido pelo programa cliente do destinatário.

O Mutt pode trabalhar com o programa msmtp para o envio das mensagens, ao invés de sua função interna de SMTP ou do sendmail, para isso é necessária uma simples configuração no seu arquivo ~/.muttrc, desde que o programa msmtp esteja devidamente configurado (veja em: http://dan-scientia.blogspot.com/2010/08/enviando-email-pela-linha-de-comando.html).

Um exemplo de configuração para o ~/.muttrc é apresentado a seguir:

set sendmail = "/usr/bin/msmtp -a gmail"
set realname = "Nome do Usuario"
set from = usuario@gmail.com
set use_from=yes
set envelope_from=yes

Toda a construção do e-mail será agora pela linha de comando do Mutt. Os principais parâmetros de entrada são:

-a arquivo
     Anexa um arquivo na mensagem usando MIME.
-b endereço
     Especifica o endereço de e-mail para cópia oculta (Bcc).
-c endereço
     Especifica o endereço de e-mail para cópia (Cc).
-H rascunho
     Especifica um arquivo de rascunho com os dados do cabeçalho e corpo da mensagem.
-i arquivo
     Especifica um arquivo texto para incluir no corpo da mensagem.
-s assunto
     Especifica o assunto da mensagem.
--   Marca o final dos parâmetros. Obrigatório quando usa-se o parâmetro -a pois separa os nomes dos arquivos dos endereços de e-mail.

Para compor uma nova mensagem pode-se usar uma linha de comando semelhante a abaixo:

$ mutt -c fulano@provedor.com.br -i arquivo.txt -s "Assunto da mensagem" -a foto.jpg -- destinatario@provedor.com.br

Com o comando acima o Mutt abrirá um editor para confirmar os itens de cabeçalho e corpo da mensagem. Para automatizar o envio do e-mail e assim não abrir o editor do Mutt, podemos utilizar uma mensagem pré preparada em um arquivo texto, para compor o corpo da mensagem, e direcioná-la para o programa Mutt:

$ cat mensagem.txt | mutt -c fulano@provedor.com.br -s "Assunto da mensagem" -a foto.jpg -- destinatario@provedor.com.br

O próximo exemplo faz uso do parâmetro -i para inserir o texto no corpo da mensagem porém direciona o dispositivo nulo (ele retorna uma indicação de final de arquivo) na edição do Mutt, para automatizar o envio.

$ mutt -c fulano@provedor.com.br -i mensagem.txt -s "Assunto da mensagem" -a foto.jpg -- destinatario@provedor.com.br < /dev/null

E o exemplo a seguir utiliza o parâmetro -H que recebe um arquivo texto contendo toda a estrutura para o cabeçalho e corpo do e-mail, chamado arquivo de rascunho:

$ mutt -H email.txt -a foto.jpg < /dev/null

O conteúdo para este arquivo de rascunho segue o modelo abaixo:

To: fulano@provedor.com.br, sicrano@provedor.com.br
Cc: beltrano@provedor.com.br
Bcc: johndoe@provedor.com.br
From: usuario@gmail.com
Subject: Assunto do e-mail

Texto do corpo da mensagem.

Outra opção para automatizar o envio é redigir a mensagem na própria linha de comando:

$ echo "Texto do corpo da mensagem." | mutt -c fulano@provedor.com.br -s "Assunto da mensagem" -a foto.jpg -- destinatario@provedor.com.br

O Mutt é um programa cliente de e-mail completo, com diversas diretivas para configuração e personalização. Seu ambiente, em modo texto, é controlado completamente pelo teclado e possui tudo o que é necessário para um software cliente de e-mail. Como visto neste artigo, somente por sua linha de comando já é possível enviar um e-mail automaticamente, isto pode ser útil em um shell script.

Se você acabar entrando no ambiente de edição do Mutt, será necessário conhecer as teclas dos comandos para operar o ambiente. Quem sabe num próximo artigo.

Mais informações em http://www.mutt.org/ ou nas páginas manuais do Mutt.

domingo, 22 de agosto de 2010

Enviando email pela linha de comando usando o msmtp

O msmtp é um cliente de SMTP que em seu modo de operação padrão transmite um e-mail para um servidor SMTP, por exemplo para seu provedor, que faz a entrega. Pode ser usado por um programa cliente de e-mail (MUA) e é compatível com o programa sendmail. Dentre outros atributos o msmtp pode trabalhar com diversos métodos de autenticação e com múltiplas contas de e-mail.

O msmtp é executado pela linha de comando e pode ser configurado por arquivo alcançável em todo o sistema (/etc/msmtprc), por arquivo restrito ao usuário (~/.msmtprc) ou diretamente por parâmetros na linha de comando. Um exemplo de conteúdo para o arquivo de configuração é o apresentado a seguir:

account gmail
host smtp.gmail.com
port 587
timeout off
protocol smtp
auto_from off
from usuario@gmail.com
maildomain gmail.com
auth on
user usuario
password suasenha
tls on
tls_starttls on
tls_certcheck off
logfile ~/.msmtp.log
syslog LOG_MAIL

account default: gmail

Este exemplo serve para o servidor SMTP do Gmail. Múltiplas contas podem ser configuradas neste arquivo, identificadas pela linha "account nome_da_conta". É recomemdável proteger o arquivo de configuração do msmtp com permissões de leitura e escrita somente para o próprio usuário (0600, -rw-------), senão a senha ficará exposta aos outros usuários.

O msmtp possui muitas opções para sua linha de comando mas basicamente o comando pode ser "msmtp " se o arquivo de configuração existir. Com este comando simples o programa inicia um prompt para a entrada do conteúdo do e-mail, para o cabeçalho e corpo. A combinação de teclas "Ctrl+D" encerra esta edição. Entretanto, pode ser mais prático utilizar um arquivo texto contendo toda esta estrutura de mensagem e direcioná-lo para a entrada padrão do msmtp. Um exemplo de como pode ser este arquivo texto é apresentado abaixo:

To: fulano@provedor.com.br, sicrano@provedor.com.br
Cc: beltrano@provedor.com.br
Bcc: johndoe@provedor.com.br
From: usuario@gmail.com
Subject: Assunto do e-mail

Texto do corpo da mensagem.

A linha de comando do msmtp ficaria então desta forma:

$ msmtp --read-recipients < email.txt

Para não utilizar um arquivo de configuração é necessário passar todos os dados do servidor SMTP pela linha de comando do msmtp. Aproveitando o exemplo da conta do Gmail mostrado anteriormente, a seguir está o exemplo da linha de comando equivalente:

$ msmtp --host=smtp.gmail.com --port=587 --timeout=off --protocol=smtp --auto-from=off --from=usuario@gmail.com --maildomain=gmail.com --auth=on --user=usuario --tls=on --tls-starttls=on --tls-certcheck=off --syslog=LOG_MAIL --read-recipients < email.txt

A senha do servidor não é passada pela linha de comando, ela é solicitada pelo msmtp em um prompt semelhante ao abaixo:

password for usuario at smtp.gmail.com:

Outros parâmetros poderão ser úteis, o parâmetro --file=arquivo é usado para indicar outro arquivo de configuração ao invés do padrão e --account=nomedaconta para indicar outra conta de e-mail ao invés da conta padrão.

O conteúdo de uma mensagem de e-mail é sempre em texto ASCII, porém é possível anexar um conteúdo binário no corpo da mensagem. Um arquivo binário pode ser codificado para o formato ASCII por ferramentas como o uuencode ou o uuenview, este último mais poderoso. A linha de comando para um e-mail com anexo binário pode ser como no exemplo a seguir:

$ (cat email.txt; uuenview foto.jpg) | msmtp --read-recipients

Neste exemplo tanto o conteúdo do arquivo email.txt como o resultado da codificação do arquivo foto.jpg são canalizados para a entrada padrão do comando msmtp. Contudo, aqui tem uma ressalva, o programa msmtp não trata garantidamente os tipos MIME e, dependendo do programa cliente ou provedor que irá receber a mensagem, o arquivo anexo poderá não ser reconhecido no recebimento. Por exemplo, em testes feitos por mim, contas do Gmail e do Yahoo receberam adequadamente mas a conta do Terra não. A solução garantida é utilizar outra ferramenta para formatar o e-mail e trabalhar em parceria com o msmtp, no envio. Uma boa ferramenta para linha de comando é o Mutt, que será descrito em um próximo artigo.

Mais informações em http://msmtp.sourceforge.net/ ou nas páginas manuais do msmtp.

quinta-feira, 19 de agosto de 2010

O conhecimento comum e o equilíbrio de Nash

O conceito do conhecimento comum é a base na teoria dos jogos. A clássica teoria dos jogos assume que todo conhecimento é "conhecimento comum", exceto por partes específicas de informações que são percebidas assimetricamente, para justificar o conceito do equilíbrio de Nash. Um fato é de conhecimento comum se todos sabem o fato, todos sabem que todos sabem o fato, todos sabem que todos sabem que todos sabem o fato, e assim infinitamente. Se é de conhecimento comum que todos os jogadores são racionais, ou escolhem a melhor reação, então em condições apropriadas eles produzem um equilíbrio de Nash.

Por vários anos foi pensado que a existência de conhecimento comum da racionalidade para os jogadores no jogo era fundamental. Acontece que em um jogo com dois jogadores o conhecimento comum da racionalidade não é necessário como uma condição para estratégias que levem ao equilíbrio de Nash. Um exemplo é o dilema do prisioneiro, onde a pior estratégia para ambos conduz a um melhor resultado cooperativo, um equilíbrio de Nash.

Dilema do prisioneiro:

Dois suspeitos, A e B, são presos pela polícia. A polícia tem provas insuficientes para os condenar, mas, separando os prisioneiros, oferece a ambos o mesmo acordo: se um dos prisioneiros, confessando, testemunhar contra o outro e esse outro permanecer em silêncio, o que confessou sai livre enquanto o cúmplice silencioso cumpre 10 anos de sentença. Se ambos ficarem em silêncio, a polícia só pode condená-los a 6 meses de cadeia cada um. Se ambos traírem o comparsa, cada um leva 5 anos de cadeia. Cada prisioneiro faz a sua decisão sem saber que decisão o outro vai tomar, e nenhum tem certeza da decisão do outro. A questão que o dilema propõe é: o que vai acontecer? Como o prisioneiro vai reagir?

Existem alguns jogos divertidos que possuem equilíbrios de Nash que dependem do nível de recursão de "quem sabe de quem sabe o que". Os próximos problemas exploram este assunto.

O pai e os filhos:

Um pai honesto mas brincalhão disse a seus dois filhos responsáveis que ele colocou R$ 10, R$ 100, R$ 1.000 ou R$ 10.000, com igual probabilidade, em um envelope e dez vezes o tal dinheiro em outro envelope. Ele deu um envelope para cada filho. Um filho encontrou R$ 10.000 e o segundo R$ 1.000. O pai chamou cada um a parte e perguntou particularmente se ele gostaria de trocar. Cada um disse "sim". O pai relatou cada uma destas respostas para o outro irmão. Quantas vezes precisará o pai repetir este processo até que um dos filhos diga "não"?

As mulheres de Sevita:

Os Sevitãos vivem como famílias monogâmicas em um pequeno vilarejo onde literalmente todos sabem o que todos estão fazendo, literalmente em todo o tempo. A única assimetria informacional é que nenhuma esposa sabe se seu próprio marido é mulherengo, embora toda esposa saiba a conduta de todos os outros maridos no vilarejo. A punição para um marido mulherengo é ser marcado pela sua esposa com um M marrom na testa durante à noite enquanto dorme. Esta punição é somente imposta pela esposa que soube com convicção que seu marido é culpado.

Desnecessário anunciar, nenhum marido jamais foi marcado. Mas um dia uma mulher de outro vilarejo fez uma visita. Indo embora no dia seguinte, ela confidenciou para as mulheres de Sevita que agora há pelo menos um mulherengo no vilarejo. Nada aconteceu durante cinco dias. Mas na sexta noite um certo número de maridos foram marcados com o M marrom. Quantos maridos foram marcados? Quantos maridos mulherengos há neste lugar? Como pode isto acontecer, já que a mulher indo embora não disse para as mulheres de Sevita nada que elas já não saibam - que agora há pelo menos um mulherengo no meio delas?

O problema da Cor dos Olhos postado neste blog também é sobre este assunto (http://dan-scientia.blogspot.com/2009/08/problema-de-logica-cor-dos-olhos.html).