Crítica ao Gmail

Boa crítica à interface e sistema Gmail pode ser lida aqui. Concordo com a maioria delas, mas (imho) o Gmail ainda continua sendo o melhor serviço de e-mails existente, especialmente porque posso usá-lo com o meu domínio.


Australopithecus Hi-Tech

Equanto uns estão curtindo a vida na Grécia, outros trabalham duro (afinal, alguém tem que fazê-lo). Esta semana começa com uma excelente notícia. Douglas Camargo, amigo querido, que já escreveu algumas vezes aqui para o CFGIGOLÔ, agora mantém um blog sobre tecnologia e assuntos gerais. O nome é bastante sugestivo:

Australopithecus Hi-Tech

Confira e adicione ao seu favoritos.


Aniversário de 10 anos do Flash

A Adobe colocou um hotsite no ar sobre os 10 anos da tecnologia Flash (basta clicar no botão de “Launch”). Vale a pena ser visto para conhecer mais sobre a história e evolução da tecnologia, exemplos do passado e do futuro, conhecer o que estar por vir e e interagir com a aplicação, que fornece uma “engaging experience” no melhor estilo Flash de ser! 🙂


Fotos do Lançamento do Flex 2 e Encontro de Agosto do AUG-SP

As fotos do evento já foram postadas no site do AUG-SP, bem como uma descrição do que aconteceu por lá.

Confiram!


Lançamento do Flex 2 no Brasil – Encontro de Agosto do AUG-SP

O encontro do mês de agosto do AUG-SP será no dia 23 de Agosto, quarta-feira. Esse evento, que foi organizado em conjunto com a Adobe do Brasil, marcará o lançamento do Flex 2.0 no Brasil! Terá um foco gerencial sobre o Flex 2.0 e não serão debatidos aspectos técnicos da plataforma.

Data: 23/08/2006
Horário: 19:00 as 20:30
Local: WTC Club, Sala La Havre.
Av. das Nações Unidas, 12.551.
São Paulo – SP

Agenda:
– Welcome Coffee
– Abertura e Adobe – Luis Carselle, Adobe México
– Momento de Mercado – Douglas Camargo, AUG-SP
– Flex 2.0 – Fabio Terracini, AUG-SP
– Coffee-break
– Caso de sucesso Odebrecht – Fabio Terracini, AUG-SP
– Perguntas e Respostas

Informações para inscrição no site do AUG-SP.


“Bug no [coloque aqui sua tecnologia, produto, …]!!!!”

Dia desses, quando estava dando uma olhada em fontes de ajuda para o Hibernate, achei uma página indicando como pedir ajuda para o Hubernate.

Essa página indica links interessantes, como demos, documentações, exemplos e dicas (algumas quase óbvias) de como pedir ajudas em listas de discussão. Mas o que mais me chamou atenção foi o ítem Don’t blame Hibernate. 99% of posts titled “bug in Hibernate” are simple user error. This is very annoying for all of us.”.

E realmente isso é procedente. A quantidade de mensagens na lista FlexCoders ou na lista CF-Brasil indicando possíveis bugs nos produtos é enorme, e a maioria delas é por uso incorreto da tecnologia! Já vi “bugs” em que uma determinada propriedade era case sensitive (o que é padrão em ActionScript e linguagens tipadas de programação), “bugs” de variáveis que não podem comecar com letras (o que é comum em muitas linguagens de programação), “bugs” em packages que não podem ter espaço (o que é padrão e completamente aceitável em linguagens como Java e ActionScript), e outros comportamentos completamente comuns que simplesmente eram encarados como bugs por desenvolvedores que não conheciam a tencologia, que não se deram ao trabalho de procurar sobre na documentação ou os piores tipos, os donos da verdade, que subjulgam a tecnologia, os que se acham donos da verdade…

Se não me engano até existiu um site chamado “ColdFusion Bug Hunting” (ou algo assim) cujo objetivo era catalogar os bugs conhecidos no ColdFusion, ainda nas versões 4.5 e 5. A idéia do site era bom, se não fosse o que lá estava cadastrado, que eram todos comportamentos comuns, e os “bugs” eram oriundos de códigos mal escritos.

Portanto (e aqui parafraseio na integra a página do Hibernate), não culpe a tecnologia.


Promoção Livraria Tempo Real

A Livraria Tempo Real frequentemente promove “saldões” de livros de informática e aplica descontos generosos (de até 92%) sobre os mesmos. Veja o último grande saldão aqui. Tem muita coisa boa e barata!

[via BR-Linux]


Microsoft Virtual PC 2004 agora é de graça

Similar ao VMWare Workstation, o Virtual PC 2004 agora é licenciado gratuitamente pela Microsoft. Confira e faça o download aqui.

UPDATE: agora é a vez do VMWare Server ser gratuíto. Quer coisa melhor?


Visual Studio 2005: campanha de marketing engraçadinha

Alguns videos engraçadinhos (em Flash) podem ser vistos no site Visual Studio 400 differences da Microsoft. São curtos e divertidos (e sim, nerds também). Gostei do espadachim e do cara que foge do sol (sintomas típicos de loucura de programador). Vejam aqui.


Clique para ativar e usar este controle

Foi disponibilizado no início do ano uma atualização para o Internet Explorer 6, que faz com que seja necessário “ativar” um conteúdo ativo (um Flash, Shockwave, Applet, etc) clicando nele antes de efetivamente utilizar. Essa atualização de conteúdos ativos (Active Contents) está associada ao artigo KB916281 da Microsoft e disponível para download automático no Windows, manualmente via Windows Update e também manualmente via download do site do Microsoft.

clique_para_ativar_este_controle.gif
Exemplo no site Submarino, que ainda não atualizou a inserção de conteúdos em Flash em seu site

Como essa atualização gerou uma certa polêmica (e boa parte dela por que os desenvolvedores não atualizaram seus sites, o que é incrível, já que a Microsoft disponibilizou ainda no ano passado informações sobre a atualização), há também um artigo no Knownledge Base no site da Microsoft de como voltar ao comportamento anterior (KB917425), e igualmente uma atualização pode ser baixada.

Um grande incômodo para os usuário (que pode nem saber o que fazer) ou ainda impedir com que a experiência seja a planejada. Apenas um “tooltip” é mostrado para ao usuário com a mensagem “Clique para ativar e usar este controle” (“Click to activate and use this control” no software em inglês).

Pode parecer uma insanidade, e realmente é. Isso ocorreu porque a Microsoft perdeu um processo judicial sobre o modo como seu browser lida com “Active Contents”, mais precisamente como controles ActiveX (O Flash Player para o IE é um ActiveX) podem ser ativa.dos A Microsoft, que não é boba nem nada, já havia disponibilizado desde Novembro do ano passado um workaround para isso. O workaround é, basica e sucintamente, gerar a tag object via um JavaScript externo (importante ser externo, pois se o JavaScript estiver no próprio arquivo HTML também será pedido para o visitante “ativar o controle”) ao invés de “embeda-la” (inseri-la) no código HTML diretamente. Eu disse que parecia insanidade…

A Adobe, claro, já incluiu esses workaround em seus produtos sob a forma de patchs. Há, por exemplo, uma atualização para o Flex 1.5 que faz com que o código HTML gerado (a tag object) seja diferente, de modo que o usuário não precise clicar para habilitar o conteúdo. Para os FlashForms do ColdFusion 7 também há houve um HotFix. Hoje ele não é mais necessário em vista do ColdFusion 7.0.2. Vale ressaltar que o Firefox não é atingido nem tem relação com essa atualização de ativar conteúdos do Internet Explorer.

Nos projetos que participo tenho utilizado um arquivo JavaScript (AC_RunActiveContent.js) proposto pela própria Adobe (http://www.adobe.com/devnet/activecontent/articles/devletter.html), que é bem simples e fácil de usar. Como os “embeds” dos arquivos em Flash em um projeto costumar ter as mesmas propriedades (de tamanho, cor e afins), também crio um JavaScript adicional – e é ele que chamamos em nossas páginas HTML. Por exemplo:

function embedFlash(url) {

AC_FL_RunContent(
‘codebase’,’http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0′,
‘width’,’100%’,
‘height’,’100%’,
‘src’,url,
‘quality’,’high’,
‘pluginspage’,’http://www.macromedia.com/go/getflashplayer’,
‘movie’,url,
‘allowScriptAccess’,’sameDomain’,
‘bgcolor’,’#ffffff’,
‘wmode’,false
);
}

Essa função pode ser customizada, como por exemplo, adicionar parâmetros de tamanho, transparência e afins, de acordo com as necessidades. Para utilizar, em páginas HTML, basta importar as funções e chamar a função embedFlash():

<script type=”text/javascript” src=”AC_RunActiveContent.js”>
<script type=”text/javascript” src=”EmbedFlash.js”>

<script type=”text/javascript”>embedFlash(‘Aplicacao.mxml?paramID=33’);

Note que para a função embedFlash() acima, personalizada, não há necessidade de passar a extensão do arquivo, e portanto o mesmo é valido para o método AC_FL_RunContent(), da própria Adobe. Este método adiciona a extensão “.swf” automaticamente. No caso do Flex 1.5, como os arquivos são compilados no servidor, acessa-se “App.mxml.swf”, por isso da extensão .mxml no exemplo acima. No caso de arquivos compilados localmente, como no Flex Builder 2, não haveria extensão, por exemplo. Vejam também que é possível passar parâmetros via URL.

O pessoal da área de TI pode reverter a atualização nas máquinas dos usuários (dos que tem a máquina atualizada), mas também é responsabilidade dos desenvolvedores atualizarem seus códigos, ainda mais com o grande prazo de divulgação das informações antes da efetiva atualização do Internet Explorer.