27 novembre 2011

3+ script in python semplici e utili per sviluppatori

Avete scritto un solo file o un intero progetto i cui sorgenti sono suddivisi tra 100 directory e subdirectory?
Avete dimenticato di includere una delle licenze GPL all'inizio del file?
Avete dimenticato la shebang a inizio file?
Avete dimenticato di includere la vim modeline alla fine dei vostri file?

Allora questa serie di (per ora) 3 script scritti in python vi potrebbe essere utile.
Segnalate tranquillamente errori/miglioramenti/idee per altri script.
Sono nati in modo molto spartano per esigenze personali, li pubblico perchè potrebbero servire ad altre persone:

bzr branch lp:~lorenzosfarra/+junk/simpledevelutils

13 ottobre 2011

RIP Ritchie

Ero indeciso se scrivere 2 righe ma, visti i precedenti degli ultimi giorni, questo altrettanto (e probabilmente più) grande uomo merita una piccola citazione.
Sarò onesto, non avevo in mente il suo viso, o meglio l'ho sempre associato a questa figura :) :



Grazie per UNIX, il linguaggio C, il libro "The C Programming Language" (detto K&R).

04 ottobre 2011

intercettazioni di cultura

Non so cosa cercano gli utenti di Wikipedia, questo è un DL che rispetta la privacy in favore della popolazione italiana tutta. 1

http://it.wikipedia.org/wiki/Wikipedia:Comunicato_4_ottobre_2011



1: Questo è come avreste visto il messaggio corretto dai diretti interessati.
La mia versione originale era: non ho parole per lo scempio, da quando "DL" per esteso vuol dire "puttanata"?

18 settembre 2011

Roma - L'Aquila: i 100km più lunghi della storia

INTRODUZIONE
Quella che leggerete è una tragicomica verità.
Pensate che le unità di misura siano oggettive, matematiche, precise?
Non sulla A24. O meglio, non nel tratto urbano della A24 Roma - L'Aquila, dove i km sono più lunghi che in ogni altra parte del mondo.
Pensate che sia una storia lunga? Vi garantisco che c'è da divertirsi, e che seguirà almeno 1 altra puntata.

IL FATTO
L'ARPA (Autolinee Regionali Pubbliche Abruzzesi), gloriosa (si fa per dire) compagnia che a quanto ne so è l'unica a coprire questa tratta con un autobus, segnala sul biglietto che il tempo di percorrenza è di 1 ora e 40 minuti.
Tantino, ma ci può stare.
Fino a qualche mese fa la media del Venerdì sera intorno alle 19 era di circa 2 ore, gran parte passate nel tratto che dalla stazione Tiburtina porta al casello in zona Lunghezza, quasi a passo d'uomo per vari tratti.
Poi sono cominciati i lavori per le complanari, opera discutibile (es.: non si poteva potenziare la linea FR2 da Lunghezza a Tiburtina, senza altri Nmila milioni di euro per tonnellate di cemento?) che comporta la chiusura di ALMENO una corsia in entrambi i sensi, con tempi di percorrenza ormai diventati assurdi.
Un pendolare ha scritto questa interessante lettera aperta all'ARPA in cui spiega bene il problema, propone delle soluzioni e solleva il non banale problema del "confort" degli autobus.
Bene, a questa lettera è seguita una risposta del direttore dell'ARPA che io ho letto in un venerdì pomeriggio poco prima di ripartire da Roma verso L'Aquila.
In questa lettera si snobbano completamente le soluzioni proposte con un politichese ormai noto a noi poveri italiani, sottolineando che vengono investite grandi risorse su questa tratta: «lo dimostra l’anzianità media dei bus impiegati sull’Aquila - Roma che si attesta sui sette anni, a fronte di una media aziendale del parco autobus di 9 anni e mezzo».
Vorrei far presente che non è tanto l'età a rendere migliori/peggiori (suggerirei al direttore di dare uno sguardo a Sharon Stone), ma il valore assoluto delle cose, e come quest'ultime vengono gestite e mantenute.
Ma torniamo a noi.
Letta questa bellissima lettera mi dirigo da Termini verso Tiburtina con la metro B (NO COMMENT, almeno stavolta, per non dilungarmi ulteriormente!).
Bene, salgo sull'autobus sul quale il nostro direttore ha investito grandi risorse, ed ecco lo stato:





In pratica aria condizionata a SECCHIATE.
Considerando che l'autobus è sempre strapieno, qualcuno si doveva pur sedere in quei posti.
Io.
Ora, per me va anche bene, ma immaginate un anziano. Bene, dopo la vita passata per raggiungere l'autostrada, ecco comparire un cartello luminoso con la scritta "Veicolo fermo al km. 65".
Ovviamente ho subito pensato "100 euro che è un autobus dell'ARPA!". Peccato che non c'era nessuno con cui scommettere, adesso avrei 100 euro in più.

A questo aggiungiamo il fatto che le tariffe sono aumentate a inizio Settembre 2011, per cui il singolo biglietto andata-ritorno costa 1 euro in più.
Caro direttore, spero che con questo euro potrete finalmente comprare più carta per coprire le bocchette dell'aria condizionata.

14 agosto 2011

Ma veramente!? - Cronaca del crtime su sistemi Linux

Ok, non scrivo da un bel po' su questo blog, ma questa cosa vorrei condividerla.

LA PREMESSA
Non voglio dire di essere un grande esperto, ma ho comunque anni e anni di esperienza su sistemi Linux che rendono la questione ancora più interessante...e questo ha contribuito ancora di più a farmi sentire un pirla nella "scoperta" che ho fatto :)

IL FATTO
A lavoro per diverse ragioni dovevo risalire alla data di creazione di un file.
Bene, così per abitudine:

$ ls -l

mmh no vero, non c'è.

$ man ls

mmmh niente di utile.

$ stat

mmh Access, Modify e Change, ma niente Create o Creation.

$ man stat

[...]
%x Time of last access

%X Time of last access as seconds since Epoch

%y Time of last modification

%Y Time of last modification as seconds since Epoch

%z Time of last change

%Z Time of last change as seconds since Epoch
[..]
mmh niente da fare. Iniziano i primi FORTI dubbi. Al che per togliersene un bel po'

$ man 2 fstat

[..]
struct stat {
dev_t st_dev; /* ID of device containing file */
ino_t st_ino; /* inode number */
mode_t st_mode; /* protection */
nlink_t st_nlink; /* number of hard links */
uid_t st_uid; /* user ID of owner */
gid_t st_gid; /* group ID of owner */
dev_t st_rdev; /* device ID (if special file) */
off_t st_size; /* total size, in bytes */
blksize_t st_blksize; /* blocksize for file system I/O */
blkcnt_t st_blocks; /* number of 512B blocks allocated */
time_t st_atime; /* time of last access */
time_t st_mtime; /* time of last modification */
time_t st_ctime; /* time of last status change */
};
[..]
ma...ma...NON C'È!

LA "SCOPERTA"
Finalmente è stato introdotto con l'arrivo di ext4.
In aggiunta ai campi tradizionali (access,modification,change) sono stati aggiunti il crtime(creation) e dtime(deletion) legati all'inode.
Al momento sembra mancare negli strumenti tradizionali (stat, find, ls) la possibilità di ottenere informazioni dal filesystem ext4 maggiori rispetto a quanto possibile per ext2 o ext3.
Per ottenere queste informazioni:

# debugfs -R 'stat /percorso/file' /dev/sda1

dove /dev/sda1 è il dispositivo su cui è montato il filesystem dove risiede il file di cui vogliamo vedere queste informazioni.

Inode: 524360 Type: regular Mode: 0644 Flags: 0x80000
Generation: 1374299388 Version: 0x00000000:00000001
User: 0 Group: 0 Size: 515
File ACL: 0 Directory ACL: 0
Links: 1 Blockcount: 8
Fragment: Address: 0 Number: 0 Size: 0
ctime: 0x4d62a41b:29f0e708 -- Mon Feb 21 18:42:51 2011
atime: 0x4e44d538:d129cbbc -- Fri Aug 12 09:24:40 2011
mtime: 0x4d62a41b:1d8b1d3c -- Mon Feb 21 18:42:51 2011
crtime: 0x4d62a41b:1d8b1d3c -- Mon Feb 21 18:42:51 2011
Size of extra inode fields: 28
EXTENTS:
(0):2167296

CONCLUSIONI
Le conclusioni in questa storia sono:
  1. non si finisce mai di imparare...;
  2. è terribile quando sei straconvinto di una cosa per anni e accorgersi che era completamente sbagliata;
  3. La maggior parte di chi legge aveva la mia stessa convinzione ma non lo dirà mai, anzi dirà che lo sapeva perfettamente;
  4. Non so che gli costava aggiungere questo campo anche prima.

Ogni altra aggiunta e spiegazione su questo fatto sono ben voluti.

12 maggio 2011

Finalmente si alza il sipario: ecco il nuovo sito di ubuntu-it

Signore e signori,
dopo mesi di durissimo lavoro (che in realtà è il lavoro-dopo-il-vero-lavoro-ovvero-tempo-libero) siamo felicissimi e fieri di presentare la nuova veste del sito ufficiale di ubuntu-it:



Un cambio che vede il passaggio ad un nuovo CMS (Drupal), una grande attenzione ai contenuti, e una grandissima attenzione all'aspetto grafico.
Alcuni aspetti non sono ancora stabili al 100% ma abbiamo deciso di non temporeggiare ulteriormente, e di verificare insieme agli utenti dove occorre intervenire.

Detto questo, non resta che godersi il sito.

Enjoy!

05 maggio 2011

ubuntu-it, il nuovo sito sta arrivando....

Il nuovo sito di ubuntu-it sta prendendo vita e manca davvero poco al suo esordio.
Un forte e costante lavoro che ha portato ad un risultato incredibile. Mancano pochi dettagli per andare online, questione di giorni...stay tuned!






20 aprile 2011

Ubuntu Party 2011 @ Schio

Mancano ormai pochi giorni al primo Ubuntu Party italiano.
L'evento si terrà a Schio, in provincia di Vicenza, il 30 Aprile e 1 Maggio 2011. Organizzato dalla Comunità Italiana Ubuntu, da AVi LUG e da Piazza Telematica del Comune di Schio.

Il nostro Fabio Colinelli ha preparato una piccola presentazione dell'evento:



Partecipate numerosi!

23 gennaio 2011

bash tip: impostare redirezione output dall'interno di uno script

Piccola ma utile tip.
Se si ha per qualche motivo la necessità di impostare la redirezione dell'output di uno script (stdout e/o stderr) senza utilizzare gli operatori per la redirezione (come ben descritto per esempio sul sito dell'ILDP) dall'interno dello script o direttamente dalla linea di comando, ecco una possibile soluzione:


#!/bin/sh

exec > prova.log 2 > &1

echo "queste due linee stampate"
echo "andranno in prova.log"