Author Archive

Novidades do Google

Duas notícias interessantes relacionadas ao Google.

A primeira, noticiada pelo Blog oficial do GMail é para aficcionados por comunicação instantânea (eu por exemplo):  será possível fazer chat de áudio e vídeo dentro da interface web do sistema de emails. Basta instalar um plugin, e se divertir. Se funcionar corretamente, irá transformar o GMail numa central de comunicação completa.

A segunda notícia é mais intrigante. O Google.org, braço filantrópico do Google, está lançando uma ferramenta de detecção de epidemias de gripe nos Estados Unidos. O mecanismo de detecção é de uma simplicidade incrível, e ao mesmo tempo um tanto quanto preocupante: o próprio sistema de buscas da empresa. A premissa básica é que atualmente, quando pessoas sentem sintomas de alguma doença, procuram na Internet informações a respeito dos sintomas. Como hoje em dia, busca na Internet é sinônimo de busca no Google, então “basta” eles analisarem e georeferenciarem a ocorrência de termos específicos (coisa que a ferramenta Google Trends faz de graça),  para obter uma boa estimativa de regiões onde poderiam estar começando epidemias. Nada de registros médicos, apenas buscas simples na interface do Google.

Expandindo a idéia, como hoje em dia a fonte básica de pesquisas é a internet, e boa parte dela passa pelos servidores do Larry e do Sergei, e que ferramentas como o Google Analytics mostraram que a questão do georeferenciamento de IPs já foi resolvida, então podemos assumir que eles se tornaram a maior empresas de análises estatísticas do mundo. Que aliás eles utilizaram para analisar buscas feitas durante a campanha eleitoral.

Big Brother?

Speedy agora REALMENTE não pode mais

Há um tempo atrás, eu comentei da possibilidade do Speedy “não poder mais” oferecer autenticação sem a necessidade de provedor externo. Pois é: o dia chegou!  A partir de hoje, dia 07/11/2008, a Telefônica, por decisão judicial, não pode mais oferecer autenticação através do usuário internet@speedy.com.br, e os usuários terão que contratar provedor externo.

Novamente, destaquei o “por decisão judicial”, porque acho o cúmulo do absurdo o comunicado da empresa deixar  a entender que a culpa é da Justiça, eque está fazendo isso contra a sua vontade. Afinal todos sabemos que o inicio disso tudo foi uma liminar de um juiz de Baurú proibindo a Telfônica de exigir o provedor.

Ridículo.

A boa notícia é que o site deles oferece uma lista de provedores com “preços e promoções” especiais…..

SlideRocket

Uma ótima alternativa para aqueles que precisam criar apresentações, não são chegados em PowerPoint, querem ter a possibilidade de usar a web como plataforma e querem fugir dos tentáculos do Google: SlideRocket (www.sliderocket.com).

Baseado na tecnologia Adobe Flex e Adobe AIR, o SlideRocket permite criar, compartilhar e exibir apresentações online. Os pontos fortes do sistema são a interface de criação de slides, a qualidade do resultado e a possibilidade de exibir online (em modo fullscreen) ou de criar um executável para o Desktop com o AIR.

Tive a oportunidade de ver uma apresentação utilizando esta ferramenta, e achei os resultados surpreendentes. Segundo um amigo marketeiro e criador constante de apresentações, apesar de alguns bugs a facilidade de uso vale a pena. Em alguns casos, como incluir vídeos em Flash, o software  é inclusive superior ao Powerpoint. 

O sistema oferece 3 opções de  planos. O plano gratuíto oferece 250MB de espaço, ferramentas de criação e número ilimitado de apresentações (desde que não ultrapassem os 250MB, obviamente…). Os planos pagos oferecem, entre outras coisas, mais espaço e possibilidade de controle de versão.

Vazamento de memória em Java

Isso existe?!

Sim….

Uma das grandes coisas que Java trouxe para o mundo do desenvolvimento foi uma moderna JVM, e um Garbage Colector eficiente, que foi se aprimorando ao longo dos anos. Com isto, o desenvolvedor pode deixar de se preocupar com questões de alocação e liberação de memória, fontes de perdas de cabelos e noites de sono perdidas de muitos programadores C/C++.

Nestas linguagens, um vazamento de memória se caracteriza como sendo uma região do heap alocada pelo desenvolvedor em algum momento do ciclo de vida de um software, cujo ponteiro se perde. Assim sendo, fica impossível (ou pelo menos extremamente difícil) recuperar esta área de memória para uso futuro. O efeito imediato é que o consumo de memória vai aumentando com o tempo, até tornar o sistema inviável.

É fato que este tipo de situação não existe em Java, uma vez que em última instância, a JVM sempre terá uma referência para uma área de memória alocada pelo desenvolvedor, e cuidará de fazer a limpeza caso necessário. Mágica? Não, tecnologia. Explicando de forma beeeeeeeeeeem resumida, o GC mantém uma contagem de quantas referências criadas pelo desenvolvedor apontam para um determinado objeto. Quando este contador chega a zero, está na hora de limpar a memória, pois com certeza esta não será mais útil.

Fica claro então que áreas de memória nunca serão perdidas em Java.

Miguel, você bebeu? Como é que vazamentos podem ocorrer então?

Bom, quem nunca perde a referência é a JVM.  Mas é possível perder o controle das referências para um objeto. Como eu disse antes, o GC coleta objetos sem referência. Mas e se você esquecer que tem referências perdidas no código e não zerá-las? Aí o objeto nunca será removido, e podemos ter um vazamento de memória, segundo Java. Para apaziguar certos ânimos, passarei a chamar este problema de Travamento de memória.

A boa notícia é que é bem mais fácil consertar em Java, e isto só se torna um problema real em grandes projetos que criam muitos objetos ao longo do tempo. Se você desenvolve exclusivamente para Web usando servidores de aplicação como JBoss, provavelmente pode fechar este artigo e voltar às suas atividades cotidianas.

A má notícia é que como se criou o mito de que este tipo de situação é impossível, ninguém hoje em dia se preocupa mais com isso. Não que isto seja ruim por si só. O problema é que quando suspeitamos de que isso pode estar acontecendo, consertar pode ficar mais complexo.

Uma situação clássica que pode gerar travamentos é o uso de Observers/Observables. Suponha que você tenha um objeto A do tipo Observable, e que ao longo da vida do seu software, você crie constantemente novas intâncias de objetos do tipo B que se cadastram com observadores de A. Nesta arquitetura, A contém referências a todos as intâncias de B, de forma não explícita (ou seja, contém referências à interface Observer). Basta alguém esquecer de limpar a referência da lista de observers e pronto…memória travada!

Como resolver isso? Bem, tentar racionalizar o processo de criação e limpeza de objetos, centralizando estes processos em pontos bem controlados. O processo de “limpeza” de recursos é muito importante, sobretudo quando a árvore de objetos e referências for grande.

==========================

Nota do dia 26/10

Como bem lembrado pelo leitor Thiago, uma outra possível solução é o uso de WeakReferences em Java. Um objeto deste tipo funciona como uma referência normal em Java, mas não trava o GC: caso um objeto seja referenciado apenas por WeakReferences, ele será coletado normalmente. Vale a pena olhar este artigo:

http://www.ibm.com/developerworks/java/library/j-jtp11225/index.html

No Twitter, again

Post rápido, apenas para anunciar que o usuário @log4dev no Twitter foi reativado. Na prática isto significa que novos textos serão divulgados na plataforma, e eventualmente links e curiosidades.

Rapidinha

Só pra falar algo que talvez já seja óbvio pro pessoal mais esperto: o trio Python/Django/Prototype (Scriptaculous) tem um poder incrível de ajudar a desenvolver coisas úteis, eficientes e bonitas em pouquíssimo tempo. A minha produtividade com esta trinca tem sido muito grande, fator essencial para a evolução dos meus projetos pessoais (job4dev e sigaseutime).

Speedy “não pode mais dar acesso à Internet”!

Nota publicada no site do Speedy (http://www.speedy.com.br/comunicado.asp)

Atendendo a decisão judicial a Telefônica não pode mais prestar o “acesso” à internet diretamente aos clientes do Speedy.

A partir de 21 de agosto de 2008, para utilizar o Speedy os novos clientes deverão contratar um dos diversos provedores de acesso à internet existentes no mercado. Alguns destes provedores, em parceria com a Telefônica, fazem ofertas especiais para clientes Speedy.

Os clientes Speedy que realizam o acesso à Internet diretamente pela Telefônica, receberão um comunicado específico estabelecendo a data limite para contratação de um dos provedores disponíveis no mercado.

OK, na prática isto quer dizer que aquele usuário internet@speedy.com.br não irá mais funcionar.

Mas o mais interessante é notar na cara de pau da primeira frase:  “Atendendo a decisão judicial a Telefônica não pode mais prestar o “acesso” à internet diretamente aos clientes do Speedy.”. Primeiro por que deixa a entender que a empresa estava permitindo acesso direto sem necessidade de provedor externo de autenticação por vontade própria, o que é falso: foi uma liminar da justiça de São Paulo que a obrigou a fazer isso.

Segundo porque o texto faz parecer que o tal acesso é algum serviço complexo prestado por ela. Ora, todos sabemos que o tal “acesso” se resume a simplesmente verificar uma senha em uma base de dados! E além do mais, o único serviço prestado de fato pela Telefônica é o de fornecer o acesso à Internet!

Aos descontentes, eu diria que existem basicamente dois caminhos: um caminho possível é mudar de provedor de banda larga, para um que realmente possa oferecer acesso à Internet. A outra é entrar na Justiça. Um bom ponto de início para isso seria o site ABUSAR (http://www.abusar.org.br/).

===========================================

NOTA DO DIA 07/11/2008

A partir de hoje, o Speedy realmente não pode mais dar acesso sem um provedor externo. Veja mais em http://log4dev.com/2008/11/07/speedy-agora-realmente-nao-pode-mais/

Máquina do tempo

O Google está comemorando 10 anos, e para a ocasião, sairam atrás de relíquias guardadas no fundo de algum servidor perdido no Googleplex. Encontraram um arquivo de indices de busca de 2001, que depois de alguns ajustes, foi restaurado. Obviamente eles não poderiam deixar de colocar isso no ar, e como nada no Google é deixado ao acaso, eles ainda restauraram as páginas da época, à partir do cache deles.

Esta brincadeirinha, disponível para acesso aqui (http://www.google.com/search2001.html) permite fazer duas coisas interessantes. A primeira é relembrar como era a Internet de 2001, quais os assuntos na moda e quais os termos que ainda estavam por vir. A segunda é ver como o design das páginas evoluiu nestes 7 anos, pois é possível ver a versão atual da página e a versão da época.

Fiz a busca pela palavra iTunes, e comparei os dois primeiros resultados. O primeiro é o site da Apple, versão 2001 e versão 2008 . O outro é um artigo da revista Business Week, sobre o tocador, O texto original continua lá, mas o design da página mudou bastante, de 2001 para hoje.

Mais informações podem ser encontradas no Official Google Blog.

======================================================

Correção: como foi bem anotado pelo nosso leitor esquentadinho Luis, digno habitante do mundo real (porque o meu aparentemente é o mundo de Alice, quiçá da Lua) , o cache das páginas vem do Internet Archive que, confesso, eu não conhecia. Mas é culpa da mídia do meu mundo, um tanto quanto lerda….

Citação do dia

Lida no Manifesto 37 Signals, versão original (que eu nunca tinha lido)

My Cousin’s Buddy is a Web Designer

Then let him do it.

The money you save by using your cousin’s buddy is nothing compared with the cost in time and money required to undo his mistakes.

Simples. Perfeito.

Motivos para se ter um Mac

 A história da familia Galves (também conhecida como minha familia) com o Mac tem exatamente 20 anos. Começou em 1988, quando meus pais compraram um Mac SE com incríveis 20MHz de processamento e 1MB de memória RAM. O motivo na época era a incrível superioridade de sua interface gráfica em relação aos PCs equipados com DOS.

De lá para cá, foram um Performa, três iMacs, um eMac e alguns notebooks. E em todas as aquisições, sempre tinha o lado de “Apple é coisa de rico, é elitista, não tem assistência técnica no Brasil…”. Não deixava de ser verdade. Mas tem algo no ar: a percepção e a visão do público em relação à Apple está, em minha humilde opinião, mudando. Eu vejo a quantidade de pessoas a minha volta, computeiros ou não, que hoje pensam seriamente em comprar um MacBook, ou um MacBookPro, ou um iMac. Com certeza, a adoção da plataforma Intel, o dólar favorável e consequentemente a redução dos preços ajudou bastante. O efeito iPod/iPhone também. E em geral todos eles ficam extremamente felizes com a troca.

Motivos para se ter um Mac acho que não faltam. Vou listar alguns aqui, que para mim são bem importantes, e que acho que podem ser importantes para o público deste blog.

Antes do Mac O X, o grande trunfo do sistema operacional da Apple, além de sua usabilidade excepcional, era a sua altíssima integração com o hardware. Isso lhe dava a estabilidade que muitas vezes faltava ao Windows, que tinha (e ainda tem que) dar suporte à uma infinidade de drivers e periféricos, muitas vezes de baixa qualidade. Por este motivo muitos aplicativos complexos (como Photoshop) apresentavam benchmarks melhores no Mac do que em PCs com processadores mais rápidos.

Mas com o OS X, baseado no BSD e no microkernel Mach, a Apple adotou de vez as qualidades dos sistemas UNIX Like: um sistema realmente multiusuário, multitarefa preemptivo, com memória compartilhada. Ou seja, além do hardware extremamente bem controlado, agora o Mac oferece um SO moderno, eficiente e muito mais robusto.

E daí os leitores me perguntam: “se OS X é Unix like, porquê então gastar os tudos num Mac se eu posso ter um PC mais barato rodando Linux?” Boa pergunta! Eu diria que a resposta está nos detalhes. Eu gosto muito de Linux, tanto que recentemente mandei o Windows da minha máquina de trabalho pro espaço e instalei o Ubuntu. E isso com certeza aumentou muito a minha produtividade e felicidade. Inclusive, fiquei extremamente bem impressionado com a evolução do processo de instalação e da interface gráfica do Linux, dos quais eu estava afastado desde 2006.

Mas eu ainda tenho um pé atrás com ter Linux no meu computador pessoal. Porquê tem horas que eu quero desenvolver, hackear o sistema, fazer scripts. Mas em muitos momentos eu quero simplesmente que as coisas funcionem, quero que minhas placas de rede, vídeo, câmera embutida, HDs externos e afins sejam reconhecidos e integrados ao resto do sistema sem ter que ficar pesquisando horas em fóruns. As vezes quero não ter que escolher entre as milhares de opções de aplicativos para música ou vídeo. E sobretudo: eu sempre quero ter uma interface gráfica que funcione perfeitamente, que seja redonda e bonita. E aí chegamos ao outro grande trunfo da Apple: colocar uma interface gráfica matadora por cima do Unix, chamada Aqua. A Sun parece ter desistido de tentar fazer isso há um bom tempo, porquê o ambiente gráfico de suas estações de trabalho são muito fracos. O KDE e o Gnome me parecem estar no caminho certo, e estão bem pertos de ter um ambiente pronto para usuário final.

Até agora eu só falei do software. E o hardware, não tem nenhuma vantagem? Bom, se olharmos friamente apenas características como placa mãe, placas de vídeo, rede, processador, talvez não. Mas de novo, a diferença está nos detalhes. Está no conector magnético do cabo de energia (que já me salvou de desastres umas três vezes). Está na câmera embutida de altíssima qualidade. Está no teclado do MacBookPro com backlight, que ajuda muito a escrever em situações de baixa luminosidade. Está no acelerômetro que proteje o HD em movimentos bruscos. E sobretudo: está no design incrível, que permite que máquinas sejam clean, leves e finas. Além de bonitas. Acho isso bem importante.

“OK, OK, e os aplicativos do mundo Windows que eu amo tanto? Existe equivalência? E eu posso integrar um Mac no ambiente Windows da minha casa ou trabalho?”.

Sim, na grande maioria dos casos. Pacote Office da M$ (que é sagrado para boa parte da população usuária de Windows) existe para Mac, e tem compatibilidade total com o pacote para Windows. Aplicativo de IM, como MSN, Skype tem verão nativa, e existem vários programas que são compatíveis com GTalk, ICQ e MSN. Grande parte das ferramentas de processamento de imagens como Photoshop, Lightroom e outras tem versões nativas. O OS X é compatível com redes Windows, permitindo que arquivos sejam compartilhados entre Macs e PCs de forma transparente. Boa parte das impressoras oferece drives para ambos os sistemas operacionais e o processo de instalação é bem simples.

E se tudo mais falhar, ainda existe a opção de instalar Windows dentro de uma máquina virtual, com o Virtual Box da Sun, ou o VMWare Fusion ou o Paralels. Instalei o VMWare Fusion no meu MacBookPro, e o resultado é muito bom. A versão 2.0, divulgada há pouco tempo permite que aplicativos Windows rodem de forma completamente integrada no ambiente Mac, sem a necessidade de uma janela da máquina virtual, e permite que atalhos sejam criados no sistema para ativação automática. Além do mais, eles garantem a compatibilidade total de vários jogos.

“Ahá, peguei você: JOGOS! A listinha de vinte e poucos jogos que rodam no VMWare Fusion não me impressiona. E aí?”. Pois é, chegamos ao único ponto sensível: jogos. A lista de jogos que estão sendo publicados para Mac está aumentando, mas ainda não chega aos pés da lista de jogos pra Windows. Mas neste caso, existe sempre a possibilidade de se instalar o Windows diretamente no Mac com um sistema de dual boot. Neste caso, todos os jogos rodam perfeitamente.

E para todo o resto, existe o Mac OS.

iPhone: preços definidos.

A Folha confirmou: Vivo e Claro lançam no dia 26 (vulgo amanhã).

Preços: de 1000 a 3000 na Claro, e de 899 a 2199 na Vivo.

Acho que não será agora que terei meu iPhone. Muito caro!

iPhone no Brasil tem data marcada

Rápido e rasteiro: o iPhone, segundo fontes próximas às negociações, agora tem data oficial para ser lançado no Brasil, segundo o site MacWorld Brasil!

Será no dia 26 de setembro, em evento conjunto da Apple, Claro e Vivo. O telefone será lançado também na Turquia neste dia.

Mas a pergunta quer não quer calar: quanto vai custar o bendito?! Isso nem Jobs deve saber……

Configuração de teclas no Emacs do Mac

O trio Mac + Python + Emacs tem me ajudado muito a ser produtivo e a desenvolver meus projetos. O Aquamacs é um porte nativo do Emacs para a o OS X que consegue misturar bastante bem o poder do Emacs com elementos clássicos da interface Mac, como atalhos e afins. Mas para que as coisas funcionem corretamente, alguns ajustes específicos são necessários, como em relação tecla Alt+Option.

Usuários do Emacs sabem que esta tecla é o atalho para o Meta, base para a maioria dos comandos. Mas é também, infelizmente, a tecla necessária para se escrever a maioria dos acentos no teclado Mac: Alt+e+e = é, Alt+c = ç, Alt+n+a = ã, e assim por diante.  Aliás, isto apenas corrobora o fato de que nada é perfeito no mundo.

Por default, o Emacs processa o Alt como Meta. Portanto, enquanto a Apple não lança um teclado decente, devemos abdicar dos acentos?

Não! O povo do Aquamacs ofereceu uma ótima solução. Os comandos

(setq mac-option-modifier nil)
(setq mac-pass-option-to-system t)

dentro do arquivo .emacs forçam o editor a repassar o controle da tecla Alt para o sistema operacional, reestabelecendo a funcionalidade do acento. Mas desta forma, temos que usar o pouco ergonômico ESC para obter o Meta?

Também não! É possível mapear outras teclas para esta função. Uma possibilidade é o Command (tecla da maçã), através do comando

(setq mac-command-modifier ‘meta)
que inclusive apresenta a vantagem de ser ao lado da tecla Alt. Por outro lado, bloqueia o acesso a atalhos específicos do Mac, como Command + S. Isso talvez não seja nenhum problema para os mais puristas do sistema do Stallman.

Outra solução é mapear a tecla Fn (function) para assumir a função de Meta, através do comando

(setq mac-function-modifier ‘meta)

Esta foi a minha solução favorita e definitiva!

Feedback

Email enviado por Daniel Cassiano (http://danielcassiano.net/) na segunda-feira, 2 de Setembro:

Olá!

Gostaria de levar a conhecimento de vocês que consegui meu trabalho através do job4dev!
Na verdade isso já tem 3 meses e meio. Estava para fazer isso há um tempo, mas sempre algo impedia.
Hoje estou aqui pra expressar minha gratidão a vocês! Muito obrigado!

Empresa que me contratou: Apontador.com (atualmente Apontador MapLink)

Parabés por essa iniciativa.
Vou publicar a gif de vocês no meu site.

Abs!

Não sei quanto a vocês, mas este tipo de feedback só faz aumentar a minha motivação e a minha convicção de que este projeto está no caminho certo.

Chrome, primeiras impressões

Por Patrice Lamiral

Está sendo uma semana agitada para o twitteiros de plantão.

Primeiro veio o blip.fm que é uma rádio customizada que você pode integrar em diversas plataformas de microblogging como twitter, pownce e Jaiku. Por essa eu passei ileso.

Agora veio o Chrome, o navegador do Google. Aí não teve jeito, vi a comoção geral das pessoas no twitter (procure pela tag #chrome no summize.com e entenda) e instalei a novidade. As primeiras impressões são positivas, mais por ser do google do que por ser bom mesmo, até proque não deu tempo de avaliar os recursos disponíveis. Mas em linhas gerais gostei do melhor aproveitamento da tela - a navegação é fullscreen por default -, gostei dos atalhos de páginas favoritas para desktop, aprovei a intolerância para com pop-ups e achei ótimo que eles tenham mantido uma estrutura semelhante à do firefox.

A pergunta que não quer calar: vou trocar o Firefox pelo Chrome? Por enquanto não porque ainda não existem os plug-ins para twitters e delicious da vida. Mas é uma questão de tempo. O Google é o midas digital, tudo que ele toca (ou quase tudo) vira ouro.

Aposto que em breve eles lançarão um banco.

[Patrice Lamiral, além de leitor do log4dev, é marketeiro, entusiasta de novas tecnologias e mídias digitais e baixou o Chrome antes que muito computeiro por aí… ]

Next Page »