Leia a minha mente

February 14th, 2003 § 4 comments § permalink

Se você ainda não viu, experimente o The Flash Mind Reader. Legalzinho :-) Um doce para quem descobrir como funciona. Se você gosta de matemática, não é tão difícil assim. Uma dica: é uma variação de um certo jogo de cartas que andou rodando a Internet recentemente.

A culpa é mesmo da Microsoft

February 13th, 2003 § Comments Off on A culpa é mesmo da Microsoft § permalink

Na época em que o SQL Slammer atingiu a Internet em cheio, muita gente considerou que a culpa não era da Microsoft porque já existia uma correção há meses. Entretanto, outros lembraram aplicar correções é tão perigoso quanto não aplicar, pois há a chance de que a correção quebre outras aplicações ou o próprio sistema operacional, ou mesmo introduza novos furos de segurança.

Depois de ler um artigo de Brian Livingston na Inforworld sobre uma das últimas confusões aprontadas pela Microsoft com seus service packs, eu só posso concluir que a culpa é mesmo dele. O caso que ele relata chega às raias da loucura.

Blogs e 1984: alguma coisa a ver?

February 13th, 2003 § 2 comments § permalink

Navegando ao acaso pela Internet ontem, dei com o seguinte texto escrito em um blog:

O legal dos blogs é que todo mundo assume a mesma profissão do personagem central do livro 1984, que trabalha como “manipulador do passado”, criando e apagando fatos acontecidos.

Você vai num blog hoje e lê uma coisa. Daqui dois dias, aquilo não está mais lá, como se nunca tivesse estado.

É uma idéia interessante: fatos que só existem por instantes, frases desditas.

Na minha opinião, essa é uma analogia que não se harmoniza nem com o livro 1984, nem com a fênomeno dos blogs tal como este se manifesta hoje. Mesmo considerando a última frase como que desviando a analogia para fatos pessoais — em oposição a fatos compatilhados em uma escala maior, seja geográfica ou socialmente — ainda assim a idéia expressa é incorreta.

1984, de George Orwell, é um livro muito conhecido. Eu até diria que é o livro de ficção científica mais conhecido, e certamente a distopia mais popularizada. Um dos “personagens” centrais do livro, o Grande Irmão (Big Brother), é um dos poucos seres literários a alcançarem um lugar no coletivo mental da humanidade. O personagem central a que o texto citado se refere é Winston Smith, membro do Partido Exterior e empregado do Ministério da Verdade, local onde ele passa os seus dias a reescrever o passado sob as ordens do IngSoc (Socialismo Inglês, que é o Partido como um todo). Um dos exemplos dessa reescrita ocorre quando o Partido anuncia que a ração de chocolates será aumentada para 20g e Smith deve apagar todas as referências à antiga ração de 30g existentes em qualquer tipo de mídia.

Considerando o exemplo acima, é fácil perceber porque a idéia apresentanda, não possui mérito. A própria natureza dos blogs e serviços relacionados tende a criar relações mais fortes entre eventos reportados ao redor do mundo preservando não só a realidade dos acontecimentos mas também as reações pessoais e a cadeias de análises, comentários e discussões que surjem sobre os mesmos.

Um exemplo real disso foi a renúncia do senador americano Trent Lott há algum tempo atrás por causa de algumas declarações impensadas de teor racista. Quando a própria mídia organizada já havia começado a ignorar essas declarações e suas implicações como notícia velha, alguns dos blogueiros mais influentes da Web começaram a botar a boca no mundo e não só a questionar as idiotices ditas pelo senador como também a levantar mais informações sobre ele. As repercussões e discussões sobre o assunto foram consideradas mais tarde como tendo parte importante em manter o assunto à tona e levar Lott à renúncia.

Um blog, como forma de expressão pessoal, nega o alvo central do Partido imaginado por Orwell, que é controlar a população. É fácil ver isso no recente bloqueio ao serviço Blogspot por parte do governo chinês. Como foi comentado na época em que bloqueio foi iniciado, a intenção velada do mesmo era impedir a contaminação do povo chinês pelas idéias ocidentais de livre pensamento. Para o governo chinês, a discussão livre de idéias que os blogs trazem representa um perigo claro. Também na época, algumas pessoas se ofereceram para espelhar os blogs chineses, ou seja, para preservar os fatos ocorridos, não apagá-los. Caso um estado hoje chegasse à situação descrita em 1984 é óbvio que blogs seriam algumas das formas de expressão que já teriam desaparecido há tempos.

Mesmo aqueles fatos pessoais do tipo “Onde você estava quando [insira um evento importante aqui] aconteceu” representam uma agregação que pode ser preservada e recuperada depois. Da mesma forma, o espalhamento gradual de determinados pontos de vista também representam uma salvaguarda contra o desaparecimento da informação. Assim, de qualquer ângulo que se olhe, os blogs constituem, na verdade, o contrário da manipulação descrita por Orwell.

É interessante notar que a própria existência do conceito de permalinks nega a volatilidade dos fatos sugerida no texto mencionado. Permalinks existem justamente para que fatos referenciados possam sobreviver em um universo de informação em constante movimento.

Um último ponto a ser considerado é a recuperação de fatos passados. Os arquivos de blogs representam um verdadeiro arsenal de informações pesquisáveis que servem para validar acontecimentos atuais ou distorções eventuais do que já aconteceu. É claro que existem ocasiões em que determinadas coisas desaparecem de um blog específico. Mas, se os fatos foram reportados em larga escala, a própria natureza da Web se encarrega de manter as associações mesmo que alguns elos eventuais sejam quebrados. Os pedaços que faltam podem ser encontrados em outros locais. Existe, é claro, um pequeno espaço para a manipulação, mas esta tende a ser automaticamente corrigida pela própria dispersão dos fatos.

Resumindo, ao contrário do que o autor do texto citado afirma, os blogs são na verdade um sistema relativamente eficiente de preservação do relato dos acontecimentos. Obviamente, não é um sistema perfeito porque estamos lidando com seres humanos aqui. Mas de forma alguma é um sistema que se presta à manipulação de fatos da maneira constante e metódica que é descrita em livro 1984.

Mundo indistinto

February 13th, 2003 § Comments Off on Mundo indistinto § permalink

A armação dos meus óculos quebrou inesperadamente anteontem. Algumas horas antes, quando eu voltava do trabalho para casa, ouvi um som parecido com um clique vindo da mesma por um instante e até tirei os óculos para verificar, mas não notei nada de errado. Mais tarde, quando eu estava na reunião de homens na igreja, a armação simplesmente se partiu e o mundo ficou instantaneamente indistinto.

Eu uso óculos desde os sete anos de idade, e uso o dia inteiro. Praticamente só tiro para tomar banho e para dormir. Embora algumas vezes eu já tenha quebrado a lente ou a própria armação e ficado alguns dias sem os óculos, a última vez em que isto aconteceu foi há tanto tempo que eu havia me esquecido de como sou dependente dos mesmos — eu simplesmente não consigo fazer nada sem os óculos. Ler, só se o livro estiver a uns cinco ou dez centímetros do rosto. Usar o computador é impossível. Até andar pela casa é ruim.

De manhã, eu liguei para o trabalho que avisar que não ia pela manhã pois ia tentar consertar o estrago. Minha esposa teve que ir comigo por que não me senti nem um pouco confiante para pegar um ônibus e ir até o centro da cidade não enxergando quase nada do que estava acontecendo ao meu redor. Achemos fácil uma local que fazia o conserto, mas tivemos que esperar um bom tempo até ficar pronto. Mas que alívio quando o mundo voltou ao normal.

Depois disso, resolvi tomar vergonha na cara e fazer óculos novos. Estes já estavam comigo por quase quatro anos, e acho que foi isso que causou o problema. Como a minha miopia estabilizou há uns dois anos, e no último exame que fiz havia até regredido um pouco, eu enrolei mais para trocar os óculos dessa vez. Minha esposa e eu fomos direto para a loja de um senhor que tem feito meus óculos pelos últimos quinze anos (com a exceção de um deles), e providenciamos a troca. A facada ficou em R$ 325,00 por conta de uma lente especial anti-reflexiva e que escurece no sol, mas pelo menos agora não vou ter mais problemas por causa da fotofobia. A compra foi até divertida por que ficamos conversando com o Ramon, esse senhor que eu conhecia. (Eu sempre acho estranho que todo mundo se lembra de mim mesmo não tendo me visto por vários anos.) Ele também nos explicou um pouco sobre a manufatura das lentes de óculos, que era um assunto sobre o qual eu sempre tiver curiosidade de saber.

Os novos óculos ficam prontos até a próxima quarta-feira. Até lá espero que a o conserto agüente. Não tem a menor graça viver em um mundo indistinto.

Site do Kevin Mitnick é hackeado

February 11th, 2003 § 3 comments § permalink

O site da empresa do mais famoso hacker da história, Kevin Mitnick, já sofreu duas invasões recentemente. A primeira foi de um cara que adicionou uma página ao site dele congratulando-o por voltar à liberdade e dizendo que a invasão tinha sido fácil. A segunda foi de um outro cara que queria ser contratado, tentando provar suas habilidades.

O engraçado é que a firma dele se propõe justamente a dar consultoria na área de segurança, evitando invasões e roubo de propriedade. Ironicamente, o site da empresa roda o servidor Web da Microsoft. Era de se supor que Mitnick preferisse uma plataforma mais segura. Segundo ele, as invasões acontecem por que as pessoas acham que se invadirem o site de sua firma serão considerados os novos reis do pedaço.

Bem, ele pode se sair com essa. Mas seu eu fosse um cliente dele, depois dessa não teria mais confiança nenhuma.

(via Adriana)

Dois anos

February 10th, 2003 § 4 comments § permalink

Hoje minha esposa e eu completamos dois anos de casados. Feliz aniversário para nós mesmos :) Estes anos foram surpreendentes, difíceis, adoráveis, complexos, felizes, e tudo mais que um casamento pode ser. Agradeço a Deus por cada dia desses dois anos, e pelo a ele a direção para os anos que virão.

Diferenças nos padrões de erros de idiomas

February 10th, 2003 § Comments Off on Diferenças nos padrões de erros de idiomas § permalink

Enquanto eu escrevia algumas de minhas últimas entradas neste blog, eu notei que os padrões de erros em diferentes idiomas parecem ser diferentes também. Para explicar por que eu notei isso, um pouco de informação sobre o meu blog segue abaixo.

Eu tenho outro blog que espelha este em português; este outro é escrito em inglês. Quase tudo o que eu escrevo aqui acaba no outro também, e vice-versa. As exceções ficam por conta de textos em um deles que dependem muito do contexto cultural e não fazem muito sentido no outro. Escrever em dois idiomas significa um monte de traduções e correções para lá e para cá entre os mesmos. Na maioria das entradas, eu costumo escrever o texto em inglês primeiro, e depois traduzir de volta para o português. Os textos costumam ficar um pouco diferentes, mas não de maneira significativa. Pode parecer estranho, mas um dos meus objetivos com o blog é melhorar o meu inglês, o que explica a preferência.

Obviamente, eu cometo um monte de erros ao escrever. Nos últimos textos que escrevi, eu notei que o tipo de erros que acontecem em um idioma diferem dos que acontecem no outro. No inglês, os erros são em sua maioria fonéticos, enquanto que, em português, eles são geralmente ortográficos. Por exemplo, algumas vezes eu escrevo sense em inglês quando eu deveria ter escrito since. Em português, eu geralmente fico em dúvida sobre a forma correta de escrever alguma coisa. É raro, mas acontece. Um exemplo arbitrário seria, desvaneio contra devaneio. São erros ortográficos que também podem acontecer em português, mas, por alguma razão, são mais raros naquela linguagem. Não sei muito bem como explicar a diferença. Do que eu pude observar, não tem nada a ver com a falta de conhecimento do idioma. Eu encontrei o mesmo padrão em páginas, grupos de discussão e blogs.

Agora eu estou é curioso para saber se essas observações são válidas, ou se estou falando besteira. E se são válidas, fico imaginando se existem outros padrões ainda mais estranhos para outros idiomas. Vou dar uma pesquisada e depois escrevo novamente coisa aqui se encontrar alguma coisa útil.

Direções

February 10th, 2003 § 2 comments § permalink

Se algum dia você precisar de instruções para chegar em algum lugar e eu estiver por perto, nem pense em me perguntar. Eu já perdi a conta das vezes em que tentei ajudar alguém, mas acabei errando em algum detalhe fundamental que acabava mandando a pessoa para outro lugar.

Não sei por que acontece. Sempre é alguma coisa aparentemente insignificante que no final acaba fazendo a pessoa andar muito mais, ou ir para outro lugar, e acabar me xingando por causa disso. Por exemplo, recentemente eu disse a um amigo meu que ele deveria virar à direita em certo ponto de uma avenida. Acontece que, na verdade, ele deveria virar à esquerda e acabou rodando quilômetros antes de conseguir retornar. O pior é que havia insistido muito antes para que ele lembrasse de virar no local apropriado.

Assim, não confie em mim para achar onde fica alguma coisa. Qualquer dia desses alguém vai parar em outra cidade por conta dos meus vacilos.

Código aberto e documentação

February 10th, 2003 § 4 comments § permalink

Shelley Powers tocou recentemente em um problema extremamente comum em projetos de código aberto: a falta de documentação, seja esta em relação à instalação ou uso do programa. Como ela mesma disse, há uma certa concepção de que não deve-se sobrecarregar os programadores responsáveis por esse tipo de projetos com demandas por documentação porque que eles já estão fazendo um favor em criar o programa.

Eu não quero criticar ou denegrir a imagem de programadores que se dispõem a criar código aberto. Pelo contrário, a generosidade de muitos desses programadores é espantosa e digna de louvor. Entretanto, a falta de documentação é realmente um problema com a maioria desses projetos, causado normalmente pela falta de recursos. Além disso, documentar um programa é uma atividade que vai necessariamente consumir tempo. E a percepção é que esse tempo poderia ser gasto em atividades mais proveitosas, como a evolução da aplicação. Em outro aspecto, a criação da documentação é também algo extremamente tedioso quando comparado à própria programação.

O resultado final é que, embora muitos dos programadores envolvidos em projetos livres sejam escritores técnicos tão bons quanto são programadores, a carência na área de documentação só aumenta. Normalmente, só projetos de grande porte, como Apache e JBoss, possuem equipes específicas que, apesar de participarem também no desenvolvimento, são primariamente responsáveis pela mesma.

Eu acredito que essa mentalidade deve ser corrigida. A comunidade que existe em volta do ideal do código aberto deve reconhecer o problema e procurar tratá-lo de maneira adequada. Cada programador deveria procurar meios de facilitar a vida de seus usuários dessa maneira — seja este usuário outro programador ou uma pessoa qualquer utilizando o programa. O foco aqui são as aplicações criadas com um público maior em mentes, não as ferramentas criadas para facilitar a vida do seu programador original.

Um ponto a se pensar é que mesmo que o usuário só recorra à documentação em último caso, ela pode ser a diferença entre um programa útil e um abandonado. Por mais nobre que seja a intenção por trás de um projeto de código aberto, sem documentação as chances de que o mesmo seja adotado são menores. A adoção corporativa é especialmente sensível neste ponto por causa de necessidades como treinamento e descoberta de soluções rápidas para eventuais problemas. A documentação tambem é necessária para que o conhecimento adquirido sobre o programa não seja perdido. Essa é inclusive a razão por trás dos how-tos do Linux. E finalmente, o atual crescimento de aplicações desktop também demanda uma qualidade maior nessa área.

Voluntários são tão necessários aqui quando em qualquer outra parte do processo de desenvolvimento. Eu acredito que alguns passos simples poderiam ter um grande resultado nessa área. Uma maneira fácil e óbvia de ajudar é escrever suas próprias experiências com a instalação ou utilização de um determinado programa ou tecnologia e doá-las ao próprio projeto. A maioria dos how-tos foram criados assim. Adicionamente, pessoas que estão interessadas em contribuir para projetos de código aberto deveriam fazê-lo também na forma de documentação. Um bom exemplo disso é o BottomFeeder, um agregador livre escrito em Smalltalk. A documentação do mesmo é criado por um voluntário. Esse é uma prática excelente e muitos projetos poderiam se beneficiar de algo semelhante. De igual forma, iniciativas com o Linux Documentation Project estão sempre precisando de mais pessoas.

Minha crença, já repetida várias vezes nessas páginas, é que tecnologia que não melhora a vida do usuário é inútil. A documentação é parte disso porque diminui as barreiras de entrada da aplicação. Além disso, essas são demandas de mercado. E nunca deve-se esquecer que projetos de código aberto, por mais livres que sejam, no que concerne a usuários, respondem a essas mesmas demandas.

Estresse

February 9th, 2003 § 3 comments § permalink

Há alguns dias atrás, James Robertson comentou brevemente sobre o estresse sofrido por programadores em função da escolha imprópria de tecnologia em projetos — no caso específico citado, Visual C.

É fácil me identificar com a situação desses programadores. Embora em nunca tenha experimentado um nível tão alto de estresse por esse motivo, devo confessar que em alguns dias a frustração com a tecnologia usada no meu trabalho chega quase na estratosfera.

Como eu trabalho em uma empresa que é Microsoft da cabeça aos pés, a plataforma escolhida para a vasta maioria das aplicações é uma combinação de ASP e SQL Server. Na verdade, essa escolha deve-se em parte pelas condições do mercado brasileiro. Quase todas as empresas na área de Internet usam as mesmas tecnologias e a mentalidade de que nunca alguém foi mandado embora por escolher produtos Microsoft é quase onipresente. Mas que isso não muda a frustração, não muda.

No meu caso, parte do problema é que eu fiquei meio mal acustomado. No meu emprego anterior, eu era o encarregado das escolhas tecnológicas. Como sempre fui fã da Borland, a decisão óbvia foi usar o Delphi. E foi realmente o que fiz nos três anos em que estive lá para quase todos projetos. As poucas exceções foram alguns trabalhos baseados no Site Server Commerce Edition da Microsoft para algumas lojas virtuais — experiência que, diga-se de passagem, espero nunca precisar repetir.

Como o Delphi é maduro tanto no ambiente quanto na linguagem, o tempo com o mesmo me deixou um tanto que impaciente para quaisquer outros soluções inferiores. Na época eu utilizava bibliotecas que eu mesmo desenvolvera para várias tarefas comuns, principalmente no que tangia à camada de dados da aplicação. Criei desde de bibliotecas simples com classes lightweight para acesso gerenciado ao banco de dados a frameworks completos de persistência com geração automática de SQL, serialização XML e modularização da interface de usuário a partir de transformações XSLT.

Depois desse tipo de experiência, usar ASP é um retrocesso. O máximo que pode-se fazer em projetos é separar alguma da funcionalidade em bibliotecas reusáveis. E mesmo assim, essas bibliotecas costumam não passar de um bando de funções. Claro, pode-se usar objetos COM, mas, por incrível que pareça, existem certos clientes que não querem ou não permitem o uso de módulos desse tipo em seus servidores. A maioria, na verdade, não quer saber. Quando dá para convencer o cliente, normalmente o Visual Basic tem que ser usado, o que não fica muito longe do ASP.

Obviamente, tudo isso implica em tempos de desenvolvimento muito maiores do que os que poderiam ser obtidos com outras ferramentas. E como há consciência disso, a frustração só aumenta. Tanto por saber que as coisas poderia ser feitas de uma maneira melhor, quando por haver preocupação sobre o prazo. E quando a data de entrega começa a ser aproximar, todos estes fatores acabam colaborando para que o estresse notado surja.

Pelo menos a tendência do mercado hoje no Brasil parece estar se encaminhando para .NET. Se é para ser Microsoft, que seja pelo menos em uma plataforma suportando metodologias modernas de desenvolvimento. A frustração talvez continue, mas provavelmente será menor.

A opção óbvia para resolver o problema no lado do programador, que seria tentar mudar a cultura da empresa, é um esforço inglório que garantidamente resultará em mais frustração e estresse. Além disso, há poucas chances de seja bem sucedido. Quanto às empresas, a inércia que impede a procura de soluções efetivas para esse tipo de problemas é proporcional ao tamanho e ao coeficiente dilbertiano das mesmas.

Assim, temo dizer que não vejo uma solução simples. Ironicamente, o próprio mercado é que normalmente impede que as empresas percebam a perda resultante da situação. O caso citado por Robertson, em a empresa percebeu seu erro e tomou as decisões apropriadas, é uma raridade. Assim, são os próprios programadores que devem procurar desenvolver mecanismos de proteção para evitar essa dissabores. A frustração provavelmente vai sempre existir, mas o estresse pode ser evitado. Afinal de contas, eu só digo o óbvio quando falo que não vale a pena de maneira alguma acabar consigo mesmo por causa do erro de outros.

Where am I?

You are currently viewing the archives for February, 2003 at Superfície Reflexiva.