学憋气

昨晚本来打算在办公室加一小会班再回家。

老婆给我发了一个信息,说CC今天第一天上游泳课,教练教在水里憋气,他没到3秒就冒出来,教练说要回家好好加练一下,要练够10秒钟,并且发视频给他确认。老婆觉得家里人都教不了,让我早点回家给CC练习一下。

于是我就回去了。

CC在院子里疯玩,于是把他叫回家。先是捏鼻子、闭嘴摒住呼吸,看看能否坚持10秒钟,嗯,没问题。然后拿个湿纸巾盖住他口鼻,看看能否10秒钟,他开始露馅了,原来是鼻子忍不住还是想动想呼吸。如是练了两次。

打了盆清水,让CC把脸埋进去试试,他话就多了,比如,你数快一点啊,我说,我用手机来计时;比如水太凉,要温水,我说不行,就是凉水;不要按脖子,我疼,我说,好,你自己深呼吸后把脸放进去。讲了一大轮,才尝试埋进去两次,最多就3秒。

然后在线英语课到了,就先上英语课。

上完英语课,我说,继续联系吧,今天练不到10秒就不要睡觉了。

CC开始说困了,正好外婆又说他中午没怎么睡,就更有理由了,反反复复跟我争,我困了想睡觉为什么不让我睡,明天早上练习好不好?对这样的逃避我一律拒绝。

最后不得不先打了,再说一句废话打一下。如是把他手都打红了。

然后我修改了训练规则,要练20次,每次时间必须比上一次长,否则不算。练到10秒钟可以录像就可以结束。

CC又问了,问什么每次要比上一次长,我说,你玩游戏也知道每次要玩一个更高分啊。再问就打。

CC只好忍着眼泪去练习了,几次就5秒、8秒、11秒,于是我叫老婆过来录像,这次表现得不错,一下就到了16秒。

于是把他解脱了。

他到床上歇了一下,就很开心的出来跟我们说他又不困了。我问他喜不喜欢爸爸,CC很认可。

知子莫若父啊。

 

经验的疆界

上次是在广州的一个培训上听老师介绍的这本书。于是在淘宝上买了一本,却没有原版的了,原版的很贵,只有复印放大的版本。


今天看完,受益匪浅。

目前印象深刻的几点,包括经验复制是否会带来成功?这个是很复杂的,一个变量少的领域内,这个复制会容易碰上相关影响最大的变量。但是变量多的,比如商业行为,就可能性大大降低了。

如何消除噪声也是一门技术。

另外就是,经验的复制,会打击创新,因为一般来说,创新的成功率不如经验复制。但是组织不考虑创新,单纯的经验复制会趋向平庸和退步。

最最重要的是,这本书告诉我一点,所有的模式、故事都是针对真实情况的主观抽象,当然有智慧在里面,但那不一定是最优的,因为真实永远是最复杂的。一个模型能把握住主要矛盾就不错了。

正文只有92页的书,强烈推荐。

路遥知马力

路遥知马力,日久见人心。原意说的是需要一个长时间的考验,才能判断一个人是否足够的合适、或者足够的好。

然而,时间成本是很高的,因此又有另外的判断方式,就是“疾风知劲草,板荡识诚臣”。在外部压力强大的情况下,能从容应对的才是刚劲,在风雨飘摇之前保持气节的才是真的忠诚。

认识一个人,平时嘴巴很大,大家都接不上口,另外又因为职位偏高,即使说出一些歪理,大家也不愿意忤逆鳞,说了就说了。他又很有抱负,于是主动承担了重要的职责。

开始还好的,一切困难尚未出现,然而对于没有做足准备的人来说,困难总是与日俱增,慢慢就承担不住了。这时候大嘴巴又发作了,在困难的情况下,再加上对各位的支持的情况有些怨怼,于是就变成口不择言的攻击了。

作为一个旁观者,你怎么帮助?一开始我们想介入这个工作,希望帮他理顺了,然后事情就有步骤地进行。理顺工作总要有一个接触和沟通的过程,而跟他下属的沟通过程,则被视为一种挖墙脚的行为。或者是看到工作方向上有考虑不完善的地方,指出来,希望探讨一下,则又被视为一种指手画脚的干涉。

话说回来,大嘴巴不是问题,但在压力下和困难的情况下不能让自己保持冷静,相反却被自己的执念和妄语所引导,就会行为偏激。

言语上对他人的攻击,却套上一句“话糙理不糙”的外衣,外人就不好回话了。而语言暴力借此发力,让沟通变得困难。

外公

早上走到沙河西,想起来个事,小时候外公不待见我,主要有一次我去上溪,在他家里呆着,那时候也是6月,荔枝很好,他就叫我去我舅的荔枝树去爬树摘荔枝吃。可是大人的一些矛盾,我是清楚的,为了避免产生不必要的麻烦,我选择回屋看书。外公后来也回来,发现我没有去摘,有点生气,从此认为我是一个比较废的人,只会看书,必然是个书呆子,有荔枝都不会摘来吃。话从此也传回我耳中,我自然也是不爽。我考虑周到成熟还有错吗?那时候我才7~8岁。

我哥我三个表哥,外公都有指导过他们作文,还是大人的一些矛盾,我就没有接受他的课外教育了。当然了,我也不觉得这有什么。

等到我考大学,前几年几位哥考大学是一年考一个,分数是递减的7xx,6xx,5xx,4xx,标准分。有人不小心说怎么一年比一年低的,我妈就很生气,说怎么可能我会考个3xx。最后我考了8xx。外公也没有太热烈高兴,只是跟我说,“天道酬勤”。

我脾气还是有点像他的。所以互相看不太顺眼。

刚收到通知,外公早上过世了。有点茫然。一方面早上的回忆确实是他对我的遥感,只是我仍然记得的是那些多年前的不大愉快的过往。

愿他老人家安息。

电子产品退回重售成常态?

最近,买了个京东的行车记录仪,主要考虑到可以用手机连接直接获取视频和照片。

但是wifi连上之后,设备却始终连不上?为何?

想起几天前在海边度假屋里使用那个卫星锅的机顶盒时,老板打电话过来,特意吩咐授权过之后如果还不行,请恢复出厂设置。

当时果然不行,于是按个0000进入系统设置菜单,恢复出厂设置就好了。然则,我拿到手的新机顶盒并不是出厂设置啊?

同样的思路,把360的行车记录仪恢复了出厂设置,也变得OK了,一切都很好。

问题就在于,这些到了最终用户手上的电子设备都需要再重设出厂设置,因为他们出厂后被(轻度/重度)使用过。

从一般感觉上,京东的商品这一块还算正常,折扣也算正常,但不会注明是重销售产品。而亚马逊的折扣相当大,细心一看,原来确实是重新销售的退换货。

至于愿不愿意购买,消费者就自行决定了。

如果说是淘宝,低于正常价格的,基本上都是翻新货或者二手货了。

中国的工业革命

挺不错的书,总结了中国自80年代开始,第一次工业革命与第二次工业革命成功的原因,反驳了很多其他的固有观点。

重点还是为什么一定要有第一次工业革命,从我自身的观察,虎门就是从塑料花和制衣业开始的第一次工业革命。因为第一次工业革命正是可以形成第二次的市场需求。

也为计划生育辩护,虽然目前看来有人口老化等等问题,但如果不是计划生育,中国70年代末80年代初的农业成果很可能会被增长的人口所吞噬,重新陷入马尔萨斯陷阱。

反复强调政体不是工业革命成就的原因,例子当然很多了,工业革命必须是政府在政策上协助,再加上统一的市场而成的。

作者隐隐有抬起邓公为历史伟人的意思,当然了中国执政党也是功不可没。

 

起名

如果顺利的话,当然就要给次子起名了。

目前考虑的几个,多数要跟长子名字有些对应关系:

立夷,立与卓对,夷与希对,听而不闻曰希,视而不见曰夷,取的是大道无形之意。不过夷字现代越来越少用,怕太太接受度不高。单独理解则取郑风*风雨 “既见君子,云胡不夷”之意。平静。

立羽,鸡年宝宝,立羽意义不错,羽与希对,大音希声,降调成羽,五音最高的一个。比较实际的音调吧。

立丞,这个是没什么想法了,丞取辅助之意。这几个都是5-6划。粤语里跟堂兄弟名字重了。

立秋,就是跟着出生的节气走了。估计太太不会太喜欢。

立延,因为是次子,取延长之意,人生如负重道远,不得不延。

另外,考虑沿用 卓字,第三个字继续用7划的话,

卓良,卓越,优良之意。

卓凡?立凡?希与凡对。

立帆,帆是巾部,跟希一样……立帆,即扬帆也,启航,我们的征途是星辰大海。

翻出这篇私密,最后我给小宝取了 向航 的名字。我们的征途是星辰大海。

Soot的过程

soot Phrases

Soot的标准过程无非就是从Classes到Jimple Bodies再到Baf Bodies再到Classes的过程。

先看这个是必要的。理解了Soot的过程,才知道在哪里插入修改,然后又达到些什么目的。

主要参考文章:Packs and phases in Soot(2008) 

从jb开始:所有的非系统方法都有jb,而jb生成的过程是不可修改的,可以理解成这是一个忠于原著的内容翻译过程。

下一步是cg:生成整个调用图。此阶段的修改适用于调用关系分析,以至一些污点传染分析等。

再下一步是whole program:注意到wjtp->wjop->wjap和后面的jtp->jop->jap是类似的,只是前者针对全局进行处理。wjtp的过程的修改适用于加入inter-analysis(全程序范围分析),可用于soot.Main里面修改一些context?猜测的。wjop的过程修改适用于全局替换或插入?wjap,不清楚。

w-*的过程默认是不打开的,要使用的话需要显式指定soot启用w过程(-w)。

而jtp,用于加入intra-analysis,在方法中增加一些锚点等。默认打开。

jop,默认不打开。可用于混淆代码?猜测的。

jap,默认打开,但内部所有过程是关闭的。需要程序中根据需要使能。

 

持续更新。

 

 

在Soot之前有分析过的一些工具

这里列举一下,就当是备份了。

首先看的是QARK,基于python和JRE1.6的一个工具,运行在OSX和*nix上,(值得留意的是,在最近的查找中,windows上的支持越来越少了),主要是漏洞检测工具。类似的Java代码漏洞检测工具不少,但不是我想要的。我想要的是一个容易理解和修改的污点检测工具,用来跟踪敏感数据的流向。

SPARTA/DARPA,一个大学项目,要得到源代码,然后依赖于人工添加注释的方法得到信息流,source(源),sink(流向)的数据。提供一个检查框架,依赖于半自动的方式检查APK里面的malware风险。由于是人工参与,所以成本控制方面并不理想。需要a.训练相关的人检查,b.需要开发者提供代码并有效注释。

继续阅读

Soot初入

很抱歉的是很久很久没有做过Java工程了,加上Soot又是一个历史很悠久的项目,而用者也不多。

这是一个反编译并重新优化/修改/混淆代码的Java分析框架。

以下是一些Java的基础,哭。

JAVA_HOME

CLASSPATH,用于jvm运行时查找相关class的,如果当前路径查找,必须加入”.”。相关的.jar如果不想-cp(classpath的缩写),也必须加入CLASSPATH。

有包路径的class,直接查找是不行的,要构造个包……

继续阅读