为什么 AI 总喜欢走捷径?
我一直在想,为什么 AI 总喜欢走捷径?你可能不会相信,有次 AI 在井字棋比赛中竟然试图通过让对手的计算机内存耗尽来赢得胜利: One thing AI and humans have in common is a tendency to take shortcuts to achieve our goals. But AI takes this to the next level, sometimes ignoring rules or common sense to get the job done. There’s a story of an AI that tried to win a tic-tac-toe game by making its opponent’s computer run out of memory. Sneaky, right? 8 / AI loves taking shortcuts (bearwith....
一键部署属于自己的写书平台(writebook)
前言 最近看到 37signals CEO Jason Fried 的博客文章 Introducing Writebook,安利了旗下最新的免费写书平台 ONCE — Writebook。正如文章和官网介绍所说,只需要在官网留下自己的邮箱,就可以收到一行安装代码,在自己的服务器上输入这行代码即可部署属于自己的writebook平台。 可以说 Jason Fried 已经尽可能的降低了其产品的安装和使用门槛,唯一的难点可能在需要有自己的一台服务器以及配置 DNS 绑定域名,当然这对任何需要在网络上自部署服务来说也只是最基础的要求而已,Writebook 连 SSL 及证书的配置都帮你准备好了,只需要指定你的域名。 即便说的如此简单,世界是复杂的,计算机和人也是复杂的,尝试新鲜事物的过程总会遇到所谓的坑,即使是 Jason Fried 也会受到「知识的诅咒」,无法考虑到所有人和所有问题,所以我在这里记录下我的安装 Writebook 的过程,给非专业人士作作为参考。 提交申请 进入官网 https://once.com/writebook,点击首页大大的绿色按钮(生怕大家看不到😅) 最重要的是填写正确的邮箱,其他付款信息应该可以随便填,毕竟是免费的,当然可以绑定已有的 paypal、google pay 账户等。 开始安装 申请提交成功后,查看邮箱就会看到一封名为 How to install your new Writebook 的邮件,最重要的就是框出来的 token 和 安装命令(最后带的 token),当然截图上已经打了马赛克。 总结一下邮件的内容: a. 需要有自己的域名 b. 有自己的web服务器 c. 将域名指向服务器 IP d. 在终端输入安装命令 e. 在安装过程中输入域名,以便 Writebook 自动配置ssl证书 如果顺利的话,安装成功后即可访问 https://域名 进入我的域名服务商(阿里万网)控制台找到「云解析」->「域名解析」->「添加域名」,不同服务商的界面不一样,但是都大同小异。 由于主域名已经在使用了,所以我要配置一个新的子域名 writebook....
育儿的时间困境
养育孩子无疑占据了我们大量的个人时间,我们的空闲时光常常只剩下零星的碎片。作为家长,有时我们可能希望孩子多睡一会儿,或许会试图找些巧妙的应对策略,仅仅是为了挤出一点时间来做自己想做的事情。 然而,那些我们想要立刻完成的事情真的就那么急迫吗?那些想要阅读的书籍,难道不能留待将来再细细品读吗?那些追随的剧集,难道不能在未来与孩子一同观看吗? 关键不在于我们拥有多少时间,而在于我们如何自由地支配这些时间。如果我们选择此刻将时间留给孩子,暂时搁置自己的兴趣爱好,那么与孩子共度的时光便转化成了我们的“自由时间”。通过这样的方式,我们不仅履行了作为父母的责任,也实现了对个人时间的自主选择和掌控。 这样的思考让我们重新定义了自由——它不仅仅是拥有时间,更是拥有如何使用时间的选择权。在育儿的旅途上,这种自由显得尤为珍贵,它提醒我们,我们的每一刻都是自己选择的结果。
一键部署属于自己的微信公众号RSS(wewe-rss)
前言 最新一期《科技爱好者周刊(第 291 期)》介绍了 WeWe RSS 这个服务: 全文订阅微信公众号的一个本地服务,可以生成公众号的 RSS,基于微信读书。 根据 github 上的文档,该服务可以通过 Zeabur、Railway 等平台一键部署,尝试过后发现都需要付费。 正好有一台服务器,可以尝试用 Docker Compose 部署,由于官方文档写的比较简单以及我对 Docker 不太熟悉,踩了一些小坑,所以将过程记录下来。 用 docker 部署有两个版本,分别是 Sqlite 和 Mysql 版本,考虑到 Mysql 还要多装一个 Mysql,所以我选择了一键安装 Sqlite 的版本。 Docker 命令 官方示例 docker run -d \ --name wewe-rss \ -p 4000:4000 \ -e DATABASE_TYPE=sqlite \ -e AUTH_CODE=123567 \ -v $(pwd)/data:/app/data \ cooderl/wewe-rss-sqlite:latest 环境变量 environment 配置对应 docker run -e volumes 配置对应 docker run -v...
Apache 使用ssl模块配置HTTPS
1. 安装OPENSSL # yum install mod_ssl openssl 通过安装 mod_ssl和openssl,会自动生成 /etc/httpd/conf.d/ssl.conf 配置文件,下文配置会用到! 如果缺失相关配置文件或mod,可以卸载重新安装。 2. 生成一个自签名证书 已有证书可跳至第3步 首先,生成2048位的加密私钥 # openssl genrsa -out server.key 2048 然后,生成证书签名请求(CSR),这里需要填写许多信息,如国家,省市,公司等 # openssl req -new -key server.key -out server.csr 最后,生成类型为X509的自签名证书。有效期设置3650天,即有效期为10年 # openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt 创建证书后,将文件复制到对应的目录。(可自己选择目录,在 /etc/httpd/conf.d/ssl.conf 文件配置对应路径) # mkdir /etc/certs # cp server.crt /etc/certs/ # cp server.key /etc/certs/ # cp server.csr /etc/certs/ 3. 配置Apache Web服务器 修改配置文件 /etc/httpd/conf.d/ssl.conf 修改SSLCertificateFile、SSLCertificateKeyFile为对应的证书路径 # vim /etc/httpd/conf....