Some techical detail about how this site was implemented. The site runs on a Raspberry PI, the server software is Gophernicus. Getting a text copy of a WWW page: > wget -O - https://<path to the page> | html2text -utf8 -width 75 > gophermap (Requires some cleanup, converting image links etc.) Calling the guestbook script: > 7Write to guestbook<TAB>/cgi-bin/write_guestbook.cgi The script itself: > #!/bin/sh > echo "$(date -u +%Y-%m-%d\ %H:%M) $QUERY_STRING" >> /var/log/gopher_guestbook.txt > echo Done! (No cleanup done, so this is probably vulnerable to at least some kinds of attacks. Try it if you are so inclined, and preferably report your findings!) Write the guestbook: > =tac /var/log/gopher_guestbook.txt ('=' is a specific to Gophernicus, and simply runs a command in shell. 'tac' is like 'cat', but outputs lines in reverse order. I find this one delightfully unixy.) Show the Roman calendar and uptime: > =echo "$(uname -a)\n\n$(hodie -vv)\n\n$(uptime -p)" | /usr/games/cowsay -f tux ('hodie' is not by me.) With this kind of pattern you can do all sorts of fun stuff. Well, the quite specific fun thing that is making cows say things dynamically: > =echo "$(date -u +%H:%M)" |figlet -f future|cowsay -n _______________ / ╺┓ ┏━┓ ╺┓ ┏━┓ \ | ┃ ┣━┫╹ ┃ ┣━┫ | \ ╺┻╸┗━┛╹╺┻╸┗━┛ / --------------- \ ^__^ \ (oo)\_______ (__)\ )\/\ ||----w | || ||