Anti pop-up-killer?

O pessoal da Folha Online publicou um artigo anunciando um software novo que restringe a ação dos bloqueadores de pop-up. Visitei o site da empresinha de quem eles falavam.
Sabe esses scripts que a molecada coloca nos sites pra bloquear o botão direito, criptografar[bb] o fonte e etc? Os caras vendem essas coisas!
O pessoal da Folha devia pensar um pouquinho antes de sair publicando qualquer coisa assim. Pelo menos o artigo terminou bem:

Claro: o software “Anti-Theft” pode ser uma solução. Mas, certamente, encontrar outra forma de anunciar na internet também é outra.

Acessibilidade Brasil

Site interessante: http://www.acessibilidade.com.br.
Além do conteúdo, muito interessante, há um detalhe técnico a ser notado: quem enxerga e tem o plugin do Flash disponível vai ver uma animação em Flash[bb] na abertura do site (infelizmente, a animação está bem chumbreguinha), deficientes visuais e pessoas sem o plugin poderão navegar normalmente. Naveguei inclusive usando o Lynx e o site está completamente acessível.

Estatística Javascript

O Murch pediu, na lista ASPBrasil, um jeito de calcular o desvio médio. Daí pensei que seria interessante criar uma porção de funções estatísticas para ser adicionadas como métodos ao prototype da classe Array.
Já fiz as funções de média e desvio médio, estão em http://blog.elcio.com.br/desviomedio.html, se você quiser colaborar com alguma função, será muito bem-vindo.

getYear (o maldito IE de novo!)

O Roberto, do blog Bom Tempo, publicou um post falando de um erro na página do Charlab, que ele atribui ao bug do milênio.
A data, segundo o Roberto, está aparecendo com o ano 102. Acontece que, se você visitar a página do Charlab com IE não vai ver erro nenhum.
Ele deve ter feito a página e testado apenas no IE. Para montar a data ele usou o método getYear da classe Date. No IE o método getYear retorna, erroneamente, a data completa. Nos outros navegadores ele mostra quantos anos se passaram desde 1900, o que está de acordo com as documentações. A documentação da Microsoft diz que o método é obsoleto, e eles o mantiveram apenas para garantir a compatibilidade. Se foi por isso, por que então mudaram o funcionamento do método?
Use, no lugar do getYear, o getFullYear, que retorna sempre o ano com quatro dígitos, em qualquer navegador.
Se você tiver um script longo, cheio de getYears, e quiser fazê-lo funcionar, basta dar um Find/Replace. Mas suponhamos que, por algum motivo, você não queira fazer isso. Coloque, no começo do seu script:

 Date.prototype.getYear=function(){
     return this.getFullYear()
 } 

Revisão no layout

Mudei duas coisinhas:

1. Diminui o tamanho do texto (foi pra me adequar ao hype, mas você pode mudar sempre que quiser o tamanho do texto usando o recurso do seu navegador.)
2. Voltei as cores dos links para o default. Me converti. Após ler um pouquinho no Usabilidade.com, resolvi que vale a pena abrir mão das cores “legais”[bb] que eu pus nos links em favor do usuário. Confesso que foi com uma dorzinha no coração.

Cores dos links

E por falar em cores dos links, dei uma pesquisadinha e descobri que tem muita gente séria que mantém os links com suas cores default. Por exemplo:

Portais/Buscadores:Google,Yahoo!,Altavista
Comércio/Leilão:Land’s End,Amazon.com,eBay
Tecnologia:Microsoft,Apple,IBM

Em alguns a home e os menus tem os links um pouco diferentes, mas em todos o link no texto é igual: azul e sublinhado. Você acha que esse pessoal resolveu manter os links dessa cor porque eles ainda não aprenderam aquele css[bb] “legal” que deixa os links coloridinhos?

Tidy facilita a vida

Você, como eu, odeia identar o código HTML[bb], mas faz mesmo assim? Caramba, você ainda não conhece o Tidy??? Ele limpa o código, identa, corrige tags não fechadas e, de quebra, ainda faz upgrade de suas tags fonte pra CSS.
E o melhor é que funciona mesmo!
Pra XHTML, eu uso direto: tidy -asxhtml -latin1 -icm arquivo.html
Até criei um BAT, pra onde apontei uma Tool do Textpad. Se você usa Textpad, pode baixar o BAT aqui e criar uma Tool apontando pra ele.
Acredite, facilita muito a vida.

PDF sem componentes ou Lib's

Dá uma olhada no que esses caras fizeram!
http://www.ros.co.nz/pdf/
Quero um treco desse em ASP[bb], alguém se habilita a fazer?
E, pra falar no assunto, se você tiver que trabalhar com PDF’s e ASP, dependendo do que você tem que fazer, é possível gerar PDF’s dinâmicos sem componentes e sem ter o Acrobat[bb] no servidor. Você pode:
1. Escrever um XSL que gera PDF. É trabalho pra maluco, mas funciona!
2. Dar uma olhadinha nos arquivos FDF, são arquivos que guardam dados de formulários PDF. Você pode fazer um ASP que gere um FDF que o browser do camarada vai abrir u PDF correspondente com os dados do FDF.

Desafio ASP+Javascript

O pessoal da desenvolvedor-web está com um desafio interessante… Criar um código javascript[bb] que pode ser executado mas não pode ser lido no cliente.

As regras são as seguintes:
1. Você tem que criar um script contendo:
//Aqui vai sua frase secreta.
alert(“Hello World!”)
2. Esse script tem que ser executado numa página asp[bb].
3. Você dá o endereço de sua página asp pro grupo. O meu, por exemplo, é http://blog.elcio.com.br/desafio.
4. Alguém tem que descobrir a frase secreta escrita no comentário.

As regras para quem vai tentar quebrar o script são:
1. Você não pode usar outro navegador que não o Internet Explorer. Também não pode desenvolver seu próprio navegador ou outro programa com esse fim.
2. Você não pode usar um proxy ou firewall para descobrir o código. Não vale olhar os logs do proxy.
3. Você não pode usar um sniffer.

Se você descobrir um jeito de quebrar o código de alguém, você precisa contar como foi. Se alguém quebrar o seu, você precisa mostrar o código. Funciona assim para que todos possamos aprender com a experiência.
Se você quiser tentar a sorte, entre no grupo… Tem um bocado de gente boa lá construindo e quebrando essas coisinhas. Se você se acha um bom hacker e quiser tentar quebrar o meu também fique à vontade. Eu garanto que é possível.

Itaú X Opera

Peguei uma mania curiosa, sempre que estou com pressa abro o Opera ao invés de abrir o IE. Hoje resolvi ver o saldo bancário. Abri o Opera e mandei ver: www.itau.com.br. Recebi uma mensagem que dizia o seguinte:

O seu browser não suporta javascript[bb] de forma adequada.
Recomendamos a instalação de uma versão mais atual.
Obrigado.

Acontece que não há uma versão mais atual do Opera do que a que eu estava usando! Um amigo, que já havia feito a experiência, me deu a dica. É só mandar o Opera se identificar como IE (aperta F12) que funciona. Funciona tudinho. Acessei o bankline e tudo. Como é que meu browser não suporta javascript de forma adequada?