Il vero sistemista e’ un po’ come il meccanico di una volta, quello che se gli
portavi la macchina per rifare la convergenza e quando arrivavi sentiva che il
minimo non andava bene, ti faceva la convergenza, e giustamente la pagavi, ma
poi ti sistemava anche il minimo e non ti chiedeva nulla, lo faceva perche’ non
sopportava di sentire una macchina che non era a punto come si deve.
Era quello che da ogni minimo e impercettibile rumore indovinava subito
qualsiasi problema, anche quello di cui il cliente non si era ancora accorto.
Era quello che dopo cena a casa con la famiglia, tornava in officina, dove
potevi vedere le luci accese fino a notte tarda, perche’ stava lavorando al
“suo” gioiello, una qualche macchina semi d’epoca recuperata chissa’ dove che
con passione piano piano sistemava fino a farla tornare nuova.
Ecco, il sistemista e’ come quel meccanico, e le sue auto sono i server.
In breve: aggiungi la sorgente APT di SID,
configura l’APT Pinning per dare
priorità ai pacchetti di squeeze rispetto a quelli di SID, ricompila il
pacchetto nodejs sotto squeeze.
Aggiungi la sorgente APT di SID creando /etc/apt/sources.list.d/sid.list
(usa il tuo mirror più vicino):
deb http://ftp.us.debian.org/debian/ sid main
deb-src http://ftp.us.debian.org/debian/ sid main
Configura il pinning APT creando /etc/apt/preferences.d/sid:
Sei stanchissimo di ricordarti quale hai messo sulla porta 8081, e i tuoi file
di configurazione stanno diventando un vero casino. Quindi configuri degli alias
per gli indirizzi IP sull’interfaccia di rete e decidi di assegnare persino dei
nomi host — /etc/hosts va benissimo — per ogni applicazione.
“If it is good, they stop making it”, il
payoff stampato sui laccetti della conferenza, distribuiti a ogni partecipante,
insieme a un badge über-l33t personalizzato con il nostro nickname e l'hash
della chiave.
Essendo la mia prima esperienza a una conferenza di sicurezza internazionale
(sono stato solo al camp ccc2k+7), ed essendo un outsider di ph dato che non
avevo mai partecipato alle edizioni precedenti, il keynote di apertura tenuto da
FX, staffer e frontman, è stato
illuminante: “you ought to be here!”, ha urlato indicando il palco,
indossando una camicia bianca col logo Phenoelit stampato su entrambe le
maniche.
“Questa conferenza non è mai iniziata in orario”, ha continuato,
“quindi non c'era motivo di farlo per quest'ultima”. Il programma è
lineare: festa, il giorno dopo talk dalle 12:00 alle 19:30, poi festa, e
l'ultimo giorno talk dalle 12:00 alle 17:30. Decisamente un setup che si sposa
bene con l'alcol disponibile :-D.
Gli sniffer ad alta capacità usati nelle grandi aziende e sui gateway di
frontiera nazionali che raccolgono traffico generato dagli utenti per trovare
pattern potenzialmente “criminali” sono oggi generalmente disponibili
per larghezze di banda fino a 10Gbps, e presto ci saranno appliance che
elaboreranno flussi da 100Gbps. Sniffjoke, di vecna e evilaliv3, è uno strumento che può
iniettare nelle connessioni TCP pacchetti estranei che
ingannano lo sniffer intercettante ma senza effetti significativi sul
destinatario. Questi pacchetti, per esempio, fanno credere allo sniffer che la
connessione sia stata resettata anche se non è vero — iniettando un RST con checksum errato o un pacchetto con TTL inferiore di 1 rispetto al conteggio degli hop — oppure
cercano di consumare la sua potenza di calcolo usando interpretazioni
vendor-specific note del TCP RFC. Dettagli: sito web, slide, thread
su Wireshark.
Grazie agli sforzi di @jodosha e sulla scia del
vecchio evento Javaday, ora ribattezzato codemotion
che ha portato a Roma tanti sviluppatori Ruby da Milano, Padova e altre parti
d’Italia — il primo Ruby Social Club ufficiale a Roma è stato un gran
successo. Ovviamente, l’ufficialità si misura solo nella quantità di spam
su Twitter postato a riguardo! :-): i precedenti RSC a Roma risalgono al
2006
organizzati dagli attuali membri di mikamai e altri
meetup promossi da @jekonel
2007.
Quello che conta è che c’è una community, c’è passione, e c’è voglia di
condividere conoscenza — non importa chi organizza gli incontri, l’importante è
che si facciano :-).
L’evento è stato semplice e diretto — prima qualche birra, poi la mia
presentazione su RVM e gli interpreti Ruby, poi quella di Luca che ha annunciato
il suo progetto minege.ms e dopo il vero social
networking :-). Ho rivisto @gravityblast dopo
tanto che non ci vedevamo, ho conosciuto il gruppo
PIP e ho incontrato
@svarione,
@punkmanit,
@leonardoperna,
@riggasconi,
@ogeidix e altre persone in gamba. Inoltre,
abbiamo passato del gran bel tempo insieme, mettendo su un weekend davvero
sgangherato e divertente. Ovviamente, enormi kudos alla macchina di
@nhaima — che ci ha instancabilmente portato in
giro per Roma per due giorni :-)
Ora, in attesa del prossimo meetup, grazie a tutti quelli che hanno
partecipato, che mi hanno offerto birre e, ultimo ma non meno importante, grazie
a @etapeta per avermi portato in tempo
all’incontro — sei il vero eroe :-).
Ho passato gli ultimi due giorni a cercare di configurare il Mac Mini in alluminio (rev. 4,1)
come NAS server casalingo con storage crittografato, e
volevo metterci un sistema BSD. C'è già un
OpenBSD embedded sul gateway soekris, e un compagno sarebbe stato
carino. :-)
NetBSD 5.1 fa il boot senza problemi, gestisce i
dischi SATA tramite il driver generico pciide (niente DMA, quindi piuttosto lento) ma, sfortunatamente, non gestisce
il controller ethernet BCM57762. Ho provato con
patch veloci e sporche per portare il
driver bge al livello di -current, ma niente da fare: il MII link detection funziona, la scheda trasmette ma
non riceve. Anche il controller sdmmc funziona con -current ma non
con la 5.1-RELEASE. L'ACPI funziona correttamente;
OpenBSD 4.8 fa il boot, accede ai drive SATA
senza DMA, e riconosce la scheda di rete bge, ma
mostra lo stesso identico comportamento di NetBSD 5.1 col driver di -current;
DragonFlyBSD 2.8.2 non entra nemmeno in kernel mode, sospetto
a causa di bug ACPI;
Tutti supportano lo storage crittografato, ho tirato su un disco NetBSD CGD senza problemi su dk wedge; FreeBSD ha gli
interessanti strumenti gbde(8) e
geli(8) basati su GEOM che non ho potuto testare, mentre OpenBSD
supporta la crittografia tramite una personality
softraid. Purtroppo, il supporto per l'hardware Apple, ormai esotico, è
fuori discussione.
Dagli una query, e ti restituirà le frasi suggerite correlate che vengono usate
per costruire il menu sotto la barra di ricerca quando usi i suggerimenti e/o
Instant (non ho scavato troppo in tutti gli altri parametri).
Ad ogni modo, la cosa interessante è che, ovviamente, i suggerimenti sono
personalizzati per paese. Per mostrare le differenze in modo esplicito,
chiediamo al servizio la query più semplice possibile, a:
Il 22 luglio 2010, Mikamai ha ospitato un Ruby Social
Club a Milano,
dove circa 50 persone hanno assistito a cinque talk su Ruby, sviluppo web e
startup. Sono stato contento di essere uno degli speaker, e ho presentato un
insieme di plugin Rails che noi abbiamo estratto dal
nostro ultimo (e più grande) progetto:
Panmind (leggi di più nella pagina
about), rilasciati come Open Source su
GitHub.
Abbiamo rilasciato un plugin SSL helper
che implementa dei filtri (come ssl_requirement di Rails) ma anche degli
helper per le named route: basta con <%= url_for :protocol => 'https' %>!
Avrai qualcosa come plain_root_url e ssl_login_url — come se fossero
integrati nel framework.
Poi, un plugin semplicissimo per Google
Analytics, con supporto <noscript>, un
paio di helper per i test e un
embrione
di framework JS per Analytics — si spera che evolva in un plugin jQuery
completo. Poi, un’interfaccia
ReCaptcha, con supporto alla validazione
AJAX, e infine un’interfaccia Zendesk
per Rails.