今天晚上背单词的时候刻意拿手机记了一下时间,收获不小,分析如下。
首先说一下背单词的情况,以页为单位一个单词一个单词地记,如果有大于二到三个单词没有记住,整页重新过一遍。背十页看一下时间。
22:23 今天的任务还剩60页
22:50 还剩50页,这时候去泡了杯牛奶,时间变为22:58
23:29 还剩40页,这时候上网看了几个网页,一开始只是突然想起来blog的备案情况,想查一查,结果之后顺带上校内看了回人气之星的相册。然后还去了趟洗手间。时间变为23:44
00:18 还剩30页
接下来的两页,花了我10分钟,然后就决定不背了。
在我背的过程每10页遇到的生词量基本上是一样的,所以就假设每10页要背的单词量都一样了。
第一个10页:27分钟;
第二个10页:31分钟;
第三个10页:34分钟;
第四个10页的前两页:10分钟。
首先发现的是背单词速度跟我预先估计的差不多,半小时左右10页。所以妄想缩短背单词的时间是不太现实的,因为根据经验,当你越想背得快的时候,因为越急躁,反而不能专心,效率是严重下降。
另外,比较大的一个收获是可以看出来联系背单词两个小时左右之后,效率会开始下降。感觉就是较难的集中精力,一个页面要过3遍以上。以后背单词的时候要切记切记,可以把单词在一天之内分几次背完,这样子效果会比较好。
最后一点要说的是,花在各种闲杂事情上的时间还是太多了。上面加起来有23分钟,加上最后那个10分钟,基本上可以又搞掉10页。下次背单词还是关机好了。
ps:今天背单词的时候一直在听古典音乐,不知道对效率是否有影响
唠叨
自从周三那次通话之后,接下来的两天基本就无所事事地过去了。单词也没背完,也没有写该写的作业。一直以来觉得自己是个不害怕困难的人,总觉得通过自身努力去克服困难是一件非常具有挑战性同时很有意思的事情。
但是最近这段时间,我发现我错了,我的本能在遇到困难时也是趋向于逃避的。
感受最深的是最近背单词的感觉,非常烦躁。尤其当一页的单词过上一遍回头再看时总会有好那么几个不能记住的时候,这时候内心会发出一个声音:“别背了”。然后…我就从了。
逃避困难的典型表现。
“只有工作能够消除内心的疑虑”,这句话突然闪进我的脑海中。
路已经在脚下,怎么走就看你自己了!
ACM
今天在Solidot上看到了在斯德哥尔摩举行的2009 ACM World Final结果,THU拿到9个AC,不过因为罚时最终不敌St. Petersburg ITMO,与冠军失之交臂。此外浙江工业大学也拿到了第20名的好成绩,算是破了该校记录吧。看到这里,想说 BUAA的ACMer们也要加油哈,争取冲进明年的world final!(话说明年final在哈工大)
之后想起来rf同学说的在在杭州赛区遭遇楼天成的事情,于是翻了翻,果然代表清华出战的就是由楼天成、朱泽园和周源组成的Proxima队伍。接着在网上又翻了翻,翻到了这篇文章ACRush 楼天成回忆录。挺长的一篇文章,写得是他上大学来参加过的一些编程竞赛的回忆。我仔细读了他参加ACM的那几段,在上海赛区第一次冲入总决赛,日本总决赛上惜败于华沙大学。去年时卷土重来,先是拿下杭州赛区(THU就是猛,除了没有参加的合肥赛区,另外四个赛区都是第一,而且派出了四支不同的队伍)。接着是校内与IronGods进行PK赛,最后终于拿到了飞往斯德哥尔摩总决赛的机票。另外在阅读整篇文章的过程中,无时无刻不感受到他们超大的训练量,脑海响起了刘阳学长的话:踏实。
本科最大的遗憾应该就是没能参加ACM了
which one is your convincing reason?
这两个星期感觉过得浑浑噩噩的,总是眼睁睁地看着时间哗啦啦地流走,而我只是坐在我的电脑前发呆。
没有动力,是因为目标不够坚定吗,让我想起那个许多人问过的问题:你为什么想出国?
频率最高的答案是想开拓眼界,不过这个理由太弱了,即使能够说服自己,怎么能够说服对方学校的教授呢。何况连自己都知道这只是一个应付其他人的借口罢了。于是上升到了“做科研”,因为国内的学术氛围,因为国外有先进的师资和设备。抱着这个冠冕堂皇的理由,洋洋自得地选择一个看似感兴趣的方向,可是自己仍然找不到动力,每天无所事事地读GR里的文章,逛水木BBS。直到前几天看了一位北大学长的blog才惊醒。
“你说你喜欢做科研,你知道什么叫科研吗?你做过科研吗?做都没做过哪来的喜欢呢?”
文章上的一连三个问题问得我哑口无言。没错,我确实觉得HCI非常有意思,也觉得那些科学家很伟大,可是,对于“科研”两个字我却觉得这么的陌生。这让我想起来了BeBeyond主页在出国留学第一个步骤上写的大标题:想,想,想,你出国是为了什么?想起了BeBeyond老师不断强调的对专业的理解。想起了那个北理工学生的案例,一个对科研发自内心的喜爱的本科生。
这些文章和BeBeyond老师的话让我隐隐约约明白了为什么自己一直不能够专注地去做一件事情。因为自己并不真正地清楚自己想要的是什么,一个名校的offer并不是答案。“通过做科研来帮助他人”,有些接近了,不过始终停留在这么一个表面的层次上。自己并不曾认真地去想过或者调查,做什么样的科研可以怎样帮到什么人,也就是老师所说的对专业的理解。这个领域有什么 problem?什么样的 project能够去approach这些problem?解决了这些problem 有什么意义?
解答这些问题,比GRE,或者说GPA,才是现阶段更重要的事情。这是对于解决文章开头问题我得到的答案。
在这里跟大家分享另外一位北大文科学姐blog里的一句话:“贤弟且慢!你对我们如此之认真,可又是否懂得,如何对自己认真呢?”
对自己认真,记住了!
ps:下周一图形学考试啦!!!
ps2:msra的简历已经投出去了,bless自己呵
ps3:bless大狼同学在这里,努力终有回报O(∩_∩)O~
ps4:没有科研环境,就要靠自己!第一个目标:IUI2010
Tod Machover & Dan Ellsey: Releasing the music in your head
这是我在ted看到过最感人的一个talk,希望看到这篇日志的人耐心把视频看完。
ask: why you want to pursue Ph.D
answer: I have a dream: someday what I invent can help others.
原链接在这:http://www.ted.com/talks/view/id/246
学长的一些MSRA面试经验
昨晚打电话问了一下往届学长有关MSRA的一些情况。主要谈了谈一些面试的经验,在这里总结一下通话的内容。
首先面试的内容主要分为两部分,一部分是考技术,一部分是考你的个人能力。
考技术主要考的是你写代码的能力,比如他会出一道有关搜索的题,让你现场写代码。其中可能会涉及到一些基础的数据结构和算法,注意,是”基础”的。按学长的意思是说只要把大二学得数据结构和算法分析那两本书搞懂就够了。不需要涉及到某些具体领域的专有算法,据说当时他准备的都没用上。我问他那是不是本科四年写了很多代码,他也说写了不少吧。不过他不是ACMer,呵呵,这个让我稍微增加一些信心。
考能力部分,就是考官会出一些开放式的问题。比如会问你两个电梯的调度方法,然后让你评价一下两者利弊。最后还可能结合你申请的职位问一些问题,比如那位学长是申请SDET,面试官就会让你去测试一个”杯子”,你就把那些什么压力测试、性能测试往上面套吧。
最后我问他说觉得自己哪一点让他通过了面试,他说他也不知道,反正就是让他写的程序他都写了,问他的问题他也都回答了。
总的来说,大体意思跟网上看得都差不多,但是亲自与经历过面试的人 交流,感觉收获还是不太一样。看来面试官对于本科生主要看重的是两点:1.编程基本功要扎实;2.脑袋要聪明。其实本来是希望能够让他内部推荐一下的,不过我想申请的group他不在一个gruop,只好算了。
ps:因为之前看到许多msra的面经,本科生基本上都是参加过这个那个国际比赛并且拿奖。我关于这点问学长的时候,学长说:啊?我没见过身边有这样的人啊,你说的是google的面经吧?
膜拜google中…貌似google 是个让我去做非技术我都愿意去的公司
Adi Shamir 讲座
今天下午图灵奖获得者Adi Shamir博士来我校讲座, Shamir博士是RSA算法的发明人之一,RSA三个字母中间那个S 就是根据他的姓氏命名的。
提前20分钟赶到报告厅发现里面已经坐满人了,只好在靠边走廊找了一个靠前的位置席地而坐。
讲座准时开始,一开始Dr.Shamir介绍了何为加密(cryptography),然后介绍了二战中一些关于加密和解密的小故事。我就记得一个说当时日本在偷袭珍珠港前夕,通知日本驻美国大使馆离开。为了不让美国人发现他们的信息,在广播的过程中使用摩斯密码加密了很长一段历史信息,这段信息传了8个小时,只在最后加了一段关于珍珠港袭击的信息。估计美国情报员在听前面历史信息的时候觉得这段信息没有价值,就懒得破译了。Dr.Shamir开玩笑说一段信息是放在开始还是末尾,很可能就改变了历史。讲完历史轶事之后,博士开始介绍几种解密的技术:使用usb disk来检查energy consuming,分析机器发出的声音(acoustic),分析cache中的信息。最后提问环节上,教授很有意思教大家一个方法,大意是将一个很高级的U盘丢在大厅里,别人拿去一插……
sj同学在旁边说,可以用这个方法,把一个U盘丢到教务处的机房里,嘿嘿~~~
因为自己听力能力不足加上那位教授的以色列口音,其实很多地方都没听明白,基本上就是看教授的ppt。
ps:其实最nb的计算机科学家不是拿turing award,而是别的科学家以拿到你命名的award而做为最高荣誉
海角七号
看起来很舒服的一部电影。让人好想去旅游……
很喜欢小镇上那种朴实的民风,贝斯手”马拉桑”的呼声,键盘手在电梯里的歌声,鼓手的青蛙故事,警察身上保存着的妻子照片,茂伯”我是国宝”的唠叨。在小镇风景的衬托下,就连邮差的工作都显得惬意起来 。还有从日本来的经纪人,喝醉以后叨念着”为什么大家都欺负我”。
我最喜欢的角色是代表会主席,尤其是看到最后演唱会上他在台下挥舞双手的那个片段。父母看到自己的孩子实现梦想应该是最幸福的事情吧:)
OSC Main Memory Notes
刚刚花了两个半小时把OSC的第八章-Main Memory读完了,在这里用自己的话总结一下记的笔记。
8.1 Background
第一小节是背景知识介绍。
8.1.1首先提到的是基本的硬件,寄存器、内存和高速缓存(Cache)。还介绍了protection,说用户模式(user mode)下,程序访问的内存空间是有限制的,protection的概念贯穿于整个章节。8.1.2介绍了地址转换机制(address binding),程序在执行的时候会把相应的地址读入到内存中。8.1.3介绍了逻辑地址(logical address)和物理地址(physical address)的概念,逻辑地址指的是CPU产生的地址,而物理地址则指的是内存所”见到”的地址。这两个概念很重要,貌似整个一章都在讨论如何在将logical address转换成physical address。8.1.4和8.1.5介绍了动态读取(dynamic loading)和动态链接(dynamic linking),前者是指一段程序只有当被调用时才会读取。后者是跟静态链接(static linking)相对的一个概念,具体看得不是很明白。
8.2 Swapping
swapping技术可以将进程在内存和一个叫做backing store的地方调来调去。比如一个进程所需要的内存不够了,就可以把它swap out到backing store,等到有足够内存时再把它swap in接着执行。
8.3 Contiguous Memory Allocation
首先呢,内存总是被分为两部分,一部分留给操作系统,另一部分则给用户进程所使用。
8.3.1介绍两种寄存器:relocation register, limit register。前者存有物理地址的最小值,后者存储逻辑地址的最大值。8.3.2介绍了内存的分配方式。最简单的一种是把内存分成为几个固定大小(fixed-sized)的区域(partition)。之后还介绍了hole的概念,指的是内存中所有可以被使用的部分。还介绍了三种分配holes的算法:first-fit, best-fit, worst-fit。8.3.3介绍了碎片(fragmentation)。碎片分为external fragmentation和internal fragmentation两种。前者指的是在分配内存的时候,即使有足够大小的空间,可是这些空间不是连续的。而后者指分配给进程的空间可能会大于进程实际需要的空间,这种碎片主要产生在固定区域大小的分配方式时。最后提到了针对碎片的解决方案:分页(paging)和分段(segmentation),这两大技术也是本章剩余部分着重讨论的内容。
8.4 Paging
分页技术允许一个进程跨越不连续的物理空间。
8.4.1首先介绍两个概念:frames, pages。前者是将物理空间划分成相同大小的部分,后者是将虚拟逻辑空间划分成相同大小的部分。最基本的情况是逻辑地址分成两部分:page number, page offset。在将逻辑地址转换成物理地址时,先通过page table查找将page number转换成frame number,则物理地址由frame number,page offset两部分组成。paging的一个特点是将用户所看到的内存与实际物理的内存分开了。8.4.2谈了硬件对分页技术的支持。最简单的情况是用一堆寄存器来做为page table。可是当page数量特别大的时候,这种方法就不可行了。容易想到的方法是把page table放到内存中去,可是这样子效率太低了。现在的标准做法是使用高速缓存,这种技术被称为 TLB。TLB中的每一项(entry)由两部分组成:key, value。这样子,当查找page number的时候会先到TLB中去查找,找不到再去内存中找,同时将该项添加到TLB中以方便下一次查找。此外,TLB还有一个很重要的参数是命中率(hit ratio)。8.4.3介绍了如何使用paging技术来进行保护,大概意思是当对page number进行转换时会判断转换后的物理地址是否是有效的(valid)。8.4.4介绍了shared pages技术,多个进程可以共享同样的pages。
8.5 Structure of the Page Table
该小节介绍了若干种组织page table的方式。
8.5.1介绍了分层法(Hierarchical Paging),当page特别多的时候,可以将page分成两层。通过外层 page number检索到内层page number,再通过内层page number来检索物理地址。8.5.2介绍了利用哈希表来组织 page table。8.5.3介绍一种inverted page tables的技术,不过看得不是很懂。
8.6 Segmentation
分段技术就像我们写x86汇编的时候,把程序分成不同的段。每一段映射到内存的一部分,然后每一段中的偏移在转换成物理地址时要加上段的基地址(base),同时不能超过每一个段的限制(limit)。
8.7 Example: The Intel Pentium
介绍了Intel Pentium中的segmentation和paging技术,没仔细看,也不太明白。
8.8 Summary
貌似外国人写书都喜欢每一章最后一节总结一下~~~
OS第二次实验学长忘记挖空了,要我们分析代码然后写一个详细的报告……还不如填代码呢:(
只好先补一补操作系统关于内存管理部分的知识了。
本来想今晚把虚拟内存一章也看了,不过貌似精力已经不能很集中了
MS C R&D Center
今天去传说中的希格玛大厦转悠了两小时左右。
没啥特别的感觉,只是不太喜欢当客人被别人领着的~~~