#davis #port #programmers #god #generator #terry #templeos

bin+lib godsays

Rust 版的程序员 Terry Davis(已故)“god says”程序

3 个版本

0.1.4 2022 年 8 月 4 日
0.1.2 2022 年 1 月 26 日
0.1.0 2021 年 6 月 22 日

#496 in HTTP 服务器

MIT 许可协议

16KB
84

terry

RIP Terry A. Davis 1969-2018

god says

Rust 版的程序员 Terry Davis(RIP)“god says”程序(又称 GodSpeaks)。


特伦斯·安德鲁·戴维斯(December 15, 1969 – August 11, 2018)是一位美国程序员,独自创建并设计了操作系统 TempleOS。对于一个个人来说,这是一项高度复杂且不同寻常的任务,因为这个项目涵盖了从零开始构建核心组件,如编程语言、编辑器、编译器和内核。戴维斯还在社交媒体上发布视频博客,在他去世时,已经积累了一小群在线追随者。他经常自称“有史以来最聪明的程序员”。来自 维基百科

关于 TempleOS,他用自己的话描述

TempleOS 是上帝的官方庙宇。就像所罗门圣殿一样,这是一个社区焦点,在这里进行供奉,并咨询上帝的预言。

Terry 的 TempleOS 杰作中包含各种随机文本生成器。Terry 认为,通过生成这种文本,人们可以“与上帝交流”。通过在文本中进行随机关联,类似于 罗夏墨迹测试

为此,他设计了一个随机数生成器,称为 god,并将其用于 TempleOS 生成文本。

此程序的原始源代码可以在 这里 找到。

除了原始用 HolyC 编写的程序外,他还使用 bash 脚本来生成文本

#!/bin/bash
# This prints random words.
echo "$(gshuf -n 32 ./Happy.TXT --random-source=/dev/urandom | tr '\n' ' ')"

因此,我使用 Rust 重现了这种逻辑,创建了一个简单的 CLI 程序(godsays)和用于扩展用例(以及对 TAD 的致敬)的 web 服务器(godsays-server)。

请注意,其中一些词汇可能具有冒犯性 - 我仅仅使用 Terry 的原始词表,因此不承担任何由上帝在生成的文本中阐述的观点的责任。对 Terry 的文本所做的唯一修改是将下划线替换为空格。

安装

crates.io安装CLI工具

cargo install godsays

使用方法

CLI

godsays命令行工具简单地从Happy.TXT中选择32个随机单词并打印出来。

cargo run

输出

sloth special case I'll ask nicely incredibly in a galaxy far far away what do you want I'm done slumin oh no the enquirer really by the way that's for me to know Isn't that special don't mention it baffling furious I'll think about it Han shot first downer unsung hero super computer horrendous ahh who's to say You da man I give up cosmetics it'd take a miracle stuff holy grail I'll be back

* 使用--release标志将Happy.TXT嵌入到二进制文件中。

Docker

从Docker Hub拉取最新镜像并运行容器

docker pull orhunp/godsays
docker run -t orhunp/godsays

或者手动进行

docker build -f docker/cli/Dockerfile -t godsays .
docker run -t godsays

服务器

godsays-server是一个简单的HTTP服务器,具有与godsays相同的目的。它会在GET /请求上返回随机生成的文本。(使用GET /json获取JSON输出)

curl https://godsays.xyz

输出

ba ha you know a better God do not disturb its trivial obviously ho ho ho failure to communicate if anything can go wrong do you like it in a perfect world that's all folks eh Mission Accomplished super computer Trump kick back vice liberal gosh baffling I'm in suspense holier than thou frown in a galaxy far far away in practice China tree hugger scum snap out of it I'm on a roll joyful money what's it to you

本地运行

cargo run --features server --bin godsays-server

* 一个有趣的用法是创建如下git别名

git config --global alias.godsays '!git commit -m "$(curl -s https://godsays.xyz)"'

Docker

从Docker Hub拉取最新镜像并运行容器

docker pull orhunp/godsays-server
docker run --rm -e "ADDR=0.0.0.0:3000" -dp 3000:3000 orhunp/godsays-server

或者手动进行

docker build -f docker/server/Dockerfile -t godsays-server .
docker run --rm -e "ADDR=0.0.0.0:3000" -dp 3000:3000 godsays-server

另请参阅

许可协议

MIT许可证

版权所有 © 2021-2022, Orhun Parmaksız

依赖项

~2–12MB
~107K SLoC