Passare a Vim grazie ad Emacs

Grazie Sciamp per avermi convinto a passare a Vim parlandomi di Emacs :) Lo so, sembra uno scherzo, eppure è proprio vero! Era da tanto che volevo cambiare editor passando da Textmate a qualcos’altro, ho intravisto Sublime Text 2, ma volevo qualcosa di open source. Da un po' di tempo Alessandro stava rompendo le scatole a tutti su quanto è figo Emacs :) e avevo iniziato a lavorarci un po', ma non sono mai riuscito ad entrarci in sintonia.

Read More »

Create a contact form for Jekyll

As I promised to a reader who wrote me an email some days ago, with this post I’ll explain how I built the contact form of this website using Sinatra and Sendgrid. As you know (or you’re just learning) this site is made by Jekyll, a static site generator written in Ruby. As the result of the work of Jekyll it is a static HTML website, so it’s not immediate to build a contact form.

Read More »

Rubyfatt 1.0 - software di fatturazione per partite IVA

Approfittando della pausa estiva sono riuscito a lavorare un po' su Rubyfatt, il software che mi sono scritto per la gestione della mia partita IVA. Senza dilungarmi troppo, dalla versione 1.0 il software è ormai maturo e può essere usato senza problemi (spero). Vi rimando alla pagina ufficiale all'indirizzo: http://rubyfatt.kreations.it in cu si trova la lista di tutte le caratteristiche e le istruzioni per installarlo. Ovviamente ogni aiuto è ben accetto, trovate tutto sulla pagina di Github del progetto

Read More »

Monitoraggio distribuito con Nagios/Icinga e NSCA

Sebbene Icinga/Nagios e NRPE siano un’ottima coppia per monitorare le macchine (sia via socket che internamente), a volte possono non bastare. Potrebbe infatti essere utile distribuire i check su più macchine, sia per un fattore di carico sia per aggirare eventuali firewall. Partendo quindi da una macchina con un server Icinga o Nagios funzionante, come descritto qui, mostrerò come configurare un secondo server remoto che comunica via NSCA il risultato dei check al server principale.

Read More »

Sostituire un disco in un raid software

Ho recentemente scoperto un’interessante opzione di sfdisk che risolve molti problemi quando si deve sostituire un disco di un raid software. Integro quindi l’articolo originale segnlando questa opzione, da usare nel caso in cui al comando: sfdisk -d /dev/sda | sfdisk /dev/sdb sfdisk si rifiuti di partizionare correttamente /dev/sdb a causa di problemi con i cilindri. Dato che Linux è molto meno schizzinoso del DOS, esiste un’opzione per ignorare problemi che con Linux, appunto, non sono tali:

Read More »

Bind Log Analyzer: Simple analysis and SQL storage for Bind logs

Bind Log Analyzer is my first gem :) It analyzes a Bind query log file and stores the logs into a database (using ActiveRecord). See the details and the source code on GitHub and get the gem on RubyGems. Or simply install it with: gem install bind_log_analyzer Starting from version 0.2.1 it includes a simple Sinatra webserver to show some reports and (soon) some cool graphs.

Read More »

Accesso SSH inverso

Può tornare utile accedere via SSH ad un pc/server non pubblico. Capita ad esempio quando un cliente disperato sta provando a mettere le mani sul server impallato e tu stai cercando di dettargli i comandi al telefono (generalmente con pessimi risultati). Quindi basta avere un server SSH a cui il cliente possa arrivare con un utente da utilizzare. Supponendo che il server da raggiungere sia ssh-server.test.com e l’utente test, basta che digiti il comando:

Read More »

IPv6 in pochi passi con ALIX e SixXS

Come ormai saprete (1 - 2) ho un debole per gli embedded ALIX di PcEngines. In questo caso userò una scheda 2d13 con RTC, indispensabile perché se il vostro orologio non è sincronizzato con quello del broker IPv4-IPv6 (±30 secondi) non avrete la connessione IPv6! Come da tradizione il sistema operativo è Debian Voyage, ma tutta la procedura può comunque essere applicata ad una qualsiasi macchina con installato un os Debian-based (a meno di qualche piccola modifica).

Read More »

Realizzare un sistema di monitoraggio con Icinga

In questa breve guida spiegherò come installare Icinga (un fork di Nagios che ha ormai superato il genitore) e Icinga Web su Ubuntu 10.04 server. Molti passi sono uguali a quelli che ho già descritto nelle due guide sull’installazione di Nagios (1 e 2). Operazioni preliminari Installare i pacchetti necessari: apt-get install apache2 bsd-mailx build-essential libgd2-xpm-dev libjpeg62 libjpeg62-dev libpng12-0 libpng12-0-dev snmp libsnmp-base git-core mysql-server mysql-client libdbi0 libdbi0-dev libdbd-mysql Aggiungere utenti e gruppi: addgroup --system icinga adduser --system --no-create-home --home /usr/local/icinga --ingroup icinga --disabled-password icinga addgroup --system icinga-cmd usermod -a -G icinga-cmd icinga usermod -a -G icinga-cmd www-data Creare il database: #> mysql -u root -p mysql> CREATE DATABASE icinga; GRANT USAGE ON *.

Read More »

Sostituire un disco in un Raid 1 con mdadm

Lo devo fare da anni, finalmente prendo appunti per una cosa che mi capita di fare almeno un paio di volte l’anno e che, puntualmente, mi scordo come si fa :-) Il punto è questo: sostituire un disco in un array Raid 1 quando si rompe. Riporto gli appunti presi qualche anno fa sulla wiki del LILiK. La situazione di un raid 1 con un disco rotto è più o meno questa:

Read More »