Recuérdame

Disney 的动画电影 Coco 以墨西哥节日亡灵节(Día de Muertos)为背景,讲述了小男孩 Miguel 追寻自己梦想的故事。电影中,已经去世的亲人会进入亡灵的世界继续生活,并且只要有生者记得他们,并在亡灵节当天把他们的照片放在祭坛上,他们便可以在那天暂时回到生者的世界看望自己的亲人。而一旦不再有任何生者记得他们了,他们便会化为一片光辉,达到「终极死亡」。 最近将博客从 WordPress 迁移到了 Lektor,昨天和 Jimmy Xu 聊天时谈到迁移过程中遇到的各种有趣的事情,也聊到了 link rot 的问题。继而想到,我们在互联网上发布的内容,包括创作的文字、拍摄的照片与视频等,只要还有人转载、引用,即使创作者已经自己不记得了,互联网也会记得这些内容,而当整个互联网都忘记了这些内容,那这些内容也就「终极死亡」了。 以下内容主要由我和 Jimmy Xu 的聊天记录整理而成。有删改。 外链图片 在 WordPress 里上传的图片都是存储在 /wordpress/wp-content/uploads/ 目录里的,而迁移到 Lektor 之后这些路径就不再存在了。自己文章里引用的图片地址 ……

Lektor —— 静态内容管理系统

尝试了一下 Lektor 这个静态内容管理系统,觉得挺好用的,于是把博客从 WordPress 迁移到了 Lektor。 一、动态博客与静态博客 本博客的历史可以追溯到 2009 年,至今已经 8 年,曾使用过 Blogger 和 WordPress 作为博客软件。头几年写博客热情高涨,比较高产,而近几年由于种种原因,已经很少写博客了,最近两年基本是一年一更的节奏。博客本身也疏于打理,偶尔想起来,登录一次 WordPress,等待我的却是满满一筒的垃圾评论(被反垃圾插件过滤的),偶尔还能从垃圾筒里捞出几个被误杀的非垃圾评论。除此之外的例行便是点一下 WordPress 里的升级按钮,把 WordPress 本身和各种插件、主题全部更新成最新版本。 前段时间无意中发现了 Lektor 项目。阅读了一下作者的自述,产生了不少共鸣: The longer I'm programming and creating software, the more I notice that I build a lot of stuff that requires maintenance even though it shoul ……

collectd + Graphite + Grafana 搭建网络质量监控系统

前段时间入手一台 Gen8 服务器,主要用来做网络存储。光做网络存储显然太浪费了,感谢 ESXi,一机多用很方便。本文介绍如何在家庭服务器上搭建简单好用的网络质量监控系统。 一、选材 说到网络质量监控,大部分人会想到著名的 SmokePing。SmokePing 的确是经典工具,但未免老旧,配置也略复杂。本文使用 collectd 作为收集工具,Graphite 作为存储工具,Grafana 作为展示工具。这些工具符合「专做一件事情并把这件事情做好」的 Unix 哲学,配置灵活、功能强大。 整体结构是这样的: 二、收集:collectd 正如其名字所暗示的那样,collectd 是一个收集系统各项指标的进程。它自带很多插件,也可以通过自定义插件和数据类型的方式增加更多的收集项。网络质量监控主要用到其中的 ping 插件,该插件依赖 Liboping 这个库。这两个项目在主流 GNU/Linux 发行版中都有打包。 使用你最喜爱的包管理器安装 collectd 和 liboping 之后,使用你最喜爱的编辑器打开 /etc/collectd.conf 文件。这是一个带有详尽注释的超长配置文件,要让 ping ……

HP ProLiant MicroServer Gen8 上手玩

曾经,一台共享空间的 PHP 「虚拟主机」在大部分人眼里就是很高级的「服务器」了,后来随着虚拟化技术的发展,OpenVZ, Xen, KVM 虚拟机越来越普及,Linode 和 DigitalOcean 更是将 $10/mo 的廉价 VPS 推广开来,VPS 可以做很多 PHP 共享主机做不到的事情。近两年,随着越来越多中小企业的发展,「微型服务器」的概念也慢慢出现了。HP ProLiant MicroServer Gen8 就是其中的一员。最近我也入手了一台,当家庭服务器使用。 一、购买 Gen8 是 2013 年的产品了,现在的售价已经比刚出来时便宜不少了。爱折腾的可以去海淘一个便宜的版本,我为了省事就直接在〇东上购买了。〇东上提供了三个型号,分别是: Intel G1610 CPU + 2 GB RAM Intel G2020 CPU + 2 GB RAM Intel E3-1220Lv2 CPU + 4 GB RAM 主要的区别就是在 CPU 了,三款 CPU 分别是赛扬(Celeron)、奔腾(Pentium)和至强(Xeon)系列的产品,价格也由低到高。然而这内存实在是令人郁闷,两条插槽明明 ……

Beancount —— 命令行复式簿记

本文介绍复式簿记的基本概念以及如何使用 Beancount 记账。本文适合的读者: 想要记账的; 曾经或正在记账但是目前对记账方式/软件不满意的; 控制欲强的。 一、为什么要记账 记账能让自己了解自己的财务状况,用大白话来说就是能回答以下问题: 我的钱从哪来? 我的钱在哪? 我的钱去哪了? 一本维护良好的账本能生成很多有用的财务报表,其中最有用的是「损益表」和「资产负债表」,前者能回答第一个和第三个问题,后者能回答第二个问题。为了维护一本良好的账本,你需要科学的记账方法和科学的记账软件,本文将向你安利一种科学的记账方法(复式簿记)和一套科学的记账软件(Beancount)。阅读以下内容之前,你需要做好以下准备: 有基础的会计知识,至少听说过「会计恒等式」; 能熟练地在终端里编辑文本文件,无论 Vim 或是 Emacs; 对自己的财务状况有基本了解,并愿意对此做出优化。 有以下技能会更方便: 基础的 Python 知识,或是其他适合于文本处理的编程语言知识(用于导入银行账单); 熟练使用 Git 等版本管理工具(用于跨设备同步)。 二、什么是复式簿记 复式簿记是一种把每笔交易都记录到复数个账户中 ……