The Cattle Grid

Splashes of digital ink by Michele Beltrame

Me on facebook Me on GitHub Me on Twitter

All blog posts

Most blog posts (all the tech stuff) are in English, but there's also the occasional Italian language writing.

Printing banners on continuous paper (dot matrix printer) from modern Linux

I’ve always loved dot matrix printers. Today it’s possible to easily use them on Linux, even if they are very old. Recently I became interested in printing multi-page banners, a popular task back in the days: I do that nowadays with an Amiga, but using a modern Linux gives access to more fonts and to all the clip-art you can get on the Internet.

Read article »

Two-factor authentication (2FA) in Perl with TOTP algorithm (Microsoft or Google Authenticator or others)

Two-factor authentication is now essential for a lot of web sites, as it ensures that - even if someone gets your access credentials - he/she cannot login, because a token from your mobile phone is required. Therefor, the hacker should also have access to your phone and to the code to unlock it, which is highly unlikely.

Read article »

Cleaner code with perl 5.36 and defer

Version 5.36 of perl was recently released. Amid the new features it contains, there is a very interesting, and maybe lesser-know one: the new defer keyword.

Read article »

Properly transferring away mail from Gmail via IMAP

I wanted to name this article How to finally do away with Gmail, but such a title wouldn’t have revealed the technical content of the writing, which represents its most relevant part.

Read article »

Quick and dirty Apache and mySQL "watchdog"

Continuing the “quick&dirty” series, here’s a solution I implemented on a server where sometimes (once a week or so) mySQL just dies.

Read article »

Quick and dirty Apache log analysis

One hosting service I have contains several domains. In order to understand which of these web sites was the most trafficked, I needed to analyze the logs a bit. There are sever Apache log analysis solutions out there, but frankly I just needed some basic information, and didn’t want a software bloated with a lot of feature 99% of which I didn’t need.

Read article »

Restoring and updating an Amiga 1200

I had been an Amiga user for a long time between the end of the 80s and the beginning on the 90s: these computers were ahead of their time, and I loved them. I owned an Amiga 500 (then sold) and an Amiga 2000 (which I’m trying to repair), both featuring kickstart 1.2.

Read article »

Reconstructing photo albums from a Flickr data export

As every Flickr user knows, a year ago or so the service became subscription-based. Initially I decided to stay with them as it was an handy service, but then I found myself not using it that much. Moreover, they recently increased the monthly fee, so I opted to download the photos and store them locally.

Read article »

Dealing with dates and times in software and databases

This post aims at pointing out some of the difficulties that arise when writing software and dealing with dates and times, and with storing them in databases.

Read article »

The Undergarden, a text adventure in Rust: 2 - Objects

In this second blog post I’m showing how I implemented objects - things the player can interact with - for a text adventure written in Rust. As usual, the full code is available on GitHub.

Read article »

The Undergarden, a text adventure in Rust: 1 - Sections

I’m attempting to write a (very simple, at least initially) text adventure in Rust, so I’m going to share progress on my blog starting today. This first post is about the sections, that to day is the rooms of a house for example.

Read article »

A Rust crate for EU VAT ID validation

I just published a Rust crate for European Union VAT IDs validation. It performs a syntactic validation of a VAT ID, without querying the VIES database: this is what most developers need, actually, because sometimes you can’t find a VAT ID (especially if it was just assigned) in the VIES database.

Read article »

My first Rust crate: tools for Italian codice fiscale

So here’s my first Rust crate: codice_fiscale. It’s a first attempt to release crates aimed at solving tasks which are very common especially in web programming: validation of credit card numbers, shipping rates lookups, and loads of other things. Some of these tasks already have Rust crates dedicated to them, other’s still don’t.

Read article »

Why web agencies should teach Markdown to their customers

Most of the software development I do is web-related, as I am co-owner of a web agency along with other folks who do graphics, marketing, and a ton of other different things.

Read article »

5-column layout with Bootstrap 4

Bootstrap is an awesome toolkit when it comes to build responsive web pages that work across different browsers with little effort. Its grid system is very well crafted, but it doesn’t allow to have a number of same-width columns per row which is not a divisor of 12.

Read article »

Valle della Loira 2014

Ed eccoci… con qualche anno di ritardo arriva anche il diario della Valle della Loira, con aggiunta di qualche giorno trascorso alla Duna di Pyla.

Read article »

URL shortener with Mojolicious

After getting a request of a customer for short URLs (pointing to way longer URLs of their web application) to print on small labels and embed in QR codes, I thought about using an URL shortening service. Then, I realized that in 2 decades of programming I never wrote an URL shortener myself! It didn’t seem a difficult task - especially since I just needed a handful of features - so I decided to go for it.

Read article »

Graphemes, code points, characters and bytes

The origins of Unicode date back to 1987, but it wasn’t until the late ’90s that it became well known, and general adoption really picked on after year 2000. General adoption was possible mainly thanks to UTF-8, the encoding (dating back to 1993, by the way) which provided full compatibility with US-ASCII character set. Anyway, this is an history that most of us know, and now it’s clear to the most that characters do not map to bytes anymore. Here’s a small Perl 5 example for this:

Read article »

Bretagna + Normandia + Guernsey 2012

Ed arriva anche il diario del 2012. Questa volta abbiamo scelto la costa della Francia sulla Manica: da Cognac fino a Dunkirk, con qualche digressione.

Read article »

Using nginx and uWSGI for a sane(r) deployment of a Catalyst application

If my customers read this, they won’t remain such for a long time. :-) But, then, it’s roughly the truth: my production servers tend to be an horrible mess and I sometimes wonder how they manage to actually work without too many issues. Or, at least, that used to be the truth.

Read article »

Setting up nginx with a SSL certificate from scratch

This short HOWTO explains how to set up the excellent nginx to work with a SSL certificate released from a CA. The whole process is fairly easy, but not completely straightforward.

Read article »

On Catalyst, Perl and trustability of web applications

p>In this article I'm going to explain some of the problems I face when upgrading libraries, language interpreters and other pieces of software which power the web applications I use in production. I'll then be showing how Perl, Catalyst, DBIx::Class and many of the other CPAN modules I use cleverly solve most of these issues.
Read article »

Another great YAPC::Europe (2012, Frankfurt am Main)

YAPC::Europe 2012 has been a fine conference and great fun as well. Here follow some casual comments from the perspective both of an attendee and of an YAPC (Pisa 2010) organizer.

Read article »

Danimarca 2011

Ed ecco qui il diario del mio viaggio in Danimarca in auto... oltre 5000 Km con la mia fedele Golf (e con Sabry ovviamente)!

Read article »

Un perlista al Django Day (Brescia, 21 Aprile 2012)

In uno slancio del tutto estemporaneo di apostasia, il 21 Aprile sono andato al Django Day 2012. In realtà, pur programmando in Perl ed utilizzando framework come Catalyst e Mojolicious, sono sempre stato curioso nei confronti di Django, che ho esplorato poco ma che mi è parso un progetto interessante.

Read article »

Converting HTML to PDF with a JSON web service (Mojolicious + wkhtmltopdf)

I coded a simple JSON web service, which converts any HTML input to PDF (using the excellent wkthmltopdf software). You can supply HTML code or an URI where to get it.

Read article »

Open Source Day 2011 - resoconto

Beh… eccomi qua con qualche riga sull’Open Source Day 2011. Nel globale, gran manifestazione - con 3 tracce contemporanee ed una partecipazione direi abbondante di persone. Purtroppo ho seguito poco del convegno, poiché gestivo il tavolo dell’associazione Perl.It. Ho però dato un’occhiata qua e la e non sembravano mancare talk interessanti. Molto appropriata l’idea degli speed talk: uno spazio in corridoio dove chiunque poteva cimentarsi parlando in breve di qualcosa - ideale per chi vuol fare un intervento breve oppure non è abituato a parlare di fronte ad una platea e magari vuole iniziare in maniera più “morbida”.

Read article »

Presentazion - a DWIM slides HTML/JS software, with PDF export

ZIP/Tarballs: download Github: project page

Read article »

Belgio + Olanda 2010

Ecco il diario del viaggio mio e di Sabry dell'estate 2010. Come al solito, è un misto di informazioni e nostre esperienze ed impressioni, spero a qualcuno sia utile. E, come ogni anno, perdonate gli errori di digitazione. ;-)

Read article »

Moduli Perl dati per scontati: Path::Class

Molti moduli Perl sono, almeno da me, dati per scontati, nel senso che si utilizzano così di frequente che ormai sono come parte del linguaggio stesso. In realtà si tratta di interessanti progetti per semplificare le attività di ogni giorno, per i quali è opportuno scrivere qualche riga non solamente “celebrativa”, ma utile a chi non li conoscesse.

Read article »

Hawaii 2009

Beh... questa volta siamo andati davvero lontano, e ci siamo anche fermati quasi un mese.

Read article »

Perl: programmazione postmoderna e filosofia open source

Il 28 Novembre ho tenuto un intervento all’Open Source Day dal titolo Perl: programmazione postmoderna e filosofia open source. Ho cercato di mostrare un po’ di ciò che contribuisce alla definizione Modern Perl, spaziando da Moose ad autobox, da Sub::Curried a Language::Functional, dedicando ovviamente il gusto spazio a CPAN e alla community.

Read article »

ack: un grep (molto) migliorato

È da un po’ di tempo che mi riprometto di scrivere qualche riga in italiano a proposito di ack. Benché sia disponibile in molte distribuzioni Linux, questo software non è ancora così largamente conosciuto dagli utenti.

Read article »

Italian Perl Workshop 2009: resoconto di un organizzatore

A recensire il workshop dovrebbero essere i partecipanti e non gli organizzatori, pertanto mi asterrò quasi da ogni giudizio e scriverò quanto segue più come un diario personale dei giorni dell’Italian Perl Workshop 2009.

Read article »

ASCII transliteration of Unicode strings

It’s sometimes useful, or even necessary, to represent strings containing accented or other letters, which are outside of the US-ASCII set, as pure ASCII. That is, for instance:

Read article »

Sparse thoughts on YAPC::EU 2009, Lisbon

This was the year of the comeback to YAPC::EU for me, after the only one I attended to in 2000 (or, better, in 19100) in London. Since I’ll be one of the organizers of next year conference in Pisa, I thought I should really go and take a look (joking, I was going to be there anyhow).

Read article »

London Perl Workshop 2008 - a review

I attended London Perl Workshop for the first time this year: London is quite easy and inexpensive to reach from the Venice, Italy area where I live, so it made a lot of sense to me to go there for a few reasons: the list of talks was impressive; I wanted to give a lightning talk about the Italian Perl Community; I was keen to to know if they were doing better than we did at the Italian Perl Workshop. :-)

Read article »

And out come the wolves!

The set up of Gin Tonics, our brit-rock cover band (but we might begin making music of our own soon), took several months because it seemed we were never able to find all the band members, and when we found them other problems delayed our playing sessions so we were never able to have a decent number of songs to play.

Read article »

Scozia 2007

Ecco il diario, un misto di informazioni, avventure ed impressioni personali, del mio viaggio in Scozia dell’Agosto-Settembre 2007. Quest’anno niente foto immerse nel testo, tuttavia ne ho pubblicate 70+ su Flickr:

Read article »

Sane tips for the independent coder

Information age society tends to grab most of, if not all, the time you have available, and often still asks for more. Since time is your most important resource, you need to manage it aptly, and - surprise - if you are an independent (that is, you work on your own) coder, you can do that.

Read article »

RintronAction

Anche quest’anno ho partecipato ad InnovAction a Udine, sistemandomi nel padiglione InnovAction YOUng al fine di raccogliere curricula ed altri contatti. Il raccolto è andato discretamente, e sono stati 4 giorni strepitosi, soprattutto grazie alle persone che ho incontrato lì: le squisite Silvia (alla quale si deve il nome RintronAction) e Serena di Europe Direct, le loro colleghe Eleonora e Luisa, Daniele e Alessandra, il mitico barman Omar, Rubina, l’infaticabile Enrico, Monica, … insomma grazie a tutti per questi bei giorni!!!

Read article »

Francia del Sud + Andorra + San Sebastián, Agosto/Settembre 2006

Indeciso su dove girovagare quest'anno, ho trovato in giro per casa la guida della Francia del Sud . Dopo un'occhiata veloce, io e Sabry abbiamo deciso che i luoghi descritti avrebbero potuto essere, con qualche aggiunta, una destinazione interessante per un viaggio "on-the-road"...

Read article »

English language plurals with Perl

You can probably figure out easily how to make a plural of a word in the English language, and when to put a or an as the indefinite article. However, it’s not that easy when you need to do that dinamically on words provided by an user or coming from some other source. Also, you have no elegant way to automatically print something like this:

Read article »

Write no more SQL, abstract it!

I don’t even know how many SQL statements I wrote in my programming life so far. Embedding the SQL into your code, whatever language you use, makes it less readable, uglier and - especially if the complex queries - particularly inelegant. Even when coding in a MVC fashion (which is highly recommended in some cases, like web applications) you end up to just moving the ugly code to the model part of your program, while removing it entirely would probably be the best choice. The problem is that you actually need to query the database somehow, so you can’t remove the SQL code; however, you can put something else in place of SQL statements. Let’s see what, from the point of view of a Perl programmer of course. ;-)

Read article »

Image::VisualConfirmation hits CPAN

After 3 years of silence I’m contributing again to CPAN. At that time I sent Net::C6Term, useful to write Perl programs that connect to the pioneering C6 Italian instant messaging service and social network. However, C6 no longer exists.

Read article »

Threading in Perl

Questo articolo spiega i concetti principali della programmazione basata sui thread in Perl. Con le recenti versioni dell’interprete essi sono diventati infatti un’eccellete alternativa al forking.

Read article »

Simple but powerful image filtering in Perl

CPAN has some very interesting Perl module which allow to manipulate images, that is: convert between various graphic formats, resize, rotate, regulate contrast, colors, add primitives, watermarks, and all the such. Imager is one of them, and it’s quite interesting as it’s stable, easy to use, powerful, and well enough documented.

Read article »

London calling again

Well guys, I managed to go to London even this year, this time together with my friend no more Claudio. We explored some outstanding nightlife in gothic and metal places.

Read article »

Grecia 2005 in Golf

Quest'anno, incredibile a dirsi, ho rinunciato al viaggio in nord Europa per fare un tentativo... più a sud. In realtà l'idea non è del tutto mia in quanto Sabrina, la mia bella, voleva a tutti i costi visitare la terra degli dei. Inizialmente ero dubbioso su quanto in effetti potesse essere interessante il viaggio, ma mi sono completamente ricreduto e sono stato contento di vedere come molti dei preconcetti su Grecia e greci siano falsi (però è vero che guidano in maniera ultraspericolata).

Read article »

MSDOS + Telemate + TurboPascal: si lavorava meglio?

Qualche ora fa mi stavo concedendo un giro sulla giostra della memoria (a soli 27 anni, mmmm, c’è di che preoccuparsi) e ripensavo a quando ero al liceo e - allora come ora - programmavo.

Read article »

Girls on the Boardwalk last gig

Ed ecco le foto dell’ultimo (sia perché è il più recente sia perché non ce ne saranno altri) concerto delle Girls on the boardwalk. Il glorioso evento si è consumato domenica 24 luglio, verso le 19.

Read article »

CacaPassa (Bum) Festival 2005

Ueh!!! Purtroppo il concerto di Budoia di sabato della Girls on the boardwalk è saltato all’ultimo momento a causa di un temporale. Ci siamo “rifatti” suonando alle 3.15 (!) la stessa notte al CacaPassa Festival sul greto del Meduna, in prossimità di Cavasso.

Read article »

Case pictures

Pubblico alcune foto del mio AMD64.

Read article »

In giro per gli stadi di Londra

Ehilà! Durante il mio ultimo breve soggiorno in UK ho scritto una piccola guida per visitare Londra seguendo un tracciato immaginario che collega alcuni stadi. L’articolo è disponibile su Inter-Rail.It, ma potete anche leggerlo direttamente qui…

Read article »

Slide del Linux Day 2004 di Pordenone

Il Linux Day del 27 Novembre a Pordenone è andato abbastanza bene. Per chi fosse interessato, qui sono disponibili le slide dei miei due interventi.

Read article »

UTF-8 per tutti, lasciatevi travolgere!

È ormai un bel po’ di tempo che, per tutto il web (e non solo) programming che faccio, ho deciso di abbandonare ISO-8859-1, ISO-8859-15, US-ASCII e tutti gli altri set di caratteri monobyte in favore di UTF-8, la fantastica implementazione di Unicode che permette di accedere a tutti i caratteri Unicode utilizzando un solo charset. Questa improvvisa mossa mi è costata alcune rappresaglie da parte dei miei collaboratori, che UTF-8 ancora non lo utilizzano.

Read article »

Islanda per squattrinati

Oltre al diario, quest’anno imperverso anche con la guida. Su Inter-Rail.It potete trovare il mio articolo Islanda per squattrinati che, come indica il suo saggio nome, cerca di spiegare come sia possibile visitare l’Islanda senza rovinarsi

Read article »

Irlanda+Inghilterra, Settembre/Ottobre 2003

Eccomi come di consueto a raccontarvi del mio viaggio estivo… ehm, forse dovrei dire autunnale quest’anno. In realtà il programma originale prevedeva un giro solitario di 30 giorni in Nuova Zelanda in novembre, ma poi degli impegni lavorativi per quel periodo mi hanno costretto a cancellarlo. Senza pretendere di salvare anche la capra, ho messo al sicuro i cavoli programmando un’uscita più breve, di 15 giorni, in Irlanda. In realtà alcuni (troppi) di questi 15 giorni, li ho trascorsi in Inghilterra. Ecco ciò che ho scritto quando ne avevo voglia. Per informazioni, domande, o altro, il mio indirizzo è mb ar italpro.net.

Read article »

Norvegia+Finlandia, Giugno/Luglio 2002

Quest’anno ho provato l’Inter Rail con un amico, e come al solito ve ne propongo il diario. Come l’anno scorso, non è riportato tutto quello che ho fatto e nemmeno tutto quello che uno dovrebbe sapere, solo cio’ che avevo voglia di scrivere nei ritagli di tempo. Mi auguro queste informazioni risultino utili a qualcuno e che il diario rappresenti nel suo complesso una lettura divertente. Non badate ovviamente ai tempi verbali a volte scorretti, neanche quest’anno avevo voglia di correggere il testo. ;-) Se volete chiedermi qualcosa sulla Norvegia e sulla Finlandia, o semplicemente scrivermi, il mio indirizzo e’ mb at italpro.net.

Read article »

Scozia, Luglio 2001

In questo diario sono raccolti alcuni dati, esperienze personali ed informazioni utili al viaggiatore, sul mio solitario (si fa per dire…) viaggio in Scozia di Luglio 2001. Non c’e’ scritto tutto quello che ho fatto e nemmeno tutto quello che uno dovrebbe sapere, solo cio’ che avevo voglia di scrivere nei ritagli di tempo. Mi auguro queste informazioni risultino utili a qualcuno e che il diario rappresenti nel suo complesso una lettura divertente. Ah, non badate ai tempi verbali a volte scorretti, non avevo molta voglia di correggere il testo. ;-) Se volete chiedermi qualcosa sulla Scozia o semplicemente scrivermi, il mio indirizzo e’ mb at italpro.net.

Read article »

Slide del Perl Day 2003 a Udine

Sono disponibili le slide del mio intervento sul Perl al Linux Day 2003 di Udine, il 29 Novembre 2003. L’abstract è:

Read article »

Wi-Fi with dish and cantenna

The photos shown here document our installation, made between October and November 2003, of a WiFi network between two houses about 300 meters apart, with some trees in the middle. We managed to reach, with two D-Link DWL-2000AP access points, an average speed of 17 Mbps, which is probably the maximum achievable with those models in such situation. Without the giant dish, that is to say only by using two cantennas, we reached 15 Mbps speed.

Read article »