Since the mention of jokes for meditation I pulled up my Henny pecked application from 2018.
Just a collection of one-liners saved in a Jokes.txt file:
sample of mine:
read the txt file into a string array.
add some code to display one-liners in center of screen.
I could make mine with a little bigger text that we've been playing with here recently.
Or just load your favorite font 
and I added a voice to read the joke, nothing beats the monotone of computer voice for Steven Wright jokes
code I use in Windows for voice read jokes:
There you have it, another Do-It-Yourself Project!
Just a collection of one-liners saved in a Jokes.txt file:
sample of mine:
Quote:A computer once beat me at chess, but it was no match for me at kick boxing.
What did one ocean say to the other ocean? Nothing, they just waved.
A bank is a place that will lend you money, if you can prove that you do not need it.
What is faster, hot or cold? Hot, because you can catch a cold.
Whats the difference between a new husband and a new dog? After a year, the dog is still excited to see you.
Love may be blind, but marriage is a real eye-opener.
I say no to sweets, they dont listen.
read the txt file into a string array.
add some code to display one-liners in center of screen.
I could make mine with a little bigger text that we've been playing with here recently.
Code: (Select All)
Sub Text (x, y, textHeight, fore As _Unsigned Long, back As _Unsigned Long, txt$)
Dim fg As _Unsigned Long, bg As _Unsigned Long, cur&, i&
fg = _DefaultColor: bg = _BackgroundColor: cur& = _Dest
i& = _NewImage(8 * Len(txt$), 16, 32)
_Dest i&: Color fore, back: _PrintString (0, 0), txt$
_PutImage (x, y)-Step(Len(txt$) * textHeight / 2, textHeight), i&, cur&
Color fg, bg: _FreeImage i&: _Dest cur&
End Sub
and I added a voice to read the joke, nothing beats the monotone of computer voice for Steven Wright jokes

code I use in Windows for voice read jokes:
Code: (Select All)
Sub speak (message As String)
Shell _Hide "Powershell -Command " + Chr$(34) + "Add-Type -AssemblyName System.Speech; (New-Object System.Speech.Synthesis.SpeechSynthesizer).Speak('" + message + "');" + Chr$(34)
End SubThere you have it, another Do-It-Yourself Project!
724 855 599 923 575 468 400 206 147 564 878 823 652 556 bxor cross forever

