Páginas

SyntaxHighlighter

quinta-feira, 2 de julho de 2009

Grails Xmpp Plugin 0.1 Released

I just finished and released the first official version of the Grails Xmpp Plugin. Its documentation is still a working in progress but enough to get started.
There are still some known issues and new ideas of improvements but I couldn't wait to release it. :-)
Hopefully people will start using it and then I 'll have some feedbacks!

Enjoy

domingo, 31 de maio de 2009

Grails XMPP (jabber) Plugin

I´ve been playing with Grails for over a year. Recently I started reading and studying about XMPP and its possible applications and how it is being used out there.

So I came up with an idea to put together both techologies: Grails/Groovy and XMPP.
The main idea is to create a grails plugin that eases the development of real-time xmpp based web applications.

The plugin can be built upon the Smack API and would provide XMPP/IM based services to grails applications.

Below the list of functionalities I´d like the plugin to provide divided in two distinct approaches:

Approach 1: One Roster per application

  • Provide the grails application with a Roster
  • The Roster (might) automatically connect to a xmpp server and broadcast its presence on application startup - Bootstrap (XmppBootstrap) or InitializingBean??
  • Roster configuration ( jid, pwd, server host and port, etc ) should go to?? Config.goovy
  • Provide a XmppController with Roster functionalities
  • Provide a XmppServices with Roster functionalities (sending messages, changing roster status, sending presence packets, accepting and sending invitations, etc)
  • Auto detection and registering of xmpp message listeners
  • Repass grails proxy configuration to xmpp connection settings
  • org.jivesoftware.smack.proxy.ProxyInfo
    org.jivesoftware.smack.ConnectionConfiguration
  • Ability to expose Service´s methods as IM commands (something similar to what friendfeed is doing). The method name would map to the IM command and would be automatically invoked when incoming messages starting with "@" arrived
Approach 2 - Multiple Rosters per application

Another approach would be having multiple Rosters (I´m calling them xmpp bots) including the functionalities above mentioned and:

  • New script to create xmpp bots - i.e. grails create-xmpp-bot;
  • Bots would be configured via static properties: jidId, pwd, host, etc
  • The plugin would auto-detect these bots (grails-app/xmpp-bots/*XmppBot.groovy), create the respective spring beans, register them as message listeners, initialize them at application startup, etc

I´ll probably go with the first approach as it makes more sense to me. It´s difficult to imagine needing to have more than one agent per application.
Another aspect that should be taken into consideration is how the subscription will be handled.
I´ve already started the coding but I still have lots of design decisions to make and lots of work too - haven´t got enough time to dedicate to this parallel project lately.

Hudson CMVC plugin 0.1 released !!

Finalmente conseguimos estabilizar uma versão do plugin do CMVC para o Hudson. Já fizemos a release conforme havíamos prometido.
Apesar de obsoleto acredito que existam mais pessoas por aí que como eu, utilizam o CMVC no trabalho. Garanto que com esse plugin fica bem mais fácil montar um ambiente de integração contínua com o hudson qualquer que seja a plataforma - já estamos usando-o para buildar projetos .NET e JEE (maven2).
Façam bom proveito do plugin!

quinta-feira, 7 de maio de 2009

Plugin do CMVC para Hudson

Como já havia postado, eu e um amigo estamos fazendo um plugin do CMVC para o Hudson. Já estamos nos finalmentes.

Há alguns dias me tornei committer e ontem subi todos os últimos refactorings já no repositório do java.net. Comecei também a documentá-lo no Wiki do Hudson.

Mais alguns testes e teremos a primeira release!!

quinta-feira, 30 de abril de 2009

[Ipod travado] Reinicializando/Resetando o ipod classic 160Gb

Hoje de manhã fui jogar Klondike no meu ipod. Pra minha surpresa o bichinho travou e mostrou a seguinte mensagem:
"This game cannot be launched. This may be the result of a full Ipod."
Não é a primeira vez que meu ipod trava, apesar de raro, isso já aconteceu outras vezes em situações diferentes. O problema é que não sabia como "bootá-lo" (nem sabia se era possível), ficava esperando até a bateria esgotar ( ora pois... ).

Acabei de descobrir como resetá-lo: basta segurar os botões menu + meio por aproximadamente 5 segundos e voilá!!!



Fui!

sexta-feira, 24 de abril de 2009

CMVC SCM plugin para Hudson

Comecei mais uma empreitada com o CMVC (um amigo meu tá dando uma força). Agora o objetivo é integrá-lo com o Hudson.

Já chegamos numa versão funcional (seguimos o tutorial do wiki). O que temos até agora:

  • Tela de configuração do CMVC, onde é definido caminho para os executáveis;
  • Interface para configuração de dados específicos de um job: family, release, become, etc.
O plugin já consegue conectar no servidor e verficar por tracks integradas e depois disparar a build. Por enquanto, para a execução do checkout, disparamos um script parametrizado.

Assim que chegarmos numa versão mais estável pretendemos subí-lo no repositório central.

E vqv...

quinta-feira, 23 de abril de 2009

Integrando o CMVC com o CruiseControl

Onde trabalho utilizamos o CMVC ( CM... o que?) como ferramenta de SCM. É uma ferramenta já descontinuada pela IBM, mas funciona muito bem e nos atende perfeitamente.

Um dos problemas que enfrentamos é a falta de suporte das ferramentas de integração contínua: CruiseControl, Hudson, Continuum, etc. Todas elas oferecem suporte/plugins para as ferramentas mais utilizadas como SVN, CVS, Clearcase, TeamSystem, etc, mas para o CMVC...

Então decidi dar uma estudada para saber a real complexidade de extender essas ferramentas.
Comecei pelo CruiseControl, pois era um servidor de integração contínua que conhecia melhor. Descobri que tinha que implementar apenas 2 interfaces. Como sempre acontece, não aguentei e botei a mão na massa!

Cheguei numa versão funcional. Anexei o patch no Jira do CruiseControl. Não sei se será aplicado, mas se alguém precisar... é só baixar lá!!

Google Reader na veia !

Já conheço conheço o Google Reader há algum tempo. Mas só nos últimos meses passei a usá-lo com mais frequência. Pra falar a verdade, ultimamente tenho ficado com ele aberto o dia todo!

Não tenho muito como compará-lo a outros feed readers pois antes eu usava o reader do próprio browser, no meu caso o Firefox. Mas estou achando a experiência fantástica! Recomendo fortemente, principalmente para aqueles que ainda não adotaram um leitor RSS/Atom padrão.

A funcionalidade de compartilhar itens é muito legal. Dá pra acompanhar o que seus contatos andam lendo e vice-versa - seus amigos lêem as notícias que você achou interessante e compartilhou. Além disso ele automaticamente gera uma página com seus itens compartilhados (a minha está aqui) - veja no box ao lado.

Fica aí a dica!!