giovedì 31 marzo 2016

Promemoria: domande prima di accettare di prendere in carico un software

Elenco delle domande da fare (cioè delle risposte da ricevere chiaramente per iscritto) ogni volta che mi fanno ereditare un progetto software fatto da altri.

Sviluppo:

- come si fa a installare i tool di sviluppo?
- devo usare per forza il vostro IDE? se sì, perché?
- compilatori e librerie: state usando le versioni più recenti? se no, perché?
- come e quando vanno aggiornati compilatori e librerie? a chi fare riferimento?
- quale sistema di version control si usa per i sorgenti? a chi fare riferimento?
- quali sistemi di bug tracking? sono integrati col version control? a chi fare riferimento?
- quali convenzioni occorre rispettare nel codice?
- cosa si usa per la documentazione?
- chi e quando fa la revisione del codice?
- c'è un database? viene aggiornato? c'è un DBA a cui fare riferimento?

Collaudo:

- come si fa il deploy di prova? e in ambiente di collaudo? e in rilascio?
- chi e come conferma la correttezza dei deploy? se fallisce, chi e quando se ne deve occupare?
- chi e come può accedere ai log? posso accedere ai log aggregati? se no, perché?
- come si eseguono i test? i test disponibili coprono tutta la casistica?
- riguardo alla sicurezza, ci si può già fidare a mettere il progetto in "produzione"?
- quale è normalmente il carico di lavoro? come si può misurare?
- può sopportare carichi improvvisi e imprevisti? si può verificare?

Esercizio:

- come posso sapere se una mia modifica ha drasticamente rallentato o appesantito il sistema?
- cosa perde il cliente in caso di disservizio in esercizio?
- il contratto col cliente prevede una SLA? chi è il responsabile che la deve assicurare?
- le violazioni alla SLA sono trattate come bug del software?
- in caso di disservizio dovuto a fattori esterni, entro quanto tempo deve tornare operativo il sistema?
- cosa deve succedere in caso di disservizio iniziato in giorni festivi?

mercoledì 30 marzo 2016

Promemoria installazione Ubuntu 16.04

Dopo l'installazione di default e dopo aver aggiornato i pacchetti:
sudo apt-get -y update && sudo apt-get -y upgrade && sudo apt-get -y dist-upgrade && sudo apt-get -y autoremove

sistema:
sudo apt-get install psensor indicator-multiload vinagre moserial guvcview gnome-tweak-tool unity-tweak-tool lighttpd vsftpd wireshark traceroute u-boot-tools lm-sensors gconf-editor xsel gparted vim ssh ubuntu-restricted-extras ncftp units minicom powertop smartmontools arj nmap

n.b.: il pacchetto xsel serve per usare dalla shell:
alias pbcopy='xsel --clipboard --input'
alias pbpaste='xsel --clipboard --output'

altri browser:
sudo apt-get install chromium-browser midori arora epiphany-browser qupzilla flashplugin-installer

creatività:
sudo apt-get install gimp audacity gnuplot5-qt povray openshot inkscape xournal sweethome3d lyx

social: solo IRC grafico e Twitter da command-line:
sudo apt-get install hexchat twidge

multimedia:
sudo apt-get install xawtv pavucontrol vlc mplayer mencoder flac lame id3v2 youtube-dl 

emulazione/simulazione:
sudo apt-get install wine dosbox dosemu virtualbox-qt virtualbox-guest-additions-iso

un po' di fonts aggiuntivi:
sudo apt-get install fonts-isabella fonts-linuxlibertine ttf-aenigma ttf-adf-* ttf-anonymous-pro ttf-sjfonts ttf-tiresias ttf-mscorefonts-installer

programmazione: Rust ancora non è installabile dai repository ufficiali, dunque:
sudo apt-get install ruby z88dk git arduino netpbm exif gcc-msp430 msp430mcu msp430-libc gcc-msp430 libjpeg-progs libjpeg62-dev usbutils binwalk tidy autoconf libtool

gaming:
sudo apt-get install prboom-plus

altro:
sudo apt-get install ibus-table-emoji ubuntu-keyboard-emoji

modifiche all'interfaccia: nell'Unity Tweak Tool modificare:
unity-tweak-tool : Launcher : Web Apps : Amazon / Ubuntu One
                 : Launcher : Icon size: 40
                 : Window Manager : HotCorners : Spread All Windows
                 : Appearance : Fonts : Ubuntu12, UbuntuMono13, UbuntuCondensed12, UbuntuBold12
                 : Appearance : Cursor : Whiteglass

installazione di Skype: prima occorre installare la paccottiglia di prerequisiti di librerie i386:
sudo apt-get install libqt4-dbus:i386 libqt4-network:i386 libqt4-xml:i386 libqtcore4:i386 libqtgui4:i386 libqtwebkit4:i386 libxss1:i386 libxv1:i386 libqtdbus4:i386 libaudio2:i386 libmng2:i386 libqt4-declarative:i386 libgstreamer-plugins-base1.0-0:i386 libqt4-opengl:i386 libqt4-sql:i386 libqt4-xmlpatterns:i386 libqt4-script:i386 libgstreamer1.0-0:i386 libcap2:i386 sni-qt:i386 libssl1.0.0:i386 libpulse0:i386 libasound2-plugins:i386

quindi procurarsi dal sito skype la versione per Ubuntu Precise e installarla:
sudo dpkg -i skype-ubuntu-precise_4.3.0.37-1_i386.deb

supporto extra (USB 2.0, USB 3.0) per VirtualBox: scaricare dal sito Oracle l'Extension Pack per VirtualBox 5 per Linux, quindi installarlo con:
VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack*

si possono liberare quasi 600 mega eliminando la documentazione di TeX:
sudo apt-get remove texlive-latex-extra-doc texlive-latex-recommended-doc texlive-latex-base-doc texlive-pictures-doc

lunedì 14 marzo 2016

Ho schiattato un fusibile...

Parecchi anni fa comprai da Sparkfun questo sbrilluccicoso Benchtop Power, che da un connettore ATX estrae 3.3V, 5V, 12V e -12V con tanto di fusibili e perfino LED di accensione.
L'ATX da 500W, che mi costò solo 18 euro (e ci credo: efficienza 70% con carichi da almeno 1A), è capace di tirar fuori 48A a 5V oppure 16A a 12V (e soli 0.8A sulla -12 e "appena" 32A sulla 3.3V).

Oggi ho involontariamente cortocircuitato un'alimentazione e schiattato il relativo fusibile (Sparkfun ce li ha messi da 5A perché "a chi può mai servire più corrente?"), evitando danni peggiori. Ho riciclato quello della -12V mai usato.


sabato 12 marzo 2016

Interruttori Android? malemale!!

Allora, un tizio va in un albergo di Londra e scopre che lì gli interruttori per la luce, per le tende, ecc., sono dei tablet Android incassati nel muro (fa tanto figo premere un tablet anziché un interruttore!). Lo scopre perché l'apps "Orologio con Touch Interruttore" è andata in crash (vedi foto).

Un paio di questi tablet non erano completamente incassati ed esponevano addirittura una porta ethernet. Il bravo tizio, che per puro caso ha in valigia uno switch ethernet e dei cavi, mette il suo notebook Linux in mezzo e sniffa il traffico mentre "preme" il touchscreen di tali "interruttori" Android: il Wireshark gli dice che stanno transitando pacchetti in formato Modbus (un protocollo inventato nel 1979, trentasette anni fa era solo per i PLC, ovviamente senza alcun tipo di crittografia).

Trova con Google una libreria Pymodbus per "parlare" in Modbus e... da command-line accende e spegne gli aggeggi. E subito si accorge che nell'indirizzo IP è indicato anche il numero della camera! Praticamente in albergo alle tre di notte può accendere alla massima luminosità tutte le luci e aprire tutte le tendine e scatenare il panico.

Invece, tomo tomo onesto onesto, va a dirlo al proprietario dell'albergo che gli risponde che presto prenderà provvedimenti.

Morale della favola: domotica? touch? android? mmmmm!!!

martedì 8 marzo 2016

Crolla un altro bastione: la Microsoft annuncia SQL Server per Linux

Notizia dal blog Microsoft: SQL Server per Linux - annunciato per il 2017 - forse da oggi hanno cominciato a svilupparlo: int main() { ...


Nel 2001 il presidente della Microsoft (Ballmer) aveva detto «Linux è un cancro che si aggrappa alle intellectual property ogni volta che le tocca».

giovedì 3 marzo 2016

JSL (Japanese Sign Language)

Lingua giapponese dei segni:

martedì 1 marzo 2016

domenica 28 febbraio 2016

Ma... ma è... ma è un CAMPER !!








Autore: lo sloveno Chapachuk su Eurobricks.

venerdì 26 febbraio 2016

Quaaaaanto?!? two grands ?


No, non lo compro. A parte il fatto che se ne vanno poi altri cinquecento euro di dazi doganali...

giovedì 25 febbraio 2016

Un LEGO Certified Store in Italia!

Cos'è un LEGO® Certified Store?

Un LEGO® Certified Store (LCS) non è di proprietà di The LEGO Group ed è gestito da una terza parte (Percassi in questo caso) dietro accordo con The LEGO Group stesso.

Un LEGO® Certified Store (LCS) è un negozio progettato da The LEGO Group, e replica esattamente il "look" e la "experience" di un LEGO Store ufficiale.

Tutti i mobili, la grafica e i complementi d'arredo sono progettati da The LEGO Group.

Un LEGO® Certified Store (LCS) offre i seguenti "servizi" che ispirano e sviluppano i "costruttori di domani" attraverso un creativo "gioco libero" e lo sviluppo della immaginazione:
  • Pick-a-Brick wall (PAB) – un "arredamento" customizzato con contenitori cilindrici riempiti con mattoncini ed elementi LEGO dai quali gli acquirenti/clienti possono scegliere e prelevare a mano quelli di cui hanno bisogno per costruire quello che hanno pensato o progettato.
  • Set LEGO già montati e circondati da un nastro a marchio LEGO (“Brand Ribbon”) lungo tutto il perimetro/attorno alla circonferenza del negozio per ispirare i fan LEGO.
  • “The Living Room”, un'area gioco interattiva che, posizionata al centro del negozio, darà ai bambini la sensazione e l'esperienza "hands-on, minds-on” (si potrebbe tradurre con "mani sui mattoncini - mente accesa") con i mattoncini LEGO.
  • Set LEGO esclusivi disponibili in contemporanea a Stati Uniti e Germania
(notizia da Mattonito)

mercoledì 24 febbraio 2016

Come godo!! SunFounder power in my hands!!

Ho comprato su Amazon un monitor SunFounder 7" TFT da accoppiare ad una Beagleboard.

Il monitor viene venduto "per Rasperry Pi bla bla bla", in realtà è un normalissimo monitor da sette pollici scarsi, utilizzabile da qualsiasi cosa abbia un'uscita HDMI o VGA.

Il monitor Asus 27" troneggia sul monitor Sunfounder 7"

È un monitor Sunfounder 1024x600 con diagonale da 173mm (6.8"), nonostante la copertina del manualino e della confezione dicano che è solo 800x480 (all'interno del manualino però nella pagina delle specifiche indicano come risoluzione fisica 1024x600, e l'ho verificata personalmente; non so se sono stato fortunato oppure se gli 800x480 siano stati già venduti tutti).

Va alimentato a 12 volt; nella confezione c'è un alimentatore 12V con spina adattatrice Bosch.

Viene riconosciuto dal PC Linux Ubuntu come un "Do Not Use RTK 32" (l'EDID riporta Monitor Name 32V3H-H6A Model 4c54 Serial Number 1 Year 2007: evidentemente una partita di chip riciclati da nove anni fa). In assenza di segnale compare la classica schermata blu "NO SIGNAL".

Ha due normali ingressi HDMI e VGA (disposti orizzontalmente e lontano dal bordo, cosa molto buona) più un cavo che fuoriesce dall'interno (non staccabile) collegabile ad un cavo adattatore AV (fornito in dotazione e addirittura con capsula col fusibile). Ha anche uno speaker piezoelettrico e nei menu OSD permette perfino di impostare la radio FM sugli 87-89 MHz, probabilmente usando il cavo integrato AV+alimentazione come antenna (la radio però non l'ho provata). È dotato perfino di un telecomando a infrarossi che replica i tasti fisici (va abilitato nell'OSD coi tasti fisici), e di una basetta.

Le due caratteristiche più brutte sono il cavo che fuoriesce dall'interno (non staccabile, a meno di rinunciare alla garanzia) e la scritta marchiata a fuoco "7 INCH HD TFT COLOR MONITOR".


I sei tasti fisici esterni sono:
- PC/AV: cambia modalità HDMI-AV1-AV2-VGA (verrà ricordata alla prossima accensione)
- rotazione: specchio orizzontale, sottosopra, sottosopra specchio, normale (evidentemente pensato per essere usato con le retrocamere)
- Menu, +, -: menu OSD per le impostazioni luminosità, contrasto, ecc.; il menu di default è in inglese, ma ha anche la lingua italiana con qualche accento sbagliato qua e là
- On/Off.

Alla pressione del tasto di accensione On/Off, ci mette circa un paio di secondi ad accendersi. Se viene tolta e poi ripristinata l'alimentazione, non si riaccende (occorre premere di nuovo On/Off).

Sia in modalità HDMI che VGA, dichiara varie risoluzioni video ma non la risoluzione nativa 1024x600 a 60 Hz (cioè 49 MHz pixel clock, 37.35 kHz orizzontale, 59.85 Hz verticale) o 75 Hz (con 62.5 MHz pixel clock). Per impostarlo correttamente da Linux occorre aggiungere un parametro command-line al kernel per indicare che l'uscita video utilizzata ha la risoluzione 1024x600 a 60 Hz sempre "enabled":
video=DVI-D-1:1024x600@60e

In alternativa - sempre da Linux - occorre smanettare col perfido "xrandr" di Xorg per attivarlo come monitor secondario (estensione del desktop) o in "mirroring" (sconsigliabile a causa dello stretching, tranne magari per i casi di foto/video full-screen); per esempio, sul notebook ho dovuto impostare dopo l'avvio di Xorg:
xrandr --newmode 1024x600 62.50 1024 1072 1176 1328 600 603 613 629 -hsync +vsync
xrandr --addmode HDMI-0 1024x600
xrandr --output HDMI-0 --mode 1024x600
(nota: sulla Beagleboard l'uscita DVI digitale passa sul connettore HDMI, per cui ho usato DVI-D-1; basta verificarlo col comando head /sys/class/drm/*/status mentre su altre macchine occorrerà usare qualcosa tipo HDMI-0, VGA-1, ecc.).

La risoluzione 1024x600 non è né carne né pesce: verticalmente è un pochino più ampia di un 16:9. Il pannello TFT è controllato da un chip RTD2660H, driver TTL per HDMI che adatta allo schermo (scaling/stretching) l'immagine che gli arriva da VGA/HDMI/AV, ma l'effetto è fastidioso se non è foto/video ma grafica/testo (infatti il prodotto è evidentemente pensato per essere collegato a una retrocamera da automobile).

Dal monitor non sono riuscito a ottenere audio dal canale HDMI, non so se l'audio sia supportato anche da HDMI o solo dagli ingressi AV.

La visuale, dichiarata di appena 70°, pare in realtà ancora più ridotta, e sulle immagini a colori forti si nota da vicino un po' di flickering (come retrocamera da auto andrà bene, come monitor per sviluppatori di software sarà una rogna).


Ovviamente l'ho smontato, infischiandomene della garanzia, per staccare l'orrendo cavo AV+alimentazione (connettore bianco in basso verso destra) ed avere attaccati al pannello solo il mio cavo HDMI e il cavetto di alimentazione. Per aprirlo basta svitare due viti sul retro (una delle quali è coperta dall'adesivo del sigillo di garanzia) e poi - con molta, molta attenzione - staccare il coperchio incastrato in una serie di fragili dentini e senza danneggiare i fragili connettori (specialmente quello del TFT). La plastica del case non è rigidissima e tende a piegarsi o addirittura a formare crepe.

Non ho provato, ma probabilmente è possibile tenerlo sempre acceso cortocircuitando il tasto di accensione.

Sulla board si vedono i fori per aggiungere un buzzer, un pannello touchscreen e un secondo speaker, ma è chiaro che il monitor è stato costruito in economia (mi preoccupa solo il jack di alimentazione 12 volt, quello nero in alto a destra, che in caso di strattoni potrebbe staccarsi).

mercoledì 17 febbraio 2016

Cosa significa essere "della vecchia scuola"

Un giovane app developer sveglio e brillante ed un burbero panciuto cinquantenne programmatore old-school stanno bevendo qualche drink al bar. Dopo qualche bicchierino di troppo, decidono di avviare un Potente Progetto sulla Sicurezza di Internet: scandire ogni mese tutti gli indirizzi IPv4 e tener nota degli host che rispondono al ping e che hanno aperta qualche porta FTP o Telnet, espandendo magari in futuro il software per supportare qualche altra porta.

Vediamo le differenze tra il giovane e pimpante skilled App Developer e il vecchio trippone programmatore rispetto a quattro punti importanti:
  1. come si fa;
  2. quale metodo è il più veloce;
  3. quale è il più estensibile (aggiungere altre porte);
  4. quale è il più costoso in termini di potenza di calcolo, memoria, disco.


1. Scelta del linguaggio di programmazione.

AppDeveloper: bisogna usare Python, facile da imparare, performante, facile da manutenere.

Trippone: per queste cose si lavora in C, veloce, performante, grosso modo facile da manutenere.


2. Scelta delle strutture dati.

AppDeveloper: eh, qui bisogna usare JSON (che oggi si usa dappertutto, è facile da leggere, e tutti lo sanno usare): ogni host sarà descritto da qualcosa del tipo:
{
 "ip": "123.45.67.89",
 "state": "up",
 "ports": {
  "20": "open",
  "21": "open",
  "23": "closed",
 }
}

Gli indirizzi IPv4 sono 2³², cioè circa 4,2 miliardi, di cui stimeremmo circa 300 milioni attivi. Sono sufficienti perciò 50-60 gigabyte di spazio su disco. Aggiungere altre porte è banale: basta qualche riga in più nel pacchetto JSON.

Trippone: lo stato è solo up/down (1 bit), le tre porte sono solo open/closed (1 bit ciascuna), per cui bastano quattro files che contengano un array di bit (4,2 miliardi di bit = 512Mb ciascuno = due gigabyte totali di spazio su disco). Aggiungere altre porte è banale: basta qualche file in più di 512 Mb.


3. Statistica mensile sugli host attivi e sulle porte open

AppDeveloper: ooh, qui facciamo Big Data! Posso scandire l'archivio con la tecnologia Hadoop, oppure indicizzare i documenti JSON aggiungendo un file indice di una decina di gigabyte. Per esempio conosco qualche libreria che...

Trippone: mi basta contare i bit uguali a 1 nel rispettivo file di 512Mb; può bastare una banalissima lookup-table del tipo: "quando vedi un byte 11010011 allora aggiungi 5 al conteggio". Praticamente è O(n) con una costante piccolissima.


4. Verifica di un singolo indirizzo IP

AppDeveloper: ehi, smart! qui mi basta fare una ricerca binaria nel file indice di una decina di gigabyte, ed estrarre il pezzetto JSON che ci interessa. Se la ricerca non trova nulla, allora l'host è down e non ha porte open.

Trippone: l'archivio indirizzi è sequenziale (512 Mb) per cui in O(1) si trova la posizione del bit in ognuno dei file e dal valore 0/1 si capisce up/down o open/closed.


5. Verifica di un gruppo di indirizzi IP (per esempio una subnet/24)

AppDeveloper: cool story, bro! mi basta scandire il file indice e fare pattern-matching con le regular expressions. Oppure fare 256 ricerche binarie sugli indirizzi di tutta la subnet (poiché infatti una subnet/24 corrisponde a 256 indirizzi).

Trippone: avendo mappato gli indirizzi IP consecutivamente, una subnet/24 consisterà di 256 bit consecutivi: basta calcolare l'indirizzo del primo e leggere i 256 bit (cioè 32 bytes) a partire da lì dal file corrispondente di 512 Mb. Praticamente O(1).


6. Conteggio del numero di host che hanno una determinata combinazione di porte open

AppDeveloper: oh, yeah, American Dream! questo è un lavoro Bìggh Dèta per la tecnologia Hadoop, bisogna scrivere un map/reduce, oppure si può fare aggiungendo un nuovo indice.

Trippone: è di nuovo un conteggio? basta scandire i quattro file 512 Mb confrontando i singoli bit con la combinazione richiesta. Complessità lineare: O(n) sul numero dei files.


7. Conteggio di quanti host sono stati attivi durante gli ultimi tre mesi

AppDeveloper: don't break my heart, babe! per ogni mese creiamo un'apposita directory con il database e gli indici; quindi estraiamo da ogni database una lista di host attivi, e quindi joiniamo e deduplichiamo le ultime tre liste.

Trippone: creeremo un'apposita directory per ogni mese; basterà fare un'operazione "OR" bit a bit del file binario host delle ultime tre directory, conteggiando i bit risultanti a 1. Complessità O(n) con costante molto piccola.


8. Conteggio di quanti host sono stati aggiornati questo mese (cioe da up a down o viceversa)

AppDeveloper: I'm a Belieber, Justin! è facile, anche se costosetto: basterà scandire l'archivio di questo mese, estrarre il JSON di ognuno dei circa 300 milioni di host rispetto al mese precedente e verificare up/down e down/up.

Trippone: basterà fare un'operazione "XOR" bit a bit del file binario host degli ultimi due mesi, conteggiando i bit risultanti a 1. Solita O(n) con costante molto piccola.


9. Conteggio di quanti host sono stati attivi in almeno x degli ultimi 12 mesi.

AppDeveloper: funny compilation, dude! l'operazione è lunghetta perché bisogna creare un nuovo database in cui inserire i campi "indirizzo" e "mesi attivi", e poi scandire uno per uno i dodici database precedenti per aggiornare i conteggi, ed infine conteggiare quelli in cui il campo "mesi attivi" è maggiore o uguale a x.

Trippone: creo in RAM un array di 4 miliardi di interi da 4 bit ciascuno (dunque mi occupa 2Gb RAM), leggo uno per uno gli ultimi 12 mesi aggiornando i contatori corrispondenti. Alla fine conto quanti sono maggiori o uguali a x. Se invece la RAM scarseggia, allora posso suddividere l'operazione in "fette" da 16Mb-256Mb e sommare infine i conteggi parziali. Alla fine della fiera, in entrambi i casi, la complessità è O(n) con costante molto piccola.


Indovinate perché il giovane e sveglio app developer se n'è andato via stizzito e imbufalito.

martedì 16 febbraio 2016

lunedì 15 febbraio 2016

Le insidie di Amazon Prime e della spedizione gratuita

Compro da Amazon circa 10-15 volte l'anno (sono cliente fin da quando aprì lo store italiano sei anni fa). I prezzi sono in genere ragionevoli e se in un ordine ci sono almeno 19€ [aggiornamento: da marzo 2016 è 29€] di prodotti "gestiti dalla logistica di Amazon", la spedizione è gratuita (utilissimo, visto che un acquisto qualsiasi in un e-shop italiano costa almeno 9-10 euro di spedizione). Inoltre è sempre stato abbastanza puntuale - quasi sempre la consegna era entro i 3-5 giorni lavorativi.

Il punto di forza di Amazon è infatti nella sua rete di spedizioni. I prodotti "venduti e spediti da Amazon" sono nei suoi magazzini merci, e perciò il loro sistema può elaborare il metodo più veloce ed economico per le consegne (in genere si tende a ritardare le consegne nella speranza di accorpare più consegne nella stessa zona, per non richiedere due viaggi al corriere quando poteva bastarne uno; per cui il paradosso è che quando ci sono parecchi ordini, le consegne sono più veloci).

Sul marketplace Amazon operano però anche venditori esterni che si avvalgono della logistica di Amazon ("venduto da Pinco Pallino, spedito da Amazon"), con un costo aggiuntivo per spedizione (a meno che non vengano accorpati a qualche ordine sopra i 19€ [aggiornamento: da marzo 2016 è 29€] che già gode di spedizione gratuita). Il costo aggiuntivo è dovuto al fatto che un corriere deve ritirare i colli e poi immetterli nella rete di spedizione di Amazon. Altri venditori esterni preferiscono spedire in proprio e usare Amazon solo come vetrina: sono quelli stufi di vendere su eBay (e perciò il costo di spedizione è inevitabile). In genere mi fido solo di articoli "venduti e spediti da Amazon".

Il 14 gennaio 2015 (notare: gennaio 2015), per una cosa urgente, accettai di iniziare il mese di prova gratuito di Amazon Prime (erano anni che mi compariva la proposta martellante), cioè l'offerta che accorcia i tempi di spedizione a 1-2-3 giorni (per gli ordini più semplici, addirittura consegna il giorno dopo), sempre con spedizione gratuita sopra i fatidici 19€ [aggiornamento: da marzo 2016 è 29€]. La spedizione fu supersonica: ordine inserito lunedì 13 dopo pranzo, consegna a casa la mattina del 14. A quanto pare la prima fase della spedizione comincia verso le 16:30 per gli ordini inseriti fino a quel momento, in modo che in nottata il vettore possa portare il pacco al centro di smistamento (ce n'è uno a una cinquantina di chilometri da casa mia), e in mattinata il pacco può essere magari già affidato al corriere che consegna a destinazione.

Al termine del mese di prova, salvo esplicito annullamento, l'abbonamento ad Amazon Prime era offerto a 9,99€ annui. Vista la performance di spedizione accettai di buon grado, e così trenta giorni dopo, il 13 febbraio 2015 (notare: febbraio 2015), mi addebitarono i 9,99€.

Foto 1
La consegna "il giorno dopo" purtroppo dipende non solo dalla movimentazione del magazzino, ma anche dalle esigenze dei corrieri. Se ordini un costosissimo disco SSD (pacchetto grande quanto un piccolo libro), ti arriva l'ultimo giorno utile; se ordini un grosso elettrodomestico da venti euro, probabilmente viene consegnato già il giorno dopo perché il corriere non vede l'ora di liberare spazio nel furgone. Bisogna abitare a Roma o Milano (o in un grosso condominio imbottito di fans di Amazon) per godersi veramente l'abbonamento Prime.

Un altro punto fastidioso è che con Prime le spedizioni non vengono accorpate, in modo da risparmiare un passaggio e consegnarle il più velocemente possibile. Col risultato che chi ordina tre carabattole potrebbe ricevere la merce in due o tre diverse consegne (tre diversi corrieri, magari nello stesso giorno, che devono sostare sotto casa tua per consegnare), come mi è già capitato più volte. La cosa è fastidiosa perché devi presidiare l'indirizzo di consegna anche durante le ore di pranzo e riposino pomeridiano (le consegne qui avvengono solitamente fra le 12:30 e le 16:30, anche se a volte sono avvenute alle 9:45 o alle 18:15), e magari anche nei giorni successivi in caso di ritardo di spedizione.

Poi c'è il fatto che i corrieri e i loro furgoni sono normali esseri umani su normali furgoni, per cui qualche consegna può... ritardare (vedi foto 1). La consegna "il giorno dopo" (o addirittura "in giornata" nei posti in cui la attiveranno), è essenziale non solo per indurre il cliente a pensare prima ad Amazon che al negoziante sotto casa, ma anche per poter vendere prodotti deperibili (come già avviene in altri paesi tra cui il Giappone: perfino frutta e verdura, la gente può fare la spesa su Amazon anziché al supermercato). Se per risparmiare pochi euro devo aspettare una settimana (5 giorni lavorativi) per la consegna, sono tentato di comprare nel negozio sotto casa.

Foto 2
Come dicevo sopra, l'abbonamento a Prime non mi ha dato i risultati sperati. Pochissime volte la consegna è stata davvero veloce. Secondo me pagare per aspettare 3 giorni anziché "da 3 a 5" non vale la pena. Per questo avevo deciso che a inizio febbraio 2016, verso la scadenza del dodicesimo mese di abbonamento, avrei disdetto l'abbonamento a Prime.

Doppia sorpresa: il 13 gennaio 2016 (notare: gennaio, anche se scadeva il 13 febbraio) Amazon Prime tenta di estrarmi 19,99€ dalla carta di debito scaduta (vedi foto 2: era una carta prepagata, non una carta di credito). Non solo il costo dell'abbonamento a Prime è più che raddoppiato (da 9,99 a 19,99: non ricordo che il primo anno i 9,99 fossero "offerta speciale"), ma Prime si è presentata all'incasso con un mese di anticipo. Praticamente avrei involontariamente "pagato" anche il mese "gratuito": 13 gennaio 2015 mese gratuito, 13 febbraio 2015 addebito di 9,99€, 13 gennaio 2016 addebito di 19,99€ per il periodo febbraio 2016 - febbraio 2017... ed il 13 gennaio 2017 ci sarebbe stato l'addebito del periodo successivo.

Per mia fortuna, la carta prepagata era scaduta, per cui il sito di Amazon si è limitato a martellarmi continuamente il banner sull'impossibilità di rinnovare il Prime per un altro anno (Prime non addebita automaticamente sulla carta di credito usata per gli acquisti).

Se per 9,99€ mi avevano già perso, figuratevi per 19,99€. E no, non mi interessa lo spazio gratuito sul cloud Amazon (perché mai dovrei mettere i miei file e le mie foto in un posto che non controllo io e che è disponibile solo con una connessione internet?) e non mi interessa nemmeno l'accesso agli acquisti compulsivi sulle offertissime che durano solo 30 minuti.

Non ritengo giustificati venti euro l'anno per accelerare le spedizioni. Inoltre non mi piace che la fretta di consegnare faccia spezzare le spedizioni in modo ridicolo: nell'ultimo caso, è stata fatta una spedizione a parte per una confezione di pile Grundig (foto in alto), costringendo il corriere ad una fermata per un pacchetto di neanche venti grammi e del valore di un euro e mezzo (il corriere è obbligato a consegnare personalmente anche se il pacchetto entrerebbe perfettamente nella cassetta delle lettere... Sarebbe bello poter dire ad Amazon "mettimi questo disco SSD nella cassetta delle lettere"). E no, purtroppo Prime non permette un'opzione "invia tutto in un'unica spedizione".

Infine, andando ad annullare l'iscrizione, scopro che l'addebito di 19,99€ sarebbe stato rimborsabile (sono onesti). Ovviamente nel mio caso non possono rimborsarmi soldi su una carta prepagata scaduta (così come non sono riusciti ad estrarli), per cui l'annullamento va finalmente a buon fine oggi 15 febbraio 2016 (nonostante il mio Prime sia già scaduto, lo considerano ancora attivo, cioè pagabile):

Foto 3

Stamattina ho inserito un nuovo ordine per un totale di tre articoli (uno da 8,99€ venduto e spedito da Amazon, e due di altri venditori ma spediti da Amazon). Se arrivano in tre o cinque giorni, non fa differenza. Finalmente mi compare la magica spunta del "raggruppa l'ordine nel minor numero di spedizioni possibile".

Scopro un'altra sorpresa: pur avendo annullato Prime, il metodo di spedizione di default è rimasto quello Rapido, cioè con sovrapprezzo di cinque euro (sovrapprezzo dovuto al fatto che non sono più abbonato a Prime). Se avessi cliccato su Ordina senza riflettere ogni voce, o peggio se avessi avuto attiva la possibilità degli ordini 1-Click, mi avrebbero "fatto" cinque euro in volata.

Ho dovuto esplicitamente scegliere la spedizione "normale" (ormai l'unica gratuita), pagando così solo 69,97€ (con spedizione gratuita). E il bello è che dopo aver inoltrato e confermato l'ordine, simulando un ordine successivo ho notato che c'era nuovamente la gabella dei cinque euro: gli articoli nel carrello venivano evidenziati come "Idoneo alla spedizione GRATUITA", occorrerà scegliere di nuovo "normale" la prossima volta, sperando di poterlo inserire come default per le spedizioni future.

In sintesi, le spedizioni Amazon Prime convengono solo in presenza entrambe le condizioni:
  1. l'indirizzo di spedizione è sempre presenziato dalle 9:30 alle 18:30 (il portiere del tuo condominio oppure la segretaria del tuo ufficio)
  2. la spesa di venti euro annui ti risulta accettabile per l'accorciamento dei tempi di spedizione.

mercoledì 10 febbraio 2016

Tecnologia obsoleta

Se capisci il significato di ognuna di queste icone, significa che sei diventato vecchio.
- floppy disk: chi li usa più?
- blocchetto appunti: chi lo usa mai?
- colori e pennello: chi li usa più?
- cassettone documenti: chi lo usa più?
- telefono con composizione a rotore: chi lo usa più?
- videocassetta a nastro: chi le usa più?
- schermo a tubo catodico: ne esistono ancora?
- compact disc: i vostri figli ne hanno mai usato uno?

lunedì 8 febbraio 2016

domenica 7 febbraio 2016

La tua vita: prima e dopo

Volevi un cucciolo? Anzi, due? La tua vita cambierà.


  • inutile far pulizie
  • i tuoi album fotografici saranno composti al 95% di foto dei tuoi animali domestici
  • non cenerai mai più da solo (e condividerai i tuoi pasti...)
  • dovrai avere molti più cavetti e prolunghe in casa
  • spenderai più tempo per i tuoi animali domestici che per te
  • la tua vita sociale sarà al 95% dedicata a loro
  • non avrai più niente di "completamente tuo"
  • e ti toccherà rifar di nuovo pulizie ma... è inutile
(fonte: facebook Taiwan, perché tutto il mondo è paese)