Jul 19
18:26:00.726 ▶▶ Permalink
Perl exists not as an edifice, but as an act of love.
Aug 04
23:50:00.951 ▶▶ Permalink
It’s short, generic, hard to misspell or mispronounce, has many positive connotations, and wasn’t taken. [“Rose.”] No acronyms, no backronyms. As an aside, I considered naming my daughter, born many years after Rose::* modules hit CPAN, Rose just so I could have the following conversation. Person: “Aw, you named your modules after your daughter! How sweet!” Me: “Actually, I named my daughter after my Perl modules.” (Instant geek points++) Alas, my wife was not as enamored with the idea…
John Siracusa (slightly adapted)
Aug 29
16:15:00.635 ▶▶ Permalink

Attentato, fuckin' attentato!!

Come i più di voi sapranno, (e se non “i più” in senso numerico, certamente i più fighi!) il maggiore contributo dello zio bleiz alla blogosfera è stato quello di… romperla! Precisamente, a Capodanno ho inviato un post con qualche migliaio di link ad altri blog: le motivazioni precise dietro a tale gesto sono già state spiegate; ciò è stato necessario perché alcuni mi hanno mi hanno preso per un eroe; altri per un pezzo di merda; altri ancora per uno che faceva degli auguri sinceri. In breve ed in tutta onestà, sono tutto questo e niente di questo contemporaneamente: l’ho semplicemente fatto senza pensarci su molto, mentre mi preparavo per andare a una festa e la circostanza più sorprendente di tutte è che indipendentemente dall’opinione che si erano fatti di me, ‘sti tizi erano tutti convinti che io avessi fatto un lavoro certosin-segaiolo di inserimento manuale dei link, laddove in realtà è bastato uno scriptino in Perl imbastito in cinque minuti!

Morale: cotanta opera deve rimanere ad imperitura memoria, no?!? Certo che sì, invece vado a controllare un attimo, ché ancora adesso, in pieno agosto gente mi arriva su quel post provenendo chissà da dove e… ATTENTATO, FUCKIN’ ATTENTATO!! Il post c’è, ma è brasato, cancellato, demolito! Niente ascii art, niente linchi! Oddio: diciamola tutta… me ne sono accorto già qualche giorno fa, ma desta più scalpore se fingo di realizzarlo solo ora, vero?

Non è difficile recuperare il sorgente originale della pagina, visto che il “problema” all’epoca fu proprio che la gente lo copiò sui propri blog finché tutte le classifiche non vennero sconvolte e i bimbi si misero a piangere per il loro giocattolino rotto: basta qualche ricerca mirata. Tuttavia ho fatto qualche esperimento e sembra proprio che Tumblr non permetta più di ripristinarlo: forse è stato imposto un limite superiore sulla dimensione dei post. Certo che un messaggino d’errore sarebbe stato più user-friendly… e comunque non è bello che la nuova politica agisca anche retroattivamente, eh!

Alla fin della fiera ho ripristinato il post nella maniera più simile possibile all’originale utilizzando il seguente barbatrucco:

<p>Da far impallidire Catepol, e da far deflagrare i maroni a Livefast:</p>
<iframe src="http://blazar.perlmonk.org/auguri.html" width="100%"
height="530px" scrolling="no" style="border: none;"/>

Ovviamente l’affidabilità di questo “ripristino” dipende da quella della mia copia su perlmonk. Speremm…

Sep 02
1:24:54.017 ▶▶ Permalink
&#8220;I mean, ostensibly, yes. [lisp was the language from which the Gods wrought the Universe.] Honestly, we [Gods] hacked most of it together with perl.&#8221;

Non che ora mi metta a tumblare ogni vignetta dell&#8217;xkcd, anche perché sarebbero tutte da tumblare: questa, giusto per ricordarmi di tutto il Perl di cui avrei dovuto occuparmi (anche) oggi e che (anche) oggi ho troppo trascurato!

“I mean, ostensibly, yes. [lisp was the language from which the Gods wrought the Universe.] Honestly, we [Gods] hacked most of it together with perl.”


Non che ora mi metta a tumblare ogni vignetta dell’xkcd, anche perché sarebbero tutte da tumblare: questa, giusto per ricordarmi di tutto il Perl di cui avrei dovuto occuparmi (anche) oggi e che (anche) oggi ho troppo trascurato!

Sep 04
13:40:00.527 ▶▶ Permalink

Premonizioni & Procrastinazioni

Oggi, 3 settembre 2008, è l’anniversario del 3 settembre 2001: una data che ai più non dirà nulla, ed ai meno pure: per me fu l’inizio del servizio civile, ed anche se di norma quest’ultimo non è il genere di evento che la gente ricorda con espressioni gioiose o cotillon quali cappellini di carta a punta e lingue di Menelik, io ogni anno ci penso con un po’ di benevolenza e financo nostalgia. Se qualcuno propone il 31 agosto come Capodanno, io sono d’accordo con il periodo in generale, ma forse propenderei più precisamente proprio per questa data!!

In questo post, quindi, voglio parlare un po’ del mio servizio civile…

Detto per inciso, le lingue di Menelik sono quelle trombette srotolabili di carta da festa che fanno da complemento ai cappellini a punta, per cui invece di dire “lingue di Menelik” avrei potuto dire “trombette srotolabili di carta da festa che fanno da complemento ai cappellini a punta” solo che siccome che per qualche motivo che non ricordo assolutamente, conosco il loro vero nome, mi bullo dicendolo… E così istruisco pure i miei due o tre lettori!

La mia incredibile erudizione, comunque, non spiega come mai io ricordi con benevolenza e financo nostalgia l’inizio del mio servizio civile: intanto perché ero più giovane, anche se non sono uno di quelli che indulgono nei “momenti amarcord al punto di rendersi ridicoli o se lo sono, non me ne rendo conto… ed in tal caso gradirei che mi si lasciasse pascere nella mia beata ignoranza! Poi perché all’epoca stavo certamente meglio di adesso. Ma se è per questo potrei anche rimpiangere il giorno che un piccione mi cagò in testa, ed allora il 3 settembre perderebbe di ogni significato: invece mi è caro perché, anche se quel giorno io non lo sapevo ed anzi pensavo che fosse tutta una grande sbatta, nel complesso l’esperienza fu positiva, e ad ogni modo ha avuto un’eco tanto grande nella mia vita e ad esempio nelle mie amicizie che posso affermare senz’ombra di dubbio che l’ha influenzata in maniera determinante!

Suffice to say che ben un terzo delle relazioni sentimentali che io considero importanti nella mia vita deriva da lì… Per i più tardi: significa che ci ho una ex che ho conosciuto dove ho fatto il civile, neh! (E che ci ho tre “ex” che considero importanti…)

Ad ogni modo so che i più furbetti a questo punto mi faranno notare che oggi non è più il 3 settembre 2008 poiché è già passata la mezzanotte. Io potrei anche fare il superiore ed ignorarli, ma qualcuno più furbetto di altri mi farebbe notare che le 13:40 del giorno successivo sono ben più di quanto la maggior parte della gente accetterebbe come definizione di “già passata la mezzanotte” ed io, dopo avergli comunque fatto doverosamente notare che è un gran rompicoglioni, dovrei ammettere che ho un tantinello procrastinato la stesura di questo post.

In effetti, due sono le cose da dire: la prima è che nonostante tutto, cioè le mie condizioni di salute attuali e bla e bla bla, non solo non mi annoio, ma per fortuna riesco a tenere la mente impegnata tanto che ogni sera arrivo all’ora di sbrandare che sono sempre un po’ incazzato per tutte le cose che avrei voluto fare (leggere, imparare, rielaborare, scrivere) e che ogni mattina sento che “oggi è il giorno buono che ce la faccio” ed invece sono sempre più quelle che lascio indietro di quelle che riesco a sbrigare, con altre -nuove- che intanto si accumulano. La seconda… non me la ricordo!! Ché se la memoria a lungo termine pur non essendo eccezionale credo sia superiore alla media, quella a breve è completamente fottuta!

Fatto sta che stamattina ieri mattina, rinfrancato dal pensiero che è era il 3 settembre e ben disposto da tale pensiero, ho avuto la precisa premonizione che sarebbe stato “il giorno buono che ce la faccio:” a posteriori (che non è mai male!) guardando i post di ieri, si può notare quanto poco ci abbia preso!! Ed allora la seconda cosa da dire potrebbe essere proprio questa: che questo stesso articolo è mancato, e ieri notte all’ora di sbrandare, mi sono incazzato per non essere riuscito a scriverlo; diventa quindi molto autoreferenzialmente un meta-articolo sulla procrastinazione.

But it can get even worse than that: per fare un esempio, che i più non capiranno e i meno pure, sono attivo su un forum tecnico sul più bel linguaggio di programmazione del mondo. Però era da un po’ che o scrivevo solo risposte più o meno standard per niubbi o questioni per così dire amministrative, relative al sito stesso, ma niente di che; finalmente settimana scorsa ho trovato tempo e voglia per chiedere una cosa “seria” di programmazione che da un po’ mi frullava in testa e mi sono state fornite ben tre (famiglie di) risposte diverse. Poiché è un argomento a mio avviso alquanto interessante, è da allora che voglio prendere la discussione e farne da una parte un sunto e dall’altra espandere un po’ sul soggetto -in altre parole “rielaborarlo e sistematizzarlo”- mettendo tutto insieme in un articoletto per il mio use.perl journal (una specie di blog tecnico su un altro sito da nerd!) ed è da allora che ogni mattina mi vado ripetendo: “oggi ce la faccio!” Eppure, ogni giorno, arrivato a sera: niente, nada, nisba!

In un certo senso, scrivere l’articoletto di cui sopra è la cosa a cui tengo di più. Però c’è da ragionarci un po’ su, ci vuole impegno. Ed allora fra una cosa che in termini di impegno e fatica richiede 10 (in qualche unità di misura) e cinque che richiedono 1 (in qualche unità di misura) si finisce sempre per scegliere le seconde. Ehm… qualcuna delle seconde. Vabbe’, cazzo! Una…

Oggi sarà il giorno buono che ce la faccio? Boh, la mattinata ormai è andata… Se ce la faccio, poi il feed dello use.perl journal viene automaticamente importato qui. E poi di solito mi diverto a modificare l’articolo importato, per esempio traducendolo. L’ultima volta, l’ho fatto: era il post sul perlativo. Che peraltro mi ha fatto vincere una meritata menzione d’onore come mejo semio-segaiolo della storia di cui ancora vado orgoglione!

Morale: oggi sarà il giorno buono che ce la faccio?

Sapete una cosa? Alla fine mi sa che nel mio articolo sul 3 settembre e sul mio servizio civile, del 3 settembre e del mio servizio civile non vi dico proprio una ciunfa di minchia!

Sep 09
13:52:34.536 ▶▶ Permalink
I think people either take [Perl’s] sigils for granted or hate them prematurely. They are a wonderful tool for compartmentalizing variable types and names.
Sep 13
14:22:20.557 ▶▶ Permalink
As an author and copyright holder myself, I find it exceedingly rude to see my copyrights infringed as well, but the idea of issuing takedown notices to places such as PerlMonks for merely linking to infringing work, and that, often, unintentionally, is more unpalatable than the linguistic trick of equating copyright infringement to violent, extranational thievery.
Sep 16
20:40:00.819 ▶▶ Permalink

Uso blogghistico del blog, any?

Digheno che un blog è un diario! Digheno anche che un tumblelog non è un blog, che ci raccogli solo brevi note trovate in giro, ma io dico che il mio tumblelog è anche un blog, perché mi piace la piattaforma e tutto il resto; perché mi va bene così: punto! E allora qualcuno ha notato che la mia naturale regolarità si è un po’ arenata negli ultimi giorni… che sono stato un po’ meno prolifico di quanto non fossi abituato… Detto per inciso, qualcuno mi ringrazierebbe anche!

Beh, tutto vero, quindi spiego diaristicamente perché, e l’unica cosa che mi piglia un po’ male è che mi pare sia una cosa da blogger, spiegare perché si scrive meno (o niente!) sul proprio blog! Che dio me ne scampi!!

Il fatto, manco a dirlo, è che il tempo mi manca sempre! La circostanza sorprendente è che apparentemente non ho un cazzo da fare: ed è anche vero. Ma non riesco mai a trovare il tempo di farlo. (O forse, tecnicamente, dovrei scrivere di “non farlo?” Mah…) Tiempo cerca o’ tiempo e tiempo nun ce ne sta! (Cit.)

Per quanto possa essere sorprendente per chi conosce esattamente le mie condizioni di salute e le ripercussioni che hanno sulla mia vita privata, non solo non mi annoio, ma arrivo ad ogni sera un po’ incazzato per tutte le robe che avrei voluto fare e che ogni mattina ho la certezza che riuscirò a concludere (immaginandomi peraltro, come un imbecille, di sbrigare ciascuna in cinque minuti, eh!) e che invariabilmente, giorno dopo giorno, devo rimandare al “giorno dopo.” E non parlo solo di quelle che continuo a procrastinare, bensì di quelle che a tutti gli effetti vorrei fare subito e velocemente!

Mi alzo ogni mattina e mi dico: “leggo e rispondo alle mail, poi passo su PerlMonks, leggo gli articoli nuovi sul Reader, e nel frattempo tumblo tutto ciò che trovo di interessante, magari passando anche per la dashboard…” Mi pare addirittura di poter far tutto in mattinata. See, illuso! Una parte del problema è che checché ne dica il test, io sto troppo attento ai dettagli anche laddove potrei fregarmene ampiamente: terminata una mail, la rileggo. Quando scrivo qualcosa, ricontrollo due o tre volte cercando di eliminare tutti gli errori ortografici…

Stamattina ho solo risposto a mail, anche perché continua a verificarsi il fenomeno misterioso alla Cacioppo per cui da più di due mesi ne ho circa venti arretrate, e continuo a rispondere, ma sempre (circa) venti rimangono! Allora ho solo risposto alle mail, e mi sono autoimposto di non rileggere: mi pare già un buon inizio. A qualcuno cadrà il mito dello zio bleiz “che non fa mai errori” ma penso che posso sopravvivere! Anche perché tanto ne faccio comunque…

Morale: a parte i dettagli, bisogna operare qualche scelta. Stamattina sono state le mail. Nei giorni passati ho trascorso un po’ più tempo su PerlMonks che non negli ultimi tempi. Anche perché andare su un forum tecnico tanto per dire ai niubbi, ripetendosi sempre: “non usare la forma a due argomenti di open(), controlla il valore restituito, etc. etc.” non è granché gratificante. Sto ricominciando a scrivere del codice non del tutto banale… Il problema, ancora, è che ci vuole tempo: e qui io ai dettagli ci tengo proprio. Per esempio, la storia che “non tutti sanno” è che in quel codice c’era un bug, di cui mi sono accorto solo un attimo prima di postare. E sono stato il primo a dire che era uno script che lasciavo “in dono per loro” perché mi era rimasto fra le balle pur senza essere senza pretese. Ma buggato, no! E allora mi ci metto a lavorarci sopra… solo che… correggi di qui, correggi di là… Lo faccio così o lo faccio cosà? Oh, se taglio di qui e metto di là viene molto più elegante… etc. etc. Come niente ti parte più di un’ora. Poi putacaso ti chiamano per la cena. Poi, putacaso, ti viene un abbiocco micidiale. E così passano le giornate…

In tutto questo scenario, non mancano le visite: l’altra sera, in particolare, già ne avevo alcune preventivate - poi, in pratica, si è presentata tutta la cricca. Beh, non proprio tutta, ché quella non ci sarebbe stata. Ma certo i migliori: Davide & la Bratz, Aui, Bruce, Titti e infine il Bubu, che non vedevo da un fottio™ (se è termine tecnico è termine tecnico, non ci posso fare nulla!) di tempo. Sì, ragazzi: vi sto leccando; lo so che vi piace! ;) A sorpresa, mi hanno proposto se mi andava di prendere delle pizze dal cinese qui sotto e cenare insieme, che il cinese qui sotto le fa mica male, eh. Proposta accettata ed oltremodo gradita: ci ha rimesso il blog, ne ha guadagnato lo stomaco… Per non parlare del pomeriggio e della serata un po’ diverse dal solito! Ci ha rimesso il blog: come dire… ‘azzi sua!! Meglio gli amici, ovviamente!

Ah, e poi ultimamente ed in particolare dopo mesi e mesi in cui mi sono messo a procurarmi una gran messe di film per vedermeli (che altro?) senza peraltro farlo e passando per lo più le serate davanti al pc, ho finalmente ripreso a… farlo! (Che altro?) Gli ultimi tre giorni mi son visto:

Stasera?!? Chi può dirlo, chi può dirlo?

Sep 27
0:56:43.997 ▶▶ Permalink
La &#8220;soluzione&#8221; dello zio bleiz ai sensi di colpa per i giorni in cui non si è dedicato abbastanza al Perl, cioè tutti - ma alcuni più di altri: una vignetta perlistica dell&#8217;xkcd!

A god&#8217;s lament: some said the world should be in Perl; some said in Lisp. Now, having given both a whirl, I held with those who favored Perl. But I fear we passed to men a disappointing founding myth, and should we write it all again, I&#8217;d end it with a close-paren.

La “soluzione” dello zio bleiz ai sensi di colpa per i giorni in cui non si è dedicato abbastanza al Perl, cioè tutti - ma alcuni più di altri: una vignetta perlistica dell’xkcd!


A god’s lament: some said the world should be in Perl; some said in Lisp. Now, having given both a whirl, I held with those who favored Perl. But I fear we passed to men a disappointing founding myth, and should we write it all again, I’d end it with a close-paren.

Sep 30
19:43:46.780 ▶▶ Permalink
I realized that anyone running Perl code with the distribution Perl interpreter on Redhat 5.2, Centos 5.2 or Fedora 9 is likely a victim. Yes, even if your code doesn’t use the fancy bless/overload idiom, many CPAN modules do! A google search shows 1500+ modules use the bless/overload idiom and they include some really popular ones […] According to a google trends analysis Redhat, Centos and Fedora make up the majority of linux distributions used in production. All these have a broken perl. How much time and money has been lost because of this? I have a sinking feeling that it is a staggering number. I also have a sinking feeling that many people have moved away from perl to python/ruby/java/C because this bug caused them to assume “perl is slow.” I am hoping this issue will get more visibility because it’s silently killing perl’s reputation and resulting in some very serious wastage of resources.
Balance Through Extremism (minimally adapted)
19:57:03.789 ▶▶ Permalink
Your random blog has never been the right place to report a bug. So to keep with the spirit, here’s a fix to a bug, reported on my random blog.
Nicholas Clark (Da leggere tutto! Beh, almeno per quelli che si cacano il Perl…)
Oct 11
15:53:56.620 ▶▶ Permalink
Yes, we really will [have Perl 6.] We have a complete parser now, written in Perl 6, that parses itself, and can spit out an AST. All that remains is to come up with a VM with sufficent support for lazy functional OO semantics, and write an emitter for it. Simple!
TimToady a.k.a. Larry Wall, or was it vice versa? (With links inserted by me.)
Oct 12
23:03:00.918 ▶▶ Permalink

Serendipità: Perl 6

Cosa è la serendipità? Ne abbiamo già parlato; una delle “definizioni” più belle e significative che ho trovato è data in termini di una metafora:

Serendipity is looking in a haystack for a needle and discovering a farmer’s daughter.
— Julius Comroe Jr.

Nel mio caso, il pagliaio può essere un thread particolarmente fuffoso su PerlMonks; l’ago, un post non eccessivamente stupido su cui spendere uno dei miei voti quotidiani (sapete, durante il weekend è un po’ un mortorio…) e la figlia del fattore… un bellissimo post a sorpresa di Larry Wall a.k.a. TimToady, nello stesso thread fuffoso e noioso! Micacazzi!!

Il problema discusso era banale: quello di generare la successione 1, 11, 111... ed incline perciò a far partecipare ogni sorta di niubbi che si son sentiti autorizzati a fornire la loro “autorevole” soluzione, cioè, come spesso accade in tali casi, a passare informazioni se non proprio sbagliate, quanto meno inclini agli errori, mentre altri, più esperti, si sono divertiti a darne di “alternative” o fantasiose o in altro modo giocose, cioè perfettamente funzionanti ma non corrispondenti in alcun modo a ciò che uno farebbe nella cosidetta “vita reale” sempre che ne esista una! Ad un certo punto, qualcuno menziona Haskell, ed è a questo punto che $Larry interviene, col suo solito wit:

Tsk, tsk, Haskell is such a verbose language. :) In Perl 6 it’ just:

[\~] 1 xx *

where that just says “make an arbitrarily long list of 1’s and reduce them using concatenation (the ~ operator), returning partial results in a list.”

Ciò che ho imparato di nuovo, da questo post, è il metaoperatore, [\ ] variante di [ ], come mi è stato gentilmente spiegato. Ma non è finita qui! La novità più nuova è:

the new spiffily readable ... infix, it’s even shorter:

1...{$_~1}

That just extends the list on the left by concatenating a 1 onto the previous last value of the list.

Che dire? Fantastico!

Oct 16
14:31:24.563 ▶▶ Permalink
bIlujDI' yIchegh()Qo'; yIHegh()!
It is better to die() than to return() in failure.
Oct 18
15:05:00.586 ▶▶ Permalink
And in the backslashed form, [the reduction metaoperator] needs something with a vertical feel on the left representing the “left margin,” or we lose much of the triangular feeling, so square brackets work nicely together with backslash that way. It all adds up to an almost overwhelming feeling of necessity — which is why the language designer must also guard against adding up too many apples and then comparing them to orangutans.
TimToady a.k.a. Larry Wall, or was it vice versa?