An Interactive Environment for the Didactical Manipulation of Programs


Here is my work of the last 4 months.


Download PDF Thesis here


Video embedded in presentation


(To run it locally on your machine, you have to install Google App Engine for Python [which you can find it here at time of writing ] and then launch the google app engine program and ‘add existing…’ which will be the content of the zip from above, and press play to run it locally)

Web app

This work has been referenced in

and in

BloP: easy creation of Online Integrated Environments to learn custom and standard Programming Languages (Stefano Federici, Elisabetta Gola,università di cagliari, Italy)

at siremsiel2014  (sirem – sie – l 2014 )

Update on shell-fm

Today I found another excellent, really really excellent web interface! It is based on ruby, sinatra and jquery!
you can find it here:

I’ve installed git, ruby and sinatra on my raspberry pi , created the config.yml file and I was good to go!
(shell-fm was already installed on my r-pi following my precedent blog post)
Look here! Isn’t it nice? There’s also Album cover!!!
Nice work!Image

Quickly process a JSON string

So this method is so naive that I’m not so proud of it.
But “hey, we have plenty of resources now, and we I’ve paid for it!” they say…
Actually this a homemade/handmade/whatever kind of parser for a JSON string like this:

{“user”:”paraimpu”,”text”:”Hi Twitter buddies”, “created_at”:”Wed, 05 Oct 2011 13:45:03 +0000″}

What I do: I analyze every character of the json string, and look for a first  quotation mark like this ” .
Then I save all of the text until I find another quotation mark.
All the rest is ignored.
I build a string with all the characters inside the two quotation marks, and then add that string to a List.
Then I scan that list in another function, and when I find a field of interest, like ‘text’, I know that the related content of that field is one cell ahead, ready to be used (because the json string is structured that way).
Nothing more, nothing less, no libraries, so naive.
This is what I get if I print the elements of that list

user paraimpu text Hi Twitter buddies created_at Wed, 05 Oct 2011 13:45:03 +0000


Here is the code for processing (Java derived language) but you can quickly understand how to replicate it in other languages. 

I’m still messing around with Paraimpu’s functionalities.


Did you know that with Paraimpu you can easily connect pretty much anything through a “sensor-actuator”-paradigm?
It’s pretty much like a “producer-consumer”-paradigm, but cooler, and web friendly, and social too!
Try it @

I’ve created a feed-rss-tweeter in a matter of seconds!
Here I show you how I did the same exact thing for my Facebook profile!


Rails and rust

It’s almost a day that I’m trying to get things working in here.

I’ve set-up a small home server (actually is my old HP laptop running ubuntu 10.04) with some server applications like apache, mysql-server and other stuff like php5, ruby, and RAILS.

So reading TFM, I’ve installed ruby, then gems and finally rails…

My command history looks something like this:

sudo apt-get install ruby rubygems ...
gem install -y rails

Then I used the rails command to build a new web application, and then I’ve tested if all worked correctly

rails blog
cd blog
ruby script/server

Directed my browser to the famous address(localhost:3000), first I’ve got the message

Welcome aboard

then I decided to refresh the page and then I’ve got

Internal Server Error
private method `gsub!' called for #<Class:0xb6ff44dc>

After that, it been a long road until now, with installs , remove , clean, installs of various combinations of ruby and rails versions…untile I finally decided to give up.

For the last time I was installing RoR, but this time I tried without installing ruby and gems, but I let ubuntu install rails for me

sudo apt-get install rails

After this last command I found that ubuntu installs all that you may need for rails, with only one command.

‘Finally!’ – I said! Let’s try this time if it works!!

Not yet.

‘Maybe there is a problem with WEBrick!’ – I thought, and I’ve installed another ‘web server’ for rails, called Mongrel, and used that to launch my first web app.

sudo apt-get install mongrel
ruby script/server mongrel

Well, in this image, you can find the answer that I found at each refresh of the page…

Welcome aboard!!

…well, thanks man!

Let the journey with rails begin!