今天在BBS上看到一组长短句,应当是一个恋爱中的男孩儿写的。
读起来感觉熟悉而又陌生,这种敏感已经离我远去很久了。
这就是长大的代价之一。伴随着冷静和平和的,是冷漠的悲哀。
下面附上这组句子,纪念曾经的感动和现在的冷漠:
发信人: tearfish (流泪的鱼), 信区: Feeling
标 题: 其实你不知道
发信站: BBS 科苑星空站 (Mon Oct 31 12:29:51 2005), 站内
◇◇ 其实你不知道 ◇◇
等你知道了,你就会明白,什么是爱情……
——写在前面
1
你曾问我想去什么地方,我说是香山。你笑着说那里一点都不好玩。
我只是淡淡一笑。其实你不知道,那样说是因为我原以为你会喜欢那满山的红叶。
2
你说你喜欢我邮件的风格,长长短短的句子,一行一行错落有致地排下来。
其实你不知道,我在电脑的这端许久没有打字。我的邮件总是写写删删,删删写写,才成了长长短短的模样。
3
你问我做不成恋人,我会怎样?我告诉你,做不成恋人我还是你最好的朋友。
你笑了,笑容让我觉得有些疼。你不知道,我是因为爱你才这样说,才宁愿一个人躲在角落里独自抚慰寂寞的伤口。
其实你不知道,我宁愿自己的心隐隐地疼,也不愿让你因为错失真爱而有些许的遗憾。
4
我曾对你说,我打一会儿键盘就会合扣一下十指。你说天凉了,手指需要取暖。
其实你不知道,我在扣紧十指时,都会默默的祝福一下,为心尖上的那个人祝福。
5
你曾奇怪地问我,为什么我不喜欢说话,只喜欢听你说。
其实你不知道,不是我没话可说,我的心里有很多的话想说。
而当看到你的时候,我才明白,其实我只是想很安静地看着你,就这么简单。
6
你曾说,喜欢一个人好累哦,总是在想她快乐还是忧伤,也让自己在快乐与忧伤之间不停地往返。
其实你不知道,也许当你真正喜欢一个人的时候,你才会明白:只有这样,才不会给以后留下遗憾。
才会在某个静谧的黄昏,微笑地回忆起你的曾经。
7
你曾问我的诗为什么总是这么忧郁。我说那是因为我觉得我总是在不断失去很多宝贵的东西。你默然。
其实你不知道,我们总是等到失去了才觉得宝贵。
或许时间会让我们渐渐地明白什么才是值得我们珍惜的,那么现在需要的就是不要在懂得珍惜之前很无意地丢弃了它们。
8
你坚决地不允许我送你回去,你说你不需要别人送。
其实你不知道,我只是想有个安静的时间走走,到了道别的路口看着你远去的背影,心里也会觉得十分的温暖。
9
你曾问我,都不知道未来会不会在一起,我为什么还要这般的付出。
其实你不知道,正是因为不知道将来还能否这般对你,我才要在能疼你的时候好好地疼你,才要在能宠你的时候好好地宠你。
10
其实你不知道,爱情就是这么一个简单的过程,一个从不知道到知道的过程。
等你知道了,你就会明白,什么是爱情。
2005年10月27日星期四
2005年10月25日星期二
戈拿旺巴西烤肉
有必要纪念一下去戈拿旺吃巴西烤肉的经历,因为这是我们平均个人花钱最多的一次。
上周六,一个光光同学结束了Toefl考试想放松,我想吃烤肉但汉拿山太远,因此两个光光光顾了科院南路知春东里的戈拿旺巴西烤肉。
半 自主形式,甜点、饮料随便取,十三样烤肉由烤肉师傅转着圈送到各桌上,喜欢哪一样可以再要。服务员和烤肉师傅的服务态度很好。工作日每位48元,周末每 位58元,因为周末晚有巴西风情舞蹈表演,舞蹈还好但时间太短并且不能做到互动,因此无法实现舞蹈的真正意义反而显得乱乱的。据服务员说店主年青时曾是歌 唱演员,所以经常有演艺圈人士在店里出没,我们倒没有发现。
感觉烤肉味道一般,对我来说有点腻,还是喜欢汉拿山,汉拿山也更实惠一些。不过这个店里有一种像是用香蕉做的冰淇淋挺好。
好像有些小资:),但总得有些学习之外的生活。
上周六,一个光光同学结束了Toefl考试想放松,我想吃烤肉但汉拿山太远,因此两个光光光顾了科院南路知春东里的戈拿旺巴西烤肉。
半 自主形式,甜点、饮料随便取,十三样烤肉由烤肉师傅转着圈送到各桌上,喜欢哪一样可以再要。服务员和烤肉师傅的服务态度很好。工作日每位48元,周末每 位58元,因为周末晚有巴西风情舞蹈表演,舞蹈还好但时间太短并且不能做到互动,因此无法实现舞蹈的真正意义反而显得乱乱的。据服务员说店主年青时曾是歌 唱演员,所以经常有演艺圈人士在店里出没,我们倒没有发现。
感觉烤肉味道一般,对我来说有点腻,还是喜欢汉拿山,汉拿山也更实惠一些。不过这个店里有一种像是用香蕉做的冰淇淋挺好。
好像有些小资:),但总得有些学习之外的生活。
2005年10月22日星期六
斯蒂夫的三个小故事
在潘石屹的BLOG上读到了《斯蒂夫·乔布斯:我生命中的三个故事》。
“你 不可能充满预见地将生命的点滴串联起来;只有在你回头 看的时候,你才会发现这些点点滴滴之间的联系。所以,你要坚信,你现在所经历的将在你未来的生命中串联起来。你不得不相信某些东西,你的直觉,命运,生 活,因缘际会……正是这种信仰让我不会失去希望,它让我的人生变得与众不同。”
“生 活有时候就像一块板砖拍向你的脑袋,但不要丧失信心。 热爱我所从事的工作,是一直支持我不断前进的惟一理由。你得找出你的最爱,对工作如此,对爱人亦是如此。工作将占据你生命中相当大的一部分,从事你认为具 有非凡意义的工作,方能给你带来真正的满足感。而从事一份伟大工作的惟一方法,就是去热爱这份工作。如果你到现在还没有找到这样一份工作,那么就继续找。 不要安于现状,当万事了于心的时候,你就会知道何时能找到。如同任何伟大的浪漫关系一样,伟大的工作只会在岁月的酝酿中越陈越香。所以,在你终有所获之 前,不要停下你寻觅的脚步。不要停下。”
“时间有限,所以不要把时间浪费在别人的生活里。不要被条条框框束缚,否则你就生活在他人思考的结果里。不要让他人的观点所发出的噪音淹没你内心的声音。最为重要的是,要有遵从你的内心和直觉的勇气,它们可能已知道你其实想成为一个什么样的人。”
“物有所不足,智有所不明。(Stay Hungry. Stay Foolish.)”
搜到这句话的另一个译法:“求知若饥,虚心若愚。”
“你 不可能充满预见地将生命的点滴串联起来;只有在你回头 看的时候,你才会发现这些点点滴滴之间的联系。所以,你要坚信,你现在所经历的将在你未来的生命中串联起来。你不得不相信某些东西,你的直觉,命运,生 活,因缘际会……正是这种信仰让我不会失去希望,它让我的人生变得与众不同。”
“生 活有时候就像一块板砖拍向你的脑袋,但不要丧失信心。 热爱我所从事的工作,是一直支持我不断前进的惟一理由。你得找出你的最爱,对工作如此,对爱人亦是如此。工作将占据你生命中相当大的一部分,从事你认为具 有非凡意义的工作,方能给你带来真正的满足感。而从事一份伟大工作的惟一方法,就是去热爱这份工作。如果你到现在还没有找到这样一份工作,那么就继续找。 不要安于现状,当万事了于心的时候,你就会知道何时能找到。如同任何伟大的浪漫关系一样,伟大的工作只会在岁月的酝酿中越陈越香。所以,在你终有所获之 前,不要停下你寻觅的脚步。不要停下。”
“时间有限,所以不要把时间浪费在别人的生活里。不要被条条框框束缚,否则你就生活在他人思考的结果里。不要让他人的观点所发出的噪音淹没你内心的声音。最为重要的是,要有遵从你的内心和直觉的勇气,它们可能已知道你其实想成为一个什么样的人。”
“物有所不足,智有所不明。(Stay Hungry. Stay Foolish.)”
搜到这句话的另一个译法:“求知若饥,虚心若愚。”
我的机器人梦想 之五
ho ho 又有了一些进展:spca5xx安装成功;认识了一个多媒体开发库SDL。
spca5xx的安装是编译源码完成的。站点上提供的 rpm安装包是针对FC3系统的,会将spca5xx.ko安装到/lib/modules/下对应 FC3的内核模块目录中,但我没有尝试使用rpm安装后将模块文件移动到FC4的内核模块目录,不知道这样是不是也可以。之后,编译安装 spcaview,用于测试驱动。
测试了一款飞视的摄像头,0ac8:301b的芯片,效果挺好,但需要手工加载spca5xx驱动,WHY?
由于spcaview运行需要SDL(simple directmedia layer),因此认识了这个跨平台的多媒体开发包。也许它能减轻我下面音频和视频编程方面的负担。不知利用它能否绕过当前在音频编程方面遇到的困难。
SDL似乎没有录制声音的API。
也许可以参考IHU和Linphone,它们是使用Speex做语音压缩模块的VoIP应用程序。
spacview的代码中包含audioin的功能。
spca5xx的安装是编译源码完成的。站点上提供的 rpm安装包是针对FC3系统的,会将spca5xx.ko安装到/lib/modules/下对应 FC3的内核模块目录中,但我没有尝试使用rpm安装后将模块文件移动到FC4的内核模块目录,不知道这样是不是也可以。之后,编译安装 spcaview,用于测试驱动。
测试了一款飞视的摄像头,0ac8:301b的芯片,效果挺好,但需要手工加载spca5xx驱动,WHY?
由于spcaview运行需要SDL(simple directmedia layer),因此认识了这个跨平台的多媒体开发包。也许它能减轻我下面音频和视频编程方面的负担。不知利用它能否绕过当前在音频编程方面遇到的困难。
SDL似乎没有录制声音的API。
也许可以参考IHU和Linphone,它们是使用Speex做语音压缩模块的VoIP应用程序。
spacview的代码中包含audioin的功能。
2005年10月21日星期五
动态构造返回文本、图像复合内容
不知道怎样更好地表达,想要实现的目标大致是这样的:
当用户请求时,服务端(Servlet)能够实时生成响应内容(包括文本、图像) ,并能够直接通过response对象的输出流将所有响应内容返回给用户。
这里有两点疑问:一是HTTP似乎规定一个响应只能指定一种content-type类型,也就是说文本相应内容和图像相应内容必须分别返回,是这样吗?二是当返回内容类型为image/*的图像数据时,如何才能嵌入文本页面?
检索。
//设置内容类型out.setContentType("text/html");
//输出文本内容
//在需要显示图像处输出
然后实现返回图像数据的Servlet:
//设置内容类型out.setContentType("image/*"); JPEG、PNG等
//绘制图像,使用BufferedImage、Graphics等
//将图像数据写到输出流ImageIO.write(img, "jpg", out);
OK.
当用户请求时,服务端(Servlet)能够实时生成响应内容(包括文本、图像) ,并能够直接通过response对象的输出流将所有响应内容返回给用户。
这里有两点疑问:一是HTTP似乎规定一个响应只能指定一种content-type类型,也就是说文本相应内容和图像相应内容必须分别返回,是这样吗?二是当返回内容类型为image/*的图像数据时,如何才能嵌入文本页面?
检索。
- 一个课程片断讲述了HTTP Response Header的设置,包括图像响应数据的生成发送流程;
- Orion应用服务器的tutorial教程中包含很多使用Java进行Web开发的基础知识,如Filter的实现等;
- 这一个页面演示了实时生成图像的脚本代码以及如何使用此脚本的页面,就是它给了我解决上面第二个疑问的启示;
- Sun的开发者论坛中有人提出了同样的问题,并且有了明确的回答,验证了我的想法;
- 还得到一篇介绍如何用Servlet实现图像处理相关功能的不错的文章。
//设置内容类型out.setContentType("text/html");
//输出文本内容
//在需要显示图像处输出
然后实现返回图像数据的Servlet:
//设置内容类型out.setContentType("image/*"); JPEG、PNG等
//绘制图像,使用BufferedImage、Graphics等
//将图像数据写到输出流ImageIO.write(img, "jpg", out);
OK.
2005年10月20日星期四
几种版本控制工具的比较
今天搜索了几种版本控制工具的信息。
首先了解到Linux内核开发与BitKeeper之间的恩怨。BitKeeper是商业产品,曾经发放免费使用授权,现已中止。文章的中文版在此处。
BitKeeper免费使用授权中止后,Linux2.6的内核开发被延误了半个多月的时间,Linus试用了monotone、Darcs等工具,感觉太慢(毕竟Linux内核这样的项目太大了一些)。于是便有了Git工具,它是Linus开发转由他人维护的。另外,Cogito基于Git核心提供了更方便的使用方式。遗憾的是,Git+Cogito只针对Linux环境。
LWN推荐了Darcs工具。
网站Better-SCM站如其名,认为CVS已经老矣,比较了Aegis、Arch、BitKeeper、Darcs、Monotone、Perforce、Subversion、Vesta等几种可选工具。在此页面对这几种工具进行了比较总结。
通过调查可知,目前版本控制工具的发展方向是从集中式模式向分布式模式转变。但开源的新工具大多针对Linux环境,虽然有的提供Windows等环境支持功能,但也需要模拟GNU环境进行编译。另外,如Darcs等新工具似乎还没有图形界面。
具体选择哪种工具,还应当作多方面考虑,比如平台环境、项目特点、项目长期维护要求、团队意愿、期望的工作模式等等。
首先了解到Linux内核开发与BitKeeper之间的恩怨。BitKeeper是商业产品,曾经发放免费使用授权,现已中止。文章的中文版在此处。
BitKeeper免费使用授权中止后,Linux2.6的内核开发被延误了半个多月的时间,Linus试用了monotone、Darcs等工具,感觉太慢(毕竟Linux内核这样的项目太大了一些)。于是便有了Git工具,它是Linus开发转由他人维护的。另外,Cogito基于Git核心提供了更方便的使用方式。遗憾的是,Git+Cogito只针对Linux环境。
LWN推荐了Darcs工具。
网站Better-SCM站如其名,认为CVS已经老矣,比较了Aegis、Arch、BitKeeper、Darcs、Monotone、Perforce、Subversion、Vesta等几种可选工具。在此页面对这几种工具进行了比较总结。
通过调查可知,目前版本控制工具的发展方向是从集中式模式向分布式模式转变。但开源的新工具大多针对Linux环境,虽然有的提供Windows等环境支持功能,但也需要模拟GNU环境进行编译。另外,如Darcs等新工具似乎还没有图形界面。
具体选择哪种工具,还应当作多方面考虑,比如平台环境、项目特点、项目长期维护要求、团队意愿、期望的工作模式等等。
2005年10月19日星期三
曾经的管理教训与经验。
Experience is treasure in our lifetime.
一、中学
经历:学生干部
收获:懂得承担;以身作则;身先士卒;还是基本的品德要求(如诚实)。
二、大学
曾经有多次机会锻炼管理和领导能力 ,但最终得到的大多是教训而不是经验。
经历:领导学生社团;带领两三名同学为学生处设计站点;组织若干同学翻译外文专业书。
教训:亲身参与技术的热情阻碍了管理的执行;缺少对组员的激励。
借口:将主要心思用于学业;缺少资金。
三、读研之后
慢慢摸索,目前得到的更多的是交流经验和工程经验以及职业化素质。
-自觉实践敏捷开发方法
:适配性过程(短周期迭代,简单为要,测试驱动)和以人为本(交流,尊重,效率)
:的理念与方法使我参与设计与实现的项目能够顺利完成。
-开放、无私的交流
:坚持开放、真诚、简单地与同事交流;
:在被外派而远离同事的情况下,主动通过邮件与同事交流,表达我的想法和检索到的资料。
-主动创新、全心全意为团队着想
:在长期观察与思考团队的组织管理情况之后,向导师提出了一份建议书;
:主动思考团队的学科建设,调研之后向导师提议,与同事讨论;
:主动思考、调研、设计我们团队对于WebGIS的解决方案。
一、中学
经历:学生干部
收获:懂得承担;以身作则;身先士卒;还是基本的品德要求(如诚实)。
二、大学
曾经有多次机会锻炼管理和领导能力 ,但最终得到的大多是教训而不是经验。
经历:领导学生社团;带领两三名同学为学生处设计站点;组织若干同学翻译外文专业书。
教训:亲身参与技术的热情阻碍了管理的执行;缺少对组员的激励。
借口:将主要心思用于学业;缺少资金。
三、读研之后
慢慢摸索,目前得到的更多的是交流经验和工程经验以及职业化素质。
-自觉实践敏捷开发方法
:适配性过程(短周期迭代,简单为要,测试驱动)和以人为本(交流,尊重,效率)
:的理念与方法使我参与设计与实现的项目能够顺利完成。
-开放、无私的交流
:坚持开放、真诚、简单地与同事交流;
:在被外派而远离同事的情况下,主动通过邮件与同事交流,表达我的想法和检索到的资料。
-主动创新、全心全意为团队着想
:在长期观察与思考团队的组织管理情况之后,向导师提出了一份建议书;
:主动思考团队的学科建设,调研之后向导师提议,与同事讨论;
:主动思考、调研、设计我们团队对于WebGIS的解决方案。
2005年10月18日星期二
2005年10月17日星期一
开心。纪念一下。 :)
十一期间,我针对实验室的组织管理写了一份千字“谏言”发给了老板。主要是因为长期感受到工作环境的憋闷,看到同事、同学们怨气都快凝结成水了,觉得不改变很不利于团队的长期发展。
因为是要向老板索求“放松的权利”,因此信件发出之后便一直忐忑不安。没想到今天回实验室(当前我被老板外派做项目)送东西的时候,听师弟说上周开会时老板宣布取消晚上加班。呵呵,开始闻到自由的空气了。对实验室的发展多了许多信心。
还有一些问题有待解决,比如实现开放的工作模式、高效广泛的内部交流、轻松团结的气氛等。相信老板会考虑的,至少已经迈出了一大步。
因为是要向老板索求“放松的权利”,因此信件发出之后便一直忐忑不安。没想到今天回实验室(当前我被老板外派做项目)送东西的时候,听师弟说上周开会时老板宣布取消晚上加班。呵呵,开始闻到自由的空气了。对实验室的发展多了许多信心。
还有一些问题有待解决,比如实现开放的工作模式、高效广泛的内部交流、轻松团结的气氛等。相信老板会考虑的,至少已经迈出了一大步。
2005年10月16日星期日
2005年10月15日星期六
今日论语 之一
有时候随手翻翻《论语》,看到有感触的语句时就贴出来,记做“今日论语”。
理论上应该像模像样地在每句论语之后发一通感慨,只可惜本人理论水平、文学水平都很有限,即使心潮澎湃、思绪万千也难以表达一二,只好贴出来与网络共享。
[子罕篇第九.4] 子绝四—毋意,毋必,毋固,毋我。
“孔子杜绝了四种毛病,能够做到不主观臆断、不绝对肯定、不固执己见、不自以为是。”
[季氏篇第十六.4] 孔子曰:“益者三友,损者三友。友直,友凉,友多闻,益矣。友便辟,友善柔,友便佞,损矣。”
“孔子说:‘有益的朋友有三种,有害的朋友有三种。结交正直的朋友、诚实的朋友、博学多闻的朋友,是有益的。结交谄媚逢迎的人、表面奉承而背后诽谤人的人、善于花言巧语的人,是有害的。’”
[阳货篇第十七.14] 子曰:“道听而途说,德之弃也。”
“孔子说:‘听到小道消息而四处传播,是背弃道德的行为。’”
理论上应该像模像样地在每句论语之后发一通感慨,只可惜本人理论水平、文学水平都很有限,即使心潮澎湃、思绪万千也难以表达一二,只好贴出来与网络共享。
[子罕篇第九.4] 子绝四—毋意,毋必,毋固,毋我。
“孔子杜绝了四种毛病,能够做到不主观臆断、不绝对肯定、不固执己见、不自以为是。”
[季氏篇第十六.4] 孔子曰:“益者三友,损者三友。友直,友凉,友多闻,益矣。友便辟,友善柔,友便佞,损矣。”
“孔子说:‘有益的朋友有三种,有害的朋友有三种。结交正直的朋友、诚实的朋友、博学多闻的朋友,是有益的。结交谄媚逢迎的人、表面奉承而背后诽谤人的人、善于花言巧语的人,是有害的。’”
[阳货篇第十七.14] 子曰:“道听而途说,德之弃也。”
“孔子说:‘听到小道消息而四处传播,是背弃道德的行为。’”
2005年10月14日星期五
我的机器人梦想 之四
在找到了一些机器人的视觉、听觉、电子、机械方面的资料和可用软件资源之后,就想动手尝试一下。
qc-usb摄像头驱动主要针对罗技摄像头,老款 的难以买到且性能较差,新款的价格较高。spca5xx摄像头驱动能够支持较多芯片组,其中所支持的Z- star(也就是中微星vimicro)芯片组是当前性价比较高的大众摄像头中广泛使用的。下面需要寻找一款合适的摄像头。
音频方面,需要尝试使用ALSA API。既然aplay能够正常工作,就先实验语音输出的编码;而arecord不能正常工作,需要寻找我当前系统下语音输入失败的原因。
电 子机械方面的知识欠缺很多,只是通过阅读上一篇记录中提到的几篇文章和书本《嵌入式硬件设计》才对电源、电机、电机控制器以及电路图阅读等有了一点了 解。有时间可以去请教公寓附近的雷神模型店老板,但需要对目标机器人有较详细的设计思路和想法才能询问如何选择元件,也许应当先绘制出简单的机械图和原理 框图。
qc-usb摄像头驱动主要针对罗技摄像头,老款 的难以买到且性能较差,新款的价格较高。spca5xx摄像头驱动能够支持较多芯片组,其中所支持的Z- star(也就是中微星vimicro)芯片组是当前性价比较高的大众摄像头中广泛使用的。下面需要寻找一款合适的摄像头。
音频方面,需要尝试使用ALSA API。既然aplay能够正常工作,就先实验语音输出的编码;而arecord不能正常工作,需要寻找我当前系统下语音输入失败的原因。
电 子机械方面的知识欠缺很多,只是通过阅读上一篇记录中提到的几篇文章和书本《嵌入式硬件设计》才对电源、电机、电机控制器以及电路图阅读等有了一点了 解。有时间可以去请教公寓附近的雷神模型店老板,但需要对目标机器人有较详细的设计思路和想法才能询问如何选择元件,也许应当先绘制出简单的机械图和原理 框图。
2005年10月13日星期四
尝试Ajax WebGIS 之三
这两天大致读了ka-Map的代码。
ka-Map推出的示例应用效果可与Google Maps相媲美。虽然Google Maps为普通用户提供了API接口,但其实现细节和地图数据却是封闭的,而ka-Map及其依赖的服务端技术都是完全开放的。ka-Map应用了 Ajax,使用JavaScript脚本操作DHTML元素实现客户端复杂的交互操作,使用XMLHttpRequest异步调用服务端的PHP脚本,服 务端采用MapServer的PHP/MapScript模块,使得PHP脚本能够调用MapServer的C语言API接口。
ka-Map的代码结构图如下:

index.html 文件中包括由DHTML元素组成的地图界面,以div层为主要结构,分幅地图是一组img;还包括大量的JavaScript脚本负 责操作这些DHTML元素,以控制与用户的交互行为。脚本通过设置分幅地图img的src以实现地图的显示,通过改变div的位置实现地图的移动,通过鼠 标与键盘动作处理函数相应用户操作,通过调用xhr.js提供的call()函数和自定义的回调函数从服务端获取数据并处理。
xhr.js脚本文件实现了创建XHttpRequest连接,以及使用XHttpRequest连接与服务器交流的函数。
init.php当页面初次加载时被客户端调用,负责生成一些关键参数传递给客户端(以JavaScript脚本格式传递)。
tile.php负责返回客户端要求的分幅地图,并实现缓存功能。
下面该考虑自己的Ajax实现了。
ka-Map推出的示例应用效果可与Google Maps相媲美。虽然Google Maps为普通用户提供了API接口,但其实现细节和地图数据却是封闭的,而ka-Map及其依赖的服务端技术都是完全开放的。ka-Map应用了 Ajax,使用JavaScript脚本操作DHTML元素实现客户端复杂的交互操作,使用XMLHttpRequest异步调用服务端的PHP脚本,服 务端采用MapServer的PHP/MapScript模块,使得PHP脚本能够调用MapServer的C语言API接口。
ka-Map的代码结构图如下:

index.html 文件中包括由DHTML元素组成的地图界面,以div层为主要结构,分幅地图是一组img;还包括大量的JavaScript脚本负 责操作这些DHTML元素,以控制与用户的交互行为。脚本通过设置分幅地图img的src以实现地图的显示,通过改变div的位置实现地图的移动,通过鼠 标与键盘动作处理函数相应用户操作,通过调用xhr.js提供的call()函数和自定义的回调函数从服务端获取数据并处理。
xhr.js脚本文件实现了创建XHttpRequest连接,以及使用XHttpRequest连接与服务器交流的函数。
init.php当页面初次加载时被客户端调用,负责生成一些关键参数传递给客户端(以JavaScript脚本格式传递)。
tile.php负责返回客户端要求的分幅地图,并实现缓存功能。
下面该考虑自己的Ajax实现了。
2005年10月12日星期三
尝试Ajax WebGIS 之二
- 不使用XMLHttpRequest的Ajax:Remote Script,主要使用DHTML元素执行隐式调用达到部分刷新页面的目的。
- GISDevelopment上的一篇文章将Ajax与图像分幅列为当前WebGIS的一大改变。
- O'Reilly的XML.COM上一篇文章介绍如何使用ka-Map创建基于Ajax的Web Map,示例程序中使用的数据是从FreeGIS获取的SHP格式的国家边界数据和从SpatialGuru获取的云图背景。
- ka-Map来自于MapTools(致力于开源Web Map开发,是数个开源项目的集中地。经典!),这一个开源项目的目标是要为开发高交互Web Map应用界面提供一套Javascript API,服务端使用MapServer的PHP API接口。从DM Solution提供的一个实例应用可见其强大功能。
2005年10月11日星期二
我的机器人梦想 之三
机器人可以简单分为机械装置和智能系统。
电动机(Motor),包括直流电机、交流电机、步进电机和伺服电机,伺服马达是具备了传动装置和反馈控制系统的普通直流电机。
驱动器(Driving Mechanism),齿轮和链条、滑轮和皮带、变速箱。
无线电控制伺服马达(R/C servomotor),一般小巧便宜,有几种类型用于模型玩具中。
机器人开放控制系统Orocos。
开源科学计算软件开发库GNU Octave和GSL。
Evolving the wireless robot (2003.8)
简单的概念和想法,可能遇到的问题及设想的解决方法。
以下是Erik Zoltán关于如何建造无线机器人每月一篇的文章:
Wireless robotics: A recipe for sucess in wireless robotics (2005.8)
无线机器人的定义:有一台计算机;使用无线技术与其他计算机系统或机器人交流;能够移动。
技术难点:无线技术的选择以及当前无线技术的技术局限性;AI技术的局限性使得难以实现预期的机器人感知功能;与电子元件打交道也是一个挑战,知识方面要补充,操作方面要熟练并注意安全,可以采用有条理的、测试驱动的方法来构造硬件原型。
阐述为何使用自底向上的设计方法。我认为应该结合使用两种方法,大处着眼,小处着手。
Wireless robotics: How to drive your wireless robotics (2005.9)

选择电机和电机控制器:伺服电机/32口伺服电机控制器;
最好分别为电机和电机控制器配电源,因为电机一般需要的电压较高且其电子噪声较大;
电机控制器通过串口与计算机通信,尝试在计算机上用指令驱动电机,不知道有没有提供Linux下的软件的电机控制器厂商;
可选步骤:改变伺服电机使之能够连续旋转。
Wireless robotics: Fast robot prototyping (2005.10)
用铝片、树脂板、纸板等简单材料制作简单的原型机器人。
2005年10月10日星期一
Geomatics
阅读论文时经常遇到空间数据/信息、地理数据/信息、 spatial data/information、geography information等等术语,头都大了,空间信息相关的各个学科领域的繁杂关系也让我发怵。
李德仁介绍Geomatics中译名的论文把我从“雾迷津渡”中拉了出来——原来统领遥感、地理信息系统、全球定位系统、测地学、制图学等与空间信息相关的学科的学科定义早就有了,这就是Geomatics,李认为中译名应叫做“地球空间信息学”。
Geomatics一词最早在法国出现于1969年,1996年被ISO采纳,定义为“Geomatics is a field of activity which, using a systematic approach, integrates all the means used to acquire and manage spatial data required as part of scientific, administrative, legal and technical operations involved in the process of production and management of spatial information. These activities include, but are not limited to, cartography, control surveying, digital mapping, geodesy, geographic information systems, hydrography, land information management, land surveying, mining surveying, photogrammetry and remote sensing”。简明定义为“Geomatics is the modern scientific term referring to the integrated approach of measurement, analysis, management and display of spatial data”。
Geomatics学科研究的对象,在ISO给出的定义中明确指出是spatial information(空间信息)。但space(空间)是一个比较抽象、多元的概念,在物理学、天文学、数学、哲学、心理学中都有space(空间)的概念。那么ISO定义中的空间信息又是指的哪个空间的信息呢?至于Geography(地理学),它的定义是“研究地球及其生命的科学;尤指对陆地、海洋、大气的描述,对动植物、包括人类的分布状态以及人类根据种种自然力的相互关系所从事的劳动的描述”,它是应用空间认知来尝试理解事件在某个位置发生的原因。明白了这些概念的区别,能帮助自己在适当的地方使用比较合适的说法。
WikiPedia上关于Geomatics的介绍在此。
概念打架的情形很让人讨厌,同时也说明了学科还没有发展成熟。比如构件、组件的概念,至今仍在交叉混用。
李德仁介绍Geomatics中译名的论文把我从“雾迷津渡”中拉了出来——原来统领遥感、地理信息系统、全球定位系统、测地学、制图学等与空间信息相关的学科的学科定义早就有了,这就是Geomatics,李认为中译名应叫做“地球空间信息学”。
Geomatics一词最早在法国出现于1969年,1996年被ISO采纳,定义为“Geomatics is a field of activity which, using a systematic approach, integrates all the means used to acquire and manage spatial data required as part of scientific, administrative, legal and technical operations involved in the process of production and management of spatial information. These activities include, but are not limited to, cartography, control surveying, digital mapping, geodesy, geographic information systems, hydrography, land information management, land surveying, mining surveying, photogrammetry and remote sensing”。简明定义为“Geomatics is the modern scientific term referring to the integrated approach of measurement, analysis, management and display of spatial data”。
Geomatics学科研究的对象,在ISO给出的定义中明确指出是spatial information(空间信息)。但space(空间)是一个比较抽象、多元的概念,在物理学、天文学、数学、哲学、心理学中都有space(空间)的概念。那么ISO定义中的空间信息又是指的哪个空间的信息呢?至于Geography(地理学),它的定义是“研究地球及其生命的科学;尤指对陆地、海洋、大气的描述,对动植物、包括人类的分布状态以及人类根据种种自然力的相互关系所从事的劳动的描述”,它是应用空间认知来尝试理解事件在某个位置发生的原因。明白了这些概念的区别,能帮助自己在适当的地方使用比较合适的说法。
WikiPedia上关于Geomatics的介绍在此。
概念打架的情形很让人讨厌,同时也说明了学科还没有发展成熟。比如构件、组件的概念,至今仍在交叉混用。
-Ofun
-O标记用于告诉编译器优化的目的何在。顾名思义,-Ofun的意思就是为了好玩而优化。
-Ofun是Geoff Broadwell根据Pugs项目的成功经验而总结出的项目开发思想,以及一些具体实施方法。核心思想是兴趣驱动,再辅以相应的组织、控制方法。
文章主要针对的是开源项目的组织开发,但对于围墙里的项目研发还是有很多可借鉴的地方的。比如以人为本,兴趣至上(没有兴趣创造兴趣),可工作代码比只有Idea更有趣,应用现代的、分布式的版本控制工具,建设rich、supportive的团体等等思想与方法。也许有人会说,这些东西早就出现过了,**开发方法就强调这些。但又有多少项目开发组是确实这样做的呢?就让-Ofun以及那么多欣欣向荣的开源项目团队再给我们围墙中的开发管理者提个醒吧。
-Ofun是Geoff Broadwell根据Pugs项目的成功经验而总结出的项目开发思想,以及一些具体实施方法。核心思想是兴趣驱动,再辅以相应的组织、控制方法。
文章主要针对的是开源项目的组织开发,但对于围墙里的项目研发还是有很多可借鉴的地方的。比如以人为本,兴趣至上(没有兴趣创造兴趣),可工作代码比只有Idea更有趣,应用现代的、分布式的版本控制工具,建设rich、supportive的团体等等思想与方法。也许有人会说,这些东西早就出现过了,**开发方法就强调这些。但又有多少项目开发组是确实这样做的呢?就让-Ofun以及那么多欣欣向荣的开源项目团队再给我们围墙中的开发管理者提个醒吧。
我的机器人梦想 之二
图像处理、机器视觉:
Linux音频编程:
Linux音频编程:
- IBM开发网上的一篇入门指南文章,简洁、实用的好文章;
- Alsa驱动,包括Alsa开发指南;
- Sun、CMU、MERL、HP、MIT和UCSC联合开发的Java版开源语音识别Sphinx-4;
- Intel 声音-口部结合的语音识别开源软件AVSR;
- Stephen Cook编写的Speech Recognition HOWTO介绍了语音识别基础与一些开发工具;
2005年10月9日星期日
尝试Ajax WebGIS 之一
Google Map应用令人心动。
在用Java Plug-in完成上一个WebGIS项目的同时,我也在考虑是否有必要使用Ajax方式来解决。
现在项目结束了,最好的验证方法还是动手实现一下。
我认识并使用Ajax 的过程如下:
在用Java Plug-in完成上一个WebGIS项目的同时,我也在考虑是否有必要使用Ajax方式来解决。
现在项目结束了,最好的验证方法还是动手实现一下。
我认识并使用Ajax 的过程如下:
- Jess James Garrett的经典文章Ajax: A New Approach to Web Applications;
- WikiPedia对Ajax相关介绍与资源链接的汇总;
- Mozilla开发网站上的Ajax编程入门文章Ajax: Getting Started;
- clearnova公司提供的一些基本的Ajax示例代码和一篇介绍Ajax的很有趣的PPT;
- 传说中的prototype,没有文档,不知道怎么用,幸好又找到一篇解读prototype的文章1和2:) ;
- ....
在线阅读大英图书馆的珍藏手本
从slashdot上看到的消息,大英图书馆(The British Library) 将珍藏的名人手写本在网上公布出来,包括达芬奇的笔记、《爱丽丝漫游奇境记》的原稿等等。它是以shockwave形式将这些作品的数字版发布的,界面比较漂亮、简洁、方便。
简单看了一下《爱丽丝漫游奇境记》,我想每个人都会惊叹于作者的美丽心灵,包括故事内容、文笔书写、书本设计和从此种种透露出的对于孩子的喜爱之情,简直像是初恋的年轻人为深爱的姑娘精心准备的礼物。这本书让我注意到了漂亮的英文手写体。英文也有书法。
简单看了一下《爱丽丝漫游奇境记》,我想每个人都会惊叹于作者的美丽心灵,包括故事内容、文笔书写、书本设计和从此种种透露出的对于孩子的喜爱之情,简直像是初恋的年轻人为深爱的姑娘精心准备的礼物。这本书让我注意到了漂亮的英文手写体。英文也有书法。
2005年10月8日星期六
我的机器人梦想 之一
喜欢机器人技术,开始想做自己的机器人也是在一年以前了。
由于时间精力有限,一直进展不大,思路也多次更改。
通过slashdot认识了HR2之后,重新考虑,决定实现一个这样的机器人:
目前需要首先搜索、测试视觉、听觉和语音方面的算法实现,而后部署眼睛、耳朵、嘴巴实际测试,之后整合传感系统。最后考虑机器人本体的组装与肢体运动。
由于时间精力有限,一直进展不大,思路也多次更改。
通过slashdot认识了HR2之后,重新考虑,决定实现一个这样的机器人:
- 尺寸与HR2相仿,手掌大小;
- 外部电源驱动;
- 头部、肢体具备基本行动能力;
- 机器人本体具备视觉、听觉传感器和语言能力;
- 控制系统、计算系统和数据系统放在本本上;
- 机器人本体与本本通过USB接口传输感觉数据,通过串口传输控制信号。
目前需要首先搜索、测试视觉、听觉和语音方面的算法实现,而后部署眼睛、耳朵、嘴巴实际测试,之后整合传感系统。最后考虑机器人本体的组装与肢体运动。
2005年10月6日星期四
slashdot
偶然闯进了slashdot。
首先被其简洁、充满生命力的界面吸引,而后是五花八门但都是我想了解的信息,以及“News for nerds, stuff that matters”的口号,对信息的分类形式和信息的刷新速度等等都深深吸引着我。
今天搜索了一下slashdot,得到1和2的介绍和文字,其中我非常同意2总 结的slashdot成功的三点经验“light, diy and hyperlink”。slashdot是公布面向公众的技术、商业信息的信息广场,由于创办人优美的运行模式和技术使其更成功。而BLOG则是共享个人 生活经历、技术经验等信息的个体单位。作为技术人员,我个人很难接受把BLOG当做流水帐记事本的方式。网络需要对公众更有价值的信息。
我目前还只是slashdot的信息消费者,惊讶于slashdot成员获取信息的速度和广度,但我关注slashdot的内容和生命力,希望能逐渐成为信息贡献者。
首先被其简洁、充满生命力的界面吸引,而后是五花八门但都是我想了解的信息,以及“News for nerds, stuff that matters”的口号,对信息的分类形式和信息的刷新速度等等都深深吸引着我。
今天搜索了一下slashdot,得到1和2的介绍和文字,其中我非常同意2总 结的slashdot成功的三点经验“light, diy and hyperlink”。slashdot是公布面向公众的技术、商业信息的信息广场,由于创办人优美的运行模式和技术使其更成功。而BLOG则是共享个人 生活经历、技术经验等信息的个体单位。作为技术人员,我个人很难接受把BLOG当做流水帐记事本的方式。网络需要对公众更有价值的信息。
我目前还只是slashdot的信息消费者,惊讶于slashdot成员获取信息的速度和广度,但我关注slashdot的内容和生命力,希望能逐渐成为信息贡献者。
订阅:
评论 (Atom)
