All Stories
以前吧,虽然经常被骂,还被气得肝疼,但那都是人际方面的问题,还可以安慰自己至少做的事情还是比较有兴趣的。现在嘛,被骂得少了很多,倒是做的事情越来越没意思了。
今天一个人闲来无事跑去图书馆续证,结果发现证上说的2年有效期虚惊一场,不知何时起已经改成永久有效了。于是又去中文外借室逛了一圈,还真找到几本感兴趣的书。其中一本是老毛子写的《深入实践Boost》,里面有一段讲到了Boost.coroutine,看了一遍不是很明白其中的用意,于是我又想起Lua中的coroutine来了。Lua在几年前学过用过,写过几万行的代码,但最精髓的部分(coroutine,table高级用法等)却被我略过了。于是这次在网上逛搜了一通相关的中文文章,终于有了一点点理解。
最近一直在用shell脚本自动在跑一个简单的测试,就是不停地停止和重新启动一个relay进程,如此反复轮循,这样每过一段时间,比如两三天,或者更短或者更长,就会遇到一个问题:再也停不了任何一个relay进程,也不会重新启动进程。
昨天花了一天时间,把github上几个Go程序通过travis实现交叉编译,再把编译生成的二进制可执行文件push回github上的prebuilt branch,这样每次有新的commit后,都会自动生成各个支持平台的最新的二进制可执行文件,相当方便。
之前一段时间一直遇到一个问题,假设有L和R两个程序,L负责启动R,杀掉R,或者在R异常退出时自动重启R,众所周知在Linux上一个程序要运行另一个程序,是先fork,然后exec执行另一个程序代码。于是问题来了,大绝大多数情况下L和R都如预期地运行,但有时候会出现R没被运行起来,用ps看是两个L在跑,也就是说fork了之后没执行到exec那儿!
Rust总用来跟C++,尤其是Go来对比。我也差不多学了并用了近一年的Go,基本上可以用来独自做些并不复杂的程序,最近特别想去学一下Rust,想看看到底和Go各有什么优缺点。
之前很长一段时间都是用ConEmu来实现Tab化的PuTTY,后来由于发现PuTTY的屏幕刷新不如SecureCRT的快,最近用了一段时间的SecureCRT,不过又发现SecureCRT有两个很让我受不了的问题:
2014年这么快过完了,真是有点不知所措,很多计划中的事情依然没有完成,甚至没有开始。