记坑
1. Python的除法线上有一个简单的函数,运行一年多了,作用是把"分"表示的字符串转成"元":def fen_to_yuan(str_fen): fen = int(str_fen) return '%d.%02d' % (int(fen / 100) , fen %...
View ArticlePython int缓存的那点事[续]
上一篇 说到,对于这样的一段代码:a = 257b = 0x101print a is bPython解释器会为 a 和 b 各 创建一个 PyIntObject...
View Articletest和bash的小坑
昨天黄老湿问了我个问题, [ -e ] 是true还是false?为什么?==== 啦啦啦啦啦的分割线,猜猜吧 ====这种坑题显然只能实践出真知:引用$ [ -e ] && echo yes || echo no yes果然坑了。仔细想想,这个问题其实还是来源于实践的,比如一个很有可能会出现的写法是:引用[ -e $somefile ] && do_sth ||...
View Articlefibonacci 的进化
最近在看SICP,抛弃旧的世界观和方法论压力很大,不过还是很有收获的,比如学习了个O(log(n))的fibonacci算法,大涨姿势啊。想起前几天看到的某个笔试题,说是用最快的办法计算fibonacci数列的第n项。虽然我知道它是有个通项公式的,但是不适用于精确计算,因此写了个迭代的算法,自以为已经很好了,现在看了真是too simple sometimes naive了。众所皆知...
View Article模重复平方算法
在RSA算法里头经常要用到“求x的n次方模m”这样的过程,通常使用O(log(n))的模重复平方算法来实现,提高效率。其实这是大二学的《信息安全数学基础》里面的内容,那时为了考试需要(手算+写出很罗嗦的过程),还专门写了代码放在Blog空间里考试的时候用—……同样O(log(n))的递归算法其实很容易理解:/* C */int square(int x) { return x * x; } /*...
View ArticleMoving the database out of /var/lib/mysql
After wasting over 45 minutes on moving database out of the default "/var/lib/mysql" on Ubuntu, I think this crazy problem should be written down, in case someone get confused by the same problem...
View Article[警告] 苹果apple id密码重置漏洞
#Update@3.23 23:05 早上9点之前密码重置功能被Apple暂停了,下午根据CNBETA的消息漏洞已经修复。今天一个朋友的苹果帐号密码被修改,iMac、iPad、iPhone上的所有资料都被抹除,iMac被锁定无法登陆,几百GB的资料瞬间化为乌有,怀疑是同行恶意行为。悲剧详情可到v2ex的这个帖子凭吊。根据提示这个帖子描述漏洞详情的两个连接 国外版 国内版...
View Articlemk802的wifi配置
本来这篇应该很早就写的,一直偷懒。今天简单记录一下吧。其实很早就想买raspberry pi,但是代购的话比原价贵太多,不了了之。后来看到mk802,说是Arm Cortex A8 1GHz + 1GB Ram,性能远超树莓派,而且可以刷原生Linux(自带的是安卓),一冲动就买了。买回来才发现,mk802只有HDMI输出,用 hdmi 转 dvi 线连 dvi...
View Article无聊的BSF/BSR
今天看到80386+里 BSF/BSR 这对指令貌似挺有意思,Bit Scan Forward/Reverse,它们的作用是正向/逆向扫描一个WORD(16bit)/DWORD(32bit),找出第一个等于1的bit编号。比如对于BX=0x1010,执行 BSF CX, BX 得到的CX=4,而 BSR CX, BX...
View Articlepthread的一点杂碎
1. 虽然都用 -lpthread 来链接到 libpthread.so ,但是实际上 pthread 是POSIX规范规定的接口,不是某一个库的名字。不同的类Unix系统在底层对pthread的实现不一样。2. 在Linux的实现里,每个pthread线程都对应一个LWP(light weight...
View Article记一个高效、简单的nth_element算法
nth_element是一个用烂了的面试题,09年的时候我也曾经跑过一点数据(回头一看好像有点不太对,那时候CPU有那么慢吗?应该是当时没有把读取数据的时间给去掉吧),昨天看到 从一道笔试题谈算法优化(上) 和 从一道笔试题谈算法优化(下)...
View ArticleMPI 简单上手
简单地说,MPI 就是个并行计算框架,模型也很直接——就是多进程。和hadoop不同,它不提供计算任务的map和reduce,只提供了一套通信接口,需要程序员来完成这些任务;它也不提供冗余容错等机制,完全依赖于其下层的可靠性。但是因为把控制权几乎完全交给了程序员,所以有很大的灵活性,可以最大限度地榨取硬件性能。超级计算机上的运算任务,基本上都是使用MPI来开发的。~...
View Article使用ctypes来扩展Python
为了扩展Python,我们可以[用C/C++编写模块](http://docs.python.org/2/extending/ ),但是这要求对Python的底层有足够的了解,包括Python对象模型、常用模块、引用计数等,门槛较高,且不方便利用现有的C库。而 [ctypes](http://docs.python.org/2/library/ctypes.html )...
View Articlemixo:又一个翻墙socks5代理
因为不满ssh tunnel的使用效果,所以2012年12月某天(大概是17号)心血来潮写了这个小东西,由于 [socks5协议]( http://www.openssh.com/txt/rfc1928.txt )...
View ArticlePython里让人精神分裂的super class
本篇来自这个问题:python中创建父类对象的问题也许可以认为这是Python设计的缺陷导致的,因为Python 3.0只需要用 `super().some_attr` 就行了。至于为什么需要两个参数,可以大概分析一下,如果有错,欢迎指正。先介绍下背景知识:super是从Python 2.2开始随着 `new-style class` 一起引入的,也只能应用于所谓的 `new-style...
View Article奇技淫巧(?) 之 解决被删掉又占用磁盘空间的文件
场景:Linux下,进程 p 打开了文件 f 并在后台持续地往 f 中写入日志。某日发现磁盘空间不够,把 f 删掉了,这时 ls 已经看不到 f 的存在,但是 df 发现磁盘空间占用并未减小,而 lsof 仍然可以看到该文件被占用(并显示一个 "(deleted)" 后缀)。更不幸的是,进程 p 是需要长期驻留在后台运行的,不能直接干掉它。解决:简单地说就是替进程解决这个文件。1)...
View Article