Nov 5, 2005

昨天晚上做了一个奇怪的梦

Forrest Sheng Bao http://fsbao.net

梦见跑回高中,看到两个高中生在作一个电路,于是看了看
PCB板的一面有一个像手机上那样的方方的液晶屏
另一面是一个我没有见过的元件

那两个高中生演示了一下,把手放到那个我没有见过的元件前面,手来回移动一下于是明白了,那个我没有见过的元件是一个测距的东西,我也不知道是用什么测距的,
超声波还是红外?

更牛的是那个方方的LCD中在显示一个圆,随着距离的改变圆的半径也会变化
而那个板子上还有一个DIP封装的元件,估计是某种单片机吧,猜测是把测距元件传来的信号处理一下,驱动LCD显示那个圆的

过了一会,更牛的事情发生了,那两个高中生居然用一个工控机调试电路,机箱和硬盘还有光驱也没有,只有一个板子。CPU没有看清,怎么就觉得像Altera的Stratix II。难道他们自己把NIOS核也配置好了?
不过我对Altera的NioS不太了解,没有见过烧到Stratix里面的,只见过烧到Cyclone里面的

那两个高中生居然还把BIOS都自己写了一遍,附加了一个功能就是可以直接对串口发送数据,然后他们用那个串口发出的数据调试LCD的驱动程序

实在不明白怎么会作这种奇怪的梦的,也许拿这个题材来作毕业设计倒是不错的

Oct 7, 2005

与某人的争吵

题记:很久以前,我和一个人吵了一架,关于是不是有必要把文章放到open access的论文数据库上

从此再也不和这个人作东西了,现在想来真是很奇怪,是他来找我帮忙的,结果他的口气倒是我求着他办事

给自己一个经验:和人合作之前要看看他和以前的同事合作的怎样,同时如果有本质的世界观的差异,最好不要合作。

和很多同学做过课题,拿奖发paper也有,我做过一作也做过二作,从来有什么事情都是讨论,但是不准我提反对意见的事情是从来没有遇到过。有意见说,对不对,干吗非要我接受你的观点。最绝的是他说“我无所谓大家关系怎么样”,颇有要像杨和李那样行同路人的准备。

后来他拿这个东东去参加挑战杯校内的选拔,我事先和他说过,你这个算法分析的推导有漏洞。结果被评委逮着了,我把评语给他看了一下,他居然说只能怪这些评委“太没有想象力”。

现在那个paper一直搁在旁边,估计是我永远都不会投的paper了。
其实现在想放了也好,我后来才发现,他对自己研究的这个问题严重缺乏了解,根本就没有看这个领域的paper.很多这个领域的术语他都不知道,别人解决过的问题他居然还在解决我就像个苦力一样给他写了两个月的代码,做了一堆试验,修改他用蹩脚的英文写成的文章。所以再给本科生朋友一个建议:如果别人找你作课题,一定要先让他把这个领域的发展情况讲清楚,至少要让你搞懂别人在作什么,他的想法比别人有什么牛的地方,否则就是浪费时间

这几天看到丘和田的事情,想起当年杨和李的事,不禁想起自己也和别人吵过架。

因为是发短信的,所以我自己发的已经记不清了,只记得两条

那个人:我们现在没有必要讨论学术是否应公开的问题,我现在不想放,请不要和我争论这件事
那个人:不知道。干吗要为这件不相干的事和我争论
那个人:你是在索要你的权力?我现在没有精力回答你的问题,在我没有获得更多的信息之前找个理由回答无异于骗小孩
那个人:我跟你讲,此问题的性质没有对错,第一作者有权根据自己的意愿愿对作品作出处置决策,希望你不要作出步调不一致的事
那个人:疑虑?你难道以为你掌握的信息会比我多多少
那个人:我觉得没必要,你可以提供建议,但决策权在我手上,我都知?你?说什么了还谈什么,你有补充??
那个人:随便了,不要重复昨天说过的,什么大不了的事一样,受不了你
我:    建议关系不要搞得太僵
那个人:我无所谓关系如何,谈这些干什么
那个人:但是在有更重要的问题要解决的时候,我没空去理会无关紧要的问题,我希望明天你能客观点把正反理由同时列举出
我:    我只有正的理由,反的理由应该你来找
那个人:还要我去找反的理由?那你的正的理由也不太客观吧,不要老拿关系烦我,你
可以从你自己身上找找原因

最后他困的不行了,说睡觉吧

Feb 10, 2005

Nyquist采样定理与Matlab绘制函数图像

Forrest Sheng Bao http://fsbao.net

昨天在画一个图的时候突然想到matlab绘制函数图像的时候要先生成一个一维数组(假如是一元函数),这个一维数组实际上就是采样点,假如这个数组的步进值不能小于信号周期的一半,就会出现混叠了,所以在画图的时候要注意这一点。绝对不能写出如下的代码:

x=1:pi:20;
plot(x,sin(x),'.')

后来又想到Oppenheim的书上还提到过一个东西,就是说离散的复指数信号是未必有周期的,唯有当其角频率和2 pi 之比为有理数的时候才是周期的,所以说当我们在用如下的代码
画图时:

x=1:20;
plot(x,sin(x),'.')

我们得到的不是一个周期函数,只是看上去是个周期函数罢了
所以你会发现当步进值较大,比如取到2的时候,虽然依旧满足Nyquist采样定理,但是你已经很难感觉那是一个sin函数了
但是我又有疑问了,信号处理很多时候考虑的只是一元的函数,但在数学上,很多时候考虑的是多元的函数,这种时候绘图的步进值要满足什么要求呢?有没有二元信号的采样定理呢?
我准备尝试按照Nyquist定理推导的方法推导一下。

PS:我觉得MathWork公司应该告诉我们这些内容,否则很多人会在绘图的时候出错,Nyquist定理是Matlab能够绘制出图像的基础结论。

Jan 4, 2005

从想做到有能力去做-谈grandlab新的改革

很难想像我对大实验室的定位在近2年多之后又回到了原来的出发点。当我最初提出grandlab的时候,它只是我的一个将高中时的科学小组在大学里延伸的设想。而现在我再次将grandlab定位为一个可以用来组织跨学科、跨校的开放性研究的活动之时,则是我确实有能力去实现,并且有了成功的范例和基于实际需要的欲望。

昨天王维汉(化院04级毕业生,现在在武大读研)说“感觉大实验室的成长轨迹和你的成长轨迹是同步的”。当我刚进入大学的时候,我十分怀念高中时的那个科学小组使我认识的那些优秀的合作伙伴。当时如果没有这个机会,我是不会认识他们的,所以我希望能够在大学中让更多的人能够像我那样有机会接触到志同道合的人。由于我又十分怀念高中时的那些时光,希望出现一个活动可以把大家继续连接在一起,延续在高中时的合作。我寄希望于这样一个活动可以使大家发起关于自己感兴趣课题的研究团队,并且可以使其他人得知这些团队,并加入其中。正如我在给CERNET最初的email中所说的那样:“将不同专业,不同思想,不同专长,分布在各所大学的大学生团结起来,加强交流,促进学习。同一个问题,许多个人来研究,同一个实验,许多个实验室来做。”

但是你又何以能够认同一个还没有进入大学,没有做过任何科研工作的freshman对科研的看法呢?我觉得当时的那种想法是建立在认为大学和高中在很多情况上具有相似性的假想下作出的。

所以在这个计划进行的第一个年头,我为自己的错误指导思想付出了代价。在2003年4月到2004年4月的一年中,我感到grandlab.cer.net实质上成了我和我朋友的个人主页。这个网站并没有发挥我所需要的那些功能,它没有促成任何一桩在我认识的人之外的任何一个科研项目,我希望的在那个网站上实现“问题的提出->问题的进展->问题的解决”的链式过程并没有出现。我只是手工的不断将各种文章上传到站点上,而现在我却意识到它根本没有体现任何一点grandlab的思想,因为它无法缺乏一个发布信息和反馈的平台。

即便到现在,在我建立了一个用MySQL做DB,用PHP做前台的论文数据库之后,grandlab.cer.net 也仅仅是向用户单向的提供信息的网站,而不能让用户利用这个网站促成自己的科研团队,仅仅是堆砌内容。我们徒有一个CMS,却没有一个EMS(event management system),而后者恰恰是grandlab.cer.net区别于论文数据库的地方。

我时常问自己,为什么这么久了却没有人给予我任何实质性的意见,我想这和我自己有关,因为我是发起这个计划的人,但是我自己的想法却总是没有固定下来,对这个活动没有一个明确的定位,弄得大家也很迷茫。

所以我在2004年4月的时候着手改革,不过从那时到现在除了建了一个简单的论文数据库外没有太大的进展,因为我在grandlab的工作不断的被各种事情打断。其中最令我不能理解的是我最初开始写这个数据库的前台PHP代码的时候是2004年10月(数模比赛刚完),而我再次拾起这些代码的时候居然是12月中旬。但是现在我很高兴,因为正是这些打断我对grandlab工作的事情为我带来了实现这个梦想的能力。首先我长期以来所积累的那些能力得到了表现,我取得了使别人能够相信我是一个具有科研能力的人的依据(以至于现在有人都说“鲍盛我跟着你混吧”),我也取得了使别人相信跨校跨学科的研究的可行性依据。我有能力去组织这样的团队,和大家一起让它运作并产生出结果。而且在这段时间我理解了一个同样开放的思想GNU,我看到了开源软件和商业软件之间的竞争,我完全的爱上了Linux,我做报告都是带着我自己的电脑,为了向每一个观众展示Linux的魅力。

过去的一年多中,虽然我时常感觉到过去的时间全是耽误的,但我积累下的好的想法和成果将使得我真正可以实现我的梦想了,我现在的感觉就如同GNU找到了一个合适的操作系统Linux一样。高剑峰(地科系ICPMS实验室,研究生)原来对我说过grandlab要成功要么有钱,要么有本事。但是我觉得让别人接受一个新的想法,事实比钱更重要。学术上的东西就不说了,在网站的功能实现方面,现在我已经具有了使用PHP和MySQL制作动态网页的能力,我正在一步步的用代码来实现我想赋予grandlab.cer.net 的功能。

我现在所希望的grandlab.cer.net是一个BBS和Blog式的论文数据库。整个的grandlab.cer.net就是一个巨大的Blog,只不过这个Blog的内容不是生活随想,而是paper。每个用户就是不同的课题组,他们可以发布各种信息,展示相关的各种内容。他们展示的内容是可以利用现在grandlab.cer.net已有的CMS来实现。倒是要把Blog的功能提供好,使他们可以发布各种信息,并得到各式各样的反馈。目前基本的构架是每一个文件(file)隶属于一个研究,每个研究(topic)又隶属于一个团队(team)。file和topic的后台数据库与前台PHP程序已经准备好了,并且在运行,当然还有一些小bug。至于这个team,可以配备一个blog用来发布各个研究的进展说明,数据库中有个table存放这些blog信息,这个表具有字段来记录其隶属的team和topic。当然还要为他们提供照片发布功能,不过我在考虑是否专门准备一个table存放这些照片信息。特别要提供一个进程管理功能,比如邀请合作者,举行报告会,添加用户进入自己的团队,用户之间传递消息,投票功能。当然随着我不断的写代码的时候会添加更多的功能,而且我会用我自己的实例来测试他们。

先写到这里,我向等我的EMS完成的时候,大家就可以更好的理解我的意思,并结合使用情况,提出具体的意见。

谢谢

鲍盛
Jan.4, 2005