Fanatismo

March 8th, 2008 § 11 comments § permalink

Eu não canso de me surpreender com o fanatismo das pessoas. Deve ser o otimismo.

Os mesmos desenvolvedores que criticam os apaixonados pela Microsoft são os mesmos que se curvam ao altar da Apple. Os mesmos que criticam o código aberto pela falta de suporte aparente não se preocupam em limitar o seu mundo a um único fornecedor.

E o mais engraçado são as justificativas para isso. As pessoas realmente não aprendem. Há momentos em que eu penso que o novo fundamentalismo é tecnológico.

Correndo (ou não) com o leopardo

February 9th, 2008 § 8 comments § permalink

Tudo bem, esse foi um péssimo título. Desconsidere.

Acabei de instalar o Mac OS X 10.5, vulgo Leopard, na minha máquina e confesso que não estou tendo muito sucesso no começo. Depois de todas atualizações, configurações, e por aí vai, o resultado é que o processo de boot está bem mais lento, o wirelesss está falhando esporadicamente, e o Quicksilver demora décadas para iniciar.

Em contrapartida, o XCode 3 é uma ferramenta incrível, as adições ao sistema são bem interessantes e o Safari está turbinado. Estou ainda configurando tudo do jeito que gosto mas imagino que vou precisar de reinstalar uma segunda vez para realmente deixar tudo legal depois de estragar completamente a instalação. Se bem que nesse ponto meu pragmatismo pode falar mais alto e eu posso acabar deixando tudo como está.

De qualquer forma, vamos ver se tanto hype escutado nos últimos tempos sobrevive à realidade do dia a dia.

Alguns conselhos práticos sobre diversificação

January 5th, 2008 § 5 comments § permalink

Esses dias, ouvi alguém perguntar em uma palestra que essa pessoa estava ministrando: “Vale a pena apostar todas as minhas fichas do Rails?” A resposta foi: “Vale”. Entretanto, a resposta correta para essa pergunta é: “De jeito nenhum”. Nunca vale a pena apostar todas as suas fichas em um determinada tecnologia.

Se há algo que a enorme lista de reclamações de Zed Shaw–que nesse momento já percolou por toda a comunidade Ruby–prova, é isso: não vale a pena colocar todos os seus ovos em uma só cesta (para usar o antigo provérbio). Diferenças pessoais à parte, achar que uma única tecnologia é a resposta para toda sua carreira é no mínimo insano.

Tecnologia, nunca é demais dizer, é algo volátil. O que hoje é considerado o estado-da-arte vai ser a tecnologia repudiada do dia seguinte. Isso é necessário para a evolução do campo, é claro, mas uma enorme quantidade de desenvolvedores parece considerar que excelência em uma única tecnologia é garantia de uma carreira bem sucedida. Pode até acontecer, mas confiar nisso, mais uma vez, é uma receita certa para o desastre em quase todas situações.

Isso não quer dizer que você não tenha que se tornar bom naquilo que está fazendo. Não é, tampouco, tentar ser um jack of all trades, master of none–embora realmente seja melhor ser um desses do que mestre de somente uma única coisa. Antes, significa estar ligado em campos o suficiente para pode ser movimentar com tranqüilidade por situações diversas.

Se você pode trabalhar com sua tecnologia de escolha no dia-a-dia, ótimo. Só não se esqueça que isso é, na melhor da hipóteses, uma situação temporária. Ser aberto e ser pragmático sem perder de vista aquilo que você gosta de fazer é o balanço ideal.

Uma coisa que eu ouço muita gente dizer é que conhece os méritos das contrapartes tecnológicas do que estão fazendo ou usando mas, na prática, não dão a menor atenção a realmente trabalhar com essas outras tecnologias, mesmo que em uma base experimental. Isso não ajuda em absolutamente nada. Se você só lê sobre algo, você está se enganando. Eu repito mais uma vez: diversificação prática é absolutamente necessária, mesmo que na forma de experimentos pequenos.

Assim, para terminar alguns conselhos práticos para conseguir diversificar suas escolhas tecnológicas:

  • Faça um plano de aquisição de linguagens de programação. Invista um ano em cada uma delas e alterne no mínimo, os dois principais paradigmas: funcional e imperativo. Uma boa maneira é se forçar a escrever os utilitários que você precisa em uma nova linguagem ao longo do ano.
  • Se você trabalha com framework, qualquer que seja, escolha um framework oposto–em termos de linguagem ou filosofia de implementação–e comece a experimentar com o mesmo, produzindo algo que você pode usar no dia-a-dia para realmente valer o esforço.
  • Procure se relacionar com pessoas em campos além do seu trabalho imediato. Mesmo uma participação em uma lista de discussão–com contribuições reais e não somente leitura–é suficiente para quebrar o círculo em torno de uma única tecnologia.
  • Escolha uma tecnologia que você considera acima do seu patamar atual. Leia e implemente o suficiente para chegar a um entendimento funcional da mesma.
  • Leia não só em sua área, mas também fora dela. Isso vale tanto para livros técnicos como para outros tipos de livro. Se você se fixar somente em livros técnicos, uma parte do seu processo de aprendizado será perdida.

São conselhos simples e óbvios mas vale a pena se lembrar dos mesmos de quando em quando. A opção contrária é afundar em um poço de piche.

Facebook versus Scoble: o outro lado do moeda

January 4th, 2008 § 0 comments § permalink

Parece que metade da Web, esse que lhes escreve incluído, falou cedo demais ontem. Embora o Facebook realmente esteja se tornando um local onde alguns dos problemas mais sérios da Web estão sendo verificados em situações de uso real, a história com o Scoble tinha um lado completamente diferente.

Pelas últimas notícias, o que Scoble realmente andava fazendo era testar uma ferramenta da Plaxo, competidora do Facebook, que serve para migrar dados de uma rede para outra. Como certos dados não são acessíveis pela API do Facebook, a ferramenta da Plaxo usa scraping para obter os mesmos. E como em última instância isso é indistingüível de um ataque para obter informações que seriam depois usadas para spam, um banimento automático aconteceu.

O resultado final é que o Facebook estava mais certo do que o Scoble na história. O bom de tudo isso é que uma nova discussão comecou em torno do que constitui seus dados e o que constitui os dados de outras pessoas no que tange ao grafo social. Essa é uma discussão que já estava acontecendo entre os interessados mas que se expandiu agora para uma maior fatia da população tecnológica. O Facebook, pelo visto, vai continuar sendo o campo de provas da Web quais sejam os resultados.

Facebook: o campo de provas da Web

January 3rd, 2008 § 2 comments § permalink

Pela segunda vez em pouco mais do que dois meses, o Facebook se vê com uma situação nas mãos que é, essencialmente, impossível de controlar. Considerando o tamanho, a influência e o tipo de usuários do Facebook, isso é excelente para o futuro das aplicações Web em geral.

Da primeira vez, foi a controvérsia sobre o Facebook Beacon, a aplicação de anúncios dentro do Facebook que usava informações obtidas em outros sites participantes e o próprio grafo social do usuário para maximizar a contextualização dos anúncios. O problema era que um usuário não podia optar por não usar o produto e informações privadas acabam sendo passadas para amigos relacionados ao perfil do usuário. O resultado foi uma tempestade de protestos que acabou levando a mudanças significativas no modo como o produto funciona.

A controvérsia de hoje é a remoção da conta de Robert Scoble por violar os Termos de Uso site. Scoble estava usando um script para recolher informações do seu perfil já que o Facebook não permite qualquer forma de exportação de dados e foi banido por isso. A controvérsia já começou sobre o assunto e no momento há uma tempestade em formação no Techmeme. Scoble é um power-user do Facebook e um A-lister cuja opinião conta muito para os usuários mais avançados que, em última instância, foram determinantes durante o problema do Facebook Beacon.

O que eu acho interessante e significativo sobre a situação é que o Facebook está se provando um excelente local para testar o que os usuários permitirão ou não em termos de seus dados e privacidade na Web. O Facebook já gerou uma resposta forte dos outros envolvidos na forma do Open Social por causa da sua atitude de jardim murado. Com o cancelamento da conta do Scoble, o Facebook acabou providenciando o maior argumento possível para a portabilidade de dados sem que os críticos precisassem de fazer qualquer esforço.

Embora seja fácil entender porque o Facebook deseja prender seus usuários, esse tipo de padrão está com os dias mais do que contados e é bem possível que o banimento do Scoble seja o evento que forçará o Facebook a admitir isso. Uma boa possibilidade é que eles mesmos criem um padrão de portabilidade que possa ser incorporado ao Open Social, revertendo o enorme problema de relações públicas que tem em mãos no momento.

Esse tipo de prova público do que os usuários vão tolerar é fundamental para o surgimento de novas políticas de trabalhar com dados de terceiros e serve também como um bom aviso para quem está colocando as suas fichas em serviços fechados que não permitem uma remoção de dados rápida mesmo depois de restrições válidas às contas em questão. Ainda é cedo para ver o impacto completo do problema atual nesse tipo de política, é claro, mas os próximos dias e meses serão interessantes.

Pão de Cast #8

December 24th, 2007 § 0 comments § permalink

Para alegrar o seu Natal está no ar o Pão de Cast #8 – Edição “Jingle Bells é a mãe”. Entre os assuntos falados estão o lançamento do SimpleDB, da Amazon; o fato de que o IE8 agora está passando no Acid2 e o que os lançamentos atuais da Microsoft mais a idéia do IE8 podem significar para o mercado dos navegadores; mais discussões sobre o código livre e comentários gerais sobre os eventos da semana que passou.

Com sempre, estamos abertos a sugestões e comentários e temos agora uma nova forma de contribuição. Se você quer contribuir com o Pão de Cast, nos envie seus comentários e perguntas através de arquivos MP3 ou OGG e os colocaremos no ar durante a gravação.

Pão de Cast #7

December 13th, 2007 § 3 comments § permalink

Resgatando o tom ácido dos primeiros episódios, está no ar o Pão de Cast #7 – Edição “Capeta no corpo”. Nesta edição falamos sobre a discussão em torno do Gnome, OOXML e Mono; sobre o papel da cópia do código livre; discussões em torno de linguagens e muitos outros assuntos.

Como sempre, se você gostou dos primeiros, provavelmente vai gostar desse. Se não ouviu nenhum ainda, aproveite para entrar em nossa conversa. Sugestões, críticas e linchamentos públicos são bem-vindos.

Cinco sinais de que alguém é um zelote

December 5th, 2007 § 7 comments § permalink

Ninguém gosta de zelotes. Zelotes não acrescentam à discussão; antes, eles escondem a discussão atrás de justificativas suaves que parecem dar abertura à posição contrária mas sem realmente permitir qualquer diferença de opiniões. Em tecnologia isso é tão comum que as pessoas consideram normal–e até visto como um sinal de paixão em muitos casos–mas qualquer excesso é detrimental.

Cinco sinais de que alguém é um zelote:

A pessoa tem um foco único

Ela não consegue se afastar do único tópico que aprova. Pode até citar outros, mas as comparações são sempre desfavoráveis, para provar como sua posição é a melhor, como é possível fazer tudo o que o outro faz com o que você possui. Zelotes não entendem que existem múltiplas soluções e sentem medo de que seu domínio do problema fique obsoleto.

A pessoa faz afirmações abrangentes sem qualificação

Zelotes adoram dizer que algo é bom porque é bom e pronto acabou. Não existem comparações e qualquer um que uso a outra opção é porque ainda não viu a única e verdadeira religião. Se alguém afirma o contrário, montanhas de informação são recuperadas para provar que o outro lado está intoleravelmente errado, mas a informação é sempre voltada para provar um único lado sem considerar qualquer outra posição.

A pessoa cita textos fora do contexto

Zelotes adoram pegar partes de algo que foi escrito e citar fora de contexto para dizer que seu ponto está sendo provado. Não importa se o resto da informação contradiz o que estão falando. Para isso, há sempre um jeito de não citar a fonte original deixando a informação mais difícil de categorizar.

A pessoa adota um ar de humildade ao falar do outro

“Eu também usei, recomendo, aliás recomendo todos. Não é que o meu seja melhor”, é uma frase comum de um zelote. Só que na verdade, o outro lado nunca é visto. O zelote sempre vai arranjar uma desculpa para “provar” que o seu é melhor.

A pessoa só se engaja em discussões para defender suas posições

Um zelote nunca contribui para uma discussão acrescentando características positivas do lado contrário. Sempre que ele está em um discussão é para afirmar mais um ponto do que ele acredita mesmo que ele não esteja sendo atacado em qualquer forma. Na verdade, ele vê qualquer discussão como um ataque já que não tem confiança. Uma desculpa freqüente é dizer que é um evangelista do objeto em questão

E um bônus:

A pessoal começa a falar na terceira pessoa do singular

Zelotes adoram dar um ar majestoso às suas declarações. E nada mais “belo” e “importante” do que falar na terceira pessoa como se você fosse mais do que uma pessoa. Eu não sei dos outros, mas qualquer declaração me terceira pessoal já tira qualquer possibilidade que eu escute a pessoa com seriedade. E quem gosta de terceira pessoal geralmente gosta também de títulos esdrúxulos.

Eu realmente não tenho muita tolerância com zelotes e não quero me tornar um. Se um leitor perceber algo assim, pode puxar a orelha. Paixão é bem-vinda, necessária, mas não sob a desculpa de que o resto é ruim por definição. Se é, prove. Eu também.

Pão de Cast #6

December 3rd, 2007 § 4 comments § permalink

Está no ar, com um pouco de atraso, o Pão de Cast #6 – Edição “Nós gostamos de dinheiro também”. Se você gostou dos primeiros, há um boa chance de gostar desse também. Exceto, talvez, pela parte em que criticamos monetização. Tudo bem, metemos o ferro talvez seja a expressão mais adequada.

Outros assuntos incluem:

  • Uma semana de Kindle
  • O abertura da rede da Verizon

E outros assuntos. Dê uma conferida.

Fragilidade 2.0

November 28th, 2007 § 1 comment § permalink

Uma das passagens mais marcantes de Glasshouse, de Charles Stross, é o momento em que o protagonista relembra o seu papel na erradicação do Curious Yellow, uma worm humana responsável pelos períodos de turbulência que antecedem o início da estória.

O Curious Yellow infectava humanos ao passarem por A-gates (arrays nanotecnológicos usados para replicação de qualquer objeto necessário, registro de backups de consciência e outras necessidades médico-tecnológicas da república retratada em Glasshouse), deletando partes específicas da memória dos infectados e usando os mesmos e os A-gates por onde passavam depois como novos vetores.

Em um dado momento da guerra resultante para eliminar a worm, o protagonista se vê na situação de transferir, com seu grupo de combate, dezenas de milhares de humanos para um A-gate atrás de um firewall.

A situação se complica e eles tem que adotar medidas desesperadas. Para isso, eles criam uma estratégia no mínimo não-ortodoxa: eles obrigam os usuários a passam em fila por um checkpoint e, usando uma espada vorpal, decapitam cada um deles, fazendo um backup da consciência dos mesmos no processo e armazenando em um A-gate limpo. Desnecessário dizer, a experiência não faz nada de bem para o protagonista.

Horas depois, com milhares de pessoas decapitadas, o A-gate sofre o equivalente pós-humanista de um kernel panic, tela azul, dê o nome que quiser. Irrecuperável. Vinte mil pessoal mortas sem um backup.

O que mais me impressionou na estória é que, de uma maneira geral, cenários pós-humanistas estão associados a um otimismo inato com tecnologia. Quase todas são uma versão de futuro limpo de Jornada das Estrelas, onde a tecnologia quase sempre funciona e quando há uma execeção basta repolarizar alguma coisa para que tudo volte a ser como antes.

Stross, como qualquer um pode perceber ao ler o seu blog e seus livros, é alguém com um excelente domínio do que está acontecendo hoje no cenário tecnológico. Sua ficção, e de fato a maior parte da ficção científica moderna, não é mais uma exploração dos futuros possíveis, mas uma exploração do que está acontecendo hoje.

Eu não diria que Stross, ao escrever Glasshouse, estava criticando a tecnologia–embora o livro tenha uma abundância de descrições de eventos onde a falha de uma determinada tecnologia tem um papel fundamental. Antes, eu acho que ele estava mais interessado em explorar os cenários de fragilidade impostos por tecnologias restritivas como DRM. Um dos pontos chaves no livro são justamente as conseqüências de dados perdidos por tecnologias fechadas.

Recentemente, em uma discussão sobre a fragilidade atual da Web, eu mencionei que, embora favoreça uma visão otimista do futuro tecnológico, eu não descarto a visão correspondente do que ficou para trás. Já dizia Santayana que “aqueles que não se lembram do passado estão condenados a repeti-lo”. Nesse novo boom de aplicações Web, as ditas 2.0, esse erro exato está sendo cometido em uma grande escala. A única coisa que salva é que a vasta maioria das aplicações é uma demonstração da Lei de Sturgeon e, como tal, sem muitas conseqüências.

É irônico como as coisas são esquecidas. Há pouco mais do que quatro anos, uma worm chamada SQL Slammer infectou vinte dois mil sistemas, derrubando um sem número de sistemas e praticamente parando todos serviços de rede de um país. Três anos antes, Code Red infectara quase quatrocentos mil sistemas, trazendo imensos dados à infra-estrutura de então. E nenhum dos dois possuia um payload exatamente letal.

Fragilidade não é algo que será erradicado por mudanças tecnológicas. Cada nova geração traz consigo seus próprios problemas. Isso não significa, é claro, que isso deve ser visto com um fator de limitação. Ao contrário, inovação é fundamental como uma contra-medida aos problemas secundários na disseminação tecnológica.

As maiores questões de fragilidade, inclusive, não se encontram na arena tecnológica, mas na política. É o caso do DRM hoje, por exemplo. Tecnologicamente, DRM é um passo para trás mas a percepção de que o mesmo é valioso o mantém apesar das provas em contrário. E o DRM só existe porque não há nenhuma outra inovação que o torne irrelevante. A questão não é tanto a liberdade quando a remuneração devida.

Uma outra questão política é a isenção duvidosa da maioria dos serviços. Nada é garantido. Ao se ler qualquer termo de serviço atual, as únicas palavras ressaltadas são aquelas que dizem que, em caso de problemas, a culpa é de qualquer outro que não seja a parte responsável pelos serviços. AS IS é o componente primário de qualquer acordo atual e eu me surpreendo que ninguém ainda escreveu um texto com o título “AS IS considered harmful“. Seria um belo testamento à nossa era.

Uma notícia recente menciona uma empresa que transferiu todas suas necessidades de armazenamento e processamnento para o par Amazon S3 e EC2, cujos termos também removem a Amazon de qualquer culpabilidade em casos de perdas por partes dos usuários. Eu fico imaginando o que aconteceria com essa empresa caso a Amazon tenha um downtime inesperado. E a questão aqui não é nem mesmo o uso de AS IS. O mesmo é necessário, mas o que parece é que a percepção disso foi perdida. Eu não imagino que a Amazon tenha a menor intenção de permitir downtime e perdas eventuais. Mas eu fico pensando no dia em que uma worm específica for desenhada para explorar uma eventual vulnerabilidade nos serviços de processamento da Amazon levando a um desastre nas proporções de um Nimda ou Code Red.

Isto é fragilidade 2.0, um novo nível de falta de resiliência que ainda não está sendo explorado pelas novas aplicações. Sempre haverá pontos de falhas, mas reduzi-los é algo que pode e deve ser feito.

Inovações são necessárias no âmbito tecnológico para que barreiras políticas possam ser igualmente removidas. A Internet é um ambiente extremamente resistente, mas a combinação de política e tecnologia pode ser letal em alguns cenários e é importante ter isso em mente ao desenhar o próximo grande passo. Contra-medidas naturais sempre surgiram mas não é preciso ler Bruce Schneier para perceber que ação é mais importante que reação.

Antes que alguém diga que isso é alarmismo, basta olhar para os serviços recentes e pensar não só em sua parte externa mas nas conexões internas e nas dependências. O pior é também o melhor nesses casos e não custa fazer um esforço maior para criar algo belo e resistente.

Where Am I?

You are currently browsing the Tecnologia category at Superfície Reflexiva.