The Last Day of July

这周该忙的事情其实都做得还不错,法语开始了GRE般的苦行僧背单词;最让人担心的签证问题也基本解决;然后还去了Nuance面试,这再次印证了我在陌生人面前的那种“兴奋感” -- 知道如何去开适当的玩笑,知道如何去缓和气氛,知道如何去表现礼貌,也知道(就如大学同学张毅所说一般)如何去表现自己,甚至把自己没有的一面也表现出来 xD。

不过,当面试结束后,看到他们真实的工作,我不得不同意老刘导师和邢进同学的经验之谈 -- “工作很无聊”,indeed!可以说,工作上就没有什么挑战的难度,一个Master学生给我说公司也不会相信你,不会给你一个才进来的Master学生任何有意义的工作做。我明白,在Nuance这样以研发为主的公司里,博士多于研究生,研究生是受一种某种程度上的鄙视。不过,各人应该有各人的玩法,如果你就安心于这样简单的编程工作,养家,朝九晚五,这也是一种无奈的人生活法(比如有人)。我喜欢有挑战的工作,不过(这里的“不过”是对应前面一句话),我更喜欢跳来跳去中的短期宁静生活。但是,我该怎么选择呢?毕业后不管去什么样的公司都是做这样的事情,暨,不断地重复简单的代码粘贴。领高工资更像是这个行业中的潜规则,就是让你丫闭嘴,装13,然后让所有外人都感觉我们在做很伟大的事情。如果要进入avant-garde的前沿开发,没有个博士学位是没戏的。

读到这个程度,去争取个博士学位貌似也是顺水推舟的事情。你,我可以埋着头,继续安心的顺着这条路往前走。不过,这是我想要的生活吗?我是否只是看到了事情的一面就开始东看西想?什么才是我最终的目标?什么样的生活才是我最想要的生活?在人生的这个阶段当中,充满了阳光般的希望和机遇,越是这般越是应该去寻找真正的自我,而非囫囵度过。

哦,哦,哦 事情还是比较多

由于这段时间很忙,所以也没怎么顾得总结,不过周三晚上把SPARQL-GIS/Web Service的转换写好了,可以稍稍松口气。目前还有些事情:

1.关于数据库语句和Web Service语句之间转换的问题,到底是否改成Substring()也需要认真考虑。不过,最合理的解决办法还是:如果能够找到匹配的关键字则使用那个关键字,否则返回Substring()的结果。

2.MQWW返回的错误encoding问题(Eliz)和CHGIS中如何返回所有tag相关数据的问题(Lex)(需要找到当事人.... email again and again)。

3.OneToManyMap中数据对之间不匹配的问题。

4.SPARQL推理机或者是翻译器的编写,争取下周之内有个眉头。这篇文章则是必读(需要学校的VPN或者在学校的无线网中打开)。

5.XML parser与李伟中的合作要定下个初步的计划和论文阅读表(on doit要在8月初定下方向)。

6.8月15号后联系卡尔加里大学的Steve Liang关于新想法的讨论。(所以之前要多读些相关论文,具体化新想法)

7.周一(7月27号)春冬季注册截止,明天向师妹打听清楚具体注册事宜。

8.下周注意查看CAQ文件,要抓紧加拿大签证的更新,否则马上就成黑户了.....

9.下周四(7月30号)的Nuance技术面试,注意Java,基本数据结构和算法,Design Patterns的复习准备。

10.下周内前段时间所学法语的复习和7000单词背诵开始。

11.8月1号Coldplay演唱会不能忘了去(和法语老师讨论周六的加课取消)。

P.S.
Sotte Bosse是个很棒的乐队,主唱感觉和椎名林檎有那么几分的相似,在椎名消失的时代,能听到他们的音乐也是一种幸福。推荐:
1.太阳が心にさすように
2.in the world
3.ひらり
4.远く 远く
5.SAKURAドロップス

幽声隧道是个有品位的Podcast,由主播一个人坚持做了一百多期节目,有空可以去听听 http://www.triphopmusic.net/radio.php

一个简单算法

作为Http Get请求送到远端服务器的总是"Http://..../xml/placename/[地名|Region Name]",所以对于一个Connection来说最终要的是取得地名。

现在我们有的查询的形式总是这样:地名常量+:Predicate +?变量名,因此一个简单的策略便是:

1.将有相同地名常量的所有TriplePattern合起来形成一个NodeRelation。其中projections列表中包含已解析过的变量名,即与变量名对应的Tag名,which are already stated in the 映射文件中;而在原有D2RQ中condition中所包含的Constant的关系即是我们需要的地名。这里存在的一个问题是,是否需要重写或者重命名现有的NodeRelation的定义和解析方法。

2.每一个NodeRelation都能作为一个Connection被发送到远端服务器,然后取得结果。假设最简单的情况是,一个SPARQL查询中只有出现了一个地址(即只有一个NodeRelation),那么直接可以把这个NodeRelation中的变量列表(并非projections)添加到整个查询的变量列表中。在D2RQ取得数据,并加以解析和包装后,可供前端程序员取数据。

3.假如一个SPARQL查询中有多个不同的地名出现(即会产生多个NodeRelation),那么我们首先需要多次请求远端服务器提供结果(对于前端程序员来说这是透明的)。其次是在每一次发送请求并取得结果后都要立即解析结果,并将(变量名,结果字符)添加到返回的结果列表中。

现在需要认真解决的问题是:
1.重新审视查询和影射文件的解释过程,并有计划的修改
2.完成向远端服务器提交的查询申请的形成过程
3.结果的解析和包装过程

当然这样说还太高层,具体的细节也不清楚,在做的过程中还需要仔细辨别和思考。

嗨....... 都很麻烦,这个东西做完之后我一定要去海边看鲸鱼然后住上一阵。

下周工作计划

下周之内要想阶段性的完成SPARQL到Web Service代码的编写是可能的,现在看起来,东西虽然难,但是由于我本来就是在一个编写良好软件上进行修改,实际工作更在于如何聪明的选择代码修改之处,尽量减少自己的footprint,以降低可能引发的错误可能性。估计从16号开始我就能进行SPARQL Translator编写的部分了。

晚上很幸运的是,去了一趟Lab结果和一个刚转来的研究生简单聊了聊。看似是有机会把他诱骗过来和我一起实现XML Parser了,嘿嘿。不过,此事要抓紧,毕竟ICWS很快,09年的deadline就是2月15号。如果此事能搞定,再加上PNAS一篇(8月15号,第三作者)和我自己的SPARQL Translator一篇,毕业之前就能出3-4篇论文 :) 但是这样看来,我导师倒是没怎么给我什么帮助(他会说我给你最大的帮助就是让你想做什么就做什么)。如果XML Parser之事能够说服他就有希望让他帮我们联系一个Collaborator稍微指导一下我们了。

当然现在一切还只是意淫当中,望各位客官注意保密。

P.S. 顺便推荐几个英文的网站吧
3. Slate Magazine http://www.slate.com/

这几天

始终找不到前进的方向

不过
1.最重要的是决定了自己三十岁前该做什么。简而言之,找好工作存钱然后进最好的商学院。

2.我做的项目目前有些眉目了,但,对具体如何设计结构和写代码还没有太大的信心。不过,我自己定下计划是下周之内做完,否则没有压力真没有动力。这个东西做起来还是有难度(it's a HUGE project,写代码的时候手甚至都是软趴趴的),鉴于目前我thesis没什么眉目,等我做好了找机会和两个导师聊聊看能不能将其转为thesis。

3.有家叫Nuance的公司的内部人士透露招人的计划,虽然以前我就有放这家公司面试官鸽子的壮举,不过这次我准备认真面对。他们招的是全职员工,我如果时间不对或者两个导师(或之一)不同意估计最后也去不成。Wiki了一下才发现这家公司貌似也挺大的,上帝保佑草民吧。

4.法语学得很high,虽然老师对我热情的说法语,大部分时间我的回答还是“巴赫冬”,然后开始边抹汗边说“喂”。不过,老师最近在我的影响下越来越喜欢和我用英语吹牛了,这是个好趋势,毕竟摆架子说法语咱没法交流。

5.我发现我对老外很能聊,不过对心仪mm(暂无)就哑口了。嗯,我一直是这样,当时和Melody开始前也是特能说,当定下来后就反而不知道怎么说话了 ...... 这甚至让我产生一种恐惧症,嗨,这问题很严重,直接影响我的未来幸福。

6.这是本博客的第101篇,回顾过去100篇,虽然大部分是很弱智的心情记录,不过,一路走来,能坚持到现在也算值得。