Fortune ovvero le frasi strane in Unix\Linux

 

Esiste un programma che consente di buttar fuori in vari casi delle frasi scherzose, citazioni, barzellette e molto altro, questo programma si chiama Fortune.

 

 

 

Prologo

 

Fortune è un programma che visualizza un pseudo messaggio da un database di citazioni che prima apparizione, forse, in Unix versione 7 e alcuni dicono in computer PDP. La versione più comune nei sistemi moderni è la BSD di fortune , scritto originariamente da Ken Arnold in C. Le distribuzioni di fortuna sono di solito in bundle con una raccolta di file a tema, contenente detti come quelle che si trovano sui biscotti della fortuna (da qui il nome), citazioni di personaggi famosi, scherzi, o di poesia e molto altro.

 

Spesso, gli utenti su terminali Unix in modo testo sarà posto questo comando nei loro .profile o .logoutfile per visualizzarli al momento dell'accesso e il logout. E 'anche utilizzato per generare l'immissione di testo per alcuni XScreenSaver come Xscreensaver oppure nei desktop popup casuali che compaiono oppure nel programma Smile come testo del personaggio o uso in vari widget o plasmoidi. Può essere utilizzato per fornire frasi scherzose sul WEB.

 

Originariamente scritto in C e stato portato in diversi linguaggi tra cui la più famosa in Perl e praticamente tutti gli OS.

 

Contenuti

 

Il programma Fortune legge dei file intercambiabili chiamate Collezioni contenenti le frasi o altro da visualizzare.

Questi contenuti, dette Collezioni (o File di Fortune) sono generalmente orientati verso la base di utenti del Unix professionale, e quindi contengono molti scherzi oscuri circa l'informatica e la programmazione di computer . Alcune Collezioni includono citazioni di fantascienza ( Star Trek , Cyberiade , Doctor Who , la Guida del Hitchhiker alla galassia , etc.), Zippy l'Pinhead , e gli scritti di Ambrose Bierce e Dave Barry ​​ fin arrivare alle citazioni di Adolf Hitler. La maggior parte delle Collezioni hanno una vasta gamma di citazioni più convenzionale di provenienza, barzellette, e altri brevi passaggi. Non poche distribuzioni di Collezioni includono la dicitura "offensive" (un non adatto al minore), che richiedono l’opzione -a o -o per la visualizzazione. Queste Collezioni includono spesso un maleducato umorismo e molte parolacce, attacchi personali e commenti controversi sulla religione e politica. Talvolta si è fatta un opera di censura fascista, come in FreeBSD 10.0 i cui dettami offensiva sono stati rimossi completamente e l’opzione ​​ -a o -o eliminata in Fortune in quanto esiste una censura preventiva (lo stile fascista), menomale che le Collezioni e il programma Fortune variano tra ogni tipo di Unix e altri OS e sono facilmente trasferibili. ​​ 

Qui per Android: https://play.google.com/store/apps/details?id=ch.fixme.cowsay

Come si fanno le Collezioni

 

Versioni convenzionali di fortune utilizzano due file per ogni lista preventivi: Un file di testo con citazioni, ognuno separati dal carattere "%" sulla propria linea (anticamente ASCII, adesso UTF8), e un file di dati ad accesso casuale generato dalla strfile del programma. Implementazioni alternative, comprese quelle effettuate per la visualizzazione su pagine Web, utilizzano in genere solo il file di testo.

Esempio (https://sources.debian.org/src/fortune-mod/1:1.99.1-7/datfiles/computers/):

 

!07/11 PDP a ni deppart m'I ​​ !pleH

%

101 USE SFOR A DEAD MICROPROCESSOR

 ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ (1) ​​ Scarecrow for centipedes

 ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ (2) ​​ Dead cat brush

 ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ (3) ​​ Hair barrettes

 ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ (4) ​​ Cleats

 ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ (5) ​​ Self-piercing earrings

 ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ (6) ​​ Fungus trellis

 ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ (7) ​​ False eyelashes

 ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ (8) ​​ Prosthetic dog claws

 ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ .

 ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ .

 ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ .

 ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ (99) ​​ Window garden harrow (pulled behind Tonka tractors)

 ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ (100) Killer velcro

 ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ (101) Currency

%

1: No code table for op: ++post

%

4.2 BSD UNIX #57: Sun Jun 1 23:02:07 EDT 1986

You swing at the Sun. ​​ You miss. ​​ The Sun swings. ​​ He hits you with a

575MB disk! ​​ You read the 575MB disk. ​​ It is written in an alien

tongue and cannot be read by your tired Sun-2 eyes. ​​ You throw the

575MB disk at the Sun. ​​ You hit! ​​ The Sun must repair your eyes. ​​ The

Sun reads a scroll. ​​ He hits your 130MB disk! ​​ He has defeated the

130MB disk! ​​ The Sun reads a scroll. ​​ He hits your Ethernet board! ​​ He

has defeated your Ethernet board! ​​ You read a scroll of "postpone until

Monday at 9 AM". ​​ Everything goes dark...

 ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ -- /etc/motd, cbosgd

%

A biologist, a statistician, a mathematician and a computer scientist are on

a photo-safari in Africa. ​​ As they're driving along the savannah in their

jeep, they stop and scout the horizon with their binoculars.

The biologist: "Look! ​​ A herd of zebras! ​​ And there's a white zebra!

 ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ Fantastic! ​​ We'll be famous!"

The statistician: "Hey, calm down, it's not significant. ​​ We only know

 ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ there's one white zebra."

The mathematician: "Actually, we only know there exists a zebra, which is

 ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ white on one side."

The computer scientist : "Oh, no! ​​ A special case!"

%

 

Come potete vedere la prima riga non parte con % ma finisce con %

!07/11 PDP a ni deppart m'I ​​ !pleH

%

Poi:

%

101 USE SFOR A DEAD MICROPROCESSOR

 ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ (1) ​​ Scarecrow for centipedes

 ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ (2) ​​ Dead cat brush

 ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ (3) ​​ Hair barrettes

 ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ (4) ​​ Cleats

 ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ (5) ​​ Self-piercing earrings

 ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ (6) ​​ Fungus trellis

 ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ (7) ​​ False eyelashes

 ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ (8) ​​ Prosthetic dog claws

 ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ .

 ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ .

 ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ .

 ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ (99) ​​ Window garden harrow (pulled behind Tonka tractors)

 ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ (100) Killer velcro

 ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ (101) Currency

%

1: No code table for op: ++post

%

Ogni frase inizia con % e finisce con %. semplice!

Nota: Se volete fare una Collezione molto “sporca”, basta che nel nome della Collezione ci sia la parola “offensive” ed è fatta!

Esiste anche il formato XML:

http://web-cpan.shlomifish.org/modules/XML-Grammar-Fortune/

e per convertire dai vari formati:

https://metacpan.org/release/XML-Grammar-Fortune

 

Collezioni

Qui la più grande Collezione di Fortune:

https://sources.debian.org/src/fortune-mod/1:1.99.1-7/datfiles/

In italiano per OpenSUSE:

https://software.opensuse.org/package/fortune-it

Divertenti:

https://www.shlomifish.org/humour/fortunes/

Varie:

http://www.anvari.org/

Opzioni comuni di Fortune

Le opzioni comuni esistenti (alcuni Fortune possono contenere o non contenere le opzioni riportate):

Opzione

Azione

-a

Scegli tra tutti i database, indipendentemente dal fatto che sono considerati "offensivo" o no (controlla se nel nome esiste “offensive”)

-e

Rendere la probabilità di scegliere un file di fortuna uguale a quella di tutti gli altri file

-f

Stampare una lista di tutti i file di fortuna che sarebbero state ricercate, ma non stampare una fortuna

-i

Quando viene utilizzato con -m, un'espressione regolare ricerca case-insensitive

-l

Utilizzare solo citazioni più lunghe rispetto alla lunghezza specificata con -n, o 160 caratteri se -nnon è usato

-m [pattern]

Stampa tutte le fortune che corrispondono alla espressione regolare specificata nel[pattern]

-n [length]

Sovrascrivere la lunghezza usata da -le -s per determinare la "lunga" e "brevi" messaggi (di default 160 caratteri)

-o

Scegliere solo da database "offensive"

-s

Utilizzare solo citazioni più corto della lunghezza specificata con -n, o 160 caratteri se -n non viene utilizzato

-w

Attendere per un periodo di tempo prima di terminare; utile per le situazioni in cui una fortuna deve essere letto prima che lo schermo si oscura

Guida:

https://linux.die.net/man/6/fortune

 

Altri Fortune

Attenzione: Quelli con immagini asci-art è più giustamente chiamato Cowsay.

Attenzione: I “mod” usano come separatori tra una frase e l’altra il simbolo “$” invece del “%”.

++----

https://github.com/maxieds/math-fortune-mod

Qui un personaggio matematico parla con le Collezioni.

In esempio è la sommatoria...

++----

https://github.com/globalcitizen/taoup

Qui abbiamo invece dei testi le asci-art come collezioni

https://github.com/shlomif/fortune-mod

Qui abbiamo semplici frasi da 80 caratteri circa per visualizzazioni particolari.

-Cowsay

Come detto sopra i “Fortune” che usano una immagine asci-art con tanto di vignetta è detta Cowsay perché la prima versione del programma derivato da fortune che lo permetteva (scritto in Perl) era una mucca che parlava.

Il programma proprio si chiama Cowsay ed usa Collezioni varie.

--Parametri di Cowsay

Parametro

Risultato

-n

Disabilita l'”a capo” automatico, permettendo alla mucca di parlare FIGlet o per visualizzare altri messaggi ASCII art incorporati. Larghezza in colonne diventa quella della linea più lunga, ignorando ogni valore di -W

-W

Specifica la larghezza del fumetto, in colonne, vale a dire i caratteri di un font a spaziatura fissa. Il valore predefinito è 40.

 

-b

"Modalità Borg", utilizza == al posto di oo per gli occhi della mucca.

-d

"Dead", utilizza XX.

-g

"Greedy", usa $$.

-p

“Paranoid”, usa @@.

-s

“Stoned”, usa ** per rappresentare gli occhi iniettati di sangue, oltre a una U discendente per rappresentare una lingua estrusa.

-t

“Tired”, usa --.

-w

“Wired”, usa OO.

-y

“Youthful”, usa .. per rappresentare occhi più piccoli.

 

-e eye_string

Specifica manualmente l'occhio della mucca-tipo, ad esempio cowsay -e ^^ (vedi emoticon in stile orientale).

-T tongue_string

Specifica manualmente la forma della lingua della mucca, ad esempio cowsay -T \(\) per un paio di parentesi.

-f cowfile

Specifica un file .cow da cui caricare l'ASCII art alternativo. Accetta percorsi di file sia assoluti che relativi alla variabile d'ambiente COWPATH.

-l

Elenca i nomi di mucca disponibili nella directory COWPATH invece di visualizzare una citazione.

-t -s

Abbina gli occhi corrispondenti a -t (Tyred) alla lingua di -s (Stoned) è possibile creare vari abbinamenti (non funziona con Tux).

 

Abbiamo anche xcowsay che è una vera versione grafica:

https://packages.debian.org/sid/xcowsay