quinta-feira, 4 de setembro de 2008

Vulnerabilidades no Chrome

http://ultimas-noticias.org/tecnologia/vulnerabilidade-no-google-chrome-expoe-usuarios

Parece que um IE ganhou um forte concorrente... em todos os sentidos :-)

Brincadeiras a parte, essa vai ser uma experiência muito interessante porque vai nos permitir
observar como as duas empresas (Google e Microsoft) se comportam com relação a tratamento de vulnerabilidades em seus aplicativos. Varrer para debaixo do tapete pode não ser mais uma opção por questão de concorrência.

Outro aspecto interessante que observo é que o Chrome será muito mais visado do que o Firefox e quase tão visado quanto o IE, então será um bom laboratório para validar toda a ideologia open source sobre qualidade, etc etc etc. (Eu disse open source! Não Software Livre!).
Minha aposta é que esse jogo vai ficar empatado.

Acredito que a credibilidade de uma empresa do mercado de software depende muito pouco dos bugs (a MS teve um tempo que abusou, mas está muito melhor). O que importa mesmo é como e quão rápido a empresa reage para corrigir as falhas. Isso gera a segurança necessária para o cliente aderir uma solução. A transparência também conta.

quarta-feira, 3 de setembro de 2008

Como (não) lidar com DataBinding Bugs

Estudando a fundo ADO.net para windows forms, percebo algumas coisas muito chatas dentro da Microsoft. Principalmente na forma como se encara pedidos para corrigir bugs incrivelmente simples de solucionar e que poderiam estar no .net 3.5 SP1.

Aliás, falando de Bugs, Windows Forms DataBinding no .net está infestado deles, é como um campo minado: funciona aquilo que está nos exemplos do MSDN e um pouco mais, mas se você quiser entrar a fundo, vai ter que lidar com alguns workarounds. Funciona, mas existem tweeks delicados.

Toda vez que vejo um link para esse site do programa connect, nunca tenho sorte, todos os bugs realmente reconhecidos pela corp ficam marcados como fechados e nao solucionados.

https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=263812&wa=wsignin1.0

O desenvolvedor que postou esse bug ainda se deu ao trabalho de fornecer a solução, mas vejam a resposta do funcionário da MS.

“Para garantir nossos releases futuros na mais alta qualidade, estabilidade e facilidade de instalação, nós estamos evitando realizar mudanças arquiteturais significativas em algumas partes do produto. Baseada em nossa investigação, a correção mais indicada requereria tais mudanças”

To ensure our next release is of high quality, stable and easy to install we are refraining from making significant architectural changes in some parts of the product. Based on our investigation, the most reasonable fix for this bug would require such changes.”

Arquiteturais significativas??? É só trocar um método pelo outro, pois a implementação que foi realizada não contempla interfaces, e a proposta de solução contempla.

Se essa seria uma mudança "arquitetural" prometida para o próximo release que seria o .net 3.5 SP1, porque então eles não incluíram isso? Vai entender...

terça-feira, 2 de setembro de 2008

Oops


Alguém esqueceu de setar custom errors... :-) Prato cheio para hackers...
Será que o trace tá ligado também?

ASP.NET MVC Preview 5

Saindo do forno essa semana está o Preview 5 do ASP.NET MVC.

O Projeto caminha com um numero de inovações cada vez maior, embora num nível de abstração superior a dos primeiros previews. Pouca coisa mudou na estrutura. O time começa a preparar agora as funcionalidades de alto nível. Ainda não chegamos no AJAX, mas funcionalidades como validação, formas melhores de escrever código e novos auxílios necessários para o controle de estado estão contemplados.

Uma coisa muito interessante é a criação de Model Binders, que tornam o processo de binding de dados vindos de um formulário web bastante extensíveis, com muito pouca linha de código escrita. Abaixo está um dos três modos (esse é inline) que possibilitam o controler validar dados de entrada.Fonte: Blog do Scott'Gu.

Vale a pena ler o blog do Scott'Gu (que voltou de férias) e conferir as últimas novidades.

Um grande abraço!

terça-feira, 26 de agosto de 2008

Community Zone 2008



Olá galera.

Esse fim de semana a comunidade curtiu o Community Zone. O evento foi bacana pacas, deu pra ver, conversar e trocar idéias com o pessoal que faz e acontece nas comunidades. Este ano, a realizou paralelamente o encontro dos MSPs (não sei o nome do evento).

Muitas idéias rolaram nas mesas redondas sobre como ajudar a Microsoft a atingir um grau de adesão maior as tecnologias. Achei extremamente produtiva a conversa com o Danilo Boldini e o Alexandre Prado na mesa de Open Source, procurando sempre buscar alternativas para expor da melhor forma as iniciativas de interoperabilidade da Microsoft. Se nossos posicionamentos forem realmente ouvidos, muita coisa começará a mudar pelo MSDN e no TechNet. Sugerimos a utilizarem como referência o modelo de sucesso do portal http://asp.net.


Conheci muita gente legal das comunidades no evento e vou mandar um abraço especial pro pessoal que eu conheci, principalmente pra "equipe 5" :-), para o André Luis Cerosi, o Bruno Velaz, Rodrigo Kono, Marco Aurélio de BH , o Gustavo de Campo Grande, Felício de Recife e o meu grande conterrâneo Emílio Mansur. Abração pra vcs!
Agora, perceberam uma coisa na Foto? Quem e o cara que mais ocupou espaço nessa foto? Tinha que ser o Jenner mesmo né? :-))))

quinta-feira, 31 de julho de 2008

Dissecando Win Forms Binding e BindingSource

Navegando pela internet procurando informações sobre o funcionamento de binding em Windows Forms (que é um pouco diferente do ASP.net) encontrei uma joia rara no code project, com direito a comentários sobre o funcionamento interno dos recursos do binding source. Para quem quer se aprofundar no assunto, é imperdível.

http://www.codeproject.com/KB/miscctrl/databinding_tutorial.aspx

Realmente é uma obra de um doente, deus dos nerds, mas quem disse que ele não é? Afinal, quem começa a desenvolver aos 11 anos (ele diz isso no profile dele) não pode ser considerado um cara normal!
Eu estava jogando bola e empinando papagaio quando eu tinha 11 anos. :-)

sábado, 19 de julho de 2008

ASP.NET MVC (Melhores momentos)

Olá pessoal!

Depois de um bom tempo sem blogar, agora, formado :-)
surgiu mais tempo para retormar alguns projetos, e um deles é o blog.

Nesse post, vou mudar um pouco o foco e falar sobre desenvolvimento MVC. Que é um modelo muito usado em projetos Open-Source:
http://en.wikipedia.org/wiki/Model-view-controller

Vendo o crescimento de plataformas como o Rubi-on-Rails baseados nesse padrão arquitetural, a Microsoft se preparou logo para a criação de um padrão de desenvolvimento Web que atendesse a esse público e criou o ASP.NET MVC. Vale atentar para o fato de que já existe um padrão MVC para .NET: o MonoRail.

Como nos últimos tempos muita gente tem falado sobre MVC, resolvi preparar um guia de links para intruduzir as pessoas nessa tecnologia e apresentar blogs que falam sobre o tema:

Considerações iniciais sobre o ASP.NET MVC Framework (Ricardo Oneda): http://www.linhadecodigo.com.br/Artigo.aspx?id=1602

Desvendando o MVC (Ricardo Oneda):
http://www.linhadecodigo.com/Artigo.aspx?id=1634

Criando Aplicativos Web Sem WebForms (Chris Tavares):
http://msdn.microsoft.com/pt-br/magazine/cc337884.aspx


Bom, depois desses artigos, muita coisa rolou no desenvolvimento do projeto ASP.NET MVC. Vieram os Previews 2 e 3, e nos últimos dias, liberaram o preview 4, e segundo os comentários do Scott Guthrie ( o Beta 1 não deve demorar muito ).

Para acompanhar o que há de mais quente nessa tecnologia, o blog dos Scotts (o Guthire e o Hansellman) são as melhores fontes de informações. Um com as novidades e alguns tutoriais, e o outro com vídeos e aplicações completas.
Scott Gu
http://weblogs.asp.net/scottgu/search.aspx?q=MVC&o=Relevance

Scott Hanselman
http://www.hanselman.com/blog/


Vale lembrar que se você gosta de WebForms e "não quer se separar dele", não se preocupe, os dois modelos coexistirão.

O que ninguem ainda sabe é se o ASP.NET vai sustentar duas bibliotecas de controles diferentes ou se os projetos MVC e WebForms convergirão nesse ponto.
Acho complicado unir as duas tecnologias, afinal, o comportamento de um System.Web.UI.Controls.TextBox (com viewstate e tudo mais) seria um pouco diferente no MVC, já que o viewstate não é suportado, e todo o ciclo de vida de um WebForm não é seguido dentro do padrão MVC. Talvez eles mantenham as tags "asp:" por questões de portabilidade de código, mas seu funcionamento interno será distindo. Em paralelo a isso, o MVC tem implementado uma coletânea de ExtensionMethods denominados HtmlHelper methods para renderizar controles. Nesse ponto, voltamos a era ASP.

Outra coisa que intriga um pouco é a forma como o time do projeto ASP.NET MVC vai lidar com AJAX, que foi uma das grandes investidas do ASP.NET 3.5 e mantém uma comunidade atuante, mas não é compatível com MVC. Acredito que o MVC vai procurar ser "plugável" nesse ponto, mas que vai passar a bola para o ASP.NET AJAX através de alguns "açúcares sintáticos". Se eu pudesse apostar, diria que eles vão utilizar um novo recurso denominado Filters Interceptors para implementar funcionalidade ajax nos Controllers, mas tenho grande curiosidade em ver como as views vão tratar isso.

O grande problema que envolve o AJAX é que ele pode desvirtuar a filosofia MVC se ele aproximar demais a View dos Controlers. Afinal, Em teoria, um controller deve ser "agnóstico" quanto a views. E o ajax é uma tecnologia que funciona nas views e não deveria, em tese, ter qualquer relação com os controllers clientes, mas não acredito que tenha um meio de descascar esse abacaxi facilmente.

Para não dizer que tudo são flores, indico também a leitura de um artigo do Dennes torres apresentando sua análise sobre o padrão:
http://www.devaspnet.com.br/colunas/coluna0136.aspx

Eu não concordo em tudo do que ele fala, principalmente na conclusão, acredito que grandes projetos tem um potencial de serem melhor escritos em MVC do que WebForms através de TDD, mas acho uma leitura importante para manter um olhar crítico sobre a tecnologia e não se encantar apenas por ser novidade, em outras palavras, manter seus pés no chão. :-)

Até a Próxima!