terça-feira, 30 de outubro de 2018

Mas isso é defeito ou característica?

A versão em inglês desta frase é muito conhecida por quem usa programas de computador: “is it a bug or a feature?”. Ela roda pela área de informática há muito tempo. Pode causar algum espanto o uso da palavra “bug” (inseto) para indicar um defeito. Mas, na computação, há uma base histórica e anedótica para isso. Reza a lenda (e há documentação) que, quando os computadores ainda usavam válvulas eletrônicas e relés eletromecânicos, houve certo dia um mal funcionamento inesperado em uma máquina. Após buscar a causa do problema, verificou-se que um inseto se introduzira entre as lâminas de um relé do computador, causando o mau contato deletério.

O primeiro “bug” foi, assim, literal e um evento mecânico. Com a crescente complexidade da programação, além de eventuais erros físicos em equipamentos, erros de programação passaram a ser muito frequentes. Um programa complexo é de difícil depuração. Mesmo com todo o cuidado do programador, é provável que erros e incoerências tenham escapado. Por extensão do que ocorreu com o relé e o inseto, os erros de programação passaram a ser chamados “bugs”, e o processo de examinar cuidadosamente o programa para livrá-lo dos eventuais erros “debugging” – ou seja, “desinsetização”.

Além dos diversos tipo de erros que podem estar ocultos num programa, ele pode apresentar características inesperadas, introduzidas a propósito no programa, ou, simplesmente, decorrência de alguma inconsistência ou de um “bug”. Um dito irônico afirma que, uma vez detectada a existência de um erro, se ele for convenientemente documentado no sistema, evoluirá e passará a ser considerado uma “característica”. No processador M6800 da Motorola havia uma instrução de máquina não documentada e que, se executada, faria o processador simplesmente desistir de prosseguir e passar a se comportar como um simples contador. O pessoal havia a denominado como “pare e pegue fogo” (HCF,“halt and catch fire” em inglês). Provavelmente esqueceram-se de removê-la após o fim da fase de projeto.

Enfrentamos esse tipo de problema em situações as mais diferentes do nosso dia a dia. Se algo é reconhecido como insuficiente ou gerador de risco, pode-se tentar consertá-lo ou, saindo pela tangente, avisar os usuários que “não é bom” usar determinado recurso, porque pode redundar em dor de cabeça. Nos mapas antigos, por exemplo, as regiões desconhecidas e inexploradas eram marcadas como sendo áreas em que “há dragões”, ou seja, melhor seria não ir para aqueles lados: um erro transformado em característica. Quem quiser prosseguir, que o faça por sua própria conta e risco.

O risco, aliás, é sempre inerente à pesquisa – não se faz investigação sem correr algum risco, mas há que manter em mente a necessidade de não criar riscos adicionais pela simples dificuldade em depurar o que fizemos, ou de não gerar situações que saiam do controle. 

O simples ato de tentar prever tendências e resultados, mesmo que executado com plena isenção, pode envolver metodologias e amostras nem sempre controláveis nas condições disponíveis. 

Mas, como somos todos humanos e falíveis, sempre podemos lançar mão de alguma explicação posterior, que transforme o que pareceria uma falha metodológica ou de aplicação, numa interessante “característica inesperada”. Mas a quem sofreu as consequências, não alivia saber se elas foram devidas a um “bug” ou a uma “feature”.


====
O "bug" do Mark II em pessoa!

https://en.wikipedia.org/wiki/Software_bug



terça-feira, 16 de outubro de 2018

'Há ainda muito a ser feito', Jon Postel

Há versões sobre o ânimo original da Internet. Opto pela que parece-me acomodar dados e fatos. A Internet nasce como sucessora da Arpanet, projeto de rede encomendado à ARPA (Advanced Research Projects Agency) e financiado pelo DoD (Departamento de Defesa Norte-Americano). O recurso que sustentou o projeto é de origem militar. Mas o resultado, almejado pelos líderes do projeto e cientistas envolvidos, no ambiente e mentalidade dominantes nos anos 60 em círculos intelectuais nos EUA, foi uma rede totalmente aberta, sem controle central, sem censura e sem restrições. Leonard Kleinrock, um dos pais do projeto, tem em sua sala na UCLA (Universidade da Califórnia, Los Angeles) placa que marca a inauguração da Arpanet em 29 de outubro de 1969, ano em que também houve Woodstock...

Kleinrock continua ativo na UCLA. Além dele, muitos foram fundamentais no projeto, a começar por J.C.R. Licklider, diretor da ARPA à época, que escreveu textos que anteveem o futuro das redes. Vale a pena uma consulta rápida sobre seus textos e seu perfil.

Tive a sorte de poder encontrar três outras personagens fundamentais. Claro que há muitas mais. Centro-me nessas porque constituem o eixo central, o tripé mais conhecido. Vint Cerf, hoje “Evangelista Internet” na Google, que junto com Robert Kahn escreveu o TCP/IP, protocolo que se firmou como o de escolha para redes amplas, Steve Crocker, que serviu até 2018 como Presidente da ICANN e que assina em abril de 1969 o primeiro RFC (Request For Comments), série aberta e acessível que contem toda a documentação sobre a rede, incluindo os padrões definidos e... Jon Postel. Postel nasceu em 1943 e faleceu em 16 de outubro de 1998, há exatos 20 anos. Foi um baluarte técnico e dos conceitos da rede. Batalhou por uma rede aberta, descentralizada, sem controle nem burocracia, baseada em colaboração e confiança. Postel confundia-se com a IANA (Internet Assigned Numbers Authority) na tarefa de distribuir os endereços IP necessários ao funcionamento da rede e era o editor dos RFC, o organizador dos documentos e discussões sobre a Internet. Era ele também quem delegava domínios, como os de código de país. Em abril de 1989 delegou, sem maiores liturgias, o .br ao time técnico e acadêmico que operava a rede brasileira. Bastava-lhe concluir que a rede local estava ancorada onde havia entusiasmo e serviço à comunidade, para fazer a delegação. Era fácil reconhecer Postel: a indefectível mochila às costas, longas barbas e melenas, e sandálias de couro – o arquétipo comum dos técnicos “de raíz” da época. Um sujeito acessível, mas convicto do que pensava, portanto turrão. Manter o que ele defendeu é, em parte, a razão de ser do decálogo do CGI, lançado em 2009. A Internet que Postel queria era uma rede distribuída, com um núcleo sólido mas simples e agnóstico. A ação ocorreria nas bordas, a cargo dos usuários, conteúdos, serviços. Hoje vê-se uma concentração de poder no centro da rede, o que pode afetar sua neutralidade. Se os usuários passarem a ter sua atividade monitorada, ou sugerida pelo centro, isso pode ser ruim e perigoso. Talvez os riscos da atual centralização forcem o pêndulo do poder a voltar de novo para a periferia da rede.

PS. No youtube.com há um vídeo curto, de Vint Cerf, “I remember IANA”. Vale a pena vê-lo.


Material adicional: RFC 2458 - "I Remember IANA", em:
https://tools.ietf.org/html/rfc2468
https://www.youtube.com/watch?v=h2SpygwimA8&t=143s
https://www.internetsociety.org/grants-and-awards/postel-service-award/ten-year-tribute-jon-postel/



http://www.postel.org/remembrances




terça-feira, 2 de outubro de 2018

Boas Maneiras

A forma de convivência mais segura não é, ao contrário do que possa parecer, a existência de leis que nos obriguem à civilidade e à lhaneza, mas algo mais profundo e cultural, que nos constranja a seguir uma etiqueta social de convívio. Mais importante que uma lei que nos mande ceder o lugar a um ancião ou a uma grávida é termos a convicção moral de que isso é o correto a fazer.

O convívio na Internet segue na mesma linha. Sendo uma rede composta de milhares de redes autônomas independentes que aceitam voluntariamente integrar-se num único corpo, a cooperação e colaboração entre todas é vital para que a colcha de retalhos resultante seja operacional, eficiente e segura. 

Apenas como exemplo, lembremos como funciona a descoberta de rotas na Internet: como uma mensagem, que mando de meu computador a um distante alguém, chegará ao seu destino? O “mágico” que opera a proeza é um padrão, com mais de 20 anos de existência, chamado BGP (Border Gateway Protocol), o protocolo de borda. O BGP orienta a uma rede que, numa espécie de confidência vicinal, informe às suas vizinhas o que sabe e o que ela contêm, ao mesmo tempo que recebe esse tipo de informação das vizinhas. A troca de informações é propagada e gera uma tabela de roteamento que define caminhos e, passo a passo, levará a mensagem ao destino. 

Há muitas outras minúcias no roteamento da Internet, mas essa descrição simplista mostra claramente como funciona a colaboração: os dados andam na rede porque seus integrantes cooperam e repassam o que sabem aos vizinhos, criando rotas dinâmicas e eficientes. 

O lado complexo e obscuro fica por conta dos detalhes, tradicional residência do Tinhoso... Sempre os mal-intencionados podem se valer da confiança que receberam de seus pares, para fraudar o bom comportamento da rede toda, seja disseminando informações falsas afetando rotas e topologia, seja fazendo-se passar por outrem para atacar alguém na rede. O dilema dos técnicos e operadores é como resolver (ou minimizar) essas ameaças, sem romper com os princípios fundadores da rede. Afinal, a Internet é conservadora em termos de princípios.

A Internet Society (ISOC), uma das instituições mais tradicionais, foi fundada em 1992 e funciona também como suporte administrativo ao IETF (Internet Engineering Task Force). A ISOC lançou uma iniciativa para, preservando as boas características da rede, diminuir o espaço de ação dos malfeitores: MANRS (Mutually Agreed Norms for Routing Security), algo como “normas mutuamente acordadas para a segurança do roteamento”. Os iniciados na área pronunciarão o acrônimo em inglês como “maners”, ou seja “maneiras”. Boas maneiras. 

Há vasta informação sobre o MANRS na Internet (em www.manrs.org). Se todos os operadores de redes autônomas implementarem as medidas que o MANRS prescreve, é bem provável que o número de ataques de negação de serviço e quetais diminua. E há a boa notícia de que muitos já aderiram e novos continuam a chegar. O NIC.br, que opera os Pontos de Troca de Tráfego no país, assinou com a ISOC um memorando de entendimentos para apoiar a disseminação do MANRS. São tempos em que necessitamos cada vez mais de “boas maneiras”, tanto na rede como na sociedade, para preservar, ainda, alguma esperança.


www.manrs.org

terça-feira, 18 de setembro de 2018

Temperança


Vivemos tempos de sensibilidades exacerbadas e do pipocar de emoções que rapidamente assumem o controle. Talvez seja uma consequência não desejada, que advém do fato muito positivo de que mais e mais estamos todos em contato via rede, e mais e mais falamos. Pode ser que estejamos testando nossa voz e seu alcance. Ou que estejamos experimentando a embriaguez da visibilidade.

Acabamos de ver, ao vivo, o incêndio que devorou tanto da nossa história. Por toda a parte, manifestações de pesar e de solidariedade, e o clamor de providências mas agora tardias: “casa arrombada... tranca na porta”. Claro que hoje é mais fácil salvar textos e ideias digitalizando-os. A velha ocupação dos copistas, que preservaram até nós tantos documentos inestimáveis, ficou bem fácil com a tecnologia que temos. Ou nem tanto...

Como bem comentou recentemente Vint Cerf, há riscos de um apagão gigantesco na história porque os dados preservados dependem também de se preservar o ambiente digital que permitirá recuperá-los – quantos dispositivos, programas, sistemas operacionais já não se perderam nessas poucas décadas? No caso do Museu, mesmo com a digitalização possível de material, o que se perdeu fisicamente é irrecuperável.

Conteúdo e contexto vieram à baila de novo quando li que uma importante comunidade de desenvolvedores de “software” aberto decidiu banir de manuais e do próprio código a expressão “master-slave” (mestre e escravo, em tradução literal).

Lembrei-me das aulas de eletrônica nos anos 70 quando aprendi o que era “flip-flop”, circuito de comutação e de memória. Existe em várias configurações, uma delas a de “master-slave”, que descreve uma operação em que parte do circuito comanda o contexto, e outra parte segue servilmente.

O conceito de “escravo” é algo nefasto e que já deveria estar totalmente removido da sociedade, mas o “escravo” do circuito em questão é apenas uma função não associável a qualquer imoralidade humana. Ao contrário, penso, detectar um problema oriundo do sentido original é uma forma de reviver a dor de mazelas que a humanidade busca intensamente remediar.

Do ponto de vista etimológico, sempre me ensinaram que a língua é dinâmica e que evolui ao talante de seus usuários. Seria “formidável” (e pedante) fazer as palavras voltarem à etimologia original. Ah, note-se que usei “formidável” em sua semântica primeira: “aquilo que mete medo, que é assustador”.

Eliminar palavras inadequadas levou-me a outra lembrança: Z, o filme premiado de Costa Gavras, trata do assassinato do deputado e ativista grego Gregório Lambrakis em 1963. Como mostra a história, em meio ao cenário de tumultos e de conflitos, houve o golpe militar que instituiu uma totalitária junta govenante. Durou de 1967 a 1974. Z, que é de 1969, trabalha com a corajosa investigação e julgamento dos envolvidos no assassinato.

Quando tudo parece apontar para a punição dos culpados, que também atingiria escalões políticos, ocorre o golpe militar truncando o processo. A cena final é um “anúncio em rede de televisão” em que se anuncia a “nova ordem no poder”. Termina com uma lista de temas que passam a ser banidos no país: diversos escritores, estilos de música, filósofos e... a letra Z!

Haveria que se coibir do uso da letra Z, porque sendo a primeira letra da palavra “vive” em grego, era usada nas pichações de protesto pelo assassinato de Lambrakis. Parece claro que proibir palavras, letras ou ideias nunca será solução para nada...


terça-feira, 4 de setembro de 2018

Caretinhas

Houve um tempo em que nossas impressões e sentimentos expressavam-se em puro texto. Era a época dos livros em que, totalmente enfeitiçados, entrávamos na história contada e vivíamos os dramas e as vidas das próprias personagens. Todo o tormento de Raskólnikov, de Crime e Castigo, após ter matado a velha agiota, acudia à nossa mente e, juntos com ele, expiávamos o crime indo passar uma temporada na Sibéria. O frio não era menos real pelo fato de estarmos no trópico.

Tudo começou a mudar no final dos anos 80, ao menos do jeito que vejo. Em 1989, na Fapesp, eu trabalhava no Centro de Computação e tínhamos o privilégio bastante ímpar de poder usar uma conexão internacional à rede Bitnet, o que nos dava o dom de receber e mandar correio eletrônico!

O correio eletrônico gozava de uma característica única: você fazia parte de um seleto grupo de “conectados”, que trocavam mensagens entre si, independentemente do status dos interlocutores. Pesquisadores aos quais jamais sonharíamos ter acesso e, muito menos, de estabelecer diálogo, dignavam-se a responder a correio eletrônico vindo de obscuros correspondentes do Brasil. Bem, o fato é que tínhamos correio eletrônico na Fapesp e, logicamente, nosso pessoal, do CPD, falava com os recém-conhecidos amigos virtuais via Bitnet – a “Because It´s Time Network”.

A Paulinha, então analista júnior do CPD, estava trocando “e-mails” com uns estudantes norte-americanos que tinham o “luxo” de possuir acesso à rede em seus próprios aposentos – nos dormitórios.

Certo dia a Paulinha me veio, cheia de dúvidas, com uma resposta que recebera, em texto, lógico, mas com uns finais de sentença enigmáticos. Algumas frases terminavam com dois pontos, hífen, abre parênteses, e outras com dois pontos, hífen, fecha parênteses. Reunimos o time de “espert

os da área” e começamos a discutir qual seria o sentido daquela pontuação... Uma nova forma de marcar o fim de uma frase? Problemas de compatibilidade com o conjunto de caracteres usado (ASCII)?

Não conseguimos uma resposta coerente. O jeito foi pedir à Paulinha que escrevesse ao correspondente “entregando os pontos” e pedindo e ele uma explicação do mistério. A resposta veio rápida. Quer dizer... rápida, na medida da época: um ou dois dias. Devíamos olhar aquilo girando o texto 90 graus. Assim, o enigma se tornaria uma “face triste” ou uma “face risonha”. Para nós foi o começo do que hoje se chama “emoticons”, e que à época batizamos de “caretinhas”.

Em textos curtos, telegráficos, sem dúvida uma “caretinha” ajuda na expressão da ideia. É fácil identificar algo pseudo-sério mas com intenção irônica ou humorística, se houver uma caretinha sorridente apensada. A sofisticação de buscar no leitor uma análise que vai identificar a ironia no sentido “literal”, entender a ideia que se quer defender mesmo usando de antinomia, ou de argumentação por absurdo, poderia ser abreviada ou suprimida com o uso de caretinhas. Se não há uma caretinha rindo ao final, provavelmente o texto deve ser lido literalmente. Se há uma caretinha, pode tratar-se de ironia.

Ganhamos ou perdemos com isso? Difícil responder. Certamente o trabalho mental foi facilitado, mas perde-se a sutileza e a complexidade da trama e da emoção. Afinal os hieróglifos, há quatro mil anos, também eram desenhinhos.

É um avanço?



terça-feira, 21 de agosto de 2018

Ordálios Digitais

A busca pela verdade é tão velha como o homem, e está longe de se encerrar. Há inúmeros exemplos de tentativas de definir o que seria sua essência e, convenhamos, pouco sucesso. Talvez seja mais fácil tentar definir o que seja mentira. Mentira não parece ser o oposto de verdade. Para Nietzsche “as convicções são mais inimigas da verdade do que as mentiras”. Mentira busca parecer verossímil para obter maior resultado.

Desde sempre houve disseminação de boatos e de mentiras visando a obtenção de alguma vantagem estratégica. A Internet elevou esse problema ao paroxismo. Nossa época foi batizada de “sociedade da informação”, mas talvez devesse chamar-se “sociedade do ruído”. Afinal, uma das medidas da qualidade acústica de um equipamento é a relação sinal/ruído que ele apresenta. Nos velhos amplificadores, conhecidos como de “alta fidelidade”, a relação sinal/ruído era muito elevada: havia imensamente mais sinal do que ruído. Qual seria a relação sinal/ruído da Internet? E tem ela aumentado ou diminuído?

Suponhamos que seja viável definir uma mentira. Como diminuir seus efeitos? Há alternativas: impedir que surja; detectá-la rapidamente e removê-la; tornar o receptor menos suscetível a ela. Como na Internet parece dificílimo impedir que a mentira brote em algum ponto da rede, a tendência pareceu ser a de trabalhar na rápida identificação e remoção.

Para que essa detecção seja neutra e sem viés, pressupõe-se que há uma verdade conhecida, à qual a mentira se contrapôs. E trabalha-se em desenvolver “verificadores de fatos” e “detectores de mentiras” digitais. Podem, sem dúvida, ser ferramentas úteis às quais os usuários podem lançar mão, caso queiram. Mas, se instituídas como “filtros antecipatórios”, oráculos infalíveis, os usuários terão apenas uma versão “higienizada” da rede, sob critérios invisíveis de “higienização”. A “convicção” imposta pode ser um inimigo ainda mais perigoso.

O passado nos mostra formas de “verificadores de verdade”, não digitais, mas automatizadas. Lavar a honra com um duelo, por exemplo, não é mais uma alternativa hoje. Outra “prova” antiga para decidir se alguém dizia a verdade, se era inocente, consistia em submetê-lo ao ordálio, uma prova cruel que deixa ao imponderável a decisão sobre o acusado. Andar sobre brasas vendo se queima ou não os pés, ser jogado num rio para testar se flutua ou afunda. 

Sobrou-nos ainda a expressão “pôr a mão no fogo” como mostra de confiança numa afirmação. Se eu ponho “minha mão no fogo” por algo e saio ileso, o fogo provou que eu estava dizendo a verdade. Na versão digital, não é mais o fogo, mas um programa que examinará a afirmação, decidindo sobre sua veracidade. Quem sabe teremos uma versão moderna da pitonisa, que nos diria o que nos reserva o futuro sem ter que recorrer a fumaças místicas, ao exame do voo de pássaros ou das vísceras de animais. Entretanto é exatamente a terceira opção acima, a que trata da evolução do receptor e que pode nos parecer longa e difícil, aquela aconselhada pelo oráculo de Delfos: “conhece-te a ti mesmo”.

Submeter-nos a um ordálio moderno, entregar a decisão a uma “pítia digital” é desacreditar ou abdicar do aperfeiçoamento humano. Eu não colocaria minha mão no fogo pela exatidão e neutralidade do ordálio, seja ele o antigo, ou o digital...


===
Ordálio da água fervente:




terça-feira, 7 de agosto de 2018

A Memória do Mundo

A Memória do Mundo é o título de um pequeno conto fantástico escrito em 1968 por Ítalo Calvino. É contado em primeira pessoa pelo diretor de um centro de documentação que, ao se aposentar, pretende passar a continuação da tarefa a seu sucessor natural – Muller, um especialista em agregação de dados. Há detalhes importantes a passar a Muller: o verdadeiro objetivo do trabalho volta-se ao iminente fim do mundo. “Trabalhamos tendo em vista a extinção da vida sobre a Terra, em breve. Para que tudo não tenha sido inútil, para transmitir aos outros, sabe-se lá quem seriam, aquilo que sabemos … e você consegue colocar todo o Museu Britânico numa castanha”. Parece algo ambicioso mas, como pontua Polônio em Hamlet, “há método em sua loucura”. 

Em 1996, usei pela primeira vez um buscador automático geral na rede: o Altavista. Era absolutamente espantoso que, em apenas poucos dias, um conteúdo, de qualquer lugar da então nascente Web, fosse mapeado e catalogado pelo Altavista. Esses “poucos dias” tornaram-se horas e, mesmo com a Web imensamente maior, tudo continua a ser indexado pelas ferramentas de hoje. Eis a memória do mundo ao alcance da mão.

Voltando ao texto, o que parecia um trabalho bem definido tinha seus percalços e suas tentações. Ao fim e ao cabo, só existirá o que estiver armazenado na memória. O que ficar de fora, é como se nunca houvera existido. O processo definirá, em suma, até o passado do mundo. Mas, mesmo que se guarde o máximo possível, sobre homens, animais, conversas, imagens, há limites. 

Caberá ao diretor o poder discricionário: “...o posto para o qual você é qualificado lhe dá esse poder, o de acrescentar um ‘toque pessoal’ à memória do mundo”, e é difícil resistir a essa tentação. O diretor esclarece ainda alguns “conceitos”: as obviedades, além de pouco atraentes ao leitor, nem sempre representam a verdade. O misterioso e o inusitado são muito mais provocativos. Aconselha: “com as intervenções que você fará – com extrema delicadeza, claro – serão disseminados também juízos, reticências, e... até mentiras. Veja, apenas na aparência a mentira exclui a verdade. Em muitos casos, por exemplo num consultório psicanalítico, a mentira pode ser até melhor indício que a própria verdade”

O conto vai deslizando em direção ao abismo, até que o diretor faz uma confissão. Todos o sabem lamentoso viúvo com a perda de Angela, amada esposa. O que poucos sabem é que seu casamento não fora um mar de rosas. Longe disso. Angela, a “esposa ideal”, era uma imagem carinhosamente montada e que ele preservou nos arquivos. A distância entre a Angela-informação e a Angela-real tornou-se tão grande que a única saída para não colocar em risco sua imagem ideal foi assassiná-la. No último parágrafo chega a tremenda conclusão: “se na memória ideal do mundo não há nada a corrigir, o que nos resta é corrigir a realidade, onde ela não concorda com a memória do mundo.”

Estamos ficando cada vez mais próximos de poder “corrigir a realidade”. Hoje. com as redes, todos somos coautores de nossa “memória”, que pode ou não aderir à realidade. Será que nos veremos no papel que o diretor atribuiu a Muller? “O poder corrompe” e, como complementava Millôr, “o poder absoluto corrompe melhor”. 

Os portugueses também já sabiam: “Quer conhecer o vilão? Dá-lhe o bastão.”


===
Ítalo Calvino