| Pengjun's profile上善若水PhotosBlogLists | Help |
|
|
上善若水便决计、疏狂休悔。但有玉人常照眼,向名花、美酒拚沉醉。天下事,公等在。 July 04 北京风情王小波 我小时候住在成方街,离北京的城墙很近。就在这条街的尽头,城墙塌了一个口子,沿着一道陡坡,躲开密密麻麻的酸枣刺,就可以上到城上。城墙上面是宽阔的大道,漫地的方砖中间长满了荒草。庚子年间,八国联军来攻打北京,看到了这座城墙。有个联军的军官在日记里写道:这是世界上最宏伟的防御工事——他是对这城墙的高度发出的感叹,而我对城墙顶上的广阔感触很深。那上面是一片荒无人迹的辽阔的地带,走上半小时碰不见一个人。后来我在美国,和台湾来的同学聊天,说到梁思成先生曾建议把北京的城墙改作高速公路,那同学笑了起来,说道:梁先生的主意真怪,城墙顶上还能修马路吗?这位同学去过世界上很多地方,看到过很多城墙,那上面都修不了马路。我也到过世界上很多城市,见过很多古城墙。罗马城的城墙算是宏伟的了,假如有两个帕瓦罗蒂那样的人在上面并肩行走,就得掉下来一个。难怪没见过北京城墙的人要不信在上面可以修马路——其实不仅能修,而且修出来会是这世界上最伟大的人文景观之一。 过去,在北京三十四中附近的城墙里有个很大的仓库,里面放了军火和汽油。有一天爆炸了,三十四中的师生出来救人,赢得了很大的荣誉——他们学校有间荣誉室,里面挂满了那回得来的锦旗。我插队时和三十四中的学生在一起,听他们说过自己母校的光荣史。这说明城墙顶上不但能跑汽车,肚子里还能修仓库。像这样的城墙在世界上绝无仅有,可惜已经被拆了个精光。没有了宏伟的城墙、寂寞的城楼,北京城是一座没有了历史的城市。有些人会说,它怎么会没有历史——历史写在纸上。这种看法是不对的。我到过很多城市,就我所见,一座城市的历史不可能是别的,只能是它的建筑。北京城就其本来面目来说,是一座硕大无比的四合院。没有了城墙它就不成个样子。 中国有五千年的文明史,这部历史有一半写在故纸上,还有一半埋在地下,只是缺少了一部立在地上的历史,可以供人在其中漫步。我小的时候,北京不但有城墙,还有很多古老的院子——我在教育部院里住过很久,那地方是原来的郑王府,在很长时间里保持了王府的旧貌,屋檐下住满了燕子。傍晚时分,燕子在那里表演着令人惊讶的飞行术:它以闪电般的速度俯冲下来,猛地一抬头,收起翅膀,不差毫厘地钻进椽子中间一个小洞里。一二百年前,郑王府里的一位宫女也能看到这种景象,并且对燕子的飞行技巧感到诧异 ——能见到古人所见,感到古人所感,这种感觉就是历史感。很遗憾的是,现在北京城里盖满了高楼,燕子找不着自己住过的屋檐,所以也很少能看到了。现在的年轻人读到“似曾相识燕归来”,大概也不读懂了。所幸的是,北京还有故宫,还有颐和园。但是没有了城墙,没有了燕子,总是一种缺憾。 September 25 黄金分割Fibonacci 数列计算黄金分割 : 1, 1, 2, 3, 5,8,13,21 ... ... x = 2 y = 3.0 while y < 10000 : print x/y x ,y = y, x+y August 08 取Gmail邮件(Draft)import getpass, poplib, base64 import string ,email from BeautifulSoup import BeautifulSoup M = poplib.POP3_SSL('pop.gmail.com') M.user('jiapengjun') M.pass_(getpass.getpass()) hdr,message,octet=M.retr(1000) mail=email.message_from_string(string.join(message,'\n')) print mail['To'] , mail['From'] msg = '' for part in mail.get_payload() : type = part.get_content_charset() msg = part.get_payload() msg = unicode(base64.decodestring(msg), type) print msg #soup = BeautifulSoup(msg) #print soup.prettify() #print soup.__str__('windows-1252') July 31 嘿嘿,意大利May 12 使用smtplib 发送email.# Import smtplib for the actual sending function import smtplib # Import the email modules we'll need from email.MIMEText import MIMEText me = 'pjia@gmail.com' you = 'pjia@gmail.com' textfile = 'D:/workspace/stax.dtd' # Open a plain text file for reading. For this example, assume that # the text file contains only ASCII characters. fp = open(textfile, 'rb') # Create a text/plain message msg = MIMEText(fp.read()) fp.close() # me == the sender's email address # you == the recipient's email address msg['Subject'] = 'The contents of %s' % textfile msg['From'] = me msg['To'] = you # Send the message via our own SMTP server, but don't include the # envelope header. s = smtplib.SMTP() s.connect('bjlinux12:25') s.sendmail(me, [you], msg.as_string()) s.close() 使用telnetlib 登陆telnet.import getpass import sys import telnetlib import string import time HOST = "bjhp8" user = raw_input("Enter your remote account: ") password = getpass.getpass() tn = telnetlib.Telnet(HOST) # 显示DEBUG信息,打开下边的注释 # tn.set_debuglevel(10) tn.read_until("login:") tn.write(user + "\n") # 如果不work, 试试使用'\r\n' if password: tn.read_until("Password: ") tn.write(password + "\n") # 有些系统需要先读取缓冲后才可以发送命令 m_msg = tn.read_until('>', 5) print m_msg # 倒霉的SUSE还要设置一下TERM type. if string.find(m_msg , 'tset') != -1 : tn.write("vt100\n") tn.write("ls\n") print tn.read_until('>', 5) tn.write("exit\n") # 对方断开链接后,使用read_all读取返回信息 print tn.read_all() September 22 MSN space 一个被忽略的功能以前一直没有注意,今天试了一下还挺好用,就是通过email来发布blog .
首先登陆到你的blog页面,点击“设置“ , 选择”电子邮件发布“ :
1 选中 ”Turn on e-mail publishing“
2 输入一个用于发送邮件的邮箱,比如我经常使用gmail邮箱,就填入”jiapengjun@gmail.com“
3 选择一个”secret word“ , 这个随便填一个容易记住的就行,这个word会和你的msn ID 拼成一个发布地址,比如我填入”1234“ ,拼出来的邮件地址是”jiapj.1234@spaces.msn.com“,那么每次从jiapengjun@gmail.com 发送到jiapj.1234@spaces.msn.com的邮件会自动发布到你的blog上。邮件的title会自动发布成blog添加项的标题
4 选择邮件提交后马上publish,还是先存放为draft, 等编辑之后再publish。
这个功能的一个好处可以直接转发自己的邮件,而不用登陆上来进行copy & paste, 对于我这种自己不会写东东,只知道C&P的人来说比较方便。
另外,注意保密邮件中的保密信息,比如手机号码、用户口令之类的,毕竟贴到Space上大家都能看到。
June 23 Sed1line (Draft)# Add by jpj, 2005/06/21 x: P<->H P:pattern space H:hold space C:current line sed -n '/postfix/{p;n;N;p;}' /etc/passwd //打印 C, C+2 sed -n '/postfix/{x;p;};h' /etc/passwd //打印 C-1 sed '/postfix/{x;p;x}' /etc/passwd //该行前加一空行 sed -n '/postfix/{q;};p' /etc/passwd //打印 1, C sed = /etc/passwd| sed 'N;s/\n/\t/' ` //打印行号
sed '1!G;h;$!d' /etc/passwd // 反转打印 ,同tac [cat reverse]
March 18 NFS 安全问题假设 A 机器 export 出一个目录 /export ,目录中含有一个文件 asroot ls /export/asroot 结果如下: -rwsr-xr-- 1 root root 13408 Oct 21 16:46 /export/asroot asroot设置了setuid(0) , 执行 /export/asroot id 显示如下:
在 B 机器上的一个普通用户 user1 到 /local/share 目录下执行 asroot id, 结果如下: uid=0(root) gid=100(users) groups=14(uucp),17(audio),33(video),100(users) user1获得 root的执行权限 March 17 几条 linux 命令查找相关文件: apropos keyword 压缩执行文件: gzexe /bin/ls 使用iso文件: mount -t iso9660 xxxx.iso /mnt/cdrom -o loop 监控命令运行: watch ls -l xxx.log 禁止修改文件: chattr +i file.name { FS : ext2, ext3 } 比较排序文件: comm file1 file2 单词查询: look prefix_word 拼写检查: ispell or spell 设置终端: stty or tput |
||||
|
|