你说神睡觉吗?

By , 2008年5月27日 4:37 下午

昨天晚上九点,早早的将清扬婉兮洗白白,放到她的小床上,关了灯又关了房门。没过多久,那边屋子便没了动静,我想她大概是已经睡着了吧,于是开始看《挪威的森林》。大概十点多的时候,小人突然轻声的叫爸爸,我想她可能想要喝水,于是到她的屋子去看看。结果,人家一点睡意都没有,一双眼睛瞪着蚊帐骨碌碌的转。看见我进来,小人轻声的问:“爸爸,你说神睡觉吗?”

这个问题我还真的没有想过,只好据实回答说:“这个我也不知道,可能也睡觉吧。你看宙斯不也要睡觉吗?”

小人还不满足,又问:“那不想长大的神是不是就不睡觉了呢?象Artemis?”

Artemis小时候是否睡觉,我可是一点头绪头没有。不过,Aremis后来肯定是长大了,这一点是毫无疑问的。于是我回答说:“Artemis后来都长大了嘛,我想她可能也睡觉的。”

小人引经据典打算拒绝睡觉的计划被我打败,说:“就是说我也应该睡觉咯?”

“对啊对啊。好好睡觉才能够……”

“够着高高杠子,才能够翻跟头。”

“对。好好睡吧。”

“爸爸,我爱你。我睡了。”

“我们也爱你。好好睡吧。”

我很庆幸小人没有问Eros是否睡觉 -- 这个问题回答起来要更难些。

[实验] 访问Sun SPOT上的传感器

By , 2008年5月26日 5:47 下午

一、加速度计

图一、Sun SPOT的XYZ坐标图


图二、Sun SPOT的XY坐标方向

加速度是一个矢量。在使用Sun SPOT的加速度计之前,我们需要了解该矢量所使用的坐标系统。上面两个图形介绍了Sun SPOT的坐标系统,当Sun SPOT如图一所示水平放置时,Z 轴的方向为垂直向下,其加速度值为1G。

在应用程序的开头部分,您需要import与加速度计相关的类库:

import com.sun.spot.sensorboard.peripheral.IAccelerometer3D;

在应用程序中,声明一个IAccelerometer3D对象:

private IAccelerometer3D accel = EDemoBoard.getInstance().getAccelerometer();

获得X, Y, Z三轴上的加速度值:

double accelX = accel.getAccelX();
double accelY = accel.getAccelY();
double accelZ = accel.getAccelZ();

获得X, Y, Z三轴上的倾斜度:

double tiltX = accel.getTiltX();
double tiltY = accel.getTiltY();
double tiltZ = accel.getTiltZ();

在Sun SPOT自带的传感器上,自带的加速度计型号为LIS3L02AQ。该加速度计的测量范围可以设定为2G或者是6G,在测量范围不同的时候,其测量精度也 是不同的。如果我们需要在应用程序当中得到关于加速度计的更多信息,建议您直接使用类库LIS3L02AQAccelerometer。同样,在应用程序 的开头部分,您需要import与该加速度及相关的类库:

import com.sun.spot.sensorboard.peripheral.LIS3L02AQAccelerometer;

在应用程序中访问该加速度计:

private LIS3L02AQAccelerometer acc = (LIS3L02AQAccelerometer)EDemoBoard.getInstance().getAccelerometer();

LIS3L02AQAccelerometer是IAccelerometer3D的一个子类,所以上面所介绍的获得三轴加速度和倾斜度的方法仍然可以使用。

获得加速度计的当前测量范围。如果加速度计工作在2G状态,该方法返回SCALE_2G;如果加速度计工作在6G状态,该方法范围SCALE_6G。

public int scale = acc.getCurrentScale();

设定加速度计的测量范围为2G:

acc.setScale(acc.SCALE_2G);

设定加速度计的测量范围为6G:

acc.setScale(acc.SCALE_6G);

二、光照传感器

在应用程序的开头部分,您需要import与光照传感器相关的类库:

import com.sun.spot.sensorboard.peripheral.ILightSensor;

在应用程序中,声明一个ILightSensor对象:

private ILightSensor lightSensor = EDemoBoard.getInstance().getLightSensor();

读取光照强度,其数值范围在0 到740 之间。

int lightIndication = lightSensor.getValue();

三、温度传感器

在应用程序的开头部分,您需要import与温度传感器相关的类库:

import com.sun.spot.sensorboard.io.ITemperatureInput;

在应用程序中,声明一个ITemperatureInput对象:

private ITemperatureInput tempSensor = EDemoBoard.getInstance().getADCTemperature();

读取温度数据,用华氏度表示:

double tempF = tempSensor.getFahrenheit();

读取温度数据,用摄氏度表示:

double tempC = tempSensor.getCelsius();

四、使用控制按钮

在应用程序的开头部分,您需要import与控制按钮相关的类库:

import com.sun.spot.sensorboard.peripheral.ISwitch;

在应用程序中,声明两个ISwitch对象,其中sw1为左边的控制按钮,sw2为右边的控制按钮:

private ISwitch sw1 = EDemoBoard.getInstance().getSwitches()[0];
private ISwitch sw2 = EDemoBoard.getInstance().getSwitches()[1];

控制按钮实际上是一个数字开关,它可以被设置为开启和关闭两种状态。

检查sw1是否为开启状态:

boolean status = sw1.isOpen();

检查sw2是否为关闭状态:

boolean status = sw2.isClose();

您也可以让程序等待某个控制按钮的状态发生改变,例如:

sw1.waitForChange();

waitForChange()是一个阻塞方法。也就是说,它会停止当前线程的执行,一直到该控制按钮的状态发生改变为止。

在 更多的情况下,我们可能需要知道的是某个控制按钮是否曾经被按下(作为改变系统状态的某种信号),而并不关心其当前状态是开启还是关闭。一个简单的办法是 读取该控制按钮的当前状态并且与上一次的状态进行比较,如果结果不一样则判断该按钮的状态曾经被按下(因为其状态发生了改变)。

五、综合编程练习

编 写一个Sun SPOT应用程序,用LED模拟一个在水中作单向运动的小球。该小球可以是一个密度大于水的铁球,也可以是一个密度小于水的气球,使用左边的控制按钮改变 其密度状态。该小球的颜色可以使用温度或者是亮度来控制,当温度(亮度)较高的时候,小球的颜色为红色;当温度(亮度)较低的时候,小球的颜色为绿色;过 渡颜色为蓝色。

在完成这个编程练习的时候,可以参考Demo\CodeSamples这个目录里面的例程。

[实验] 第一个Sun SPOT应用

By , 2008年5月24日 4:58 上午

一、预备内容

首先,您需要安装JDKApache AntNetBeans以及Sun SPOT Manager。JDK 和Apache Ant都是使用Java语言进行应用开发的必备工具。你需要确保JDK和Ant的bin目录都在您的PATH环境变量里面。正确的安装JDK和Ant之后,您打开一个命令行窗口,应该 可以正确运行java、javac、ant命令。

更详细的安装和配置过程,请参考这个英语版的教程:http://www.sunstudentcourses.com/course/view.php?id=12

二、第一个Sun SPOT应用

下载源代码:SunSpotApplicationTemplate.zip 并解压缩。进入解压缩之后的文件夹。

(1) 检查连接到主机上的SPOT情况,可以使用如下命令:

ant info
ant slots

(2) 编译应用程序

ant jar-app

(3) 将应用程序部署到SPOT上

ant jar-deploy

(4) 运行部署到SPOT上的应用程序

ant run

我们看到,启动应用程序之后,左边第一个LED每3 秒左右闪烁一次红光。在主机屏幕上还能够找到“Hello, world!”这个字符串 — 这是SPOT向主机发送的一个信息。

三、理解这个SPOT应用程序

package org.sunspotworld.demo;

import com.sun.spot.peripheral.Spot;
import com.sun.spot.sensorboard.EDemoBoard;
import com.sun.spot.sensorboard.peripheral.ITriColorLED;
import com.sun.spot.peripheral.radio.IRadioPolicyManager;
import com.sun.spot.io.j2me.radiostream.*;
import com.sun.spot.io.j2me.radiogram.*;
import com.sun.spot.util.*;

import java.io.*;
import javax.microedition.io.*;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;

public class SunSpotApplication extends MIDlet {

/*
* SPOT中的虚拟机通过调用starApp方法来启动一个SPOT应用。
*/
protected void startApp() throws MIDletStateChangeException {

/*
* 标准输出为主机端
*/
System.out.println(“Hello, world”);

/*
* 监控SPOT是否通过USB连接到主机。如果是,获得从主机发送的命令。
*/
new BootloaderListener().start();

/*
* 获得自身的IEEE Mac地址
*/
IEEEAddress ourAddr = new IEEEAddress(Spot.getInstance().getRadioPolicyManager().getIEEEAddress());
System.out.println(“Our radio address = ” + ourAddr.asDottedHex());

/*
* 找到传感器板上的所有LED指示灯,用数组leds来表示
*/
ITriColorLED [] leds = EDemoBoard.getInstance().getLEDs();

/*
* 将第一个LED指示灯设置为亮度为100的红色
* 通常我们利用RGB来表示颜色,每个参数的数值范围在0到255之间。
*/
leds[0].setRGB(100,0,0);

/*
* 进入一个无限循环
*/
while (true) {

/*
* 点亮第一个LED指示灯(之前我们已经将其设置为亮度为100的红色)
*/
leds[0].setOn();

/*
* 等待1/4秒
*/
Utils.sleep(250);

/*
* 熄灭第一个LED指示灯
*/
leds[0].setOff();

/*
* 等待3 秒钟
*/
Utils.sleep(3000);
}
}

protected void pauseApp() {
// This will never be called by the Squawk VM
}

protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
// Only called if startApp throws any exception other than MIDletStateChangeException
}
}

四、改进这个SPOT应用程序

现在,我们对这个应用程序进行一点改进。我们的目的是让第一、第二和第三个LED指示灯轮流点亮1/4秒,其颜色分别是全红,全绿和全蓝。完成一个循环过程之后,三个LED指示灯全部熄灭,等待3 秒钟,重新开始下一个循环。

修改过的应用程序片断如下:

ITriColorLED [] leds = EDemoBoard.getInstance().getLEDs();
leds[0].setRGB(255,0,0);
leds[1].setRGB(0,255,0);
leds[2].setRGB(0,0,255);

while (true) {
leds[0].setOn();
Utils.sleep(250);
leds[0].setOff();
leds[1].setOn();
Utils.sleep(250);
leds[1].setOff();
leds[2].setOn();
Utils.sleep(250);
leds[2].setOff();
Utils.sleep(3000);
}
我们重新编译、部署和运行这个应用程序:

ant jar-app
ant jar-deploy
ant run

你的第一个SPOT应用程序,就这么简单。我建议各位充分发挥想象力,看看能够用8 只LED做什么事情。

[讲义]无线传感器网络技术 -- 介绍

By , 2008年5月22日 5:52 下午

这是昨天晚上在北京交通大学软件学院做的一场关于无线传感器网络技术的介绍性讲座。 这个讲座简单介绍无线传感器网络的基本概念以及发展历史,包括传感器、传感器网络、无线传感器网络。通过一些实际的或者是实验性的案例,说明传感器网络和无线传感器 网络目前的应用状况和将来的应用前景。 在讲座的后半部分,将介绍PC-104, UCB Mote和Sun SPOT等现有的无线传感器网络平台,并且利用Sun SPOT做一些演示。讲座的目的,是让学生了解这个新兴技术,培养对这个技术方向的兴趣。愿意在这个方向发展的学生,可以加入我们的无线传感器网络项目小 组,在Sun SPOT上面自己做一些项目。

演讲文稿:

OpenOffice格式:01_WSN_Introduction.odp
Microsoft Office格式:01_WSN_Introduction.ppt

由于原始的演示文稿是利用OpenOffice(其实是Mac OS上的NeoOffice)制作的,所以OpenOffice格式的文稿格式会好一点,建议各位使用这个版本。

演示录像:

无人驾驶飞行器一:气球
无人驾驶飞行器二:直升飞机

探索者

By , 2008年5月21日 6:31 下午

这是一个模拟无线游戏操纵杆的演示。在PC机端连接一个Sun SPOT作为接收机,一个移动的Sun SPOT作为操纵杆。本演示包括两个Java项目,一个运行在Host端(主机),另外一个运行在远程端(远程移动SPOT)。

主机应用程序:CarDemo
远程应用程序:TrackbotEnhancedRemote

将如上压缩包解压缩之后,在主机端的源代码文件夹(src)里面找到TrackbotJoystickReceiver.java文件,寻找字符串“0014”,就可以找到类似于下面这行的一段代码:

String joystickAddress = “0014.4F01.0000.0FC9”;

字符串joystickAddress代表的是远程SPOT的MAC地址,请将其修改成您的远程SPOT的MAC地址。该地址可以在您的SPOT的天线上找到。

同样,在远程端的resources\META-INF文件夹里面找到manifest文件,里面有类似于下面这行的一段代码:

trackbotAddress: 0014.4F01.0000.1301

字符串trackbotAddress代表主机SPOT的MAC地址,请将其修改成您的主机SPOT的MAC地址。该地址可以在您的SPOT的天线上找到。

我们首先编译和部署远程SPOT的应用程序。将远程SPOT通过USB电缆连接到主机上,在命令提示符下进入TrackbotEnhancedRemote目录,执行如下命令:

ant
ant deploy
ant run

这时候远程SPOT就已经部署好了。将其从主机上移走,并将主机SPOT连接到主机上。在命令提示符下进入CarDemo目录,执行如下命令:

ant

好啦。现在你应该能够看到本文所附图片的场景了。转动、倾斜、或者是摇摆你的远程SPOT,看看会发生什么事情。另外,你还可以按一按SPOT上面的两个控制按钮,也许会发生一些意想不到的事情呢。

无线传感器网络技术介绍

By , 2008年5月19日 7:34 下午

我将于本周四晚上在北京交通大学做一场关于无线传感器网络技术的介绍性讲座。时间是晚上7 点到晚上9 点,地点在北京交通大学逸夫教学楼西706房间。

这个讲座将简单介绍无线传感器网络的基本概念,包括传感器、传感器网络、无线传感器网络。通过一些实际的或者是实验性的案例,说明传感器网络和无线传感器网络目前的应用状况和将来的应用前景。 在讲座的后半部分,将介绍PC-104, UCB Mote和Sun SPOT等现有的无线传感器网络平台,并且利用Sun SPOT做一些演示。讲座的目的,是让学生了解这个新兴技术,培养对这个技术方向的兴趣。愿意在这个方向发展的学生,可以加入我们的无线传感器网络项目小组,在Sun SPOT上面自己做一些项目。

在Unix-Center.Net的学习中心,我开始了一门网上课程,课程名称为“无线传感器网络 -- 从理论到实践”。这个课程里面收录了我认为比较有价值的关于无线传感器网络的一些资料。我在交大的讲座资料也会在星期五的时候上载到那里。在Unix-Center.Net的论坛,我们也开设了一个关于无线传感器网络的专门论坛,我会在这个论坛回答关于无线传感器网络和Sun SPOT相关的问题。

南无千手千眼大慈大悲救苦救难观世音菩萨

By , 2008年5月19日 6:55 上午

近些日子关于汶川大地震的报道很多,唯独这一篇我觉得有转载到自己的Blog留做纪念的必要。不为别的,只为文中X先生的这么一句话:“领导安排下在绵阳五所希望小学建设均由我亲手经办,而此次大地震未能撼动一幢,五所学校巍然屹立!师生未损毫发!

南无千手千眼大慈大悲救苦救难观世音菩萨,大概就是这个样子的吧。

原文发表于新浪博客,作者李承鹏。

原文链接:http://blog.sina.com.cn/s/blog_46e7ba41010091pk.html

北川邓家“刘汉小学”无一死亡奇迹背后的真相

2008-05-19 07:01:21

标签:情感

今 天这一篇不写死了多少人了,写灾难太难受,我写奇迹,奇迹属于北川邓家刘汉小学,483名学生一个都没有少,71名学生历经两天一夜徒步翻过三座大山和一 片原始森林成功逃生到绵阳,更大的奇迹是:十年前,是谁修了这所不会倒塌的希望小学?修建过程中有什么不为人所知的真相?难道十年前,他们就预知到了什么 吗?

已 经很难复原5月12日14时28分北川邓家小学的完全细节,但从邓丽君的叙述中仍然知道:由于从小患上小儿麻痹症,左腿行动不便的邓丽君一直是被允许在课 前十分钟整理活动中下楼上厕所的,那天她独自地缓缓下楼,从三层楼高的教室里刚刚走到空地,刚看到太阳影子,地就开始吼,开始动。

她拼命开始跑,虽然效率不高,仍然连滚带爬到达旁边的竹林,又听到体育老师在叫“快到操场”,就和另几个女生跑到操场,三分钟后,这里就聚齐了全校483名学生。

后来我们设想,小儿麻痹的邓丽君真幸运,要是那天她课前没因身体原因去上厕所,也许会被挤倒,也许情急之下会跳楼,也许会有什么不测,如果这样,一个奇迹 就不会出现了,奇迹是——在单位地域死伤最严重的北川大地震中,虽然北川一中教学楼迅速淹没二千多名学生,但邓家小学483名学生一个都没有少。

而且,以肖晓川带队的9名老师携无家长认领的71名学生历经两天一夜,在无水无粮无工具的情况下,先是困守一处山坡,后来翻越水洞子、景家山、杨柳坪三座(之前媒体报道成两座)海拔最高达2000多米的大山,其中还有一名4岁多的学前班孩子,最后到达绵阳。

关于那个71名学生翻过三座大山和原始森林逃生的奇迹一直被流传,这两天,我一直在绵阳至北川转悠,我只想告诉更多的细节,少一些形式化的英雄色彩,多一点真实的人性色彩。

那天同一时间,肖晓川正在办公室看书,发现书动得厉害,另一侧的史少先正在教学楼巡视,学校负责人的他俩很害怕,但拼命开始吼“快到操场”……我不知道他 们怎么能那么科学的组织学生逃生,后来向逃生专家询问过,包括蹲下、靠两侧下楼,进入操场以及后来制作简易帐篷,都符合逃生标准手册,但他们从来没学过, 现在也不知道这就是标准逃生手册。

我觉得这个长途迁徙的故事很像《黄石的孩子》,韩寒说很像他曾经看到过的一个抗战时把动物园动物们转移到大后方的电影,在交谈中我发现中间并不像记者们写 的那么大无畏,是种革命的浪漫主义情节,他们有怀疑、恐惧、绝望、麻木,但最后他们坚持下来了,没有伟大胜利,但修成无量功德。

左为史少先,右为肖晓川,感谢他们。对了,他们及学生们穿得很新,这因为汉龙集团在绵阳为所有人买了整套新衣,肖晓川说,他从来没穿过这么高档的衣服

肖晓川在四川卫视和中央台里已说了很多,但他私下向我承认一句从未对记者说过的话,“那时我很害怕,很害怕,我说是世界末日来了,我想活不过今天了”,旁 边的史少先说他也很害怕,“那架势,完全让人莫得法镇定,真的就是快死了,我以为自己活不过今天了”,这是一个真实的人性,而不是这两天记者们简单讴歌的 英雄形象,但是前者更有说服力。因为他们最后带着孩子们逃出来了。

蹲在操场里仍很危险,看山下县城已夷为平地,山上还有泥石流,地面还有余震,“要活命就必须向高处转移”,这是一个简单的逻辑,经过观察发现远处有一个缓 缓的山坡暂时不会被淹没,他们动员学生一起上去了。虽然肖晓川从没有砍过竹子,但那天他去砍了很多竹子,史少先跑到废墟里捡了几块农民常用的编织口袋布, 靠着山丫子以三角原理做了一个帐篷,他们从未做过帐篷,帐篷面积太小,483名学生只能背靠背坐了一夜,一动都不能动。

如果另外有人看见黑暗中的那个光景,一定会震撼——483名孩子躲在一个狭小的简易帐篷下一动不动,沉默不语,四周山石滚动发出巨大的响声,雨哗哗地下着,大地在颤动,孩子们很像躲避风暴的的羊羔,而老师就是牧羊人。

“山上一点光亮都没有,完全黑了,听得到大石头从山下落下来的声音闷闷的像敲鼓,很恐怖”,再后来,居然有一些孩子却开始叽叽喳喳“摆条”(摆龙门阵), 邓丽君对我叙述时一直在微笑,她说她们当晚在回忆谁怎么跑下楼的,谁还摔一跤,打趣谁还哭了喊妈妈……她还告诉我她很喜欢自己的名字。

见证过无数灾难的优秀记者唐建光说,其实“灾难”永远不会是想像中那种情景,这次我明白了,特别是人类的情绪,人总会在极度灾难下缓和自己的情绪。

借住在绵阳中学英才学校一处过道里,这样更安全,也利用心理有创伤的孩子们从灾难环境中恢复。据说昨天又有余震,孩子们逃跑的速度和秩序比上一次好多了,他们已很有避难经验了,想想都心痛

我曾经很不理解9名老师要带着没有家长认领的71名学生翻山越岭的原因,我问过“你们为什么不就地等待”,后来知道,“我们理解县领导啊,他们还得救埋在 下面的人,一时顾不到我们了,我们只能自己救自己”。关于徒步翻山逃生的决定没有任何争论,虽然很危险,但留下来更危险,只有赌了。

他们的逃生路线是:水洞子——景家山——杨柳坪,是依次上升的三座大山,,除了余震和山体裂缝、泥石流、暴雨外,因海拔高会出现高山反应,而且有一大片原始森林。

中途有一个女老师因挂念婆婆退出了,人们理解她,有一个叫吴明艳的老师有严重气喘,在山上脸发青快死的样子,人们问她“行不行”,她很害怕很绝望,但说“一定要走下去,不能死在这里”。他们继续走着。

震后的异象出现了,“第二天白天时,天突然完全暗下来了,就像黑夜一样,一点光都看不到,就是伸手不见五指”,他们突然发现黑森林里一大片怪异的挥之不去 的浓雾扑来,两米之外根本看不见同伴,昨天他们请我理解他们的迷信,因为那阵势太可怕了,完全就像一个巨大的鬼魂扑来,“阴冷,冷到骨头里去了,农村里有 这样的传说,所以我们很怕这个巨大的东西把人的魂勾走了,勾走了魂就没命了,所以我们就让学生们互相大声喊叫着名字,然后大声地答应着,这不仅是壮胆,是 让互相知道还活着,还有人气,让那东西拿我们莫得办法,不把魂给我们勾走了”。

李主任为我们提供的英才中学为受灾学生准备的课程表,他说,里面有很多开导心理的课程,转移孩子们的注意力。

他们就这样大声的在林子里叫着,他们的魂果然没被勾走,很久之后,他们走出那片巨黑色的浓雾。

剩下的山路更难,当地有句话是“养女莫嫁景家山”,是说这段路太难走把女儿嫁过去连路都走不得,还有一句话是“男人要穿脚马子”,就是说男人走这段路都得穿着一种用篾条编的东西才不会掉下悬崖。

山体已经出现裂缝,旁边有泥石流在下流,更要命的是,原来依稀还记得的山和路,这时却和以往不一样了,他们很奇怪,“山形变了,本来记得是往上走的路,发 现却变成往下走了,本来是左转的,却变成了往上走,要是按原来的方向走就会掉到悬崖下”,当天晚上,我们才知道这是因为印度洋板块对喜马拉雅山的山体冲 击,造成了类似造山运动的变化。

昨天听说一个有真实意味的笑话,地震那天,有两个北川老太太正站在靠得很近的山丫子上摆龙门阵,正讲着东家长西家短时,就觉得必须说得很大声说对方才听得 见,一看,原本十几米的山丫子距离变成了近一百米远,这就是山体变化;有营救者震后在灾区看见一座山,问农民为什么对面这座山一棵树都不长,那么新,农民 想了想,说:“新吗?很新,我也是第一天看见它”。

中间睡着的红衣女孩叫邓青,她父母在地震中双亡,这几天她很自闭,睡觉时也总是双手紧紧环抱,心理医生说这证明她没有安全感

因为泥泞,这段路上鞋越走越少,每过一会都有人喊鞋丢了,但人却一个都没有减少,最小的只有不到5岁,大的就拉着小的跑,老师们还帮着找鞋,偷农家的鞋。

两天一夜他们71名学生加8名老师的食物是两袋夹心饼干,和几瓶水,“怎么吃?我们老师用手指给每个人掐一小块,让学生只能喝一小口,这叫吊命,留着元气 就可以活命,前头的人在吃时,排在队列后面的学生吞口水的声音都能听得见,那时候,我们老师眼泪一下就流下来了”,肖晓川说。

我问他们一路上怎么鼓励学生,“除了坚持就是胜利,就是哄他们骗他们,大部分学生都没去过山下的绵阳,我们一路上就喊,加油啊,绵阳有好多糖等着你们,还 有冰激凌,还有面包,可乐,那些娃娃小,就流着口水跟着跑,我们还说下面有警察叔叔在等着你们,山里的孩子平时看电视都知道警察叔叔是专门救人的,崇拜他 们,就拼命往山下跑”。

令人悲凉的是,中途碰到过两家有能力收留学生的地方,但主人拒绝了,由于种种原因,我没有得到这两家店的名字。

到了营救地点后,其实第一时间也根本没有传说中的糖,冰激凌……人们确实太忙了。

经过两天一夜,翻山越岭的孩子们在老师带领下终于看见任家坪收费站,看见正在那里搜救的指挥部,当时北川县金大中县长问“你们有多少人活着”,肖晓川说“一个都没有少”,金县长惊呆了,说“我们都以为你们全部都不在了”。

那天晚上孩子很困,坐在大巴上睡死过去,摇都摇不醒,但是车到绵阳时,体力已到极度虚脱的孩子们却兴奋异常,没有一个愿意去睡觉——对于这群山里长大的孩 子们而言,这是他们出生之后看到的第一个大都市,虽然绵阳也被地震遭到破坏,但孩子们仍惊讶这个城市的漂亮,就像天堂。从地狱来的孩子,看到什么地方都像 天堂。

我没有忍心去问孩子们关于父母和那场灾难的细节,怕引起心理刺激,拍照时,我告诉女孩们:你们那两天真勇敢,你们 是英雄,现在太阳出来了,什么都难不倒你们,让我们一起说茄子,让我看看你们雪白的牙齿好吗,她们很可爱,纷纷露出洁白的牙齿,连一直很自闭的邓青也第一 次露齿大笑起来

昨天我在绵阳中学看到这些孩子,他们大多很快乐,我问过学校老师为什么这样,宣传部李主任介绍了这几天他们制订的心理课,包括“注意力转移”“宣泄”“武 术”“看猫和老鼠”……但一个老师说,这也是因为孩子们到现在为止没有看到过死人,换成北川中学的幸存者,肯定不会这么快乐,这么容易恢复情绪。为邓家小 学的孩子们没看到过死人感到幸福。

故事到这里还没有进入真正的核心, 因为,如果那天邓家小学像北川一中那样在几秒钟内就被震垮,后来的成为传说的长途翻越也就不存在,那天一个学生都没有死,甚至没有什么重伤,我了解到,那 座十年来正式名字叫“刘汉希望小学”的教学楼不仅楼没有垮,奇迹是,连教学楼正面那块长十几米、高三层楼的玻璃幕墙一小块都没有碎,与在这场大地震学校教 学楼动辄压死几百名学生相比,这是一个奇迹,我很好奇,这是谁修的房子?

于是我知道一个叫“汉龙集团”的公司,它是在十年前出资捐赠邓家小学的企业,老板叫“刘汉”,总经理叫“孙晓东”,经办监理学校修建工程的人是当时的集团 办公室主任,学校里很多人在谈及这场幸运的逃生时,都在感谢这位监工的“办公室主任”,昨晚我找到这位办公室主任,他讲了一些故事,但坚决不让我透露他的 姓名,也不要表扬他,因为他不想引起不必要的麻烦。因此下面我只能用X先生来代指为什么“刘汉希望小学”在这次大地震中成为唯一没有压死学生的学校?或者 说奇迹最开始的一步是什么,我得知以下内情:

一、十年前,刘汉和孙晓东对下属X先生说,“亏什么不能亏教育,这次你一定要把好质量关,要是楼修不好出事了,你就从公司里走人吧”。

二、十年前一天,监理工程的X发现施工公司的水泥有问题,含泥土太多,因为X曾经是生产水泥的一家公司的副老总,经他手灌注的水泥至少有五十万吨,是绝对 的行家,所以他要求施工公司老总必须把沙子里的泥冲干净,也不能用扁平的石子,从建筑专业而言,扁平石子混在水泥灌注过程中是灾难,水泥结实度大打折扣, 他对施工队大发雷霆,愣让他们把沙子里的泥冲干净,把扁平石头全部拣走。

三、一次会议中,他在追问工期拖延时,发现施工公司负责人眼神不对,才得知原来是有关方面的款项没有及时到位。按捐赠原则,企业捐款必须先到当地有关部 门,再由有关部门把企业的钱下发到具体施工公司中去,但施工公司并没有从有关部门及时拿到钱(具体人们想必都能猜到,这可是中国式惯例),于是X先生又发 火了,穷追不舍,终于让款项到位。

四、在奠基仪式上,由于某个原因工期又得拖延,X又发火了,他找到有关部门,据理力争,9月19日,学校终于平出一块崭新漂亮的操场,他说看到那块操场铺平后很开心,而那块操场,就是十年后483名学生逃生的地方。

那段时间人们总能听到X在吵架,在发火,在追款项,当我对他核对这个事实时,他要求我一定要在“吵架”上加上引号,否则引起不必要的麻烦,他说,你晓得的,我不能说得太多。

我想我已没必要说得太多,一个深知捐赠中国希望小学潜规则的人士说,虽然学生们全部逃生是个奇迹,但汉龙集团的X先生能够通过“吵架”把钱“吵”到正规用 途上更是个奇迹,在往常,吵架根本没用,钱还是不能够及时到位……(为什么这次学校倒塌这么多,这里恕我暂时不能直言,但稍有常识的人想必也知道)

由于X先生反复叮嘱我不能写他的名字,所以我们在邓家“汉龙希望小学全部成功逃生”的故事后,就只能记住以下名字:刘汉、孙晓东、肖晓川、史少先、陈世荣,罗中会,母贤莹,沈长树,赵义辉,母广兰,吴明艳。

刚才,X先生给我发来一则短信,未经他同意,我就刊发在我博上,目的是让有的人有的部门看看,也提醒以后有人想修希望小学的人看看:

打扰您了,可以负责的告诉你,领导安排下在绵阳五所希望小学建设均由我亲手经办,而此次大地震未能撼动一幢,五所学校巍然屹立!师生未损毫发!请你来绵阳做客!

这次邓家刘汉小学无一人死亡成为一个奇迹,让我明白一个道理:所谓奇迹——就是你修房子时能在十年前,想到十年后的事情。

PS:刚去了现场的X先生,现在因不堪悲痛已由辽宁一个心理医生调节着心理。

PS:网 易造谣说:“黄健翔李承鹏担心捐款被吞”,这是个假新闻,建议网易以后改名“网难”,事实是,很有善心的成都置信地产集团公司出资专款一千万和各出20万 人民币的健翔、韩寒、李承鹏共建三所“安心小学”的仪式,就是在红十字机构里认证的,我们怕么?我早就说过援救是一件有技术含量的事情,放心吧,我们有的 是技术含量面对各种事情。我们将在三所学校修建过程中参与设计和监工,我们以人格发誓——教学楼寿命将比我们的寿命更长。

又PS一个: 成都置信房地产集团这次总捐款达1700万人民币,相信他们会和汉龙集团、X先生一样,把孩子的生命放到第一位,但是昨天成都一家报纸在没有派记者到红十 字捐赠现场的情况下,把这条严肃的事情写成了很娱乐的新闻,整个报道和基本事实出入较大(因托人找我解释,顾及到有关人士的面子,我就把刚才的PS删掉 了),我真的不在乎是否把我的名字“等”掉,否则我也不会拒绝包括中央台浙江台四川台成都台在内那么电视台的采访,我不想做秀,不过,请在报纸上更正一 下,把“某房地产商”改为“成都置信”好么,毕竟,愿意给孩子修“安心教学楼”的房地产商太少了。

求您了。

另附我所知道的一些朋友捐款的情况(声明,我反对以数字衡量爱国,他们因个人能力所以捐的有多有少,但都是一份赤子之心,赞;但一分钱不捐的人,有点太说不过去了吧):

我供职的足球报,编辑吴强2000元、李璇1000元,实习生陈晓闵800元,总编刘晓新正认领孩子(以下略)……

润亚公司的曾出演《血色浪漫》《大刀》正导自演抗日大戏《中天悬剑》连亦名,《爱了散了》演员徐百卉,周扬、制片主任刘勇及剧组员工捐1.3万。

高德公司徐彥博捐5000元。

小马奔腾影视公司李明:个人10万,公司其他员工捐出不低于10万。

新浪记者刘峰1000元。

我邻居李烨捐1000元。

文化娱乐评论人谭飞3000元,曾子航500元。

无业人员,我朋友朱亚捐2000元。

我家保姆丁春燕捐50元

地震实录:4、灾难时也有一些好消息 3、亲历北川记 2、刚从北川回来 1、我听见地震的叫声大地摇晃

与大师见面 -- 2008年哲思自由软件峰会

By , 2008年5月16日 10:08 下午

2008年哲思自由软件峰会

2008年5月24日-5月31日 中国 北京-上海-西安

自由软件强调的是用户运行、学习、修改和发行软件的自由,而不是价格。具体来讲,自由软件赋予了用户如下4个自由度:

  1. 出于任何目的,运行软件的自由。
  2. 学习软件如何工作,以及为了满足自己的需要修改软件的自由。(显然,这个自由度的前提是能够访问软件的源代码)
  3. 为了帮助你的邻居,将软件拷贝给他的自由。
  4. 为了能够让整个社团受益,公开发行改进之后的软件的自由。(显然,这个自由度的前提是能够访问软件的源代码)

Richard Stallman在1983年发起了自由软件运动。经过25年的发展,自由软件已经在各个领域取得了巨大的成功。在我们的日常生活和工作中,自由软件已经成为不可或缺的一部分。

为了帮助中国自由软件社区,甚至整个IT产业充分理解自由软件,哲思自由软件社区将于2008年5月24日-5月31日在北京、上海和西安三地分别 举办“2008年哲思自由软件峰会”。参加此次峰会的演讲嘉宾有:Richard Stallman、倪光南、霍亮、王星耀、Akira Urushibata、李欣、徐继哲等。峰会的赞助商是SUN,Intel和新浪网;峰会的合作伙伴是:自由软件基金会、GNU工程、互动在线、华章公 司、TechWeb、China-Pub、CSDN、清华大学、Unix-Center.net、ChinaUnix.net等。

哲思自由软件峰会是开放式活动,参会者不需提前报名,免费参加。欢迎大家踊跃参加哲思自由软件峰会!

哲思自由软件峰会-上海站-复旦大学

哲思自由软件峰会-西安站-西安交通大学

哲思自由软件峰会-北京站-清华科技园

哲思自由软件峰会-北京站-清华大学

关于哲思自由软件峰会的详细信息请访问哲思自由软件社区网站:http://www.zeuux.org

光纤断了

By , 2008年5月13日 12:21 上午

CERNET IDC到公网的光纤线路意外断线,Sun 中国技术社区、NetBeans中文网站、Unix-Center.Net等一系列网站暂时无法对外提供服务。

Building Campus Communities

By , 2008年5月12日 6:06 下午

Recently many Sun campus ambassadors expressed the intention to establish Sun Clubs in their colleges / universities, and leverage the Sun Clubs to promote Sun’s product and technology. Within Sun, some of my colleagues also share the same thoughts. In this article, I would like to share with you my opinions on this aspect.

In recent years, more and more companies are building their communities in university campuses. The earliest adventure seems to be the Microsoft Clubs sponsored and advised by the university relationship unit of Microsoft Research Asia (MSRA). The most recent attempt is Google Camp, which is advocated and promoted by Dr. Kaifu Lee, the founding president of Google China. Before discussing the possibility of establishing Sun Clubs, I would like to review the experiences from our friends such as Microsoft and Google, which can be of references for our future work.

The first Microsoft Club was founded in Sichuan University in October 2000. By May 2004 there were already 34 Microsoft Clubs in China. To support the variety of events in universities, MSRA launched several programs such as “Imagine Cup” software development competition, “Tomorrow’s Star” internship, student MVP (Most Valuable Person) selections, summer / winter camp, and practicing projects. It was through these programs that club members, especially the leading members, came to realize the value of participation and leadership in a Microsoft Club. In 2003 MSRA university relationship unit began to recommend outstanding club members for the MVP selection process. By 2007 there were 35 club members recognized as Microsoft MVP. The Microsoft student practicing project program was started in 2002. By 2008 Microsoft received 1700+ project applications, sponsored 450+ projects, and 30+ students became employees of Microsoft through this program. In execution, Microsoft provides funding and engineering resources (engineers to deliver technical presentations, equipments, books and CD’s) for the student activities (including technical exchange, software development, team building, and outing), while the club leaders are responsible for event planning, delivery, and reporting. The goal-oriented management method significantly stimulates the enthusiasm and creativity of club leaders, which results in very active club activities, and Microsoft Clubs becomes famous among student communities. During the past two years the activity and influence of Microsoft Club appears to be declining – possibly due to personnel changes at MSRA. However, most of the Microsoft Clubs in China are still in healthy shapes.

The first Google Camp was founded in Beijing University of Aerospace and Aeronautics in June 2006. Dr. Kaifu Lee attended the inauguration ceremony and delivered a keynote on “7 Most Demanded Qualifications in 21st Century”. During the next 6 months, like bamboo sprouts after a heavy rain in spring, 20+ Google Camps – along with Dr. Lee’s preaching, fermented campuses across China. As compared to Microsoft, Google seemed to have a different point of view regarding the future of Google Camps. As said by Dr. Lee, “Google Camps should be run by its members, and we expect good ideas. Google is responsible for provide funding.” Well, after the honey-moon fantasies, most of the Google Camps became silent and miserable. Except for several clubs that maintain a google relationship with Google, most of the clubs do not know what to do, or do not have the resource to do what they want. It seems to me that the country-wide inauguration of the many Google Camps across China in 2006 was simply a public propaganda, with a clear objective to promote hiring for the new-born Google China. Well, Google did achieved its hiring goal through these events, but might actually harvest an negative impact to its image in the long run.

What do we learn from Microsoft and Google? The most obvious is – money alone is not enough in building campus communities. Being one of the most valuable companies in the market, Google does have the money needed to build student communities. The problem with Google Camps was: Google set its goal too close. As we all know, the objective of any investment of a commercial company is to fulfill the interests of its share holders to the maximum. The interests mentioned here can be the elevation of the image of the company, the adoption of its key technologies, or the sales of its products, etc. However, this process, while maximizing the interests of the share holders, needs to provide benefits for the participants. The benefits mentioned here can be the acquisition of new knowledge, being known or respected by others, or increasing competitiveness in related fields. A cooperation relationship can not survive in the long run unless it brings value for both sides. In the case of Google Camp, Google achieved its goal before a trustworthy and reliable relationship can be established between Google Camp and Google. Because the lack of a long term vision, Google was reluctant to inject more fuel to the camps, and the relationship was discontinued. It is fair to say that the destiny of Google Camps was predefined on the very first day.

I don’t want to re-emphasize the importance of campus communities for Sun, which should be self-explaining. We have been thinking about the possibility of building campus communities for a while, but our approach will be different from those of Microsoft and Google. Microsoft and Google chose to established their own communities, while we will choose to join existing communities. In specific, we will joint the existing science and technology society, open source club, Java club, and Linux clubs, and provide the necessary resources for their activities. For example, we will provide funding for community activities, provide training for their major members, send engineers to deliver technical presentations, and provide internship opportunities for outstanding community members. In other words, by cooperating with existing campus communities, we provide students the opportunity to learn and use Sun’s product and technology, therefore acquiring new knowledge and enhance self-competitiveness. At the same time, Sun’s product and technology will be promoted and adopted in universities. Win-win, that is the word we would use to describe this relationship.

Microsoft Clubs and Google Camps are both exclusive communities. In other words, their subject matters are limited to the the product and technology from Microsoft or Google. This exclusiveness is similar to that of a religion – when a person is tagged with a certain religion, he/she will automatically reject thoughts and believes from other religions. We believe that this exclusiveness is incompatible with the open source spirit we are promoting. There are both pros and cons in different product and technologies from different vendors either in design, implementation, or application. All companies tend to demonstrated the best side of their product and technology, and avoid their shortcomings during the show. As a students, he/she should study the product and technology from various vendors without preference, and form his/her own option through comparison and critic. If a student decides to love Sun’s product and technology, we hope that this is not because he/she has only the opportunity to study and use ours.

So, Sun campus ambassadors, you should start looking for your community right now. Find an active organization in your campus – science and technology societies, open source clubs, or Java clubs. Join them, become part of them, and contribute to their growth. Tell them that recently you have learn something on OpenSolaris, MySQL, VirtualBox, or Java, and are willing to share with your fellow members. When the members of your organization have learn the basics of OpenSolaris, MySQL, VirtualBox, or Java, you will also be able to invite engineers from Sun to deliver more technical presentations and workshops. I believe, other than those exclusive organizations, no one will reject a sharing heart.

I like Korean movies, especially Dae Jang-Geum featuring the famous royal chef and the first royal woman physician during Li’s Empire in Korea in 16th century. When talking about cooking, Dae Jang-Geum mentioned that the most important qualification of a chef is sincerity – a chef needs to consider the needs of his/her patron at all times, even if he/she is simply presenting a glass of water. We as technology evangelists needs to possess the above-mentioned sincerity. Even if we are presenting a very simple topic/subject, we need to consider the needs of the audience. Take OpenSolaris for example, a student wants to know how to provide FTP service with OpenSolaris, how to create websites with OpenSolaris, and how to build applications for OpenSolaris. For any operating system, its users can be roughly categorized into four groups: desktop users, system administrators, application developers, and kernel developers. This is a pyramid-like structure. All system administrators, application developers, and kernel developers are desktop users. Both application developers and kernel developers need to know about system administration, while kernel development can be regarded as a special breed of application development. I am not suggesting that kernel developers are superior as compared to other users. Rather, I am suggesting the importance of desktop users, system administrators, and application developers, because they represent the majority of our audience. Therefore, we should introduce more content related to desktop usage, system administration, and application development, and less content related to kernel development – simply because this is not what the audience want. As to the question of whether OpenSolaris is much better than others, we should leave this to the judgement of our audience.

I believe that the team in China has began to possess the sincerity as defined by Dae Jang-Geum.

Chinese Version: 2008.05.10, midnight, on flight CA 986
English Version: 2008.05.13, Tsinghua University

Panorama Theme by Themocracy