29/11/2014

Non è un paese per Sam

Quoto Crozza, l’Italia è un paese di bifolchi!

20/11/2014

MM3 Proxy switch

Generalmente preferisco non usare troppe estensioni sui miei browser (principalmente Firefox e Chrome) per non ritrovarmi i browser “seduti” oppure per rendere un eventuali disinstallazione e reinstallazione snella e veloce (guardacaso mi è successo pochi giorni fa dopo l’ennesimo upgrade di Firefox).

Une estensione di Firefox a cui però non riesco proprio a rinunciare è MM3 Proxy switch, che come suggerisce il nome serve ad attivare, disattivare o cambiare impostazioni del proxy in modo pratico e veloce.
Esistono parecchie altre estensioni che fanno tutto questo, ma tra tutte quelle che ho provato questa mi è sempre sembrata la più leggera e semplice da usare, riassumendo: un click per attivare il proxy, un click per disattivare il proxy, una dropdown per selezionare i vari profili e un file di configurazione semplice da editare al volo.

Essendo una estensione di Firefox utilizza la stessa sintassi per definire le eventuali esclusioni di indirizzi, sottoreti, hostname o domini, se doveste avere dubbi trovate una veloce guida a questo link.

Come dicevo poco sopra la sintassi della configurazione è decisamente semplice, ogni profilo è delimitato da parentesi quadre, è possibile definire un proxy differente a seconda del protocollo utilizzato (http, ftp, ssl o socks) oppure per tutti i protocolli (all) e infine definire le esclusioni (noProxy).

[Proxy1
  all=10.0.0.1:8080
  noProxy=127.0.0.1, 10.0.0.0/8, 81.82.83.0/24, dominio.tld, ced.azienda.local
  clear=cache
]
[Proxy2
  http=10.0.0.2:3128
  http=10.0.0.2:3128
  ftp=10.0.0.3:80
  noProxy=127.0.0.1, 10.0.0.0/8, 81.82.83.0/24, dominio.tld, ced.azienda.local
  clear=cache 
]
[SocksSSH
   socks=127.0.0.1:777
   config:network.proxy.socks_remote_dns=true
   noProxy=127.0.0.1, 192.168.0.0/24, domain.external.local
   clear=cache
]

Ottimo software imho, l’unica miglioria possibile potrebbe essere quella di aggiungere una direttiva di configurazione che permetta di lanciare uno script al cambio di profilo, pensiamo ad esempio all’avvio di una connessione ssh che incapsuli il traffico del proxy (via http o socks, vedi ad esempio il profilo SocksSSH di esempio con proxy socks in ascolto sulla porta 777) .

15/11/2014

E.R. – Medici in prima linea

erAmo le serie tv, le amo da quando si sono sganciate dal classico modello anni ’80 con puntate tutte uguali, le guardo a prescindere dai difetti e dalle incongruenze spesso affezionandomi ai personaggio e ignorando le incongruenze o i voli pindarici degli scenaggiatori.

Ne ho viste molte, diverse mi sono piaciute, poche mi hanno deluso profondamente, di certo però le mie preferite sono X-Files, Star Trek Voyager e ER medici in prima linea.
Oggi ho terminato di vedere la quindicesima e ultima stagione di ER, l’unica serie tv che abbia visto per intero ben due volte.

Ricordo con piacere gli anni in cui la serie veniva trasmessa in prima serata su RAI2, mi isolavo dal mondo, scappavo dal trambusto di casa rifugiandomi nell’appartamento di mia nonna e mi godevo le canoniche due puntate tutte l’un fiato per rimanere in trepidante attesa per i successivi 7 giorni.
Era un rito, era un piacere, la trama, l’ambientazione così lontana da tutti quei cloni con la puzza sotto il naso come il celebre e patetico Dr. House o Grey’s anatomy, i personaggi così vivi e reali, tragici nelle loro vicende personali e legati tra loro quel tanto da creare vicende interessanti ma non tanto da essere asfissianti come in una soap opera.

Qualche mese fa facendo zapping sono incappato su non so quale canale dove stavano trasmettendo una puntata delle prime stagioni, e li è scattata di nuovo la scintilla, ho affilato la carta di credito, mi sono fatto spedire tutti i cofanetti dvd e me le sono sparate tutte, tutti i 331 episodi uno dietro l’altro senza sosta e con grande, grande piacere.
Credo che questo sia sufficiente per dimostrare il mio affetto nei confronti della creatura di Michael Crichton, ragion per cui ho deciso di farne un mio personalissimo My2Cents

ATTENZIONE, da qui in avanti seguono spoiler senza ritegno!

Prosegui con la lettura »

05/11/2014

Export Oracle 9i

Trovandomi spesso a lavorare con vecchi catorci non è infrequente che abbia a che fare con vecchi database Oracle 9i a cui puntalmente manca storage (o quantomeno non avanza mai…).
Spesso poi si tratta di database che girano in modalità no archivelog (e non sia mai che si modifichi una virgola di un servizio che funziona, nemmeno quando può migliorare sensibilmente la vita e la manutenibilità del servizio… :\ ) e su cui l’unica forma di backup è la classica export omnicomprensiva (tanto poi in caso di disastro c’è sempre il dba pirla che ricostruisce tutto e importa il dump…).

A questo aggiungete che solo da Oracle 10g è possibile effettuare export compresse mediante data pump, ecco quindi che si rende necessario adottare i cosidetti “accrocchi con gli stecchini e nastro adesivo”, insomma una sorta di puntata di MacGyver in salsa Oracle…

Ecco quindi la soluzione, utilizzare il buon vecchio mknod per creare una pipe in cui infilare l’output del dump, redirigendo l’output su gzip, redirigendo l’output dello stesso su filesystem sottoforma di file compresso.
Detto così sembra complicato, in realtà si tratta del solito gioco di scatole cinesi e redirezioni di output (non di uno stream di testo ma di binari, la sostanza non cambia), quello che mi sono sempre chiesto è perchè Oracle non abbia mai rilasciato un piccolo aggiornamento per fare quello che qualsiasi server unix like può fare dalla notte dei tempi… e Mr Ellison non mi venga a dire che gli mancano le risorse…

Ovviamente il suddetto script bash funziona esclusivamente su GNU/Linux o sistemi operativi unix like, se usate Oracle su Windows non vi resta che cospargevi il capo di cenere, attaccarvi al tram e urlare in curva :D

export ORACLE_SID=<SID DATABASE>
dstr=$(date '+%Y%m%d-%H%M%S')
exp_dir=<DIRECTORY DESTINAZIONE EXPORT>
pfile=$exp_dir/p$dstr
dmptempl=$exp_dir/${ORACLE_SID}_
dmpfile=${dmptempl}$dstr.dmp.gz
logfile=${dmptempl}$dstr.log
$(which mknod) $pfile p
cat $pfile | $(which gzip) -6 -c > $dmpfile &
exp <UTENTE>/<PASSWORD> file=$pfile full=y direct=y consistent=y \
recordlength=65535 buffer=20000000 log=$logfile statistics=none
rm -f $pfile