-
使用 git bisect 来抓嫌疑代码
Bisect 翻译过来就二分法吧. 学会二分法是很有用的, 特别是对于男生而言, 可以对女生说, 选一个1~64之间的数字, 我猜6次就一定能猜中. 大多数文艺女生会因此对你刮目相看的. 当然那太小儿科了. 一次偶然的机会我从同事那学来了 git bisect 方法, 也就是对代码进行二分法搜索, 从而定位哪一次更改让程序出了问题. 首先在项目的根目录下输入: $git bisect start git 便开始二分搜索了. 然后要告诉 git 两个必要条件, 就是搜索的起点和终点. 一般来说, 起点是程序正常工作的某个 commit1, 而终点是程序出问题后的某个 commit2: $git bisect good HASH_OF_COMMIT1 $git bisect bad HASH_OF_COMMIT2 然后运行程序, 如果结果正常则: $git bisect good 否则: $git bisect bad 如此重复, 如果有64个 commit 需要检查的话, 那么只需最多6次就可以找到把事情搞砸的嫌疑代码了. 参考链接: http://git-scm.com/book/en/Git-Tools-Debugging-with-Git
-
你好 Fedora 19
最近我看到 Fedora 19 发布, 装在 U盘上启动了一下, 然后我就决定在我的 ThinkPad 上用 Fedora 代替 Ubuntu 了. 主要原因就是 Ubuntu 已经不像当年的 Ubuntu 了. 6年前我开始使用 Ubuntu 代替 Windows, 可以确定的是因为当年的 Ubuntu 做到了很多其它 Linux 分支没做到的事情, 就是简单易用: 不用担心中文输入, 不用担心显卡或者打印机驱动, 这让我当年那个 Linux 初级用户增长了很多信心. 每一次 Ubuntu 升级, 都变得比上一次更容易. 但为了支持更多的应用, Ubuntu 不知不觉的变得臃肿起来, 而且稳定程度也在下降. 更让我失望的是, Ubuntu 的娘家 Canonical 开始有点与开源社区分庭抗礼的意思了, 它自家的 Unity 以及即将到来的 Mir 计划都是如此. 一个公司要赚钱那是天经地义的啦, Canonical 比起 MS…
-
在 Linux 中充分利用多核 CPU 来转码
上回写的<听美剧, 练英语听力>之后, 发现忘了放个批量处理的脚本. 下面补上, 顺便练习一下多核心协同处理. 嗯, 手机都4核了不是? 用到的命令类似: avconv -i your.mkv -vn -acodec libmp3lame -ac 2 -f mp3 your.mp3 简单的 bash 单循环写法: ls *.mkv |while read i; do avconv -i $i -vn -acodec libmp3lame -ac 2 -f mp3 $i.mp3; done 这就只用到了一个 CPU 核心. 如果将 avconv 放到后台执行就可以做到多进程, 但又不方便控制进程数, 当进程数远远大于 CPU 核心数时就可以体验一下一台服务器快被烤熟时的感觉了. 后来发现 xargs 支持指定数目的进程, 简直是无法要求更多了: ls *.mkv…
-
笑笑五岁三个月
这个月太忙, 随便放个照片糊弄一下 不知道是哪位马虎的家长, 带了好多家里做的美食到学校给小朋友们吃, 但质量不大过关, 有几个小朋友拉肚子了. 老婆知道之后, 叮嘱笑笑, 除了熟悉的苏阿姨, 别的同学爸爸妈妈给的东西你别吃. 笑笑点头答应了. 结果一天另一个同学的妈妈给笑笑零食, 笑笑就正经的摇着头说, 妈妈跟我说了… 结果旁边的苏阿姨很着急. 于是晚上老婆又赶紧给笑笑的脑子打补丁: 这个不能这么说… 周末我带着笑笑去公园喂鸟, 把家里没吃完的面包都带着了. 到了公园, 笑笑高兴了: 好多鸟围过来要饭吃. 笑笑把面包揉碎了开始喂鸟… 过了一会儿笑笑皱着眉就过来了, 说, 爸爸, 有只鸟笑话我… 我顺着笑笑手指, 不远处一只大白鸭子在戏水, 不时的”嘎嘎噶”叫上几声. 老婆照顾我上班很累, 因此只是周末我才洗碗. 一个周日我洗了碗, 笑笑在一旁不冷不热的说, 爸爸有时候洗碗. 我强调: 昨天的碗也是我洗的! 笑笑一脸坏笑, 说, 那前天的呢? 老婆考试快考完了, 卖乖说道, 考完试了没事干了, 我恐怕会感觉空虚. 笑笑接过话说, 有事呀, 带我出去玩. 笑笑逆反心理已经比较强劲了. 老婆习惯的说, 笑笑你吃这个, 笑笑你吃那个. 结果笑笑啥也没吃. 现在老婆已经彻底改了, 她在吃饭时问笑笑, 这个你不吃吧?…
-
我站起来了
去年刚开始在猫本工作时, 我就惊奇的发现有个同事是站着工作的. 还好我没去问他是不是被罚站. 后来一次碰头会上他推荐大家站起来编程. 这在我当时来看真是找不自在 —- 因为我特意买了一把很舒服的椅子在家. 后来相继又有同事跟随着站了起来工作. 但我依旧没信邪. 在猫本的第二个冬天来了. 第一个冬天我就感觉电脑太节能了, 出的那点热气真不够. 这回我突然想到, 是不是站起来就好些呢, 毕竟坐着是不利于血液循环的. 说来走运, 房东留下个破旧却异常皮实的实木茶几, 高度恰好填补了站立和坐下时肘部的高度差. 这么结实的茶几我还是头一次见, 于是我把电脑桌放在茶几上, 再把显示器/键盘什么的统统搬上去了. 上周六是第一天测试, 测试内容是打游戏. 结果基本上不能证明站立时打游戏的成绩会差. 虽然输了几盘, 但显然是猪一样的(随机组队)队友害的. 但腿脚的感觉是超级好, 我练棉拖鞋都没穿却没觉得脚凉. 果然还是站着利于血循环. 另外这也有效的限制了玩游戏的时间, 因为站久了还是很累的… 还有个好处就是, 站久了去沙发上一坐, 才知道生活是多么的美好. 今天跟同事汇报, 我站起来. 他给我发来贺电. 下一步就是在公司琢磨一下了. 当然, 不能一天全站, 3~4个小时就可以了. 参考链接: Reducing Occupational Sitting Time and Improving Worker Health: The Take-a-Stand Project, 2011
-
对比 XBOX ONE 与 PS4
最近微软的 XBOX ONE 先出发, 真可谓”笨鸟先飞”. 而索尼的 PS4 还没有上市, 只是预售, 却已经有胜利者的样子了 XBOX ONE PS4 价格 USD499 USD399 摄像模块 捆绑 USD59 可选 处理器 8核心 X86-64 8核心 X86-64 内存 8GB DDR3, 系统占3GB 8 GB GDDR5 共享 内存速度 68.3 GB/s 176 GB/s 视觉处理器 1.23TFLOPS 1.84TFLOPS 存储 500GB 500GB 存储可升级 不可 可自行升级 蓝光 有 有 需要在线 每天需在线一次 否 二手游戏限制 游戏光盘捆绑到在线账号 否 主机放置…
-
给 Ubuntu Linux 添加一个大硬盘
曾经预测 3.5″ 的硬盘即将被 2.5″ 硬盘取代. 无奈存储业不争气, 2.5″ 硬盘的容量依旧远远落后于 3.5″. 下面是在 Ubuntu Linux 中使用命令行添加一个 3TB 硬盘的过程. 首先使用 parted (fdisk已退休), 假设新硬盘是第二块, 因此是 sdb: (parted) select /dev/sdb Using /dev/sdb (parted) print Model: ATA WDC WD30EZRX-00M (scsi) Disk /dev/sdb: 3001GB Sector size (logical/physical): 512B/4096B Partition Table: msdos 可以看出, 出厂的硬盘使用的是旧式的 MBR 分区表, 不支持大于 2TB 的分区. 那么接班的是谁呢, 是 GPT (parted) mklabel…
-
笑笑五岁两个月
笑笑的口头禅是”没玩够”. 对此我反问, 你哪天玩够了? 笑笑说, 我有一天就玩够了. 哪天呢? 我追问. 笑笑答, 不记得了. 这个月有一次校园游园活动(这边叫 school fete ), 我带笑笑来玩了个遍, 因为老婆叮嘱她买了通票, 玩少了就吃亏了. 多好笑, 有笑笑在能吃亏么? 笑笑后来实在玩不动了, 让我带她上去玩. 那当然不行, 我超高太多了. 于是带笑笑回家. 半路上, 笑笑在后排迷糊着, 看她体力不支的样子, 我问, 回家你接着睡觉还是玩呀? 笑笑等了好一会儿, 貌似在权衡利弊, 回答说, 我在床上玩吧. 不知道从何时起, 笑笑开始和我竞争谁先洗手以及到餐桌旁入座. 我担心她图快就洗手时糊弄自己, 于是我把洗手间的灯打开(笑笑省略了开灯和关灯两步), 看她仔细洗手. 笑笑洗完, 使劲把水龙头关了, 然后看看我, 说, 这灯可是你开的哦. 然后她大步向餐桌走去了. 吃饭时, 我对老婆说, 某别人家的孩子被宠坏了, 什么家务也不做, 以后肯定败家. 笑笑插嘴说, 爸爸, 沙发是我收拾的哦. 最近我和笑笑抢饭吃, 她爱吃不吃时我就说那我吃吧. 笑笑一开始基本忽略我的虚张声势, 直到有一次我真的把她的饭吃了,…