Pomodoro desktop reached 0.30 release

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

pomodoro-web

Check out the best pomodoro application in the whole world
here!
Comments (8) Show Comments

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?
Comments

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.
Comments

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
Comments (2) Show Comments

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 blogspot.com 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.

Comments

Pomodoro desktop for Mac

Pomodoro

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!
Comments (1) Show Comments

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 :)
Comments (2) Show Comments

iPhone applications up and running...

And finally, they are.

Almost 20 days to approve the contract, phew.

And now, let's find the bug: in the iFiscal app, some users reported crashes and hangs. Unfortunately, the app works pretty well in the simulator and on all physical devices I tested. Right now, I don't know how to fix it: I found a little leak with Instruments which I'll fix as soon as possible, but it appears to be not related to the crashes reported (apparently all on "cambio comune").

If you own an iphone/ipod touch and the application didn't work for you, let me know exactly the firmware and the exact model of your device (f.e. iPhone 16Gb, 2nd generation, fw 2.2), and what you were doing.

Update: ah, let me also know if it's jailbreaked (no, I'm not an apple employee :) ). Perhaps it doesn't mean anything, but I didn't test the app on a jailbreaked iphone, and the users who reported me the crash have all a jailbreaked iphone.
Comments

My first iPhone applications...

... developed, finished, submitted, approved. But still waiting for the contract approval.
Comments (1) Show Comments

Ahhh, virus in blogs...

I have been hit by an infection. The old Wordpress I was using was apparently vulnerable to a sql injection, and I only found out thanks to google, which showed in the search that the site can harm you. Well, thanks, google. I hadn't time to investigate how exactly the injected javascript could harm, because I had my problems to reinstall wordpress and migrate the content, and that's enough.
Comments