尝试用宏做元编程

之前做thrift服务时,为了处理函数灵活设置,全都作为std::function来实现了。结果是产生了大量的setter接口,每次更新接口都要改好几个地方,而这些都是不必要的浪费时间。于是...

comments

vim实现无插件的snippet

突然发现一年没更新了。更一个凑数(。 公司一直要求写代码要求加文件头注释和函数头注释,但是做当前这个项目的时候一直没加。 被发现后屌了一顿,在补注释的时候发现这种机械性的操作还是需要snippet来做比较方便。 但是公司所有环境隔离,给vim装个snippet插件是不太好搞了,于是自己实现了个简单够用的snippet功能。 参考了reddit上这个讨论, 结合m4来实现。 思路是:vim用map自动输入宏,补全参数,最后调用m4展开 首先是m4文件 divert(-1)...

comments

树莓派串流游戏

前不久入了新的xbox one手柄,体验还不错,多了蓝牙功能连手机和SP3比起有线方便一点。 但是有点不太好的,之前一直用小米盒子串流在客厅玩游戏,现在新手柄有线方式无法识别,蓝牙方式搜不到,可能是旧盒子不支持蓝牙4.0的问题? 虽然小米盒子用不了,但是想到客厅还有个初代B版树莓派,解码性能不错,应该可以支持游戏串流。 得益于moonlight项目,现在几乎全平台都能简单的进行游戏串流了。...

comments

find命令处理奇葩命名文件

linux中的find命令十分好用,特别是在需要批量处理文件时,可以用配合其他命令使用。 但是find命令本身的-exec参数实在太弱了,只能执行单一命令(无法用&&连接命令),无法多线程并行处理,对特殊文件名也无能为力。 使用find配合xargs就能比较好的处理这些情况了。 记录一下自己整理的find+xargs批量处理命令,可以解决奇葩命名,并行处理和&&连接命令的问题: 例如查找所有jpg文件,转换成webp find . -name "*.jpg" -print0 |...

comments

python调用C++函数

其实。这个东西一年前就想记录下来了。就。现在才写。 之前做某个项目的时候有个处理步骤用SSD检测效果比较好。本来想为了统一学习框架,用tensorflow版本的SSD来做。但是因为环境问题,无法一起使用。正好以前其他项目有用过C++写的caffe版本SSD,可以拿来用。 那个时候用的还是Python写的项目,所以要想办法把C++的代码用到Python里面去。...

comments