Erros que alegram o dia…

08/09/2009 22:53

Esse post era pra ter saído na sexta-feira passada, mas não tive tempo no dia, então vai hoje mesmo. Estava eu no final do expediente – o que pode significar num bom dia um horário entre 18h e 20h :) – escrevendo um código de complexidade razoável, quando me deparei com o seguinte erro:

ErroGZip

O erro estourou no seguinte trecho:

using (GZipStream file = new GZipStream(fileStream, CompressionMode.Decompress, false))

A mensagem apesar de não dizer muita coisa (diretamente) me fez notar que o erro estava no modo de compressão, o certo era CompressionMode.Compress. Após alterar o código tudo funcionou corretamente.

Havia mostrado o erro a um amigo e notei o espanto dele ao ler uma mensagem de erro tão pitoresca, afinal tratava de um “número mágico incorreto”. O fato é que, infelizmente, na máquina estava instalado o pacote de idiomas do framework 3.5 para o português, o que não ajudou em nada.

No contexto de arquivos, Magic Numbers são os primeiros bytes que identificam um tipo de arquivo unicamente, por exemplo, um PDF ou um arquivo ZIP. Alguns números mágicos ficaram famosos pela peculiaridade das palavras que eram criadas no formato hexadecimal, seguem alguns exemplos:

Magic Number Description
DEADDEAD A Microsoft Windows STOP Error code used when the user manually initiates the crash.
DEADBEEF Famously used on IBM systems such as the RS/6000, also used in the original Mac OS operating systems, OPENSTEP Enterprise, and the Commodore Amiga. On Sun Microsystems' Solaris, marks freed kernel memory (KMEM_FREE_PATTERN)
CAFEFEED Used by Sun Microsystems' Solaris debugging kernel to mark kmemfree() memory
C0DEDBAD A memory leak tracking tool which it will change the MMU tables so that all references to address zero

Fala a verdade, pegar um erro desses alegra ou não o dia? É… não alegra, eu sei.

ASP.NET



ASP.NET Chart Control (e uma singela dúvida)

25/11/2008 23:29

Acabo de fazer alguns testes com o ASP.NET Chart Control para o Framework 3.5, pelo que entendi o developer do Dundas (Alex Gorev) foi para a Microsoft, e usou toda a sua experiência para desenvolver o componente. Segue os links com tudo que é necessário:

Chart Controls for .NET Framework
Chart Controls for .NET Framework Language Pack
Chart Controls Add-on for Visual Studio 2008
Chart Controls for .NET Framework Documentation
Chart Controls Forum 

Bem, após brincar um pouquinho com o controle, rememorar algumas vezes que sofri para colocar gráficos em aplicações web e winforms, inclusive de ocasiões que me "lasquei" usando OWC, uma perguntinha simples não para de martelar na minha cabeça: Por que não lançaram esse controle há alguns anos atrás? Custava?

P.S.: Tá, sei que podíamos usar o Reporting Services em alguns casos, o SharePoint, o próprio OWC e mais um monte de outros controles (até gratuitos) para termos gráficos no ASP.NET - inclusive escrevendo tudo na mão - mas precisava demorar tanto?? Que perguntinha chata...

Abraços.

ASP.NET