Google 发布了这么个东西:http://www.google.com/landing/image-a-nation/#1,大概是个拼图
根据Google自己Google到的结果,可以将这些怪异的字符构造到http://google.com/images?q=tbn:之后,就可以获得一张图片,而冒号前的东西,根据我的猜测可能就是图片的排列位置,而且貌似是十六进制的
写了个脚本把图片都跑到了本地,不过单看图片,似乎有点让我丧失信心,找个时间把这些图按照位置拼一下看看,是否会有网上公布出来的结果

用于跑图片到本地的脚本
#!/usr/bin/env python
# google Image-a-nation Challenge
import time
import urllib
pics = """28:Kx7vy-VBtpYJ
7B:PyDg0PjbgxkJ
F3:Rd1xXw4alLkJ
31:FeaBmsxfey8J
20:YsNAjeTGJVEJ
A9:leYDU1RuuwIJ
81:jufN-4×1RnAJ
CB:IhifTIhRpmoJ
87:8Maz8upc508J
FA:5dh9_zqVdkIJ
BA:xyZftsH8RFsJ
50:L_zmPN_48bMJ
49:iLtQE1Q7CWMJ
D6:TuKm3fTasSYJ
FE:pls5MhpkpK8J
60:thDCBIkyQ2EJ
85:CizK2j2yCBIJ
23:IkmAcC6lNjIJ
F8:kRRYwomQWhIJ
8E:_v-YolETks4J
E1:Bf8Ltpee0v4J
D0:0YM5CoDmx8MJ
92:D9zUj4QVc2sJ
0C:FsKZkZ1R7t4J
45:NVX4OCi9WXAJ
A7:aQAFb1464l4J
68:aej8Xg6iVhkJ
A5:EHkO0tMtSN4J
F6:49-gxPeD0IwJ
5E:bpLwYqr-990J
C0:mawuaWJa1boJ
00:NEU6wRmGVq4J
84:h5LxuUdV03oJ
D9:-Eup1YnE6-0J
FC:7fjrc7LzjskJ
03:LJouzaZ6nakJ
C3:3cyoIZdesRYJ
EB:GumIzK6Xwv8J
12:KYkKkVzbW-UJ
AB:EHkO0tMtSN4J
30:vrZQ1rXJEg4J
CE:AbXWG_eCFZYJ
6B:EOhnwwtJMz4J
5F:PyDg0PjbgxkJ
62:zzxVlWrc94AJ
F2:CwpwlljQ5RUJ
7F:9aqBJNfDaUEJ
EE:CWVFy5sgo9MJ
4C:JDNgZADQwGkJ
58:uJB16vUcH38J
3D:Jij2JFUry5gJ
C8:v7juRN1cZ4EJ
1E:16e59DDxd1QJ
69:y1f3FuaNqhEJ
B0:4cYEeKseVRYJ
37:Hnm8AysFIvgJ
1D:qFpNdOAQ868J
21:Ypml6jLyoaEJ
34:UhJBrAWg8MAJ
A0:xTaArVPF51IJ
EF:14kwBS4zH4kJ
ED:eUzfBgFaYAYJ
51:1RWzov84HGsJ
72:WRUq1C2UF7YJ
24:TkF3I-3AqsoJ
6E:Cxb4nb_-6wQJ
CC:Cfwjydcm5VUJ
94:3V77coCFoyUJ
0E:lfqBck_AckoJ
C7:qTuFDoAZZAIJ
E4:X9O9H0rf7UwJ
A1:dh_aVJQg-fQJ
1B:SSUHFP88ICIJ
9A:8LRpia1kQyoJ
A8:6OB8e96ajfIJ
8D:sekIn_D0FY4J
9D:sQbLyZCjcMwJ
9C:at2mlybzsckJ
2D:gagHFe3EgRcJ
7C:sbERUkuwrgkJ
DF:jIbY1S4jGOQJ
15:sQ5gc2skXDoJ
B5:qpQ_jThwIfwJ
E7:bujGGLRs6f8J
B9:FC8WDc6FfQAJ
AC:7PqlCpunKtMJ
90:6bCXBm-ZoeMJ
05:kUDeAWh_o54J
46:BTA_qt_HhUkJ
3E:3fscTyozTmYJ
14:dsppEkkJ6vIJ
AA:q8Xw6c1aDJQJ
5C:1Yy-Elilf_wJ
67:sYb7HA_7lCwJ
99:kPiuzGwRUKIJ
E2:3NCEoBX-P-gJ
7D:gOHngHfzX8YJ
2C:1j66DXvpuf8J
07:rWnu8lphvZcJ
CA:PFnVqjCPIKIJ
D7:ydg0kWMXDeoJ
5A:n33l1U6zbEIJ
57:hKzAPG_v3g4J
3F:XGwx9FgVixQJ
36:abLa4yOIyW4J
10:sMDENsqLts0J
D2:gJsgjLw3nSQJ
E0:Z_K4hdZq7h8J
75:3C-XszC6kyMJ
77:rtHRfe9A27YJ
97:-eflxIU8g04J
F0:SwVcyzirnnQJ
65:7-hjyVDnHjEJ
A3:hruuOW22_L8J
F9:lEPeKx6ket4J
88:M3DdYOcDTWwJ
FD:Cfwjydcm5VUJ
42:HNXS6FBy7AUJ
4A:-n4dEXmbmyMJ
F7:IPDuatbjjRoJ
52:2xrwdGDvyaEJ
5B:vEMG_nMaZygJ
27:hfidgDDREMsJ
70:DJ1-bAcdQE8J
78:aej8Xg6iVhkJ
61:4SHBf-6ctTQJ
BF:oJWMF8g4n98J
3C:wbyliY5Fw7cJ
BD:dyCQwPoi_QoJ
6D:ROtjpJaaM3AJ
D1:u77vCPi7NX4J
DA:jr7lZOIXHE4J
80:hvDWT2JOOHIJ
48:hfidgDDREMsJ
8B:TMDNdWekwlEJ
73:13SgY09fd9QJ
7E:tx3mt6GYR5oJ
B3:JTLUoSksUFAJ
63:DyaRtEUhtg4J
0B:1q-lkiRNa7kJ
93:L3R7clDgu44J
F5:o-lzUg48_5UJ
01:6YJy7S3OGt8J
26:vs3cbrj7Bi0J
7A:C6L9XGQS6i8J
A4:iMWi3RNzLHUJ
8F:2ELg7mGC5yUJ
1A:rZEfAj2wHgYJ
A6:kP-bP5hmF9cJ
18:KcznZAsaAk0J
FF:kp-fx5_9CzsJ
6C:5I-cinT_0_4J
8C:zaUGihUPAJwJ
0F:AIt7UQkMmZkJ
9B:FYtibg-zD20J
B7:A2SiPb4NwWQJ
89:isoWmMm2QssJ
C5:CibMCkpl2kAJ
0D:g9lghtXOAFMJ
38:gWcquZBJFPIJ
11:_TotMQXuZdgJ
6A:24tx-mIpwmwJ
8A:-FAi_YRhbrgJ
1F:kQEIlYRdi2QJ
41:FoWhbx2IxiUJ
4E:XFlq06C_YeMJ
13:vKSdbEgs9aoJ
D5:m415gDZ2B-UJ
AD:hWBrF9YLK78J
2B:HqEtb7AADmMJ
DE:eCFYrqg0WsEJ
16:QLTeOYg-yB8J
BB:jk-d_Ua8BtIJ
C9:u0J9izcWwvAJ
91:NM3JgAgreZQJ
04:sYb7HA_7lCwJ
08:VwTb3zO7tL8J
DD:kwlsYdonpIgJ
F4:_LIV45PtumsJ
EC:rpMyxZmO6LwJ
54:bDNO5Nsce9EJ
2A:XFgcPHiQ6SYJ
71:b8UD6gHfO6IJ
9E:rwusJNoWjiQJ
FB:c-wHLtEdkf0J
AE:brdZuMrvAMQJ
E8:mzaxbrVLBOUJ
4B:6ye4zJaCE_oJ
22:6fwxGNK3bJgJ
B8:jwvALeEfsbcJ
33:Yqx6f_8RvNgJ
C2:sxB_6QG_Qb4J
C1:RDCyEcRfSgYJ
AF:crKfJjXw_5MJ
53:0DMvhUWTKb8J
DC:e91ckrM89cEJ
B4:WDoT2alpGIUJ
4D:bFmzm_4qu2kJ
C4:0vD_dZABzHMJ
1C:sz33mz3wOUQJ
C6:E7OZk_UQ4CkJ
98:cLfnrVphpKwJ
06:oZjZXvq5HtcJ
64:iVU_MpjctIIJ
9F:X-bZvp5icB4J
95:fNZpE0lgEn8J
A2:RxHFAXHJtyAJ
E3:6HrAalsLflAJ
3B:KqNbjwDqqCMJ
BE:0RUKM-BlaPsJ
0A:1q-lkiRNa7kJ
76:m1ROBo00yiEJ
32:SkX0iYQQY_AJ
40:vl95ZOX_Q4IJ
09:ep_I291MX2cJ
2F:2H1dZ2lZ248J
D4:N-GQv-Nx1z8J
19:f561wYNWgkEJ
D3:UON-_Wr60O8J
74:KQJPHtyNoj4J
3A:lzls7PYvd34J
F1:yQFSR4MaUpwJ
CF:oRRo9yGdXSQJ
4F:W6-iAz1ZqaUJ
29:C-dd67rIqqwJ
66:GO4Tc1u-ugYJ
DB:eC0ElD1t9J0J
43:d6NIXjVJ7KUJ
82:Io93RHeLXQEJ
CD:NXjNyJgzy4IJ
25:_n6PawUEkHcJ
B2:Lc1qYSv3UhUJ
BC:I-13107CCxIJ
83:Y61PENPCqEkJ
EA:9TqNFzh4Z_oJ
47:NwDZxatOEc4J
B1:B-TsYBhWagAJ
6F:fHVktF7dziUJ
D8:xzpGFu00WYwJ
35:9Rk1mF1piREJ
E9:JFkbdecjI8MJ
96:CBItbsrnoXMJ
55:noMLzjxCNboJ
86:sKdRXX1_KzwJ
B6:VUPwfdt9GXQJ
39:rCHm8PFbAI8J
5D:4NwxRMobURQJ
79:kiWLB6a7E5MJ
02:wS3Nm-eK00cJ
E5:eRnVynYCgSsJ
2E:Pus5p0uY2KkJ
17:tOuRl4j_h8EJ
56:YmAwCsJOu2kJ
59:zl6uZ0sBNPkJ
E6:gDEADZ7sg_4J
44:IrzQsQh4XsIJ"""
url = ‘http://google.com/images?q=tbn:‘
strList = pics.split("nn")
for i in strList:
reqString = i.split(":")
# reqString[0] -> pic name
# reqString[1] -> request string
print "Request Url : %s%s , Download pic : %s.jpg" %(url,reqString[1],reqString[0])
reqUrl = url + reqString[1]
urllib.urlretrieve(reqUrl,reqString[0]+‘.jpg‘)
time.sleep(0.5)
print "ALL Done !"

MJ走了 ……
没有哪个歌手的全专辑都被我追全的,只有他
对我来说,他就是Ghost里的那个MJ,就是History里的那个MJ,就是BAD里的那个MJ …… 所以我从没有去关注过关于他的任何负面新闻,我不管那是谁,我只知道,站在麦克风前的那个MJ就是我喜欢的那个MJ,我只关注他,不过他就这么突然的走了 ……
没什么可说的了,相信如此悲痛的歌迷不仅仅我一个,他们会理解

BAD里的造型,是我觉得最帅的

Dangerous里,恩,很酷,尤其是Remeber the time里的那个MJ

History里的MJ让我觉得不再像以前那样轻狂,而是多了一些成熟

Ghost里的MJ,其实并不恐怖
还有很多很多 …… 改天回家整理一下MJ的磁带 ……
要换新电脑桌了,旧桌子要腾空,仅仅是电脑桌上收拾出来的书,不到图书总量的一半
有时候看着这么多书自己也发愁,不过更多的是纳闷 —— 看了这么多书,咋就还这么不上档次呢?!

另外还收拾出一本工作记录本,仔细看封面,别的不多说了 —— 国内某超高级学府内部印刷的

用python的pywin32扩展操作IIS
其实一切非常简单,只要对象找对了,其他的搜M$的MSDN就OK了
#!/usr/bin/env python
# win32com
# List All Virtual Directory in IIS
# Python[AT]Live.it
import re
import win32com.client
def ListVirtualDir(layerName,parentLayer,layerCounter):
# layerName : Current Layer Name
# parentLayer : Current Layer Path
vdName = []
IISObj = parentLayer + ‘/‘ + layerName# Current Layer Path
vd = win32com.client.GetObject(IISObj)
exePerm = ”#{’Scripts Only’:0,’Scripts and Executables’:0,’None’:0}# Execute Permission
for w3 in vd:
if ‘iiswebvirtualdir‘ == w3.Class.lower():
VirDirList.append(‘ ‘*layerCounter + "Virtual Directory Name : %s" %w3.Name)
VirDirList.append(‘ ‘*layerCounter + "Virtual Directory Path : %s" %w3.Path)
VirDirList.append(‘ ‘*layerCounter + "Application Name : %s" %w3.AppFriendlyName)
VirDirList.append(‘ ‘*layerCounter + "Script Source Access : %s" %w3.AccessSource)
VirDirList.append(‘ ‘*layerCounter + "Read Permission : %s" %w3.AccessRead)
VirDirList.append(‘ ‘*layerCounter + "Write Permission : %s" %w3.AccessWrite)
VirDirList.append(‘ ‘*layerCounter + "Directory Browsing Enable : %s" %w3.EnableDirBrowsing)
#VirDirList.append(’ ’*layerCounter + "Execute Permissions : Scripts and Executables : %s" %w3.AccessExecute)
#VirDirList.append(’ ’*layerCounter + "Execute Permission is None : %s" %w3.AccessScript)
if w3.AccessExecute:
exePerm = ‘Scripts and Executables‘
if w3.AccessScript:
if not w3.AccessExecute:
exePerm = ‘Scripts Only‘
else:
exePerm = ‘None‘
VirDirList.append(‘ ‘*layerCounter + "Execute Permissions : %s" %exePerm)
vdName.append(w3.Name)
layerCounter = layerCounter+1
for i in vdName:
ListVirtualDir(i,IISObj,layerCounter)
SiteName = {}
layerCounter = 1
iis = win32com.client.GetObject(‘IIS://localhost/w3svc‘)
for w3 in iis:
if ‘iiswebserver‘ == w3.Class.lower():
SiteName[w3.Name] = w3.ServerComment
for SiteID in SiteName.keys():
VirDirList = []
ListVirtualDir(‘ROOT‘,‘IIS://localhost/w3svc/%s‘ %SiteID,layerCounter)
if len(VirDirList)>0:
print "Site : IIS://localhost/w3svc/%s " %SiteName[SiteID]
for i in VirDirList:
print i
print "\n";
#
# E_O_F

昨天下午调了半天BT4-BETA的光盘,BT4-BETA里没有带ubiquity,自己装上后,ubiquity有严重问题导致安装到一半会报错
后来看了下代码,是一个ubiquity的库文件有问题 —— filterdcommand.py
改了几次filterdcommand.py的代码,最后却只是跳出了更多的错误信息 —— 但至少说明我的代码工作了,于是放弃,准备放狗搜
随后就在Google上发现这个问题似乎很多人报告,猜想BT必然不会放弃群众
于是到BT网站上去看,就发现了BT4-PRE-FINAL的ISO已经放出,链接:http://www.remote-exploit.org/backtrack_download.html
使用这个ISO启动,发现ubiquity已经带上了,而且安装也没有问题了 …… 可以放心在硬盘上使用了

先说书,《希腊罗马名人传》国内好像只翻译了第一部,应该有上、中、下三部的,后两部等了这么长时间也没有动静,很不靠谱
还好这种老书都没什么版权问题,网上很容易找到E文版本,打个包藏起来,点击下载
还有BBLean,X61上一直装不上,也不是说完全用不了,只是一些键有兼容问题,很难取舍,只能在公司的R50e上瞎得瑟着

家里自用的本子不打算用Windows了,麻烦的很,弄个nUbuntu算了
再说美剧,年初出了个新的 —— 《Lie to me》,专门研究谎言
对于坚信本能行为先于理智动作的我来说,很合适,该剧与前段时间出的一本书也有很多相似之处 —— 《FBI教你破解身体语言》
不过图书中似乎更真实一些,而美剧中的内容理性化的成分过多,导致一些所谓的微动作似乎并不是那么真实,至少让我看起来不完全相信那是无意识行为
不过还好,美剧向来不是一条主线走到底,其中还穿插了很多人性的内容,还是值得一看的。
今天的天气好闷热 ……
这个 …… 让我想起了CCAV关于死亡人数的竞猜,新闻娱乐化的大潮势不可挡啊



记得有个朋友和我说过啥来着?
“就你眼尖,就你嘴闲” —— 我真的很贱
两个版本,同样的问题就是都没考虑SetUID、SetGID和粘住位
最早的版本,方法比较复杂:
#!/usr/bin/perl
# convert permission string to numeric [old]
# Python[AT]Live.it
sub trans_char_to_num{
my @acl = @_;
my @acl_3_part = ([$acl[0],$acl[1],$acl[2]],
[$acl[3],$acl[4],$acl[5]],
[$acl[6],$acl[7],$acl[8]]);
my %perm = (
‘r‘,4,
‘w‘,2,
‘x‘,1);
my @rwx = (‘r‘,‘w‘,‘x‘);
my $first = 0;
for ($i=0;$i<3;$i++) { # 0,1,2 …….
if ($acl_3_part[0][$i] eq $rwx[$i]) {
$first = $first+$perm{$rwx[$i]};
}
}
my $second = 0;
for ($i=0;$i<3;$i++) { # 0,1,2 …….
if ($acl_3_part[1][$i] eq $rwx[$i]) {
$second = $second+$perm{$rwx[$i]};
}
}
my $third = 0;
for ($i=0;$i<3;$i++) { # 0,1,2 …….
if ($acl_3_part[2][$i] eq $rwx[$i]) {
$third = $third+$perm{$rwx[$i]};
}
}
return($first.$second.$third);
}
my $passacl = `ls -l $ARGV[0]`;
my @ls_l_passwd = split /s+/,$passacl;
@passwd_perm = split //,$ls_l_passwd[0];
shift @passwd_perm;
$passwd_acl = trans_char_to_num(@passwd_perm);
print $passwd_acl,"n";
输出:
bash-2.05# touch test
bash-2.05# chmod 642 test
bash-2.05# perl ttt.pl test
642
前两天的版本,相对简单一些,调用方式也更直接了:
#!/usr/bin/perl
# convert permission string to numeric [new]
# Python[AT]Live.it
sub strTOnum{
my $file = $_[0];
unless (-f $file){
return "$file doesn’t exist.";
}
my $filePermLine = `ls -l $file`;
my $filePerm = ‘NoSet‘;
if ($filePermLine=~/([-|w]([r|-][w|-][x|-]){3})s+d+.*/){
# -rwxrwxrwx –> rwxrwxrwx
$filePerm = $1;
@filePerms = split(//,$filePerm);
$filePerm = ”;
shift @filePerms;
# string to binary : rw-rw-rw- –> 110110110
foreach (@filePerms){
if (/w/){
$filePerm = $filePerm.‘1‘;
}
elsif (/-/){
$filePerm = $filePerm.‘0‘;
}
}
}
my $dec = oct(‘0b‘.$filePerm);
$perm = sprintf "%o",$dec;
# 4 -> 004 , 40->040
if (length($perm)!=3){
$perm = ‘0‘x(3-length($perm)).$perm;
}
return $perm;
}
print strTOnum($ARGV[0]),"n";
输出:
bash-2.05# touch test
bash-2.05# chmod 642 test
bash-2.05# perl perm.pl test
642
空气和longas来北京了,豆子说出去玩,说找个长城,能代表北京一个特色
起初我说去野长城吧,而且选择了“箭扣野长城”,出游日期就定在6月13日那一天
后来多谢土豆在询问了专业人士之后改变了主意,没选择我的野长城出游方案,否则我们可能尸骨无存
虽然选择了人山人海的八达岭,但我们到的较早,过程中人不算多,但到终点后发现大量通过缆车登顶的人聚拥在那里,很崩溃
长城游玩后去了农家乐,并且找了一个景色不怎么美而且水很脏、树很少的森林淋了会雨,搞的满身泥巴后,就带着疲惫回家了 ……



恩,突然发现很奇怪,虽为长城游,却没整理出一张长城上看着顺眼的照片 ……
至少在我认为,Nitecore的做工一直是国内靠前的,但这次的EZAA还是比较失望的,Nitecore貌似也走到死胡同里了

EZAA
Nitecore的标记,虽说新版的开关行程缩短,但没觉得比老版短多少

看着这段开关,让我想起了《少林足球》里的酱爆,《功夫》里的剃头男
虽然没有照出来,但作为目前最小的1AA电筒,其筒壁厚度可以想象,那块海绵也看着挺恶心

海绵垫看起来不太干净的样子
和NDI比起来还真算得上是小,如果狠得下心的话,估计能把EZAA塞到NDI的屁股里

没照屁股只照了脑袋