2006-05-11 #

郁闷!又看到自己的idea已经被别人做过了

其中一个发在去年十一月的ICC上,另一个在零二年的IEEE Trans. on Communication上,说明我的想法水平都还不错啊。可惜已经被人发过了,不然没准就能靠它们毕业了。

多说无益,从头开始吧。

发表于 @ 20:59 | 评论与反馈 (0)

2006-05-08 #

五月五日 立夏 春心动了一下

感觉不错,之后这几天人也精神了些。

发表于 @ 00:18 | 评论与反馈 (0)

2005-08-29 #

2005年8月28日 星期日 晴 金鱼 论文 行李

老爸今天钓鱼钓回来三条金鲫鱼。这三条鱼通身金红色,其中两条还长着长长的红尾巴,煞是好看。

我决定把它们养起来。于是找出多年不用的鱼缸刷干净,用鹅卵石铺在缸底,再倒进静置了三天的清水——原本是打算拿来浇花的。请鱼入缸,三条小鱼经历颠簸之苦以后终于又有了一个新家。

 

师弟好歹把论文拿出来了。我看了两眼,水平真的很一般,不过发表应该没大问题。把论文交到WZ手上就算我完成任务,能不能发得看他自己的手段了。私下认为他今年想评讲师难了。

 

今天继续打点行囊,还需要买些零碎的东西。希望交大的行李标签能及时寄来,否则我就有大麻烦了。

发表于 @ 00:06 | 评论与反馈 (3)

2005-08-19 #

some sites about Wireless Sensor Networks

References on Wireless Sensor Networks

发表于 @ 17:21 | 评论与反馈 (0)

2005-08-01 #

2005年8月1日 星期一 晴 终于收到通知书了

5月26号就把档案寄走了,到今天才拿到通知书。

前几天让同学帮着问问。居然因为寄得太早,负责政审的人没想到博士档案的编号能这么小,就一直认为我的档案还没到。#·¥%·#¥……

要不是我找人问了问,现在还拿不到通知呢。

发表于 @ 10:34 | 评论与反馈 (0)

2005-07-14 #

两个python进程间的通信(草稿版)

希望实现由进程A产生进程B(A、B都是python程序),并在B的生存期在随机时间向B发送不确定的字符串信息。

我的测试程序是这样的:

Sample Code如下:
#程序A
#产生子进程B(receiver.py),并向其发送字符串
 import subprocess, time
 subproc = subprocess.Popen(['receiver.py'], stdin=subprocess.PIPE, shell=True)
   #运行子进程B,第二个参数可能不正确。
   time.sleep(0.5)
   print 'start'
   #下面两种方法都不行
   subproc.stdin.write('data\n')
   subproc.communicate('data\n')
   print 'end'

#程序B receiver.py
#从stdin读字符串并打印之。
   import sys
   print 'receive...'
   s = sys.stdin.readline()
   print 'get:', len(s), s

结果很失败,B中的sys.stdin.readline()不等有写入就返回了,所以执行A时的返回信息是

start
receive...
get: 0
end

在python-cn maillist的Qiangning Hong兄的指点下,发现只要将A里的
subproc = subprocess.Popen(['receiver.py'], stdin=subprocess.PIPE, shell=True)改为
subproc = subprocess.Popen(['python', 'receiver.py'], stdin=subprocess.PIPE, shell=True)并保证python.exe在系统的PATH中就可以了,原因不详。

附:能够成功实现进程间通信的sample例程:
#程序A
#产生子进程B(receiver.py),并向其发送字符串
 import subprocess, time
 subproc = subprocess.Popen(['python', 'receiver.py'], stdin=subprocess.PIPE, shell=True)   #运行子进程B
   time.sleep(0.5)
   print 'start'
   #下面两种方法都可以了
   subproc.stdin.write('data\n')
   subproc.communicate('data\n')
   print 'end'

#程序B receiver.py
#从stdin读字符串并打印之。
   import sys
   print 'receive...'
   s = sys.stdin.readline()
   print 'get:', len(s), s
执行A得到返回结果:
start
receive...
get: data

end

发表于 @ 19:39 | 评论与反馈 (2)

2005-06-30 #

批量修改指定目录的文件时间信息

外星人又来了,把机器的系统时间改成了2024年。在我发现并修正错误之前已经有大量文件的最后改动时间出错了,涉及多个目录。

利用python 提供的os.utime函数,方便的修正了这个问题。

for root, dirs, files in os.walk(path):#得到遍历列表
        for file in files:
            stat = os.stat(os.path.join(root, file))
            at = localtime(stat[ST_ATIME]) #last access time
            mt = localtime(stat[ST_MTIME]) #last modify time
            if mt[0] == 2024 and mt[1] >= 6 and mt[2] > 7:
            #下面一段有点怪,不知道有没有更好的写法
                #下面三行应该可以不要
                at_t = [at[i] for i in range(9)]
                at_t[0] = 2005
                at_st = mktime(at_t)
                mt_t = [mt[i] for i in range(9)]
                mt_t[0] = 2005
                mt_st = mktime(mt_t)
                #修改last modify time
                os.utime(os.path.join(root, file), (at_st, mt_st))

发表于 @ 22:21 | 评论与反馈 (0)

2005-06-21 #

标点符号中英对照版

.period 句号
,comma 逗号
:colon 冒号
;semicolon 分号
!exclamation 惊叹号
?question mark 问号
 ̄hyphen 连字符
'apostrophe 省略号;所有格符号
—dash 破折号
‘ ’single quotation marks 单引号
“ ”double quotation marks 双引号
( )parentheses 圆括号
[ ]square brackets 方括号
《 》French quotes 法文引号;书名号
...ellipsis 省略号
¨tandem colon 双点号
"ditto 同上
‖parallel 双线号
/virgule 斜线号
&ampersand = and
~swung dash 代字号
§section; division 分节号
→arrow 箭号;参见号
+plus 加号;正号
-minus 减号;负号
±plus or minus 正负号
×is multiplied by 乘号
÷is divided by 除号
=is equal to 等于号
≠is not equal to 不等于号
≡is equivalent to 恒等于号
≌is identical to 全等于号
≈is approximately equal to 约等于号
<is less than 小于号
>is more than 大于号
≮is not less than 不小于号
≯is not more than 不大于号
≤is less than or equal to 小于或等于号
≥is more than or equal to  大于或等于号
%per cent 百分之…
‰per mill 千分之…
∞infinity 无限大号
∝varies as 与…成比例
√(square) root 平方根
∵since; because 因为
∴hence 所以
∷equals, as (proportion) 等于,成比例
∠angle 角
⌒semicircle 半圆
⊙circle 圆
○circumference 圆周
πpi 圆周率
△triangle 三角形
⊥perpendicular to 垂直于
∪union of 并,合集
∩intersection of 交,通集
∫the integral of …的积分
∑(sigma) summation of 总和
°degree 度
′minute 分
″second 秒
#number …号
℃Celsius system 摄氏度
@at 单价

发表于 @ 17:12 | 评论与反馈 (1)

2005-04-30 #

打球扭了脚,以后再也不买双星的破球鞋了。

才穿了十来次的球鞋居然在侧面开了一个大口子。

向后滑步的时候因为鞋已经不跟脚了,鞋底抓着地面没动,脚从侧面的口子里滑出来,一下就扭到了。

脚都肿了,疼死我了!

发表于 @ 09:05 | 评论与反馈 (0)

2005-04-12 #

今天,中央10台《绿色空间》继续讲述关于水的故事。

 

西北一个严重缺水的农村,贫穷的一家。

一天,说媒的找到这家的女主人,要给她的女儿说一门亲事,对方是邻村村长家的儿子。说媒女人巧舌如簧,夸耀村长家的条件,聘礼是……

五缸水两袋面……

母亲显然动心了,提出要到对方家看一看。

村长熟练地笑脸相迎,让进屋里。

村长家当然地殷实许多,用的是自来水。

村长的儿子不出意料地残疾,智力障碍。

母亲有些退缩,说要和女儿商量商量。回去的路上,母亲向说媒女人抱怨那家儿子的傻,说媒女人则极有技巧地强调村长的实力:

“那家的条件你看到了。你女儿嫁过去,下半辈子人家村长都安排好的……”

“嫁过去不会吃苦,连水都不用担了……”

……

回到家,母亲对女儿说:“今天有人来给你说媒,我去看过了,那家非常好,你觉得怎么样?”母亲忽然有点犹豫,“要不哪天你见见……”

“你拿主意吧,我听你的。”女儿说。

 

在那里,水比血浓

发表于 @ 01:08 | 评论与反馈 (0)

2005-04-05 #

[*]执行外部命令或URL

在Python/wxPython环境下,执行外部命令或者说在Python程序中启动另一个程序的方法一般有这么几个:

1、os.system(command)

2、wx.Execute(command, syn=wx.EXEC_ASYNC, callback=None)
      若置syn为wx.EXEC_ASYNC则wx.Excute函数立即返回,若syn=wx.EXEC_SYNC则等待调用的程序结束后再返回。
      callback是一个wx.Process变量,如果callback不为None且syn=wx.EXEC_ASYNC,则程序结束后将调用wx.Process.OnTerminate()函数。

os.system()和wx.Execute()都利用系统的shell,执行时会出现shell窗口。如在Windows下会弹出控制台窗口,不美观。下面的两种方法则没有这个缺点。

3、class subprocess.Popen
      最简单的用法是:

      import subprocess
      subprocess.Popen(command, shell=True)

      如果command不是一个可执行文件,shell=True不可省。

前面三个方法只能用于执行程序和打开文件,不能处理URL,打开URL地址可用webbrowser模块提供的功能。

4、webbrowser.open(url)

      调用系统缺省浏览器打开URL地址,如 webbrowser.open('http://www.google.com'),也可以利用
      webbrowser.open('h:\python.zip')来执行程序。这样可以不必区分是文件名还是URL,不知道在Linux下是否可行。

以上在Windows2000,Python2.4a1,wxPython 2.5.1运行。

modify:还有一种方式:subprocess.call(*args, **kwargs)

发表于 @ 10:46 | 评论与反馈 (3)

2005-04-01 #

[*]wxPython文档不全太烦人了

一些控件的method,已经实现了但文档里没有,只好自己写。痛苦~

更痛苦的是自己写完一个功能突然发现它早就存在了。

发表于 @ 10:58 | 评论与反馈 (0)

2005-03-31 #

表哥签约了

下半年他就到山东工艺美院当老师了。知道这个消息让我很吃惊,我一直认为他无论如何都会留北京的。

爷爷当然很高兴,还特意打电话来告诉我。

发表于 @ 12:36 | 评论与反馈 (0)

[*]把wx.Validator搞定了

起因是希望判断对话框中数据是否valid。python-cn的Qiangning Hong说用wx.Validator,上午看了看文档把它搞定了。

晚上写个长的。

发表于 @ 12:22 | 评论与反馈 (0)

2005-03-30 #

[*]没有虚函数真痛苦啊!

Python没有虚函数的概念。以前没注意到,现在用C++的思路去解决问题的时候,一头撞到了墙上。痛~~

发表于 @ 16:43 | 评论与反馈 (3)