Category Archives: tech

Blog do Windows 7

A Microsoft está com um blog que torna mais transparente o processo de desenvolvimento do Windows 7. No blog eles também incluem outros posts sobre assuntos correlatos. Alta qualidade técnica. Vale a pena visitar. Alguns posts que achei interessante:

From Idea to Feature: A view from Design (como é o processo de decisão das funcionalidades até a implementação?

Engineering 7: A view from the bottom (como se estrutura o desenvolvimento de um software do tamanho do Windows? O autor tem mais de 15 anos de Microsoft e um dos bons blogs que leio com frequência. Adoro conhecer a razão histórica das decisões de arquitetura que convivemos até hoje. Sempre existe uma boa razão e um tradeoff sério que foi feito)

Windows Desktop Search (boa discussão sobre a forma de implementação do Desktop Search. preste atenção sobre os tradeoffs que são feitos numa decisão como esta)

Economia da segurança

(mais um da série relembrar é viver)

Existe sistema seguro? Na minha opinião, não. Existe sistema economicamente inviável de quebrar, sempre vivendo um eterno jogo de gato e rato. O ponto básico nesta discussão é que o problema técnico vem a reboque de um problema econômico. Por mais que nós, técnicos, fiquemos apaixonados com a idéia de colocar biometria em todos os computadores ou token-based autenthication para todos os usuários, temos que justificar isso economicamente.

Um exemplo de como o incentivo econômico muda o padrão de uso de segurança: os bancos no Brasil estão submetidos ao Código de Defesa do Consumidor – apesar de eles terem brigado muito contra – e por causa disso eles são, em linguagem de advogado, responsáveis objetivamente pelos vícios do sistema. Podem ser entendidos os vícios do sistema como erros de segurança. Nos EUA, o banco também é responsável. Já na Inglaterra, Noruega e nos Paises Baixos, é o cliente quem deve provar o erro do sistema. A depender de quem pagar a conta no caso de erro, há padrões de fraude e de investimentos completamente diferentes.

Outro exemplo: os ataques de DDOS. Caso os usuários detentores das máquinas capturadas fossem responsabilizados por participar dos ataques e tivessem que sofrer uma penalidade por isso, com certeza a incidência destes ataques diminuiria (considerações a parte sobre a transferência desta responsabilidade para uma Microsoft da vida).

Mais um exemplo: bugs de segurança em sistemas operacionais. Vamos analisar do ponto de vista de retorno. Caso você fosse um hacker com o objetivo de ganhar reconhecimento, iria trabalhar em cima de um bug do Windows, do Linux ou do MacOS? Qual daria maior retorno do ponto de vista de impacto? E se fosse do ponto de vista de retorno financeiro? Qual seria a decisão?

É uma briga complicada, semelhante à situação dos bandidos e da polícia do Estado de São Paulo. É muito mais simples atacar que defender. Se a Microsoft colocar 100 pessoas procurando bugs e do outro lado tiver um único hacker, a probabilidade das 100 pessoas acharem o mesmo bug que o hacker é pequena. Caso este hacker consiga achar um único bug, independentemente do esforço das 100 pessoas da Microsoft, o estrago está feito. É semelhante a polícia do Estado de São Paulo com cem mil homens e os bandidos com um número absurdamente inferior que conseguem espalhar o terror a toda população.

Hoje a Microsoft tem segurança como um dos pontos críticos. Dois anos atrás, ela parou todo o desenvolvimento durante um mês para retreinar todos os desenvolvedores no assunto segurança. Isso deve ter feito sentido econômico para ela. Para conhecer uma comparação entre bugs de vários sistemas, pode-se olhar aqui.

Analisando o caso do primeiro XBox, era um PC que estava sendo vendido com um custo menor que o de fabricação. A Microsoft colocou uma série de medidas de segurança, que foram quebradas por um hacker usando pouco dinheiro. Ele teve que monitorar a bus do chip gráfico, local em que se armazenava a chave de criptografia da primeira versão. O que mais preocupou a Microsoft não foi o sistema ter sido quebrado, mas ter sido quebrado com pouco dinheiro.

E a Microsoft está novamente envolvida em um caso como esse. No caso do Flex Go, plataforma da Microsoft para venda de PC´s baseados em assinaturas, já está sendo vendido no Magazine Luiza e o sistema de segurança é baseado em um hardware específico. Olhe o que a própria Microsoft coloca em um dos slides de uma apresentação sobre este assunto:
People

  • Good News à Most people are honest users
  • Bad News à A small minority of people in the world may want to circumvent the payment structure

Considerations

  • It is never possible to have a tamper-proof system
  • It is our desire to work with industry partners to make tampering with FlexGo systems inconvenient and uneconomic

No slide abaixo, vemos isso com maior detalhamento, as várias opções e as suas considerações:

  • O custo de quebrar o sistema deve ser superior ao valor das parcelas que ainda faltam ser pagas. Ex: um computador equivalente a R$ 1.000,00, em que as parcelas que ainda faltam ser pagas custam R$ 850,00, o custo de quebra do sistema deve ser superior a R$ 850,00, para tornar a opção inviável;
  • O valor de revenda dos componentes removíveis deve ser menor que o valor das parcelas restantes. Ex: a soma dos valores de revenda do HD e da memória deve ser de R$ 500,00, enquanto você ainda tem que pagar R$ 800,00.

E quando envolve muito dinheiro? Vamos imaginar um caso do sistema de tv paga via satélite. Todo ele é baseado em smartcards que são colocados no set top box e funcionam como chave. Se por acaso alguém quebre este sistema de smartcard, todo o modelo econômico vem por água abaixo.

Uma subsidiária (NDS) ligada à segurança da News Corp do Murdoch já foi acusada de ter contratado um hacker para quebrar o sistema da Vivendi, que, por causa deste feito, abriu um processo judicial contra a NDS no valor aproximado de um bilhão de dólares. A NDS, publicando esta informação na Internet, acaba com o modelo de negócios da Vivendi. Existem teorias da conspiração que indicam que um hacker envolvido no caso foi morto na Alemanha. Se tiver mais curiosidade sobre o caso, veja isso aqui e aqui. [o caso foi finalizado. olhe o resultado aqui]

Isso não acaba por aqui. A própria IBM foi acusada de tentar quebrar os sistemas de um escritório de advocacia que trabalha para um concorrente.

Em resumo, não vale a pena comprar um cofre de R$ 5.000,00 para proteger algo de R$ 500,00. Mas se houver muito dinheiro envolvido, de acordo com o padrão antes comentado de que é muito mais fácil atacar do que defender, nenhuma quantia seria suficiente e, neste caso, o máximo que se poderia fazer é gerenciar os riscos envolvidos.

JusBrasil Notícias Jurídicas

A empresa de busca baiana Goshme lança essa semana o JusBrasil Notícias Jurídicas (www.jusbrasil.com.br/noticias) um buscador vertical para notícias do direito brasileiro. Nele o usuário pode ver as notícias mais relevantes do dia, atualizadas minuto a minuto, e buscar por entre mais de 100 fontes especializadas.

O JusBrasil Notícias é o primeiro passo em direção a um projeto ainda maior, o JusBrasil Busca Jurídica, a ser lançado ainda esse ano, e que irá agregar em um só local não só notícias da área mas também todas as outras esferas da informação jurídica: legislação, jurisprudência, doutrina, informação dos diários oficiais e dicionários jurídicos.

América Latina para trás

Do blog do Luis Nassif

“(…) 1) Muitos latino-americanos acreditam que suas grandes universidades estatais são excelentes, mas na realidade elas são medíocres.

(…) 2) À medida que o número de alunos asiáticos nas faculdades dos EUA aumenta, o número de latino-americanos cai. A Índia tem 84 mil estudantes em faculdades americanas; a China, 68 mil; a Coréia do Sul, 62 mil. E a porcentagem de alunos asiáticos subiu 5% em 2006. Já o México tem apenas 14 mil alunos nas faculdades americanas. O Brasil tem 7 mil e a Venezuela, 4.500. Além disso, o número de estudantes latino-americanos caiu 0,3% no ano passado.

3) Enquanto os países asiáticos e do Leste Europeu estão produzindo engenheiros e cientistas em massa, a América Latina produz um grande número de psicólogos, sociólogos e cientistas políticos.”

Veja aqui

Balanced Scorecard, Métricas de Software, PNQ, ISO, CMM. Voc acredita?

Livro Metricas e Gerencia de PessoasMeasuring and Managing Performance in Organizations é um dos melhores livros que já li e deveria ser obrigatório para quem pensa, trabalha ou se relaciona com qualquer um dos assuntos acima. Oriundo de uma tese de doutorado premiada da Carnegie Mellon (berço do CMM) o livro cria um modelo simples com três participantes. Um chefe, um empregado e um cliente. Ele analisa o empregado que realiza um trabalho composto de várias atividades. Algumas são fáceis de serem medidas, outras não. O melhor resultado para o cliente é obtido com uma combinação destas atividades. No caso do chefe medir algumas destas atividades e não medir outras, ocorre uma disfunção, pois o empregado vai privilegiar a atividade que é medida, ignorando ou relegando as outras atividades, neste caso, apesar das mátricas estarem indicando um mar de rosas, o resultado final para o cliente não está. Ocorreu uma disfunção.Normalmente a resposta simplória para lidar com este problema, é criar um novo conjunto de medidas que monitorem todas as atividades. O autor mostra de forma repetitiva a quase impossibilidade de se alcançar este objetivo para trabalhadores criativos. As atividades não são repetitivas e fáceis de serem medidas. Aliás, boa parte do nosso fetiche por medidas é originário da nossa herança do modelo industrial que o trabalho é dividido no formato de Taylor. Taylor dividia o trabalho em pequenas partes que pudessem ser medidas e otimizadas. Funciona no caso dele pois o trabalho é repetitivo, mas alguem acha que o trabalho de design é repetitivo? Como medi-lo?

O autor não invalida completamente o benefício das medidas, mas ele discute largamente a questão se a medida é para gerar informação ou motivação. No primeiro caso, existem chances de sucesso. No segundo, o sistema sempre tenderá a ser burlado.

Um outro problema que pode ocorrer com a utilização de medidas motivacionais e a utilização de remuneração baseada nestas medidas. Um empregado que é motivado intrisicamente (o melhor tipo) quando submetido a um sistema de medida, pode quebrar a boa relação dele com a empresa e passa a ficar atento somente ao quadro de indicadores. Caso o quadro de indicadores não capture todas as facetas do trabalho de forma perfeita, estamos no inicio de um processo de disfunção. Você vai ter sorte se os seus empregados não se submeterem as suas medidas que podem ser estúpidas. (veja o caso no desenvolvimento do Macintosh e do WindowsMicrosoft programmers also became frustrated with IBM’s bureacracy and its use of lines of code to measure programmer productivity”). Não dê risada, o LoC do passado pode ser o nosso Ponto de Função de hoje.

O que ocorre com isso? Os melhores funcionários que são motivados internamente, no momento que você submete um sistema de medidas motivacionais, ele se desmotiva. Os funcionários medianos estarão sobre a pressão do seu sistema e vão tentar burla-lo de forma sistemática.

O autor continua a discussão passando por várias facetas. Ele não condena completamente os sistemas de medidas e discute como tentar implementá-los de forma eficiente, mas ele bate muito duro na dificuldade inerente deste processo. Um ponto interessante é a questão de utilizar um sistema puramente informacional que ele defende de forma sistemática. Neste caso as pessoas teriam confiança na organização e não burlariam o sistema de métricas. O autor entrevista uma série de pesquisadores da indústria e da academia sobre métricas de software. Ele utiliza a área de métricas de software para ilustrar o trabalho, pois é uma área que é complicada de se medir o resultado do trabalho e mesmo assim é amplamente estudada. Sobre o uso dos dados para gerar informação, sem gerar uma caça as bruxas o De Marco fala:

“It could be like the end of the Weimar Republic: The Weimar Republic had collected all kinds of data about names, addresses, and religions of people. Theu knew all the Jews were, and the census data was put to use by the Nazis.”

Ou seja como evitar que os dados coletados sejam utilizados para uma caça a bruxas? Ele no livro comenta de um caso de um sistema informacional que estava funcionando perfeitamente até a chegada de um vice-presidente na sala em que ficavam os gráficos. O vice-presidente achou aquilo tudo muito interessante e anotou alguns comentários. Depois deste dia o sistema foi por agua abaixo.

Um dos capítulos é chamado de The Measurements Disease ele analisa prêmios e programas como o Malcom Bridge (o nosso PNQ), ISO 9000 e CMM. O tí­tulo do capítulo já revela o que ele acha destes programas.

Ele tambêm tem um capítulo dedicado ao cinismo das medidas. Ele elabora um raciocí­nio que em muitas organizações as medidas já são realizadas de forma que proteja a própria gerência e assim se perpetuam estas pessoas.

Finalmente quando ele entrevista os oito experts da área de métricas de software acontece um padrão interessante. Ele divide os entrevistados em dois grupos. De um lado está o grupo da indústria, do outro lado o grupo da academia e de consultores. O grupo da indústria concorda amplamente com o modelo que ele propôs e as disfunçõees causadas por programas de medidas ao contrário do grupo de consultores que discorda do modelo e acha que medidas somente causam disfunções se mal implementadas. Somente um consultor concordou com o modelo dele. Em suma. O pessoal da indústria sofre na pele os sistemas que implementam. Os consultores implementam o sistema em um lugar e partem para a próxima. Em quem você confia mais? Ou parafreseando o Alan Greenspan quando discutia com algumas pessoas: “Se eu conseguisse convencê-lo de que seus argumentos estão errados, você teria condições de, no atual emprego, mudar de opinião?” (ele nunca perguntou isso, mas já teve vontade, citando nominalmente o Craig Barret, da Intel, sobre a forma de contabilizar opções e o premier da China, Li Peng, sobre capitalismo x comunismo. Será que um consultor pode mudar de opinião considerando o atual emprego?)

Finalizando. Não nos esqueçamos da frase do Churchill. “It has been said that democracy is the worst form of government except all the others that have been tried.” Ou seja, métricas estão aí­ para ficar, não conseguimos inventar nada melhor, é necessário medir o que é feito. A única questão: não criar um fetiche por estes números e entender que implementar um sistema de medidas é intrisicamente difícil. Como prêmio para quem chegou até aqui neste longo post, eu deixo o último capítulo do livro, são somente 3 páginas (1.3Mb).  A Difficult But Solvable Problem