Hoje recebi um e-mail de um amigo dizendo que haviam "infectado o orkut", quando li, logo imaginei que seria so mais um do tipo "vejam as fotos do acidente da TAM", mas ao ler a estoria por completo pelo site do Terra entendi do que se tratava.O "virus", como o autor denominou, apenas aproveitava de uma falha do proprio orkut para se espalhar, falha esta que ja foi corrigida. Mas o que mais me surpreendeu, foi que esse 'tal virus', foi escrito por um de meus antigos amigos que conheci la mesmo pelas bandas do orkut. Acho fantastico como as pessoas possam evoluir, aprender em tao pouco tempo(mesmo que nao usem este conhecimento proveitosamente), quando conheci o Rodrigo a quase um ano e meio atras, ele ainda estava iniciando no mundo da programacao, tinha problemas em assimilar a diferenca entre Java, linguagem de programacao, e Javascript, linguagem de scripting. Hoje, ele e um dos maiores programadores em PHP que conheco, possui otimos conhecimentos em Javascript, tecnologias relacionadas a Web e pelo que podem ver, esta sendo um terror para a staff da google, com sua 'pericia' em descobrir falhas de XSS e Deface(vejam no blog dele suas outras facanhas).Embora o seu script nao tenha sido original, veja a historia Samy is my hero em ingles , mostra uma nova forma de 'worms' muito mais poderosa, e que se voce, desenvolvedor, nao tomar cuidado pode acabar tirando o seu emprego(Ou fazendo voce ir trabalhar as pressas no meio da madruga:D). Que o livro oficial da Microsoft para a prova 70-536 esta coberto de erros, nao preciso dizer, mas alguns sao realmente irritantes, hoje estava relendo o capitulo 9, Installing and Configuring Applications, uma das mais interessantes do livro (ainda vou escrever um post sobre ele) e de novo esbarrei em alguns dos seus erros, porem o que mais me irritou foi os das paginas 490/491, primeiro o ultimo paragrafo da pagina 490, iniciado em "In the previous versions of the Framework, no real distiction was made..." e repetido inteiramente na pagina 491 e para piorar o exemplo de codigo da pagina 490 esta totalmente incorreto! O problema e que eu ja havia lido esta parte e este segundo erro me passou despercebido, sem falar que ja havia conferido sobre todas as erratas no site de suporte da microsoft... Hoje porem, como estava lendo com mais atencao notei a discrepancia, que faco questao de postar abaixo:NameValueCollection AllAppSettings = ConfigurationManager.AppSettings;Int32 Counter = 0;IEnumerator SettingsEnumerator = AllAppSettings.Keys.GetEnumerator();while (SettingsEnumerator.MoveNext()){Console.WriteLine("Item: {0} Value: {1}", AllAppSettings.Keys[Counter],AllAppSettings[Counter]);}Bem no final, dei uma nova conferida na pagina de suporte e vi que este erro ja havia sido relatado, abaixo o codigo correto(segundo a Microsoft):NameValueCollection AllAppSettings = ConfigurationManager.AppSettings;IEnumerator SettingsEnumerator = AllAppSettings.Keys.GetEnumerator();while (SettingsEnumerator.MoveNext()){Console.WriteLine("Item: {0}Value: {1}", SettingsEnumerator.Current,AllAppSettings[(string)SettingsEnumerator.Current]);}Como a pagina foi revisada pela ultima vez em novembro deste ano, creio que este tenha sido incluido la (ou nao) bem depois de minha ultima visita, de qualquer forma, aos que estao lendo este mesmo livro, tomem cuidado para nao 'aprenderem o que nao devem'. As vesperas da prova 70-536 hoje acessei o site da prometric para marcar meu