mercoledì 20 gennaio 2010

Pomodoro desktop reached 0.30 release

Everaldo nicely contributed with new gorgeous icons, plus some small fixes here and there.


Check out the best pomodoro application in the whole world

giovedì 14 gennaio 2010

2.5 tiers, SOFEA and SOUI

Massimiliano Dessì pointed me to this TSS entry, in which authors discussed their paper "Life above the service tier", 2 years ago. Their SOFEA architecture (someone calls it SOUI) looks very much like the 2.5 tiers and indeed is. Some observation:
  • 2.5 tiers name is technically not very precise, but IMHO much more evocative.
  • I don't think there will be space anymore in the future for Adobe/Java/whatever based RIAS (Flex or JavaFX), the irect Javascript approach on the client is becoming mainstream, much more easy to code/debug than before, and without losing crossbrowser-ness
  • Completely agree on the Front-Controller being an anti-pattern now
There is probably the need for a new integrated "web framework" built on Javascript (probably with JQuery) and REST. Any volunteer?

mercoledì 13 gennaio 2010

2.5 tiers at Javaday 2010

This year at Javaday I'll be happy to present a talk on what I see as a new emergent approach in Web Development. It's not a completely brand new approach, but it's slowly gaining momentum since a couple of years. I couldn't find a good name for this approach, so I invented a new one, "2.5 tiers".

The 2.5 tiers approach is about how Jquery and Rest are changing the way we design webapps: there is no need anymore of complex server side MVC, because you can easily do all the work in javascript, with the help of unobtrusive cross platform Javascript libraries like JQuery.
RESTful design is the other side of the coin, because producing JSON representation of data to be consumed by Javascript is now as easy in Java as in higher level web scripting languages, mostly thanks to libraries like RESTEasy (which is a powerful JAX-RS implementation).
The name 2.5 tiers shows that it's not anymore a full 3 tiers, but it's neither an old client server app (2 tiers). You still have code on the server: caching, validation, REST services, JSON transformation are all on the server side. But a lot of code is now moving back to the client: gui widgets (Jquery UI) are completely client side (probably feeded by a server with JSON) and that's hardly news, but templating for example (JTemplate is one of the emerging libraries) is far less common on the client side. So it's two tiers and "a half".

An interesting side effect of this approach is that you are free to choose for example a .Net application server instead of a Java one (don't take that as an advice!), or try something new and cooler like Erlang or Scala, without touching a single line of GUI code: you basically only have to implement the same interface (GET, POST, PUT and DELETE) and produce the same representation of data (mostly JSON, but XML still has its role sometimes). That means, yes, you can write cross browser components (independent by server side code too!) and reuse those components in other departments of your company that use different technologies (if you are like me, in our company we basically have all the existing IT architectures of the world).

Javaday is not only a free community driven event with the best Italian (and some international) speakers, but we also have enough sponsors to make a great day with great gadgets and great drinks too :)

We are waiting for you, too.

lunedì 12 ottobre 2009

Antiprocrastination tools

This online magazine reviewed some antiprocrastination tools, including my own Pomodoro Desktop. I have to say that I didn't know this magazine, and I didn't know some of the tools reviewed. But the review inspired me to add some new features to Pomodoro: I liked very much the ideas behind Self Control.
The main idea is to block ports and addresses using ipfw (which is embedded in OSX) during your focus time, with black and white lists. That means you can't possibly look at your email, go to facebook or stuff like in your pomodoro time. It's technically easy to code - just craft and send some commands to ipfw - but very effective.
I'll probably add these features to my Pomodoro in one of the next releases: I can't see a way to integrate smoothly, because Self Control uses its own timer

lunedì 5 ottobre 2009

Getting rid of Wordpress...

Aha, at last I finally decided to get rid of Wordpress: sql injections were really a plague and I didn't have time to stay up to date (nor it is easy to update automatic installs on servage)

Here it is what I did:

1) I exported my wordpress blog. You have only to login to your WordPress account, navigate to the Dashboard, look for the Export link. Wordpress will produce a WXR file (Wordpress eXtended Rss) which you will be able to save to your local machine.

2) Go to Wordpress2Blogger, browse the saved WXR document and click Convert and save that file to your local machine. This second XML file is a blogspot specific file.

3) Create your blog on and choose the XML export file you just produced in the Import Blog Tool. Alternatively if you already own a blogspot blog, go to the panel, choose the "Settings -> General". On the first row, immediately before the "Title" filed (yes, it's just a little hidden) there are import and export links. Just click on import and you will see immediately all your old posts and comments

4) After creating my blogspot blog, I wanted to integrate in my site, using my domain name and my look and feel: to do that I just configured the great Rapidblog plugin from Loghound software in my Rapidweaver project. You basically only need to give the blogspot username/password to the plugin.

Et voilà, a complete blog migration in less than one pomodoro! Bye bye wordpress.

venerdì 29 maggio 2009

Pomodoro desktop for Mac


Just announced my Pomodoro desktop client for mac. It is a simple but effective way to manage your (coding) time. I am planning to add a lot of interesting features to it, so stay tuned!

giovedì 19 febbraio 2009

Da Java a Logo...

scherzo, ovviamente.

Però qui potete trovare il materiale del corso di programmazione che ho organizzato per i bambini della scuola elementare Maurizio Poggiali, in via Benedetto Croce. Per rendere il post minimamente più interessante, con antlr sto anche cercando di implementare un interprete migliore di quello scritto "a mano" in kde. Ovviamente tanto non lo finirò mai, ma questa è un'altra storia :)