科研日志6

最近导师又气到我了。主要是因为科研经费和暑假实习的问题。我最开始对他没有什么指望。我自己去面了Microsoft Research,不管什么原因,最后没有面上。后来某公司又找上门让我去做SDE实习。我其实对SDE实习没什么兴趣,闭着眼睛都知道大概会干什么。所幸最后也因为当场写代码,没有面上。这个时候,导师跟我说自己要做outreach去动用自己人脉,看看能不能拉到一些实习和合作机会。估计这个是凉了,后面他也没有再提什么。但是,他这个做法勾起了我对他的期待。后来又说去在校园里帮我找找能干什么,把我的简历递给了他的学生和给别的教授干活的机会。临到最后,我自己又申请了暑假系里TA。直到我决定干暑假TA之前,他那边都毫无消息。其实毫无消息也无所谓,主要是他这种干事拖拉,不到deadline不干活的行为,真的是让我很难接受。和这种人工作,我心里很累。

对于我的经验教训就是以后再也不要对他有什么指望。这点其实在开始读之前就应该意识到。享受到他的亲力亲为,就应该意识到在资源方面的缺失。要不然,他哪能有时间对研究参与度这么高。换句话说,就是要调整好期望。虽然每次他在我面前吹牛逼,说自己写grant多么厉害,百发百中。但是,我已经看出来了,不写就不会失败。所以,我就做好了自己做TA把整个博士读下来,自己找工作和实习。之前自己就是这样走过来的。还是靠实力说话,指望别人终究是不行的。从好的方向来看,他对我暑假做什么也没什么意见,所以,以后我想做什么就去做什么。还是那句话,没有期望,就没有失望。我就好好的做好自己的工作,看他表演。

最后,对学术界已经有点失望。主要是学校通过student这个title,来压榨你的劳动力。字面上,博士学生是学生,所以就可以少给你钱。但是,在做TA的时候,明明就是个工作,但是学校雇佣了你,也可以按照学生这个字面意义来给你开工资,虽然你干的是工作的实。就拿我暑假这个TA来说吧。3个月6000刀,要对一个代码库进行重构并且加测试。也就是学生,他能以这个价格请到人。不过,我想他对质量应该也不用指望什么了。学术界真的是比工业界剥削还狠。

记第一次车祸修车经历

车祸回顾

2月11号晚上6点10分左右,在我家附近高速出口,一辆黑车突然停了下来。之后我意识到开始踩刹车,但是因为11号周末Austin的极端天气,路面结冰,我车打滑没办法停下来,撞到了前面的黑车的后保险杠。后来我把挡挂到了P上,然后把车停了下来。但是后边一俩白车可能因为相似问题,撞到了我。但是因为我的车是斜着停的,所以后面的那辆白车直接撞到了我的驾驶员侧门,并擦着我的前保险杠滑了出去。所幸的是没有人员受伤。

和保险公司打交道

我用的是State Farm保险。流程基本上是这样的。我首先给我自己Policy开了一个claim。然后保险公司就开始决定事故的责任方了。我后来想因为后边的白车撞上了我,如果我自己给自己的policy开claim,那么是不是责任认定就要认定我是全责了。后来我就给State Farm collision team打了个电话(电话开了claim之后就能看到)。后来得知如下信息。因为也是第一次发生事故,通过电话也算是对处理事故流程也算是有个大致的了解了。

  • 我这个情况是一个claim,两个liability (责任):一个liability是决定我撞上第一辆黑车的,另一个liability是决定白车撞上我的。后来保险公司电话专员告诉我他会给白车的policy也开一个claim (内部术语好像叫做dual claim)。因为白车也是state farm的保险,所以内部流程应该比较好操作。我想如果是别家保险,还是应该先给对方保险公司开claim。给自己policy开claim是不是会造成我是责任方的印象?
  • 保险公司会了解liability,我被撞的话,deductible会返还给我,但是我撞黑车的liability要走deductible,deductible之后的费用保险公司才会支付。
  • 修车分两种:一种是走和保险公司合作的修车厂,这种情况修车厂会给保险公司发estimate,保险公司就会直接支付修车费用。这里如果你想用原厂配件(叫original equipment manufacturer (OEM) parts),差价就得自付。另外一种就是走pocket estimate。就是你把车拍照,然后自己找collision center(body shop)去修,保险公司会按照estimate把钱打给你,多出来的部分,如果是表面看不出来但是修车过程中发现的damage,保险公司会找appraiser和body shop商量重新estimate,比原先estimate多出来的部分是叫supplement estimate。除去这些,多出来的人工费啥的,保险公司就拒绝支付,然后你自己来付差价了。不管走哪种修车方式,都可以跟state farm说把车tow到你指定的修车厂。

以上是state farm的流程。貌似不具备通用性,问了问朋友,他之前出过车祸,他是直接问dealer找指定的body shop,然后他再联系的保险公司,就没了。他用的是progressive。我的做法是找品牌商网上的certificated collision center,一个个打电话问,问能不能work with state farm。

事件处理记录

11号晚上我向我的保险公司file了claim。

12号的早上,我打电话了解到我dealer附近的collision center是可以work with state farm的。接近中午的时候state farm claim associate给我打电话了解事故详情。同时问我了指定的修车厂并安排了拖车。我决定还是用pocket estimate让4s店的collision center来修。下午时分,state farm又给我打来电话,说明了一下保险libility的决定。

13号我用pocket estimate上传了照片,也就是提交了damage report。

16号下午2点左右拖车公司打来电话说要今天过来拖车。但是因为下雪怕出现意外同时我手头上的pocket estimate还没有好,理想我是手里拿着pocket estimate去collision center。所以我reschedule到下周一了。

17号下午pocket estimate报告出来了

19号收到了邮件说state farm要直接给我打支票。但是我之前联系保险公司说要让钱直接打到修车厂。早些时候和保险公司又打了一个电话让他们stop payment。现在流程变成了在修车厂完成修理后,我再给保险公司打一个电话,让他们issue payment直接给修车厂。换句话说,我需要协调时间点。另外,由于后边白车撞上了我,我付的deductible会被后边车的policy refund。同时,保险公司帮我确认了下周一拖车的appointment。16号我以为是reschedule但是内部显示是cancel了。

22号下午拖车公司把车拖走。

23号上午修理厂发来表格确认收到车并且让我填好表之后,他们就可以开始修理了。

24号修理厂向State Farm报了修理价格(也就是supplement)。State Farm估计的是3400刀左右,修理厂报价是8000多刀。

3月1号State Farm更新了estimate,达到了7000多,但是和修理厂报价有1000刀左右的差距,不知道接下来怎么搞。先等等看修理厂怎么说吧。

3月2号修车厂调整了他们的报价和保险公司estimate相接近。但是我需要支付额外225刀的OEM Parts difference。同意的话他们就直接去下parts的订单了。上网查了查如何negotiate,感觉这部分也没啥好搞的。修车厂肯定会找各种理由来证明账单上的钱数。所以就同意支付了。

由于3月2号晚间的时候收到短信说state farm向修理厂支付了3000多刀的费用,我很是奇怪因为我在19号的时候明确跟state farm说不要把钱支付给我,待修理完毕后,我再通知他们给修理厂打钱。所以我3号给他们打了一个电话。得知的是original estimate的钱state farm已经打给我了(确实是)并且supplment部分的钱,他们是直接打给修理厂的。但是,现在他们给修理厂的钱和打给我的钱汇总和修理厂给我看的estimate有差距。所以,我就直接写信给修理厂,求证我最后需要支付的钱数。最后得知就是insurance check,deductible以及225刀part difference。

3月8号收到修理厂电话说部件已经送到 这周就能修理好。

3月12号收到修理厂打来电话说车已经修好,可以来修车厂来取车。同时告知之前的225刀part difference也已经免除了。现在只需要保险公司打给我的钱再加上deductible。

3月15号来修理厂提车。因为保险公司是直接把钱打到了我的账户,我想着是直接给修理厂写一个personal check。到了修理厂,被告知personal check在他们那里只有在第一次拖车过来的时候才能收。取车的话只收cashier check或者直接从debit card上收。但是收取金额已经超过了我debit card当日最高上限,所以当场以卡背后的号码给银行打电话让他们通过这笔交易。几经沟通,终于搞定。提车成功。

3月15号当天给insurance company打电话 问询deductible refund的问题。晚间打了一个电话,基本上这个叫internal recovery。说会在3-5个工作日内打到我的账户上。

3月15号晚上在上一个电话20多分钟之后,我接到了刚才同样的state farm agent电话。说她在和她的上级review我的claim的时候说我的deductible不能被reimburse因为我的claim里边有我的liability。如果我的车只是被后边的车撞了的话,我的deductible就会被reimburse。她建议我明天再给claim team打电话,说清情况,并要求电话转给property complex team来解决这个事情。看了一下之前的日志,我这个情况的术语叫做dual claim。记住这个方便明天的沟通。在网上搜了搜,通过这个链接发现了如下一段话

In most cases, you do not have to pay your deductible if another insured driver hits you. The other driver’s liability insurance should pay for your repairs. If you have collision coverage, you can choose to go through your insurance to repair your car, but you still won’t have to pay the deductible. Your insurance company will seek full reimbursement from the at-fault driver’s insurer.

If another person files a claim against you, your liability coverage will cover the costs of repairs. You will not pay a deductible to cover damages to the other party. But you will have to pay a deductible to get your own car fixed when you are at-fault. You can also expect to pay all or part of your deductible in situations where fault is shared between you and the other driver. You may be on the hook for any damage you cause that exceeds your policy limits, too.

现在的问题是我花了deductible修了我自己的车,但是damage是由我撞了前面车和我被后边车撞这两个不同撞击造成的。换句话讲,就是我付的deductible最少也应该被reimburse一多半,因为我车上的damage很大一部分是由后边的车撞上了我造成的。虽然确实有“You can also expect to pay all or part of your deductible in situations where fault is shared between you and the other driver.”这句话,但是我的车的大部分damage是由于后边车撞上我造成的。也就是“In most cases, you do not have to pay your deductible if another insured driver hits you.”情况要占更多一些。准备明天基于这点与保险公司争论一下。

3月16日致电了state farm,试了几个不同的claim team agent,得到的回复如下:

  • agent1: 整个dual claim需要走segregation team的流程,需要大概2周的时间,他们和我取得联系,并且refund deductible。
  • agent2: 告知我整个segregation process在2月11日incident发生的当天就开始了。通常这个需要等车行修完车,该付的钱付清楚之后,segregation team会bill at-fault party的insurance policy。第一笔拿到的钱会用来reimburse我的deductible。并且告诉我下次致电问以下问题就可以了:“Has this (claim)send to the segregation yet?”

基于如上回答,我想等两周之后再follow-up。通常整个流程最多有3个月。

3月19日保险公司邮件通知我我的deductible已经refund了。

3月22日银行收到了退款。至此,整个事件就画上了句号。最后看下来,修车并没有花钱,虽然保费涨了4块钱。

如何从零开始掌握数据库的理论知识并进行研究?

首发在知乎。

如何从零开始掌握数据库的理论知识并进行研究? – xxks-kkk的回答 – 知乎 https://www.zhihu.com/question/444330558/answer/1742496062

作为在读数据库方向的Phd,我提供一下我个人的观点。欢迎讨论。

答案:把这些问题直接问你的导师。

我觉得你这些问题都是非常好的问题。不要觉得自己在某些方面的一些gap,觉得这些问题都很低级,觉得问出来尴尬。不知道你的导师处在职业生涯的什么阶段对研究热情如何。一般对自己学生负责并且对研究比较有热情的导师,是非常非常欢迎你这些问题的。因为从项目的角度来讲,你们是拴在一条线上的蚂蚱。你的积极主动证明了你对这个项目或者方向的热情和做好的决心,这是你的导师喜欢看到的。另外一个角度讲,作为一个新PhD,对于研究方向的背景gap是可以被理解的。拿我自己举例,我在读博前在数据库方向在工业界做了3年左右,DB2和Presto都写过production code。但是,我刚开始研究我导师上来就跟我说虽然我干过数据库,对本科研究生的数据库系统框架有了解,但是我仍然会发现很多我不知道的。事实确实如此。即便我知道的知识,对于它是怎么来的,为什么这么做,这些教科书会很少角度,需要去读论文去发现。

下面再具体说说数据库。我觉得首先问一下你的导师确定你们的研究方向。传统数据库大方向来讲分三个大方面:query,storage,transaction。每个方向的知识容量都非常大,每个都看不现实也不需要。你们的研究方向对于哪方面比较侧重,优先级如何,这些都是需要问你的导师了解之后才能知道。最开始你很有可能不能很好了解这个research project的big picture,所以就要相信你的导师,问清楚和你方向相关的key paper, key google search phrase。知道你的项目涉及数据库哪个方向之后,你就可以开始学习了。

首先从key paper入手。基本上一个项目会有几篇key paper。把里边涉及数据库的你不懂的名词都收集起来,开始补背景。数据库经典教材有如下几本(我个人经常参考的):

  • Database Systems – The Complete Book
  • Database System Concepts
  • Database Management Systems by Raghu (俗称cow book)

我的建议是把其中一门教科书作为你的主要参考,其他作为辅助。哪本作为主要参考,可以看一下你们学校数据库课是拿哪本作为教材或者你的导师习惯哪本书的语言体系。这些书讲的内容大同小异,但是阐述的角度已经概念定义会因为作者而会有所不同。比如join selectivity会在cow book里称为reduction factor。对于primary index的定义这三本书都不太一致。问你的导师的好处是这样你们会用同一套语言和概念体系以及潜在assumption,方便讨论交流。顺便简单介绍一下这些书的特点。Database Systems – The Complete Book我比较常用,书的整体结构比较清晰,缺点是稍微旧一些。Database System Concepts是这里边最新的一套教科书。会讲述一些实际实现上的一些东西,比如pipelining execution。往往这些细节会对实现有非常大的帮助,但是会很少被教科书涉及 (这点比较好理解,因为书的作者属于学术界,知识来源主要来源于阅读或者听,而不是实际上手操作)。Database Management Systems被Wisconsin,Berkeley使用,第三版电子版印刷较差,我一般看第二版。整体讲的会比Database Systems – The Complete Book偏实用一些,知识组织方式和complete book会不太一样。

以上教科书基本上涵盖的内容会涉及本科生和研究生数据库基础课所需要的知识。以他们为切入点了解你之前收集key paper中关键词所涉及的知识。这样你会有具备数据库方向研究生的知识水平。之后基本上就可以开始进行研究了。

最后再说说数据库的理论知识。数据库理论分为两大方向:query和transaction。query方向 可以参考@Trigger 的回答:https://www.zhihu.com/question/444330558/answer/1733521356 。基本上可以以Foundations of Databases (俗称Alice Book)为蓝本开始看。如果涉及query processing,可以看Chapter 3 (熟悉什么是query和4种query的表现形式), 4(什么是conjunctive query也就是SQL中的Select From Where(不涉及subquery)), 6 (query processing)。Alice Book这本书基本上可以称为半填充好的skeleton。意思是它只是尝试把一套关于同一个话题的论文归入进一个框架。但是细节方面还达不到教科书的程度。可以把它看做论文集的高级补充版。所以一些细节还是要看论文。当然Alice会给出很多论文参考,这些都是不错的切入点。另外对于理解论文历史背景也是非常有帮助。Transaction这个方向我不是很熟悉,如果你们研究涉及这点,我相信你的导师会是你最大的帮助。当然如果你的导师比较senior,可能他已经不记得他最初是怎么学的。我个人觉得Jim Gray的Transaction Processing:Concepts and Techniques是非常不错的综述性质的书。

读 CS PhD 之前没有工业界经历真的没关系吗?

原发自知乎回答: https://www.zhihu.com/question/316858383/answer/1693385734

拿自己举例子。我是在工业界前前后后工作了3年在读博士生。方向数据库中的Query Optimization,也算是System。

工业界经历使我发现了研究兴趣

我是在美国读的本科。学了数学,经济,计算机三个专业。当时计算机不像现在这么火,印象中中国人比较流行的工作是精算或者金融方向。我在毕业最后一学期选了数据库,拿了个B。当时完全不关心数据库,觉得很无聊,ER-model, 3NF啥的。一心只想着毕业。毕业后辗转回国了,当时完全不知道想干什么,兜兜转转,因为本科学校是传统数据库强校,拿到了IBM的职位,去做DB2中的Federation Database开发。做了两年,发现数据库里居然有这么多我不懂的,当时组里想对Optimizer进行优化,开始看System-R相关的论文,一头雾水。当时动了想去美国继续读master的想法。当时并没有想去申博,因为并没有想要钻研的某个领域。但是选offer的时候,选了个找工和转博都能兼顾的学校。读研期间,我干过NLP,干过File System,没有觉得很感兴趣。后来我又去工作了,第一份工作干的是cloud storage。每天主要写Ansible让我觉得追逐热点不是一个适合我干的事。之后遇到裁员,裁员后我去了AWS,最开始在EC2,觉得没意思。直到那时,我才又想起了数据库,觉得在所有计算机领域,我喜欢也是能发挥我的长处的还是数据库。后来我就去了Timestream。这段经历让我收获很多。一方面让我知道一些在我今后研究中可以用的工具,代码库,以及开发思路,更重要的是我发现,我是一个喜欢dive deep的人,我喜欢花从计算机领域角度来看待问题。平常工作不能让我“吃饱”,让我足够dive deep,去加深对数据库的了解。我这里说的了解不仅仅是从实际应用也从理论。怎样才能更精确的描述和解决问题是我的诉求。我喜欢实际与理论交叉的工作,软件工程还是太应用一些。

工业界经历使我心理成长

刚毕业那会,心理很糟糕。曾经一学期同时在抽象代数拿了F算法鸽了期末考试,最后拿了个BC。自己被本科学校冰天雪地搞的人非常抑郁。同时,没有见过职场,待人接物方面还不成熟,喜怒天天写在脸上。同时那会每天觉得自己是个废柴,啥都干不了,对自己缺乏认识,也缺乏准确定位。后来,工作了,才意识到大家也才不过如此,自己也没那么糟,周围的人都在为自己的家庭努力着,每个人都有自己的难处,学校中那种peer pressure所造成的心理自卑,也因为工作慢慢淡去了。对待周围的同事,也能有同理心去应对。后来,研究生毕业工作遇到diffcult people,遇到裁员,遇到再就业,这些走来,感觉自己内心更平静了,也知道没有什么不能解决的问题。现在虽然读博,有的时候也是夜不难眠,但是内心总有一种力量,相信自己能解决,即便多花些时间。回到问题,要问读CS PhD之前没有工业界经历没关系吗?用系统领域经典回答就是it depends在工业界的经历,让我知道我真正想要的是什么,学术圈之外的风景,以及自己能不能接受读博所伴随的机会成本。同时对自己的定位有一个更好的了解,这样在遇见挫折,还能保持平常心,知道自己即使读博不成功,自己也不是一个失败者,外面的世界更广大,度量维度更多,把读博放在人生尺度来看,是一份值得回味的经历。另外,读博本身是个工作,怎么manage老板,deal with学校和同事,这些都是职场经验可以发挥的地方。最后,去完工业界也让我知道读博到底是不是我的梦想,面对六位数的年薪,我是不是还能接受每个月2000刀左右的工资,去付出远超40个小时的努力。没有工业界经历肯定没有问题,但是去工业界干过,也许在读博过程中,会让你能迈过某些难关。

科研日志5

又一个失眠的夜。一想下周就开学了,感觉这个寒假没有怎么真正的好好休息。中间虽然放松了几天,但是因为疫情的原因,也没有出门,所以并没有休息的感觉。

科研进度方面,今天算是理清了还有哪些大块需要学习。回顾开始做科研的这半年,感觉时间主要花在产出上面了,学东西反倒很少花大块时间去弄。一般都是看一点东西,然后就赶紧忙着去撸代码,产出了。现在科研也进入了一丝迷茫期,手头有些东西,但是可能还是不够发文章。一方面导师主要想要拿着一些东西去申请我在做的项目经费,感觉发文章反倒不算最高优先级。过去几天大概想了想这学期想要做的工作。简单说下来就是要把算法在实际系统中落地,能跑一些性能测试,这之前需要我自己写个PoC来验证算法正确性。另外一部分就是继续看理论,看看对自己的算法能不能说些理论上的东西。

这学期准备上门课。打算拓宽一下自己的思路。关于上课是个纠结的问题。好的是会拓宽思路,让自己的工具箱多一种可能性来看待问题,没准今后会用得上,同时也做个学术上的“副业”,和现在的主项目搭配着来,调换一下心情。坏的是这些都会从主项目上分时间,写作业做项目。主项目上还是有一些论文要看的。但是,经过上个学期的观察,感觉即便时间很多,有的时候也不想看那些论文,每天工作个6-7个小时,似乎还有余力搞些副业。这么看来,上个课感觉是利大于弊。这学期先这样,试验一下,看看效果怎么样。

总想再写些什么,但是不知道说什么好。脑子里有一些东西想要倒出来,但是不知道怎么才能组织好语言。就先说这么多吧。

哦对了,最近开始做自媒体了,在这里贴个链接,打个广告吧

Youtube:https://www.youtube.com/channel/UC7tUTsA9apOOSRrrx0GFVWQ/featured

BiliBili: https://space.bilibili.com/1437077269

2020 End-year Recap

前言

今天是北美2020年的最后一天。按照过去三年的惯例,又到了要写一年回顾的时候了。还是老样子,先将过去的回顾贴在这里:

2020年回顾

身体方面还是要继续保持健康:早睡,多锻炼,注意牙齿

心理方面还是要注意休息:保持劳逸结合,不要过度透支自己,产生抑郁

事业上要开始多读论文了,同时刷题还有博客也不能放下。论文每周要锻炼自己读10篇左右,而刷题和博客就保持在20篇和20道左右了

财务上做好管理

书还是要多读的,尤其是小说这种。因为自己一些对不一样生活的愿景,是只有读小说才能实现的

和2019年比,2020年对于我个人也是充满变化的一年。2019年的大事件是恋爱,毕业,工作,裁员,再就业。而2020年就是工作,新冠,离职,读博。2020年的展望实现了一些。小说读了2部,财务上支出保持着不变。刷题和博客放下了,转而开始做起我博士的项目,对数据库这个领域的理解也更深了一些。心理方面做到了。劳逸结合,每天基本上工作个最多6,7个小时就结束了。

想说说读博第一学期下来的感受。和全职上班相比,读博士这个感觉起来就像个是自由职业。最开始我也是想要保持作息规律,一天8个小时。但是发现这么着干下来,脑力跟不上。如果是只是写代码其实还好。但是做代码设计,想算法,看论文这些需要大量运用脑力的,基本上干个2个小时每天就是极限了。后来,我慢慢调整成碎片化作息。基本上干个3个小时白天就休息了。往往之后就是吃饭,洗碗,做一些家务。之后看时间,如果女朋友睡觉去了,我就再弄一两个小时。如果没有,就和女朋友一块做些共同活动。晚上一般不强制做科研,看自己兴致来。 洗澡后,我一般会再弄1个小时。基本上一天下来,累计下来6个小时的科研时间也是有的了。一般周末我是不工作的,之前在网上看到有人说,自由职业看似灵活,但是因为没有下班的说法,所以也就是无时无刻不在上班。读了博了,对此深有体会。往往不失眠的我,最开始的时候也会失眠。脑子已经转不动了,人也很累了,但是就是睡不着。有时候一躺躺俩小时,还是睡不着。有的时候,索性就起来再弄会研究。另外发现,其实大部分时间坐下来做研究,基本上要么是把脑子里的想法落在实践上,产出出来,要么是需要学习一些东西。一学期下来,我发现往往做家务或者洗澡的时候,大脑往往会产生一些想法,会对面对的问题多一些思路。这么描述下来,发现如果对博士课题不感兴趣的话,确实读博士会很辛苦。庆幸的是,经过多年的实践,觉得读博士在目前看来还是一件非常有意思的工作,第一次觉得是为自己在工作。课题本身也比较符合我的兴趣,感觉自己看待数据库这个领域的眼光变高变深,也许这就是为什么我觉得一学期下来也没有那么辛苦的原因吧。

第一学期下来,感受最多的就是孤独。从职场一个组为单位到现在自己一个人为单位,加以导师辅助。这种变化,我确实适应了好久。这其中多少也会有一些不自信,觉得自己没办法一个人胜任这项工作。但是,一学期做下来,发现也还可以。算法也验证了,代码也写了,导师很满意,我觉得进度也不算慢。现在也慢慢习惯并且享受一个人工作的感觉。这里也多亏了女朋友。她算是我的二导师,非正式挂名的小老板。我有时候科研上卡壳,就会拉她过来进行ruber duck session。很多时候问题跟她一说,她再基于我的问题问一些问题,往往就会想到新的思路,进而解决问题。可以这么讲,虽然她并不做科研,但是对我的科研她是了如指掌的。时不时我也会问问她觉得我进度如何,她也给予了很多正面反馈,让我更有信心了。

博士感受这块再说说导师吧。虽然一学期吐槽了这么多,但是整体其实还是可以的。至少人目前来看不是ass。最开始对这种每周meeting一次不太习惯。但是慢慢的,也算是经过磨合期,习惯了一周meeting 一次,平常通过slack async交流的方式,目前感觉还可以。虽然一般开会的时候他说话感觉似乎毫无重点,但是耐住性子听下来,还是会有很多启发的。最开始我对老教授也难免有些偏见,但是在导师这点上,我觉得他还是可以的。

2021年回顾

2021年在北美新冠疫情下,很多事情多了一些不确定性。但是还是写一些希望吧

  • 首先最重要的就是身体健康。希望周围所有人身体健康,这点在现在这个情况下,尤其重要。
  • 发第一篇自己的论文。
  • 房子装修,自媒体能一切顺利。

科研日志4

定期吐槽导师的环节。没错,我导师又让我很不爽。虽然基本上上来写东西都是以吐槽为主,但是反过来看的话,不写就说明没啥问题吧。至少没有想要特地上来去吐槽。起因是今天meeting花了整个meeting两个小时的时间去说我的notation。我的notation是Variable Xi for i = 1,2。他说这个不是binary operator,是个n-ry operator。这个在我看来和他之后说写成X1,X2没有什么区别在我看来。这个真是让我感慨以下几点

  • 不同的人看东西真的是完全不一样。在我看来等价的表示方法,到他眼里就变成了所谓重大科学不严谨了。说我学做学问,不能不严谨。说这个notation要是到外面,这属于重大失误。说白了,我当时就想,他这个bar也太不standard了。平常他一贯很sloppy,结果在某些奇奇怪怪的地方严谨性意外的要求高。
  • 其实,说实话他要是上来就说这是我的问题, 我其实很ok,也不会花2个小时去说这件事。关键他上来是这样的

是的,把我的算法和书上的算法拿出来,让我说不同。结果我心想,当时我设计的时候就想让算法在用法上和已有算法保持一致。我当时的心情和图上表示的一模一样。结果,他又开始从实现上想要展示他的论点。结果,不知道为什么,他想把自己实现的代码保证syntax上在Java上是正确的。我就看他折腾,结果折腾两个小时下来 ,说的论点在我看来是不是那么重要的。至少和今天meeting本来想要讨论的内容相比。最后还跟我说浪费了4个人力小时把这事说清楚了。真的是很无语。

说实话,和他一块工作真的很累。有一种东一榔头西一杠锤的感觉。meeting也没什么效率,感觉2个小时得到的东西,换个说话简洁的人,也就30分钟就搞定了。本来今天meeting前是想跟他说增加每周meeting的次数。但是,现在看来,我准备还是一周一次吧。开完会太累,心累。还不如我自己弄着。一些算法上也帮不上啥忙。现有的东西都是我自己一点点搞出来的。

后来晚上散步,和女朋友讨论的结果就是,以后meeting还是由我来主导。一个话题讨论的太长,就主动打断他。继续下一个。下周meeting试试。说实话,真的很难想象刚毕业的本科生怎么和这种导师工作。有一种都是明显和职场脱节的感觉。你说他要去职场上这么说话,谁有那么多时间听你在这磨啊。

先按照我自己思路来吧。反正也要冬天了,他要滑就由他去吧。正好我可以踏踏实实想想规划一下接下来怎么弄。

科研日志3

今天是关于导师的吐槽。开学2个月以来,目前最大的成果就是证明了导师原来最引以为傲的idea并不怎么work。之所以说是并不怎么work是因为原来他的具体算法实现被证明无法被非常简单的adapt到我现在研究的问题上。但是,算法的理念也许还有挽救空间,所以现在判死刑感觉还是为时尚早。现在整个工作的重心由原来开发新的算法变成对这个问题的领域的背景知识进行学习。之前开发算法是想着使新的算法符合某些特性来使其满足一些bound。但是这些特性都是从导师那里道听途说而来。现在既然直接开发算法没有什么头绪了,就索性花时间来搞清这些特性是什么以及具体bound是什么。现在这学期的目标也就修正为把相关的两篇key paper弄懂了。不得不说现在做的东西是越来越理论了。实现相比起来也就没那么困难了。回到导师吐槽这里来。周二meeting的时候他洋洋洒洒讲了快一个小时把他脑海里的想法跟我说,关于算法开发方面,下一步怎么做。但是他脑海里的都是些他自己的定义,但是用的terminology的单词又是在正常情况下表示的另外一个意思。比如说,他所谓的加号其实在正常数学体系来看是乘法。虽然这并不妨碍我听懂他的意思,但是我主要精力也就放在decode他的语言里了,至于他讲这些是为了解决现在我这个算法中的什么问题,我就不明白了。我之前其实就我现在算法的版本,已经写下来,让他看了。估计他是太沉迷搞他的房子了,根本没有看。所以,我用的一套语言体系和他的完全不兼容不说,他对于我现在的算法是什么样的状态估计也只是有个大概的印象。他最后meeting中也意识到了这个问题,所以说要看看我写的,然后周四跟我再meet来讨论。然后就没有然后了,因为现在已经是周四傍晚了。这点让我非常的不爽。这就好比我工作都写好报告了,本身也不长,让你的上级看一下就可以很好的在会议上比较好的讨论出来。换句话讲,我基本上就差把写好的东西喂给他吃了。关于这点我跟女朋友又聊了聊。得出的结论是基本上学术界都这样。不像工作,你有经理,同级。如果一件事无法推进,他们会帮助你去push别人。但是,在学术界你的导师基本上就是jeff bezos。jeff承诺了什么事,如果他不干,你也不好说什么。所以说现在的思路就变成了,他愿意开会愿意聊,就让他说,说的有用的就听,没用的就算了。开会也不用催他了,愿意开就开,不愿意就算了。自己先把背景知识这块先学了再说。之后怎么着再看。现在我想到the 7 habbits of effective people里说的一项原则,像导师这种都属于外部因素,你无法控制,所以与其把期望和精力放在他身上,不如放在自己能控制的地方,比如说把关键论文搞懂。写到这,我又想到了一点可以去尝试,那就是像在亚马逊那样,开会的头20分钟,花会上的时间,给他时间去读,盯着他读,读完了再讨论。下周试试这招。说实话像导师这种我觉得也不能全当成不可控的因素看。我要想办法限制不可控的范围,把完全不可控变成部分可控。我开会我也不给他讲了,又不是不识字,就让他读,读完了再讨论。有些毛病改让他改也得改改了。尝试建立一个相对职业的工作环境我觉得是非常有必要的。写完这些,心里舒服了些,可以继续钻到我论文里去了。噢,对了,不爽的一点就是当初来之前,士气很高,以为他要干一桩大的,给自己职业生涯画个完美的句号。结果开学以来他主要就是在折腾房子。再加交2门课,什么写funding proposal这我现在都当放屁了。Again,把精力花在自己能控制的因素上。剩下的就该怎么着怎么着了。可惜研究是很有意思,万一让我读下来,我就找个公司搞研究去了。

科研日记2

转眼之间,科研已经2个月有余。现在觉得最大的就是胸闷。现在在研究算法,没有任何进展。要说科研和工作最大的区别要说就是慢反馈和孤独。我现在所在的lab就我一个人在做我的项目。每天没有什么人可以去交流研究算法中遇到的新问题。被导师估计以为low-hanging fruit般的 改进,现在也遇到前所未有的困难。虽然这点在读之前也已经预计到了,但是实际去做就会发现和工作的时候时时刻刻都有反馈相比简直就是云泥之别。其实没有进展这点到也不是最让我心烦气躁的点。主要这种无法及时获得反馈和别人沟通这点目前实在是不知道怎么处理。一周一次和导师视频meeting已经满足不了我了。虽然每次和导师在固定时间外约meeting,导师一般也非常及时回复说可以。但是导师一把年纪,过多的讨论技术细节已经不太适合这种meeting了。也许我应该更多manage导师,逼着他多去了解算法细节,然后一块讨论。我应该试试再去push push他。另外一个反馈就是跟女朋友讨论了。一般每次讨论完都会有些insight。

算法这事做作业里搞和实际搞感觉还是有些区别的。一个点是不知道啥technique会work,也不知道什么性质需要去证。现在我基本上都是先empirically搞些例子,观察规律,然后写个算法sketch,然后理论上去尝试证证一些简单的例子,然后看看能不能generalize。最后算法改的感觉差不多,再去实现一下,自动跑些test case,看看有没有啥问题。也许有更好的办法?算法不是我的强项,很多上过的课的内容也忘了,需要去再捡起来了。这就引出了另外一个问题,那就是学习的东西优先级的问题。很多东西都要学,但是感觉似乎没啥时间学。感觉一周7天需要分配些时间比如2,3天来学些background的,和手头上的东西不是那么直接相关的东西。干活感觉是一个输出的过程。但是学background就是一个输入的过程。之前把我很早看不懂的一篇论文又翻出来看了一下,感觉看懂很多。虽然不知道是为什么能让我看懂,理论我也没看那么多,但是感觉那些数学符号不在那么吓人了。有的时候想学习知识优先级应该和导师商量商量看,但是问过导师,导师基本上也没啥答案。他都懂,但是怎么学的,他也说不出个所以来。现在基本上就是两手抓了,一边看教科书补基础,一边把想过领域的论文拿出来,每次都搞懂些。Again,干活的冲动远胜补背景的冲动,毕竟感觉干活能尽早出成果,更有动力些。接下来想休息几天,看看背景知识,干的东西看着有点反胃了。最后,我是硕士继续读博的。硕士是没导师的。感觉硕士学的那些东西和我现在搞的关系没那么大。但是尴尬的是,理论上我上的课已经满足博士项目要求了。一方面想上课,另一方面上课也确实要花很多时间。再和导师商量商量吧,下学期选个理论课上上看。写了这些,心里感觉也没有好很多,但是感觉写写总比不写强。这些也算个人生经历吧。希望下次写的时候能写些好消息。

科研日记1

这周是我正式开始的第一周。上一周我还在工作,但是这一周我就开始了全新的一个“工作”。由于疫情的原因,转变并没有像以往那么突然:一个工作到另外一个工作,一切转变的似乎非常顺滑。我本以为读博的生活和在职场工作并没有什么不同。但是,写这篇日记的时候已经是周三深夜,周四的凌晨了。内心有些焦虑,睡不着觉,想要写些东西解解心中的胸闷。我想借这个契机,也是时候开启开始在这里更加频繁的去写写字了。

3天下来,目前感受最大的就是一种孤独的感觉。一种没有什么人可以与之交流的感觉。我就读的学校数据库这个领域并不是什么强项,但是恰好现在的这个项目我感兴趣,同时指导的教授我似乎也和他比较合得来,对待科研的理念也比较相似。我就回来了。之前我在这里多次写到我对读博的思考,多多少少在文字中间夹杂着一些患得患失吧。但是,这就像小马过河那个故事里讲的那样,水深水浅终究要自己试试才知道。今天在系里组织的tea party中,我和不认识的人笑言我大概是我们学校里唯一一个研究数据库的人了吧。一个人单兵作战的苦涩,我现在在这个正式开始的第三天里,多多少少已经开始有所体会了。但是,我现在觉得这应该不是患得患失的时候,自己选择的,坚持也要走下来。现在我所经历的也许是完整的科研体验了吧。我现在胸闷其实倒也不是什么论文发不出去这种,这现在来说还为时尚早,只是内心的一种孤寂,无法排解吧。我本以为在疫情的环境下,我和女朋友同时在家办公,会营造出一种工作office mate的气氛出来。但是这周由于她要oncall,今天没有怎么跟她闲聊过。

今天主要在看论文理论部分。比较枯燥吧,但是理论这种想要真正理解,又不能求快。今天先写到这里吧。内心的闷多多少少缓解出去了一些。突然想到,什么时候系里建一个整个系的slack就好了。随时在上边闲聊。还是怀念Amazon的slack群。

今天就先写到这了。明天开始要上课了。