Deus é brasileiro!

Via @umsabadoqualquer - http://www.umsabadoqualquer.com/

Diga adeus aos CSS Hacks

Esta é a proposta do eCSStender, um framework CSS que conheci esta semana. Com o slogam “Take control of your CSS”, o framework promete ajudaro designer a resolver problemas causados pelas diferenças entre os browsers e a forma como cada um interpreta o código CSS.

Através do eCSStender, você poderá utilizar seletores avançados, propriedades tais como border-radius, e font-face personalizado, com a garantia que tudo funcionará redondinho, até mesmo em browsers que geralmente não suportam essas novidades (leia-se Internet Explorer 6).

O framework está em constante desenvolvimento, e as novidades você pode conferir no site, ou então seguindo@ecsstender no Twitter.

Mais sobre o eCSStender: Download do eCSStender | Documentação | Extensões

Mais sobre o eCSStender:

Faça você mesmo um ar condicionado USB

Eu não testei a dica, mas não seria uma má idéia! Segue o video:


USB Air ConditioningThe funniest home videos are here

Debugando objetos em Flex

Este é um problema que eu tenho desde que conheci o Flex. Comandos como o trace(meuObjeto) não são tão eficazes nestes casos, pois irão retornar apenas um [object Object] no console do IDE.

Lí em alguns blogs uma solução utizando o loop for, mas ou menos da seguinte forma:

for(var i in n) {
trace(i + ‘:’ +n[i]);
}

É, funciona, mas nosso código correrá o risco de ficar um tanto poluído se precisarmos debugar vários objetos, isso sem contar que ainda poderemos dificultar a leitura dele se não utilizarmos um comentário informando que este trecho trata-se de um debug.

Como resolver isto? Esta semana encontrei um artigo que fala de uma classe interna do Flex que facilita muito nossa vida nesses momentos: É a classe ObjectUtil, pertencente ao pacote mx.utils. Para utiliza-lá, apenas importe a classe para o seu código (import mx.utils.ObjectUtil) e em qualquer momento que precisar, faça a chamada para o método da seguinte forma:

trace(ObjectUtil.toString(myObject));

A saída será exibida na janela de console do IDE. Fica aí a dica!

Eclipse e o problema do AltGR

Alguns laptops fabricados recentemente tem um layout de teclado um pouco diferente dos desktop, onde o sinal de interrogação é feito pressionando-se a tecla AltGR + W. Quem tem um teclado com este layout corre um grande risco de ter problemas para programar, principalmente em PHP, dentro de alguns IDE’s baseados no Eclipse (Aptana, Flex, Zend, etc).

O problema acontece que, ao pressional o atalho AltGR+W, nada aparece. Isso porque o Eclipse tem, por padrão, um atalho associal ao comando CTRL + ALT + W. Se você testar no bloco de notas a combinação CTRL + ALT + W, verá que o resultado é o mesmo que AltGR + W. Quando pressionamos essa sequencia de teclas dentro do Eclipse, ele simplesmente irá entender que estamos tentando acionar o atalho, e ignora a impressão do caractere gráfico na tela.

Para resolver esse problema, abra o Eclipse (ou o IDE baseado nele), vá no menu “Window”, “Preferences”. No grupo “General”, pocure pela seção “Keys”. Altere o atalho associado a opção “Show Properties” para qualquer outro, ou simplesmente apague ele. Aplique as modificações e pronto! Problema resolvido.

Eclipse-Prob-AltGR

Como corrigir a falha do VMX root mode no VirtualBox (Linux)

Virtual Box LogoEste post é mais para um arquivo pessoal, porém eu acredito que pode servir para outras pessoas no futuro.

Recentemente reinstalei o Ubuntu 10.04 no laptop. Instalei também o VirtualBox-OSE para emular outros sistemas operacionais para testes de layouts. Porém, a versão OSE do VirtualBox não oferece suporte a USB (necessário para mim), e resolvi removê-la e baixar o binário direto do site (sem ser a versão OSE). A instalação ocorreu bem, e não precisei recriar nenhuma das maquinas virtuais que já existiam. No entando, ao iniciar qualquer uma delas aparecia a seguinte mensagem:

Falha ao iniciar a máquina virtual Estação Gráfica.

VirtualBox can’t operate in VMX root mode. Please disable the KVM kernel extension, recompile your kernel and reboot (VERR_VMX_IN_VMX_ROOT_MODE).

Tentei recompilar o kernel do virtualbox com o comando # sudo /etc/init.d/vboxdrv setup, porém sem sucesso.

A solução

Dentro do terminal, digite:

# sudo modprobe -r kvm-intel

Para processadores Intel, ou

# sudo modprobe -r kvm-amd

Para processadores AMD

Resolvido o problema!

Porque o Internet Explorer existe???

CatchupSacheO desabafo do @jonathanpereira no twitter me gerou inspiração para escrever este post. Comecei a pensar a respeito, e cheguei a seguinte conclusão:

O Internet Explorer existe pelo mesmo motivo que existem, em algumas lanchonetes, aqueles pequenos sachês de catchup.

Meu caro leitor, não sei como é na sua região, mas aqui por onde este depreciável serviçal estabelece sua humilde residência, foi decretada a extinção completa da existência daqueles tubos vermelhos, brancos e amarelos, que faziam a nossa festa no momento do cachorro-quente, pastel ou qualquer outro lanche, seja ele frito, assado ou cozido (tem gente que gosta de ovo cozido no lanche, uai!).

Eu estive pensando nisso, e concluí que a existências desses “pequenos usurpadores de nossa alegria”, tem muito em haver com o porque o Internet Explorer ainda existe. Os motivos:

Dizem que é mais eficiente…

…afinal, o catchup já vem embalado e pronto pra servir. Nada de ter que distribuir aquele enorme galão que era comprado no supermercado, nos pequenos tubos para então serem servidor na mesa do cliente. Evita trabalho, poupa o descoforto de, no momento das compras, carregar aquele galão enorme pelo mercado todo. A diferença de peso entre uma caixa fechada de sachês e um galão de catchups é enorme! No entando, se você comparar o peso liquido de ambos, verá que o galão sai bem mais barato no preço final. A diferença não compensa o trabalho poupado. Diante disso, conclui que na verdade acaba sendo uma “preguiça” disfarçada de “eficiência”.

O Internet Explorer ainda existe (em alguns micros ainda na versão 6) por preguiça de atualizar. Ou até pior, preguiça de tentar atualizar! Ou pior ainda, preguiça de pensar em atualizar!

É mais fácil de utilizar…

Pode parecer palhaçada… na verdade é sim, uma verdadeira palhaçada! Certa vez, parei para comer um lanche enquanto aguardava um ônibus. Ao trazer o lanche acompanhado pelos famigerados sachês, perguntei à moça que me atendia se ela tinha daqueles tubos de catchup. Ela me disse que não, pois haviam sido trocados pelos sachezinhos. Retruquei-lhe do “pruquê”, e ela só me respondeu: “Pq esses são mais fáceis de utilizar.” E foi atender outro cliente. Ok, mas fácil só se for pra ela! Você já notou o quanto é horrível abrir aqueles envelopezinhos que parecer ser feitos de um enxerto de plastico com papel laminado! Isso quando não acontece de você tentar rasgá-los somente com as mãos e acabar abrindo mais do que devia.

O Internet Explorer ainda existe porque muitos usuários ainda acreditam que ele é o mais fácil de usar. Já fui usuário de IE num passado (bem remoto) onde uma conexão com a internet era com hora marcada, e precedida de horendos barulhos agudos vindos de dentro do PC. Realmente, a idéia que eu tinha era de que era o browser mais fácil mexer. Mesmo com aquele mote de botões que eu nunca utilizava, e aquela terra poluída, cheia de barras. Até que conheci a versatilidade do Firefox, na época, e logo depois e o visual clean do Google Chrome. Hoje são os browsers que utilizo com mais frequência e recomendo. Cada browser do mercado tem suas características que o torna especial. Cada um tem seus pontos fortes e pontos fracos, mas uma coisa eu defendo: o Internet Explorer NÃO É o mais fácil.

É mais higiênico…

Dificilmente você encontrará um lugar onde eles te fornecem uma pequena tesoura, ou algo para auxiliar na abertura desses pacotinhos. O que acaba (sempre) nos obrigando a utilizar os dentes para tal, mas… Ei!! A higiêne não era um dos motivos pela obrigatoriedade dessa forma de servir o catchup?? Levar um pacotinho que veio de não-sei-onde, passando pela mão de não-sei-quem, não parece ser algo muito higiênico.

Quanto ao Internet Explorer, as coisas parecem estar mudando a partir da versão 8. Mas você se lembra da quantidade de boletins sobre falhas de segurança desse browser? É impressionante como uma versão não atualizada desse browser pode permitir que inúmeras “entidades digitais malígnas” entrem no seu computador!

É mais divertido!

Sim, os sachês de catchups são mais divertidos! Já viu como é engraçado ver alguém brigando com um sachêzinho que insiste em não abrir, e quando abre derrama todo o seu conteúdo sobre aquela camiseta novinha? E mesmo depois dessa experiência traumática, ainda continuamos usando essas coisinhas (por falta de opção, é claro).

arielKETCHUP
Ok, pode ser maldade minha, mas ainda sim é engraçado!

Com o IE também é assim. Nos lambusamos no código, puxa daqui, empurra dalí, CSS Hackz I Love You, e por aí vai… mas temos que fazer por falta de opção. O duro é que, acreditem, ainda tem muito designer que gosta disso! Bom, gosto é gosto, mas tendências masoquistas já é outra coisa totalmente diferente!

Aplicação em Flex para testar regras Regex

regex-appNão é de hoje que aplicações em Adobe Flex (hoje, conhecido como Flash Builder) me chamam a atenção. Hoje, durante algumas sapeadas pela internet em busca de aplicações criadas sob esta plataforma, encontrei este utilitário que vai ser uma mão na roda para quem precisa trabalhar com regras Regex.

Ele elabora as regras, que podem ser criadas na unha, ou baseadas em templates já existentes no sistema. Ele também armazena alguns templates criados pela comunidade do software.Vale a pena conferir!

Link: http://gskinner.com/RegExr/

Resolvendo problemas com fones no Ubuntu 10.04 LTS: The Lucid Lynx

Esse é um problema que eu enfrentei na versão 9.10 Karmic Koala e voltou agora que fiz a atualização para o 10.04. Acontece que, ao plugar os fones no jackin, o som é executado simultaneamente nos fones e nas caixas de som externas. Graças a  dica que a Amandinha Kee, me passou pelo Twitter, consegui resolver o problema.

No meu caso, a solução consistiu em adicionar uma linha ao arquivo alsa-base.conf. Dentro do terminal, digite:

sudo gedit /etc/modprobe.d/alsa-base.conf

Vá até o final do arquivo e acrescente a linha:

options snd-hda-intel model=auto

Salve, feche e reinicie o sistema.

Colocando auto, você fara com que o Alsa tente reconhecer por ele próprio. Meu a mobo do meu laptop é baseada em chipset Intel, e funcionou que uma maravilha!

Agradecimentos a Amandinha!

Atribuindo valores a uma variável baseando-se no estado de uma checkbox no Flex

Olá!

Esta noite tive um problema para obter determinados valores dependendo do estado de uma checkbox. Basicamente, se a checkbox estiver selecionada, então o valor “S” deveria ser atribuído a uma variável. Caso contrário, o valor atribuído seria “N”.

Eu queria uma forma rápida e precisa de fazer isso, sem consumir muitas linhas de códigos. Até pensei em utilizar o operador condicional IF, mas eu queria algo mais resumido. Me lembrei do operador if ternário do PHP, e fui em busca de uma solução semelhante em Flex. Pois é: Existe!

Seria algo mais ou menos assim:

[codesyntax lang="actionscript3"]

exibir = (chkExibir.selected ? "S" : "N");

[/codesyntax]

Ou seja, se a propriedade selected da chkExibir for “true”, então retorna “S”, caso contrário retorna “N”.

Facil e rápido do jeito que eu queria, e o melhor, com apenas 1 linha de código!