Monday, 30 January 2012

Friday, 11 March 2011

Messaging Presentation

Here some slides about Messaging, AMQP, RabbitMQ. This slides are part of a small tech talk and includes the example from my previous post.

Wednesday, 9 March 2011

RabbitMQ and Node.js Websockets experiment

I've been experimenting with Rabbitmq and Node.js support for Websockets.
The idea is just have a backend to generate random numbers (0-10) and plot the numbers in a realtime graph with websockets.
For that we going to use a Publish/Subscriber model with AMQP and RabbitMQ. The backend (aka Groovy Script) publish the numbers in a exchange. And the suscriber (aka Node.js with Socket io) get the messages from the queue and push the messages in the web browser.

Here Groovy Script
to put messages in the exchange "stockExchange". It generates 1 message per 300 miliseconds !!!!


Here the client code, that use smoothiecharts to render the graph with Websockets


And here Node JS code that suscribes to an AMQP and send each message to the browsers
socketexample.js

Thursday, 25 November 2010

Projects to pay attention in 2011

Just before hollidays I want to share, my list of projects that I'm going to follow and I'll try to use it or test it in 2011.

Yahoo S4 The new Hadoop, for MapReduce and realtime processing, it seems to be really promissing, to process Twitter or to trying to do web analitycs.

Elastic Search Really good competitor for Solr, with amazing fetaures, based in Lucene and with NoSQL philosophy.

Apache Mahout Machine learning for Hadoop, I'd like to build recommendation systems.

Jetty Websocket Support. The new HTML5 support to do some kind of game or collaborative web site.

MongoDB I love this database, I hope I can use it in my next webproject.

Tuesday, 6 July 2010

NoSQL Presentation

This are a NoSQL slides that I did last month in my current company

Monday, 19 January 2009

Fainit and Facebook Connect

I told that I wouldn't develop more features in Fainit, but this one can help to create community and increase the number of users. Because of this, last week I've been developing Facebook Connect in Fainit.

As a jump start I used Grails Facebook Connect Plugin. Later, if you remember what I did with OpenId and JSecurity, are exactly the same steps with Facebook Connect.

And now you can login in Fainit with your Facebook account, or associate an existing user account to your Facebook account in your profile.

As well, your recommendations can appear in your wall like this:
Enjoy new feature!!

Tuesday, 23 December 2008

Grails: OpenSearch in Fainit

This week I've been improving Fainit. One of the features that I've added is OpenSearch, it's really easy in Grails.

The result is that you can add a search engine in firefox, and search in the site like in this screenshot:

First you have to create a controller to server XML for OpenSearch:
def site_osd = {
render(template: '/common/site_osd', contentType:"text/xml")
}
To be more user friendly add a mapping in URLMappings.groovy
"/site_osd"(controller:'home', action: 'site_osd')
Next you have to do a template _site_osd.gsp to server XML descriptor
<?xml version="1.0"?>
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
<ShortName>${message(code:'search.opensearch.title')}</ShortName>
<Description>${message(code:'search.opensearch.description')}</Description>
<Url type="text/html" method="get" template="${createLink(controller: 'search', absolute: true)}?q={searchTerms}"/>
</OpenSearchDescription>
And the last step is add Opensearch descriptor to your main layout (main.gsp) in the head section,, like this:
<link rel="search" href="${createLink(controller:'home',action:'site_osd')}" type="application/opensearchdescription+xml" title="${message(code:'search.opensearch.title2')}"/>
And that's it, really easy and good result.

Monday, 1 December 2008

Coming Soon Fainit


Have you ever looked for a plumber? Do you know the best restaurant in your city? Do you ask your friends to know the best services and places?

I've been working the whole past month in a collaboratively site to share the best places and services with your friends and with the world. Now I have the first beta, the chosen name is fainit.com, it's a really beta service and for this period I have a limited number of users, try to register and start to share your recommendations.

Behind fainit there is a grails project, and great experience developing my first social network.

Enjoy the site and send me feedback.