2017 年我读过的书

2017 年即将过去,以下是我过去一年中读过的书,按时间顺序排列。每本书都附有介绍链接和购买链接各一。 The Elements of Style 英文写作的指导书。语法正确地表达清楚意思才是最重要的,过度复杂的说辞应该被避免。 The Elements of Style @ Goodreads The Elements of Style @ Amazon Foundation and Empire; Second Foundation Asimov 的代表作,Foundation 系列的第二部和第三部。很遗憾自诩为科幻爱好者的我直到这两年才开始阅读这些经典名著。可惜我对这种类型的小说并不是很喜欢。 Foundation and Empire @ Goodreads Foundation and Empire @ Amazon Second Foundation @ Goodreads Second Foundation @ Amazon The Collector 同样是本老书(1963 年首次出版)。主角是个完全的心理变态,全书以主角的视角描述他病态的犯罪心理,讲述他绑架并长期监禁一个女生的故事。 ……

Filebeat + Elasticsearch + Kibana 轻量日志收集与展示系统

有个段子是说现在创业公司招人的如果说自己是「大数据」(Big Data),意思其实是说他们会把日志收集上来,但是从来不看。段子归段子,近些年所谓「微服务」「容器化」等「热门技术」的发展,的确促进了日志收集等技术的发展。而 ELK (Elasticsearch + Logstash + Kibana) 也不再是日志收集与展示系统的铁三角了。本文介绍用 Filebeat 代替 Logstash Shipper,用 Elasticsearch Ingest Node 代替 Logstash Indexer 实现一个更加轻量高效的日志收集与展示系统。 一、Beats 与 Logstash 一样,Beats 也是由 Elastic 公司出品;与 Logstash 不同,Beats 只是 data shipper。Beats 家族共享 libbeat 这个库,每个产品分别实现对不同数据来源的收集。目前官方实现有: Filebeat —— 文件 Metricbeat —— 系统及应用指标 Packetbeat —— 网络抓包分析,如 SQL, DNS Winlogbeat —— Windows 系统日志 Auditbea ……

BorgBackup —— 增量备份方案

生活在电子时代,人们每天都在产生数据。写过的文字,拍过的照片,收集过的网络内容,都是数据。对于程序员们来说,写过的代码,服务器的数据库、日志等,也都是数据。然而硬盘故障、服务器宕机等灾害却随时都有可能危害数据的安全。所以数据需要备份。正如某程序员的语录: 冗余不做,日子甭过;备份不做,十恶不赦! Xin LI本文介绍一款优秀的备份方案:BorgBackup。 一、为什么选择 BorgBackup BorgBackup 的主要优势(总结自官方文档): 高效:BorgBackup 会将文件按数据块去重,只有改动的数据块才会被备份。一个 25 GiB 的虚拟机磁盘文件,只改动了 1 GiB,那就只会新增备份这 1 GiB 的数据; 高速:核心算法使用 C 编译,使用缓存快速跳过未改动过的文件以加快备份速度; 加密:数据默认是 AES-256 加密并且 HMAC-SHA256 校验的; 压缩:支持多种压缩算法,可自动检测数据是否属于可被压缩的类型; 异地备份:原生支持 SSH 备份到异地服务器,也可使用 NFS 等网络存储; 可挂载:可以直接用 FUSE 挂载一个备份存档读取里面的数据; 跨平台:支持 Linux, ……

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 ……