New York is three hours ahead of California,
But that doesn’t make California slow.
Someone graduated at the age of 22,
But waited five years before securing a good job.
Some became a CEO at 25,
And died at 50.
While another became a CEO at 50,
And lived to 90 years.
Someone is still single,
While someone else got married.
Obama retired at 55,
& Trump started at 70.
Everyone in this world works based on their time zone.
People around you might seem to be ahead of you,
& some might seem to be behind you.
But everyone is running their own race, in their own time.
Do not envy them & do not mock them.
They are in their time zone, and you are in yours.
Life is about waiting for the right moment to act.
So, relax.
You’re not late.
You’re not early.
You are very much on time.
HHKB 蓝牙改造指北
前言
自从 2013 年入手 HHKB Pro2,以及后续入手 HHKB Pro Type-S以来,HHKB 已经成为我日常工作的主力键盘。尽管后续官方还推出了 HHKB 的蓝牙版本,考虑再三,我也没有继续再入手了。原因是官方的蓝牙版 HHKB 有一个凸起的电池仓,由两节电池进行供电。相比起有线版本,凸起的电池仓有点影响美观。

要是 HHKB 的蓝牙版能通过内置锂电池的方式对键盘进行供电,并去掉那个电池仓的话,那岂不是更好?
在Spacemacs中配置Fira Code并启用ligatures特性
Fira是Mozilla主推的字体系列。Fira Code是其中的一员,专为写程序而生。出来具有等宽等基本属性外,还加入了编程连字特性(ligatures)。编程连字特性,其实就是利用这个特性对编程中的常用符号进行优化,比如把输入的「!=」直接显示成「≠」或者把「>=」变成「≥ 」等等,以此来提高代码的可读性。

作为传说中的程序员,Fira Code也早已称为我的各大常用编辑器标配字体。Fira Code在其他编辑器和终端上配置较为简单,选中字体过后,启用Ligatures Feature即可。Spacemacs和Emacs的配置稍微复杂一些,这里分享一下Fira Code在Spacemacs下的配置。
使用Spacemacs打造你的开发环境
前言
从Vim到NeoVim至今,已经三年多了,我的主力开发环境依然是iTerm2+Tmux+NeoVim。中途还试过VSCode和GoLand,作为新生代的编辑器,这两款用起来果然不错。不过,总感觉可以折腾的东西变少了一些。后来看到Emacs里面的Evil Mode,知道原来在Emacs里面也可以折腾Vim的键位绑定,何不一试?
在Google和查找了很多资料,还找到几份不错的Emacs配置,拿来直接修改一下就可以满足自己日常Go的开发了。不过对于我这种Elisp不太熟悉的新手,配置文件出错了得花时间调试和排错。不得不承认,这是一件稍微痛苦的事情。
再后来,直到我把目光转向了已经火了一段时间的Spacemacs。通过最近一段时间的尝试,我发现Spacemacs经过一波折腾和配置,能完全满足我的日常Go开发的需要,甚至有越用越顺手的感觉,罪过罪过……难道我这就要背叛Vim转向Emacs了?不对!我并没有背叛Vim,我只是想在Emacs里面用Vim而已……
提起Spacemacs,它并不是一个Emacs的单独发型版本,而是一份集成度和友好度更高的Emacs配置文件而已。按照官方的介绍,Spacemacs是一个由社区驱动的Emacs衍生版本,正如官网上的这句话: The best editor is neither Emacs nor Vim, it's Emacs and Vim! Spacemacs社区的目地仿佛是为了消除Emacs和Vim之间的战争。而在我看来,Spacemacs的出现是为了综合Emacs和Vim的长处,让更多的Vimer可以在其中体验Emacs。
使用HomeBrew安装回滚软件到指定版本
HomeBrew是Mac OS下一个必备的软件包管理神器,用它来安装软件能省去不少的麻烦,因为它能自动帮你搞定一些软件包的依赖关系。稍微麻烦的是,在HomeBrew中,当使用brew upgrade命令的时候,会直接更新软件到最新的版本,而本身没有提供一个可以在升级某个软件之后再回滚到某个指定版本的功能。
Redis中批量删除Key
最近在自己的阿里云服务器上跑一个Redis容器,不小心监听了宿主机器的0.0.0.0地址,而且Redis server裸奔没密码,被嗅探到并植入了一堆辣鸡Key,网卡流量跑了接近1TB。还好是docker跑的,因为容器的隔离,宿主机器没被植入啥后门。修复的措施也比较简单,直接rm了docker容器,重新跑了一个redis,把端口修改为只监听127.0.0.1的本机地址,问题解决。
等等,容器的安全搞定了,那一堆Redis的Key怎么清理掉呢?搜索了一下,Redis本身并没有提供批量删除Key的功能。但是,我们可以用一些骚操作来实现批量Key的删除。
使用Docker生成LetsEncrypt证书
起因
自从Blog启用SSL证书以来,一直用LetsEncrypt家的免费SSL证书。最近,因为配置一些新的域名,免不了要继续申请LetsEncrypt的新证书。之前申请证书的方法,都是手动git clone在GitHub上的那个certbot项目,然后运行命令。这种方式唯一的不足,是certbot本身需要用到python环境,每次申请证书还会更新一些本机的环境,如果遇到了Linux的包冲突,还得先解决冲突才行。
Gen8折腾记--Proxmox VE篇
前言
自从上次在Gen上搭建Esxi虚拟化平台过后,感觉总算是把Gen8给充分利用起来了。在虚拟化平台上使用软路由的体验也很好,唯一不足的地方,是在Esxi上不可避免的遇到了Gen8的磁盘驱动问题。在网上搜索了一下,通过更换回低版本的磁盘驱动,感觉磁盘性能仍然没能提升,就算把硬盘进行直通,从局域网拷贝高清电影的速度也只能在40MB/s左右。好吧,打算要彻底放弃Esxi平台了。
CentOS更新软件包提示cannot allocate memory错误与解决
最近一台VPS在使用yum命令更新系统软件包的时候,出现Cannot allocate memory类似的错误,看来是内存不足了。这台VPS内存是512MB,安装了CentOS7的系统。出现类似错误,应该是系统内存不足了。有一种解决办法,就是增加磁盘交换分区,拿磁盘空间来模拟内存,这是一种牺牲速度和效率的办法,毕竟磁盘读写速度比起内存差了N条街。不过,用这种办法临时解决一些问题还是挺有用的。
Bing每日壁纸API
之前用Go实现了一个短网址服务BitURL.top,背景图片采用了随机展现的效果。后来想到了Bing的每日壁纸还不错,在网上搜索了一下,顺便搞了一个Bing每日壁纸API的开源项目。利用这个API,你也可以获取和展现Bing的每日壁纸了。
Bing每日壁纸API是一个基于RESTful的API,这里有一个已经部署好的API,此API已经支持HTTPS,可以放心调用。
新网站VPSDalao上线
2017年的时候,发现一个流弊的域名vpsdalao.com竟然没被注册,于是心血来潮注册下来了。自从注册过后,这个域名就开始吃灰了,因为一直没想好要用这个域名做个啥。直到后来想到了要实现一个VPS库存监控的东东,才想起来这个域名。再后来,又拖延了半年的时间,陆陆续续实现了监控的功能,等到功能实现得差不多,却发现域名又该续费了……
2018年底,网站终于部署上线了!上线之后,还自行测试了两三个月,发现没有啥大的bug了,打算在此宣传一下……