Saturday, February 21, 2009

本学期的读书计划

这学期没有什么课,但是我需要读一些书,来增加自己的知识储备,目前计划的书单如下:

  • 具体数学(Concrete Mathematics)
  • Knuth等大牛写的介绍计算机科学领域所应用的数学的参考书,里面介绍了大量关于图论、生成函数、递归函数等离散数学的知识,而且行文非常流畅,并且有很多有趣的习题。呵呵,这是我一直想拜读的一本大作,希望这学期能够把它看完。

  • 编程匠艺(Code Craft)

  • Pete Goodliffe所著,是一本写给软件开发人员的指导性书籍。本书不介绍某种特定的编程语言,主要是作者自己在软件工厂工作多年所得到的经验之结晶,对于想步入软件开发行列的同志们是一本不可多得的好书,介绍了许多真实软件开发环境中才会遇到的问题,这些宝贵的经验之谈可能永远都不会出现在在大学的教科书上

  • Dive into Python

  • 这本书据说是Python入门的很不错的教程,作为互联网上最为流行的脚本语言,要是我说自己不会Python都不好意思出来混,要是说自己只会一点点的Python,感觉说话都少那么点分量。所以,精通Python,从DIP开始!

  • Foundation of Python Newwork Programming

  • Python网络编程的入门级教程,学一学还是很有帮助的,可以加深自己对于网络结构的理解,而且可以借助Python的快速实现自己动手做一些网络程序

  • Computer Architecture

  • 这学期自己独立开始做项目了,开始体会到体系结构设计的意义,所以觉得有必要了解一些啊这个领域的知识,呵呵,就看看这本书吧,从零开始喽

Sunday, December 28, 2008

很喜欢这段话

"首先,我要指出,我不是一个商人,赚钱是无关紧要的事情。我的人生目标是为世界做一些贡献,而不是从世界掠取钱财。我认为一个人有了足够吃的,就有责任瞄准更高尚目标,而不是变得‘更成功’。当然,还在挨饿的人的第一优先是找到食物。但我没有挨饿,我有能力、有责任追求更高尚的目标。

Monday, December 22, 2008

Facebook Develop(1)

Facebook App's hello world

因为实验室项目的需要,最近开始鼓捣Facebook App Dev.

大概花了半天的时间,搞定了Facebook App开发的第一个程序. 简单地记录如下:
首先,你需要有一个Facebook帐号(天哪,你连Facebook帐号都没有,赶紧去注一个,土人!)
然后,访问Facebook的开发者网页:http://developers.facebook.com/get_started.php,这是一个详细介绍如何进行facebook应用程序设置的页面,现将要点摘录如下:
点击Go to the Facebook Developer App,
点击Set up new Application
给你的新应用起个名字,比如HelloFacebook,选择同意服务条款(废话!不同意还怎么玩)
然后进入一个页面,有各种参数,只需填写callback url(就是当facebook用户访问你的应用后会被redirect的页面,你在这个页面里写你所希望开发的应用), 比如我设的是(localhost/facebook)在app设置页面的底部有一项:
Sample Code
Get started quickly with some example code!
点击example code,将里面的代码复制出来, 然后放到你的server的index.html中(即localhost/facebook在本地所对应的文件夹中), 就Ok了.

点击访问http://localhost/facebook, 你就可以看到你的前25个facebook好友的id了.

Wednesday, December 10, 2008

色彩系统的一些讨论

色彩和光谱的关系:

实际中所存在的同色异谱的现象

因为这种现象的存在,所以实际使用的色彩测量中可能会存在着一些问题,比如说色差,即标准色和合成色之间的光谱差异。当然,这种差异对于有一些应用来讲是可以忽略的,比如工业产品的外观设计上。但是,对于一些应用来讲则是必须要考虑的,比如定量遥感。

所以,关键在于我们要结合我们所研究的领域,具体的问题,具体地分析。

不同的颜色系统:
CIE系统:可以认为是最为严格的表色系统,精确地定义会对人类感知颜色造成影响的各个方面因素,适合于最为严谨的科学研究
孟塞尔颜色系统:是于一名叫做孟塞尔的艺术家提出来的,相对而言没有CIE系统那么严格的定义,但同时也比较的使用,被广泛地应用于艺术设计、工业设计等领域,也是某型国家的国家标准颜色描述方式。

Tuesday, December 9, 2008

How to configurate Google Code

First, type this url in your browser address bar:
http://code.google.com/hosting/
and you will say the following page:


Then, choose create a new project, fill your project name, summary and description. Also, you need choose a license for your project since all google code projects are considered as open source projects. The last one is the label.

When everything is done, the page is probably like this, just click next.

If everything is ok, you just successfully create a new project. So the next step is to do some configuration. First, you should clikc profile on the upperright corner of the page and choose the settings tab, then you will probably see a page like following:


the erased red part is password you need when you do SVN authorization.
Up to now, you've done everything with google code. And if you want to use a gui svn client manipulating your code, I recommend TortoiseSVN,the website is http://tortoisesvn.net/downloads But it seems that it does not have a linux/mac version. So I know there is an eclipse plug-in called subclipse(http://subclipse.tigris.org/download.html)for linux/mac gurus. Anyway, maybe command line is your guys' best choice.

I hope this instruction would be helpful.
Cheers!

如何对领域模型进行建模-以地震应急为例

专家系统的概念(1991已经有相关专著 James Ignizio, Introduction to Expert Systems)似乎很早就已经提出来了,其提出的一个主要的目的就是为了使得计算机不仅仅是一个快速的计算器和庞大的存储器,而是能够在一定程度上拥有智能,从而能够解决许多相应的实际问题,从而在很高的层面上代替人进行工作。事实上,专家系统的研究也是人工智能领域早期研究的一个重要的分支,这一点也非常地容易理解,因为人们总是很好奇,计算机到底能在多大程度上像人类一样思考。不过很可惜的是,似乎知道今天,也没有这么一个如同彭罗斯《皇帝新脑》一书中所描绘的伟大系统的诞生。计算机依然非常愚蠢,但是不过怎么样,随着知识工程这个领域研究的深入,我们也越来越惊讶于我们以前曾经忽视的我们大脑所具有的一些神奇的能力。不过,本文所要论述不是人的能力,而是机器的能力,介绍一种建模的方法,以及建模的例子,来使大家明白目前的计算机到底“聪明”到了哪种程度?

我们讨论的例子非常地贴近生活:
今年5月在中国四川发生了一次震级里氏8.0级的地震,造成了重大的人员伤亡。假设你就是负责汶川地震应急抢险的信息支持的工程师,那么,你如何在很短的时间里,根据中央领导的要求,快速组装出能够帮助进行决策的应急地图系统。

如果你是一个信息领域的专家,应该不难看出,这是一个非常困难的问题。从技术角度来看,这个组装过程涉及到以下几个方面的问题:
1. 数据源的问题,数据从何而来,如何读取
2. 数据标准的问题,对于一个要综合相当多的方面的大系统来说,我们可能并没有一套全面适用的标准来对数据进行统一的操作,甚至在一些子领域,我们都没有数据交换标准。比如说对于空间数据,可能中国军方提供的数据是基于西安80坐标系统,而其他国家为我们提供的最新的卫星影像的数据则是基于WGS84坐标系统,而这两种坐标系统的数据在没有进行转换前则是不能够简单地进行叠加的。
3. 概念实体建模的问题,在对概念建模的过程中(往大了说就是知识表达),我们经常使用的方法是本体法,但是如何建立这个本体?却是一个很大的问题,因为不同专业领域的人可能对于相同的概念有着截然不同的理解,如何克服这种差异?在这里,我们要讨论的则更多的是另外一种差异,就是人的大脑中理解和我们使用计算机所能理解的本体语言表达出来之后的差异。或者说,计算机是否有这么一种能力,能够完备地表达出我们对于一个概念的理解。

(to continue...)

Monday, December 8, 2008

Protégé使用初体验

Protégé是斯坦福大学开发的一套用于对本体知识进行描述、表达和推理的软件。简单的讲,它就是一个本体编辑器和知识查询系统。

虽然以前的一个863项目也和Protégé有着密切的关系,但是因为自己当时负责的部分和Protégé没有很大的关系,所以一直也没有接触Protégé.这一次,由于项目的原因,终于有机会和这个仰慕已久的软件有了第一次的亲密接触,一下就简单地介绍一下我的感受。

一、软件的安装
总的来说,Protégé的安装和绝大多数的windows软件一样,非常地容易,基本上从它的官方网站(protege.stanford.edu)下载到它的安装文件,然后点击几下鼠标,即可搞定。不过,一个小小的要求是你的电脑上需要安装有Java SDK(不过据说它的官方网站也提供了带Java版本的protege的安装程序)

二、软件的直观印象
启动Protégé之后,系统会启动一个命令行形式的窗口,根据我的猜测是进行一些软件初始化的工作,然后就会带着启动一个非常华丽的Protégé主程序,截图如下所示:


在具体的使用过程中,感觉也是相当不错的,几乎所有的功能都有设计良好的图标提示和tips
我按照文档的提示,尝试了以下 的一些功能,如创建最为基本的类、子类,创建属性,将属性关联到指定的类上等等。

总的来说,概念很清晰也很好理解,比想象中要容易上手。

比如好的两个参考资料是:
介绍了protege的基本框架
http://protege.stanford.edu/doc/tutorial/get_started/admain.html
介绍了protege owl的基本使用方法
http://protege.stanford.edu/doc/owl/getting-started.html