Bard patch do Nethack entrou no dNethack!

Já tem vários anos que não jogo Nethack direito, mas um tempo atrás tentei fazer um patch para acrescentar mais uma classe no jogo, o Bardo. Link do Bard patch feito por mim.

Esses dias estava olhando umas variantes do Nethack, no campeonato do Junethack, e estava olhando as classes do dNethack quando achei uma classe chamada Troubadour… fui olhar no Github e veja só, eles acrescentaram meu patch no jogo! 😀

bard_dnethack

DHCP Windows

Problema: o servidor Windows de uma rede deu problema, atrapalhando estações que estavam sendo ligadas durante o período.

Solução que chegou a ser cogitada: montar um CLUSTER Windows para o servidor DHCP, para garantir que outro servidor entrasse no ar caso o primeiro apresentasse problema algum dia.

Lendo Gmail com Gnus & Emacs

"Mãe! Esse cara usa EMACS!"

Estou seguindo o tutorial em http://www.emacswiki.org/emacs/GnusGmail mas já encontrei várias dificuldades. Primeiro, ao usar este trecho indicado no tutorial:

(add-to-list ‘gnus-secondary-select-methods ‘(nnimap “gmail”
(nnimap-address “imap.gmail.com”)
(nnimap-server-port 993)
(nnimap-stream ssl)))

Tive que colocar assim:

(setq gnus-secondary-select-methods ‘(nnimap “gmail”
(nnimap-address “imap.gmail.com”)
(nnimap-server-port 993)
(nnimap-stream ssl)))

Segundo, o emacs reclamava do parâmetro nnimap. Resolvi isso lendo esta mensagem: http://lists.debian.org/debian-user/2001/12/msg00597.html

Basicamente, o trecho acima teve que ser mudado também para:

(setq gnus-secondary-select-methods ‘((nnml “”) (nnimap “gmail”
(nnimap-address “imap.gmail.com”)
(nnimap-server-port 993)
(nnimap-stream ssl))))

Agora aparentemente funciona, mas não aparece um “grupo” de news no gnus referente ao Gmail, só os newsgroups normais que acesso do servidor de news. Continuando a pesquisar…

Histórias de Usuários 2: o terminal, o scanner e o e-mail

Vocês já viram uma tela de um sistema de mainframe em modo caracter? É uma coisa mais ou menos assim:

Sistema de mainframe em tela de terminal. Não olhe muito pra imagem não ficar grudada na sua retina.

Sistemas deste tipo são relíquias dos tempos dos mainframes, do tempo em que o ambiente de informática de uma empresa não era feito de uma estação na mesa de cada funcionário e alguns servidores em uma sala especial, mas de apenas um computador na empresa (o mainframe) e de alguns terminais nas mesas dos funcionários, que não eram computadores de verdade, mas apenas um monitor e um teclado conectados remotamente ao computador “de verdade”. Também eram chamados de “terminais burros” exatamente pelo motivo de não terem uma CPU, sendo apenas extensões do mainframe.

Apesar de não se usar mais terminais burros por aí (pelo menos não que eu tenha notícia), sistemas como este ainda existem e são usados, principalmente em empresas grandes e/ou antigas, bancos, e outras. Hoje em dia há alternativas como por exemplo sistemas web que são meras “cascas” para estes sistemas, mas também ainda há situações em que o usuário ainda acessa o sistema em modo texto mesmo. Para isso, se usam programas chamados “emuladores de terminal”, que interpretam o protocolo de comunicação do sistema como se fossem um dos antigos “terminais burros”, dando ao usuário moderno pelo menos um mínimo de comodidade: acessar um sistema legado em modo texto, mas de dentro de uma janela rodando na sua estação moderna.

Emulador de terminal para Windows. Note a barra de botões.

Bom, passada esta introdução, contarei mais uma historinha de atendimento a usuário. No século passado, em fins da década de 90, eu trabalhava em um lugar onde os usuários acessavam sistemas desse tipo. As estações dos usuários rodavam Windows 98 ou 95. Se bem me lembro, o emulador de terminal usado era chamado EXTRA!, da Attachmate.

Pouco tempo antes haviam sido instalados alguns scanners nas estações de alguns usuários, junto com o software que vem de brinde, um programa de OCR básico. Uma usuária me telefonou perguntando se tinha como scanear um documento para ser enviado pelo e-mail. Eu perguntei pelo telefone se ela queria scanear o documento como uma imagem e enviá-lo como tal, ou se ela queria colar na mensagem o texto que estava no documento (perguntei isto para ver se ela iria querer usar o OCR ou não). Era a segunda opção. Como ia ser bem complicado ensiná-la a usar o programa de OCR pelo telefone, pois ela nunca tinha usado, achei melhor ir lá em pessoa. Além do que eu mesmo ainda não tinha mexido no tal programa, e poderia levar um tempo achando a melhor configuração, redigitando alguma palavra que não foi corretamente reconhecida… enfim.

Chegando lá, ela me passou uma folha de papel: uma impressão de uma tela dos sistemas de mainframe, acessados pelo emulador de terminal. Ela tinha feito uma consulta em um dos sistemas legados, imprimiu a tela do terminal com as informações da consulta, e queria scanear aquela impressão, passar pelo OCR, e por fim enviar o texto da consulta pelo e-mail.

Eu pedi para ela consultar o sistema novamente, selecionei a tela do mesmo, cliquei em copiar, abri o programa de e-mail e colei o texto. Mais um usuário satisfeito.

CACTI plugin architecture in Debian

Instalando o CACTI plugin architecture no Debian (usando a versão do testing do CACTI, 0.8.7e neste momento). O plugin architecture não faz parte do pacote Debian e precisa ser instalado manualmente, com algumas adaptações à instalação do Debian.

Ao aplicar o patch no diretório do CACTI (/usr/share/cacti/site), seguindo estas instruções, dá erro ao patchear o arquivo include/global.php. Então este arquivo foi copiado manualmente dos arquivos que vêm junto com o patch para /usr/share/cacti/site/include.

Mais algumas alterações são necessárias, conforme eu descobri nesta thread. O que eu fiz:

  • Editei o arquivo /usr/share/cacti/site/include/global.php (na linha 22, nesta versão), trocando
    $config['url_path'] = '/';
    por
    $config['url_path'] = '/cacti/';
  • Ainda no arquivo global.php, (na linha 202, nesta versão) troquei
    include($config["library_path"] ."/adodb/adodb.inc.php");
    por
    include("/usr/share/php/adodb/adodb.inc.php");

Por enquanto foi só isso. Depois vou instalar alguns plugins e ver se está tudo funcionando.

Installing CACTI plugin architecture in Debian (using the testing version, CACTI 0.8.7e at this moment). The plugin architecture don’t come installed in the Debian package, needing to be installed manually, with some adjustments as described below.

I applied the patch in CACTI directory (/usr/share/cacti/site), following these instructions, and got an error when patching file include/global.php. So this file was manually copied from the patch files to /usr/share/cacti/site/include.

Some more adjustments were needed, as I learned in this thread. This is what I did:

  • Edited the file /usr/share/cacti/site/include/global.php (line 22, in this version), replaced
    $config['url_path'] = '/';
    with
    $config['url_path'] = '/cacti/';
  • Still in global.php, (line 202, in this version) replaced
    include($config["library_path"] ."/adodb/adodb.inc.php");
    with
    include("/usr/share/php/adodb/adodb.inc.php");

That’s it. Now I will try adding some plugins and see if it all works well.

Histórias de Usuários

Hoje, organizando uns arquivos velhos que tinha guardado, achei um texto com alguns relatos meus de dez anos atrás, quando comecei a trabalhar na área de informática e a maior parte do tempo eu fazia atendimento a usuários. Isso no tempo dos Windows 95 e 98, e com usuários que não tinham recebido nenhum treinamento de informática.

Os relatos são do final dos anos 90, quando eu trabalhei como administrador de rede em um certo lugar que contava com várias unidades em outras cidades, e por causa disso, a maioria dos atendimentos de suporte a usuário eram feitos via telefone mesmo.

Caso 1

Telefonou uma pessoa dizendo que estava imprimindo, mas na impressora HP só saía “sujeira”. Geralmente isso acontecia porque alguns computadores tinham um chaveador de impressora, e o que devia ir para uma impressora matricial foi para uma jato de tinta. Também haviam computadores com duas portas paralelas (de impressora), então podia ser configuração errada: o driver de HP imprimindo para a LPT2 ao invés da LPT1 ou vice-versa.

Por isso, perguntamos logo de cara se aquele micro tinha chaveador de impressora; “não” foi a resposta. Aí perguntamos: “Tem duas impressoras instaladas nesse micro?”

A usuária pediu um momento, afastou a boca do telefone e gritou:

“Ô fulana, tem duas impressoras nesse micro que eu estou usando?”

Caso 2

Uma usuária estava tomando um curso de um sistema para Windows 95. Só que as máquinas do curso estavam configuradas para trabalhar em rede, portanto ao ligar aparecia a tela de logon, pedindo nome de usuário e senha. Como a usuária nunca tinha visto essa tela (só tinha usado máquinas fora da rede), ela chamou o professor dizendo que tinha uma tela estranha… pedindo uma senha…

O professor, já sabendo o que era, disse: “Tecle ESC pra sair dessa tela”.

A usuária: “Aqui só tem OK e CANCELAR”.

Caso 3

Usava-se o Lotus Notes como sistema de correio eletrônico. De tempos em tempos, os usuários recebiam uma mensagem sobre “renovação do certificado Notes” e que existe uma data limite para a renovação. Geralmente eles ligavam para perguntar o que é isso, e daí o administrador Notes explicava o que fazer.

Acontece que, quando expira a data limite e o usuário não solicitou a renovação do certificado, ele não consegue acessar mais seu correio… e o adm. Notes tem de deletar o usuário e recriá-lo, mas precisa saber da senha do usuário (ou assim me explicaram os administradores do Notes, na época). Uma coisa chata de se perguntar ao usuário, mas enfim… só se chegava a essa situação porque o próprio usuário passou meses recebendo a mensagem sobre o certificado e não o renovou.

Depois de muita conversa o pobre administrador do Notes descobriu que o usuário estava fazendo o seguinte: todas as vezes que via a mensagem do certificado, ele alterava a senha. (existia uma mensagem semelhante, que pede para o usuário trocar a senha dele em um certo prazo — mas isso não tem nada a ver com o certificado).

Finalmente, o usuário foi dizer pro adm. Notes qual era a senha dele, explicando assim pelo telefone: “Fulano, minha senha é o seguinte… zero-nove-zero-nove-zero-nove, mas primeiro eu vou pra esquerda, depois eu vou pra direita”.

Tradução (obtida depois de mais vários minutos de conversa): Sabe qual era finalmente a senha do cara? o90909 (“ó”-nove-zero-nove-zero-nove). Ele chamou a tecla O (“ó”) de zero. E o caso de direita-esquerda era o seguinte: ele digitava a tecla O no lado esquerdo do teclado (parte alfanumérica), depois ia para a parte direita do teclado e digitava o 90909 restantes.

No meio da conversa toda, o usuário tentou explicar assim, para o já confuso administrador Notes: “Esse zero aqui, onde tem no teclado, i-zero-pê…”

Caso 4

Ao perguntar para um funcionária porque os formulários dela eram preenchidos todos à máquina de escrever, ao invés de com o computador, recebi a resposta:

“Minha impressora não tem Word nem Excel.”

Atualização: relendo este caso 4 agora, eu me lembrei porque a usuária deu esta resposta: é que a impressora dela era matricial, ainda muito comum naquela época, e portanto não imprimia documentos feitos em programas para Windows. Ou seja, ela não podia imprimir nada feito em Word ou Excel naquela impressora.