sexta-feira, abril 10, 2009

Enfim, Java no Google App Engine!

Esta semana foi anunciado o suporte à linguagem Java no Google App Engine. Essa era a melhoria mais pedida pelos usuários. Agora com o suporte à Java, o Google formou um exercito de desenvolvedores em potencial para o seu serviço. Eu mesmo já havia criado uma pequena aplicação em Python para experimentar o serviço. Apanhei bastante porquê estou muito acostumado à linguagens fortemente tipadas, Java. Agora pretendo abandonar o python e reescrevê-la em Java. Minha única dúvida é se vou usar Wicket ou GWT na camada de apresentação.

Outra ótima notícia é que as APIs do APP Engine serão disponibilizadas através das APIs padrão do Java. O Datastore por exemplo será disponibilizado via JPA. Também serão utilizadas as APIs Servlet, javax.cache e javax.mail. Não foi assim com a plataforma Android. Neste caso o Google não fez questão de manter compatibilidade APIs e nem de bytecode. Os contextos são diferentes, no caso do Android acho que foi ate bom, pois ele veio trazer uma nova proposta de plataforma mobile, indo bem além do JME. Este respeito às APIs padronizadas tornará o GAE mais amigável para os desenvolvedores Java, mais "Enterprise", além de facilitar o porte de muitos frameworks Java para a infraestrutura do Google.

Inicialmente, os primeiros 10.000 usuário que se cadastrarem aqui, poderão testar o serviço. Depois de um tempo de maturação o serviço deve ser liberado sem restrições.

quinta-feira, abril 02, 2009

MapReduce nas nuvens

A cada dia que passa eu fico mais surpreso com as possibilidades criadas pela inovação tecnológica. A Amazon acaba de incrementar o seu portfólio se serviços de computação nas nuvens, com lançamento do serviço Amazon Elastic MapReduce.

O MapReduce, criado pelo Google, é um modelo de programação já implementado em linguagens como Java, C++ e outras. Ele é baseado em recursos disponíveis em linguagens funcionais como o LISP. O MapReduce possibilita o processamento e a geração de massas de dados gigantescas. Esse processamento é feito, de forma transparente, em clusters de computadores comuns. O MapReduce simplificou a computação em larga-escala realizada Google. Detalhes como tolerância a falhas, balanceamento de carga são abstraídos, o que torna a programação menos maçante e sujeito a falhas.

Antes, esse tipo processamento não era acessível fora de grandes centros de pesquisa ou empresas como o Google. Porem, baseando-se nos papers liberados pelo Google, Doug Cutting criou uma implementação open-source em Java do MapReduce. O projeto chamado de Hadoop foi disponibilizado pela Apache.

A adoção do Hadoop foi muito rápida, hoje ele é utilizado por empresas como Yahoo, Facebook, Microsoft, Autodesk, IBM e etc. O Facebook utiliza o Hadoop para mapear os relacionamentos na sua rede social. O Yahoo personaliza o conteúdo exibido para 300 milhões de pessoas, baseado na análise das suas preferências. O Hadoop tem substituído soluções caseiras no o atendimento de necessidades do core business destas empresas.

Agora começam a aparecer ofertas da plataforma Hadoop para cloud computing. A pioneira foi a empresa Cloudera, formada por ex-engenheiros do Google, Yahoo, Oracle e outras. A Amazon, maior referência em cloud computing, passou a oferecer o mesmo serviço. No caso da Amazon, o serviço já nasce integrado com todo o ecossistema de serviços já disponíveis como o S3 e o EC2. Todo esse poder computacional esta disponível para empresas de todos os portes e para simples mortais como você e eu.

quarta-feira, abril 01, 2009

Passei na certificação para BFCP!



Passei na certificação para BFCP!

Acabei de ser aprovado na prova de certificação BFCP – Brainfuck Certified Programmer. Modéstia à parte, meu score foi de 100%. O certificado sai na hora.
Segundo Gartner, 89% das empresas terão adotado esta linguagem até o final de 2009. Por isso, o investimento na certificação vale muito a pena.

mais informações em http://aminet.net/package.php?package=dev/lang/brainfuck-2.lha

quarta-feira, março 25, 2009

Plug-in open-source simplifica computação nas nuvens

Recebi hoje por e-mail um comunicado da Amazon sobre a liberação do AWS Toolkit for Eclipse. Trata-se de um plug-in para o Eclipse baseado no Web Tools Platform (WTP). O plug-in simplifica drasticamente a utilização da "nuvem"da Amazon, para desenvolvimento de aplicações Java para Web.

"... Anteriormente, os desenvolvedores precisavam de conhecimento específico de diversos sistemas e procedimentos manuais para terem suas aplicações Java para Web rodando em configurações escaláveis na Amazon EC2. Os passos para configurar servidores Tomcat, executar aplicações e debugar o software remotamente, são agora feitos sem dificuldade através do Eclipse."

Veja o vídeo de demonstração.



O código fonte do plugin foi disponibilizado no source forge sob a licença Apache License V2.0

O Eclipse é uma ferramenta muito utilizada hoje também fora do mundo Java. Quem sabe no futuro próximo, este plug-in possa ser adaptado para uso com PHP, Python e outras linguagens suportadas pela IDE.

segunda-feira, março 23, 2009

"Belo Horizonte in the dark"

Eis meu registro do show dos Maiden em BH, com uma semana de atraso. Simplesmente atendeu todas as minhas expectativas. É uma experiência única ouvir essa banda ao vivo, tão de perto. A acústica problemática do Mineirinho não afetou a qualidade do Show. Pelo menos para mim, que estava a uns três metros do palco, em frente a uma muralha de caixas acústicas.




Enfim, valeu a pena cada real gasto. Ouvir Fear of The Dark, The Number of The Beast, Aces High e tantas outras NÃO TEM PREÇO. Pra quem não foi, tá ai, Fear of The Dark, gravação do Murilo.


sábado, março 14, 2009

Você está à toa no computador?

As pessoas acham que você está sempre com tempo sobrando no trabalho?




fonte:www.eviljaymz.com

quinta-feira, janeiro 01, 2009

Livro gratuito sobre sergurança dos navegadores web

Acabei de encontrar um livro online publicado pelo Google no inicio do mês passado sobre segurança para web. O Browser Security Handbook trata dos principais conceitos relacionados à segurança. O livro compara os principais navegadores da atualidade. Segundo o autor, Michal Zalewski, são cobertas centenas de características dos seguintes navegadores:
  • Microsoft Internet Explorer (versões 6 e 7)
  • Mozila Firefox (versões 2 e 3)
  • Safari,
  • Opera,
  • Google Chrome
  • Navegador para dispositivos móveis do Android
Além do ótimo trabalho de pesquisa e das análises, o autor disponibilizou no Google Code os casos de teste que são utilizados no livro. Estou gostando particularmente dos tópicos relativos às restrições de segurança porque já enfrentei problemas com requisições HTTP entre domínios diferentes, AJAX e etc. Não é fácil encontrar material sobre estes tópicos que trate tanto conceitualmente, quanto no nível de implementação de cada navegador.

Ao tratar dos desafios na implementação dos navegadores web o Livro acaba promovendo indiretamente os navegadores criados pelo Google, mostrando como problemas recorrentes foram resolvidos no Chrome e no Android.

Enfim é um ótimo material de apoio no dia a dia dos desenvolvedores de aplicações web. Todo o material foi liberado sob a licença Creative Commons

Feliz 2009!!!!

A ano que passou foi para mim um ano de muito trabalho e de projetos realizados. Foi um longo caminho percorrido, com alguns tropeços. Estou feliz pelas experiências adquiridas, principalmente nas dificuldades.Um ótimo 2009 para todos. E rumo à 2010!!!

sexta-feira, novembro 21, 2008

Google Open Source Jam Brazil - "free as in free beer"

Ontem participei do Google Open Source Jam Brazil, aqui em BH. Foi um encontro muito bacana
onde os participantes puderam apresentar seus projetos de código aberto num clima bem
descontraído. Alguns dos projetos apresentados foram o HAIKU OS, CurlFtpFS, HWF (framework web em C, hilário), e muitos outros. Pudemos aproveitar a estrutura do Google, rede sem fio, comida e bebida à vontade. Conheci outro Leonardo Luiz daqui de BH mesmo, sua apresentação foi sobre EJBCA, muito boa.

Enfim, espero que este evento incite outros da mesma natureza. Parabéns ao Google pela iniciativa!

Algumas fotos publicadas pelos participantes:






quinta-feira, novembro 20, 2008

"Wake up, Leo"

Depois de mais de um ano de hibernação, estou postando novamente. Não é fácil vencer a inércia. Escrever não é uma das minhas paixões (ainda). Mas a "web 2.0" esta ai, é difícil ser uma ilha nos dias de hoje.

Criei este blog meio sem saber qual seria o foco, ou se haveria um foco. Postei sobre vários assuntos, da teoria das cordas à história de Portugal, de teorias conspiratórias à visão do limiar do Universo.

A idéia agora é focar em tópicos relacionados à minha área de atuação profissional. Tenho construído software por quase uma década, a troca de experiências sempre foi fundamental no meu trabalho e espero aprimorá-la com este blog.

Portanto, pretendo postar mais sobre tópicos de engenharia de software como arquitetura, programação, tecnologias, frameworks, metodologias, open-source e etc. Claro, outros tópicos continuarão presentes.

quarta-feira, agosto 08, 2007

Teoria das Cordas em dois minutos ou menos (transcrição do vídeo traduzida)

Estou postando a transcrição traduzida do vídeo String Duck. Ela foi gentilemente enviada por um leitor que fez um comentário no post do vídeo. Para a transcrição em inglês veja o comentário completo.

Em nosso básico entendimento da física.
Objetos são feitos de átomos.
Cada átomo contém partículas subatômicas chamadas férmions.
Mas, do são feitas estas partículas?

Vamos analisar uma corda física.
Ela pode vibrar em diferentes freqüências e produzir diferentes notas.
Agora, imagina uma corda bilhões, bilhões de vezes menores que um átomo.
Quando ela vibra, ao invés de produzir sons, ela manifesta uma partícula.
Uma freqüência produz um Nêutron, outra, um Próton.

O que acontece com esta partícula quando troca ou interage com outra em uma emissão beta de um Nêutron?
A física usa as propriedades das cordas para moldar estas interações.
Cordas, também manifestam quarto partículas chamadas bósons, que produzem os efeitos que conhecemos como gravidade, força eletro-magnética e força nuclear forte e fraca.
Seguindo a matemática, a física descobriu que as cordas ocupam espaço, tempo e outras 6 ou 7 dimensões superiores.

Por que é tão difícil imaginar algo que exista em 10 ou 11 dimensões?
Esta estrutura pode ser a melhor maneira para descrever o comportamento das forças e das partículas em nosso universo.

O movimento de uma corda em alguma dessas dimensões pode produzir efeitos que podemos medir como o spin, ou a carga de uma partícula.
A energia interna da vibração de uma corda determina a massa de uma partícula pela famosa equação de Einstein, e = mc².

A física espera poder algum dia, com este modelo, levar a uma teoria de todas as coisas.
Isto inclui as quatro forças fundamentais e todos os problemas do universo.
As cordas são elementos básicos para determinar toda a física, e explicar toda a teoria em um novo e extensivo modelo.

terça-feira, agosto 07, 2007

Teoria das Cordas em dois minutos ou menos

A Discovery Magazine divulgou recentemente o vencedor do concurso "String Theory in Two Minutes of Less". O concurso escolheu o melhor vídeo sobre a Teoria das Cordas com duração de dois minutos ou menos. O vídeo selecionado (String Duck) tenta explicar usando um patinho, essa idéia que pode ou não ser a melhor explicação (científica) da essência do nosso universo.

Se você, assim com eu, assistiu ao vídeo "imaginando a décima dimensão"
e ainda não desistiu disso de física moderna "for dummies" vá em frente.






Seria melhor com legendas :-|

fonte: discovermagazine.com

domingo, agosto 05, 2007

Visitando a Capela Sistina

Nesse fim de semana estive na Capela Sistina, tirei algumas fotos e ...

Gostaria de ter estado lá mesmo, mas meu orçamento me permite fazer isso apenas pelo Second Life.

Foi disponibilizada uma réplica do interior da capela Sistina no Second Life. As dimensões e as pinturas são fiéis à capela original. Sendo religioso ou não, é uma ótima oportunidade de apreciar um dos maiores marcos da arte ocidental.

Há algumas vantagens interessantes como poder voar entre os afrescos, vê-los por ângulos impossíveis na vida real além de poder usar bermuda e chinelo. Também se pode tirar fotos à vontade.



Inagurada em 1483, a capela contém obras de Michelangelo, Botticelli, Rafael, e muitos outros. Também é um local muito importante porque lá se realizaram diversos conclaves. Sigamos o conselho do grande especialista sobre a arte da Renascença, Ernst Gombrich: "Não há como explicar a existência do gênio. É preferível apreciá-lo"

link para a capela (precisa ter o Second Life instalado)
Para saber mais sobre a Capela Sistina
fonte

sábado, julho 07, 2007

1001 utilidades para o iPhone

Sei que ninguém aguenta mais o iPhone hype. Mas este comercial mostra muitas funcionalidades que ninguém ainda tinha visto.



segunda-feira, maio 28, 2007

Lina, e a historinha do “write-once, run anywhere” de novo.

Uma startup americana promete lançar no próximo mês (06/2007) o que o pessoal do LinuxDevices chamou de o “Santo Graal do software“. Trata-se de uma máquina virtual que pertimirá a execução de aplicações desenvolvidas para Linux em outros sistemas operacionais. Mantendo o “look and feel” de cada sistema.

O conceito é semelhante ao da plataforma Java. Porem a VM do Lina executa o kernel do Linux assim como suas principais bibliotecas. Na minha opinião é algo que reúne as características de softwares como Wine, vmware e Java. Isso porque ele cria uma máquina virtual X86 para execução do Kernel, como o vmware. Executa a aplicação no mesmo desktop, como Wine. Porém a aplicação deve ser compilada especificamente para a VM, como no Java.

Segundo a empresa desenvolvedora, o foco inicial é para aplicações de linha de comando e web. As aplicações GUI apesar de estarem funcionando não estão totalmente suportadas. Na minha modesta opinião se não funcionar 100% para aplicações gráficas não resolve nada.

O software será disponibilizado em duas licenças, uma comercial e outra open-source. No site do projeto existem vários vídeos demonstrando suas funcionalidades.

www.openlina.com

Fonte:
LinuxDevices

sábado, maio 19, 2007

Starcraft 2 - Finalmente !!!!

Depois de anos de espera finalmente foi anunciado, oficialmente, a nova versão do lendário rts da Blizzard. O Starcraft 2 vem com as mesmas três raças das versões anteriores. Porem novas unidades foram incluídas. Visualmente existe muita semelhança com a versão anterior, porem a nova 3D engine da mais realismo as batalhas.


Ainda não foram divulgados os requisitos mínimos do jogo, mas acredito que não devam ser muito estravagantes. Os vídeos disponibilizados até agora dão a impressão que o estilo e a jogabilidade foram mantidos, porem só jogando pra saber. Isso faz sentido porque já era muito bom, não fazia sentido mudar.




O versão anterior lançada no século passado ainda possui uma legião de jogadores ativos, principamente na Coreia do Sul onde é uma espécie de esporte nacional. Tem também os meio-ativos como eu.

Site oficial
Comunidade no Orkut

quarta-feira, maio 09, 2007

Paltalk! Por que ninguém me mostrou antes?

Hoje encontrei um software chamado Paltalk. Sem exagero, foi o achado do ano. É tipo um msn+skype+irc+orkut. Da para falar via voip com uma qualidade ótima. É só baixar aqui e criar uma conta grátis.

Para Aprender Inglês

Eu pretendo usar para praticar Inglês. Estava fazendo Englishtown, mas ando sem tempo, não estava compensando pagar para usar tão pouco. Eu já havia selecionado ótimos sites com podcasts e material didático gratuito, mas faltava a conversação. Bem, agora não falta mais. Existem salas específicas para praticar Inlglês. A sala English practice room for people around world por exemplo recruta native speakers voluntários para ajudar os participantes tanto na conversação quanto na gramática.

As salas são moderadas, é possível utilizar web cam além de muitos outros recursos. Não deu para fuçar em tudo ainda, mas é muito bom ...

terça-feira, abril 17, 2007

Desconhecimentos gerais nos EUA

Hoje de madrugada me deparei com esse vídeo hilário. Algumas pessoas dizem que meu senso de humor não bate com o senso comum - o que se pode notar pelo trocadilho. Mas o vídeo me rendeu boas risadas. Um suposto repórter faz uma série de perguntas de conhecimentos gerais nas ruas dos EUA e as respostas são sem noção! Abaixo uma seleção de pérolas. (tradução livre)

p. Kofi Anan é uma bebida, verdadeiro ou falso?
r. Coffe é uma bebida!

p. Star Wars é baseado em uma história real, verdadeiro ou falso?
r. Verdadeiro

p. Qual é a religião dos monges budistas?
r. ???? ... islâmica ?

p. Quem é Fidel Castro?
r. Um cantor?

p. Qual é a moeda utilizada no Reino Unido?
r. O que é o Reino Unido? Eu não sei.

Pior é quando se pede para localizar os países no mapa, trocar a Austrália pelo Iran é demais. Não acho que os americanos são estúpidos, talvez só um pouco desinformados ...



terça-feira, março 13, 2007

Ganhe um exemplar do livro EJB 3 in Action !!!

O javaranch.com esta sorteando alguns exemplares do livro EJB3 in Action. Basta criar ou responder um tópico sobre o livro no forum EJB and Other Java EE Technologies .

A promoção para posts entre os dias 13/03/2007 até 16/03/2007. Os autores Debu Panda, Reza Rahman e Derek Lane estarão disnopíveis para responder os tópicos criados. As chances são pequenas mas também não custa tentar.

Detalhes aqui no javaranch

Google Guice - Um ultra-lightweight dependency injection container

A injeção de dependência é um recurso formidável que tem se popularizado entre os desenvolvedores Java através do Spring framework. O Google acaba de liberar o código do seu próprio framework de injeção de dependência baseado em Java 5.

Quando vi o anúncio pensei (assimo como você também pode estar pensando), pra quê mais um
framework de injeção de dependência? Mal comecei a aprender Spring!

Ainda não experimentei o framework mais pense bem - ele esta sendo utilizado no unipresente AdWords, o sistema de anuncios do Google. As comparações com o Spring são inevitáveis. Enquanto o Spring fornece uma série de recursos ao desenvolvedor o foco do Guice (se pronuncia juice) é apenas a injeção de dependência. Utilizando recursos do Java 5 com anotações e tipos genéricos o framework dispensa o uso de arquivos XML para sua configuração e, segundo seus criadores, torna o código menor.

Um exemplo seria:
@Inject
public void setVendaDao(VendaDao dao) {
...
}
Você pode se perguntar - E quando eu não tenho o fonte para adicionar as anotações, uso XML? Não, nesse caso você pode criar um Custom Provider, uma pequena classe Java que fara o trabalho. Essas classes costumam ser menores e mais legíveis do que seus equivalentes arquivos XML do Spring.

A qualidade do software parece inquestionável, uma vez que esta em produção em um serviço de nível mundial. Porem por estar no início eu acredito que ele possa sofrer muitas alterações ainda. Por outro lado temos o Spring que já tem uma API estável. Espero poder codificar algo em breve para poder emitir uma opinião pessoal.