Unison File Synchronizer

Several years ago I had the need of keep in sync three computers.  After some questions on a java mailing list, a very smart guy suggested me Unison.

Unison is a file-synchronization tool for Unix and Windows. It allows two replicas of a collection of files and directories to be stored on different hosts (or different disks on the same host), modified separately, and then brought up to date by propagating the changes in each replica to the other.

Unison shares a number of features with tools such as configuration management packages (CVS, PRCS, Subversion, BitKeeper, etc.), distributed filesystems (Coda, etc.), uni-directional mirroring utilities (rsync, etc.), and other synchronizers (Intellisync, Reconcile, etc). However, there are several points where it differs:[…]

read the rest on  Unison File Synchronizer.

Unison seems a bit lost in cyberspace (no new features) but the users mailing list spot some activity, so I will suggest to give it a try, because its sync alghoritm is very well written, and the MS-Window interface is good.

Asus EEE-PC better then Mac Air?

Finally I managed to buy a Asus EEE PC 700  this week. I would thanks a lot Next Store and its kindly clerks, which I will prefer in future to Mediaword :)
If you are at Milan and you plan to buy it, Next Store is a good choice.

There are a lot of sites and articles around the net about the EEE-PC, because it is a very new article in the IT consumer world.

The EEE PC is the First  full featured PC sold at 300 euros. The Register tries also to compare it with the Mac Air, and we'll see why this is not a so crazy idea.
In these days in Italy was launched an overpriced version (320 euros) with Windows XP preinstalled. We are waiting also the more powerful version (EEEPC 900) at 400 euros. Anyway, what do the product is the 300 euro price: powerful and richer model at an higher price are no so stunning as the EEE PC 700.

Introduction: the hardware

The Asus EEE PC come with 3-usb 2.0 ports, and one SD Card reader. It is expandable a lot, considering it has the same usb ports of my Lenovo Thinkpad R60.  It has no DVD reader, but it is very small and tight. The  battery charger is similar to that of a GSM phone, and it sounds great because of its reduced weight.
The screen is tiny, but very very bright, so it can work if you are not too much greedy as me.

Even if the keyboard is too small, and the fan is noisy, for the rest EEEPC looks well.
With an external monitor&keyboard attached,  your trouble are reduced, at least at home.
You can compare it to a Mac Mini, sold at 600 euros, which has a similar but powerful hardware: so having half the ram for the EEEPC is not a surprise.
But the EEEPC 701 is easy to expand, and on Internet some guys managed to install 2Gb of RAM.
And it is not shipped by deafult with windows but with a linux operating system… another big news, isn't it?


I code every day. So in my spare time, at home, I have two priorities: my girlfriends, and games.
And EEE-PC come with some funny games like Frozen Bubble, so it is definitively a very good machine.

 Vodafone & EEE-PC

In Italy, Telecom Italia sells a branded version of EEE-PC, with its USB connect key. If you have a Vodafone Connect Key, I have found an italian article to try to connect it. I will do some tests, and then translate it in English if it is worth of it.

The Software…

The operating system is a commercial version of Linux. Anyway it is well packaged, and it is reasonable fast. The File Manager does not start in a snap, but it could be worst.

…the ideas

Because ObjectsRoot.com is  heavly focused on software development, I am searching a set of article to how build a small cluster of EEE-PC, for doing small distributed computing. The cluster should be easy to set up, with no installation of new operating system, and should have decent performance.
I will report  my experiments in the next month.

Hacking it [Update on 11 june 2008]

Ubuntu has relased a specilized version of ubuntu linux

Conclusion: Why it is great

All these stuff fit in about 300 euros, and there is no decent PDA  at this price…even a good Nokia GSM phone is difficult to find for a such price. The EEE-PC weights less then 1 Kg, and it is very easy to carry on. The webcam is good if you have sufficient light to give it, and you can record at 44.1 khz your voice.
Skype comes preinstalled, giving you a lot of freedom with its VoiceOverIP technology.



The Valueteam PDFGenerator


Per un importante cliente di ValueTeam, ho sviluppato per un'applicazione chiamata PDFGenerator, che è stata pacchettizzata come un vero e proprio prodotto.
PDFGenerator nasce in una situazione caratterizzata da un alta variabilità dei requisiti utente.

Le specifiche del progetto hanno subito variazioni significative nell'arco di quattro anni, ed alla fine i requisiti utente erano parecchio mutati.  L'applicazione, già fatturata, non era ancora stata validata dal Cliente finale, ed era passata di mano moltissime volte.
Da un lato c'era la necessità di fornire uno strumento semplice da utilizzare, dall'altro la possibilità di espanderlo nel momento in cui le esigenze di Business del Cliente fossero cambiate, contenendo i costi di sviluppo.
Questi due aspetti erano acuiti in questo contesto, poiché i dati potevano provenire da fonti assai eterogenee per tipologia (database o personale del marketing) e l'utente finale doveva elaborarle in modo uniforme e rapido.
Per queste ragioni la specifica era cambiata spesso nel tempo, e la sfida era notevole.
PDFGenerator è semplice dal punto di vista software, e la sua forza sta nell'idea, e nella capacità di capire l'utente finale.

Si tratta di una applicazione che è in grado di caricare dati da un backend, e di generare poi a partire da esso una serie di documenti Word parametrici, da cui l'utente genera documenti pdf.
Tali documenti sono una serie di informative sui prodotti erogati dal Cliente verso i loro partner commerciali.

Si tratta di gestire agevolmente oltre 500 documenti, simili tra loro ma divisi in moltissime tipologie.

L'applicazione consente all'ufficio marketing di creare informative personalizzate, ed è integrata con Microsoft Office.
Il back end può essere esteso in diversi linguaggi (Java, .NET ecc) purché generi in uscita un file Excel.
Un modello MS-Word poi si occupa di integrare, con una serie di macro, i dati provenienti dall'Excel e di consentire, in modo guidato, la generazione di un vasto numero di documenti MS-Word.
E' quindi possibile estendere l'applicazione nelle due direzioni:
+ dal lato backend, arricchendo i moduli che forniscono i dati.
+ dal lato del front end, personalizzando l'interfaccia utente
L'estrema attenzione al Cliente si è concretizzata nello sforzo di fornire una interfaccia di amministrazione semplice e gradevole, seguendo i più moderni dettami dello Human Interface Design.

Inoltre, l'aspetto più importante è stato comprendere le esigenze del cliente attraverso lo sviluppo incrementale di una serie di prototipi operativi. Lo sviluppo di prototipi operativi in tecnologia WebJ2EE risulta difficoltoso,  mentre appoggiandosi agli widget grafici di MS-Office è stato possibile ridurre di quasi tre volte lo sforzo operativo.

Per maggiori informazioni, mandate un email

Shopping in the IT

Oracle buys BEA and Sun buys MySql.

In reply,Migrosoft is hungry and is watching Yahoo :-)


Any bets on the next money-based-news?

I'm going for

  • Oracle buys Sun: "We need more hardware to run Oracle and WebLogic together! "
  • Google buys Oracle: "We have *even* more hardware…come on!"
  • Apple buys Google: "So nice LOGO", retrodating a bunch of stock options, I suppose.
  • Microsoft buys Apple ("So annoied their are more cool then us!") and shut down all them all so you will end up using their search engine, I hope.


Surely Oracle needed a good application server to push its db.
Sun move seems  a bit strange in my humble opinion: anyway the big competitors in standard dominance (Sun,Oracle,MS) now have all the same stuff: broad used databases and application servers.

Even Apple has acquired FileMaker, pushing it with the "Bento" single-user-oriented db. 

Google has a different approach and a bit different market scope, so do not enter in the plan drafted here.

Sun move is very strange because MySql is not an "enterprise" stuff as in the Sun-way-of-life; normally Sun wants big software which need big computers, to buy at Sun Shop.

MySql should be acquired by Microsoft because of its very light footprint: but it sounds too much open source stuff for this move.





better unix life

This entry is part 1 of 2 in the series Unix swissknife

File mass replace

Use the sed -i command

sed -i.BAK 's|foo|bar|g' files # -i does in-place replacement
perl -pi.bak -e 's|foo|bar|g' files                # or
perl -pi.bak -e 's|foo|bar|g' `find /pathname -name "filespec"`


Perl is the preferred way, but on some production system you must use the old good sed. For some tips on sed take a look to its faq.


Another very powerful command is xargs. Xargs is a rapid  way to process files containing spaces, using  a  combo with find:

find . -print0 -type f   | xargs -0 ls  | grep " "

Xargs is normally fastest then relaying on backtick substitution. For instance:

ls $(find . -type f)

is  slower then

find . -type f | xargs ls

because this second form create two process which works at the same time, using the unix pipe.