Skip to Content

Claudio Cicali – Web Developer and Solution Architect

Rant

Ultimi miei 3 articoli su Edit di HTML.it

Concorso di colpa

Quando ero giovane mia madre dovette affrontare il fatto che ero diventato ateo. O meglio, che glielo avevo semplicemente detto. Non si arrabbiò né si scandalizzò, ma reagì stupendosi di come potessi vivere “senza speranza” o “senza fede”.

Ieri a Bologna una donna ha trucidato a coltellate i suoi due figli piccolissimi, per poi uccidersi lanciandosi dal terrazzo. Nella lettera di addio c’è scritto “li porto con me“.

Ora io mi chiedo: se questa storia dell’altrove, dell’aldilà, della speranza e quant’altro fosse relegato da sempre ai film di fantascienza e non a qualcosa di serio che cercano di inculcarti, quei bambini sarebbero ancora vivi? Secondo me sì.


Esportare CSV per MS Excel? Sembra facile!

Potrei aver scritto questo post 45 volte, ormai, e tutte le volte ci ricasco. E bestemmio.

Prima o poi ti capita che il cliente ti chieda “l’export per excel” di qualche tabulato. Tu al volo allora gli proponi l’export in csv che tanto Excel lo apre come fosse un xls, sperando di svincolarti dai micragnosi (e fino a poco tempo fa) misteriosi formati proprietati Microsoft. Capra e cavoli? Tutto liscio? Certo, come no.

Prepari il tuo bell’export CSV come tutti sanno fare e magari approfondisci anche il discorso.

Con OpenOffice, ovviamente, tutto liscio.

Ecco invece i problemi con Excel (sarei tentato di dire “qualsiasi versione”, ma in realtà ho provato solo con MS Office 2003)

  • per Excel la “C” di “CSV” sta per “semicolon” e non per “comma”. Già. Occorre separare i campi con un punto e virgola, non con una virgola (ancora una volta OOo non fa una piega cambiando questo “default” – si limita a dire “Oh, OK.”; giuro che l’ho sentito) [edit: come dice calca nei commenti questo comportamento potrebbe essere una impostazione del locale... boh]
  • il problema più grave, però, è che per Excel un CSV può essere soltanto in LATIN1 e niente altro. Avete codificato il CSV in UTF8? Tempo perso. No way. Niente da fare. Da qualche parte si legge che aggiungendo il dovuto BOM all’inizio del file il signorino dovrebbe onorarlo… a me non è sembrato.

La cosa curiosa, per quanto riguarda quest’ultimo punto, è che se da Excel stesso esporti uno sheet in fomato CSV contenente dei caratteri non ASCII, il CSV che ottieni è appunto non in formato UTF8, e dunque avrai le famose accentate sminchiate. Va da sé che non esiste opzione per modificare questo comportamento.

Se sei stato più fortunato di me, fammelo sapere e te ne sarò grato.


Click Sicuro ma non libero

I nostri parlamentari, tra una cosa e l’altra, partecipano alle commissioni di lavoro. Una di queste commissioni, quella sull’infanzia, ha promosso la nascita di un software per il controllo della navigazione dei minori.

Il software verrà installato dal genitore sul computer del figlio o della figlia, e fungerà un po’ da firewall intelligente (dove navighi, cosa dici, a chi lo dici, eccetera) durante la navigazione sul web.

A parte l’efficacia o meno del mezzo, sulla quale non sta a me giudicare, quello che mi perplime parecchio sono due questioni:

  1. che i nostri parlamentari promuovano l’uso e l’acquisto di un software commerciale di una non meglio precisata azienda
  2. che i nostri parlamentari promuovano l’uso e l’acquisto di un software NON LIBERO.

Se avessi un figlio, mai e poi mai installerei sul suo computer un software promosso da dei politici di cui conosco bene l’insulsa predisposizione tecnologica senza avere le garanzie di indagine sullo stesso che mi può fornire un software di cui ho a disposizione i sorgenti. Chi mi garantisce che il traffico di mio figlio non venga monitorizzato e analizzato per secondi fini? Nessuno.

Il software in questione, che non linko, è acquistabile online su http://clicksicuro.it (il sito è tutto in Flash, con una bella musichetta di sottofondo).

La notizia la leggo dal Giornale, sia da parte della On. Mannucci che della On. Mussolini. http://www.ilgiornale.it/a.pic1?ID=354098 http://www.ilgiornale.it/a.pic1?ID=354107 http://www.ilgiornale.it/a.pic1?ID=354100

Aggiornamento. Tanto per dire: una delle due società che sembrano essere le creatrici del software in questione ha il dominio scaduto mentre l’altra ha un bel 404 nella pagina di download del software Click Sicuro.


Digital Video Frustration

Scrivo questo post per due motivi: prima di tutto per lamentarmi, che è lunedì ed è attività che mi riesce bene. L’altro motivo è per scrivere da qualche parte le frustrazioni incontrate nel tentare di fare manipolazioni e presdigitazioni su dei video usando soltanto strumenti open source (il problema non è l’open source, come vedremo).

Il problema: prendere una parte di un video pubblicato via RTMP (streaming vero, da piattaforma proprietario Adobe) e piazzare sopra lo spezzone un logo in sovraimpressione.

Semplice no?

Dettaglio tecnico: i video in questione sono codificati in H.264/MP3. Il container è l’f4v (ma questo, fortunatamente, conta poco o nulla).

L’operazione è da compiere server side per cui tutto attraverso command line e scripting (no GUI).

Che strumenti ci sono a disposizione per fare un lavoretto del genere? Ovviamente rtmpdump, ffmpeg e/o mencoder.

Spezzando diligentemente il problema principale in problemi più piccoli, il primo era: scaricarsi dallo streaming uno spezzone di un video. Il tool (unico, non ci sono alternative al momento) è appunto rtmpdump. Appena lo provo rimango subito molto contento del fatto che rtmpdump scaricasse non in “tempo reale” secondo gli FPS del filmato, ma mooolto più velocemente, praticamente in download. Peccato però che il tool non permettesse di specificare un tempo di partenza e uno di fine dello scaricamento. O tutto o niente. Un altro problema di rtmpdump è che il container del filmato scaricato è FLV, senza possibilità di intervenire su questa opzione.

Riprendendo in mano le mie conoscenze arrugginitissime di C++, modifico il programma in modo da poter specificare un offset di partenza e un tempo massimo di scaricamento. Tutto OK, senonché il filmato finale riporterà comunque la durata complessiva del filmato originale.

Mentre lavoro su questo problemino, il giorno stesso Adobe fa chiudere il sito di rtmpdump per contravvenzione al DMCA (nota che Adobe dichiarava simpaticamente di voler aprire il protocollo). Per adesso, dunque, sospendo la questione rtmpdump.

Mi trovo dunque tra le mani un video H.264/MP3. Problema successivo: stamparci sopra un logo per tutta la durata dello stesso.

L’unico modo per farlo (talvolta è bello sapere di aver un’unica possibilità, talvolta meno), è usare l’opzione “vhook” di ffmpeg. In pratica è possibile eseguire del codice – una sorta di sistema a plugin – durante la codifica del video. Uno di questi plguin si chiama, pensa un po’, “watermark” e fa esattamente quello che mi serve.

Però. Però si dà il fatto che questo sistema di “plugin” sia stato misconosciuto dagli sviluppatori di ffmpeg (“fa cagare”) e per questo prima deprecato (nella versione 0.5) e poi direttamente tolto (versione SVN attuale)… il sistema sarà sostituito (notare il tempo al futuro) da un framework molto più elegante chiamato libavfilter.

La versione che arriva con la mia Ubuntu è la 0.5 (meno male!) ma è compilata con il simpatico –disable-vhook (merda!). Ergo, se voglio usare -vhook devo ricompilarmi ffmpeg, ma la versione 0.5, non la versione SVN. Nota a latere: se chiedi supporto agli sviluppatori (mailing list o canale IRC), questi vogliono che tu faccia i test solo con la versione SVN… che non supporta vhook… OK, capito?

Faccio le mie prove e sembra andare tutto bene… il logo in sovraimpressione fa la sua sporca figura ma… ma l’audio è desincronizzato! Dopo qualche secondo, l’audio rallenta e dopo un po’ le immagini sembrano quelle di un filmato di Enrico Ghezzi.

Il problema sembra essere il decoder MP3 usato da ffmpeg, al quale non piace troppo l’Mp3 della traccia audio del filmato. Probabilmente è colpa del coder usato, ma alla fine sembra che devo trovare un’altra soluzione. Qualcuno attento potrebbe obiettare “Ma perché per un H264 viene usata una traccia audio Mp3 e non AAC?”. Osservazione più che corretta. Il problema è che questi video sono prodotti in codifica “real time” da alcune squadre di produzione. Il software utilizzato per questa codifica è Adobe Live Encoder il quale, “bontà sua”, non supporta out-of-the-box AAC. Occorre acquistare un plugin che costa circa 250€ (ogni commento è superfluo). Per questo motivo il cliente ha preferito per adesso usare Mp3 con l’encoder marcio di Adobe.

Quanti decoder Mp3 ci sono Open Source? Due. Uno è libavcodec, fornito ed usato da ffmpeg e l’altro è libmad. È possibile usare libmad con ffmpeg? No.

A questo punto occorre tirare fuori dal cassetto degli attrezzi mencoder, che invece può usare come decoder libmad, e provare. (qualcuno sa come e se si può usare libmp3lame per decodificare gli mp3 di ffmpeg?)

Incredibilmente, funziona. Mencoder + libmad riesce a ricodificare il video tenendo sincronizzato audio e video.

L’idea dunque sarebbe: passo lo spezzone originale da mencoder per crearne una versione digeribile da ffmpeg, usando come video codec “copy”, in modo da non dover ricodificare il video perdendo di qualità. Poi il video viene passato a ffmpeg per il watermarking del logo.

Già. Peccato che il video prodotto da mencoder con questa procedura sia “sminchiato”, come dicono a Milano… pieno di artefatti e con grossi problemi nelle immagini in movimento (bpyramid? bframes? Boh…).

E così continuo le mie prove, sinceramente frustrato e con poche speranze…


Telecom Italia e un disastro inconcepibile

Un mio carissimo amico è titolare di un’attività commerciale, un negozio. Qualche mese fa, a causa dei buoni affari, decide di ingrandirsi cambiando indirizzo e andando in affitto in uno stabile più capiente. Tra tutte le procedure da fare, una assolutamente importante è quella dell’attivazione della linea telefonica, vitale per il suo tipo di attività.

O meglio: del trasferimento della linea telefonica dal vecchio negozio al nuovo.

Quello che segue è il racconto (la lettera è la brutta copia di una che sarà spedita ad un legale) della disavventura che questo mio amico sta passando, a scapito della sua attività e della sua salute per colpa di Telecom Italia.

Il comportamento di Telecom è assolutamente inspiegabile. Talvolta possono esserci problemi tecnici… incompetenza… incomprensione… malafede… ma tutte insieme? Per un’attività commerciale che fa tantissimo traffico?

È incredibile, e se non fosse che conosco questa persona da più di 10 anni direi che queste cose non possono succedere e sono tutte inventate.

Ti spiego la storia.

A dicembre, non appena deciso di trasferirci, ho iniziato ad informarmi per il trasloco delle linee telefoniche.

Ho 2 linee telefoniche:

  • 1 numero analogico di Telecom xxxxxxxxx che uso per fax
  • 1 numero di Fastweb xxxxxxxxx (quello principale)

Mentre per il primo non ci sono stati problemi, per il secondo è iniziato il disastro.

A dicembre

Chiamo Fastweb, gli dico che voglio trasferire la linea; un addetto incompetente mi assicura che basta fare la richiesta 20 giorni prima e non ci sono problemi

A febbraio

ignorando quello che mi ha detto il primo addetto di fastweb, inizio a fare le richieste. Quando chiamo l’addetto mi dice: “Guardi che non è vero, lei non può traslocare questo tipo di linea, deve 1. fare rientro in Telecom, 2. farsi traslocare la linea e  poi 3. rifare il contratto con noi”. Chiamo di urgenza l’agenzia telecom di XXXXXX e gli chiedo di seguirmi per questa operazione. Questi ultimi si sono dati da fare per farmi compilare velocemente la modulistica e l’hanno inoltrata a Telecom.

Il 21 di febbraio parte la richiesta.

A marzo

Verso il 10 di marzo inizio a fare solleciti a Fastweb e a Telecom.

A Fastweb ho chiamato più volte per puntualizzare che il recesso del contratto non è dovuto ad una mia intenzione di abbandonare il loro servizi, ma bensì alla impossibilità tecnica da parte loro di traslocarmi la linea. Ho fatto presente che una volta traslocato la mia intenzione era quella di rifare il contratto con loro, anche perché rispetto a Telecom il risparmio mi sembra notevole. Questi mi hanno assicurato che non c’era nessun problema, di seguire le procedure di Telecom, che da parte loro non ci sarà alcuna interferenza.

A Telecom invece la cosa è stata un po’ più complicata.

Per rientrare ci sono 2 modi:

  1. Ottenere un’autorizzazione chiamata “Codice di migrazione”
  2. Mandare una raccomandata con la documentazione richiesta

L’agenzia, diligentemente, ha seguito entrambe le strade.

Intorno al 15 di marzo mi chiama un addetto Telecom che mi dice che il codice di migrazione non è esatto, alché io chiamo Fastweb più volte, e loro mi assicurano che il codice è univoco, che non può non essere esatto, che anche se forzassero la procedura per ottenerlo di nuovo il sistema gli risponderebbe con lo stesso codice.

Quindi seguo la strada della procedura con la raccomandata (che è stata inviata dall’agenzia intorno al 28 di febbraio se non erro).

Qualche giorno dopo mi chiama nuovamente un addetto Telecom dicendomi che non avevano ricevuto la documentazione, che avrei dovuto inviarla per fax. Chiamo l’agenzia Telecom che mi assicura, anzi mi manda una copia della documentazione e della ricevuta del fax che attesta che i documenti sono stati mandati.

Chiamo nuovamente Telecom e questi invece sostengono di non averla, anzi scocciati mi sollecitano a rimandarla e richiamarli dopo 48 ore.

Io riprendo i documenti gli faccio un fax e li rimando; dopo 48 ore li richiamo, ma i documenti non li hanno ancora.

Rimando il fax e li chiamo dopo altre 48 ore, e l’operatore dice ancora che i documenti nel loro sistema non ci sono.

A questo punto già puoi capire il livello di esasperazione di un povero essere umano a che livelli fosse :-); prendo il mio computer e metto un processo che ogni mezz’ora invia un fax a Telecom con i documenti. Questo per un giorno e mezzo. A questo punto, un altro operatore Telecom mi chiama quasi infastidito e mi dice che i documenti ci sono che da lì a breve il rientro sarà tutto fatto.

Passano altri giorni e niente, nessuno si degna di chiamarmi, alché riprendo il telefono, indovina un po’? L’operatore: “Guardi che a me non risulta che lei abbia mandato la documentazione”.

A questo punto ho capito che non era un problema di procedura, ma sicuramente di qualche strana direttiva data agli operatori. Che cosa ho fatto? Ho chiamato ripetutamente la telecom. Alla quarta chiamata l’operatore mi dice: “Sì, sì, ho la documentazione, è questione di pochi giorni ancora!”

Cosa che probabilmente dimostra che non è un problema di procedura.

A questo punto, la tattica era chiara, bastava chiamare più volte, e parlare solo con gli operatori che vedono (a detta loro) i documenti nel sistema.

28 marzo, inaugurazione del negozio SENZA LA LINEA TELEFONICA PRINCIPALE!

Cosa sono costretto a fare: chiamo N fornitori di telefonia VOIP mi faccio dare un numero telefonico XXXXXXXX, prendo un PC, lo configuro come centralino (un giorno e mezzo di lavoro), compro dei 3 telefoni voip 60€ cadauno, cavetteria varia, una centralina della rete, altre 60€ (quella che avevo sarebbe bastata se non avessi dovuto fare tutte queste manovre).

Vado nella vecchia sede e metto una segreteria telefonica che avverte la clientela che a causa di problemi sulle linee teelfoniche, abbiamo un numero provvisorio.

Aprile

Quasi ogni giorno sollecito Telecom. Sempre con la stessa tecnica, chiamare fino a quando un operatore sa di cosa stiamo parlando. Inutile dire che tutte le volte era un’ora di lavoro perso!

Mi chiama finalmente un operatore di Telecom che mi dice che il giorno 13 di aprile sarebbero venuti i tecnici e che, in concomitanza, mi faranno rientrare in Telecom e mi trasferiranno la linea. Fantastico! Non prendo appuntamenti, rimango tutto il giorno in ditta per aspettare questa gente, mangio in mezz’ora e ritorno subito in negozio per non rischiare che vengano e non mi trovino.

Ma alle 17.00 ancora non si è visto nessuno. Chiamo telecom, e l’operatore: “Mi dispiace tanto, i tecnici non ce l’hanno fatta a venire, verrà ricontattato nei prossimi giorni per prendere un nuovo appuntamento”.

Attendiamo, e dopo altri solleciti, mi viene detto: “non si preoccupi il 20 di aprile verranno i tecnici”.

Stesso discorso, mi tengo reperibile, ma neanche questa volta i tecnici vengono.

A questo punto il limite della mia sopportazione sfora qualsiasi regola di buon comportamento.

Mercoledi 22 perdo la mattinata a chiamare Telecom… Giovedì 23 è poi successa una cosa che solo a pensarci mi vengono i brividi: chiama Xxxxxx perché oramai ero esausto, e che cosa gli dicono?: “Non è possibile, qui non è segnato nessun appuntamento con i tecnici! Ma è sicuro? Perché qui non risulta che lei abbia nemmeno fatto le pretiche per il trasferimento“.

[note personali dell'amico, che non riporto per decenza]

Rimane il fatto che: sono sempre con una linea telefonica provvisoria e da statistiche ci siamo accorti che i clienti ci chiamano molto meno, sia per quanto riguarda le richieste di preventivi, che per quelle di richiesta di interventi tecnici. Per me è un danno che in qualche modo vorrei che questi signori mi risarcissero. Per non parlare del fatto che ancora non ho informazioni certe per quanto riguarda il termine della procedura.


I contenuti di questo sito sono distribuiti con una licenza Creative Commons 2.5 eccetto dove diversamente specificato. Tema WordPress sviluppato da Claudio Cicali; icone del set famfamfam silk e komodomedia. P.IVA: 01712500501

© 2005-2012
Claudio Cicali