About Guido Maria Serra aka Zeph

Sviluppatore, sistemista, analista di sicurezza, freesoftware evangelist.

autoritario != autorevole

Chiedo scusa per la notazione da informatico. Il titolo significa che #autoritario non significa #autorevole. Mi sono dovuto segnare questa cosa perche’ sto facendo un percorso da futuro istruttore di vela, sperando di arrivare ad occuparmi di cabinati in navigazione d’altura. Con un rispetto enorme per il mare e per chi ha fatto miglia e miglia in acqua e magari una vita a bordo di un’imbarcazione, ho fatto per errore solo la patente entro 12miglia con l’idea di fare poi esperienza e farmi poi la oltre (acque internazionali). L’esame non e’ molto diverso, semplicemente le tematiche di carteggio sono preponderanti.

Tornando al tema, il grosso problema in barca per chi e’ patentato, e’ che spesso si trova anche ad essere automaticamente il capitano, che equivale a un ginepraio giuridico di responsabilita’ piu’ finite. Per paura o insicurezza mia, avendo tra l’altro avuto tanti/troppi modelli autoritari nella mia vita, un po sopraffatto dal peso della responsabilita’, mi sono spesso trovato io stesso a scadere nella deriva autoritaria a bordo, in modo completamente inutile. Sono arrivato pure a litigare con un amico, per un ormeggio… ovviamente mi sono poi trovato con tanto di coltellaccio a dover andare sotto la chiglia a tagliare la drappa che si era infilata nell’elica.

Il fine settimana appena passato ho partecipato al corso del World Sailing – Offshore Special Regulations, per avere un’idea di come gestire un’emergenza e il dispiegamento (speriamo mai) di una zattera di salvataggio in mare. Ho particolarmente apprezzato la gestione del panico a bordo, di quali siano i meccanismi “salvo me stesso a scapito degli altri” che si scatenano e che solo dando senso di autorevolezza (e di percepita sicurezza) si riesce ad evitare. Ho compilato una scheda a fine corso, forse avrei dovuto sottolineare particolarmente questa parte. Come fare a farsi ascoltare da gente che ha 20/30 anni piu’ di me? Come coinvolgerli? Come farli sentire sicuri a bordo? Come creare un equipaggio efficace? Semplificando, molto:

  • gratificare ogni singolo successo:
    tutto cio’ che e’ negativo viene evidenziato in contrasto senza che venga menzionato
  • correggere l’errore e mai far percepire al singolo che “lui e’ sbagliato”
    quello che ha fatto e’ sbagliato, mai lui… altrimenti si innesca un meccanismo non utile
  • distribuire i compiti
    (in emergenza, e su turni: cercando di tenere i membri esperti piu’ “scarichi”, in modo che siano presenti in situazioni in cui sono richiesti “lucidi”)
  • ascoltare gente con piu’ esperienza (ovvio)
    fermo restando che le “colpe” a livello giuridico, e quindi l’ultima parola, sara/nno cmq tue

Personalmente ho paura a delegare, cose soprattutto che so importanti e che temo non vengano svolte come mi aspetto. E’ un tema su cui lavoro oramai da parecchi anni, ma e’ l’unico modo per poter un giorno esser visto come autorevole e non autoritario (che odio).

quasi 13anni di esilio

…autoinflitto, tra l’altro. Sono partito da casa dei miei appena dopo pasqua del 2008. Lo ricordo bene perche’ mi sono tenuto gelosamente la registrazione all’anagrafe di Dusseldorf datata 21 Aprile 2008. Una settimana prima l’avevo spesa a Londra, lavorando dall’ufficio di Vodafone Group allo Strand, un mega ufficio vista Tamigi in condivisione con il colosso petrolifero Shell.

Ne sono successe parecchie di cose nel frattempo. Gli anni sono volati, e stanotte sto smontando casa, letteralmente. Ho appena liberato la camera degli ospiti dal divano-letto per poter avere posto per inscatolare e prepararmi al trasloco, si torna in Italia.

If you can make one heap of all your winnings
    And risk it on one turn of pitch-and-toss,
And lose, and start again at your beginnings
    And never breathe a word about your loss;

un passaggio dal poema “se” If – di Kipling

Ho paura, ansia ed eccitazione tutte insieme. Sono alla soglia dei 41 anni, non ho famiglia, ma ho una carriera. “Non bisogna andare in Germania” dicevano in “Amici Miei” al povero Paolo, vedovo capitato vittima di un gruppo goliardico. Eppure torno, con tanti ricordi, amici, esperienze, un inglese quasi perfetto, un tedesco da scappato di casa. Riparto dall’Italia, da dove sono cresciuto, da cio’ che amo: vela & montagna.

Ci vediamo tra Orobie, Franciacorta & Arcipelago della Maddalena.

volevo telelavorare in Presolana

ma… i miei test con 3 diverse simcard sono stati miserabili

qui sotto con PosteMobile al Colle Vareno

questa invece Iliad, sempre a Colle Vareno

(da notare l’uplink… il che mi fa pensare male, se non malissimo)

simcard tedesca SimplyTel in roaming invece non si agganciava manco alla cella
…sia questa che PosteMobile erano nel mio Xiaomi Mi9, mentre Iliad era in un Punkt

+++ stesso giro di test da un altra locazione +++

Iliad al Passo della Presolana….

e PosteMobile… sempra al Passo, sempre con un uplink da “parolacce, tante”

measuring a connection MTU

I did end up on this link https://www.sonicwall.com/support/knowledge-base/set-mtu-in-vpn-environment-in-case-of-throughput-issues/170705131319789/ but the command which is suggested do not seem to be valid on a Devuan GNU Linux system.

Instead… ping -s 996 http://www.yahoo.com

Ping itself gives the total count +28 bytes of IP and ICMP headers.

Why all of this? well, for instance 996(1024) is the maximum MTU on a roaming simcard over the WINDTRE network in Italy… 1436(1464) over PosteMobile (non-roaming). Since I do have an OpenVPN on port 443/TCP which accepts only connections from known IPs… well, I had to go over my german symcard’s network to reach home.

Now fiddling with link-mtu and tun-mtu… stay tuned

debugging slow logon

I love solving tough problem, or at least cast some light. One of my customers (I’m back consulting as whitehat.berlin since 2018) was having some serious issues on the AD logon. It took above a minute, with sessions timing out, for users to logon to their workstation. Beautiful, overprovisioned setup, we didn’t really spot the error, aside of going down to update fileserver’s fiberchannel card drivers and starting moving around data between shares. I still believe it is suboptimal to either partition the load manually creating new shares, not leveraging, if it does the job, the DFS(R?) solution from Microsoft.

The fun though came for someone like me to the challenge of collecting data in a proprietary enviroment, especially when you do have a vendor on storage, one on the appliance involved, and another and another, and none of them is responsible for the whole solution… a bit like the BER airport, everyone involved, noone responsible for the overall solution. So, how to isolate the problem at least? We had data from the storage itself, all green, all performant, not much from the client OSs… that in this case are the Microsoft fileservers. So? Well, seems that Microsoft itself has a metrics interface called WMI… Windows Metrics Interface… good ah? Out of which it delivers all the info you see in the Task Manager and similar tools. Well, a bunch of skilled hackers came up with 2 nice tools, one built above the other.

On one hand leoluk/perflib_exporter which looks up in memory, actually bypassing the standard WMI interface (more details on its github page) and delivers a full data dump of ALL available metrics that are in the OS. I was having a SysOps orgasm going through it. On the other hand martinlindhe/wmi_exporter that simply reads that dataset and converts to a format understandable by prometheus. Leading to this beautiful chart…

debugging_logon

This way we could spot which server was serving, how many filedescriptors were open on a certain share… and so on and so on… and yes, I had to come up with the SMB Samba Share data class… as that was missing, but it was just a couple of hours of cut&paste work. I now need to find the time to clean it up to get it merged back in the main project.

p.s. I didn’t know… golang compiles, with no complain, from linux, a .exe windows binary

13pive co-working

ovviamente il nome puo’ anche variare… ma pensavo a quanti di noi giovani (io, ahemm… coff coff) siamo dovuti finire a partita iva… da cui p.iva … p.ive (plurale?!)

che cavolo e’? beh, un co-working, servono 65,000 EUR per comprare un immobile in centro alla splendida cittadina di Predore, raggiungibile con corriera da Bergamo, praticamente Orio, praticamente Europa

perche’ 13? pensavo a quote di 6k EUR a cranio, per arrivare ai 65(66)
…11 quote dei 66mila euri, piu’ altre 2 quote per spese notarili e riparazioni

se ci pensate 6000EUR sono 500eur/mese di affitto per un anno
… o 250eur/mese per due anni… poi e’ tuo il posto… o cmq un voto

quote da 3000? mezzo voto… servono 13 quote per partire, sicuramente non bastano per far diventare lo spazio come un WeWork… ma bastano per pagare le bollette per i primi 2 anni… una Onlus? Una srl a 1euro? qualcuno puo’ mettere le competenze… io so solo che posso cablarla, mettere sicurezza fisica con badge e altre cacate hi-tech

perche’ li? beh, intanto perche’ il posto e’ una figata, sta con accanto un bar, un ristorante/pizzeria (con anche piccoli appartamentini) e 2/3 negozi di generi alimentari

la butto li… e’ ‘na strunzata? (allego foto) …farei stare 13(?) scrivanie compatte nel primo e secondo piano… lascerei come stanza comune il piano terra

p.s. sono 75mq (pare) su 3 piani… cucinotto al piano terra, bagno al primo, doccia al terzo
[non ci vivrei, ma un co-working verrebbe parecchio figo…]

 

multi-language contracts (and instruments) for private services

I started a petition at the European Union Parliament… let’s see if this gets anywhere

https://petiport.secure.europarl.europa.eu/petitions/en/petition/view/10917

We are currently living in a union where a private citizen can move across the member states but services are provided only in the local language of each member state, despite the fact that most of the big services organization are present in each, or most, of the member states. Despite my right to have an italian bank account, I cannot use it in germany as primary bank account (most of the utilities providers will reject that as a reference bank account to withdraw automatically from). Therefore I have to choose a local bank organization, in the local language. I choosed a bank, that has branches in 4 different countries of the union, and I see no point in having not to be able to use a web interface, and contracts, in my native language, applied on a german IBAN. For this, but also for many other topics like mobile phone contracts, or insurances, I want to have, especially for companies that already have their legal documents in the language of multiple member states, that they get forced (or incentivised) to provide me the choice of signing for their local branch in two or more languages. I also want, that if they already provide their service in another member state, on a website in my language for example, that I can use it to interact with them. In the specific example, I stumbled on Cortal Consor, german brand, with equivalent italian brand Hello Bank, part of the french group PNB Paribas. But can easy be applied for Vodafone or any other big financial or telco institution. They do probably get fiscal advantages to be a registered as an SE (societe’ europeen), I’d like that they have to become really an european service providing institution.

petizione.png

UPDATE 2017/10/30

I just received a letter from the Committee on Petitions:
My petition has been accepted and got assigned the number 0338/2017

device unbind

I don’t like writing about things I didn’t do. But in this case my colleagues at OLX are mentioning I shall document it, for others. We were in trouble with an EBS volume on AWS as we had 2 of them attached to a box, one supposedly released but not completely.

From AWS Web UI we saw that the device was released, but in the box we could still do the listing of the content of the mounted device. It was RO though… but still, unclean situation.

We first cleared the filesystem in memory cache, and at least that removed the data from within the filesystem tree structure… but we could still fdisk list the device… at this stage I went for the latest escalation solution in this domain… call Alessandro Rubini, co-author of Linux Device Drivers.

Solution suggested… go into /proc/sys device folder “xen”, then folder related to the device module “blkblock” or something similar… then in there, there were 2 symlinks, with the name/alias of the devices… this is basically the reference in memory of the mapping between the module and the device… it is kept in the MODULE_DEVICE_TABLE data structure. Echoing such string (unique to the device) into the “unbind” special file which is in the above followed folder, releases the datastructure and therefore the device without having to unload the module. There was another healthy device held by such module, therefore we couldn’t unload/load it to flush its state.

$ ls /sys/bus/xen/drivers/vbd/
bind module uevent unbind vbd-12345 vbd-98765
$ echo  vbd-98765 >/sys/bus/xen/drivers/vbd/unbind