SQLite alter table

SQLite is a small, powerful embedded database. A friend of mine started using it about six years ago.
Some years ago it comes also on top of  Python 2.5.
It is used inside

  • FileMaker Bento: its ultra customized model is based on a big sqllite db
  • DropBox client, to store its internal state
  • iPhone: stores your SMS and also other stuff. It is widely used by apps.
  • Apple Safari uses it for HTML5 storage support
  • Google Gears uses it
  • …and in a lot of embedded product.

I was annoyed because until version 3.1.3 SQLite did not provide an alter table syntax but… it is quite easy to emulate it with something like this, even if it required a bit of work:

Continue reading “SQLite alter table”

iPhone success is hard

iPhone is a very nice project, well designed and manufactered, but the market addressed is
an hard bet for Apple.
Big players are already on the ground: Nokia, Motorola, Samsung and Sony for instance.

So it is difficult to play in such market, and some analysts said  "the touch screen was not successful for GSM/phone products".

The launch of "iPod touch" addressed this fear in my own opinion, because the design of the iPhone is very cool, and you can try to at least have it survive ipod-izing it.

Last and more important factor, the iPhone is locked by one carrier in U.S., and the same will happen in U.K.

This is a very greedy move; big player like Nokia are trying to unbundle their product form the carrier, selling phones which can use multiple wireless network (wi-fi, skype, gsm/edge/umts).

Google is doing the same, from the software perspective using the Android project.

So Apple is always smart, but in the portable phone market you must be also price-affordable, fast in releasing new models, and open for working with other competitor.

All things Steve Jobs is not very good at the present time.

Update: At April 2008, Telecom Italy will carry on UMTS iPhones in Italy. I will write an article on them, to understand if the product is a bit less locked.


Blue Dragon: Spam Killer

Hi dear spammers!

I have just finished tuning the latest version of my anti spam-blogging-software, and all the spam have been removed. I am glad to see you loosing your time tring to get some poor bucks from your bogous activity. I hope do you click on my google adverties sometimes, as true friends of mine?

It is an hard work…but someone must shut-up spammers… :) 

This hard work is done by Blue Dragon, a super-A.I. module.

It is super A.I. only compared to the "smartness" level of my dear, poor &  stupid spammers. Blue Dragon is built using simple, effective and breezing technology.

Only a  brainless mind will try to attack it… and  there are lot of them out of there.

Bye bye,

 Giovanni  `Daitan` Giorgi 

Software Trends1

The trends of this october are about some upcoming products.
A clear analisys of QuarkXPress failure si sketched in roughlydrafted site.
I do not think the same consideration can be applied to Vista.

As Joel said, M$ can throw away much money before only starting to see its market reduced.

This lead me to the (hoped?) big fear of M$ for open source.
It is a dream, baby.

Open Source in Italy has success because of high costs of developement library.
When I tried to look for a commercial application to delivery some web graphic stuff, the prices was crazy.
The Open Source solution needed us only to buy a book(!).
Open source deliver a sufficient quality at low mantenance costs.
A smart developer in a 3-people team can set it up and deliver a small project.

If really M$, Sun, IBM’d start fear open source, they can cut their prices of 70% and all the drama will end quickly.

But the truth is Linux is not evloving: it is growing in the SysAdmin area only, popping out old dinosaurs like Sun Servers, replaced by cheap PC.
Sun Servers needs custom monitor and mouse (!) and their price is high compared to equally fast high-end pc.

The server segment is so over-priced that even Apple has succesfully proposed its over-priced servers (this is very fun!).

In the last five years I have seen no new on operating systems, or strong standard evolution.
EJB specs seems quite dead, hibernate is old, and the only “new” ideas are RubyOnRails and… PHP5.

On programming languages python seems growing well.

By the way there is much hypo on Ruby, but its base class library is very small compared to python or perl.

Ruby community is very well organized and can eventually bring Ruby to success, but for the meantime I see more success on PHP if you need a rock solid road.

Finally I have started to work on Squeak Smalltalk Weekly News, and I suggest you to look at it sometimes.



Celeste is a mail reading and organizing program. The name “Celeste” is a reference to an earlier mail reader named Baba, which was written at Xerox PARC by Steve Putz and John Maloney.

Nowadays, Celeste is maintained by Giovanni Giorgi (me).

Latest Feature

A new revision is planned for the end of September 2006, and code name will be “Sonic”.
Sonic will include a smart mailing-list filter and a better “leave message on server” option.
I implemented years ago an auto-filtering system in AppleScript.
The filtering engine used the
RFC2369 and some other tricks to detect yahoo mailing list.
Sonic will have also an auto-filter for google mailing list too.

The leave message on server option is quite bad now. It creates a lot
of duplicated messages.
The new implementation will avoid dowloading twice a message, using
a mix of messageId and timestamp to detect duplicated messages.

Version policy

I have found a misleading versions for celeste.
Celeste uses a “versionString” to mark a version in every sent email.
versionString labelled something like

As far as I started mantaining Celeste, we used a lower version (for example 1.23).

To avoid confusion I have started to renmbering all the stuff starting from revision 3.0.

Anyway, the version name is the first thing you should consider. I plan to do very few releases.

Celeste Auto Filter Capability (BETA)

Some busy users subscribe and unsubscribe to a lot of mailing list.
Managing them with filter is possibile, but can be done only by hand.
Worst, email programs tend to be very slow if a single folder is full of stuff,
and this can be true for Celeste too.

The Celeste Auto Filter option will enable a smart archiving system,
packing the email in seasons.
For instance “2006Q1-squeak-dev” will contain all the emails of squeak-dev of the first three month of 2006 (=the first quarter).

The Auto Filter will understand YahooGroups, Mailman and GoogleGroups mailing list, auto-dispatching them to the right category.
The filter will be enabled by default.


You can find released versions on SqueakMap and development versions on SqueakSource.

Old resources: