lunedì 30 maggio 2016

lunedì 23 maggio 2016

Promemoria: WinPhone

Ma come fai a vivere senza un WinPhone?!?

Bombardoso: Lumia 640 XL (5.7", WinPhone 8.1, GPS, 1Gb RAM, 8Gb flash memory; 172 grammi, microSIM)



Brilluccicoso: Lumia 730 (4.7", WinPhone 8.1, GPS, 1Gb RAM, 8Gb flash memory; peso 132 grammi; dual-SIM microSIM)



Sparagnino: Lumia 550 (4.7", WinPhone 10, GPS, 1Gb RAM, 8Gb flash memory, peso 142 grammi, nanoSIM)


lunedì 16 maggio 2016

Motori


A sinistra:

  • Shinano EM-484, connettore a 4 poli
  • Mototech S35S5, 5 poli
Centro:
  • (senza marca, compatibile Shinano EM-235), 4 poli
Destra:
  • Sankyo MSCS048D12, 5 poli
  • Matsushita K39HM2 (12V, 0.008A, 1.8 gradi/step), 4 poli

domenica 15 maggio 2016

venerdì 13 maggio 2016

Promemoria personale: serverino

Sto considerando un serverino per applicazioni cpu/ram/net-intensive (er Bitte Coine, il rendering, il blog col forum, il gaming server, il teleallarme...).

In qualità di serverino non ha bisogno di schede grafiche particolari, né di prestigiose casse audio e altri ammennicoli.

Opzione 1: uno sgargiante Airtop iper-silenzioso (ma costosetto): Xeon E3-1285L con 16 giga RAM ECC e SSD 250 Gb, extended temperature, da installare in casa: poco sotto i 2200 euro di salasso (diventano 2550 se con due dischi da un tera in RAID-1... ovviamente non silenziosi).

In tal caso mi è necessaria una ADSL/fibra con IP statico: ma casa mia è in zona "digital divided", e ogni volta che le compagnie mi martellano con le loro iper-offertissime, quando do il mio indirizzo si rovinano il fegato, per poi macerarselo definitivamente quando chiedo un IP statico (ma perché sono così taccagni? gli operatori del call-center, nel loro italiano stentato, mi dicono sempre di aspettare in linea per passarmi "un tecnico", cioè qualche altro poveraccio da un altro call-center indiano o est-europeo, e a quel punto io chiudo la telefonata perché è tempo perso).

Opzione 2: un classico Dell T130 iper-economico (ma rumoroso) in offerta speciale: poco sotto i 1000 euro di salasso, ma con E3-1200 (uscito nel 2012, ecco perché così economico), con 16 giga RAM ECC, compresi due dischi da un tera a 7200 giri in RAID-1 e una iDrac8, da installare in ufficio (già dotato di IP statico).

RAM ECC: necessaria perché il server attuale non ha l'ECC e perciò in cinque anni si è piantato (o ha avuto stranezze) 3-4 volte; un down all'anno è una rogna, specialmente quando succede il venerdì sera e viene riavviato solo il lunedì mattina. Perciò la ECC ha come categoria di costo: "assicurazione contro eventuali rogne".

Dischi in RAID-1 (mirroring): in cinque anni l'ardisco del server attuale non ha mai dato problemi, ma anche facendo spesso il backup hai sempre il terrore che quando ti si guasta il disco hai un buco nero di qualche giorno (dall'ultimo backup al nuovo disco fresco installato). Meglio due dischi in mirroring: se uno si guasta, l'altro resta vivo e pimpante senza buchi neri. Categoria di costo: "assicurazione contro eventuali rogne".

FAQ
Domanda: perché non compri qualche soluzione cloud?
Risposta: il cloud va bene per il sitarello webbarello e per la cacatella usa e getta, non per chi ha le paranoie come me. 

Domanda: perché non ne parli con l'ufficio acquisti?
Risposta: lì vige un'unica legge: quella ferrea del "se proprio non si può fare a meno di comprare, allora compra quello che costa meno, e chiedi pure lo sconticino, e magari togli pure qualche cosa di indispensabilmente fondamentale pur di risparmiare qualche altro centesimino".

Domanda: il negozio sotto casa mia ha un'offertissima irripetibile, guarda!
Risposta: siccome sono paranoico, posso prendere in considerazione solo cose che mi garantiscano stabilità a lungo termine (perciò ECC e RAID-1 sono il minimo sindacale; prima o poi ci vorrà l'hot-swap per alimentatori e dischi, e un'unità UPS).

lunedì 2 maggio 2016

Non tutte le offerte di lavoro sono ghiotte e irrinunciabili opportunità

Premessa: le frasi citate in neretto provengono da vere telefonate che ho ricevuto.



“Stiamo cercando una figura professionale seria,
ci serve un vero Batman”

Traduzione: lavorerai come un Batman (incluse le ore notturne) ma con la paghetta di un tirocinante ventenne sbarbatello, poiché qui oltre ad essere senza soldi siamo nella merda: col cliente abbiamo fatto una figuraccia molto poco professionale e molto poco seria.

Come rispondere: «se avete deliberato che vi serve un Batman, saprete già che vi costerà più un incredibile Hulk; se il netto annuo ha meno di sei cifre, allora non possiamo neppure proseguire la telefonata».



“Questo nostro progetto è speciale,
è particolarmente interessante”

Traduzione: siamo nella merda e non possiamo dirti di cosa si tratta perché siamo stufi di sentirci mandare a cagare, il progetto va portato in porto anche se sono state sbagliate tutte le decisioni iniziali e intermedie, e comunque gli aggettivi "speciale e interessante" valgono già come busta paga.

Come rispondere: «ottimo! per il CERN ho già lavorato, e aspettavo con impazienza che voi della NASA mi contattaste proponendomi uno stipendio strepitoso, liberandomi da proposte molto ben pagate».



“No, così saremmo fuori budget... Però le assicuro
che ci sono ottime opportunità di crescita”

Traduzione: siamo senza soldi, ma il termine "opportunità di crescita" vale già come busta paga.

Come rispondere: «benissimo! aspetto con impazienza una vostra chiamata non appena le "opportunità di crescita" si saranno realizzate e saranno entro il budget».



“È un lavoro in sede, in orari di ufficio”

Traduzione: in un angolino di un chiassoso open space (o forse in corridoio) rimedieremo una sedia sgangherata e vecchio e rumoroso PC per te, ma siccome siamo nella merda tienti pronto anche a qualche trasferta dal cliente e a lavorare anche di sabato e domenica. Entrambe le sedi non sono proprio facili da raggiungere, ma ti ci abituerai presto.

Come rispondere: «ancora non ho capito quale è esattamente la mia mansione e la mia retribuzione netta».



“Buonasera, come va? Tutto bene?”

Traduzione: spero che a furia di telefonarti ogni mese per riproporti sempre la stessa offerta che hai sempre rifiutato, tu prima o poi ceda.

Come rispondere: «non sono interessato a lavorare nella vostra azienda».



“Stiamo portando avanti un grosso progetto
e abbiamo notato il suo interessante profilo Linkedin...”

Traduzione: siamo nella merda e stiamo disperatamente contattando cani e porci, perfino i profili Linkedin abbandonati da anni come il tuo.

Cosa rispondere: «perbacco, è davvero così vecchio e sgangherato il codice sorgente del vostro progetto?»



“Abbiamo visto alcuni suoi sorgenti software nell'internet”

Traduzione: lo sappiamo bene che sono solo briciole; ci interessano invece i dettagli tecnici della soluzione che hai consegnato ad un certo nostro concorrente...

Cosa rispondere: «come? volete pagarmi per sviluppare in open source? grandioso!»



“Richiediamo uno particolarmente skillato
molto competente ed esperienziato
disposto anche a spostarsi per qualche mesetto”

Traduzione: tutti i nostri tecnici hanno famiglia e non sono disponibili a trasferirsi per sei mesi a ottocentonovanta chilometri da casa, siamo nella merda e ci serve urgentemente un Batman da piazzare in quelle lande brulle e desolate presso le sedi del cliente.

Cosa rispondere: «tengo famiglia, mi è appena morto il cane, e con la paga che mi proponete mi sentirei in imbarazzo perfino a lavorare solo un pomeriggio a settimana a casa mia. Ma voi non avevate a disposizione quel tirocinante ventenne psicolabile che non vedeva l'ora di girare per il mondo?»



“Per il nostro progetto c'è bisogno di uno
con dieci anni di esperienza in
#{tecnologia_nata_sei_mesi_fa}”

Traduzione: siamo nella merda e dopo numerose estenuanti riunioni abbiamo deciso che ci serve al più presto una bacchetta magica e soprattutto uno che la sappia usare.

Cosa rispondere: «ma davvero? io sono uno di principali progettisti di quella tecnologia, abbiamo cominciato quindici anni fa a implementarla...»



“Se conosce qualche altro sviluppatore interessato
a lavorare sul nostro progetto, mi faccia sapere”

Traduzione: siccome siamo nella merda, non fa differenza se accetti tu o se prendiamo un altro, l'importante è che qua si ricominci a lavorare Asàppe* perché il cliente ci sta già facendo un culo così.

Cosa rispondere: scegliere tra «OK, mi impegno a fare io il vostro lavoro di ricerca del personale» oppure «ne conosco un paio: quale sarebbe la mia commissione per ogni persona che vi presento?»

*Asàppe = traduzione in romanesco del termine gergale americano "ASAP" (As Soon As Possible).



“Quanti anni di esperienza ha in
#{tecnologia_morta_da_anni}?”

Traduzione: l'ultimo nostro dipendente che la conosceva ci ha lasciato un mese fa e siccome non troviamo un sostituto siamo nella merda.

Cosa rispondere: «mai sentita nominare; può ripetermi il nome?»



“Abbiamo un'attività spot”

Traduzione: siamo nella merda perché per risparmiare sui costi abbiamo fatto fuggire tutti i dipendenti che avevano il know-how, e ogni volta che un cliente ci chiede qualcosina noi gli rispondiamo «vedémo, mettémo, levàmo, checcevò?» in modo da prendere tempo per trovare un tecnico molto professionale ma molto economico che ci tolga rapidamente le castagne dal fuoco e si tolga dalle balle subito dopo che l'attività è completata.

Cosa rispondere: «a sor Peppì, ma vàttela piànderculo».

lunedì 25 aprile 2016

Promemoria: bilancia USB

Sto considerando l'acquisto di una bilancia USB, impedenziometrica (cioè che stima BMI, percentuale d'acqua, massa muscolare, ecc).


Esempio 1: la ION Health:

Raccoglie i dati a bordo. I dati si possono scaricare inserendo una pen-drive USB e premendo poi il tasto SET per 3 secondi; il file viene salvato sulla pen-drive, che poi si può collegare al PC. Il software è per Windows, ma il formato dei dati è .TXT per cui si può smanettare. Non conosco le dimensioni della memoria della bilancia: è un po' seccante dover inserire la pen-drive USB (fornita in dotazione) ogni volta che bisogna scaricare i dati.


Esempio 2: la Beurer BF 480 e la Beurer BG 64:

Queste "parlano" al PC via cavo USB con un protocollo proprietario; per emularlo esiste un sorgente per Linux con libusb e QT 4.8 ma va compilato. Prima di comprare la bilancia, assicurarsi di essere riusciti a compilarlo ed eseguirlo, altrimenti... solo Windows.


Esempio 3: la Newgen Medicals KAW-410:

Questa pure si collega via cavo USB ma si presenta a Linux come un human interface device (tipicamente /dev/usb/hiddev0); trovo in giro qualche sorgente (che non usa librerie esterne e perciò si dovrebbe compilare facilmente), ma è roba del 2008 e non credo che possa essere usata se non come spunto per scrivere un nuovo software (si faccia avanti chi ha il tempo di farlo).


Esempio 4: la Beurer BF 700 oppure la Salter 9154 BK3R oppure la Medisana BS 440:


Queste "parlano" in bluetooth ma solo ad un'apps iPhone/Android. Sulla Salter l'invio dei dati avviene premendo un apposito tastino.

Premessa importante: i dati che misura servono a me, sul mio PC e basta, per cui intendo escludere quelle che possono funzionare solo con apposite "apps" ("apps" che per di più potrebbero spedire i dati anche a server remoti).

mercoledì 13 aprile 2016

Metodo infallibile per vincere al gioco del lotto

È stato arrestato un tizio che aveva vinto MILIONI al gioco del lotto fra il 2005 ed il 2011.



Si tratta di un esperto di sicurezza che aveva modificato aùmm-aùmm gli impianti installando una DLL programmata in modo che in tre precise date dell'anno le estrazioni dei numeri sarebbero state prevedibili (cioè non totalmente "random").

martedì 12 aprile 2016

Etichette dischetti

Brings back memories...




Note:

  • i dischetti 720k erano 5.25" da 80 tracce con drive Teac
  • il dischetto col nuovissimo MS-DOS 3.20 (che sostituiva il 3.11) era formattato a 42 tracce (378k)
  • il Run-C era un interprete del linguaggio C (un eseguibile di ben 183 kilobytes)
  • da Elettronica Stabia furono acquistati in un sol colpo ben quattro dischetti da 5.25" 360k
  • l'etichetta "SPROTETTOR" serviva solo ad impressionare un cugino non proprio a suo agio con la terminologia inglese. Ovviamente chiese una copia dei mirabolanti SPROTETTORS. Ovviamente non la ebbe.

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».