Jul 19
18:26:00.726 ▶▶ Permalink
Perl exists not as an edifice, but as an act of love.
Aug 03
16:40:29.653 ▶▶ Permalink

Lo zio bleiz contro i fork

Occhei, mi sono guardato un po’ in giro, leggendo di diversi software - per lo più open source e/o free… e mi sono in qualche modo stupito di quanti fork vi siano: in linea di principio penso che siano un bene, perché comunque nascono con l’intento di far evolvere qualcosa e magari superare dei limiti imposti da una certa licenza o da certe politiche di sviluppo. Però alla fine scazza ritrovarsi con due o tre incarnazioni di una stessa “robba” ciascuna delle quali con delle caratteristiche desiderabili che le altre non hanno. Ecco allora che uno vorrebbe il processo inverso: il merge. Solo che poi, questioni di licenza a parte, magari le “robbe” finiscono per divergere troppo per permettere il merge…

Ecco allora il progetto programmatico dello zio bleiz per un gesto simbolico contro i fork!

Lo zio bleiz si propone di prendere un progetto relativamente semplice: il linguaggio (originariamente didattico) Hoc

An improved Hoc interpreter was included in Research Unix, but it has not been generally adopted by commercial Unix systems or by Linux distributions. […] Several improved versions of Hoc were also released by individuals (see list below).

E la lista è:

Le fasi successive saranno:

  1. capirci qualcosa - e questa è la parte difficile;
  2. prendere le quattro versioni di cui sopra;
  3. creare una versione di Hoc che comprenda tutte le variazioni apportate da queste versioni.

La domanda è: quando?!?

Aug 21
11:15:40.427 ▶▶ Permalink
Una vignetta nel linguaggio artificiale Lojban. Suppongo che potrebbe far ridere… (via perpetuum-immobile.de)

Una vignetta nel linguaggio artificiale Lojban. Suppongo che potrebbe far ridere… (via perpetuum-immobile.de)

Aug 29
20:16:00.802 ▶▶ Permalink
Sep 05
0:10:56.965 ▶▶ Permalink

Note a Margine

Note a margine della considerazione di HariSeldon, che mi sono astenuto dall’inserire nella stessa fra parentesi quadre per non appesantirla troppo:

“Conservatore” […] è giustissimo: nel senso che prima di cambiare una cosa importante che funziona bene voglio analizzare nelle minuzie infinitesime tutte le parti dell’alternativa.

Allora anche nel mio caso “conservatore” […] è giustissimo: nel senso che prima di cambiare una cosa più o meno importante che funziona anche solo a cazzo purché non totalmente a cazzo, voglio analizzare nelle minuzie infinitesime tutta una serie di dettagli che poi… non c’avrò la benché minima voglia di guardare neanche da lontano. Questo, quando mi viene un attacco di buona volontà. Normalmente, non c’avrò voglia di cambiarla e basta.

A me il nuovo va benissimo se è migliore del vecchio, ma essere nuovo non è condizione sufficiente per essere migliore.

Infatti ridendo e scherzando (poco, ché a me vien più da piangere!) son passati ormai quasi 15 anni da che se ne parla, ma non ancora ho superato lo sfrantamento di maroni per “il nuovo che avanza:” macazzo, se a loro avanzava proprio a noi dovevano rifilarcelo?!?

Sempre gli scarti ci toccano! (Per il link ne ho scelto uno a caso, ma neanche troppo a caso…)

0:49:10.992 ▶▶ Permalink
“Perlguy” & Larry Wall (via The Camel Tattoo Pictures)


Visto che oggi il post principe continua ad essere abbastanza da nerd, ci sta anche la foto di un altro tatuaggio da nerd: certo che di questo non dico “che tristezza!” Eccerto: è un po’ il simbolo, ancorché non ufficiale, del più bel linguaggio di programmazione del mondo…

“Perlguy” & Larry Wall (via The Camel Tattoo Pictures)


Visto che oggi il post principe continua ad essere abbastanza da nerd, ci sta anche la foto di un altro tatuaggio da nerd: certo che di questo non dico “che tristezza!” Eccerto: è un po’ il simbolo, ancorché non ufficiale, del più bel linguaggio di programmazione del mondo

Sep 06
18:07:31.713 ▶▶ Permalink

C NB B BCPL CPL

Dedicato con affetto & stima a nikink, che so che apprezzerà!


Forse saprete che alcuni (nerd) sanno che il C, inteso come linguaggio di programmazione, si chiama così perché “viene dopo il B.” La genealogia più precisa e pignolina, come stabilita dall’HOPL (che ho appena scoperto - e vi assicuro che se non è una pignoleria quella dell’NB qui sotto, non so cosa al mondo possa esserlo!) sarebbe:

(ALGOL60 ALGOL 60 Revised →) CPLBCPLBNBC

Lasciando perdere gli ALGOL, il punto è che andando a ritroso fino ad un certo punto si trovano ancora un bel po’ di informazioni. Per esempio di BCPL (1967) non solo è disponibile il manuale di riferimento, ma anche una distribuzione completa, ed inoltre è interessante sapere che:

  1. è stato il primo della famigghia ad usare le parentesi graffe per delimitare i blocchi;
  2. generava bytecode per una macchina virtuale! Ed io non per dire, ma mi credevo che questa fosse un’invenzione molto più recente. Invece parliamo di 1967, micacazzi!! (Bambini, attenzione: questo è ciò che capita a sorbirsi troppo marketing di Java…)

Ma il CPL…del CPL non riesco a trovare molto: e non è che chieda molto. Volevo solo vedere du’ cazzo di righe di codice! Giusto per vedere che faccia hanno… Sulla pagina dell’HOPL dice:

Partially implemented on the Titan (Atlas 2) computer at Cambridge. According to Higman (1977, 2nd Edition) the language did not “survive the demise of the machine.”

Per cui le speranze non sembrano essere molte. Però vi dovrebbero essere un po’ di articoli in qualche rivista specializzata, (beninteso, non sono uno storico dei linguaggi e non inizierò un pellegrinaggio per biblioteche, anche perché con tutta la buona volontà del mondo adesso non potrei!) fra cui uno disponibile online: peccato che richieda una sottoscrizione, ed io da casa non ce l’ho proprio. Vabbe’, chiederò più tardi agli amici cernioti o affini…

Sep 10
10:29:16.395 ▶▶ Permalink
Ad una romana mora nuda
(era pacifica, pare)
i tanga bagnati:
ecco gelarti tra le gocce!
Il re deve vederli:
è libido godibile…
Ora pirla, al riparo!
— (Estratto rimescolato dalla pagina delle) frasi palindrome italiane dal non blog di Luca Sironi
Sep 25
19:50:03.784 ▶▶ Permalink

Totò e Peppino a Milano

Vabbe’, va! Consoliamoci con questa scena indimenticabile: ma… senza esagerare, eh!

Oct 01
20:59:55.833 ▶▶ Permalink
The basic tool for the manipulation of reality is the manipulation of words. If you can control the meaning of words, you can control the people who must use the words.
Philip K. Dick, How To Build A Universe That Doesn’t Fall Apart Two Days Later (1978) - via The Quotations Page, mudwerks, yellowblog, mezzomondo
Oct 02
18:40:03.736 ▶▶ Permalink

Autocitazione

hardcorejudas:

“The basic tool for the manipulation of reality is the manipulation of words. If you can control the meaning of words, you can control the people who must use the words.”
Philip K. Dick, How To Build A Universe That Doesn’t Fall Apart Two Days Later (1978) - via The Quotations Page, mudwerks, yellowblog, mezzomondo (via blazar)

So che l’autocitazione è malvista, ma in quest’occasione me ne fotto, perchè di recente è stato pubblicato un affascinante romanzo-rompicapo di cui si parla troppo poco ed ispirato a questo concetto in modo totale. Si intitola Le memorie dello squalo.”

Se l’autocitazione sia malvista lo ignoro e se lo è me ne fotto! Io adoro l’autoreferenzialità. Detto per inciso, il ribloggaggio da queste parti può assumere forme piuttosto nascoste, ma proprio per questo interessanti, come ad esempio in una mia recente risposta che in pratica è il reblog del reblog di un mio post.

Venendo al punto da te toccato, anch’io mi ripeto perché mi sta a cuore: i linguaggi, che si tratti di naturali o addirittura di programmazione “hanno a che fare,” sono influenzati da come la gente pensa e lo influenzano a loro volta. Le citazioni si potrebbero sprecare… Ed infatti penso che prossimamente ne cercherò qualcuna. Per adesso, visto che hai fatto un riferimento letterario, mi terrò anch’io in questo ambito, limitandomi a menzionare la Neolingua “inventata” da quel geniaccio di George Orwell per 1984, il cui fine specifico

non è solo quello di fornire, a beneficio degli adepti del Socing, un mezzo espressivo che sostituisse la vecchia visione del mondo e le vecchie abitudini mentali, ma di rendere impossibile ogni altra forma di pensiero. Una volta che la neolingua fosse stata radicata nella popolazione e la vecchia lingua (archelingua) completamente dimenticata, ogni pensiero eretico (cioè contrario ai princìpi del partito) sarebbe divenuto letteralmente impossibile, almeno per quanto attiene a quelle forme speculative che derivano dalle parole. (via Wikipedia, con enfasi aggiuntiva mia!)

Ed ora: i lupini… come cazzo stanno?!?

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?