I am LAZY bones?
AN ancient AND boring SITE

分类: '备忘' 的归档

HTML的entity reference Character列表

所谓 entity reference Character 就是html里类似 &xxxx; 这样的字符,浏览器会把这样的字符给替换成奇奇怪怪的符号.
另外 charref 是指 &#nnnn; 这样的,直接把unicode码写在源码里的字符
昨天给gmbox增加entity reference支持的时候,发现在网上很难找到完整的一个列表,于是问TX.然后TX今天就给我了一个PDF文档,我用脚本稍微整理了一下,如下表,每个格子是一个字符,给出原字符+源码形式+unicode,或许在写HTML代码或者解析HTML代码的时候会用到.另外还提供方便用于源码的txt文件.

À
À
192
Á
Á
193
Â
Â
194
Ã
Ã
195
Ä
Ä
196
Å
Å
197
Æ
Æ
198
Ç
Ç
199
È
È
200
É
É
201
Ê
Ê
202
Ë
Ë
203
Ì
Ì
204
Í
Í
205
Î
Î
206
Ï
Ï
207
Ð
Ð
208
Ñ
Ñ
209
Ò
Ò
210
Ó
Ó
211
Ô
Ô
212
Õ
Õ
213
Ö
Ö
214
Ø
Ø
216
Œ
Œ
338
Š
Š
352
Ù
Ù
217
Ú
Ú
218
Û
Û
219
Ü
Ü
220
Ý
Ý
221
Ÿ
Ÿ
376
Þ
Þ
222
ß
ß
223
à
à
224
á
á
225
â
â
226
ã
ã
227
ä
ä
228
å
å
229
æ
æ
230
ç
ç
231
è
è
232
é
é
233
ê
ê
234
ë
ë
235
ì
ì
236
í
í
237
î
î
238
ï
ï
239
ð
ð
240
ñ
ñ
241
ò
ò
242
ó
ó
243
ô
ô
244
õ
õ
245
ö
ö
246
ø
ø
248
œ
œ
339
š
š
353
ù
ù
249
ú
ú
250
û
û
251
ü
ü
252
ý
ý
253
ÿ
ÿ
255
þ
þ
254
Α
Α
913
Β
Β
914
Γ
Γ
915
Δ
Δ
916
Ε
Ε
917
Ζ
Ζ
918
Η
Η
919
Θ
Θ
920
Ι
Ι
921
Κ
Κ
922
Λ
Λ
923
Μ
Μ
924
Ν
Ν
925
Ξ
Ξ
926
Ο
Ο
927
Π
Π
928
Ρ
Ρ
929
Σ
Σ
931
Τ
Τ
932
Υ
Υ
933
Φ
Φ
934
Χ
Χ
935
Ψ
Ψ
936
Ω
Ω
937
α
α
945
β
β
946
γ
γ
947
δ
δ
948
ε
ε
949
ζ
ζ
950
η
η
951
θ
θ
952
ι
ι
953
κ
κ
954
λ
λ
955
μ
μ
956
ν
ν
957
ξ
ξ
958
ο
ο
959
π
π
960
ρ
ρ
961
ς
ς
962
σ
σ
963
τ
τ
964
υ
υ
965
φ
φ
966
χ
χ
967
ψ
ψ
968
ω
ω
969
ϒ
ϒ
978
ϖ
ϖ
982
ϑ
ϑ
977
¦
¦
166
¡
¡
161
¿
¿
191
&
&
38
"
"
34
‘
‘
8216
’
’
8217
‚
‚
8218
“
“
8220
”
”
8221
„
„
8222
‹
‹
8249
›
›
8250
«
«
171
»
»
187
…
…
8230
·
·
183
º
º
186
ª
ª
170
†
†
8224
‡
‡
8225
‰
‰
8240
´
´
180
ˆ
ˆ
710
˜
˜
732
¨
¨
168
¸
¸
184
¯
¯
175
‾
‾
8254
–
–
8211
—
—
8212
•
•
8226
§
§
167

¶
182
©
©
169
®
®
174
™
™
8482
−
−
8722
±
±
177
×
×
215
÷
÷
247
≠
≠
8800
≡
≡
8801
∼
∼
8764
≅
≅
8773
≈
≈
8776
<
&lt;
60
≤
&le;
8804
>
&gt;
62
≥
&ge;
8805
∗
&lowast;
8727
¬
&not;
172
°
&deg;
176
²
&sup2;
178
³
&sup3;
179
′
&prime;
8242
″
&Prime;
8243
⁄
&frasl;
8260
¼
&frac14;
188
½
&frac12;
189
¾
&frac34;
190
√
&radic;
8730
∀
&forall;
8704
∃
&exist;
8707
∅
&empty;
8709
∇
&nabla;
8711
∈
&isin;
8712
∉
&notin;
8713
∋
&ni;
8715
∝
&prop;
8733
∠
&ang;
8736
∧
&and;
8743
∨
&or;
8744
∩
&cap;
8745
∪
&cup;
8746
⊂
&sub;
8834
⊃
&sup;
8835
⊄
&nsub;
8836
⊆
&sube;
8838
⊇
&supe;
8839
⊕
&oplus;
8853
⊗
&otimes;
8855
⊥
&perp;
8869
⋅
&sdot;
8901
⌈
&lceil;
8968
⌉
&rceil;
8969
⌊
&lfloor;
8970
⌋
&rfloor;
8971
⟨
&lang;
9001
⟩
&rang;
9002
∴
&there4;
8756
∞
&infin;
8734
ƒ
&fnof;
402
∂
&part;
8706
∫
&int;
8747
∏
&prod;
8719
∑
&sum;
8721
µ
&micro;
181
℘
&weierp;
8472
ℑ
&image;
8465
ℜ
&real;
8476
ℵ
&alefsym;
8501
¢
&cent;
162
£
&pound;
163
¤
&curren;
164
¥
&yen;
165
€
&euro;
8364
↵
&crarr;
8629
←
&larr;
8592
↑
&uarr;
8593
→
&rarr;
8594
↓
&darr;
8595
↔
&harr;
8596
⇐
&lArr;
8656
⇑
&uArr;
8657
⇒
&rArr;
8658
⇓
&dArr;
8659
⇔
&hArr;
8660
♠
&spades;
9824
♣
&clubs;
9827
♥
&hearts;
9829
♦
&diams;
9830
◊
&loz;
9674
 
&nbsp;
160
 
&ensp;
8194
 
&emsp;
8195
 
&thinsp;
8201
‌
&zwnj;
8204
‍
&zwj;
8205

font-face真好玩

firefox从3.5版本开始,已经支持font-face属性了.
这个属性是干吗用的呢?简单地说就是可以在客户端没有安装某个字体的时候,也显示出网页设计者指定的字体.
实现的过程,大概就是先在CSS里指定某个字体文件的路径,然后在浏览器打开页面的时候,临时下载此字体,再进行渲染.
如果你现在用的正是firefox3.5,那么你看到的本blog标题应该是这个样子的:
I_am_lazy_bones
如果看不到的话,赶紧升级浏览器去吧~
CSS的写法可以参照这里,我就不重复了.
另外,我用的字体来自UrbanFonts.com,这里有很多Free Fonts可用哦~
可以预见,以后肯定有越来越多的浏览器会支持此个性化的属性,以后的web也必将更加多姿多彩~

记一下一些分辨率的名字

纯备忘而已,粗体是比较常用的.
不过为什么没有 1280*800 呢? 我也不知道,要么看这里或这里好了.

qqvga : 160 x 120 : Quarter Quarter VGA
palm : 160 x 160 : Original Palm OS Devices
eigthvga : 240 x 160 : 1/8 VGA
vcrntsc : 240 x 480 : VCR NTSC
vcrpal : 240 x 576 : VCR PAL
qcif : 176 x 144 : Quarter CIF
gears : 300 x 300 : OpenGL Gears Benchmark
glxgears : 300 x 300 : OpenGL Gears Benchmark
cga : 320 x 200 : IBM PC CGA (Color Graphics Adapter)
atarist16 : 320 x 200 : Atari ST 16 Color
qvga : 320 x 240 : Quarter VGA
modex : 320 x 240 : VGA Mode X
pocketpc : 320 x 240 : Common Pocket PCs
clie : 320 x 320 : Sony Clie (Palm OS)
vcdntsc : 352 x 240 : VCD (Video CD) NTSC
vcdpal : 352 x 288 : VCD (Video CD) PAL
cif : 352 x 288 : CIF (Common Image Format)
tweakvga : 360 x 480 : Highest 256-color mode for VGA monitors
svhsntsc : 400 x 480 : S-VHS NTSC
svhspal : 400 x 576 : S-VHS PAL
tungsten : 480 x 320 : Tungsten (Palm OS)
bwmac9 : 512 x 342 : Black & White 9″ Mac
maclc : 512 x 384 : Mac LC
ldntsc : 560 x 480 : Laserdisc NTSC
ldpal : 560 x 576 : Laserdisc PAL
atarist4 : 640 x 200 : Atari ST 4 Color
ega : 640 x 350 : IBM PC-AT EGA (Extended Graphics Adapter)
atarist2 : 640 x 400 : Atari ST 2 Color
qcga : 640 x 400 : Quad CGA
vga400 : 640 x 400 : VGA 400 Line
pgc : 640 x 480 : Professional Graphics Controller
mcga : 640 x 480 : IBM PS/2 MultiColor Graphics Adapter
vga : 640 x 480 : IBM PS/2 VGA (Video Graphics Array)
edtv1 : 640 x 480 : EDTV 1
edtv2 : 704 x 480 : EDTV 2
hgc : 720 x 348 : Hercules Graphics Controller
mda : 720 x 350 : IBM PC MDA (Monochrome Display Adapter)
lisa : 720 x 360 : Apple Lisa
dvdntsc : 720 x 480 : Digital Video 525/60 (D-1 NTSC, DVD NTSC)
sp525 : 720 x 540 : Digital Video 525/60 (D-1 NTSC Square Pix)
spd1ntsc : 720 x 540 : Digital Video 525/60 (D-1 NTSC Square Pix)
dvdpal : 720 x 576 : Digital Video 625/50 (PAL, DVD PAL)
ns525 : 768 x 483 : Non-Standard DV 525/60
sp625 : 768 x 576 : Square Pixel DV 625/50
wga : 800 x 480 : Wide VGA
svga : 800 x 600 : Super VGA
edtv3 : 852 x 480 : EDTV 3
ws480 : 854 x 480 : Wide Screen 480 Line
ns625 : 948 x 576 : Non-Standard DV 625/60
aacsict : 960 x 540 : AACS Image Constraint Token
ws576 : 1024 x 576 : Wide Screen 576 Line
evga : 1024 x 768 : VESA Extended VGA
xga : 1024 x 768 : IBM XGA (eXtended Graphics Array)
nextcube : 1120 x 832 : NeXT Cube
apple1mp : 1152 x 864 : Apple “1 Megapixel”
xga+ : 1152 x 864 : XGA+
olpcmono : 1200 x 900 : One Laptop Per Child Mono Mode (true res)
olpc : 1200 x 900 : One Laptop Per Child Mono Mode (true res)
720i : 1280 x 720 : HDTV 720 Line Interlaced
720p : 1280 x 720 : HDTV 720 Line Progressive
hd720 : 1280 x 720 : HDTV 720 Line
xga43 : 1280 x 960 : 4:3 XGA Alternative
xga960 : 1280 x 960 : 4:3 XGA Alternative
sxga : 1280 x 1024 : Super XGA
wxga : 1366 x 768 : Wide XGA 很多液晶电视的分辨率
wsxga : 1440 x 900 : Wide Super XGA (Low Variant)
wsxga1 : 1440 x 900 : Wide Super XGA (Low Variant)
wxga+ : 1440 x 900 : Wide XGA+
sxga+ : 1440 x 1050 : Super XGA+
wsxga2 : 1600 x 1024 : Wide Super XGA (High Variant)
uxga : 1600 x 1200 : Ultra XGA
wsxga+ : 1680 x 1050 : Wide Super XGA+
academy2k : 1828 x 1332 : Digital Film Academy 1.375:1 @ 2K
1080i : 1920 x 1080 : HDTV 1080 Line Interlaced
1080p : 1920 x 1080 : HDTV 1080 Line Progressive
hd1080 : 1920 x 1080 : HDTV 1080 Line
wuxga : 1920 x 1200 : Wide Ultra XGA
dc2k1 : 1998 x 1080 : Digital Film Digital Cinema 1.85:1 @ 2K
dc2k2 : 2048 x 858 : Digital Film Digital Cinema 2.39:1 @ 2K
eurohd : 2048 x 1152 : European HDTV
qxga : 2048 x 1536 : Quad XGA
wqxga : 2560 x 1600 : Wide Quad XGA
qsxga : 2560 x 2048 : Quad Super XGA
wqsxga : 3200 x 2048 : Wide Quad Super XGA
quxga : 3200 x 2400 : Quad Ultra XGA
academy4k : 3656 x 2664 : Digital Film Academy 1.375:1 @ 4K
wquxga : 3840 x 2400 : Wide Quad Ultra XGA
dc4k1 : 3996 x 2160 : Digital Film Digital Cinema 1.85:1 @ 4K
dc4k2 : 4096 x 1714 : Digital Film Digital Cinema 2.39:1 @ 4K
hxga : 4096 x 3072 : Hexadecatuple XGA
whxga : 5120 x 3200 : Wide Hexadecatuple XGA
hsxga : 5120 x 4096 : Hexadecatuple Super XGA
whsxga : 6400 x 4096 : Wide Hexadecatuple Super XGA
huxga : 6400 x 4800 : Hexadecatuple Ultra XGA
whuxga : 7680 x 4800 : Wide Hexadecatuple Ultra XGA

python 跨平台运行笔记

最近在折腾gmbox,这个东东我设想是要让它跨平台运行的,原本想跨平台可能会比较麻烦,但是试了一下才知道,确实非常简单.这都得益于python本身的跨平台特性.
纯python程序要在win下运行,只要简单地下载并安装python运行环境,就会自动做好.py文件和python的关联,要运行一个python程序,只需简单地双击即可.
如果是用pygtk的图选界面程序的画,会稍微麻烦一点点,在如上安装了python运行环境以后,还需要分别安装GTK+库、PyCairo、PyGObject和PyGTK才行.安装路径最好都是用默认的.
另外,我还发现,如果是在vbox的虚拟XP里运行py程序,程序所在目录又是vbox分配的”数据空间”的话,在import自己写的模块的(也就是把.py转成.pyc)时候,就会产生

这样的错误…
再另外,对于中文的处理,在纯python下,只要在所有字符串常量前加u,表示是unicode字符串,就完全没有问题的.但是到了pygtk,就会有些麻烦,也许可以参考这里.还要再研究研究.

python里强大的re模块

今天遇到一个小问题,用脚本把某web页面抓取下来时,里面的中文都是类似”&#24110;&#21161;”这样的格式.这当然不是我想要的,我需要把它转化为可读的汉字.
为了解决这个问题,首先要用到内建函数unichr:
unichr(24110) 能得到”帮”字, unichr(21161) 能到”助”字,问题是我怎么批量吧html里面的所有 &#nnnnn; 替换掉呢?
干这类事情当然需要正则表达式了,于是,去翻re的文档,还真让我给找到了,方法如下:

运行这段示例代码就可以得到我想要的结果了,哈哈.
觉得python的这个re好强大,居然替换字符串还可以是个函数…太佩服这个设计了.

mldonkey相关备忘

其实,比起 BT/ED2K/迅雷 等P2P的下载方式,我更喜欢传统的ftp. 但是ftp里面不是什么都能下载到的,最近想下载一些老电影,于是还是用上了mldonkey.
从EE的blog里搜出来一些东西,不过这家伙的写东西基本上都看不懂而且也不能用的,呵呵,改了改,基本上好了.如下:
先是按需启动mlnet,建立一个 autostart.sh ,chmod +x 以后,加到gnome的会话里面(这样以后有其他需要自启动的东西也方便了),内容如下:

这样,只要有未下载完成的内容,都会在登录系统的时候打开mlnet,避免忘记开而浪费时间了.
另外,加这个alias到.bashrc,可以方便地查看下载状态:

效果如图:
alias效果

=======090121补充firefox关联ed2k到mldonkey的方法========
建立一个脚本文件(我的叫 ed2kml ),内容为:

加上可执行权限,然后,firefox的地址栏里输入 about:config ,在里面新建一个布尔型的键,名字为 network.protocol-handler.external.ed2k ,值为true,再建一个字符串型键, 名为 network.protocol-handler.app.ed2k 值为 ed2kml 的绝对路径.
打开mldonkey以后,在firefox里点击一个ed2k链接,firefox会弹出一个选择连接的窗口,记住不要使用默认的,点”其他程序”,再定位到刚才的ed2kml,确定就可以了.可以勾选记住设置,以后就直接点链接就行了.

抓了所有中国手机号段的数据

由于工作需要,我最近要查询大量手机号码的归属地,而本地又没有手机号段-归属地的映射数据,所以随手写了行脚本,运行了N个小时后,终于抓回了166000行的数据.包括13*,151*,1530-1535,155-156,1571,158-159号段的归属地信息.因为据我考查,目前的所有手机号码都应该在以上号段里面,当前的仍在广告中的188和189号段的数据也都还查不到,以后出了,我想我会再更新的.
对了,数据来自手机在线,感谢一下.命令就简单的一行:

改一下seq的值就可以得到不同段的结果,但不推荐再大号段地抓数据了,毕竟人家的服务器和流量也是要钱的,如果需要数据的话,从这里下载我抓好的,嘿嘿.

笔记本显示器屏保和电源管理完美解决方案

本文要实现的目标: 完美控制笔记本LCD的屏保和黑屏,具体地说是实现

1. 平时键鼠10分钟无动作,将LCD转入屏保;15分钟无动作,将LCD彻底断电
2. mplayer看电影的时候,持续不屏保不断电.
3. 按下 ctrl+alt+L 的时候,立即锁住屏幕并将LCD断电.

适用人群: linux用户(废话,我没条件测试BSD和其他*nux),gnome用户,compiz用户,用命令行启动mplayer的用户.当然如果不全符合,部分内容也是可以参考的,比如双击电影文件打开mplayer的用户,可以自己修改文件的打开方式;非compiz用户可以用其他方式绑定命令等.

步骤:

1. 在 /etc/X11/xorg.conf 文件的 Section “ServerLayout” 一节里,加上一行 Option “OffTime” “180” 数值也可以更大些,避免X的影响.
2. 在 ~/bin 下建立一个名为 mplayer 的可执行shell脚本,并把 ~/bin 加入$PATH,位置要在 /usr/bin 前面,不然就自己换名字吧.
脚本内容如下:

3. 系统 – 首选项 – 键盘快捷键 里面取消”锁住屏幕”的键盘绑定.
4. 打开ccsm,在 General Options – Commands 里面,添加一个 ctrl+alt+l 键的绑定,命令如下:

5. 系统 – 首选项 – 屏幕保护程序,将主题选为”黑屏”(当然看个人爱好,我觉得花CPU去绘制屏保,是种浪费,就选黑屏了).
6. 系统 – 首选项 – 电源管理,设置成15分钟后将显示器转入睡眠.
7. 完成了,哈哈~

一些解释和废话:
此方案里用到了 gnome-screensaver 的控制程序 gnome-screensaver-command ,我觉得很不错,不知道 xscreensaver 和 kscreensaver 是不是也有相应的命令,有的话KDE用户也可以用此方案了.
控制电源,用到了 xset ,没有安装的朋友请自行搞定安装.
mplayer的1.0rc2版本,号称有可以停掉 xscreensaver 甚至 gnome-screensaver 的选项,但根据我的试验,都无效,可能是因为的是SVN版本的mplayer的关系吧.所以不得不自己写个脚本搞定,脚本用于替换 mplayer ,如果你喜欢也可以简写成 mp 之类的.
另外,LCD用户需要注意一下了,其实由于LCD并没有电子束轰击荧光粉,所以适用于CRT的屏幕保护程序对LCD其实是很不适合的,根本起不到保护液晶单元和背光灯管的作用.何况,linux下好看的3D屏保,其实都蛮耗CPU的,如今都流行创建集约型社会了,都提倡节能减排了,所以,离开电脑的最佳选择是用黑屏屏保锁住屏幕+显示器断电.当然,也推荐CRT用户这么干.

ext文件系统的文件大小杂记

事情是这样起源的:
今天用奔流下个电影,由于速度太快(都超过2MB/s了),怕被网管发现,也怕影响人家正常使用网络,我就把BT给暂停了,想看看到底下了多少,于是:

lily@LLY:~/benliud/Downloaded/Mission.Impossible.Trilogy/Mission.Impossible.1996.720P.HDVDRip.X264-TLF$ ls -lh tlf-missionimpossible1.720hdvd.mkv
-rw-r–r– 1 lily lily 4.4G 12-02 13:33 tlf-missionimpossible1.720hdvd.mkv
lily@LLY:~/benliud/Downloaded/Mission.Impossible.Trilogy/Mission.Impossible.1996.720P.HDVDRip.X264-TLF$ du -sh tlf-missionimpossible1.720hdvd.mkv
450M tlf-missionimpossible1.720hdvd.mkv

发现用ls命令看到的大小是4.4G,而du命令看到的却只有450M,于是我就纳闷了.网上找了一下原因,还是蛮好理解的,大致总结如下:
ls的大小应该是从 superblock 里面的文件描述里取的,这样的好处就是处理起来很快,不用去统计这个文件到底占用了多少block,而du命令则是 disk usage的缩写,是会去统计具体占用的block的.而这个文件下载完成以后,应该是有4.4G大的,但是目前还只下载了450M,所以文件描述里面的大小是4.4G,实际占用的确是450M.
而且,ls和du对块大小(block size)的处理,也有点不同,举例来说,如果文件只有1个字节,我们知道它也要占用一整个块,所以ls的时候的大小是1,而du的时候却会是4k.(这个4k是默认值,视所在分区文件系统的参数而定,分区的块大小可以用 tune2fs -l /dev/XXX 来查看.)
当然,ls和du都有相应的选项来改变自己的行为, ls -s 可以在第一列多显示一个实际占用的块大小(和du的值一样);du -b 也可以显示文件描述里面的大小(和ls的值一样),哈哈~

参考文章.

rpm命令用法整理

由于自己用的是deb系的ubuntu,但是很多服务器都是rpm系的,所以很少用又偶尔要用到rpm命令,经常忘记选项,man也还挺长…
写在这里,和deb系的做个对照.

安装:
rpm -ivh XXX.rpm
dpkg -i

卸载:
rpm -e
dpkg -r (一般都用apt-get)

查文件在哪个包:
rpm -qif /usr/bin/g++32
dpkg -S

查看有没有安装某个包:
rpm -qa gcc\* (正则的*号要转义)
dpkg –get-selections gcc*

查询包里的文件:
rpm -ql compat-gcc-32-c++
dpkg -L