Feed on
Posts
Comments

La mia posta dov’è?

Da un po’ di giorni non mi arriva più la posta (quella tradizionale) a casa. Considerandolo un fatto piuttosto strano visto che abito in una grande città, telefono alle poste (803.160) per segnalare la cosa.
Dopo aver fatto lo slalom tra le varie scelte guidate del risponditore automatico, riesco a parlare con un operatore a cui segnalo che da 5gg non ricevo più la posta, né io né gli altri condomini del palazzo in cui vivo.
L’operatore mi chiede se stavo aspettando qualcosa in particolare e, dopo avergli detto che non aspetto nulla in particolare ma che sono abbonato ad un quotidiano che ha smesso (insieme al resto della posta) di arrivarmi, mi mette in attesa.

Durante la lunga attesa rifletto sul fatto che, sebbene molto cortese, il tono del mio interlocutore mi pareva strano… c’era qualcosa che non mi tornava. Io stavo contattando le Poste Italiane per segnalare che non mi arriva la posta da 5gg e il tono del mio interlocutore poteva essere paragonato a quello di un medico in sala operatoria a cui viene chiesto se ha da accendere. Come se la mia segnalazione fosse off topic.

Continue Reading »

phpKnockClient 1.0

I’ve implemented a port-knocking client implementation in PHP inspired by the knockd C implementation made by Judd Vinet.

You can can download it at this page.

If you don’t know what port knocking is, it can briefly described as a way of surreptitiously offering services on a server without advertising the fact. By delivering a special sequence of “port knocks”, a user can open up access to a port for his IP only, and close it again when he’s done.

For more information, see the port knocking website or this article that is an introduction to how, using the port-knocking technic, trusted users can manipulate firewall rules to transmit information across closed ports.

PostgreSQL mi accompagna nel mio lavoro da ormai 8 anni e di versione in versione mi ha sempre regalato delle soddisfazioni. Di recente, volendo migrare dalla versione 8.0.2 alla recente 8.4.1 ho dovuto litigare un po’ per fargli digerire il fatto che sullo stesso server devono coesistere database LATIN1, LATIN9 e UTF-8. Con l’ultima versione, PostreSQL, è diventato infatti un po’ più rigoroso nella gestione dei locale senza però documentare in maniera opportuna la cosa. La documentazione ufficiale non va oltre qualche esempio e quindi ho dovuto andare un po’ per tentativi, e riuscire a creare i dabatase con encoding voluto e il locale opportuno (it_IT).

Continue Reading »

Venerdi’ 20 Novembre 2009 si terrà a Bologna il sesto Italian Agile Day. Si tratta di una conferenza gratuita di un giorno dedicata alle metodologie Agili per lo sviluppo e la gestione dei progetti software rivolta agli sviluppatori, project leaders, IT managers, tester, architetti e coach che hanno esperienze da condividere o che iniziano solo ora ad interessarsi a queste tematiche. La giornata ha come obiettivo la conoscenza pratica, le esperienze sul campo e un attivo coinvolgimento di tutti i partecipanti. L’accesso è libero previa registrazione, i posti sono limitati. L’evento, per la quarta volta consecutiva, si auto-finanzierà.

Oggi, tornato a casa, mi sono accorto che il mio prezioso Time Capsule era spento, subito ho pensato che uno dei miei figli avesse staccato la spina sotto il tavolo, ma la spina era attaccata. Poi ho dato colpa al cavetto di alimentazione, ma usandone uno diverso il Time Capsule ha continuato a non accendersi.

Rassegnato a portarlo a far riparare mi metto a cercare la fattura di acquisto e, trovandola, mi accorgo di possedere il mio Time Capsule da soli 18 mesi e la garanzia, in Italia, dovrebbe durare 24. L’acquisto l’ho fatto direttamente sul sito della Apple e quindi mi metto a cercare i termini di garanzia sul loro sito. Poi vado su Google e invece dell’informazione che cerco trovo il seguente articolo:

Time Capsule, viaggiare nel tempo… fino a 18 mesi

Continuando a cercare trovo che non solo non sono solo ad avere un Time Capsule morto a 18 mesi di vita, ma siamo in tanti e per trovare compagni di sventura basta cercare su google: time capsule 18 month.

Il link più bello è quello di un sito dove si può registrare la morte del proprio Time Capsule: The Apple Time Capsule Memorial Register. Si può registrare il proprio Time Capsule dichiarando il giorno di acquisto e il giorno della morte… curioso che la media di vita dei Time Caspule registrati (attualmente 416) sia di 17 mesi e 4 giorni.

Domani andrò nel più vicino centro di assistenza Apple per elemosinare una riparazione in garanzia… se non me l’accorderanno, penso tirerò fuori il mio Dremel e seguirò una delle seguenti guide per la sostituzione fai-da-te dell’alimentatore:

Aggiornamento (4 novembre 2009)
Dopo appena 8gg lavorativi il centro d’assistenza Apple al quale mi sono rivolto mi ha chiamato dicendomi che aveva il mio Time Capsule. In realtà me ne ha dato uno nuovo, avrei preferito se avessero cambiato la sola alimentazione recuperando così i vecchi backup, ma mi è stato detto che la cosa non era possibile.
Nel darmelo mi è stato specificato che il nuovo Time Capsule non era praticamente coperto da garanzia poiché si fa sempre riferimento alla data di acquisto di quello che è stato sostituito. La cosa è normale, visto che non ho pagato alcuna riparazione, ma lo zelo con il quale mi è stata precisata la cosa mi ha messo un po’ di dubbi: quanto durerà?

Con un po’ di meraviglia scopro che per qualche problema legale i DRM di Adobe e della Mobipocket non possono essere implementati sullo stesso eBook reader. Così viene sostenuto, recentemente, da molte case produttrici di eBook reader con tecnologia eInk.

Possiedo da qualche tempo un BeBook che, come ho già scritto, è un ottimo lettore di eBook che, come molti suoi simili (CyBook, Handlin V3, EZReader, etc), legge eBook in formato Mobipocket con e senza DRM. Da poco tempo, per lui e per molti suoi simili, le varie case produttrici stanno rilasciando dei nuovi firmware in grado di leggere eBook in formato ePub e PDF con il DRM di Adobe. La lettura di questi ultimi formati senza DRM è già possibile, ma è evidente che poter trasformare il proprio lettore in un device in grado di gestire il DRM di Adobe è un notevole passo in avanti.

Se però da un parte si fa un passo in avanti, dall’altra viene fatto un notevole passo indietro poiché a tutti questi lettori, con i nuovi firmware, viene tolta la capacità di leggere eBook in formato Mobipocket con DRM! Unica soluzione proposta per poter continuare a leggere i propri libri acquistati in tale formato è mantenere il vecchio firmware, oppure cambiare il firmware in base al DRM che si deve usare… comodo!

Questo atteggiamento mi sembra molto riprovevole nei confronti di utenti che hanno acquistato un oggetto privo di qualsiasi legame con le aziende produttrici dei contenuti (a differenza di chi ha acquistato un kindle, per esempio). Non si capisce poi quali possano essere questi problemi legali visto che la convivenza di software per la lettura di formati Mobipocket e PDF con e senza DRM convivono tranquillamente e giustamente su quasi ogni sistema operativo. A me sembra tanto una imposizione di Adobe, che per paura di perdere il treno (il secondo per nella fattispecie), prova ad imporre a questi piccoli produttori il suo DRM in alternativa a quello della Mobipocket già usato da Amazon.

Mi chiedo se non ci si possa in qualche modo organizzare per sottoporre all’attenzione di queste aziende il disappunto degli loro utenti. Per il momento ho aperto una richiesta di spegazioni nel forum di supporto per il BeBook, chi si vuole accodare o volesse proporre altre strade, è il benvenuto!

Aggiornamento (11 agosto 2009)
Dalle risposte che mi sono state date sul forum di supporto del BeBook non si tratta di problemi legali, ma di problemi di licenza. In particolare, differentemente rispetto a quanto avevo supposto in un primo momento, i “cattivi” sono quelli di Amazon che forniscono la possibilità di usare il loro DRM su Mobipocket in licenza solo su lettori che non hanno altri software di DRM al loro interno.

This article is to make a simple example on how you can manage SOAP Messages with Attachements in PHP and, in particular, I’ll describe how to use the PEAR::SOAP package to transmit files associated to a SOAP message as attachments in their native format in a multipart MIME structure for transport (SOAP Messages with Attachments specifications).

Even if the PEAR::SOAP package is not yet considered stable and even if it lacks completely of documentation, the use of it is the only way I found to solve this problem. Nor the standard SOAP PHP5 implementation, nor the Zend_Soap package in the Zend Framework provides any way to manage attachments to SOAP messages.

Continue Reading »

Very often I found on the web ContentProvider examples based on a SQLite table that describes, as a constraint, to have a column named _id to be used as primary key. Also the official Android Dev Guide introducing in Creating a Content Provider tells to

Be sure to include an integer column named “_id” (with the constant _ID) for the IDs of the records.

This way of done it could be considered a good best practice when the Content Provider that I have to implement is based on a single table. It’s also very useful because the fact that widgets like ListView works by default with Content Providers that provides an integer identifier called _id, but it couldn’t be considered a constraint.
Infact, if the Content Provider you have to implement is not trivial and, for example, is based on data coming from more than one tables, the rule to use for the identifier column the _id name is unconfortable and it makes the phase on design of the data model warped.
Now I try to describe a not so much complicated example where the use of _id as identifier column name is impossible and I’ll make an example of how to build a Content Provider to manage this case without leaving the facilities guaranteed to the trivial way of done.
Continue Reading »

La rivincita degli eBook

Per tutti coloro che li davano per morti e per tutti coloro che li stavano aspettando, ecco, sembra siano tornati gli eBook. Perlomeno si è tornato a parlarne e c’è chi, addirittura, ci sta scommettendo per il proprio business.
Non sto certo parlando dei pdf, che invece di essere mandati in stampa, vengono in messi in vendita sulla rete, ma sto parlando di edizioni digitali vere e proprie affiancate o meno a quelle cartacee.
Continue Reading »

È da qualche tempo che tengo d’occhio il mercato dei dispositivi di lettura basati sulla tecnologia eInk. Di recente mi sono deciso ad acquistarne uno che mi permettesse, oltre al godere del piacere della lettura su tale dispositivo, di fare qualche esperimento riguardo ai formati supportati da questi dispositivi.
Dopo avere provato il CyBook ho deciso di acquistare il BeBook, non perché il CyBook non sia un buon eBook reader, ma perché il BeBook offriva, almeno sulla carta, il supporto molti più formati di file come, ad esempio, il formato epub, rtf e doc.
Per arrivare a tale decisione mi sono basato su due recensioni che ho trovato in rete e che elenco di seguito perché le ritengo molto ben fatte e, dopo aver provato il dispositivo in questione, rispondi alla realtà:

Per quanto riguarda le mie prove, mi sono concentrato nel verificare i formati supportati e sulla reale fruibilità e leggibilità di libri nei vari formati. Quello che si nota infatti è che questi eBook reader usino programmi differenti e con diverse interfacce in base al formato da leggere rendendo, di conseguenza, diverse l’esperienza di lettura differente. Questo fatto potrebbe essere considerato normale per formati intrinsecamente diversi come un pdf, che è formato a layout fisso, e un mobipocket, che non impone un layout ai contenuti (reflowable text), ma talora, come vedremo più avanti, succede anche per formati teoricamente e strutturalmente simili.
Continue Reading »

Older Posts »

Creative Commons Attribution 3.0 Unported
Creative Commons Attribution 3.0 Unported