2018 End-year Recap

前言

过去的Recap:

2018回顾

转眼已经走过了2018。首先还是来回顾一下2018年写下的目标:

向下扎根,向上结果

找到实习或者署研

有学校可上

减重到70kg,体脂比在15% (监督链接: Daily Weight Statistics)

每周坚持锻炼至少3次,每次时长30分钟 (监督链接: Insanity Max 30 (2018))

一年读10本书 (监督链接: Goodreads 2018 Challenge)

每天刷2道leetcode  (监督链接: 刷题进度表)

在美国找到工作

完成的有 “找到实习或者署研”, “每周坚持锻炼至少3次, 每次时长30分钟”,“在美国找到工作”。 “向下扎根,向上结果” 并没有完成的很好。现在看看当时写下的文字 “18年希望内心得刚强” 现在看来是缺乏具体的行动计划的。最近在看的一本书“The 7 Habits of Highly Effective People” 给完成这个目标给出了一些具体的行动方案。“刚强”其实就是要有principles,不受外部条件变化和影响的principle。而principle,用书中的比喻来说就是要建立自己的personal constitution。要建立自己的personal constitution最简单的做法就是想象在葬礼上你想让别人怎样去评价你。这个会做为2019年的一个工作重点。减重还是没有很好的完成。今天量过的体重还是73公斤。最近从母亲那里学到了一些她的技巧,正在实践,不知道2019年的时候能否把这个工作项目从清单上消去。关于读书,说来真是惭愧的一年。在岁末的时候我才突然意识到我还没有完整的读完一本书。这真是让我震惊而又羞愧。“有学校可上”和“在美国找到工作”是冲突的,两者不可得兼。真正的是要去发现自己想要做什么。到现在其实还是很迷茫。虽然我对金钱没有那么渴望,但是人在外边,有一些金钱储备还是要踏实很多。我想我最后还是不会去继续读PhD了,但是剩下的面试还是准备全力以赴。最后就是关于刷题了。现在看看这个是一个长期的工作:每年都要做。去年目标不好的一点就是非常激进的规定了每天要做两道题。其实这个非常不好,并没有考虑到实际的条件(读书节奏快,事情多),高估了自己的精力。

2019展望

首先还是要确立自己的personal constitution。这点比任何事情都重要。如果方向错了,任何的努力都是白费。

健康方面要更加注意。保持锻炼并且要调整作息。11点前还是要睡觉,做到早睡早起。还有一点就是要注意用眼卫生。不能过度用眼了,每隔45分钟还是要从电脑屏幕前走看,活动活动,休息休息眼睛。体重上这次目标变成了65公斤。

精神方面就是要多读书。要更加侧重读一些书,一些植根于中国传统文化当中的书。比如说孟子。今天看Youtube视频中突然提到了孟子的一句“由是則生而有不用也,由是則可以辟患而有不為也,是故所欲有甚於生者,所惡有甚於死者。” 觉得此句甚好,讲出了什么才是“大丈夫”的气节。故上网去查了一下。愕然发现这句出自上学时候背过的“鱼我所欲也”。通读了一下全篇。不由得发现自己对古文感到了如此的生疏。顿时惆怅了起来。在现在这个社会,粗俗扭曲的词汇不断出现,如何在这个环境下去刻意的维护自己的语言体系,去做一名儒士:说话写字有雅风,表达情感准确,不会觉得词穷。我觉得读古文是非常重要的一点。对于这点我是想2019年着重培养的习惯。

事业上,我想最重要的还是保持好奇心。刷题还是要继续,2019年刷200道题。另外,还是至少要做一个significant的side project。技术博客还是要继续保持更新。最低目标就是更新10篇。

为人上,2019年想要做到的是generous。时时觉得自己是一个self-centric和money-centric的人。多giving,给予需要帮助的人更多支持,尽自己的所能。不被一些细节上的亏损所左右。做好个人理财,但同时也不要被金钱所捆绑。

最后的最后,还是希望家人能够平安喜乐。希望能让他们看到我的变化。

结语

2019年是一个全新的一年。今年我打算做一个全新的尝试,我会把上面的目标贴到一个draft里,在年中的时候实时更新,然后在2019年末给贴出来。希望2019年自己能有一个全新的提升,慢慢的变成一个儒士:平和而又有雅风。

 

Advertisements

Freedom of speech

Piazza is an online forum tool that is heavily used in the academia. It is used to help students ask questions and get feedback from both peers and instructors. It has a goal that is similar to Slack in the sense that they both try to cut the duplicate emails sent by several people for the same or similar type of request. It is a good tool but every tool that comes with power has its own consequence.

Instructors can perform the following configuration when they setup the forum for the course.

Screen Shot 2018-02-09 at 11.58.12 PM

Basically, this option means that when you make a post, whether you can choose to be “Anonymous” to both your peers and instructors or to your peers only (instructors can still see who makes the post).  The following picture shows what this option looks like from student’s perspective:

Screen Shot 2018-02-09 at 11.58.33 PM

The intention for this option I guess is that some students may feel embarrassed to ask questions. They might think their questions are dumb and will make them look bad in front of peers or instructors. I think this option is used as a way to encourage students to ask questions bravely.

However, this option may get abused. From my observation, Piazza is used as a way for instructors to show off their teaching quality. This is important for Assistant Professors because teaching still means something (if teaching quality doesn’t matter, why institution asks for the teaching statement at the very first place?). In addition, the teaching quality in some sense is an important indicator for students to evaluate you as a person. This is important for professors who are looking for graduate students because research publication is only part of the story and how those professors interact with students may be a crucial indicator to how good a professor as a human being is (evaluation may be a better indicator but it is confidential). Thus, if some potential students look at the piazza that his interested professor teaches gets a lot of complaints. The students may have a second thought on whether he should work with him for research (maybe he is a very bad person even he is doing a good research).

Thus, the instructors have a strong motivation to censor the posts on the piazza. This scares the students because they don’t have a secure way to provide feedback to the instructor. Let’s assume that the majority of students has a good heart: they won’t say bad stuff to the instructor who actually really cares about students. Thus, the time that something slightly negative appears on the Piazza may be a very important signal to the instructor that something wrong with his teaching. However, due to the strong motivation for instructors to show off their teaching quality through Piazza, the instructors may start to censor the speech on the Piazza by turning the option off.

I didn’t realize this thing last semester. Last semester, the instructor from one course sets this option off and I was thinking maybe he wants to know the students who are shy to ask questions and provide some individual attention. However, this semester, the instructor from one of my course initially turn the option on so that everyone can truly ask questions as “Anonymous”. Then, until one day, someone makes the below post and the option is turned off. Now, no students dare to make slightly negative posts.

Screen Shot 2018-02-10 at 12.28.57 AM

 

I fully understand the interests conflict between students and instructors on the use of Piazza: students may think Piazza is a secure way to provide anonymous feedback while instructor may think bad posts on the forum make them look bad. However, I still think there should be a better way to address this conflict to protect both students and instructors especially with the technology we have nowadays. But, (unintentional) censorship is not something we want to culture especially in the Academia. By the way, for this course, I still think the instructor is good but the material is quite challenging without laying down a solid theoretical foundation beforehand. He went through the material again after this post but too bad the truely “Anonymous” is gone.

2017 End-year Recap

距离要起床去机场还不到2个小时了。实在是辗转难眠,就起床开始写今年的倒数第二篇博客了。如果我在飞机上能读完那本书的话,还是会有一篇book review的。

先贴上2016年的回顾吧。毕竟格式是要保持一致的。

2017年回顾

上来先做个工作报告,回顾一下16年展望中的工作进展:

  • 博客数量至少100篇!

粗略数了数,17年目前为止总共写了62篇博客。其中技术类44篇更新在我的个人主页上。虽然没有完成既定的目标,但是我个人对这个数量还是比较满意的。年初的时候就基本发现1年写100篇博客其实还是不现实的。如果在这个数量前加个“有质量”的定语,那就更加不可能。“有质量”仅仅是指对我个人来说。技术博客9月份以前由于工作原因时间比较充分,所以还是可以好好看看书,然后写写的。但是到9月份的时候就有灌水之嫌了。所以,我就果断作罢,停止技术博客更新了。希望回国冬假期间能补上几篇。Wordpress的博客这一年来还是坚持每月至少更新一篇,整体质量还算说得过去,只有11月份灌水了一下,这里作为半吊子作家自我检讨一下。博客的灌水究其原因还是时间不够。随着开始硕士学习,课程强度使得我没时间沉淀。每天都在张着嘴,被老师拿各种新东西往里揣。现在感觉有点消化不良,希望冬假能沉淀沉淀。

  • 体脂比降到15%以下,体重降到70kg

看到这个是老泪纵横。在国内控制的可以叫做胜利在望,但是出来了就可以叫做惨不忍睹了。最好记录是72.6公斤,12%体脂比。主要出来检讨一下在国外这几个月骄奢淫逸的罪行。首先没弄个体重秤是最大的问题原因。果然没有数字的直接刺激,就很难评估每次运动的直接成果。其次就是吃了。最开始吃还是克制了一些,但是后来就非常放飞了。10月底开始我家来了个重要客人来我这入伙,那真是变成了想怎么吃就怎么吃了。一顿饭不仅要弄个2,3个蔬菜,连肉大部分时间都是既有白肉也有红肉。每次蒸米饭,我的手抓个3把就差不多了。但是由于客人实在太过尊贵,就抓个4,5把了。米饭真是个好东西。亚马逊19.99一大袋便宜不说,吃起来特别管饱。每次两个人坐在椅子上,互相看着对方拍着肚皮的样子,一种幸福感与安全感混杂的情绪就油然而生了。现在我做饭口碑算是小有建立起来了,至少在那位不能说名字的客人面前,我做的饭是属于管够并且“多搁点盐就是餐馆水平”的了。现在和我室友,以及那位客人相约减肥,为此我室友还搞了个体重秤。希望能如愿。

  • 看书频率要达到这位的速度

这个又是罪过了,完全没有达到预期。如果把全年以出国日期8月5号作为切割点的话,两段时间各自出现了一些问题。出国前看书偏细致,算法书逢题比作,看的实在是过于精细了一点。同时,自己文学类书籍看过一些,但是频率还是不及。出国后看书效率明显提升。这个主要得益于跳着看这个方法。 这里非常感谢Prof. Dana Ballard教的Machine Learning以及其他courses的老师们,自学成为主要学习手段。疯狂的project进度逼迫着我这个完美主义者向能用就行主义者的进化。看一本书直接就看最相关的章节,所有背景知识都是后补,并且如果又不理解的但又不影响阅读的,就画个标记搁置起来后边再看。意识到一本书可以看多遍的道理,所以第一遍读时的贪欲就少了很多,就不求每个点都读懂了。是的,写这段话的时候,我脑海里浮现的书名就是PRML。但是,一本书没有看完大部分章节终究还是不能说看过的,所以8月份后问题主要出现在时间不够上边。介于未来几年希望能读完PhD的我来说,状况可能改善不会太大。

  • 每读一本书都要写book review!

这个做的还是不错的。因为毕竟真正读完的就没有几本而且都集中在上班时期,所以每本读完的书都写过book review了。

  • 有所学校能收了我!

这个愿望算是实现了。感谢主。我来到了UT-Austin!

从2016年的展望来看,5个点真正完成的了只有最后两个,完成率40%,只能说一般。但是从2017年整体来看,我还是比较满意的。适应了从职场人到学生的转变,虽然第一学期的Graduate school非常难熬,但是我还是非常高兴自己能挺了下来。希望新的一年里能继续加油。

2018年展望

  • 向下扎根,向上结果

其实这是教会2018年要交通的主题。结合自己来看就是希望自己能够更加的了解神,接近神,信靠神。教会里属灵前辈讲男人是头。17年的第一学期主要参加的就是团契和主日了。祷告会一次也没有参加过,甚是惭愧。重要的客人这方面已经积累了10多年了,要超越不容易,但是还是要做。具体来说,18年希望内心得刚强。有的时候我深深佩服我这位客人。总觉得内心是刚强的,尤其在美国,在外旅行的时候。要向她学习。这点我觉得解决问题的关键还是在主那里。也许主让我和这位客人相遇就是想去除我内心上的软弱呢?我还是非常相信这点的。

  • 找到实习或者署研

这点其实是老生常谈的问题。研究方向成为了17年一个贯穿始终的话题。坦率的讲,我第一学期之后还是没有发现我真正的研究方向。NLP已经成为我AI方向中的头号Candidate。但是System那边还是希望能多explore一下再做最终决定。至少目前我是这样想的,但是不到课表确定的最后一刻,任何问题都还是说不定。确定了研究方向暑期研究具体做什么也就确定了很大一部分了。剩下的就是确定导师了。实习算是另外一个方向,主要是为了刷题多积累点动力。另外一学期的政治学习也积累了不少动力。

  • 有学校可上

18年底又又又要申请学校了,这次希望继续有神的保守。

这一切的一切都需要主的保守!

In relationships: a first taste

It’s October 30th today. I only have one more day left to compose a post for October. Blogging can be very hard during school time because there are endless tasks you need to get done in a timely fashion with certain expected results. Even though I have given up watching videoes, playing video games, writing technical blogs (almost) for this semester, I still want to write something here to keep the blogging trend going: I have written at least one post per month for the past two years. So, here it is.

There are many things happened in October and surprisingly, those things are all about the relationship: I got baptism to become a Christian, which indicates a new relationship with the God; I start seeing a woman, which is a relationship in a normal standard. One thing I am always curious about when I don’t involve those relationships is: how life can be different when you are in a relationship. Most of my knowledge on this matter is from the media and the people I observe. For the relationship with the God, I barely know anything. I haven’t actively thought about this since I graduated from the college and I won’t even think about being a Christian before coming to Austin. For the relationship with a woman, that I have been thinking about quite actively especially when I was a high school student. I always want to know the taste of being with someone. However, quite surprisingly, if you ask me now how life changed after being with God and being with a woman, I would say: the former one is quite significant but the latter one doesn’t change much.

Being with the God

Being with the God is a huge decision to me. I went to a church back in Madison for two years but I could barely feel anything internally. I always treat going church on Sunday morning as a way to sing some songs and take a break from study. However, after arriving in Austin and thanks to some incidents, the picture of God becomes clear to me. I start to feel the life journey I have been through is perfectly designed to me. Attending Madison for undergraduate makes me mentally strong to the setbacks and going back to China for work makes me grow up like an adult and start to learn all the soft skills I previously ignored: communication, love, and family. All those things prepare me to head back to the States and pursue the further study. In addition, I always know that I have sin but I don’t know what way can help me to get rid of that and start a new life. Even worse, I constantly get seduced by Satan to do the things that hurt my friends and my family. I know I’m wrong but the pleasure coming from the crime is just too much and that gives me the pulse to commit again next time. Thankfully, I have the chance to know the God and I get my way out of the vicious cycle.  After becoming a Christian, I learn to view things in God’s view and try to pass the love to others. I learn to forgive the conflict and do things in the honor of God. Thanks to God, he prepares a woman for me.

Being with a woman

Surprisingly, being in a relationship doesn’t change my life that much. I simply have one more person to care about and I need to allocate certain time for that person. This doesn’t differ from spending time with my parents previously. She is a Christian as well and we adhere to the same core values. All the rest of difference seems trivial to reconcile. However, we have been dating for like a month and we are still in the calibration period: we start to know more about each other and be careful with the relationship traps that people usually fall into. However, with the help of the God, I think I’ll be fine.

Does teaching matter?

I really hesitate whether I should spend my precious hours during the working days composing this blog post. However, I feel I should. I wrote down the title several days ago but I felt some pieces were missing to formal a relative concrete post. However, today, the miracle happened and I can finally complete my puzzle.

Several days ago, I feel quite frustrated because there is a homework due for one of my classes and I have no clue how to finish it. I dig into the books on the subject and try to research the solution out. The most frustrating part isn’t the whole process of seeking answers. It from the lectures. The class is quite popular among the CS graduate student and no matter what areas of their research, everyone I know in the program will take this class sooner or later. The professor for the class is quite famous for his research but I have to say that the quality of the teaching is controversial. By controversial, I mean there is a debate in my head on whether his style of teaching is good or not. If you are familiar with Prof. Andrew Ng’s CS229 lecture videos, then his style is exactly opposite of Prof. Andrew Ng’s. Unlike Prof. Andrew Ng’s mathematical teaching style, professor in my class skips most the f derivations of the formulas and in some cases, he will read through the slides and talk loud about some steps of the derivation. He usually ends the 90 minutes lecture 30 minutes early and in-between he may make some jokes or take a diverge into his research areas that might seem related to lecture topic. The good side of his teaching is that he may offer some intuitions or insights on why we perform those steps and sometimes those few words may help you connect the dots. His teaching style may look like a good fit for someone has a solid background in the field but if you are relatively new to the field, you may have some hard time. This “twisted” class partially leads to my question in the title: “Does teaching matter?” For me, under the context of trying to finish the homework, I cannot see any good from my professor’s lecture style.

The reason that I now look quite peaceful in accepting his lecture style is because of some new insights into research. In a nutshell, you just really don’t have enough time getting everything figured out all at once. Once you’re inside the graduate courses, you will start to read research paper immediately. There can be a lot of background knowledge you need to clear up especially you are new to a field. However, can you say “let me take a pause and get everything figured out at the first.”? No! There are unstoppable piles of papers coming to you and all you need is try to iteratively make best out of the paper. If there are mathematical formulas you don’t understand, in most cases, that’s ok as long as you get a big picture of the paper. The formulas matter the most when you actually start to build your own models. But, that’s not like I have to super clear about every bit of variables appeared in the set of formulas. Many of times, you can take them as given and go straight to use them as basic bricks to build your own building. This feels a lot like playing with LEGO: you don’t care how each piece is made of. You simply use them to build your stuff. The way of looking at knowledge is totally different from your undergraduate where you are tested out every bit of information taught in class through the exam. This observation may look easy but it is really hard from psychological perspective especially when you are a strict person who holds tight to your knowledge system. This psychological barrier is hard to break when you have relative enough time to read through a single paper. You may really hog onto the background or related work section of the paper and you may think there is always a piece of information that you find yourself unclear. Then, you take several months to study the material in order to move a few words to the next sentence of the paragraph. That’s exactly the beauty of the graduate school where you get bombarded by the papers. You just simply don’t have enough time to get everything cleared up before moving on. Classes are heavily centered around the papers and you are sort of expected to figure out on your own by adopting an iterative approach to the knowledge understanding. Take PCA algorithm as an example. The first pass of the material may just simply know how to follow the algorithm and implemented it. The second pass of the material may involve understanding the intuition behind the method and some mathematics derivations. The third pass of the material may actually need to dive to figure out every bit of information and so on.

Now, let’s get back to the question: “Does teaching matter?” It is sort of yes and no question depending on the perspective. From the undergraduate perspective, the hand-holding strategy is probably the must because that’s how we help students build the solid knowledge foundation and allow them to have the basic strategies to survive in the water. Now, for graduate students, it’s debatable whether we should go freestyle of teaching like my professor of the class or we still proceed somewhat like hand-holding but with modification. I guess that depends on the information that the instructor wants to deliver: knowledge itself or how the research is done.

P.S. The miracle happened to me today is during the calculus discussion section, a bunch of freshman chats out loud when I try to explain the solution of the problem to the class. That brings me to think whether the education quality of public system relatively weak compared to the private institutions is due to the quality difference of students. People may think that the reason why faculty in public universities don’t really care about teaching that much is due to the lack of the incentives. But, I’m now starting to think whether that also probably involves another party as well: the students who in short give the wrong signals to the faculty who try hard to achieve teaching excellence. That’s probably an another post in the future.

 

Leaving IBM

To be honest, this is probably the most difficult post I have ever written. This is majorly because there is a ton of stuff I want to say but I’m unsure whether I should keep them public or should keep it to myself. Another factor that makes this post hard to write is because the span of drafting. I have been drafting this post since April in 2016, right after when I decide to start the whole process of quit-IBM-and-get-a-PhD project.  I used to use this post as a log to record things and feelings when somethings happens around me at IBM. Frankly, if I take a look at the stuff I record (mostly are rantings) retrospectively, lots of stuff still hold but the anger just passes away with the time. So, that year-long drafting really makes me hesitate even more because the mood when those stuff are written are gone. However, two years can be a significant amount of time and quitting IBM can be called “an end of era” and I should give a closure to my happy-and-bitter experience with IBM anyway. So, here it goes.

 

Thank you, IBM!

I’m really thankful for the opportunities working with IBM. This experience really makes me grow both technically and mentally.  Technical-wise, I have the opportunity to get hands on experience with DB2 development. DB2 as a database engine is extremely complex. It has over 10 million lines of code and it is way beyond the scope of any school project. Working on those projects are quite challenging because there is no way you can get clear understanding of every part of the project. I still remember when I attend the new hire education on DB2, there is one guy says: “I have been working on the DB2 optimizer for over 10 years but I cannot claim with certainty that I know every bit of the component I own.” This fact really shocks me and based upon my experience so far, his claim still holds but with one subtle assumption, which I’ll talk about later. There are lots of tools are developed internally and reading through both the code and tool chains are a great fortune for any self-motivated developers. I pick a lots of skills alongside: C, C++, Makefile, Emacs, Perl, Shell, AIX and many more. I’m really appreciated with this opportunity and I feel my knowledge with database and operating system grow a lot since my graduation from college.

Mentally, there are also lots of gains. Being a fresh grad is no easy. Lots of people get burned out because they are just like people who try to learn swim and are put inside water: either swim or drown. I’m lucky that my first job is with IBM because the atmosphere is just so relax: people expect you to learn on your own but they are also friendly enough (majority of them) to give you a hand when you need help. I still remember my first ticket with a customer is on a severity one issue, which should be updated your progress with the problem daily. There is a lot of pressure on me because I really have no clue with the product at the very beginning. I’m thankful for those who help me at that time and many difficult moments afterwards. That makes me realize how important is to be nice and stay active with the people around you.  Because no matter how good you are with technology and the product, there are always stuff you don’t know. Staying active with people around you may help you go through the difficult moment like this by giving you a thread that you can start at least pull. In addition, participating with toastmasters club really improve my communication and leadership skills and more importantly, I make tons of friends inside the club. Without working at IBM, I probably won’t even know the existence of the toastmasters club. If you happen to follow my posts, you’ll see lots of going on around me when I work at IBM. Every experience you go through offer you a great opportunity to learn and improve yourself. Some people may look at them as setbacks but for me, I look at them as opportunities.

toastmasters1

( the picture on the left is all the comments people give to me about my speech and on the right is the awards I have earned inside the club in these two years)

With the help of all those experience, I have developed a good habit of writing blogs (both technical and non-technical), reading books, and keep working out six days per week. All those things cannot be possible if I work at a place where extra hour work commonly happened. I’m very thankful for IBM for this because staying healthy both physically and mentally are super critical for one’s career. Even though those stuff don’t directly come from IBM, but IBM does provide the environment to nurture this things to happen.

 

IBM has its own problem. The problem is centered around people. There are many words I want to say but I think I’ll keep them secretly but I want to show my point with a picture:

ibm_survey

I don’t know why IBM’s term “resource action” on firing employees and the sentence “IBM recognize that our employee are our most valuable resources.” bother me so much. I probably just hate the word “resource” as a way to directly describe people and how this word get spammed so much around IBM. I know everyone working for a big corporation is just like a cog in a machine. However, what I feel based upon lots of things happened around me is that IBM as its attitudes represented by its first-line managers (because those people I commonly work with) makes this fact very explicitly. It hurts, to be honest. No matter how hard you work and no matter how many prizes you have earned for yourself and your first-line manager, you are nothing more than a cog in a machine, which is not worth for high price to have you around because there are many cogs behind you that are ready to replace you. They are much cheaper, much younger, and more or less can work like you because your duty in the machine is just so precisely specified, which doesn’t really depend on how much experience you have had under your belt. To me, that’s devastating.

This leads to the problem that talented people are reluctant to stay with company. My mentor and the people are so good with DB2 have bid farewell to the team. That’s really sad to me because they are the truly asset to the company and the product. The consequence of this is that crucial knowledge is gone with people. Some quirks existing in the product are only known by some people and once they leave the company, the knowledge is gone with them. That makes mastering of the product even harder. That’s the subtle assumption that the person makes during the new hire education and that’s also part of the problem when working with legacy code. The whole legacy code issue is worth another post but one thing I now strongly believe is that any technical problem has its own root cause in company culture and management style. To me, I’m not a guru now but I cannot see the way to become a guru with my current position, which scares me the most

That’s it for this section and I’ll leave the rest to my journal.

“Research” Interest

This week Friday, I meet with my future roommate in Beijing. During the lunch, we had a conversation about each one’s research interest. My roommate, likes me, is also a CS graduate student at Austin. However, unlike me, he has a clear vision about what direction he is going to pursue in graduate school. He just finished his undergraduate degree in Automation department at Tsinghua University. Automation department, as he explained, is similar to a mixture of mechanical engineering and electrical engineering. He has interest in mathematics since high school and naturally, he wants to work on machine learning theory in graduate school with emphasis on computer vision (CV).

Now comes to my turn. That’s a hard question I have been thinking about for a while. I don’t have clear vision on what I’m going to pursue next. I think maybe I’m too greedy and want to keep everything. However, I also realize that I may not be as greedy as I thought initially. I know I don’t want to work on computer architecture, computation theory, algorithm, compiler, network. Now, my options really just choosing among operating system, database, and machine learning. For the machine learning, I even know I probably won’t choose computer vision eventually (still want to try a course though) and I more lean towards the natural language processing (NLP). However, picking one out of those areas is just too hard for me now, even after I did some analysis in my last post trying to buy myself into picking machine learning only. There is always a question running in my head: why I have to pick one? Sometimes I just envy the person like my future roommate who doesn’t have this torture in his mind (maybe he does? I don’t know).

This feeling, to be honest, doesn’t new to me. When I was undergraduate facing the pressure of getting a job, a naive approach is just locking oneself in the room and keeping thinking what profession might suit me the best. After two years of working, I grow up enough to know that this methodology on making choice is stupid and I also grow up enough to know that “give up is a practice of art”. Why I’m in this rush to pick the direction I want to pursue even before I’m taking any graduate course yet? Why can’t I sit down and try out several courses first? Because I want to get a PhD in good school so bad. Let’s face the fact that people get smarter and smarter in generations. Here “smarter and smarter” doesn’t necessarily mean that people won’t repeat the mistake that happened before. It means that people will have better capability to improve themselves. Machine learning is not hot in 2014 from my experience in college. Back that time, Leetcode only has around 100 problems. I have no particular emotional attachment to machine learning material when I’m taking the AI class. Maybe because wisconsin has tradition in system area? I don’t know. However, in 2017, everyone, even my mother who is a retired accountant, can say some words about AI, machine learning. Isn’t that crazy?

On my homepage,  I write the following words:

I like to spend time on both system and machine learning: system programming is deeply rooted in my heart that cannot easily get rid of; machine learning is like the magic trick that the audience always want to know how it works. I come back to the academia in the hope of finding the spark between these two fascinating fields.

Trust me, I really mean it. Maybe because I graduate from wisconsin, I have naturally passion for system-level programming, no matter it from operating system or database. Professor Remzi’s system class is just a blast for anyone who wants to know what’s going on really under the software application layer. Professor Naughton’s db course is fully of insights that I can keep referring to even I begin to work a DBMS in real world. Wisconsin is just too good in system field and this is something that I can hardly say no even I have work so hard lie to my face saying that “system is not worth your time”. What about machine learning? To be honest, great AI dream may never accomplish. Undergraduate AI course surveys almost every corner of AI development but only machine learning becomes the hottest nowadays. Almost every AI-related development nowadays (i.e. NLP,  Robotics, CV) relies on machine learning technique support. Why I’m attracted to machine learning? Because it’s so cool. I’m like a kid who is eager to know what is going on behind magic trick. Machine learning is a technique to solve un-programmable task. We cannot come up with a procedure to teach machine read text, identify image object, and so on. We can solve these tasks only because the advancement of machine learning. Isn’t this great? Why both? I think machine learning and system becomes more and more inseparable. Without good knowledge about system, one can hardly build a good machine learning system. Implementing batch gradient descent using map-reduce is a good example in this case.

I just realized that I haven’t answered the question about rushing towards the making decision. In order to get a good graduate school to pursue PhD, you need to demonstrate that you can do research. This is done by publishing papers. Most of undergraduates nowadays have papers under their belt. That’s huge pressure to me. Master program only has two years. I cannot afford the time to look around. I need to get started with research immediately in order to have a good standing when I apply to PhD in 2018.

So, as you can tell, I have problem. So, as a future researcher, I need to solve the problem. Here is what I’m planning to do:

  • Take courses in machine learning in first semester and begin to work on research project as soon as I can. I’ll give NLP problem a chance.
  • Meanwhile, sitting in OS class and begin to read papers produced by the Berkeley Database group. People their seem to have interest in the intersection between machine learning and system. This paper looks like promising one.
  • Talk to more people in the area and seek some advice from others.
  • Start reading “How to stop worrying and start living

Will this solve the problem eventually? I don’t know. Only time can tell.