2010年5月22日星期六

原来胡适和季羡林年轻的时候也很堕落

原来胡适和季羡林年轻的时候也很堕落
在bbs上看到他们年轻时候写的日记,原来大师们年轻的时候也有混的时候

季羡林的清华园日记:

二日

今天才更深切地感到考试的无聊。一些放屁胡诌的讲义硬要我们记!
大千走了,颇有落寞之感。

十三日

昨夜一夜大风,今天仍然没停,而且其势更猛。

北平真是个好地方,唯独这每年春天的大风实在令人讨厌。
没做什么有意义的事――妈的,这些混蛋教授,不但不知道自己泄气,
还整天考,不是你考,就是我考,考他娘的什么东西?

二日

今天作Faust的Summary
无论多好的书,even Fausteven Faust。
只要拿来当课本读,立刻令我感觉到讨厌,这因为什么呢?我不明了。
过午看女子篮球赛,不是去看想[打]篮球,我想,只是去看大腿。
因为说到篮球,实在打得不好。

三日

今天整天都在预备Philology,真无聊。我今年过的是什么生活?不是test,
就是reading report,这种生活,我真有点受不了。

四日

今天早晨考Philology,不算好。
过午作Faust的Summary,也不甚有聊。
这几天来,一方面因为功课太多,实在还是因为自己太懒,H�lderlin的诗
一直没读,这使我难过,为什么自己不能督促自己呢?不能因了环境的不顺利,
就放弃了自己愿意读的书(写文章,也算在内)。

五日


今天又犯了老毛病,眼对着书,但是却看不进去,原因我自己明白:因为近几
天来又觉到没有功课压脑袋了。我看哪一天能把这毛病改掉了呢?我祈祷上帝。
零零碎碎地看了点H�lderlin,读来也不起劲,过午终于又到体育馆去看赛球。

十五日

开始作论文,真是"论"无可"论"。
晚上又作了一晚上,作了一半。 听别人说,毕业论文最少要作二十页。
说实话,我真写不了二十页,但又不能不勉为其难,只好硬着头皮干了。

二十五日

……今天开始抄毕业论文,作到[倒]不怎样讨厌,抄比作还厌。……

二十六日

今天抄了一天毕业论文,手痛。……

二十七日

论文终于抄完了。东凑西凑,七抄八抄,这就算是毕业论文。论文虽然当之有愧,
毕业却真的毕业了。
晚上访朱光潜闲谈。朱光潜真是十八成好人,非常frank。
这几天净忙着做了些不成器的工作。我想在春假前把该交的东西都做完,旅行回来
开始写自己想写的文章

胡适的胡适留学日记,更搞笑:

7月4日
新开这本日记,也为了督促自己下个学期多下些苦功。先要读完手边的莎士比亚的《亨
利八世》……

7月13日
打牌。

7月14日
打牌。

7月15日
打牌。

7月16日

胡适之啊胡适之!你怎么能如此堕落!先前订下的学习计划你都忘了吗?
子曰:"吾日三省吾身。"...不能再这样下去了!

7月17日
打牌。

7月18日
打牌。

2010年5月10日星期一

躺下了,睡不着,几点安全忠告 (zz)

发信人: yeung (流星雨), 信区: AutoWorld
标  题: 躺下了,睡不着,几点安全忠告
发信站: 水木社区 (Tue May 11 02:14:36 2010), 站内


已经躺下了,但是想到这位我也许不认识的同级同学一家碰到的惨剧,实在睡不着,
上来给大家一些我个人的忠告,希望能对各位有些微帮助。

1.时间选择:尽量不要在晚上10:00之后和早上7:00之前驾车上路,这段时间大货车
纷纷上路(交警下班了),车速较快,非常危险,尤其是凌晨,夜店杀手酒后上路
收割生命,大货车司机疲劳驾驶昏昏欲睡,是危险期中的危险期。

2.车型选择:
a.车重、车型:说ncap的测试是扯淡是不公平的,但是其测试的确有非常不科学的一面,
测试中是受测车型撞相对无限重量的墙,因此轻车比较容易取得好成绩(自身动能小),
而实际车辆相撞则是重车明显占优(就不论证了,想想大货车或者校车撞墙成绩和
实际车祸结果)。因此,应该尽可能选择较重较大车型,实际统计数据也证明了这一点。
b.年代:汽车技术也在不断进步,设计较新车型安全性较老车型都有明显提升,也应
尽可能选择新车型(捷达 vs 伊兰特,尽管伊兰特算不上安全性出色车型,但是结果
也很容易想象)
c.车价:穷人命贱是个悲哀的现实,安全性基本上和车价正相关,应在预算允许范围
内选择较为高档车型,可以说,这个g37如果追得是个奔驰s或者途锐,肯定是g37更加
危险。

3.在前两者无法改变的情况下,我还有一些关于安全驾驶的建议。

a.安全带,无论如何强调安全带的重要性都不为过,气囊等一切其他被动安全措施的
总和,也远远比不上安全带的作用,赶快扔掉那些自欺欺人的想法和欺骗汽车安全带
提示系统的垃圾,
养成全车人都系安全带的习惯,这会救你一命!

b.儿童安全座椅,对于儿童来说,这个东西的重要性不亚于成人安全带。没有安全座椅
的话,事故时儿童会被像炮弹一样发射出去,即使撞击速度不是很快;如果让儿童使用
成人安全带,事故时安全带会勒住儿童的脖子;另外,车内的侧气帘和气囊高度都是
为成人设计的,只有安全座椅厚厚的侧翼和牢固的四点安全带,才能最大限度保护儿童。
别考虑正品座椅的价格,别说什么小孩不愿意坐的屁话,别心存短途不会出事的侥幸,
确保儿童一上车就坐进安全座椅并牢固固定!!!!

c.坐姿,应保持较为竖直的坐姿,头部要自然紧贴在座椅头枕上,保持头部到车辆顶棚,
一拳至一拳半的距离。过于倾斜的坐姿会导致事故时人从安全带下溜出;
头枕可以有效防止追尾时颈椎折断等致命情形;头部到顶棚距离过小,在翻车时很可能
是致命的,但是距离过大会导致坐姿过低,影响视线。
如果你的座椅没有头枕,赶快配上一个合格的头枕!!
别相信“老司机”躺着开车的所谓经验!!

by mopey
另外补充一点,头枕的合适高度
与头部接触的位置应该是在与耳朵齐平的位置,过高或过低都起不到防护效果
PS.带有主动式头枕的车更好,当然也更贵

d.窗户,打开的玻璃窗更不安全,事故时,坚固的车体是唯一的生命保障,被甩出
的人员其死亡率几乎是100%。奔驰的预安全系统,在碰撞发生前所作的主要工作就是
竖起座椅、关闭所有窗户、预张紧安全带,现在你知道为什么要做这些事情了。
平时保持车窗关闭或者微开,可以使用空调的通风功能进行通风。

by 秀才搬家
e.观察,行车途中应时刻关注车内后视镜,随时掌握后方状况,千万不要无视后视镜
的重要作用,尤其是在等红灯的时候和高速公路堵车的时候。一旦发现异常,应及时
采取措施。



希望以上忠告能对大家有所帮助,//bless all



























--

※ 修改:・yeung 于 May 11 02:56:04 2010 修改本文・[FROM: 211.167.38.*]
※ 来源:・水木社区 newsmth.net・[FROM: 211.167.38.*]

使用 D-BUS 连接桌面应用程序

使用 D-BUS 连接桌面应用程序

帮助应用程序彼此通信

developerWorks
文档选项
将打印机的版面设置成横向打印模式

打印本页

将此页作为电子邮件发送

将此页作为电子邮件发送


级别: 初级

Ross Burton (r.burton@180sw.com), 软件工程师, OneEighty Software, Ltd.

2004 年 8 月 19 日

D-BUS 是一个大有前途的消息总线和活动系统,正开始深入地渗透到 Linux 桌面之中。了解创建它的原因、它的用途以及发展前景。

D-BUS 本质上是 进程间通信(inter-process communication)(IPC)的一个实现。不过,有一些 特性使得 D-BUS 远远不是“只是另一个 IPC 实现”。有很多不同的 IPC 实现,因为每一个都定位于解决 特定的明确定义的问题。CORBA 是用于面向对象编程中复杂的 IPC 的一个强大的解决方案。DCOP 是一个 较轻量级的 IPC 框架,功能较少,但是可以很好地集成到 K 桌面环境中。SOAP 和 XML-RPC 设计用于 Web 服务,因而使用 HTTP 作为其传输协议。D-BUS 设计用于桌面应用程序和 OS 通信。

桌面应用程序通信

典型的桌面都会有多个应用程序在运行,而且,它们经常需要彼此进行通信。DCOP 是一个用于 KDE 的 解决方案,但是它依赖于 Qt,所以不能用于其他桌面环境之中。类似的,Bonobo 是一个用于 GNOME 的 解决方案,但是非常笨重,因为它是基于 CORBA 的。它还依赖于 GObject,所以也不能用于 GNOME 之外。 D-BUS 的目标是将 DCOP 和 Bonobo 替换为简单的 IPC,并集成这两种桌面环境。由于尽可能地减少了 D-BUS 所需的依赖,所以其他可能会使用 D-BUS 的应用程序不用担心引入过多依赖。

桌面/操作系统通信

术语“操作系统”在这里不仅包括内核,还包括系统后台进程。例如,通过使用 D-BUS 的 udev (Linux 2.6 中取代 devfs 的, 提供动态 /dev 目录),当设备(比如一个 USB 照相机)插入时会发放出一个信号。 这样可以更紧密地将硬件集成到桌面中,从而改善用户体验。

D-BUS 特性

D-BUS 有一些有趣的特性,使其像是一个非常有前途的选择。

协议是低延迟而且低开销的,设计得小而高效,以便最小化传送的往返时间。另外,协议是二进制的,而 不是文本的,这样就排除了费时的序列化过程。由于只面向本地机器处理的使用情形,所以所有的消息 都以其自然字节次序发送。字节次序在每个消息中声明,所以如果一个 D-BUS 消息通过网络传输到 远程的主机,它仍可以被正确地识别出来。

从开发者的角度来看,D-BUS 是易于使用的。有线协议容易理解,客户机程序库以直观的方式对其进行 包装。

程序库还设计用于为其他系统所包装。预期,GNOME 将使用 GObject 创建包装 D-BUS 的包装器 (实际上这些已经部分存在了,将 D-BUS 集成入它们的事件循环),KDE 将使用 Qt 创建类似的 包装器。由于 Python 具有面向对象特性和灵活的类型,已经有了具备类似接口的 Python 包装器。

最后,D-BUS 正在 freedesktop.org 的保护下进行开发,在那里,来自 GNOME、KDE 以及 其他组织的对此感兴趣的成员参与了设计与实现。





回页首


D-BUS 的内部工作方式

典型的 D-BUS 设置将由几个总线构成。将有一个持久的 系统总线(system bus),它在 引导时就会启动。这个总线由操作系统和后台进程使用,安全性非常好,以使得任意的应用程序 不能欺骗系统事件。还将有很多 会话总线(session buses),这些总线当用户登录后启动,属于 那个用户私有。它是用户的应用程序用来通信的一个会话总线。当然,如果一个应用程序需要接收 来自系统总线的消息,它不如直接连接到系统总线 —— 不过,它可以发送的消息将是受限的。

一旦应用程序连接到了一个总线,它们就必须通过添加 匹配器(matchers) 来声明它们希望 收到哪种消息。匹配器为可以基于接口、对象路径和方法进行接收的消息指定一组规则(见后)。 这样就使得应用程序可以集中精力去处理它们想处理的内容,以实现消息的高效路由,并保持总线 上消息的预期数量,以使得不会因为这些消息导致所有应用程序的性能下降并变得很慢。

对象

本质上,D-BUS 是一个对等(peer-to-peer)的协议 —— 每个消息都有一个源和一个目的。这些地址 被指定为 对象路径。概念上,所有使用 D-BUS 的应用程序都包括一组 对象,消息发送到 或者发送自特定对象 —— 不是应用程序 —— 这些对象由对象路径来标识。

另外,每个对象都可以支持一个或多个 接口(interfaces)。这些接口看起来类似于 Java 中 的接口或者 C++ 中的纯粹的虚类(pure virtual classes)。不过,没 有选项来检查对象是否实现了它们所声明的接口,而且也没有办法可以调查对象内部以使列出其支持的接口。 接口用于名称空间和方法名称,因此一个单独的对象可以有名称相同而接口不同的多个方法。

消息

在 D-BUS 中有四种类型的消息:方法调用(method calls)、方法返回(method returns)、信号(signals) 和错误(errors)。要执行 D-BUS 对象的方法,您需要向对象发送一个方法调用消息。它将完成一些处理并返回 一个方法返回消息或者错误消息。信号的不同之处在于它们不返回任何内容:既没有“信号返回”消息,也没有 任何类型的错误消息。

消息也可以有任意的参数。参数是强类型的,类型的范围是从基本的非派生类型(布尔(booleans)、 字节(bytes)、整型(integers))到高层次数据结构(字符串(strings)、数组( arrays)和字典(dictionaries))。

服务

服务(Services) 是 D-BUS 的最高层次抽象,它们的实现当前还在不断发展变化。应用程序 可以通过一个总线来注册一个服务,如果成功,则应用程序就已经 获得 了那个服务。其他应用 程序可以检查在总线上是否已经存在一个特定的服务,如果没有可以要求总线启动它。服务抽象的细节 —— 尤其是服务活化 —— 当前正处于发展之中,应该会有变化。





回页首


用例

尽管 D-BUS 相对较新,但是却迅速地得到了采用。如前所述,可以构建具有 D-BUS 支持的 udev 以使得当热插拔(hot-plug)设备时它可以发送一个信号。 任何应用程序都可以侦听这些事件并当接收到这些事件时执行动作。例如,gnome-volume-manager 可以检测到 USB 存储棒的插入并自动挂载它;或者,当插入一个数码相机时它可以自动下载照片。

一个更为有趣但很不实用的例子是 Jamboree 和 Ringaling 的结合。Jamboree 是一个简单的音乐播放器, 它具有 D-BUS 接口,以使得它可以被告知播放、到下一首歌、改变音量等等。Ringaling 是一个小程序, 它打开 /dev/ttyS0(一个串行端口)并观察接收到的内容。当 Ringaling 发现文本“RING”时,就通过 D-BUS 告知 Jamboree 减小音量。最终的结果是,如果您的计算机上插入了一个调制解调器,而且电话 铃响,则音乐音量就会为您减小。 正是计算机所追求的!





回页首


代码示例

现在,让我们来接触一些使用 D-BUS 代码的示例。

dbus-ping-send.c 每秒通过会话总线发送一个参数为字符串“Ping!”的信号。我使用 Glib 来 管理总线,以使得我不需要自己来处理总线的连接细节。


清单 1. dbus-ping-send.c
#include <glib.h> #include <dbus/dbus-glib.h> static gboolean send_ping (DBusConnection *bus); int main (int argc, char **argv) {   GMainLoop *loop;   DBusConnection *bus;   DBusError error;   /* Create a new event loop to run in */   loop = g_main_loop_new (NULL, FALSE);   /* Get a connection to the session bus */   dbus_error_init (&error);   bus = dbus_bus_get (DBUS_BUS_SESSION, &error);   if (!bus) {     g_warning ("Failed to connect to the D-BUS daemon: %s", error.message);     dbus_error_free (&error);     return 1;   }   /* Set up this connection to work in a GLib event loop */   dbus_connection_setup_with_g_main (bus, NULL);   /* Every second call send_ping() with the bus as an argument*/   g_timeout_add (1000, (GSourceFunc)send_ping, bus);   /* Start the event loop */   g_main_loop_run (loop);   return 0; } static gboolean send_ping (DBusConnection *bus) {   DBusMessage *message;   /* Create a new signal "Ping" on the "com.burtonini.dbus.Signal" interface,    * from the object "/com/burtonini/dbus/ping". */   message = dbus_message_new_signal ("/com/burtonini/dbus/ping",                                      "com.burtonini.dbus.Signal", "Ping");   /* Append the string "Ping!" to the signal */   dbus_message_append_args (message,                             DBUS_TYPE_STRING, "Ping!",                             DBUS_TYPE_INVALID);   /* Send the signal */   dbus_connection_send (bus, message, NULL);   /* Free the signal now we have finished with it */   dbus_message_unref (message);   /* Tell the user we send a signal */   g_print("Ping!\n");   /* Return TRUE to tell the event loop we want to be called again */   return TRUE; }

main 函数创建一个 GLib 事件循环,获得会话总线的一个连接, 并将 D-BUS 事件处理集成到 Glib 事件循环之中。然后它创建了一个名为 send_ping 间隔为一秒的计时器,并启动事件循环。

send_ping 构造一个来自于对象路径 /com/burtonini/dbus/ping 和 接口 com.burtonini.dbus.Signal 的新的 Ping 信号。然后,字符串 “Ping!”作为参数添加到信号中并通过总线发送。在标准输出中会打印一条消息以让用户知道发送了 一个信号。

当然,不应该向总线发送了信号而没有任何程序在侦听它们……于是我们需要:


清单 2. dbus-ping-listen.c
#include <glib.h> #include <dbus/dbus-glib.h> static DBusHandlerResult signal_filter        (DBusConnection *connection, DBusMessage *message, void *user_data); int main (int argc, char **argv) {   GMainLoop *loop;   DBusConnection *bus;   DBusError error;   loop = g_main_loop_new (NULL, FALSE);   dbus_error_init (&error);   bus = dbus_bus_get (DBUS_BUS_SESSION, &error);   if (!bus) {     g_warning ("Failed to connect to the D-BUS daemon: %s", error.message);     dbus_error_free (&error);     return 1;   }   dbus_connection_setup_with_g_main (bus, NULL);   /* listening to messages from all objects as no path is specified */   dbus_bus_add_match (bus, "type='signal',interface='com.burtonini.dbus.Signal'");   dbus_connection_add_filter (bus, signal_filter, loop, NULL);   g_main_loop_run (loop);   return 0; } static DBusHandlerResult signal_filter (DBusConnection *connection, DBusMessage *message, void *user_data) {   /* User data is the event loop we are running in */   GMainLoop *loop = user_data;   /* A signal from the bus saying we are about to be disconnected */   if (dbus_message_is_signal          (message, DBUS_INTERFACE_ORG_FREEDESKTOP_LOCAL, "Disconnected")) {     /* Tell the main loop to quit */     g_main_loop_quit (loop);     /* We have handled this message, don't pass it on */     return DBUS_HANDLER_RESULT_HANDLED;   }   /* A Ping signal on the com.burtonini.dbus.Signal interface */   else if (dbus_message_is_signal (message, "com.burtonini.dbus.Signal", "Ping")) {     DBusError error;     char *s;     dbus_error_init (&error);     if (dbus_message_get_args         (message, &error, DBUS_TYPE_STRING, &s, DBUS_TYPE_INVALID)) {       g_print("Ping received: %s\n", s);       dbus_free (s);     } else {       g_print("Ping received, but error getting message: %s\n", error.message);       dbus_error_free (&error);     }     return DBUS_HANDLER_RESULT_HANDLED;   }   return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; }

这个程序侦听 dbus-ping-send.c 正在发出的信号。 main 函数 和前面一样启动,创建一个到总线的连接。然后它声明愿意当具有 com.burtonini.dbus.Signal 接口的信号被发送时得到通知,将signal_filter 设置为通知函数, 然后进入事件循环。

当满足匹配的消息被发送时, signal_func 会被调用。不过,它也将会 收到来自总线本身的总线管理信号。要确定接收到消息时应该做些什么,仅仅需要检验消息头。如果消息是 总线断开信号,则事件循环终止,因为侦听一个不存在的总线是没有意义的。(告知总线信号已经处理)。 然后,将到来的消息与期望的消息相比较,如果成功,则解出参数并输出。如果到来的消息不是其中的任何一个, 则告知总线没有处理那个消息。

那两个示例使用了低层的 D-BUS 程序库,这个程序库是完全的,但是当您想创建服务和很多对象时, 使用起来冗长得令人厌倦。有正在开发中的 C# 和 Python 包装器,提供了非常接近于 D-BUS 的逻辑 模型的编程接口。作为一个示例,这里是用 Python 重新对 ping/listen 示例进行了更为精致的实现。 由于 Python 绑定模拟了逻辑接口,所以不可能不通过一个服务来发送信号。所以这个例子也要创建 一个服务:


清单 3. dbus-ping-send.py
#! /usr/bin/env python import gtk import dbus # Connect to the bus bus = dbus.Bus() # Create a service on the bus service = dbus.Service("com.burtonini.dbus.SignalService", bus) # Define a D-BUS object class SignalObject(dbus.Object):     def __init__(self, service):         dbus.Object.__init__(self, "/", [], service) # Create an instance of the object, which is part of the service signal_object = SignalObject(service) def send_ping():     signal_object.broadcast_signal("com.burtonini.dbus.Signal", "Ping")     print "Ping!"     return gtk.TRUE # Call send_ping every second to send the signal gtk.timeout_add(1000, send_ping) gtk.main() 

代码大部分是不言而明的:获得一个到总线的连接并注册 com.burtonini.dbus.SignalService 服务。然后创建一个最小限度的 D-BUS 对象, 这个对象每秒广播一个信号。代码比相应的 C 代码 更简单, 但是需要做 Python 绑定的工作。(例如,没有方法向信号添加参数。)


清单 4. dbus-ping-listen.py
#! /usr/bin/env python import gtk import dbus bus = dbus.Bus() def signal_callback(interface, signal_name, service, path, message):     print "Received signal %s from %s" % (signal_name, interface) # Catch signals from a specific interface and object, and call signal_callback # when they arrive. bus.add_signal_receiver(signal_callback,                         "com.burtonini.dbus.Signal", # Interface                         None, # Any service                         "/" # Path of sending object                         ) # Enter the event loop, waiting for signals gtk.main() 

此代码比 dbus-ping-listen.c 中相应的 C 代码 更简明,也更容易读懂。此外, 有些地方需要做绑定的工作(当调用 bus.add_signal_receiver 时,用户必须传入 一个接口和一个对象路径;否则会创建不正常的匹配器)。这是一个微不足道的缺陷,一旦这个缺陷被修正,就可以 去服务和对象路径参数除,这将进一步提高代码的可读性。





回页首


结束语

D-BUS 是一个轻量级但是很强大的远程过程调用系统,为希望使用它的应用程序带来最小的开销代价。 D-BUS 正由一组非常有经验的程序员进行积极的公开开发。D-BUS 得到了早期采用者的迅速接受,因而它在 Linux 桌面领域似乎有一个乐观的未来。



参考资料

  • 您可以参阅本文在 developerWorks 全球站点上的 英文原文

  • 在 D-BUS 主页可以找到资料、 下载、文档及更多内容。 

  • D-BUS 作为 freedesktop.org/的一部分进行开发。 

  • CORBA是一个强大的、标准化的远程过程调用规范。 

  • ORBit 是 GNOME 中使用的 一个 CORBA 实现。(GNOME 组件系统 Bonobo 构建于 ORBit 之上)。 

  • KDE 的远程过程调用实现是 DCOP。 

  • Project Utopia的目标是通过 D-BUS 实现 Linux 中硬件的无缝集成。 

  • 想要在电话铃响时减少您的音乐播放器的音量吗?您需要 ringaling.c (以及一个可以识别 D-BUS 的音乐播放器,比如 Jamboree)。 

  • Ross 以前为 developerWorks 撰写了 在 Python 中封装 GObject(developerWorks,2003 年 3 月)一文,该文展示了您如何在 Python 中 随时使用 C-coded GObject,而不管您是否特别精通 C 。 

  • 教程 Bridging XPCOM/Bonobo: Techniques(developerWorks,2001 年 5 月) 讨论了一些必要的概念和技术,它们用于将两个组件体系结构连接起来,以使一个体系结构中的组件可以在另一个环境中使用。 

  • 用 DCOP 连接 KDE 应用程序(developerWorks,2004 年 2 月)介绍了 KDE 的进程间通信协议及其脚本化。 

  • 使进程和线程同步 (developerWorks,2001 年 10 月)考察了利用进程间同步原语作为控制两个进程访问同一资源的一种方式。 

  • CORBA Component Model (CCM)概述了 CORBA 规范以及 CORBA 与其他组件模型的互操作性。 

  • 在 developerWorks Linux 专区 可以找到 更多为 Linux 开发者准备的参考资料。 

  • 在 Developer Bookstore Linux 区中定购 打折出售的 Linux 书籍。 

  • 从 developerWorks 的 Speed-start your Linux app 专区下载可以运行于 Linux 之上的经过挑选的 developerWorks Subscription 产品免费测试版本,包括 WebSphere Studio Site Developer、WebSphere SDK for Web services、WebSphere Application Server、DB2 Universal Database Personal Developers Edition、Tivoli Access Manager 和 Lotus Domino Server。要更快速地开始上手,请参阅针对各个产品的 how-to 文章和技术支持。 


关于作者

Ross Burton 是一位普通的计算机科学研究生,他白天编写 Java 程序和嵌入式系统。在晚上, 为了摆脱那令人生厌的工作,他更愿意编写 Python、C 和 GTK+ 程序。您可以通过r.burton@180sw.com与 Ross 联系。

2010年5月3日星期一

Google收购3D桌面公司是为了Android?

现在已经确认,Google已经收购了加拿大的BumpTop公司。BumpTop主要业务是开发3D桌面界面,先是它的投资商承认了这条消息,后是BumpTop的主页也宣称将中止目前产品的开发,并将宣布重大消息。最新的消息则是Google的正式声明:非常高兴地欢迎BumpTop团队来到
Google,但目前我们还没有其它特别的消息要公布。


BumpTop的主业就是3D桌面界面,并在一年前推出过概念产品,最近还增加了对多点触摸的支持,支持各种各样的多指触摸手势,来实现各种功能。
目前业界的猜测是,Google收购的目地是把更出色的多点触摸和3D界面带到Android设备和Chrome OS上网本中去。

俞敏洪 创业过程

培训业界:俞敏洪―不怕新东方有内部争斗
作者:商界领袖 2010年04月29日10:20
我来说两句(0)复制链接大中小


  俞敏洪,民盟成员。北京大学西语系毕业,大学学历。1985年任北京大学外语系教师,1993年创办北京新东方学校,2003年成立新东方教育科技集团。现任新东方教育科技集团董事长兼总裁、民盟中央教育委员会副主任、中国青年企业家协会副会长、中华全国青年联合会委员。
  俞敏洪现任新东方学校校长、北京新东方迅程网络科技有限公司董事长等职,被媒体评为最具升值潜力的十大企业新星之一,20世纪影响中国的25位企业家之一。
其人博闻强志,娴于辞令,幽默儒雅。他精通英语,尤工词汇,一本红宝书在业内有口皆碑,并主编了多套实用教学光盘,成为中外颇负盛名的英语教学专家,由他创办的新东方学校目前已经占据了北京80%,全国50%的出国培训市场,年培训学生超过15万人次,国外的留学生70%是其弟子,由于他对留学教育专业的杰出贡献,被社会誉为留学教父;
俞敏洪高瞻远瞩,在事业如日中天之际,仍然开拓进取,在2000年,与中国IT巨头联想集团强强联手,挺进互联网,成立新东方在线网站,各路精英,纷至麾下,俨然是一代帅才。
  不愿意冒险 他们丢了10个亿
  俞敏洪:最初,新东方百分百是我的,96年我到国外把这些朋友请回来,我把新东方一分为五,我自己的收入立刻就降低了,但新东方做大后,我的收入又提高了。刚开始大家分块负责,我放弃了很多板块,但他们不回来,我一个人也做不大,后来新东方内部调整,又把股份分出去。新东方上市前一年,依然有人不相信新东方的业绩,要卖,新东方买回了8%的股份,新东方一上市,现在这些股权是10个亿的市值。由于他们不愿意冒险不愿意放弃的行为,让他们丢了10个亿,所以企业领导放弃与不放弃之间区别很大。其次就是我对自己生活的放弃,新东方发展越大,我越不能够按照自己喜欢的方式生活。
  我喜欢宽松的管理方式
  俞敏洪:新东方把课上得比较愉快,而且我们鼓励学生努力奋斗,大家听了以后很受鼓舞,不仅仅局限于教外语。
  对于老师的管理,我想,首先要用对人。人是有自己位置的,哪个人在哪个位置要有个判断。其次要满足人的需求,给他多少钱才能留住他,我始终认为一个能干的用对的人创造的价值是一个不能干的人的5到10倍,所以,如果这个人用对了,就至少给他1倍以上的工资。我的CFO进来的时候,我答应给他股权,干了不到4个月,我就知道这个人我至少要留他3-5年。我向董事会申请,给他加了一倍的股权,董事会认为太高了,我说不高,只要他在,新东方一定会顺利上市,上市以后,股票也一定不会大波动。结果后来这两个说法全部实现。
  其次要精神上愉快。新东方开正式会议,半小时就布置完工作了,然后就开始讲笑话,大家特别开心,一旦干活,每个人都很拼命。所以我是一种宽松的管理方式,如果你象看贼似的,看着他们到底干不干活,这个企业就完了。对于基层员工倒是可以打卡,对那些需要创造力的员工,你就放手让他们去干,告诉他们我就要这个目标,目标完成了,你在家睡觉我也不管你,肯定给你发全工资,这样大家互相没有紧张情绪,心情就比较愉快。所以在新东方干活大部分人心情愉快。
  俞敏洪:知识分子越牛,互相之间越不相容,我创造一个他们能够相容而且我能容他们的环境就行了,知识分子你给他一个自由的氛围,让他自由发挥,最大限度地表扬他们的表现就够了。他们更注重精神自由。
  做企业必须要理智
  俞敏洪:我是一个很有意思的人,有激情的一面,也有很冷静的时候,我用激情做了梦想,用冷静做了新东方。北大的人一般不脚踏实地,我在做新东方的时候还比较理智,因为做一个企业不理智不行,但新东方恰恰又是一个承载着梦想的企业,没有激情也不行。
  新东方的内部争斗
  俞敏洪:随着企业的发展,利益和权利的重新分配,一定会引起争斗,中国的经济改革、政治改革都是利益和权力的重新分配,所以中间会出现争斗,出现争权夺利的事情,关键是你如何把它回归到一种秩序状态,新东方回归到秩序状态以后就算做成功了。
  人文情怀和争名夺利一点都不矛盾,除非你是耶稣或释迦摩尼,有至高无上的权威,自然不需要争权夺利,否则任何一个人必然都会出现这个过程,妻子和丈夫天天在一起生活,也是一个争权夺利的过程,只不过或大或小,或重或轻而已。
  领导人要在危机出来前先洞察到
  俞敏洪:关键是要在繁荣背后想到什么危机会来临,预先想办法把危机挡住。领导人处理危机的能力并不是说危机出来以后再处理,智者是在危机出来前就要先洞察到,并提前处理掉。因此,智者是远离麻烦的人,聪明的人遇到麻烦解决麻烦,愚蠢的人没有麻烦找麻烦,我发现大部分的人实际上是笨的人。
  俞敏洪:我对危机的判断力和处理的果断力是没有问题的,这种能力有时候是一种常识,有时候是通过很多小事慢慢积累,经验不断增加的结果。而且很多时候是在你没有意识到的时候,你还小,什么也不懂的时候,就被教育成了,比如我父母都非常善良,他们对人生的看法就潜移默化地影响了我。
  另外,一个领导做决策不可能一辈子都是正确的,但错误不要伤筋动骨,大方向大战略不能错。任何一个企业每时每刻都在面临着一个个大的决策方针,比如新东方上市以后,坚持做外语的同时往什么方向发展,怎么拓展新的业务是非常重要的。2002年,我提出新东方开始做少儿英语的时候,很多人反对,大家认为我们的出国考试、国内考试两大块已经做得很好了,只要把它再做好做精就行,少儿英语谁都没有经验。但我说少儿英语一定要做,因为我个人感觉少儿英语在未来的几年会成为新东方一个重大的项目,结果现在少儿英语占新东方总收入的30%多。如果没有少儿英语,新东方根本就上不了市,因为出国考试随着签证政策的变化会有变化,但中国的父母不管签证政策怎么变,孩子学英语的热情不会变,这样就形成了新东方收入的稳定性。所以在企业创业期间,决策的正确与错误一定能体现出来,如果错了,就像带领一批羊走到了悬崖峭壁,否则就可以把它们带到阳光灿烂的草原。
  被新东方上市套住
  俞敏洪:真正上市以后,整个新东方只有我一个人被锁定,其他人三个月锁定期一过,把股票卖完,没准都跑掉了,结果就剩下我了,每个月拿几万块钱,累得半死不活,为什么?投资者只看我是不是跑,如果我要跑了,投资者会让新东方的股票变成0,所以我不敢跑,我被套住了。剩下的中层管理者,为了让他们留下来,我就编了一个又一个具有诱惑力的理想,我估计马云现在每天也在家编造理想呢,因为他们公司也造就了很多富翁。这对我是一个挑战,对新东方也是一个挑战。
  俞敏洪:新东方上市以后管理的方式会有所不同,后面的出路在什么地方,我的股票换成现金以后,要去做什么。至于说我还是我,不需要人来告诉我我是谁,所以我不会突然迷失掉。
  关于北大
  俞敏洪:北大是我最喜欢的地方,北大改变了我的命运。如果我没有经历在北大的挫折和自卑,我今天就不会有这么稳定的自信状态。如果不是北大的文化氛围,也没有我今天的这种理念,也不会成功创建新东方。所以走过风风雨雨,北大对我来说意味着我的精神生命,非常重要。
  怎么看待财富?
  俞敏洪:钱越多越糟糕,但在一定前提之下不糟糕,比如你有钱买房买车不糟糕、有钱为自己一辈子的旅游做打算不糟糕,为将来的养老做打算不糟糕,超出这个前提之外,如果人生没有目标和方向,钱越多越糟糕。
  不喜欢做教育家
  俞敏洪:中国教育体制肯定需要改革,往哪个方向改大家还在讨论,不是一下子能够改过来的,我也只能说说而已。
  人事纷争是很正常的,关键是领导起到的作用,担当的角色和他的心态,有的人事纷争是因为领导心胸狭窄产生的,领导一定要心胸开阔,敢于承认错误。这个对我来说问题不大,因为我善于承认错误,如果我不承认,就可以被我的高层管理人员骂上很长时间,我还不如赶紧承认了算了,他们就没得骂了。新东方的元老从来不把我当领导,坏处呢,新东方结构调整管理的难度增加,好处呢,因为有人敢骂我,我能及时纠正自己的错误,因为这帮人都是我大学的朋友哥们,向他们承认错误不算丢面子。然后我发现向下属承认错误也不丢面子。有一次,我骂一个员工,凶了一点,伤他自尊了,第二天我意识到这个问题,就给他发了一个邮件,向他道了歉。这个员工感动的不得了。我们要勇于承认错误。
  如果你尊重员工的话,大家就会尊重你,新东方所有员工在我心里都是我的兄弟姐妹,我获得的最大的荣誉是新东方的人都比较喜欢我,喜欢中带着尊重。
  俞敏洪:就现在这个状态,我在教育界不会留下什么名声。新东方会在中国留学史上留下一笔,但在教育界我不会留下什么,因为我本质不是个教育家,我也没有完整的教育思想、教育理念和教育实践。如果一定要留的话,可能就一句话,中国第一家把教育产业带上市的企业家,而这是好是坏,要过几十年后才能有定论。我也不希望以教育家的身份留在这个世界上。
  俞敏洪:其实什么身份都不需要,只要自己过得快乐就行了。如果真想留的话,我希望自己能变成一个游记作家,一边旅游,一边写作,我挺喜欢这样的生活,而且我觉得我能写得很好,能够把每天遇到的事情用真情实感的方式写出来。大家可能会喜欢读,我自己也很喜欢,把这些东西当成生命的一部分保留下来。
  生活的本质是快乐
  俞敏洪:时间是一个没有限制的东西,做到2亿美元不是衡量你时间长短的一个标准,全中国用了13年从身无分文到亿万富翁的人也不是很多,但这个标准也不意味着你就成功了。我觉得衡量的标准是13年你过得是不是愉快,是不是值得,如果不愉快,就别过这种生活了,如果觉得还值得,就继续过下去,反正你不做事会变老,做事也同样会变老。
  至于这期间经历的事情会有一点点记忆,那些辛苦回过头来看也挺值得的,13年就是一个循序渐进,不断发展的过程。如果非要说的话,比较痛苦的时期就是新东方股权改造的那段时间,重新界定利益和权利的那段时间,大家比较辛苦。
  世界上做成功的人,没有一个不是全身心热爱自己做的事情,否则他一定半途而废。对我个人来说,我一定是全身心在做新东方,就像沃尔玛的总裁一辈子都开着自己的小飞机在全世界每个店飞来飞去,看到商品都恨不得去亲吻一下,他对每个商品都充满感情,你说他能不把每个商品卖得像艺术品一样吗?
俞敏洪简介:
  出生年月:1962年10月15日
  生肖:虎
  身高:1.77米
  籍贯:江苏省江阴市人 汉族人
  毕业院校:北京大学 西语系毕业
  新东方教育集团有限公司 职位:董事长兼总裁
  联东伟业科技发展有限公司 职位:董事长

2010年5月2日星期日

深圳湾口岸过关进入香港的交通方法

深圳湾口岸开通有一段时间了,由于是新开通的口岸,很多人都对新口岸周遍的交通环境比较陌生,因此,有必要详细介绍一下深港两地经过深圳湾口岸过关的方式,方便大家来去自由.

先简要介绍一下这个全新的深港交通通道.位于深圳市区西部的南山区,紧靠蛇口地区,后海地区和高新区.主体工程包括:深港西部通道,深圳湾跨海大桥和深圳湾口岸.深港西部通道是连接香港新界西北区,深圳西区(南山,宝安),以及未来的广深第两条高速路而修建的.西部通道的一端是连接深圳和香港的跨海大桥--深圳湾大桥,这个全长仅有5.5公里的大桥,直接拉近了深圳西部,珠三角地区与香港的陆路距离,以后大型货柜车行走西部通道经深圳湾口岸进入香港境内,比走皇岗口岸节省30分钟以上的车程.
深圳湾口岸是客运和货运双通道的口岸,类似于皇岗口岸,但目前仍不是24小时通关,又类似于罗湖口岸,但优点是不像罗湖口岸那么破旧,又不像皇岗口岸那么乱.或许只有未来1个月内能完全贯通的"福田口岸"与其类似.
深圳湾口岸是目前唯一一个一地两检的口岸,深圳海关这边检查完毕后,步行100米,即可进去香港海关的检查,目前人流量看来全部检查完不过10分钟而已,快捷方便,比起罗湖的旅行团检查而人多嘈杂,以及皇岗的地理位置而辛苦奔波,深圳湾口岸的边检方式和设计,都极大的节省了旅客通关的时间,至于人多的时候是否还会像目前这样如此顺畅,那要等着看了.反正无论对于深圳南山区,宝安区甚至是珠三角的居民,还是香港新界西北区的居民来说,这两地的往返交通时间都比以往便捷许多.

下面回到正题,说说如何利用新的口岸,交通往来深港更加方便.深圳这边,深圳湾口岸目前开通了四条巴士进行接驳,分别是机场8线,90路,245路.
机场8路线:深圳湾口岸,凯宾斯基酒店,科技园南区,科技园北区,科苑大道,宝安机场 全程15元
90路:深圳湾口岸-世界之窗 全程2元
245路:梅林关-深圳湾口岸:梅林检查站,香梅北,金地网球中心,翠海花园,高级中学,农园路,名人俱乐部,交通局,园博园2,康佳集团东,锦绣中华2,何香凝美术馆,世界之窗1,大冲2,科技园2,深大北门2,深圳大学,桂庙新村,海雅百货,新能源,南山邮局,南油大厦,南油酒店,深圳湾口岸
全程2.5元
临时线:蛇口海上世界,蛇口沃尔马,南油酒店,深圳湾口岸 全程2元

也可以搭乘的士直接前往深圳湾口岸,东滨路和滨海大道是主要连接其的交通要道,自驾人士也可选择开车前往,口岸的停车场日收费据说是30元/天.

到达口岸后,即可进行过关检查,前后数分钟搞定,从香港边检出来之后,会看到香港方的巴士站和的士站.目前香港方面仅开通了三条巴士线接驳深圳湾口岸,而且都仅仅是只能达到新界西北的元朗和屯门等地,稍远一点的仅有香港新机场的巴士.线路分别是B2、B3和B3X,分别前往元朗和屯门,其实B3和B3X线路是一致的,只不过B3X中途一站不停,直接到屯门市中心。B3的终点是屯门码头,单程票价11元,不过有返程优惠,就是如果用八达通付费,单日返程的票价是9元,就是说只要20元就可以往返一次。B2终点是元郎的西铁站,涂中经过天水围西铁站.全程也是11元,但是在天水围下车是8元.

香港方面的巴士直接开到深圳湾口岸港方口岸区,所以不用担心要走路过桥的问题。运营时间基本上与深圳湾口岸的开放时间一致,均是早上6点至午夜0点.由于目前线路较少,再加上发车时间基本间隔都在10分钟以上,所以排队等车的较多,口袋鼓一点的游客,可以选择旁边的的士前往香港各区,红色的是去市区的(九龙,港岛),绿色的是在新界区行驶的,价格也不相同,红色起步15港币,绿色跟深圳的士一样,12.5起步,都是包含2公里的,第三公里起每200米分别是1.4元和1.2元.

如果过境后想进入香港市区或者主要景点,交通方面需要转乘,方式有以下几种,由深圳湾口岸坐接驳巴士,可以到达屯门,天水围,元郎,在这三个区,均有九广西铁线和巴士线来往市区及香港主要景点.九广西铁线与地铁线美孚站接驳,可在美孚站转乘地铁抵达市区各个角落。西铁屯门,天水围,元郎三站到地铁美孚站的票价八达通卡均为13.5元(参见http://www.kcr.com.hk/),转乘地铁后,抵达各主要购物区及观光景点的价格视地铁站数不同而不同,例如美孚-旺角的地铁票价为5.6元;美孚-尖沙咀为6.8元,美孚-中环/金钟/湾仔/铜锣湾为11.8元(参见http://www.mtr.com.hk).以上为轨道交通的方式.
另外可结合巴士.
1.到港岛(中环,湾仔,铜锣湾,北角)
从深圳湾口岸坐B2大巴到天水围西铁站,票价8元,走天桥到对面换城巴969到铜锣湾票价20.7,同线路途径中环和湾仔.全程需花费28.7元.用时约70分钟.
2.到尖沙咀
2.1 从深圳湾口岸坐B2大巴到天水围西铁站,票价8元,坐西铁到美孚站,票价是13.5元,再换美孚站地铁到尖沙咀,6.8元.全程需花费28.3元.全程用时约50分钟.
2.2 从深圳湾口岸坐B2大巴到天水围西铁站,票价8元,坐西铁到南昌站(西铁终点站),票价14.4元,D出口上到路面换九铁接驳巴士K16到尖沙咀,换K16是免费的。如果当天回程还走深圳湾的话,可以在西铁站购买"自悠通"车票($20),当天可以无限次搭乘西铁、免费搭乘九铁新界西北巴士以及K16。这样全程花费为22.4元.全程用时约60分钟.
3.到海洋公园
3.1 从深圳湾口岸坐B2大巴到天水围西铁站,票价8元,坐西铁到美孚站,票价是13.5元,再换美孚站地铁到金钟站,11.8元,再换乘629专线大巴到达海洋公园,票价为10.6.全程需花费43.9元.全程至少用时70分钟.
3.2 从深圳湾口岸坐B2大巴到天水围西铁站,票价8元,坐西铁到美孚站,票价是13.5元,再换美孚站地铁到旺角,5.6元,在弥敦道旺角和油麻地一带换乘171大巴,票价10.6元,全程需花费37.7元.全程至少用时75分钟.
3.3 从深圳湾口岸坐B2大巴到天水围西铁站,票价8元,坐西铁到南昌站(西铁终点站),票价14.4元,D出口上到路面换九铁接驳巴士K16到尖沙咀.在尖沙咀码头乘坐天星小轮到中环7号码头,票价为2.2元;再转乘629专线大巴到达海洋公园,票价为10.6.全程需花费35.2元.全程至少用时100分钟.

4.到迪士尼
从深圳湾口岸坐B3X大巴到屯门市中心,票价为11元;在屯门市中心转乘R33大巴直达迪士尼,票价为19.9元,全程需花费30.9元,车程至少70分钟.

5.到香港国际机场[超强推荐!!]
从深圳湾口岸坐B2大巴到天水围警署,票价为8元,下车后过马路到对面坐机场巴士E34到终点站香港机场,票价13元.全程需花费21元.车程至少75分钟.这条路线是目前到达香港机场超高性价比的路线了,比在蛇口坐船动辄上百元的船票真是便宜好几倍,同时也比从罗湖和皇岗出境节省不少时间和银子.

2010年5月1日星期六

燃气热水器和电热水器成本核算

发信人: xinu (偶的D70s人见人fan), 信区: QingHe
标  题: Re: 新地标来暖气了,嗷嗷
发信站: 水木社区 (Wed Nov 28 15:39:56 2007), 站内

每吨热水从15°加热到60°,所需热量为
(60-15)摄氏度*1000kg*4200焦耳/千克摄氏度=189M焦耳

如果用燃气小区统一供热水,假设炉子效率为90%,管道热量损失为10%天然气热值为35M焦/立方米
那么需要189M焦耳/35M焦/立方米/0.9/0.9=6.67立方米
6.67*1.9=12.673元
加上冷水3.7元每吨,总共为16.373

如果用电热水器,不计管道热量损失,假设电热水器效率为90%
那么需要189M焦耳/3.6M焦耳/度/0.9=58.3度电
58.3*0.48=27.984元
加上冷水3.7元每吨,总共为31.684元

【 在 xinu (偶的D70s人见人fan) 的大作中提到: 】
: 算出来是这样,如果你能确定知道天然气热值究竟是多少,可以算算
: 按照35k千焦/立方米算出来就是这个数据

有人热水系统做了回水装置么?

发信人: tomics (tomics), 信区: Occupier
标  题: Re: 有人热水系统做了回水装置么?
发信站: 水木社区 (Fri Dec 12 12:05:33 2008), 站内

我家做的功课如下

循环水装置,据说热水器最好是林内、能率或者百乐满的,
其中林内据说口碑最好,能率是上海做的,百乐满不清楚

循环水装置市场不普及,都是小的产品厂生产,大连威乐
算是一个大点的品牌了,我拿到的组合是林内+威乐,共
3000元多点搞定,热水器是10L强排,做循环水估计是最低限
的容量了,估计能支持我家两个卫生间夏天同时使用,冬天
只能轮流使用了

有水控温控电控之分,温控还要分热水器的温控和循环水的
温控,前者是多进制的信号,应该是多条线,后者是单进制的信号,
一条到两条线就可以(代表开和关)。循环水的控制很复杂,
涉及到何时开启循环水加热状态(一直加热那就浪费能源了),
最好由厂家给完整的解决方案和使用说明,否则轻易搞不明白。
水控应该是更为先进的方法,但还要看实际使用是否便利

【 在 mpyu (猫扑老于・Chicyu) 的大作中提到: 】
: 这个挺新鲜,我也想搞个,能推荐个品牌/型号不?
: 之前我看好了海尔的智能舱/时空舱,好像是不能这么玩.


--

※ 修改:・tomics 于 Dec 12 12:11:58 2008 修改本文・[FROM: 211.99.222.*]
※ 来源:・水木社区 newsmth.net・[FROM: 211.99.222.*]