Chi sono

Ho 35 anni, laureato in Matematica, faccio il programmatore e vivo in R6. Mi impegno nella diffusione delle nuove tecnologie: l'informatica può far partecipare più cittadini alle scelte dell'amministrazione, ed aiutare le persone a controllare l'operato delle istituzioni, interagendo con esse. In questo blog discutiamo di come portare partecipazione e trasparenza grazie all'innovazione, nella nostra circoscrizione e nella nostra città. Benvenuti!

Authenticating Openshift on Gitlab via ssh keys.

To clone your private gitlab projects on openshift you need to:

1- Create deploy key

   #ssh-keygen   -C 'jon@example.com' -b 2048 -t rsa -f ~/.ssh/openshift_id_rsa -q -N ""

2- add the public key on gitlab

https://git.example.com/a-team/hello-world/deploy_keys/new

3- add the private key on your openshift project: it’s managed via the `secret` object

# oc secrets  new-sshauth scmsecret --ssh-privatekey=~/.ssh/openshift_id_rsa 
# oc secrets add serviceaccount/builder secrets/scmsecret

Be curious and have a look at the secret!

 oc get secret scmsecret -o yaml

4- edit the buildconfig and add the sourceSecret to your source

# oc edit bc hello-world
...
  source:
    git:
      ref: master
      uri: git@git.example.com:a-team/hello-world.git
    sourceSecret:              <--- These lines
      name: scmsecret          <--- These lines
    type: Git
...

5- start a new build!

# oc start-build hello-world
Share

settembre 16 2016 | Linux | No Comments » | 37 views

A good Bandit saves you from the evil

Playing with openstack I just discover bandit, a python linter listing possibile code weakness.

You can try it just

# pip install bandit
# bandit -r my_project

As for me, I’m going to append it to my tox.ini 😉

# echo "bandit" >> test-requirements.txt
# cat tox.init
...
[testenv:bandit]
cmd= bandit -r my_project
Share

luglio 14 2016 | Linux | No Comments » | 141 views

La blitzkrieg come categoria politica

A differenza di molti sono un anti-renziano della prima ora. Sarà la naturale diffidenza verso un enfant-prodige che vince da centro le primarie in Toscana, più rottamattore che rottamatore insomma…

Non mi ha stupito né il coinvolgimento nelle vicende di Banca Etruria o nel petrolio in Basilicata, o l’impasse sui costi della politica: non un governo impermeabile alle lobby.

Ma gli riconosco diversi meriti, sulla semplificazione – vedi 730 precompilato e la relativa integrazione tra le banche dati, sui diritti civili e individuali, sull’impegno europeo nella crisi dei migranti, sul sostegno al reddito tramite gli 80€.

Un’agenda fittissima, una blitzkrieg alla conquista di fette di elettorato a cui mostrare provvedimenti. Una guerra dove ogni parere contrario era visto come un intralcio all’azione riformatrice, in cui i panzer hanno schiacciato tutto.

Passando dall’estromissione di Marino a Roma e la candidatura di un mister nessuno come Giachetti (del resto l’esperienza Bonino insegna che il centrosinistra nel Lazio porta un radicale solo quando è certa di perdere),
fino al culmine del referendum sulle trivelle, dove si è innescato un conflitto istituzionale con le regioni sostenitrici e i vari pretoriani si lanciavano in dilettanteschi #ciaone al mancato raggiungimento del quorum.

L’incapacità di sintonizzarsi con le passioni dell’elettorato e non solo sui suoi (presunti) bisogni, l’epurazione progressiva di blocchi di classe dirigente non allineata, l’atteggiamento supponente dei vari Esposito (ma puoi metterti a cantare inni da stadio juventini da assessore a Roma?), Carbone (l’inventore del #ciaone, la Raggi gli dedicherà una via quanto prima) & co. non poteva avere finale diverso da questo.

Eppure poteva andare diversamente. Bastava respirare un attimo, e pensare che con la guerra-lampo spesso si perde.

Share

giugno 20 2016 | Politica | No Comments » | 179 views

Sense of community: pycon.it

I was happy, really! I had my talk accepted at the Italian Python Conference, and my employer agreed to send three more people with me.

Three days with more than 500 geeks from abroad, world-class engineers, in the wonderful background of Firenze.

Those were my feelings the morning of April 4th, before I fell on a step and broke my knee: hospital, surgery & co.

When I contacted the organization to free my talk slot, they say: “We’ll miss you… but not that much: you can make a screencast and we’ll try to accomodate!”.

The staff did a great work to setup the screencast and the hangout, while the audience was very sympathetic during some audio issues…

Needless to say how all that counted to me, stuck in bed, feeling the whole Lilliput army continuously pickaxing my knee 😉

I really love pycon.it being this: a community of people with formidable technical skills and a warm human touch.

Share

aprile 25 2016 | Politica | No Comments » | 5.206 views

Pythons in my easter eggs ;)

It seems there are pythons in my easter eggs: I’ve just been notified that my training proposal for Europython 2016 has been accepted!

Good news were required after my wife and one of my kids started holidays with fever…

Share

marzo 27 2016 | Linux | No Comments » | 331 views

Switching git url by connection

To save some time when switching on and off the corporate network, I set a NetworkManager hook to use https or ssh protocol.

Just set the url.insteadOf variable when you’re outside company network:

                git config --global url."https://example.com/".insteadOf git@example.com:
                git config --global --unset url.https://example.com/.insteadof

The gist is here.

Share

gennaio 13 2016 | Linux | No Comments » | 407 views

Ansible: port-forwarding and proxy variables

Just started deploying stuff with Ansible: it’s fun and doesn’t require agents on target hosts.

Ansible connects to target hosts via ssh, so I tried to use port-forwarding settings in ansible.cfg.

It’s a pity ansible uses those settings for both ssh, sftp and scp!

I had to patch

ansible/runner/connection_plugins/ssh.py

so that it skips ssh_args starting with (“-L”, “-R”).

Now it works like a charm

Share

gennaio 09 2016 | Linux | No Comments » | 426 views

Audit on the fly

Fedora audit log can be useful for tracing abnormal ends of programs.

# find abnormal ends (eg. segfaults)
ausearch --message ANOM_ABEND

# find entries related to a given user
ausearch -ua 500 -i

Further info

here

Share

ottobre 15 2015 | Linux | No Comments » | 336 views

EuroPython 2015: Bilbao Meravigliao

Per il 4o anno sono ad Europython! Lasciata Berlino, siamo ora nella magnifica cornice di Bilbao. Più di mille programmatori, sistemisti, devops e appassionati si sono riversati al check-in! [foto].
EP15

Bilbao è molto bella, divisa – tra parte contemporanea, del ‘900 e antica. La location è fantastica, e grazie al Google Social Event, io e il buon Nicola – che ha coraggiosamente deciso di investire nella conferenza – abbiamo potuto anche sperimentare la terrazza all’ultimo piano!

EP15

Il mio talk è iniziato subito dopo il keynote, e nonostante la community python sia più vicina a mongodb e postgres, è stato bello vedere le persone fotografare lo schermo con le slide e chiedere informazioni alla fine. Pochissimi sapevano poi dell’esistenza di driver pure-python per MySQL!

La discussione innescata da Cloud Wars – un bel confronto tra i container provider (Atomic, CoreOS, …) dove ovviamente vince Atomic 😛 – è stata bella: più di un’ora a parlare dei problemi legati alla containerizzazione dei db insieme a sviluppatori di Openstack e vari cloud provider.

Qui ogni momento è geek, e anche se non ci siete potete seguire la diretta su twitter e/o farmi domande sui talk e le slide che trovate sul programma!

Altri talk interessanti:
Misurare i goal dello sviluppo
Garbage collection
Plotting big data

Share

agosto 21 2015 | Politica | No Comments » | 641 views

EuroPython 2015: insoliti incontri.

La diretta da EP continua, con insoliti incontri:

Guido van Rossum, creatore di Python e BDFL, ha rilasciato alcune importanti dichiarazioni: preferisce di gran lunga Dracula a Frankenstain, e preserverà la compatibilità tra python 3 e python 4.
With Guido van Rossum

Armin Rigo sta lavorando ad una nuova versione di pypy che migliora il multi-threading usando una logica Software Transactional Memory: l’accesso concorrente alla memoria viene gestito con un transaction log (eg. come fosse un db) anziché utilizzare dei lock.

Anche le pause caffè sono proficue: uno dei promotori del Barcelona Dojo – che lo scorso anno aveva seguito il mio training – mi ha aiutato a configurare una piattaforma per l’analisi dei log basata su Logstash (parser) -> Elasticsearch (database) -> Kibana (app di visualizzazione).

Non sono mancati poi i training: ho seguito quelli su MongoDB + Flask Web Framework e sulla Data Visualization.

Il talk più interessante e didattico invece, è stato quello sull’implementazione di sistema di configuration management geo-distribuibile basato su Consul.

E la conferenza continua: oggi è l’ultimo giorno di talk, domani e dopodomani ci saranno gli sprint – sessioni di hacking promosse dai maintainer dei vari software.

Share

agosto 21 2015 | Politica | No Comments » | 616 views

Next »

Sinistra Giovanile Latina