fortune

Difference between version 3 and 4 - Previous - Next
[wdb] Like with many Linux users, my shell, on startup, calls fortune which writes a proverb or something to console. Some of the proverbs are funny and some are ugly.

When switching machine (my second-hand Thinkpad is at repair) I found fortune not yet being installed, so I wrote my own. Here my source with some proverbs I like. Most of them in German because German language is my secret love. Make your own. Have fun!

======
#!/usr/bin/tclsh

namespace import ::tcl::mathop::* ::tcl::mathfunc::*

proc random n {
  expr {int(rand()*$n)}
}

proc randomElement l {
  lindex $l [random [llength $l]]
}

proc blockTrimLeft block {
  set lines [split $block \n]
  if {[string is space [lindex $lines 0]]} then {
    set lines [lrange $lines 1 end]
  }
  if {[string is space [lindex $lines end]]} then {
    set lines [lrange $lines 0 end-1]
  }
  set spacesLeft [lmap line $lines {
      - [string length $line] [string length [string trimleft $line]]
    }]
  set spaceLeft [min {*}$spacesLeft]
  join [lmap line $lines {
      string range $line $spaceLeft end
    }] \n
}

apply {
  args {
    puts [blockTrimLeft [randomElement $args]]
  }
} {
  Du bist
  Buddhist
} {
  Das Steppenschwein, das Steppenschwein
  lässt keinen in die Steppe rein.
} {
  Eure Rede aber sei: Ja, ja; nein, nein. 
  Was darüber ist, das ist vom Übel.
    Matthaeus 5:37
} {
  Although the dialogues of Plato
  don't actually mention the potoato,
  they inculcate strongly that we should  searchek for the absolute ideal good.
} {
  There was a lady from Riga
  who loved to ride on a tiger.
  They returned from the ride
  with the lady inside
  and a smile in the face of the tiger.
} {
  Die schärfsten Kritiker der Elche 
  waren früher selber welche
} {
  Ich habe nicht geraucht. 
  Und nicht getrunken.
  Sechs Jahre lang!
  Dann wurde ich eingeschult.
} {
  Eindrucksvolles Merkmal der Eingeborenen
  sind ihre ausdrucksstarken Augen 
  und ihr enormer Rüssel.
  Sie benutzen ihn zum Fang ihrer Nahrung,
  zum Begrüßen von Dorfgenossen,
  beim Geschlechtsverkehr,
  zum Anfeuchten von Briefmarken
  und um ihre Lebensmittel daran zu hindern, 
  vom Teller zu krabbeln.
} {
  Das Birkhuhn, das die Beine spreitet,
  ein schönes Glücksgefühl begleitet.
} {
  Der Kragenbär spricht mit Bedacht:
  Die Bären werden nachts gemacht.
  Drauf rennt er mit Gegröhle
  in seine Bärenhöhle.
} {
  Ein Häschen saß am Wolgastrand,
  ein Gläschen Wodka in der Hand,
  und prostete den Schiffern zu,
  aus Hamburg und Honolulu.
}
======