le Wadablog

Aller au contenu | Aller au menu | Aller à la recherche

vendredi 3 septembre 2010

Wave in a box

Wave open source next steps: "Wave in a Box"

As announced here, the project will contain : 

  • an application bundle including a server and web client supporting real-time collaboration using the same structured conversations as the Google Wave system
  • a fast and fully-featured wave panel in the web client with complete support for threaded conversations
  • a persistent wave store and search implementation for the server (building on contributed patches to implement a MongoDB store)
  • refinements to the client-server protocols
  • gadget, robot and data API support
  • support for importing wave data from wave.google.com
  • the ability to federate across other Wave in a Box instances, with some additional configuration
This is fantastic. This means possible company-wide + company-only Wave servers.
Very good ! A nice start for a friday today !

Most of the world will not care but "robot support" means that the time I spent on the WadRobotFramework will not be have been wasted. 

Jérôme / Wadaël

mercredi 30 juin 2010

First ADvertisement for the WadRobotFramework

I have recently know about the site http://www.xtranormal.com that allows to create movies via a website.
You certainly have too, due to the buzz with the 4G/Evo video. 

So, as I saw robots being available as actors, a bell ringed and I did a short movie about my WadRobotFramework
I managed to have it published for free after the deception of the will-have-to-pay feeling (must be by changing of actors and background).
I've also put it on youtube. 
In less than a minute, it will not teach new stuff if you are already experienced with the WRF but I hope you will find it funny.

So, if I remember a conversation I had with @didiergirard (who coined the Geek 2.0 term), I think that 'creating an ad' is one more line to add to the todo-list of actions that should go along an opensource project :
  • create a dedicated twitter account
  • create a dedicated website
  • speak of it
  • (and more)
Have fun with the video !
On YouTube  or on xtranormal.com

I'll definetely have a go with the desktop software of xtranormal


jeudi 15 avril 2010

A wave for the WadRobotFramework


There is now a wave about the wave robot framework ! But, as scripts do not work in this blog, got to Wave and search for WadRobotFramework

The page at http://thecodersbreakfast.net/index.php?post/2010/04/15/Google-Wave-Embedded-:-Mise-%C3%A0-jour will show you how to embed a wavelet on your website.

// //

dimanche 24 janvier 2010

WadRobotFramework, les slides en français

J'ai publié les slides de ma présentation sur mon WadRobotFramework sur SlideShare.net

 Quelques anecdotes sur cette présentation :
  • La sortie vidéo de mon portable n'a pas fonctionné
  • Le portable prêté est tombé en panne de batterie
  • J'ai utilisé une version non corrigée de mon framework

Mais je m'en suis bien sorti quand même, j'ai rencontré des gens passionnants et même une célébrité (@didiergirard), revu ce taquin de @fbaligand. Il a raison sur le fait que c'est la troisième présentation sur Atmosphere que je rate.
Faudra m'en faire une pour moi tout seul, Fabien.

Voici les slides

lundi 4 janvier 2010

WRF - WadRobotFramework v1.1 is released

WRF Version 1.1 is released.

It features the robot generator. See wiki for instructions.

A near complete robot can now be generated in a few seconds, reducing even more its TTC (time to cloud).

Logic implementation has still to be done by the user. Sorry about that.

Tweak TWO (or even one) .properties file, run a target and voila !

How ??
First, build.properties (once for a workstation)
then, generator/generator.properties (once for each robot)
launch one of the following Ant targets (in build.xml)

# generate_SimpleAppenderRobot
# generate_SimpleModifierRobot
# generate_AdvancedRobot

According to the type of robot you want (see wiki).
On-screen instructions will tell you which files to modify (for the logic part).
The project's wiki proposes instructions for both generating and using the generated robot.

Enjoy and give feedback. Thanks.


vendredi 11 décembre 2009

WadRobotFramework : QuickStart archive published !

I have published a ZIP file containig an Eclipse project that is nearly ready to deploy.
A few adjustments to your station are still necessary.

Please look at the QuickStart wiki page for details, you will find the ZIP on the homepage and under the Downloads tab.

More to come : I am working on the Ant script that will generate entire project through a few inputs.



mercredi 2 décembre 2009

A framework for creating wave robots - What for ??

As you may know, I have committed a few source files I dare call a framework.
That's because I did not dare call it a Foundation.

This framework is available at this address http://code.google.com/p/wadrobotframework

Ok, great the description in the wiki underlines how quick it is to write a robot with it.
And it's true !

So what can it be used for ?


Not much ideas to share at the moment.


By rolling your own robots, you'll be able to make do what you want.
Delegation is the keyword.

Private waves and own robots ...
It makes it possible to ... sort of ... give orders in synch with your desires.

  • Add a URL to your wave, and it is saved online. Useful with some user interface for search/filtering your bookmarks.
  • Add a URL to your wave, and it make it a PDF, make the PDF go to your own CMS (like Alfresco).
  • make something triggered.

Note that there is requests for bots at this adress

dimanche 29 novembre 2009

Feed your other self (twitter, GAEJ,CRON,Twitter4J )

Introduction and goal

As I know that will help at least one person, here is how I publish new spoonerisms on my other Twitter account @kontrepeteries on a regular and automated basis.

(A) Solution

The solution I chosed is to CRON a servlet deployed on GAE/J. This servlet uses Twitter4J, a very quick & simple API.

Servlet code

The code is shortened for brevity.

Actually, the servlet displays what is tweeted so that I could verify all went well at write+test time.

public class FetchLatestContrepServlet extends HttpServlet {

        protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException 
                // get spoonerism (gets PHP-generated JSON from my Free.fr website and unmarshall it)
                Contrep c = VaVoirChezFree.getUneContrepAvecIdSuperieur(bi.getHighestContrepId()); // just the id of the latest fetched contrep as parameter. 
                // UPD twitter status
                Twitter tw = new Twitter("YOUR_LOGIN","YOUR_PASSWORD");
                try {
                        tw.updateStatus( c.getText() );
                } catch (TwitterException e) {
                        log("twitter update error " + e.getMessage() );

                writer.append( c.getId() );
                writer.append( c.getText() );


Do usual conf in war\WEB-INF\web.xml

Example for file war\WEB-INF\cron.xml.

<?xml version="1.0" encoding="UTF-8"?>
                <url>YOUR APP-RELATIVE URL HERE (starts with /) </url>
                <description>tweete a spoonerism</description>
                <schedule>every 8 hours</schedule>

There is a possibility to restrain usage to the "admin" role so that you get sure it's only executed by the CRON launcher. See official documentation. But if you want to run it by hand, don't.


No rocket science here. This is how to do a CRON in GAEJ, you may modify this code to read tweets on a regular basis and save them to wherever you want (cloud, Free, ....).

If you have an Android device and a wave account, you may also check A wave regularly to save new blips to another place (twitter, DB) so that you can use your own (lighter) client to read waves. I've been told GW is slow on Android,

IMO, for wave-to-whatever data-transfer, use a wave robot.

Stay tuned for the release of my wave robot framework.

Meanwhile, if you understand French wordplays, @kontrepeteries may entertain you.

Follow me @wadael , it's sometimes worth it.

See you


mercredi 18 novembre 2009

Google Wave, how many different robot types

Being a java guy for quite some time, I got interested in Google App Engine (later GAE) as soon as it supported Java.

I can be used to host web application as you know and, more recently, Google Wave (later GW) robots.

For instance, GW robots can only be hosted on GAE for the moment.

I wrote a robot, following the tutorial and found it very brain-teasing. You know, robots, A.I., .... stuff you have read/seen times and times. It is now put at hand's reach (well sort of) and it's no use knowing the Lisp language to write one.

My robot is rather simple, it's only action is to react to the content of a blip (roughly the same as a post), find the longest word (that is more than 5 characters) and display in another blip all the contrepeteries (French for spoonerisms) known to it (500 entries to choose from), containing the selected word.

Browsing some waves, I recognized different groups of GW robots :
  • those that modify a blip  (add a map, replace :) with a picture of a smiley, ...)
  • those that react to a blip (like mine)
  • presumably, those that work in stealth mode, doing whatever they can like logging blips, participants, ...
  • those that react to commands, like Today Special Robot 
That last group is the one I find the most intelectually teasing.
Of course this is vast, but there is space for something I can do.

Stay tuned for more ...