Chi sono

Mi chiamo Matteo Contri e mi definirei un sistemista/programmatore.
Mi occupo di informatica fin da quando ho memoria: prima alle prese con i comandi DOS. poi con le finestre di Windows ed infine sono approdato alla linea di comando di Linux.
In questo percorso mi ha sempre accompagnato la programmazione: BASIC è stato sostituito da Delphi che a sua volta ha ceduto il passo a PHP(e qualcos'altro).

rovescia

Competenze

  • Tutte
  • Nessuna
  • Database
  • Distribuzioni
  • Editor
  • Framework
  • Linguaggi
  • Mailserver
  • Monitoring
  • Networking
  • Virtualizzazione
  • Web
  • Webserver
alpine

Alpine Linux

Tutto quello che volevo creare con Gentoo è stato condensato in questa minimale distribuzione. Semplice. Sicura. Adorabile
apache

Apache

Malgrado il nome che porta ho sempre trovato macchinosa la sua configurazione, poco leggibili i suoi file XML di configurazione e un assoluto non-sense i tanto blasonati .htaccess
bash

Bash

La shell di riferimento per antonomasia rende la possibilità di scrivere relativamente facili programmi di scripting. Un must-have nell'arsenale di ogni sistemista
bogofilter

Bogofilter

Bogofilter è un progetto semplice, ma assolutamente efficace e funzionale. Al momento lo sviluppo stagna
bootstrap

Bootstrap

All'inizio vi era il chaos. Poi arrivò Twitter, e creò praticamente uno standard
c

C

C è il linguaggio dei linguaggi. C è tutto ciò che è intorno a noi. C ha creato l'universo digitale come lo conosciamo... C è C. E la C sta per complicato e compilato
cplusplus

C++

Non che con C non si potessero fare gli oggetti, ma un po' di comodità a queste povere anime dannate!
crm114

CRM114

CRM114 è un filtro bayesiano che implementa tutte le combinazioni di algoritmi conosciute dall'uomo. Impara, lo fa bene ed in fretta. Anche qui i progressi sono fermi a qualche anno fa. Menzione d'onore al sistema di scripting per creare regole personalizzate
css

CSS

Con i Cascading Style Sheets ormai si può fare quasi tutto. Dalle animazioni alla grafica SVG. Il degno compagno di HTML
centos

CentOS

Un clone piuttosto fedele di RedHat. Per chi ha budget limitati ma non si fida delle alternative
consul

Consul

I concetti sono i medesimi di etcd: un database distribuito di chiavi-valori, ma l'implementazione sfruttando il protocollo gossip lo rende più robusto e scalabile dei concorrenti
d

D

Il nome fa capire quanta ambizione ci sia dietro al progetto. E bisogna ammetterlo D è davvero potente, purtroppo non vedo un vero significativo miglioramento rispetto al suo predecessore alfabetico
dspam

DSpam

Un filtro bayesiano avanzato in grado di catalogare un flusso di dati in pochi secondi. Purtroppo l'autore principale si è ritirato dallo sviluppo e la comunità sta faticosamente proseguendo il lavoro. Peccato
debian

Debian Linux

O si ama o si odia. Apprezzo la sua stabilità e il suo ruolo, ma ricado nella seconda categoria
delphi

Delphi

La naturale evoluzione di Pascal ad oggetti dal futuro quantomai incerto. Se è piaciuto Pascal, le stesse sensazioni si avranno con Delphi. Ormai è un po' che non stringiamo amicizia ma sinceramente non ne sento la mancanza
docker

Docker

Il re dei container: ha creato intorno al suo nome un enorme ecosistema fatto di immagini, tutorial e comunità di entusiasti. La sua architettura monolitica ha creato un po' di problemi in alcuni momenti di sviluppo
dovecot

Dovecot

Sicuro, veloce e affidabile. Una solida garanzia per IMAP e POP3!
exim

Exim

Configurabile sotto ogni punto di vista. Un grande software di gestione della posta con radici antiche
fedora

Fedora

Migliora ad ogni release. Ormai per quello che mi riguarda è sinonimo di workstation e produttività
funtoo

Funtoo Linux

Distribuzione derivata da Gentoo con degli interessanti spunti. Purtroppo non risolve le problematiche endemiche del suo genitore
gentoo

Gentoo Linux

Distribuzione basata su sorgenti e completamente configurabile. Alle volte i tempi di compilazione sono snervanti, e mantenere una toolchain di compilazione non è il traguardo della sicurezza. Non è per cuori deboli
go

Go

Google ha reso C++ semplice e maneggevole. Molte librerie e il sicuro appoggio di Google lo rendono un prodotto idoneo alla sfida di eliminare C/C++ dalla scena
html

HTML

HTML5 è fico. E' semplice, espressivo, aperto e perdona qualche errore. Lunga vita all'HyperText Markup Language!
netfilter

IPTables/NetFilter

Fin dalla notte dei tempi è stato il firewall di Linux: prima ipchains, poi iptables, con le sue versioni ip6tables per IPv6 ed infine l'ultimo arrivato, nftables. Un altro must-have per configurare un sistema Linux
iis

Internet Information Services

Ogni minuto speso su IIS è un minuto perso
json

JSON

JavaScript Object Notation è facile da leggere, abbastanza da parsare e richiede poca elaborazione. Facile intuire il successo che ha avuto
java

Java

Linguaggio decisamente logorroico e farragginoso. Oracle ha dimostrato tutto il suo disammoramento, e la comunità farà bene a farsi avanti. Rimane pur sempre utilizzatissimo soprattutto nel settore enterprise
javascript

JavaScript

Volenti o nolenti tutti devono avere a che fare con JavaScript. E' ovunque ma la sintassi discutibile e la variabilità di implentazione lo rendono imprevedibile. Meglio con ECMA6 ma molto migliorabile
kvm

KVM

La sua ingegnerizzazione a piccole dosi nel kernel ne ha consentito uno sviluppo rapido e consolidato; inoltre l'adozione di QEMU per la parte userspace ha permesso una diffusione capillare. Collaudato e veloce
lxc

LXC

Il vero capostipite della containerizzazione. Non so quanto sia diffuso il suo utilizzo senza altri strumenti tipo Docker o Rkt, ma se questi software esistono lo dobbiamo a lui
laravel

Laravel Framework

L'unico vero antagonista di Symfony. Documentazione davvero di ottimo livello, facile da usare, purtroppo l'utilizzo di Eloquent al posto di Doctrine gli fa perdere quel tanto che da preferire altro
lighttpd

Lighttpd

Avevo grandi aspettative su questo piccolo gioello. Purtroppo lo sviluppo pare stagnante ed i concetti interessanti assorbiti dai colossi concorrenti
mariadb

MariaDB

Le stesse caratteristiche che hanno reso grande MySQL, con il miglioramento delle performance e una licenza opensource chiara rendono MariaDB il mio database semi-relazionale preferito
mongo

MongoDB

Uno dei primi database NoSQL, con alti e bassi è rimasto un faro nel mondo contrapposto alla struttura SQL. Potente e flessibile
mysql

MySQL

Un grande database con una storia pluriennale messo in ombra dalle luci poco chiare di Oracle. Peccato
nmap

NMap

Dalla rapida conta degli host presenti in una rete alla scansione di Internet, NMap è uno strumento all'apparenza semplice ma dotato di funzionalità estremamente avanzate. Un altro must-have
nagios

Nagios

Ho abusato di Nagios in ogni modo, forzando escalation, aumentando ad un secondo il polling, creando complicate liste di contatto: non si è mai tirato indietro. Stabile come una roccia
neovim

NeoVim

Vi con dei default accettabili e tante belle idee per il futuro. Tenete duro e sarete il mio prossimo editor preferito!
nginx

Nginx

Il webserver per eccellenza: velocità, stabilità, funzionalità e sicurezza
nim

Nim

Un linguaggio di scripting compilato. Suona assurdo? Provare Nim per ricredersi. Una frescata di novità e semplicità, peccato per la mancanza del terminatore di comando e l'indentazione forzosa alla Python
opensuse

OpenSuse

Non aggiunge molto di nuovo ai rivali. Nota di merito per la rolling release pur essendo una distribuzione basata su binari
openvpn

OpenVPN

Software di primissimo ordine: ha contribuito enormemente all'abbandono di IPSec in favore delle più gestibili VPN SSL. Ove possibile è sempre la mia scelta in termini di sicurezza e flessibilità
openvswitch

OpenvSwitch

OpenvSwitch può letteralmente fare tutto quello che uno switch (anche davvero costoso) può fare. Forse anche qualcosa più
php

PHP

Non è il più veloce, non è il più facile, non è il più completo e non è nemmeno il più coerente. Eppure PHP fa così bene tutte queste cose da rimanere il mio preferito. Notevole il salto di performance dalla versione 7
perl

Perl

Vittima della maledizione delle versioni 6, Perl eccelle su regex e script di medie dimensioni. La sua sintassi estremamente flessibile permette fin troppe combinazioni lasciando anche troppa libertà al programmatore
postgres

PostgreSQL

Il suo approccio estremamente formale, con infinite personalizzazioni dalla gestione utenti alla creazione degli schemi lo rendono un prodotto valido ma elefantesco. Mascotte davvero azzeccata
prometheus

Prometheus

Alcuni ex-Googlers hanno deciso di stravolgere il modo di fare monitoring, e ci sono riusciti! Anzichè pensare di gestire un evento con un suo stato, immaginiamo di gestire un flusso di dati ed imporre delle soglie con un flessibile meta-linguaggio. Rivoluzionario
python

Python

Come tutti i linguaggi senza il terminatore di comando non incontra la mia simpatia. Potente e supportato. Contro: avere due major release attive e parallele sta creando non pochi inconvenienti
qemu

QEMU

Ho conosciuto QEMU tanto tempo fa come vero emulatore di piattaforme; nel tempo è diventato qualcosaltro: il compagno ottimizzato di KVM e sotto questo riflettore è davvero veloce ed interessante
redhat

RedHat

E' stata la mia prima vera distribuzione prima che diventasse completamente commerciale. Ormai detta legge
redis

Redis

Database in memoria con modello chiave-valore. Velocità imbattibile. Serve altro da aggiungere per innamorarsene?
rkt

Rkt

Prendere Docker, renderlo snello ed efficiente e ribattezzarlo con un nome un po' bislacco: ecco Rocket! Se non avete ancora un'infrastruttura a container è sicuramente da valutare
ruby

Ruby

Per essere elegante è un linguaggio abbastanza elegante... Per essere semplice è un linguaggio abbastanza semplice, ma è lento. E la velocità è il primo parametro preso in considerazione in ambito enterprise
rust

Rust

Memory-safe senza garbage collector? Suona eccitante soltanto a dirlo, ma Rust è molto di più e gli sforzi profusi da Mozilla dietro questo progetto sono notevoli. Riusciranno a renderlo un linguaggio un po' più facile da usare?
sass

SCSS/Sass

Quando mi trovai a scegliere tra Sass/SCSS e Less non ebbi dubbi. Il tempo mi ha dato ragione e questo sistema elegante per agevolare la scrittura dei CSS ormai è diventato lo standard de facto
sqlite

SQLite

Agile, compatto ma comunque completo. Quando non ci sono grosse pretese è il mio database di riferimento
silex

Silex

Il primo prodotto a microkernel di casa SensioLabs. Come pronosticato non sopravviverà a Symfony4, che ne assorbe ed estende i concetti.
slackware

Slackware

Approccio ruvido e spartano. Per veri puristi hardcore, intramontabile e longeva distribuzione
strongswan

Strongswan

tra tutti i vari fork e cloni per gestire IPSec, Strongswan è quello che preferisco. E' proprio IPSec che non mi entusiasma...
sublime

Sublime Text

Veloce e rivoluzionario. Con una buona emulazione di vi. Peccato per i tempi di sviluppo, il supporto a PHP limitato e qualche altra magagnetta
symfony

Symfony Framework

Sono davvero poche le scelte che trovo discutibili su questo framework che ha rivoluzionato l'ecosistema di PHP. Potente e flessibile offre tutti gli strumenti di cui uno sviluppatore può aver bisogno. Novità entusiasmanti dalla versione 4
twig

Twig

Prodotto efficiente e collaudato, non è un vero linguaggio ma un template engine con una sua sintassi. Di chiara ispirazione a Django rende scrivere codice con il paradigma MVC un autentico piacere
ubuntu

Ubuntu

Alla costante ricerca di personalità, Ubuntu si trova spesso a dei bivi che puntualmente sbaglia (mir, upstart, bazaar, etc.) lasciando perplessi sulle decisioni. Versione server con caratteristiche interessanti
varnish

Varnish

Varnish non è un vero WebServer, ma un "acceleratore di applicazioni web". Tuttavia la necessità di avere un'applicazione congegnata per essere utilizzata con questo software e la complessità esponenziale delle sue regole, relega Varnish a prodotto di nicchia per pochi ambiti
vim

Vim

Vi è sempre vi, o si ama o si odia. Certo che occorre passare troppo tempo per configurarlo decentemente come editor avanzato
vscode

Visual Studio Code

Tutto quello che vorreste da un editor di testo avanzato. Unico neo il plugin di vi fa sentire la mancanza di vi...
wireshark

Wireshark

Per me sniffare ha sempre significato "ispezionare i pacchetti di rete" e quando qualcuno usa altre accezioni solitamente inclino la testa come una lucertola in segno interrogativo. Wireshark? Ah- sì, è il pusher del networking; cioè volevo dire: è il migliore.
wordpress

Wordpress

Odio pochi software quanto Wordpress. Il discorso è semplice: per gli sviluppatori è atroce, per gli utenti è troppo complicato. L'unica categoria a cui piace è quella dei webdesigner, e nemmeno a tutti
xml

XML

Extensible Markup Language ha avuto il suo momento di gloria con il periodo XML-RPC, dopodichè la sua difficoltà di lettura e la sua verbosità lo hanno un po' emarginato
xen

Xen

Nato da una tesi universitaria ha rivoluzionato il concetto di virtualizzazione di un tempo. Purtroppo l'eccessiva lentezza nell'escogitare un piano per l'inclusione nel kernel mainstream ne ha segnato il destino
yii

Yii Framework

Agli albori sembrava promettente, ma di fondo si percepiva un'idea confusionaria di base. Una volta appresi i fondamenti di Symfony mi sono ben guardato dal riusarlo. Al momento pare decotto
etcd

etcd

Un sistema distribuito chiave-valore permette di eseguire un monitoraggio distribuito di vari parametri. Non scala in maniera lineare e gli stessi autori consigliano di non superare il numero di 7 nodi
jquery

jQuery

Dopo qualche momento a lottare con la follia di JavaScript si finisce per abbracciare sempre un qualche strumento che semplifichi la vita: jQuery è uno di questi, forse il più conosciuto ed utilizzato
jqueryui

jQueryUI

Invece di aggiungere tonnellate di funzionalità alla libreria jQuery, gli sviluppatori hanno pensato bene di creare una libreria nuova con tanti effetti visivi e componenti aggiuntivi. Raramente ne ho tratto beneficio
dritta

Pinzillacchere

rovescia

Aneddoti tecnici

rifattorizzazione-software-php

rifattorizzazione software php

tempo di lettura: 16 minuti(continua)

sabotare la macchina del caffè

tempo di lettura: 7 minuti(continua)
sabotare-la-macchina-del-caffe
una-vita-senza-mouse

una vita senza mouse

tempo di lettura: 3 minuti(continua)