用铅笔帮助敲键盘

这一阵子右手的食指很痛,几乎都按不了键盘了。现在电脑使用这么普遍,生活中几乎离不开,特别是我还是搞电脑编程工作的,敲不了键盘可是一个非常要命的事情。但是身体的疼痛不会说谎,这下子怎么办呢?

自己为此灰心了好一阵子,期间也上网研究过一些解决办法,但是都没有什么结论。Amazon 上很流行的单手键盘,是给打即时战略游戏的人用的,并不符合我的要求。无奈之下,只有先用右手不疼的几个手指勉强应付,但是键盘指法就都谈不上了,遇到有大块文字的输入,真是很让人恼火。

前两天渐渐静下心来,心想既来之则安之,键盘敲得慢一些就慢一些吧。一念及此,感觉好了很多。我以前有个同事,我看他完全不会键盘指法,输入就是用两个食指,一样也好好的做他的工程师。

既然只能用一只手按键盘,那么我那个高级的 Kinesis机械键盘就反而变成一个累赘了,因为它的键面是弯曲的,一只手找键很不方便。等换上普通键盘以后,我又随手抓起一只铅笔,反过来用用带橡皮的的那一头代替右手按键盘,发现其实比两只手慢不了多少,自己心里很是高兴。看来天无绝人之路啊。上帝给你关上一扇门,总是会打开另外一扇窗。我的心里充满了感激。

Ben 帮助我练习钢琴

我这一阵子右手食指很痛,连键盘都不太能够敲得了,更不用说弹琴了。自己正在学习的曲子,只能反复练习左手的和声,但是没有办法练习右手旋律,更不用说把两个部分和起来了。

只练习和声部分总是有些枯燥,但是自己也没有什么好办法。有趣的是这天晚上 Yetao 跑过来要帮助我弹右手部分,真是一个很棒的主意。后来Ben也跑过来帮忙,Ben右手的旋律弹的像模像样,和我配合在一起听上去很不错,特别是弹到自己从来没有合起来过的部分,旋律与和声第一次响起来的时候我真是有些感动。孩子们帮了我一个大忙,真好。

Citrus Leafminer

后院的橘子树经过我的精心照料,生长的郁郁葱葱,即使是在夏天,也发出了很多嫩绿的新叶,看得我很高兴。可是几周之前我吃惊的发现,大部分新长出来的叶子上都有了一种奇怪的图案,不知道是病毒还是细菌,很多新叶就这样扭曲、枯萎和脱落了,让我大为心痛。我还把受到侵害的叶子拿给太太看,她也是大吃一惊,不知道是何方邪恶生物,可以制造出这样可怕的犯罪场景。

看着越来越多的新叶受到侵害,我终于下定决心研究一下这到底是怎么回事。我把 “Orange Tree Disease” 放到Google图片里面搜索一下,结果很快就找到了很多讲述这个问题的网站,原来这是一种叫做 Citrus Leafminer 的小虫子,专门在橘子树的新叶子里面打洞,最后变成成虫飞走了。 令人感到欣慰的是,文章说这种小虫子造成的损害很小,绝大部分时候都不需要任何处理:因为它只能侵害新叶,老叶子比较坚固,不受影响,所以只有你的树是新栽种的情况下才需要操心,否则没有什么大不了的。文章建议不要使用杀虫剂,也不要剪去受损的树叶(因为这不是由细菌或者病毒引起,不会传染)。文章甚至建议为了避免这种害虫过度繁殖,应该避免夏天给橘子树上太多肥料,这样树就不会发出太多新叶而招致害虫。

文章的作者很达观,对于这种虫害基本上采用放任自流的观点。我看完文章以后也放心多了。 🙂

事实与观点

说来惭愧,虽然修炼了这么多年,但是听到别人对于自己的负面评价,还是难以淡定,特别是如果这些评价还是基于事实的话,那更是会让我长久挂怀,比如有人说我是一个“Self Worker”,暗示我没有领导力;还有人说我“就是太喜欢写程序”,暗示不能抓住项目重点,都是我常常想起来的例子。

最近渐渐意识到,对于别人的评价,还是要分清楚事实和观点。如果评价不是基于事实,那就根本没有必要理会。即使说的是事实,对方的观点你是否需要接受也是大可商榷的事情。我自己确实很喜欢写程序,写出来漂亮的程序自己也很高兴,这一点其实没有什么不好,没有人能够把所有的事情做到面面俱到,在自己喜欢而且擅长的事情上深钻是理所应当的,所以上面这个“就是太喜欢写程序”的评价事实正确,但是观点不一定就是正确的呀。 就像我最近有时候跟太太抱怨,太太就会笑眯眯的说,哎呀我就是这个样子,请你多多包涵啦,这种懂得自嘲的态度不是更健康吗?

从电子灭蚊灯到刺激消费和拉动经济

家里有一个电子灭蚊灯,花了 $60 在 Amazon 上买的。挂在后院里,一到夏天晚上,总是啪啪作响,替我们消灭了很多小蚊虫。Ben 第一次看见这个东西消灭小虫子的时候吓坏了,一下子躲到妈妈的怀里。后来过来很久我问起他这件事情,他还是记忆犹新,跟我讲小飞虫的眼睛一下子变得通红,整个身子都着了火,还发出啪啪的声音和冒出烟味,What the hack! 孩子的眼里看世界还真是不一样。 🙂

前两天Yetao过生日,很多小朋友到家里来玩,结果有个小朋友把灭蚊灯一下子从架子上撞下来掉到地上摔得七零八落,盖子都掉了。我有点心疼,毕竟买一个新的还是挺贵的,但是我试着装了几次都没有装好。正好今天下午没有什么事情,我就拿来工具仔细研究,看看这个东西是不是还能修好。一来二去,结果还真的修好了,插上电源灯就又发出蓝莹莹的光,让我很高兴。废物利用的感觉真是好。

想起上学的时候和宿舍同学有过一次讨论,他跟我讲需求是经济发展的动力,只有大家不停的更新换代,生产过程和经济循环才能持续,所以节俭不是一个好的习惯,应该全力消费才对,总而言之,就是要刺激消费,拉动经济。我当时对他的这套理论大吃一惊,因为从穷苦日子过来,总觉得节俭是一项巨大的美德,从来没有想过还可以从这个角度考虑问题。这么多年我常常回想起那一番讨论,现在也渐渐明白其中的漏洞所在:根本上来讲,地球是有限的,人类的生产生活已经给环境制造了巨大的压力,消费总有一个上限;通过刺激人的欲望来增加经济的总量,恐怕从人与自然和谐相处以及可持续发展的角度来讲,长远来看很难说是一件好事。 从这一点上来讲,我花点时间修好了摔坏的灭蚊灯,而不是简单的把它扔进垃圾筐然后买一个新的,也算是践行了自己的信念吧。

No Pain No Gain – 多一事不如少一事 – 记迁移我的个人站点

几年前自己在 Google 的 Compute Engine 上用 WordPress 建了一个个人博客,前一阵子 WordPress 的后台管理程序提醒说我的 php 版本太老了,需要升级到最新版本。我看了一下,自己当时是使用一个叫做 bitnami 的公司提供的一体化软件装的(包括php, mysql, apache, wordpress 等全套软件),人家公司说不提供单独组件php的升级,这下子就没有办法了。

这两天在家里休假,一时技痒打算不用 bitnami 的一体化软件,而是自己从头开始建一个个人站点。本来觉得小半天就能够搞定的事情,结果前后一共搞了整整三天。中间经历了无数痛苦,特别是:

No pain, no gain, 现在网站迁移完了,自己真的是很高兴,想想付出的努力,自己的快乐就更非比寻常。不过会想起中间几次想要放弃,那个时候也是够纠结的。看来以后开始任何这类严肃的工作,一定要想好是不是能够投入足够多的精力再动手,要不然真的是多一事不如少一事呀。

和Ben的关系最近有很大的改善

自从和Ben的篮球教练吵过一架以后,很长一段时间Ben都不能原谅我,对待我很疏远。我为此苦恼了很长一段时间,太太一直安慰我说会好起来的。时间真的是神奇的东西,随着时间慢慢流逝,Ben又和我变得越来越亲密了,我们一起骑车,一起打牌,Ben最近还迷上了和我一起照顾家里的橘子树,爬上爬下的帮我捉虫子,我们俩在一起度过了很多开心的时光。

我们家车库到客厅的门有个锁,从外面只有用钥匙才能打开,可是钥匙已经有很长一段时间不见了。我和太太都猜肯定是孩子们从车库进屋的时候抢着用钥匙开门,开了以后顺手就不知道扔到什么地方去了。今天早上我和Ben两个人在车库里聊天,想回客厅的时候一推门发现锁上了,我就跟Ben说我们以前有一把钥匙,可是不见了。Ben很兴奋地告诉我说他记得自己把钥匙扔到妈妈的车里了,我们就去车里边找,我本来没有抱太大希望,结果Ben很快就在后座里找到了钥匙,打开了门,然后我们两个人就一起冲进了客厅。Ben很兴奋,我也很开心。和Ben改善了关系,一起度过了这么多美好时光,真好。 🙂

今天很开心,对于工作中纠结了快三个月的模型终于有了深刻的认识

更新现在这个模型已经快三个月了,现在终于有了深刻的认识:

  • 训练数据的问题想要通过模型来修正,那是很困难的,如果能够消除这些不正确的数据,那么一切都会顺利很多。消除的办法可以是简单的 Rule 过滤,也可以是加上权重。
  • 把多Label 标注的问题转化成为一个简单的 Binary Classifier 掩盖了很多实际的问题,但是通过检查模型在每一个 Label 上的表现,可以更好地发现到底是哪里的训练数据有问题。

最后吐槽一下,互联网上的图片,女人的衣服占得比例实在是太多啦!

Katago

疫情期间闲在家里没有多少事情,就和以前的棋友老爷爷下了几盘棋。为了提高棋艺,总结得失,复盘总是少不了的,但是自己一个人水平有限,摆来摆去也得不出个结论,突然想到现在电脑AI这么厉害,拿来分析复盘应该有帮助。上网找了找,发现有一个叫做 Katago 的开源软件很流行,我就跑去下载了一份,折腾了两天,终于在Google Comupte Engine 上建了一个虚拟机,把软件跑起来了。机器配置如下:

  • 8 CPU
  • 30 GB Memory
  • NVidia Tesla V100

操作系统是 Ubuntu 18,安装过程参考的基本文档如下:

Sabaki 使用起来并不复杂,复盘的话只要先把完整的 SGF 文件输进去,然后在 “Game Info” 里面 “Attach Engine”,然后再 “Toggle Engine Analysis”,电脑就会开始分析了。

现在电脑AI 局面分析的功能做的真是强大,界面也做的很友好,立刻回答了自己的很多问题,比如这个局面下应该如何进攻,自己也不知道尖顶上面白棋小飞一子是不是好,电脑就说虽然不是第一首选,但是也有 58% 的胜率呀。

战斗至此,黑棋做了一些准备工作,但是如何进攻依然没有头绪,电脑提示先断二路便宜一个,然后连压再飞攻,已有把握吃掉白棋。 搞笑的事自己这盘棋直到下完也没有看出来二路断是关键的一步,而电脑几乎从头到尾都在提示这步棋,真是汗颜。 🙂

实战被白棋断开,自己觉得黑棋很苦,电脑却提示黑棋有90%的胜率,真是搞笑,关键还是没有看出来二路一断,可以很漂亮的整形。另外对于弃去两子转身也没有任何概念。

实战下成这样,黑棋依然有80%以上的胜率,看来围棋逃孤棋并不是不好,只有实空足够即可,这个观点很实用呀。

被攻击的时候,看不出来上面切断是先手(因为白棋角上要做活),计算能力真是太差了。

实战做活没有利用到白棋的弱点,结果切断的价值不再,胜率也急转直下,只有30%多,变成白棋领先了。

有了电脑复盘真是好,自己的围棋下得真是臭啊。