Autodesk (1)

不知不觉实习已经过了2/3了,才回想起来写这篇blog。

本身三月份投的简历(投了autodesk和adobe),然后就石沉大海了,到七八月份的时候,收到了Leslay Tai的通知。然后电话面试,被面试官怒裱一顿,十几天没有音信,以为挂了却又收到视频面试的通知。最后终于收到了offer。至于adobe嘛,中国区就只剩下营销部门了,R&D估计以后都不会再来中国了吧。

说起为啥去这家公司,大概是一个图形狗的意愿吧。毕竟合并了discreet、汉略等一系列公司,有3ds max,maya等产品,并且据说公司里人的图形基础都很高,估计对我而言是一个很好的学习机会吧。

拒了几家很有前景的公司的offer,然后去了一家实习工资相对低的公司。同时房租和生活费要求比较高的(上海的房租和生活费水平),每个月过着捉襟见肘的生活。估计以后都不会有机会这么做了,这就是所谓的穷游吗?

提起租房,在上海租房确实不是很容易呀,一开始在潍坊几村,老公房加学区房,有一家可以给三个人住的,每个月大概4000多左右,平摊下来每个月一千三,然而最后被放鸽子了还赔了意向金。几经周折终于在华夏中路附近租到房了,也是老公房,每个月一千六的单间。虽然要裱一下,某些舍友晚上吵吵闹闹的,太影响休息,不过总体来说还算可以。

再谈谈实习吧。总的来说,autodesk,至少我们开发组,不怎么欢迎java。我刚入职的时候,做的一个小工具。经理和我说:“我知道你以前是写java的,但是在我们公司,你写java几乎没人看得懂的,所以最好用c++、python、ruby等语言写。”所以最后用了还算比较熟的python(至少MM、DIP作业都是用python写的),写了两个星期,终于上了“主菜”,做起了真正要做的项目。总的来说,作为一个java程序员,能施展的空间实在太少,基本上就是不断的学习吧。

我个人的话,c、c++也不算不会吧,不过大学里基本没有锻炼的机会,组队写项目也没人会写c++的。虽然有c++课,但是课程内容也就是死抠语法,死抠概念,加STL的水平吧,别的什么类库,比如boost、Qt啊,基本不讲。相比之下,java就教的好多了,基本上java的类库都涉及到了,再加上一些j2ee的框架,比如spring,还有android的开发呀之类的。

我真正要做的项目,是一个AutoCAD某功能的移植,大概是把一个AutoCAD内核的跨语言异步API移植到OS X上。嗯,然后怎么做嘛,然后!就几乎没有下文了!其实学会怎么做,也是这个项目最有意义的地方。花了一个月,弄清楚这套框架究竟是怎么回事,然后花了十多天,调各种bug,再花了一天半,弄了一个demo并且“交货”,十分有Moore定律的味道。

嗯,我最庆幸的是,我起码弄完一个demo交货了。12月中有一个intern project showcase,看到各位来自CI组、maya组、sketchbook组、fushion 360组的同学,做出的产品各种牛逼哄哄,我要是啥都弄不出来,实在是太丢人惹。虽然演示的时候,演示的视频挂了,感觉real discouraging!

除了技术上的能力之外,其实表达能力也是很重要的,特别是英文表达能力。这点不进这类外企还真是不知道。不仅要看得懂英文,而且还需要学会表达,学会表达这点我相信没有一个人是一开始就能做得好的,不管你四六级还是GRE考了多高的分数!所以因为表达,经常被裱,说Albert(我们的principle manager)不知道你在问什么问题。。。

然后虽然我们的同事很helpful,一般会很耐心帮你回答问题,不过要给出正确的“答卷”还是需要自己去遴选答案。因为很有可能,给出的solution一点用都没有,或者这个solution本身就是错的。

反正,一个人的实习表现,至少在比较成熟的公司里,和他原本有多少能力无关。了解一个公司的文化,乃至了解一个产品的功能,架构,都是非常effortful的事情。不过怎么说,在autodesk的这几个月,对我而言,是非常宝贵的经历。

Stardew Valley (1)

一开始让我玩这游戏我是拒绝的,主要是因为之前买了呵呵鱼的starbound,发现他们把linux下32位版的executable给删了,据说是他们懒得提供支持吧(很好奇他们为啥有32位的windows版)。可惜合买的四人包,又不能退,所以这钱白瞎了。存着不能浪费钱的心,发邮件给contact,果然是传说中的不理人呢。想到steam上裱,可惜steam上玩不够30秒又不能发评论(警示linux 32位玩家不要玩罢了),真是套路太深了。

虽然我玩过他们能跑的starbound感觉还不错,这点钱就当送给他们了,不过做软件不能deploy很坏形象的啊。

不过一想国庆这么长时间都没游戏玩,实在无聊,买了个星露谷物语来玩。这次是不是又是呵呵鱼埋下的一个吸费陷阱呢?于是我将信将疑地打开游戏,做好了裱他们又不提供32位executable的准备。奇迹般地,游戏打开了,呵呵鱼居然也有不坑的时候。

游戏一打开,就弹出了惯例的呵呵鱼捂嘴笑,仿佛在嘲讽:“嘻嘻!你又掏钱了!”。接下来是ConcernedApe的avatar,点击可以把它的墨镜拿下来,让它做出惊恐的表情。过后,伴随着游戏trail里面的bgm,以及天空中飞过的几只史前恐龙级别的鸟,就进入了游戏的主界面了。

点击创建一个人物,虽然据说姆Q不能做剧烈的运动,不过还是比较想看姆Q从图书馆爬出来种地的样子,于是就捏了一个并不像的姆Q(不太像是指没有帽子没有裙子没有蝴蝶结,以下还是以主角称呼吧)。一开始是主角的外公临终前给了主角一封信,说“我亲爱的孙女,你现在还小。但随着你的成长,你总会有一天感觉人生的鸭梨很大。这个时候才能打开这封信,我会给你我最宝贵的遗产。”

主角长大了,画面切到了主角工作的地方,一个叫Jojo的公司(脑海中浮现了Jojo的脸庞和石面鬼)。公司里面有一群苦逼的妈农,气氛类似富士康流水线。主角感觉在这工作无比痛苦,打开了外公的信。信中说,外公给她留下了一片农场,当她不想工作的时候,就可以去继承这个农场,体验“真正的生活”。

情节有点类似Hay day里面的情节。不过对于码农来说,这不就是“回家种红薯”吗,我宁可种代码也不愿意种红薯!可是开发者不会给你选no的机会呀,于是主角就坐着公交浩浩荡荡回乡下种地了。

回到了外公那因为缺乏打理,杂草重生的农场。一回到家就遭到了村长和木匠Robin吐槽这家如何rusty,喂这家破可不是我的锅哈,您们两位这样吐嘈不太好吧。不过这家还是要住的。一进家门,就只有一张床,一台电视,一个炉子,一张桌子而已,很好奇外公平时都不自己做饭吗?

游戏的第一个任务是让你熟悉村子里的其他人,大概一共有28个(wpcap这么多)。我还想要致富,先撸树,把农场里那一堆树清掉一片呢。不过没办法,为了推动情节的发展和世界的进步,只能照做了。这个任务比较无聊,估计初次见面也没法了解他们什么吧,于是就一笔带过算了。

值得吐槽的是有一个叫Linus的老头,虽然我知道不是Torvalds,不过总有种Torvalds菊苣也弃了linux坑回家种地的感觉。以及JojoMart,无数不在的Jojo,估计主角一看到就勾起了她不好的回忆吧,就像某啥都做的富士康一样。

由于我第一次玩这游戏,连地图都看不懂,于是没有把所有人都见完就已经晚上八点了。这点时间不能浪费,被我拿来强行撸树了。值得注意的是,主角砍树的时候,会蹦达蹦达地,眼睛还会变成“><”状,十分可爱!不知道主角如果是男的有没有这特性呢,总之先加点分吧。

一开始砍一棵树要十多下,而且体力消耗是按你使用工具的次数来算的,于是撸了几棵树就精疲力尽了,只能葛优躺。

有白天,有黑夜,这是头一天。

Prelude

虽然这破站其他地方都是用英文写的,不过博客部分还是用中文写的。

首先从标题Prelude开始说起吧,如果你用过Wordpress你就知道它默认生成的页面是Hello world。这让我想起了,学大多数语言,其实都会先教你写Hello world。怎么说呢,学会Hello world并不见得你就能写出别的productive的程序出来,所以我还是把它删掉了,Goodbye World :-)。

Prelude有序曲、前奏曲的意思,听起来就没那么geek了。虽然要说真的和程序没一点关系的话,其实还是有的,某个语言的交互式命令行一开始就是Prelude>,可以做个无奖竞猜。

然后就提这破站的事情,本来十一打算把个人网站的事情搞定,比如把navigate page弄好,再把这个blog搞好,加几个wiki,就算完成了。结果我居然玩了6天星露谷,有毒啊!navigate page折腾了六天arborjs,结果还是只有几个sample。这个blog就更神奇了,首先搭个httpd就被坑得惨,构建的时候忘了整rewrite模块弄进去,临急下了几个so,结果发现缺符号,只得重新构建一遍了。然后就是php,各种漏模块,漏mysqli,漏deflate,而且这玩意的构建时间还奇葩的长,加跑12000个测试用例。。。

最后发现这玩意不能直接用nginx做proxy访问,否则返回的地址各种错,改各种配置都修不好,实在没办法了把nginx删了,用httpd本来的named virtual host,真是折腾死个人。好在这玩意现在终于能跑了,虽然主题还没选好。(个人感觉这主题适合我这种懒人)

还是求推荐个适合的主题吧!