acm mm short rejected

第一次投paper,花了一个星期的时间连写作带实验(之前代码基本写完了)
本来还抱有一丝幻想。
结果,还是华丽丽的reject了。。。
4个review,1个给了reject,2个给了weak reject,1个给了weak accept。
大致的问题都是:1)实验结果曲线不符合常理。2)写作里面一些公式没必要,一些公式有问题或者未声明。3)理论部分创新不大。
唉,果然还是太天真了啊。看来实验还是得弄出个看上去“正常”的曲线啊,否则人家一看实验就觉得reject了……

windows下绑定线程(进程)到指定CPU核心

不知各位程序员在测试代码性能的时候有没有注意过,一个程序指定到单独一个CPU上运行会比不指定CPU运行时快。这中间主要有两个原因:
1)CPU切换时损耗的性能。
2)Intel的自动降频技术和windows的机制冲突:windows有一个功能是平衡负载,可以将一个线程在不同时间分配到不同CPU,从而使得每一个CPU不“过累”。然而,Inter又有一个技术叫做SpeedStep,当一个CPU没有满负荷运行时自动降频从而达到节能减排的目的。这两个功能实际是冲突的:一个程序被分配到多个CPU协同工作->每个CPU都不是满载->每个CPU都会降频->windows发现每个CPU性能都降低了,因此程序执行速度也降低了。

因此,将线程(进程)绑定到指定CPU核心,从而不让windows自作主张帮我们分散任务,从而提高单线程效率是很有必要的。有两种方法实现绑定进程到指定CPU:
1)手工调节:在资源管理器的进程里面,设置相关性,可以设置进程到某个或者某些指定的CPU核心。
手工指定CPU核心
这种方法最简便,同样是最优效率的,因为你可以根据当前CPU的负载情况进行选择。
2)代码自动调节:
参考:http://www.cnblogs.com/kex1n/archive/2011/05/09/2040924.html
具体函数为:
DWORD_PTR SetThreadAffinityMask(HANDLE hThread, DWORD_PTR dwThreadAffinityMask);
其中,第一个参数为线程句柄,第二个参数为一个mask。
如果要知道当前线程的句柄,可以通过函数:GetCurrentThread()得到。否则,在创建多线程的时候,也同样可以得到创建的线程的句柄。
第二个参数为mask,可取值为0~2^31(32位)和0~2^63(64位),每一位代表每一个CPU是否使用。
比如,你要指定进程到第0个CPU上,则mask=0x01
第1个CPU:mask=0x02
第2个CPU:mask=0x04 (注意不是0x03)
第3个CPU:mask=0x08
以此类推。
如果要指定多个CPU:
比如第0、1个:mask=0x03
第1、2个:mask=0x06
以此类推。
如果CPU个数不足,则会进行取模操作。比如一共4个CPU,则mask=0x0010则和0x01一样。
这种方法的好处是多线程时不用每次都手动选择CPU,缺点是万一选到的CPU负载很高,那么程序执行速度就慢了(英雄所见略同所以大家都抢到同一个CPU去了么~~)
效果如下图所示:
指定CPU核心
还有一个实用的函数来获取当前CPU的核心数量:

SYSTEM_INFO info;
GetSystemInfo(&info);
printf("Number of processors: %d.\n", info.dwNumberOfProcessors);

输出的是逻辑核心数量,比如i3处理器就是双核心四线程,输出4。i5处理器是四核心四线程,输出也是4。
这样就可以方便的知道当前系统一共有多少个CPU了,同时也方便了线程数选择。

暑期实习碎碎念

前些日子大家都在找暑期实习,于是凑热闹也投了四个:
网易游戏:简历没过,连电面都木有:因为简历才写了几行字没贴照片。于是知道了简历要好好写;
百度:简历好好写了,结果鸟通知都没有:好像压根就没举办找实习生的活动吧,所以即使简历写好了也没有用;
腾讯:有了笔试通知,结果和微软的面试时间冲突,所以即使有笔试也不一定可以参加;
微软:笔试okay,面试之后了无音讯一个月后Thank you letter,所以好好面试也是没有用的;

其实还有一点:
暑假实验室都不让实习的,就算拿了offer也去不了的,所以,你丫凑什么热闹啊!

the more you did, the more others want you to do. WTF!

俗话说得好,人善被人欺,马善被人骑。
曾经觉得,兢兢业业做好自己的事,即使不被表扬,至少不会挨批。
但是,事实不是这样。
比如两个人A和B。
A每件事都做得很快很好,偶尔一次出了点小差错,偷了点小懒,便会被指责。
B每件事都做得不三不四,偶尔一次出了点成绩,便会得到夸奖。
现实就是如此的残酷,让人不得不思考这究竟是为什么。
仔细想想,也对。
就好比巴甫洛夫的心理实验。
做好每一件事,便会条件反射以为每件事都应该做好,从而放大瑕疵。
反之,平时马马虎虎,便会条件反射以为做不好,偶尔一次做好了便显得格外突出而收获好评。

the more you did, the more others want you to do. WTF!

漫无止境的程设助教

2011年,大四。觉得大四下比较闲,所以就当了个程设助教,结果没想到就被这个分支剧情套进去了。。原本最happy的时光,却落得每周六晚上都得去机房,结果就是失去了本科最好的出游旅行时间。
2012年,研一。本身想好了要当数字媒体助教,结果却又被忽悠了去当程设助教二回目。虽然作业类似,这点减少了一些工作量(大四时候每次程设作业都得自己做),但是改作业同样费时费力。结果就是研一下半学期也没什么科研进展。
2013年,研二。本身想好了打死也不当程设助教了,结果被push地去当了程设助教三回目。于是,轮回又一次开始了。

细数这三次轮回,第一次因为最新鲜,所以最认真,而且学生提问回答的也最积极;第二次有点老油条了,但是本着对学生负责的态度,还是回答了问题;第三次就有点随性了。
不过,其实最根本的原因还是所谓性别比。一回目是3:1(20:7),二回目是4:1(21:5),三回目华丽丽成为了7:1(22:3)。若明年还有四回目,那岂不是就要23:1了么(等差数列很和谐)……
kamisama,请让这个循环语句写成如下形式吧!
for(g=7;g>1;g-=2)
这样四回目就不存在了喵

所以说,人是逼出来的

时间回到3月2日上周六下午,我跑去找老田:
“我想投mm的short,请问文章该怎么安排?”
“啊,什么时候截止啊?下周六?你来不及的啦。。。”
“那下面还有什么会可以投么?”
“我查查。。。4月ICCV,后面得9月以后了。。。。。。要么你这两天熬夜赶mm吧”
“恩……”

于是,7天,没有实验结果,paper还没写一个字,mission impossible?
day0(3.2):开始跑跑实验吧。
day1:恩,写写introduction吧。好累啊,看看动画吧。。
day2:恩,写related works好麻烦。。跑实验吧~
day3:啊,周二了,必须弄一稿出来了
day4:啊,写完了第一版,啊,introduction和后面内容不一样诶……重写吧
day5:重写完了!
day6:师兄,帮我改一遍吧!
day7:啊,该投出去了……

其实,事情的背后是每天12点回寝室早上8点出门中间把原来每天仅1小时的工作改成了每天仅1小时的娱乐……证据是ipad mini用了一周没充电还剩50%电量还不包括别人拿去玩的……

所以说,人是逼出来的,逼上梁山了连猫都会如此拼命……

windows server 2008 r2系统文件缓存过大的解决方法

问题描述:server 2008 r2系统会在进行大量IO操作时,占据大量内存资源,直至内存占满,从而导致系统运行速度变慢。

相关现象:
1. 内存占用率90%以上(即是是64G内存,也会占用63.5G)
2. 资源管理器中所有进程内存和较低(约10G)
3. 通过RAMMAP可以看到Mapped File一项数值很高。

产生原因:
Server2008 r2会尽量使用内存来进行文件缓存,从而提高相应文件的读写速度,然而,却没有设置一个默认的极限值(属于windows系统的问题)

解决方法:
1. 暂时解决策略:利用RAMMAP的empty system working set,可以使得文件缓存释放掉。具体如图所示。缺点是之后如果继续进行IO操作,文件缓存还会一直增加。
2. 更好的解决策略:强制设置windows系统文件缓存大小,使得其不会占用大量的内存。缺点是每次重启都需要重新设置。

相关图片:

如图所示,使用RAMMAP可以使得文件缓存完全释放,但是后期会重新增加直至填满。
使用SetSystemFileCacheSize可以使得文件缓存得到有效控制。

相关软件下载:
SetSystemFileCacheSize

参考资料:
http://social.technet.microsoft.com/wiki/contents/articles/6925.how-to-prevent-filecache-to-eat-up-all-the-ram.aspx

猫的动画点评2012

今天看了动新的2012年全年动画新作及人气排名,想来一年过去了,也该总结一下今年看的新番了吧~

《伪物语》 ★★★★
新房昭之的作品。这部的感觉不如之前来得有感,可能是因为剧情比较短的原因吧。不过,这片子最大的卖点应该就是“刷牙”那段了吧~

《食梦者》 ★★★★
是一部可以让人燃起来的动画。那种漫画家为了实现自己的梦想努力拼搏的精神还是很值得我们学习的。而且,片中还有很多“画中画”,期待有一天能被真的搬上JUMP的舞台。

《Another》 ★★★☆
因为是P.A. Works 出品的动画,所以画质非常不错。只不过,剧情显得有些混乱,刚开始还算是恐怖片的,后面就只剩下血腥了。当然,单眼罩女主角的设定非常出彩,只不过PA还是不如京都那样卖的一手好萌啊~

《男子高中生的日常》 ★★☆
神一样的开头,第一集非常出彩,宛如银魂再世,然而,到了中间就渐渐无趣了。反倒是结尾莫名地有点小感动,要毕业了啊。

《花牌情缘》 ★★★
准确来说应该算是11年番。这个片子更多的是运动题材的热血动画,虽然也可以归入少女漫画的范畴。片中有两个男主角,虽然到结尾也没交代女主到底从了谁……不过,最主要的是,不喜欢里面的关西腔,有点过了。

《爱杀宝贝》 ★★☆
小品类型的动画,没什么实质内容。唯一出彩的是ED,有人把它剪辑了放到B站上,结果就成了无限循环的大杀器了,播放数一度突破天际。至于动画本身么,没什么亮点。

《夏目友人帐》 ★★★★
曾经一直让人感动的夏目友人帐。只不过连着三次每半年出一季,吊人胃口也不是这样吊的。虽然是很治愈没错啦,但是一直这样的风格,看多了也会有些觉得厌倦的。

《Fate/Zero》 ★★★★☆
绝对的年度大作,画面制作精良,故事内容出彩,声优演出给力。唯一美中不足的是结局,有点仓促。不过,这不是虚渊玄的错,因为FZ的结局在Fate/Stay Night中已经固定了,所以可以看做是命题作文。。这样一想,就会觉得这剧情写得真心厉害了。

《散华礼弥》 ★★☆
后宫僵尸片,开头还有些好奇的成分,后面就只《是强迫症才把它看完了,新出的OVA之类的也没兴趣继续看了。

《坂道上的阿波罗》 ★★☆
一部讲爵士乐的片子。故事的主题我觉得不是jazz,而是多角恋……一共五个主人公,这五个人之间的恋爱关系都快成完全图了的说。所以这样的故事更适合拍狗血的电视剧,而不是动画。

《冰果》 ★★★★☆
怎么说呢,京都出品,所以质量非常上乘。只不过这次的题材是校园推理,而且动画开头的确非常拖沓,让人不知所云了很久。不过,随着剧情的展开,后面越来越精彩。不过,这年头都是快餐文化了,所以这样的动画反而追的人没这么多了(如果不是京都出品的话,估计看的人要少一半以上吧)

《加速世界》 ★★
一部屌丝YY的大作,土肥圆也有春天么?白富美也会倒贴么?动画里是这样的。网游设定,动画制作中规中矩,但是不是我喜欢的类型。

《TARI TARI》 ★★★
又是一部音乐动画,这次是合唱团。P.A. Works出品,所以画面还是很精致,只不过剧情还是软肋,没有出彩的地方,每个主人公的故事都有说到,但是都不是那么眼前一亮。至于歌曲么,还算不错。

《少年同盟》 ★★★★
刚开始看以为是以基情为买点的,也没怎么在意,但是不断地感受到共鸣,感觉到莞尔一笑。故事更恰当的标题应该是《男子高中生的日常》,虽然很平常,但是很温馨。

《贫乏神来了》 ★★
以巨R、搞笑等为卖点的动画。大致情节是一个贫乏神来到人间,目的是吸收一个女神的幸福值使得人间幸福值平衡。有那么点搞笑,却又太过刻意了。

《未来日记》 ★★★☆
思想很好的动画,有点当初《东之伊甸》的感觉,但是女主角彻底崩坏了,而且最后发现还是穿越的……最大的问题是动画拍得很乱,没有很好的主线,有点让人不知所措。

《白熊咖啡馆》 ★★★★☆
一部动物为主角的动画,和国产动画的人物很类似,但是,质量完全不一样!且不说画面质量,声优质量,连剧情都不是一个数量级的。这片子很平常,都是一些普通到不能再普通的对话,但是却莫名很治愈。当然,这片子最大的卖点当然还是声优啦,那一大票的当红男声优们的倾力演出,真的也非常萌呢~

《刀剑神域》 ★★★★
小说非常精彩,动画质量却又没那么高(虽然BD销量高的吓人,成为了新的名作之壁)。动画剧情还算不错,轻重缓急还行,但是这主角光环也太大了吧……太IMBA不解释。

《中二病也要恋爱》 ★★★★☆
京都出品,必属精品。这动画不像《冰果》那样慢热了,第一话就满满的萌点,后面每集还来几次杀必死,这也难怪,10月开播,11月已经是《动感新时代》的女主和动画排名top1了。没办法,谁让京都卖萌有一手呢~

2012年就快过去了。回首这一年,刚开始动画还看得比较多,后面就只看一两部了。大抵是对于动画的热情也随着年龄的增长逐渐减退了吧。不过,这一年里,的确出现了很多制作精良的动画,画面崩坏现象也少了很多。这一方面是技术水平的提升,一方面也是制作公司的良心发现了吧(因为世界末日么)。特别是10月新番,大作不断,看样子寒假可以补一些动画了吧。

唉,不知不觉,一年就过去了。

单核处理器

一直都觉得,我的大脑就像一个单核处理器那样。
所谓单核处理器,对于单线程任务能够处理得很快,但是对付多线程任务就涉及到任务切换的开销,从而不如双核低主频的处理器了。
而我,就像那单核处理器,虽然频率可能不慢,但是应付多件事情一起就显得捉襟见肘了。。
比如,临近放假,一共有如下这些事:
1.月末组会的ppt汇报内容
2.月末组会后的聚餐预订–
3.莫名多出来的别的组的一个项目要参与一部分
4.十一回家后回北京的车票
5.一个恼人的会议需要打酱油
于是,在这种密集事件下,我的CPU终于不堪重负:过热了。
周三晚上38.1,心想睡一觉吃一粒退烧药就好了;今天早上起床38.2。。然后直奔校医院,结果反而体温低了,37.4,于是医生就开了一般的点滴让我吊。吊完盐水回宿舍的路上却又阴风大作,似乎又着凉了,于是晚上38.8~38.5之间徘徊ing。。
明天就要回家了,这路上可如何是好啊??
btw,所谓好基友,就是连生病吊盐水都能一起发生。比如我和小汤圆,一样发烧,一样挂盐水,回来甚至连体温都近似一样。。所以说,发烧根源就是寝室里不断叠加的细菌啊!(因为发烧–冷–关门关窗–细菌滋生–更加发生–更加冷–loop)

燕东园24号楼

暑假开始时,我们实验室把我们组安排到了燕东园24号楼以解决理二工位紧张的问题。之前也就觉得这是一个很安逸的地方,直到上周一个老爷爷登门拜访,才知道原来这还是一幢挺有历史的小楼。
燕东园最早建于1925年,当时还是燕京大学的教工住房。因为有洋人居住的原因,这批小别墅都造得非常结实。上次装修的师傅说,虽然现在小楼的内部都已经重新翻修过,但是整幢楼的大梁还是原来的,是一米宽的木桩,直接从一端伸到另一端,大抵是当时从美国直接进口的吧。
根据google的结果,“从1927年至1941年,容庚一直居住在燕东园内24号”,也就大抵是建成开始就给容庚居住了。当时几幢小别墅内部还是联通的,其中北面(也就是我们现在待的地方)是给洋人的用人居住的,所以楼梯特别狭窄而且还很陡峭,到现在还是如此————因为房屋内部结构并没有任何改变。
1941年-1952年之间24号小楼是给谁居住的不得而知,大抵也是燕京大学的教授吧。
1952年开始,24号小楼就分为了南北两部分,给两户不同的人家居住。当时南边住的是李汝祺教授,而北边住的就是这次探访我们实验室的老爷爷(大抵是叫周启博吧)的爸爸———周一良教授了。百度了一下,才知道原来周一良老先生曾经很长时间都是北大的历史系的教授,并且一直做到系主任。他也曾撰文回忆他在北大的住所(也就是燕东园24号楼),题目是《我五十年的住房问题》。这里面详细描述了当时他们家在燕东园24号楼居住的过程。虽然中间也曾试图增加住房面积等,但是最终未能实现。而周一良老先生在这里一直住了43年,直到1995年才搬入教师公寓。
1995年之后的燕东园24号楼的住户是谁已经不得而知了,大抵也是租出去给别人当办公场所了吧。在我们搬入之前应该空关了有一段时间了。再到如今的我们在此搞科研。
北大一直以来都是一个文人辈出的地方,而北大的那些老建筑们,往往也有着自己的故事。比如燕南园,比如燕东园。如今的我们若是追忆起那往昔的岁月,恐怕只能黯然神伤了吧。。

参考文献:
《燕京大学 燕东园》 http://chum818.blog.163.com/blog/static/10108747220120158948349/
《我五十年间的住房问题》 http://www.gmw.cn/02sz/2003-01/10/03-5FE7715C7625FB5448256D03002920CB.htm