离线电脑上的写作感悟

很长一段时间,自己都苦于意志力薄弱,注意力差,不能够在自己想要深耕的领域有足够的学习时间,相反却总是被新闻网站、色情网站以及围棋游戏浪费了大量的时间。我想了很多办法来克服这个问题,从封禁网站,封存设备、坚持工作列表到邀请孩子们帮忙监督等等,但是都是成效不大。离线电脑是自己最新的办法,主要的考虑如下: 很多学习只能在电脑上展开,所以必须有一个电脑。 电脑如果不能上网,那就不会花时间在前面那些无谓消耗时间的事情上了。 一念及此,就行动起来。为了避免额外的花销,自己最终选择了 Acer C871 Chromebook 作为实际的机器,在家庭路由器上禁掉这个机器的 Mac Address,然后在机器上装上 Linux Virtual Machine,就这样开始了。 这样搞了一段时间,我发现离线电脑确实能够达到前面所说的两个好处,在电脑上看了不少书籍、论文,实验了很多程序,学到了很多东西,是个不错的主意。很自然的,我就继续扩展这个主意,把更多的事情拿到电脑上来做,首当其冲的就是想要在离线电脑上浏览以前写的文章,或者是写新的文章。 按道理说,Google Docs 是一个现成的选择,特别是它的离线同步功能做的非常的好,但是 Google Docs 有两个比较明显的缺陷: 它的公式编辑功能比起 Latex 来说那实在是差得太远了。我有很多文章都要写公式,这样可不行。 Google Docs 把所有的内容都存在 Google Cloud 上面,没有办法把文章发到自己的博客上。特别在这次 Trump 总统被禁言后,我对于把内容都存放在云端更是多了很多警惕,这些大公司信不过啊。 下来的方案就是用一些先天支持离线编辑的静态站点生成工具,最有名的就是 Jykell。这个东西我用过一阵子,一看就是给技术人士做的,全部都是命令行界面,不过好处也非常明显: git-based 版本管理,完美支持离线操作。 static web page,安全快速。 github host service,不需要自己花钱租虚拟机。 但是自己还是有些犹豫,自己对于 Ruby 语言以及 Gemfile 这套东西一点都不熟悉,相比之下,Wordpress 虽然很老,但是它并不会很快就消亡,相反,因为庞大的用户群和悠久的历史,这些老软件都很稳定,而且自己也花了很多时间学习和使用这个平台,不应该就这样轻易放弃,再说自己也还没有深入使用 Jykell,对于它的缺点也不了解,不过最少可以想见: 现有文章的迁移是个费时费力的工作。 插件不够丰富,比如如果要自己的围棋能够显示,需要手动做不少工作。 相反,对于Wordpress: 技术架构和源代码自己比较熟悉 有很多文章积累 (已经 600+) …

Setup SiteSync For WordPress

自从搞了一个不上网的笔记本,我就一直琢磨着怎么才能 Offline 写博客。期间尝试了无数的办法,包括: 切换到 Jekyll:这个软件就是为Offline写博客准备的,按说应该是完美的选择,但是在实践中这是一个大坑,最后有几点让我放弃了。 Jekyll 的插件不够丰富,特别的,没有围棋的支持。 Jekyll 不支持私有的文章。 最后,把所有的文章从 WordPress 迁移到 Jekyll 是个浩大的工程,我还专门试了试Jekyll自带的导入工具,结果跑出来的格式都需要手动调整,最少需要几天时间。 Offline Blog Write Tool:按说这个不难,但是不知道为什么,在Linux上就是没有能够用的工具。在 https://wordpress.org/support/article/weblog-client/ 上列出的工具,不是不能运行,就是长久以来没有人维护了。 Offline 写在Google Docs中,然后再把 Google Docs 嵌入到帖子中:这个问题就是太难看了,实在不愿意。 WordPress Desktop:本来我对这个报了极高的希望,折腾了很长时间,甚至还安装 JetPack 插件,最后这个软件只是通过桌面来远程操作Wordpress站点,但是还是需要上网,大失所望! 还有一个比较搞笑的地方就是我的笔记本是一个Chromebook上面安装的Linux。这个Linux的奇怪地方是所有的程序中文输入法的支持都有问题:Terminal Vim 输入中文屏幕显示一塌糊涂,X-window Based Vim 干脆没有办法切换到中文输入,只有在Chrome 浏览器里输入中文还算正常,这也给了我试图建立Offline 编辑的想法当头一棒,唉。 在尝试了多种办法均失败以后,最后我看到了一个叫做 WPSiteSync 的插件,号称可以在两个站点之间同步文章。我想了想,如果按照这个办法,第一不用学习新的博客软件,第二Offline编辑的环境也和原来一样,看上去还可以,我就一咬牙,在我的笔记本上架起了完整的Wordpress (幸好上次迁移的时候写了一个攻略,正好用上),然后再安装和设置好同步插件,结果真的工作了! 这样我就可以 Offline Edit 我的博客文章了,几天以来的辛苦工作终于有了回报,很开心。

Google Docs vs WordPress Blog

我以前从来没有想过这两个东西能够有什么关联,直到我写了两年多博客,积攒了一批文章以后,发现自己有的时候想写点东西的,却不知道应该写在自己的博客网站上,还是写在Google Docs里,我才意识到这两个都是创作的工具,而自己应该在这两者之间制定一些选择的规则。 公平地说,Google Docs 和 WordPress Blog 的创作工具都很强大,虽然 Google Docs 的内置编辑器功能丰富,但是Wordpress 的插件非常丰富,从Latex 公式编辑到围棋棋谱显示,也基本上是应有尽有。平心而论,对于基本编辑功能来讲,Google Docs 略胜一筹,但是区别很小。 Google Docs 独有的特色在于文档的协作与追踪。对于一个需要在多人之间协作、共享或者需要长期维护的文档,Google Docs 提供了非常丰富的工具。比如评论功能,历史版本追踪,共享等等,都极为方便。 WordPress 独有的特色则在于在Web上发布内容,首先它直接提供一个自动更新的聚合主页,另外它的分类功能和搜索功能也是相当方便。 Google Docs 的另外一个特色就在于离线编辑功能。所有的文档都可以离线或者在线的编辑,在线的编辑将自动反映到所有的计算机中;离线编辑的版本一旦机器上线,那么将自动推送所有的本地更改,并接受所有的其他在线编辑,特别是我现在再用一个不上网的计算机作为自己的工作笔记本,这一优点更加方便。 Google Doc 的一个缺点是所有的系统(源代码、存储、账号)都受Google 公司的控制,而Wordpress 还保存了开源系统的特色,从数据库、源代码、程序设置,一切都是对于用户公开。这对于刚刚经历了 Trump 禁言事件的我,有着巨大的吸引力。 对于我来说,如果一个文档需要长期维护,或者明确地需要和特定的人群写作或者分享,那么就用Google Docs,比如《电脑游戏时间的家庭守则》、或者《个人电脑工作环境设置》等,因为这些文档常常需要和家人共享,听取他们的意见,并且根据实践情况常常修改。除此之外,剩下所有的东西都可以写在自己的博客网站里,根据与人分享的价值大小,分别设置为“公开”,“密码共享”,“私有”即可。

网站建立过程

首先是在Google Domain 上注册了域名 zhangxiaopan.net,第一年12。奇怪的是 zhangxiaopan.com 竟然有人已经注册了。域名zhangxiaopan.me也空着,但是第一年要20,还是算了吧。 既然Google 的云计算平台 GCE有300的免费额度,直接使用 Bitnami wordpress for GCE,按照手册一步步搞就行了。 SSL 配置比较麻烦一些,因为插件生成的证书文件名和手册给出的Apache例子文件名不一样。按照bitnami的文档 How To Install The WP Encrypt Plugin For Let’s Encrypt Certificate Generation?搞完以后,我的做法是: 建立一个 /opt/bitnami/apache2/conf/bitnami/zhangxiaopan.net 的目录,然后把 /opt/bitnami/apps/wordpress/letsencrypt/live/zhangxiaopan.net/ 下面的 cert.pem, private.pem 和 chain.pem 拷贝过去,然后改为只有Root 可以读写(400)。 root@wordpress-2-vm:/opt/bitnami/apps/wordpress/conf# ls -l /opt/bitnami/apps/wordpress/letsencrypt/live/zhangxiaopan.net/ total 24 -rw-rw-r– 1 daemon daemon 2175 Jan 20 04:09 cert.pem -rw-rw-r– 1 …

我为什么要写博客

王小波有一篇文章《我为什么要写作》,讲的是他自己有写作的欲望,也相信写作能够给自己和这个世界带来一些好处。我也偶尔问自己这个问题,我为什么要写博客? 很显然,这个时代自己建个网站早就没有多少人看了,大公司的平台比如新浪微博、微信、Facebook等等已经垄断了绝大多数内容和访问途径,所以凭借流量想要弄点广告费基本上是痴心妄想。当时装好WordPress 以后,我还安装了 Google Analytics,不过前两天看看可怜的访问量,我就把它又卸载了。后来我还尝试在网站上装上Google AdSense,一个月过去也没有任何收入。很显然,自己写博客不牵扯任何经济利益。 要回答这个问题,不能不提到个人的成长经历。我这一代人成长的时候,大陆的整个教育都在系统性的压制个体的声音,以至于这种欲望在我这一代人身上几乎消失殆尽。虽然赶上了互联网这个好时候,可是一直以来,我的上网习惯可以完全用“潜水”两个字来形容。不过上网看多了,就觉得有些人写文章也是胡诌,下笔洋洋洒洒,通常经不住推敲;很多网站也就是东抄西凑,弄一些博人眼球的花边新闻。也难怪大陆当局一直把整顿网络谣言当做一项工作重点。来到美国以后,发现这个地方阿猫阿狗都能写本书发表,我自己也常常看见各种自传性质的书籍,开飞机的、造火箭的,演电影的,似乎美国人只要做过一点什么事情,就会写本书来宣传。连女儿在学校从小学一年级起就学着写书,而且已经装模作样弄了好几本了(当然都是我们自己买下来)。在这种耳濡目染的环境中呆久了,难免心痒痒的,想要琢磨着找个机会自己发出一点声音。再加上自己是搞 IT 工作的,搞个个人网站实在是分分钟的事情,终于找了个契机就开始了。 博客这个东西一旦开写,就有一种惯性让自己不停的写。我也说不出来这是一种什么心理,但是恐怕和电脑里面的养成类游戏差不多吧。反正是自己的空间,想到什么就说什么,不必担心。写了一阵子以后,我发现写作最少有如下的好处: 一样东西写下来的过程可以帮助整理思路; 写下来的结果可以长久保存; 不平则鸣有助于心理健康。 这么些好处加起来,就是我现在写博客的原因。这里还要感谢一下互联网这个时代,确实改变了世界。如果我们还生活在只有报纸、杂志、电视、广播的时代,恐怕我这辈子都不会有机会发出一些声音。