Your own time zone

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,An

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在其他编辑器和终端上配置较为简单,选中字体过后,启用Ligature

使用Spacemacs打造你的开发环境

前言从Vim到NeoVim至今,已经三年多了,我的主力开发环境依然是iTerm2+Tmux+NeoVim。中途还试过VSCode和GoLand,作为新生代的编辑器,这两款用起来果然不错。不过,总感觉可以折腾的东西变少了一些。后来看到Emacs里面的Evil Mode,知道原来在Emacs里面也可以折腾Vim的键位绑定,何不一试?在Google和查找了很多资料,还找到几份不错的Emacs配置,拿来直接修改一下就可以满足自己日常Go的开发了。不过对于我这种Elisp不太熟悉的新手

使用HomeBrew安装回滚软件到指定版本

HomeBrew是Mac OS下一个必备的软件包管理神器,用它来安装软件能省去不少的麻烦,因为它能自动帮你搞定一些软件包的依赖关系。稍微麻烦的是,在HomeBrew中,当使用brew upgrade命令的时候,会直接更新软件到最新的版本,而本身没有提供一个可以在升级某个软件之后再回滚到某个指定版本的功能。就拿Tmux来说,我常常会在日常工作中用到它,但是Tmux的版本更新往往比较激进,作者仿佛不太考虑和之前版本的兼容性,而带来一些breaking changes。导致在某个新

Redis中批量删除Key

最近在自己的阿里云服务器上跑一个Redis容器,不小心监听了宿主机器的0.0.0.0地址,而且Redis server裸奔没密码,被嗅探到并植入了一堆辣鸡Key,网卡流量跑了接近1TB。还好是docker跑的,因为容器的隔离,宿主机器没被植入啥后门。修复的措施也比较简单,直接rm了docker容器,重新跑了一个redis,把端口修改为只监听127.0.0.1的本机地址,问题解决。等等,容器的安全搞定了,那一堆Redis的Key怎么清理掉呢?搜索了一下,Redis本身并没有提供

使用Docker生成LetsEncrypt证书

起因自从Blog启用SSL证书以来,一直用LetsEncrypt家的免费SSL证书。最近,因为配置一些新的域名,免不了要继续申请LetsEncrypt的新证书。之前申请证书的方法,都是手动git clone在GitHub上的那个certbot项目,然后运行命令。这种方式唯一的不足,是certbot本身需要用到python环境,每次申请证书还会更新一些本机的环境,如果遇到了Linux的包冲突,还得先解决冲突才行。解决办法基于这样的困扰,哥想到了能不能用Docker来实现证书的申

Gen8折腾记--Proxmox VE篇

前言自从上次在Gen上搭建Esxi虚拟化平台过后,感觉总算是把Gen8给充分利用起来了。在虚拟化平台上使用软路由的体验也很好,唯一不足的地方,是在Esxi上不可避免的遇到了Gen8的磁盘驱动问题。在网上搜索了一下,通过更换回低版本的磁盘驱动,感觉磁盘性能仍然没能提升,就算把硬盘进行直通,从局域网拷贝高清电影的速度也只能在40MB/s左右。好吧,打算要彻底放弃Esxi平台了。于是,哥又把折腾的目标设定为了PVE。PVE全称Proxmox Virtual Environment,

Gen8折腾记--ESXi虚拟化与软路由篇

前言自从2017年入手Gen8之后,就一直没有太多时间折腾它。这一年多以来,都是把Gen8当作一个普通的下载机来使用。不得不说,Gen8定位于家用服务器的角色,还真是稳定。从17年至今,除了偶尔遇到停电,这台Gen8一直都是7*24小时运行,从未遇到系统宕机的情况。时至18年底,哥打算继续折腾一下ESXi虚拟化,顺便把Gen8升级一下。于是有了这篇折腾文……CPU升级Gen8原装的CPU比较弱,是赛扬的G1610T,一款2核2线程的低功耗CPU,对于一般使用而言性能足够了。这

CentOS更新软件包提示cannot allocate memory错误与解决

最近一台VPS在使用yum命令更新系统软件包的时候,出现Cannot allocate memory类似的错误,看来是内存不足了。这台VPS内存是512MB,安装了CentOS7的系统。出现类似错误,应该是系统内存不足了。有一种解决办法,就是增加磁盘交换分区,拿磁盘空间来模拟内存,这是一种牺牲速度和效率的办法,毕竟磁盘读写速度比起内存差了N条街。不过,用这种办法临时解决一些问题还是挺有用的。VPS之前并没有加载SWAP分区,需要我们临时生成一个文件,并挂载为SWAP分区:12