O Fike me convidou através de seu blog a responder o seguinte Meme. Apesar de meio esquisito, vamos lá:
Uma hora: 6:59
Um astro: netuno
Um móvel: cama
Um líquido: cerveja
Uma pedra preciosa: ametista
Uma árvore: pinheiro
Uma flor: girassol
Um animal: pinguim
Uma cor: preto
Uma música: The Rain Song
Um livro: 1983
Comida: strogonoff frango
Um lugar: montanha
Um verbo: viver
Uma expressão: O céu é o limite
Um mês: março
Um número: 9
Um instrumento musical: guitarra
Uma estação do ano: inverno
Continuem….

Uma das mais conceituadas universidades do mundo, o MIT, disponibiliza o conteúdo integral de seus cursos na internet, acessível a qualquer pessoa (que tenha conhecimentos de inglês). O projeto está no ar a bastante tempo, mas ainda não é muito conhecido (pelo menos aqui no Brasil).
No total, são mais de 1700 cursos de diversas áreas, inclusive engenharia da computação, matemática, física e afins, excelente material que pode ajudar muita gente a estudar, fazer trabalhos de faculdade e melhorar seus conhecimentos em áreas específicas.
Mais informações, clique aqui.
Fiquei muito fã do jQuery, uma biblioteca javascript para fazer coisas legais em ajax. Estou sempre lendo o que acontece na comunidade mundial jQuery e procurando saber quem usa e quais novas contribuições estão aparecendo. Hoje vi uma notícia curiosa, dizendo que o Google está utilizando jQuery em páginas como o Google Code. Os desenvolvedores do Google ainda elogiaram, dizendo que é uma excelente biblioteca e ajuda a tornar as páginas mais poderosas.
Isso mostra o quanto que essa biblioteca está crescendo e sendo útil para muita gente. Espero que apareça novas contribuições para tornar o trabalho dos desenvolvedores web ainda mais fácil e divertido!
Esses dias estava conversando sobre o Google com um amigo que também trabalha na mesma área. Chegamos a um ponto da conversa que se tornou um pouco preocupante, que é justamente a quantidade de informações que passamos para o Google e o poder que ele tem de saber os hábitos de seus usuários. Não sabemos até que ponto isso é bom ou ruim, se o Google realmente leva a sério sua frase don’t do evil (não faça o mal) ou se vai chegar um ponto que vão passar por cima desse lema.
Eu confesso que utilizo muita coisa do Google. O Gmail é meu e-mail principal, ou seja, o Google sabe com quem eu troco e-mails. Utilizo Orkut, o Google sabe com quem me relaciono. Utilizo o Google buscador para pesquisas na internet, o Google sabe tudo o que estou procurando. Utilizo o Google Talk, o Google sabe com quem eu converso com frequência (até o assunto que estou discutindo). A maioria das listas de discussão que participo, estão no Google Groups, isso sem falar o Google Reader, Google Analytics, Agenda e dezenas de outros serviços.
Os serviços são bons, funciona muito bem, rápido, raramente dá problemas (exceto o Orkut, único que foi construído com uma tecnologia conhecida por ser muito instável). Quanto a isso não tenho o que reclamar. A vários anos utilizando os serviços Google, foram poucas as vezes que não consegui acessar meu e-mail ou ver minha agenda. Em 99% do tempo o serviço está lá, funcionando. Mas a questão da privacidade começa a incomodar um pouco. Será que realmente estamos seguros, confiando nossa privacidade ao Google?
Estava navegando pelos meus feeds de rss quando vi um post do Avi que me chamou muita atenção. Trata-se de códigos para celular, QR Code ou datamatrix, uma espécie de código de barra, bidimensional onde você pode armazenar pequenos textos, números e links. Quem tem celular com câmera, pode utilizá-la para ler e interpretar esses códigos. Fui imediatamente ao site da Nokia e procurei uma versão do leitor para meu celular. Encontrei, fiz o download, instalei em meu celular e fui testar utilizando o códigos publicados no post do Avi. Basicamente o aplicativo abriu a câmera do celular, focalizei no monitor bem próximo do código e apertei o botão de salvar. Logo depois o aplicativo começa a analisar a imagem e interpreta o código, revelando assim a mensagem ‘escondida’. Achei isso fantástico!
A Nokia disponibiliza um serviço para você criar seus próprios códigos e divulgar as imagens, como fiz abaixo, que indica a URL de meu blog:

Se você instalar o aplicativo em seu celular, apontar a câmera para o código acima, será revelado o endereço http://christiano.blog.br
É possível também gravar frases contendo aproximadamente 60 caracteres, como abaixo:

Pesquisando um pouco na internet, já vi que tem gente estampando esses códigos em camisetas, para servir como cartão de visita!
Avi, valeu pela dica! Realmente muito interessante.
Referências:
http://reader.kaywa.com/getit
http://mobilecodes.nokia.com/
Minha relação com banco de dados sempre foi feita como administrador de sistemas, precisava conhecer o básico de SQL, fazer um dump, recuperar um dump, ajustes para performance, etc. Sempre tive um DBA do meu lado, o que me deixou bastante preguiçoso no assunto. Todas as tarefas de banco, eu passava para o DBA que em poucos segundos devolvia uma lista de queries para rodar no banco e devolver o resultado que esperava.
Os tempos mudam, empregos mudam e nem sempre tem um DBA à disposição. Tive que mergulhar em banco de dados, aprender tudo aquilo que o DBA fazia por mim. Achei que seria uma tarefa chata, mas pelo contrário, comecei a gostar do assunto e estudar banco de dados a fundo. Valeu o investimento de tempo! Como trabalho com sistemas de busca, o MySQL me atende melhor que o Postgres, por vários motivos. O principal deles é a arquitetura das tabelas MyISAM e o Full Text Search, tarefa que é essencial a quem precisa buscar grandes volumes de textos. Antes que o pessoal do Postgres apareça com pedras nas mãos, sei que o Postgres já oferece o recurso de Full Text Search, mas na época que iniciei meus estudos e necessidades, o MySQL foi o que mais atendeu essa demanda e acabei investindo um conhecimento pesado em cima dele, aprendi várias manhas para ganhar performance e acabou sendo meu banco de dados favorito.
O MySQL até a pouco tempo atrás não oferecia Store Procedures (coisa que o Postgres oferece a muito tempo). Mas as versões mais novas do MySQL oferecem esse recurso e resolvi mergulhar e entender como funciona. É basicamente uma linguagem de programação do banco onde é possível fazer muita coisa e tornar o trabalho mais fácil e a administração mais eficiente. No tempo que comecei trabalhar com MySQL precisei fazer vários scripts em Python para fazer administração do banco, pegar dados e jogar de um lado para outro. Eu estava mantendo esses scripts até a pouco tempo atrás, quando comecei a reescrever suas funcionalidades em Store Procedures. O resultado foi fantástico, scripts Python que levavam vários minutos para ser executado, em Store Procedure preciso de poucos segundos para a mesma tarefa. É um investimento de tempo e estudos que tem retorno.
Para aprender Store Procedures, além do livro da O’Reilly MySQL Store Procedure Programming, tem várias referências na internet, como o próprio site da MySQL e uma série feita pelo Taliba Martins que oferece uma excelente idéia do que é e como fazer as primeiras Store Procedures.
Saiu a lista de recursos desejados para o GNOME 2.22.
Tem muita coisa interessante e que realmente faz falta em um desktop. Não cheguei a ler a relação completa, mas dando um CTRL-F não vi nada relacionado ao Mono (ainda bem).
A lista completa pode ser encontrada aqui.
O Hardy Heron é o nome da nova versão do Ubuntu, que será lançada no primeiro semestre do ano que vem. Estamos todos ansiosos pelo seu lançamento, parece que muita coisa vai mudar para melhor.
Dois links interessantes com novidades sobre o Hardy Heron podem ser encontrados no Br-Linux e nessa outra referência.

O Google é um dos maiores usuários do banco de dados MySQL. A empresa fez diversas melhorias no código para atender necessidades internas e desenvolveu algumas ferramentas (feitas em Python) que ajudam na administração do banco. A grande expectativa está na liberação das melhorias do código fonte do banco de dados, que incluem novidades no sistema de replicação de bases e ferramentas para monitorar um grande volume de instâncias do banco de dados. Esses avanços feitos pelo Google deverão entrar nas próximas versões do MySQL. A notícia completa foi divulgada pela Computerworld.
Bom, sou relativamente novo em Ajax e tecnologias de interface ao usuário. Sempre estive muito ligado a desenvolvimento para servidores, banco de dados e backend, onde alguém sempre fazia o trabalho de frontend para mim. No meu emprego atual, preciso ser o mais dinâmico possível e existe uma demanda em desenvolver sites dinâmicos e modernos no menor tempo possível.
Para o desenvolvimento rápido, optei para o framework Django, pois já utilizo Python a vários anos e foi muito fácil e excelente trabalhar no modelo MVC, onde os designers não precisam ter conhecimento de programação e eu, da parte lógica, fico com o trabalho de pegar o layout prontinho dos designer e aplicar as marcações para tornar o site dinâmico. É um trabalho muito rápido e todo mundo sai ganhando (cliente feliz).
Houve uma demanda de Ajax e a necessidade de criar sites mais dinâmicos para proporcionar uma experiência mais agradável aos usuários. Esse assunto era novo para mim, pois nunca tinha trabalhado com essa tecnologia e essa tarefa sobrou para mim. Ao tentar criar as primeiras funções na mão, sem usar nenhum framework, me deparei com problemas de compatibilidade entre navegadores. Em minha rede, tenho apenas GNU/Linux e Macintosh e os navegadores Firefox, Opera e Safari. As funções Ajax que criava ‘na mão’ funcionavam perfeitamente bem nesses três navegadores, mas o Internet Explorer rejeitava algumas funções. Conversando com pessoas mais experientes, pude ter a certeza absoluta que esse era o pior navegador que existe e infelizmente, um dos mais usados. Essa coisa quebra vários padrões definidos pelo W3C e exige um trabalho extra dos desenvolvedores para tornar sites compatíveis. Resolvi então largar o trabalho braçal e partir para uma biblioteca pronta de Ajax.
Passei mais de um mês testando várias alternativas, até que optei pelo jQuery pelo fato de agregar praticamente todos os recursos que preciso, ter uma boa documentação e resolver totalmente esses problemas de compatibilidade entre os navegadores. Reescrevi as páginas aplicando todas as funções do jQuery que precisava e o resultado foi um sucesso. Páginas limpas, leves e funcionando em todos os navegadores. Juntando com as facilidades do Django, o trabalho de um desenvolvedor web ficou muito divertido e rápido. Acredito ter escolhido uma excelente combinação.
A comunidade jQuery é bastante ampla e disposta a ajudar. Precisei algumas vezes de ajuda e no canal #jquery no freenode fui muito bem recebido e responderam prontamente as minhas dúvidas. No Brasil, existe o site http://jquerybrasil.com/ que nada mais é que a comunidade brasileira que utiliza esse framework Ajax, com muitas dicas e informações para quem está começando.
Em breve pretendo publicar alguns screencasts com demonstrações de como criar aplicações utilizando Django e jQuery! Fica a dica.