一天天的,书买的越来越多,头发越来越少,脑子越来越笨。。
继续是学习机器人的一年,学了不少现在已经忘掉的东西。
上半年补了本科没有上过计算机图形学的遗憾(15662 Computer Graphics),写了Rasteriser,Path Tracer和Animation的一些东西。玩了一些亚麻的API(15719 Advanced Cloud Computing),成功因为for line in file.readlines()
性能过差在GHC通了宵。稀里糊涂学了一些PLT逻辑的东西(15317 Constructive Logic),用SML写了G4IP的theorem prover,用Prolog写了STLC的type checker。好,现在已经忘掉了。。还有一门不知道在讲什么PL东西的(98-317: Hype for Types)。。讲课的同学讲得很hype,我听得一脸懵逼很不hype。。
暑假在PingCAP远程打杂了三个月,由于太菜,只能打打杂这样子。
下半年倒是来CMU最有意思的一个学期,造了个小pytorch(10714 Deep Learning Systems),写了写驱动、用户态线程库 、内核、paravirtualized的虚拟机(15605 Operating System Design and Implementation )。但其实这两门课也不是太有意思。当了回TA(18746 Storage Systems),要我说在这北美小衡水,像我这种卑微机器人,能当TA帮助到同学真的是为数不多的快乐。虽然因为这学期load实在太大,很多地方做得还是差强人意。。。
主要还是Bob Harper这门神仙课(15312 Principles of Programming Languages)值回学费。求学十几载,这门课是唯一一门让我从大开眼界到绝望听不懂再到大开眼界的一门课。如果来CMU只能上一门课,我选Bob的312。(笑死怎么像打广告的)这门课从简单到复杂由浅入深地讲了各种各样的类型系统以及他们的statics和dynamics语义。少年,你懂什么是variable什么是assignable吗?你懂抽象的终极奥义是用type variable和system F吗?你懂为什么dynamic language其实是unitype language吗?你懂怎么用自动机建模CSP并发吗?你懂什么是call by value/name/need吗?你懂什么是concurrent algol和modernized algol吗?你懂实现exception的正确姿势是什么吗?我感觉我迷迷糊糊知道了一些但是还没完全懂。。下学期准备再去听一遍。。。
其实吧,我想,再过几年,我可能会忘了在CMU上其他课是什么体验,但是会记得那些个周二和周四的午后,写了板书又去擦鼻子导致变成白鼻子、讲到得意处喜欢手舞足蹈的Bob。那个喜欢说“computation is calculation”,“you say toma(/ei/)to I say toma(/e/)to”,“PLs are found in nature! via TYPE STRUCTURE”的Bob。不知道为啥,有点感动。这门课也让我认识了不少有意思的TA和同学,没有那两TA在我听得一脸懵逼的课后再给我解释一遍我估计这学期真的寄了。哦对我还成功预测了期末考试一道大题(把call by need和concurrent algol结合起来会发生什么化学反应,50分)还去问了TA,虽然考的时候还是不会做,XD。要我总结的话,我会说CMU确实有不少不错的系统课,但是上多了你就会发现它们总是希望demestify系统,最终各式各样的问题都是工程问题,玩多了就像白开水一样没劲,但是312这门课会告诉你什么是真正漂亮的系统,什么是science/magic的系统。套用人间词话的说法,课至312而境界始大,感慨遂深。来CMU上课这一趟,算是没啥遗憾了。
这学期还是压力爆炸卑微找工的一学期,没有好的实习/项目经历再加上大环境的影响拿到面试的公司屈指可数。。大多是投了简历之后没有消息,或者脆拒。幸运的是在圣诞节前几天,一家湾区做DB的小公司竟然让我通过了他们的面试。如果顺利,估计就去那里了,能写写low level的infra代码,想想还是挺有意思的。
选择性无视汇率之后,又开始买很多很多的书,幻想有一天能全部学完。
哦对了最近在看国史大纲,写的真好-.-
希望新的一年不要太过机器人。。