忠忠的新百宝袋

做人要厚道

Archive for March, 2008

Reading Design Pattern

Posted by Kai on 31st March 2008

Before graduation, I just need to complete the degree paper, and that’s my only mission in the next three months. So, I am free to do everything I want only if i can afford.

I seldom go to the library when busy, so now is a good time to do some reading. In the last three weeks, I have completed three books. There are “Thinking in flexible engineering“, “Design Pattern“, and “The trip through games, my experience of programming“. Not until I read Design Pattern did I realized how terriable my code was, but I don’t know how to improve them. I have tried to seperate a class in to more classes with respect of some Named Pattern, but I haven’t get a satisfying solution.

2006844252849252

Posted in books, tech | No Comments »

Design Pattern Explained

Posted by Kai on 31st March 2008

I read the book last week. design pattern explained

For me, Design Pattern Explained is more useful then Design Pattern by Gof. There are details of the author’s consideration of why certain pattern was choosed. Though not so complete as Design Pattern by Gof, Design Pattern Explained shows an easy acceptable and replicable approach to the concept Pattern. Thus if someone need an recommendation, I will suggest Design Pattern Explained.

Posted in books, tech | No Comments »

Kai的大学三年半

Posted by Kai on 25th March 2008

军训,表现还不错,但是因为身高不够,被教官放到“飞虎队”,窝窝囊囊的。

大一的时候,好好学习,极少玩游戏,超想做兼职。找过两份兼职。第一份就是在路边举这个牌子到处问人要不要给小孩找家教,联系到一个信息我能得到25块钱,不过我得先给那个中介公司100块。累死累活的做了2个星期,感觉被骗了,我为什么要给他100块钱那。最后发现还是做家教最轻松,报酬也不错。于是去另一个中介公司买来家教信息,第一次见学生家长面试通过。赚到钱的第一个想法就是可以都随便花掉,我不能浪费父母的钱,但是我可以浪费自己的钱。大一下学期最多的时候同时做三份家教兼职,刚开始想做兼职是为了锻炼自己,后期就是为了零花钱。不做家教后,一直和我的学生保持联系,希望我能给他们点有用的帮助。

大一上学习很投入,下课后不想花时间在食堂排队就去教室自习。工科数学分析当时还不错,除了期中考试没有考好,只有68分,期末时候平均分还拿到了80。大一的时候学C++,感觉也没有学到什么东西,因为高中学过一点Pascal,所以得分还不错,92分。线性代数竟然拿到83分,真的让我很满意,因为感觉没有很用功的学习。大一的时候很勤快,没有抄过一次作业,没有翘过一次课。

大一下逐渐习惯了大学的生活方式,翘课多了,尤其是早上的课。还有物理课,狠狠的翘。工科数学分析的作业基本就不做了,开始全用抄的,最后连抄都省了。大一下的C++课程实践没有好好做,好几次题目都没有做出来,不是算法的问题,是实现的问题。5月份系里主办了一个面向全校的算法竞赛,我和同学组队参加,还拿到一个小小的名次。6月份参加了张栋梁的成功学培训班,感觉还是有一点收获的,成功励志的东西,信则灵。大一下最终的成绩不好,大一上绩点有3.5,大一下只有3.0。工科数学分析期中只考了46分,好歹最终平均68及格了。物理因为这部分还是高中东西,80大几的。

大一暑假,老师建议我们看MFC,我很赞成这个提议,不过最终我还是荒废了这两个月。暑假玩了一些游戏,谈不上疯狂,游戏技术没有什么进步。帮忙教父亲朋友的小孩小学奥数,没有任何成就感,他也支持不下去。暑假哪里都没去,堕落在电脑桌上,没包月网费用了300多块。

大二短学期,老师安排做C++课程时间的项目。我因为暑假没有看书,愧疚得很。短学期共4周,前两周还是荒废了,不知道做什么。第二周周日去长三角买了一本《深入浅出MFC》,花了60大洋,心疼不已,决定好好学习,对得起我的60大洋。下面一周狠狠的看书,每天都是凌晨睡觉,但是白天也是睡。计算机系课程安排很自由,短学期平均每周不到2节课。第四周周2交了作业,是一个简易的连连看的游戏。我提交作业的前2天,每天都是做到5点钟才睡觉。当时还没电脑,有同学借我笔记本用,真是感激不尽。我的游戏获得老师很好的评价,因为我用了广度优先算法,这是我自己花了2个小时自己想出来的,当时还不知道这叫做广度优先。听同学说了一下,就在报告里写我用了深度优先搜索,然后在答辩的时候被老师当场指正,不是深度而是广度。从此对游戏编程就很感兴趣。提交作业2天后就是ACM/ICPC的校预选赛,于是接着拼命的看数据结构,主要看图算法,可惜最后还是输了。我们毕竟没有电脑来练习编程的能力,想出来算法但是没有能力在规定时间内实现出来。

logo 大二上学期,加入了微软俱乐部和跆拳道社。微俱真的是很好的社团!我的大二上的课余时间基本上都在做微俱的事情,除了期末考的2周,其他时间几乎没有玩游戏。一个冲动在微俱建立游戏开发组,自任组长,然后就背负了很大的责任(可能这完全是我个人感觉,别人对我也没有什么奢望)。有4个人加入了我的组,我觉得我不能让他们失望。因为微软俱乐部的前辈牛人们都是用C#的,我就定下了我的组将用C#为主要语言,也不知道C#有什么好,就这么定了。现在我觉得,因为微俱的初衷是微软推广.net的一个平台,所以大家都用c#。我们10月份中建立的组,用了2周看C#语法,又用了2周看Windows GUI的东西。此时期中考试来临了,大家都是全力复习迎考。耽误了2周没有看书。期中考试过来,偶然间看到同学玩NDS游戏《直感一笔》,很欣赏,就决定要模仿做一个。于是让全组人都来做这个。直感一笔

11月底得知微俱要举办一个面向全市的程序设计比赛,于是带领全组报名参加。当时我还没有笔记本电脑,很是苦恼,因为图书馆没有.Net运行时,从来没有机会做点练习。父亲的生意遇到了麻烦,不能给我买笔记本。我就想自己买。我当时拿到了招行Young卡可以透支3000,和兴业的加菲猫卡1500,自己的银行卡里还有1500,算算用循环利息我还能支架的起,就想刷卡买低价本。但是当时加菲猫卡的密码函还没有到,买不成。当时离比赛提交作品还有10天,我决定再等一周。一周后加菲猫卡的密码函还是没有来,彻底失望。此时伯父到南京旅游,临走时给我500块。因为比赛的提交期限只剩下3天了,如果我不写这个比赛一定会失败,我必须有个电脑来写程序。我就决定用Young卡透支3000,自己卡上用1000块买个神舟的低价机先用着。谁知去买的时候只有1家店可以刷卡,而且那家还没有我能买的起的那个型号。于是咬咬牙买了4400的机子,报税后总共是4560。此时我卡里的钱这学期以后只能吃二食堂的电烤饼了(还好电烤饼比方便面营养丰富一点;我父亲每学期开头把一个学期的生活费给我,用完了活该)。非常不想问家里要钱,觉得这么做太给家里添麻烦。当时算的很精确,考率到我做家教的收入和每个月要还银行10%3天后提交比赛作品,进复赛。一周后复赛,这期间又是熬夜好几天修改。最终得到本科组二等奖,够了。

在比赛结束后2周,父亲打电话给我,说看到我的账上只有100多块,便给我打了1000块。那以后好长时间都不想吃电烤饼。

大二上学期为了C#翘课n多,数据结构几乎没有去上过,但是这门课我很自信,期末考试得了92分。物理也没怎么上,最后恶补了1整天,得了87分。所以说大学里一定要会考试,考试周一定要能熬夜。英语报了四级,也没有时间准备就考了,后来得知考的也还不错,575分。英语一向也不是很差,没复习损失也不是很大。但是没有拿到优秀,1000块奖学金就没了。模电没有学好,一共只上了3节课,分数刚刚及格。数电实验也只得到及格。其他都是80几,没损失也没有惊喜。总结这学期就是学会了C#编程,而且可以说有点熟练了,绩点有3.3。另外,我跆拳道黄带没考过,真衰。 100_2838_480v640

大二寒假会老家过年,前20天都是糜烂,狠狠打游戏。后来有一天深夜,同室里参加国际数模比赛的同学发短信过来,说比赛刚刚结束,大家都有些亢奋。他很辛苦,数学建模比赛33夜基本都没有睡过。我很受鼓舞。相比之下,我简直做了20天废人。 第二天上qq,微软俱乐部的同学打招呼,想起我的那4个组员,想起来下学期还得为他们争取荣誉。于是奋发图强,想做让人眼馋的东西。开始学DirectX。不会找教程,不知道该看什么入门,一开始只找到《Programming Role-playing Games with DirectX 8.0》(c++),看了7天,每天都看到眼睛睁不开才睡觉。白天基本睡觉。看到600多页不想看了,因为感觉有些地方写的不是很清楚。而且我想用的语言是C#(用了C#就基本不想在用其他语言了)。高中有好事同学参加大学生创业计划,拖我进去,想让我做网页,我当时没有IIS就没看。之后就一心看DirectX 9.0c 中的开发文档。直到开学。寒假多亏了那后十天,我才没留下太多的惭愧。dev1

大二下,感觉这学期课很多。特别是数学课,五花八门的。我想这学期要做个像样点的3D游戏。开学2周后看到食堂门口的通知,南大要举办一个面向南京4校的程序设计比赛,就很想参加。但是这个比赛要求58日前提交作品,我很可能来不及。此时游戏组的组员只有1个还在,其余的都因为各自的原因退出了。我请2个计算机系的同学来加入我的组一起做那个比赛。为了让自己更有动力。我花了2200块把我的电脑升级为sonama的,这下待机时间和3D加速都还有一点。我总不能对不起我的2200大洋吧,所以要拼命学习,我相信最终我会受益于我的努力。3月份看Managed DirectX Documents,每天都要看到23点钟,白天有空就趴着睡觉。3月份的劲头到4月份就被消磨了一大半,精神和肉体都感到吃不消。5.1期间熬夜几天做出来了第一个可执行的程序。第一次看到DirectX做出来的的画面是52号下午,看着画面一阵狂喜。晚上兴奋的睡不着,2点多钟才睡,第二天7点钟就醒了起床继续写。我今天还能会回忆那时候的心情,比我拿到offer的时候还要开心,看着画面就乐得想笑。初赛顺利晋级,复赛之前又熬夜在4点钟的时候把网络互连功能调通。最终是众多的二等奖里面的一支队伍,还算满意吧。

二下课还是去上的,因为这学期的课有些难度,特别是概率和信号。当时一心想读研,如果绩点不好的化保研还会有问题,所以还是蛮注意。期末考试还破天荒的在我最不自信的两门科目得到课程奖,我自信的科目会有很多人比我更自信。5

大二末尝试在微俱竞选主席,落选,获得暑假参加微软学生夏令营的机会,以及大三时候负责微俱本科生部的机会。

大二暑假自学了一点HLSL的东西,不甚明白,把Managed DirectX Documents没看完的高级部分看完,对顶点渲染和像素渲染有了一点概念。微软学生暑期夏令营是很不错的活动,微软在学生方面的确花了不少钱,也发现微软做事情很经济一点都不浪费。x1pPHu2K6HCG6poeLSW-i3_Lh_Uqd0EyZrTqhvtN9T9eybcRCWxIaC1X2AZoQnM-h1EyU_ocuaty82z-_Dc3xmFRbUH_HA9t1

大三时间在九龙湖校区,微俱改制,在九龙湖校区建立部门,有完整的管理部和技术部分支。我本来只负责技术部的一些工作,后来成了什么都做的自由人。大三一年做了很多社团建设上的事情,技术上除了功课专业学习没有进展。不过个人感觉收获很大,我之前只是做技术,大三做了一年的管理事宜,学习到很多很有用的东西,比如怎么和别人交流,怎么说话,怎么沟通,怎么批评别人,这些技术在以后都要用的。管理的东西比技术更需要实践练习,有的道理需要失败过才能习得经验,大学是失败成本很低的时候,在大学里面多失败一些总比毕业以后失败好。我在负责微俱的期间就犯了很多错误,不过因为这只是社团,我犯错后不用付出什么成本。

大三没有做家教,因为九龙湖离市区太远,而且我已经做了两年家教,厌倦了。大三上成绩不好,组成原理那种纯背诵的课只有74分,这是我第一次专业课得分这么点。翟玉庆老师的编译原理没考好,感觉挺对不起他的。翟老师是我认识的大学老师里对学生最负责的,曾想过如果读研一定读翟老师的研究生。

大三寒假想了很久,犹豫要不要读研究生。对当学生已经觉得乏味,有些不想读了。程序总动员_小副本v2

大三下很忙很忙,被一件件的事情赶着跑。首先花了3周把地形显示研究了一下,做出来了一点效果把SRTP结束。之后是微俱的活动。还有编译原理的课程实践实验,刚看到感觉跟天书一样。因为大二模电考得不好,硬件一直是我的软肋。计算机组成原理课程实践着实让我苦了一回,我一看到Quatuos就心烦。有段时间曾经很堕落,看完了Friends全集和几部日剧全集。硬件实验最后花了2周总算能过关,呜呼哀哉。5月份SCDA办的实习生招聘会我去投了简历给中兴软创和南京信风,都被鄙视了。投中兴的时候,来负责招实习生的人是老乡,他的几句话给我很大帮助。他建议我看《深度探索C++对象模型》。后来我看了那本书,找工作笔试的时候帮助很大。大三下还有一个小小收获就是选修了数字图像处理,认识了鲍旭东老师。他上课很特殊,他不会像很多老师那样让学生感觉他教授的东西多么厉害多么深奥,他倒是会说“你不要把那个想的那么复杂,没有必要,其实也没多少难度,说穿了,就是那么点东西”。计算机系培优班的成员,可以在大三下开始跟导师接触。我就在这时候进入了高志强老师的实验室。大三下的成绩很差,我已经不想再在教室里听讲了,大部分课程都是自己在考前通宵看完第一遍第二天去考试的,所幸没有挂科,不过操作系统只有76分,找工作的时候还被问了一下。

大三暑假,我已经决定9月份开始找工作。于是7月份学习OpenGL做实验室的任务,8月份我把C++的我能搞到的经典书籍都看了一遍。untitled

92号投的第一份简历开始了我的求职过程。我投简历几乎我听说过的公司都投,不管那职位我是否适合是否喜欢,目的是为了练笔。简历是越写越好,有一天我改版简历,修改到半夜4点多钟,总算得到了我的final edition。找工作很累,我去了上海两次,北京一次。10月底拿到我满意的offer后还不满足,在百度,微软受了2场打击之后,11月初又拿了个offer结果没签,倍感罪恶,于是终止了找工作的过程。

找工作让我感到很累,休息了大概2周没做什么事。11月底开始看论文做毕业设计。到1月底毕业设计实验已经基本成型。

回顾至此。

我的大学三年半就是这么过来的。虽说我的确浪费了不少时间,好在还有那么一些时间我没有浪费掉,所以从现在的结果来看,我的大学过得还不坏!

Posted in MSTC, personal | No Comments »

找工作总结篇

Posted by Kai on 25th March 2008

历时三个月,投递39份简历,7场笔试,5场面试,最终找到了比较满意的工作。回想我找工作的全过程,零零散散的总结了一些经验,我觉得还是有些用处的。

第一.多投,即使有的工作你并不想要,多投投简历可以让你有更多的机会修改简历,练习写cover letter和回答open question的能力。虽然要花时间,但是没坏处也不用花钱。比如我是计算机系的学生,但是我经管培训生的职位投了不少,虽然一个都没有进入面试,但是我的简历已经改到了4.0版本,open question回答了数十个。这些以后面试的时候hr都可能问到的。

第二.把简历给好朋友看看,他们会给你一些建议,认真考虑那些建议。比如我以前的简历里写了我的GPA,用的东大的5分制,80分只有3分。而国际通用的5分制里面80分是4分。我南大的朋友说南大的5分制是后一种,那么我写东大的5分制在和南大的同学拼简历的时候就很吃亏。经他提醒我改用百分制。

第三.着重在你想去的职位上准备。人的时间精力有限,什么都学最不可取。有的职位拿到很好拿不到无所谓,有的要精心准备力争拿下。我在找工作之前对我的强项定位就是擅长C++和熟悉3D图形学。那么我就花了大部分的时间在C++的复习上,这样才能解决大部分笔试,拿下了我想要的面试。计算机网络编程,数据库编程,Linux操作系统应用我几乎都不会,没有复习花时间复习,影响了2次我无所谓的面试。

第四.笔试前少喝点水。有一次笔试之前喝了一瓶果汁,笔试到一半很想尿尿,但是考场规定不能上厕所,只有忍了一个半小时,答题也答的不仔细。

第五.男生参加面试之前几天最好健身。在保证面试时能有充沛体力的前提下,健身能增强面试时的自信心。记住,健身是一种品质。

第六.找工作之前让家里帮忙准备些钱。找工作是需要钱的。我找工作大概花了1000左右。花费主要是路费。另外,如果去远的地方面试,即使对方公司报销,也要多准备一些,因为有的公司不是能立即把路费报销的,需要一个手续处理的时间。我的路费某公司的手续经过了3个月才报销到手。

第七.服装不一定要正式,但是一定要干净。穿脏衣服会让人紧张。深秋初冬时节一定穿暖和了。寒冷会让人不自觉的紧张。我有一次面试是冷的发抖,刚开始面试我就预感会失败,于是面的一塌糊涂。

第八.名字很重要。记住所有告诉你名字的面试官的名字,记住所有告诉你名字的你想去的公司的人的名字。最重要的是关系,还是关系。

第九.你如果很想去某个公司的话,最好去参加那个公司的宣讲会。一来可以在宣讲会上认识那个公司的人,混个脸儿熟;二来可以帮你了解是不是真的想去那个公司。我就在宣讲会上认识一个人,他知道我没有通过笔试,就给我一次电话面试机会。注意在宣讲会后找人说话的时候注意礼貌,别事得其反。

第十.如果你明知不会去某个公司,参加笔试也就罢了,不要去参加面试。万一不小心拿到offer,会有罪恶感的。就说你已经拿到满意的offer,必须放弃这个机会,谢谢人家的赏识。或者说,拿到满意的offer就打住,陪着别人找工作不好玩。

第十一. 不要撒谎。你可以绕过你不愿意直接说的问题,可以模糊其辞,但是千万不要撒谎。我撒过一次谎,不安了三个月。最后想办法写信给面试官道歉,承认我撒谎。

第十二. 程序员面试宝典这本书,最好别看。害人作弊的东西,看了思维就受局限。我看了,深受其害。而且感到耻辱。如果面试官知道你看了这本书,会觉得你功利,为了面试去学技术。被面试官认为兴趣不纯可以很严重的。

第十三.感到压力的时候,挣扎。没人喜欢和弱者一起工作。我有次面试被面试官压怕了,写代码只敢用最笨的方法。结果失败。其实如果我能主动一些,多做一些思考会更好。不一定要让面试官控制节奏,你可以打一些面试官也没办法的擦边球。比如面试官只给你3分钟,你可以在240秒的时候故意看看表,说还有40秒,那么你就能给自己赢得20秒。

第十四. 面试官给你喝水就喝水,别怕他。你不喝也许他还认为你嫌他杯子脏呢。

  

Posted in Job Hunting, personal | No Comments »

Live Writer测试结果

Posted by Kai on 24th March 2008

文本正常,图片好像是单独用了个图层,背景颜色有些变化。不过影响不大。表格支持,地图不支持。

修改支持吗?

支持

Posted in system | No Comments »

好多东西要学

Posted by Kai on 23rd March 2008

最近看了几本书,发现有好多东西要学。

看《设计模式》,发现我过去写的代码真是垃圾,设计的一点复用性都没有。

看《游戏之旅-我的编程感悟》,发现我对MMX,SSE一窍不通。还有C++模板的使用,简直是智力题。

以前我错误的以为C++的模板,类相比C只是可以节省程序员代码量的编译时技巧,在看过设计模式之后才意识到如果不用真正的设计是要使用虚函数的设计,而虚函数的存在,是为了避免大段的switch_case,同时在《游戏之旅》中,作者提到虽然虚函数增加了一次间接取值的操作,可以因为虚函数给编译器提供了更多的信息,对于分支预测有帮助,效果也许不比switch_case大。ps:在C里面模拟虚函数的方法是使用函数指针数组,C++里面的虚函数更加高效。

Posted in c++ | No Comments »

What is the relation between this site and wordpress?

Posted by Kai on 23rd March 2008

I hvae no idea.

I just hope it works well.

pray.jpg

Posted in system | No Comments »

东大本部动力楼失火

Posted by Kai on 14th March 2008

万幸没有延伸到图书馆,我可不想在毕业以后再也看不到东大的标志性建筑。

动力系的主办公楼几乎不能使用,据说损失惨重。

以后要引以为戒!

Posted in society | No Comments »

毕设过程-8 成果展览

Posted by Kai on 8th March 2008

今天去网上下了几个通用的体数据,

首先是重量级,死人头3个。

v1.2.5

v1.2.6

v1.2.7

第一个透视试图,后两个正视图。

然后是据说比较可爱的兔子,可惜我的程序因为考略到彩色,不能做很高分辨率的图,原数据是512*512*361的,我缩小了4倍用。

v1.2.8

最后是一个神奇的波纹,再加上蓝色的雾气。

我命名它为“粉红色的诱惑”^_^

v1.2.2

再加上一双脚

v1.2.9

Posted in tech, volume rendering | No Comments »

 
FireStats icon Powered by FireStats