iTimothy

君看一叶舟,出没风波里

0%

在日常的开发中,我们会有让程序在不同平台运行的需求。除了常用的Windows系统,Linux系统以及Mac OS系统外,我们甚至还希望让程序运行在以树莓派为代表的ARM平台下,或者是跑在嵌入式设备的路由器上。要构建出适合不同平台的镜像并不是一件容易的事情,除非你直接到目标平台下构建,或者模拟出目标平台下的环境来进行构建。

阅读全文 »

Spacemacs是一个非常不错的基于Emacs+Evil的配置,默认的开箱即用的安装方式,省去了 Emacs对于新手相对繁琐的配置,安装过程对新手用户也非常友好,是Vim用户体验Emacs的 不可多得的选择。

自从上次从Vim切换到Spacemacs之后, Spacemacs已经能满足我日常开发需求。不过,现在我找到了更加适合我的Emacs配置: Doom Emacs。

阅读全文 »

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.

前言

自从 2013 年入手 HHKB Pro2,以及后续入手 HHKB Pro Type-S以来,HHKB 已经成为我日常工作的主力键盘。尽管后续官方还推出了 HHKB 的蓝牙版本,考虑再三,我也没有继续再入手了。原因是官方的蓝牙版 HHKB 有一个凸起的电池仓,由两节电池进行供电。相比起有线版本,凸起的电池仓有点影响美观。

要是 HHKB 的蓝牙版能通过内置锂电池的方式对键盘进行供电,并去掉那个电池仓的话,那岂不是更好?

阅读全文 »

Fira是Mozilla主推的字体系列。Fira Code是其中的一员,专为写程序而生。出来具有等宽等基本属性外,还加入了编程连字特性(ligatures)。编程连字特性,其实就是利用这个特性对编程中的常用符号进行优化,比如把输入的「!=」直接显示成「≠」或者把「>=」变成「≥ 」等等,以此来提高代码的可读性。

作为传说中的程序员,Fira Code也早已称为我的各大常用编辑器标配字体。Fira Code在其他编辑器和终端上配置较为简单,选中字体过后,启用Ligatures Feature即可。Spacemacs和Emacs的配置稍微复杂一些,这里分享一下Fira Code在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是Mac OS下一个必备的软件包管理神器,用它来安装软件能省去不少的麻烦,因为它能自动帮你搞定一些软件包的依赖关系。稍微麻烦的是,在HomeBrew中,当使用brew upgrade命令的时候,会直接更新软件到最新的版本,而本身没有提供一个可以在升级某个软件之后再回滚到某个指定版本的功能。

阅读全文 »

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

等等,容器的安全搞定了,那一堆Redis的Key怎么清理掉呢?搜索了一下,Redis本身并没有提供批量删除Key的功能。但是,我们可以用一些骚操作来实现批量Key的删除。

阅读全文 »

起因

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

阅读全文 »

前言

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

阅读全文 »

前言

自从2017年入手Gen8之后,就一直没有太多时间折腾它。这一年多以来,都是把Gen8当作一个普通的下载机来使用。不得不说,Gen8定位于家用服务器的角色,还真是稳定。从17年至今,除了偶尔遇到停电,这台Gen8一直都是7*24小时运行,从未遇到系统宕机的情况。时至18年底,哥打算继续折腾一下ESXi虚拟化,顺便把Gen8升级一下。于是有了这篇折腾文……

阅读全文 »

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

阅读全文 »