Skip to content

域名终于搞回来了

22-9-08

作者:wd 发表于:2008-09-22 17:05
版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处[http://wdicc.com/wdicc-com-is-return/]和作者信息及本版权声明。

历经周折,总算把域名弄回来了。我还是喜欢 wdicc.com 多过 wdicc.cn。呵呵。顺便鄙视一下 xh 这头猪,差点把我的域名弄丢。

搜索引擎比较

19-9-08

作者:wd 发表于:2008-09-19 09:21 最后更新于:2008-09-19 09:29
版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处[http://wdicc.com/compare-search-engines/]和作者信息及本版权声明。

前两天wii的放电视上面那个红外发射器的线断了,就搜索了一下看能不能修好。结果在 google.cn 搜到一条相关结果。今天看到 youdao.com 上线的消息,就兴起把各个搜索引擎都测试了一下。抓图如下。

百度的结果似乎和“断了”没有关系,这也敢号称最懂中文?三个关键字就sb了,垃圾一个。

yahoo.cn 的结果也不是我想要的,不过至少“断了”这个关键字出来了。。。

youdao 的结果比较来说好像是最好的了,里面我需要的不少。

google.cn 的结果第一条很符合我的要求,不过后面的。。怎么还出来psp了?。。。

不完全测试,仅作为消遣用,呵呵。

超强的rtorrent

13-9-08

作者:wd 发表于:2008-09-13 13:02 最后更新于:2008-09-16 11:33
版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处[http://wdicc.com/supper-rtorrent/]和作者信息及本版权声明。

越狱又开始了,没周末总要下一个看看。之前用 delug,速度还行,用起来感觉不错。可是自从 1.0rc 的某个版本之后,下载的时候时不时出现 CPU 100% 的情况。就装了 transmisstion,他不支持 dht,国内的下载速度很慢,去下国外的好像还行。

今天又试了一下 rtorrent,之前也用过,不过速度总上不来让人很郁闷。rtorrent 从某个版本就开始支持 dht 了,我之前使用的时候不知道从哪里去看这个支持,速度很慢,基本就不用了。今天总算发现了问题在哪里。

rtorrent 的配置文件是 ~/.rtorrent.rc ,例如我的。

# This is an example resource file for rTorrent. Copy to
# ~/.rtorrent.rc and enable/modify the options as needed. Remember to
# uncomment the options you wish to enable.
 
# Maximum and minimum number of peers to connect to per torrent.
min_peers = 40
max_peers = 200
 
# Same as above but for seeding completed torrents (-1 = same as downloading)
#min_peers_seed = 10
#max_peers_seed = 50
 
# Maximum number of simultanious uploads per torrent.
#max_uploads = 15
 
# Global upload and download rate in KiB. "0" for unlimited.
#download_rate = 0
upload_rate = 30
 
# Default directory to save the downloaded torrents.
directory = /movie/download
 
# Default session directory. Make sure you don't run multiple instance
# of rtorrent using the same session directory. Perhaps using a
# relative path?
session = ./rtorrent-session
 
# Watch a directory for new torrents, and stop those that have been
# deleted.
#schedule = watch_directory,5,5,load_start=./watch/*.torrent
#schedule = untied_directory,5,5,stop_untied=
 
# Close torrents when diskspace is low.
#schedule = low_diskspace,5,60,close_low_diskspace=100M
 
# Stop torrents when reaching upload ratio in percent,
# when also reaching total upload in bytes, or when
# reaching final upload ratio in percent.
# example: stop at ratio 2.0 with at least 200 MB uploaded, or else ratio 20.0
#schedule = ratio,60,60,"stop_on_ratio=200,200M,2000"
 
# The ip address reported to the tracker.
#ip = 127.0.0.1
#ip = rakshasa.no
 
# The ip address the listening socket and outgoing connections is
# bound to.
#bind = 127.0.0.1
#bind = rakshasa.no
 
# Port range to use for listening.
port_range = 18204-19203
 
# Start opening ports at a random position within the port range.
#port_random = yes
 
# Check hash for finished torrents. Might be usefull until the bug is
# fixed that causes lack of diskspace not to be properly reported.
#check_hash = no
 
# Set whetever the client should try to connect to UDP trackers.
use_udp_trackers = yes
 
# Alternative calls to bind and ip that should handle dynamic ip's.
#schedule = ip_tick,0,1800,ip=rakshasa
#schedule = bind_tick,0,1800,bind=rakshasa
 
# Encryption options, set to none (default) or any combination of the following:
# allow_incoming, try_outgoing, require, require_RC4, enable_retry, prefer_plaintext
#
# The example value allows incoming encrypted connections, starts unencrypted
# outgoing connections but retries with encryption if they fail, preferring
# plaintext to RC4 encryption after the encrypted handshake
#
encryption = allow_incoming,enable_retry,prefer_plaintext
 
# Enable DHT support for trackerless torrents or when all trackers are down.
# May be set to "disable" (completely disable DHT), "off" (do not start DHT),
# "auto" (start and stop DHT as needed), or "on" (start DHT immediately).
# The default is "off". For DHT to work, a session directory must be defined.
#
dht = on
 
# UDP port to use for DHT.
#
dht_port = 18203
 
# Enable peer exchange (for torrents not marked private)
#
peer_exchange = yes
 
#
# Do not modify the following parameters unless you know what you're doing.
#
 
# Hash read-ahead controls how many MB to request the kernel to read
# ahead. If the value is too low the disk may not be fully utilized,
# while if too high the kernel might not be able to keep the read
# pages in memory thus end up trashing.
#hash_read_ahead = 10
 
# Interval between attempts to check the hash, in milliseconds.
#hash_interval = 100
 
# Number of attempts to check the hash while using the mincore status,
# before forcing. Overworked systems might need lower values to get a
# decent hash checking rate.
#hash_max_tries = 10
 
encoding_list = UTF-8

里面最主要的是 dht=on 和 session,这两个同时启用,才能让 dht 生效,因为 dht 需要保存 dht table 到这个路径下面。配置好之后,去 tracker list 里面看,应该多了一个 dht:// ,这就o了,还有些其他信息,可以自己琢磨琢磨。

ATI 显卡双头显示配置

08-9-08

作者:wd 发表于:2008-09-08 15:03 最后更新于:2009-01-01 09:01
版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处[http://wdicc.com/ati-dual-head/]和作者信息及本版权声明。

参考自这里

双头就是接第二个显示器,或者接投影仪什么的,ati 里面叫做 bigdesktop,nvidia 叫做 twinview ,intel 的不太清楚,我记得好像也有个自己的名字。

Nvidia 的官方驱动有 twinview 的支持,图形界面下面配置起来似乎也不是很难。 ATI 的官方驱动支持的是 bigdesktop ,也有图形界面,不过那个界面很恶心,经常出现问题,不过可以试着删除 /etc/ati/amdpcsdb 文件试试看。

下面是一个 bigdesktop 的 xorg.conf 文件。

Section "ServerLayout"
	Identifier     "Default Layout"
	Screen         "Default Screen" 0 0
	InputDevice    "Generic Keyboard"
	InputDevice    "Configured Mouse"
	InputDevice    "Synaptics Touchpad"
EndSection
 
Section "ServerFlags"
	Option	    "AIGLX" "off"
	#Option	    "AIGLX" "true"
EndSection
 
Section "Module"
	load "dbe"
EndSection
 
Section "InputDevice"
	Identifier  "Generic Keyboard"
	Driver      "kbd"
	Option	    "CoreKeyboard"
	Option	    "XkbRules" "xorg"
	Option	    "XkbModel" "pc104"
	Option	    "XkbLayout" "us"
	#Option "XkbOptions" "ctrl:nocaps"
EndSection
 
Section "InputDevice"
	Identifier  "Configured Mouse"
	Driver      "mouse"
	Option	    "CorePointer"
	Option	    "Device" "/dev/input/mice"
	Option	    "Protocol" "ImPS/2"
	Option	    "Emulate3Buttons" "true"
EndSection
 
Section "InputDevice"
	Identifier  "Synaptics Touchpad"
	Driver      "synaptics"
	Option	    "SendCoreEvents" "true"
	Option	    "Device" "/dev/psaux"
#	Option	    "Protocol" "auto-dev"
	Option	    "HorizScrollDelta" "0"
EndSection
 
Section "Monitor"
	Identifier   "Generic Monitor"
	HorizSync    28.0 - 51.0
	VertRefresh  43.0 - 60.0
	Option	    "DPMS"
EndSection
 
Section "Device"
	Option	    "DesktopSetup" "horizontal" #Enable Big Desktop
	Option	    "Mode2" "1280x1024" #Resolution for second monitor
	Option	    "VideoOverlay" "on"
	Option	    "OpenGLOverlay" "off"
	Identifier  "Generic Video Card"
	Option "XAANoOffscreenPixmaps" "true"
	Driver      "fglrx"
	Option		"DRI" "true"
EndSection
 
Section "Screen"
	Identifier "Default Screen"
	Device     "Generic Video Card"
	Monitor    "Generic Monitor"
	DefaultDepth     24
	SubSection "Display"
		Modes    "1024x768"
	EndSubSection
EndSection
 
Section "Extensions"
	Option	    "Composite" "Disable"
	#Option	    "Composite" "enable"
EndSection
 
Section "DRI"
	Group 0
	Mode 0666
EndSection

比较简单,只需要在 device 里面设置好就行了。

用 ati 的开源驱动,也可以双头显示。用下面的 xorg.conf 。

Section "ServerLayout"
	Identifier     "Default Layout"
	Screen         "Default Screen"
	InputDevice    "Generic Keyboard"
	InputDevice    "Configured Mouse"
	InputDevice    "Synaptics Touchpad"
EndSection
 
Section "ServerFlags"
	Option	    "AIGLX" "off"
	#Option	    "AIGLX" "true"
EndSection
 
Section "Module"
	load "dbe"
EndSection
 
Section "InputDevice"
	Identifier  "Generic Keyboard"
	Driver      "kbd"
	Option	    "CoreKeyboard"
	Option	    "XkbRules" "xorg"
	Option	    "XkbModel" "pc104"
	Option	    "XkbLayout" "us"
	#Option "XkbOptions" "ctrl:nocaps"
EndSection
 
Section "InputDevice"
	Identifier  "Configured Mouse"
	Driver      "mouse"
	Option	    "CorePointer"
	Option	    "Device" "/dev/input/mice"
	Option	    "Protocol" "ImPS/2"
	Option	    "Emulate3Buttons" "true"
EndSection
 
Section "InputDevice"
	Identifier  "Synaptics Touchpad"
	Driver      "synaptics"
	Option	    "SendCoreEvents" "true"
	Option	    "Device" "/dev/psaux"
#	Option	    "Protocol" "auto-dev"
	Option	    "HorizScrollDelta" "0"
EndSection
 
Section "Monitor"
    	Identifier      "Integrated LCD"
	 Option      "DPMS"
EndSection
 
Section "Monitor"
	Identifier      "External VGA"
	Option "RightOf" "Integrated LCD"
	 Option      "DPMS"
EndSection
 
Section "Device"
	Identifier  "Generic Video Card"
	Driver		"radeon"
#	# accelration
	Option          "AGPMode" "4"
	Option          "EnablePageFlip" "on"
	Option          "RenderAccel" "on"
	Option          "AccelMethod"   "EXA" # or XXA
	Option          "DynamicClocks" "on"
	Option		"DRI" "true"
        # Color Tiling
        Option          "ColorTiling"   "on"
    Option          "Monitor-VGA-0" "External VGA"
    Option          "Monitor-LVDS"  "Integrated LCD"
    # Option "XAANoOffscreenPixmaps" "true" # for composit
EndSection
 
Section "Screen"
	Identifier "Default Screen"
	Device     "Generic Video Card"
	Monitor    "Integrated LCD"
	DefaultDepth     24
	SubSection "Display"
		Modes    "1280x1024" "1024x768"
		Virtual 2304 1024
	EndSubSection
EndSection
 
Section "Extensions"
	Option	    "Composite" "Disable"
	#Option	    "Composite" "enable"
EndSection
 
Section "DRI"
	Group 0
	Mode 0666
EndSection

可以看到改动也不是很大,主要增加了两个显示器,device里面增加了这两个显示器的设置。另外 screen 里面增加了那个 virtual,这个的参数就是将来两个显示器总共的屏幕大小,我的是 1024+1280 x 1024 ,横向相加,竖向的取最大的。

ok,这样就可以了。注意这里没有用到最上面那个链接里面说的 MergedFB。似乎最新的 xorg 用 xrandr 实现了这个,所以 MergedFB 就不需要了。这有个好处,可以随时调整分辨率什么的。例如 xrandr –output VGA –off ,去掉第二个显示器。 xrandr –output VGA –right-of LVDS ,设置 bigdesktop等等。xrandr 的方法还可以参考这里

升级到 xorg 1.5.3 以后,鼠标键盘的设置可以不在这里了,所以更加简单。

$ cat /etc/X11/xorg.conf
 
# xorg.conf (xorg X Window System server configuration file)
#
# This file was generated by dexconf, the Debian X Configuration tool, using
# values from the debconf database.
#
# Edit this file with caution, and see the xorg.conf manual page.
# (Type "man xorg.conf" at the shell prompt.)
#
# This file is automatically updated on xserver-xorg package upgrades *only*
# if it has not been modified since the last upgrade of the xserver-xorg
# package.
#
# If you have edited this file but would like it to be automatically updated
# again, run the following command:
#   sudo dpkg-reconfigure -phigh xserver-xorg
 
Section "ServerFlags"
	#Option	    "AIGLX" "off"
	Option	    "AIGLX" "true"
EndSection
 
Section "Module"
	load "dri"
EndSection
 
Section "Monitor"
    	Identifier      "Integrated LCD"
	Option      "DPMS"
EndSection
 
Section "Monitor"
	Identifier      "External VGA"
	Option "RightOf" "Integrated LCD"
	Option      "DPMS"
EndSection
 
Section "Device"
	Identifier  "Generic Video Card"
	Driver		"radeon"
#	# accelration
	Option          "AGPMode" "8"
	Option          "EnablePageFlip" "on"
	Option          "RenderAccel" "on"
	Option          "AccelMethod"   "EXA" # or XXA
	Option          "DynamicClocks" "on"
	Option		"DRI" "true"
        # Color Tiling
        Option          "ColorTiling"   "on"
    Option          "Monitor-VGA-0" "External VGA"
    Option          "Monitor-LVDS"  "Integrated LCD"
EndSection
 
Section "Screen"
	Identifier "Default Screen"
	Device     "Generic Video Card"
	Monitor    "Integrated LCD"
	DefaultDepth     24
	SubSection "Display"
		Modes    "1280x1024" "1024x768"
		#Modes    "1024x768"
		Virtual 2048 1024
		Virtual 2304 1024
	EndSubSection
EndSection
 
Section "Extensions"
	#Option	    "Composite" "Disable"
	Option	    "Composite" "enable"
EndSection
 
Section "DRI"
	Group 0
	Mode 0666
EndSection

ORA-00257 和 ORA-19815

06-9-08

作者:wd 发表于:2008-09-06 18:12 最后更新于:2008-09-06 18:15
版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处[http://wdicc.com/ora-00257-and-ora-19815/]和作者信息及本版权声明。

这几天遇到了这两个错误,记录一下。

使用 perl 的 DBI 连接的时候,会提示 ora-00257 错误,这个用 三qlplus 估计也是一样的错误,注意时远程连接才出错。

DBI connect('host=db8.xxx;sid=nirv3','sirenmon',...) failed: ORA-00257: archiver error. Connect internal only, until freed. (DBD ERROR: OCISessionBegin) at ./check_sdsdb line 26
CRITICAL : Can't connect "db8.sds.cnb.yahoo.com"

同时,数据库的alert 里面有下面的信息

Errors in file /home/oracle/app/diag/rdbms/nirv/nirv3/trace/nirv3_arc1_9507.trc:
ORA-19815: WARNING: db_recovery_file_dest_size of 268435456000 bytes is 100.00% used, and has 0 remaining bytes available.
************************************************************************
You have following choices to free up space from flash recovery area:
1. Consider changing RMAN RETENTION POLICY. If you are using Data Guard,
   then consider changing RMAN ARCHIVELOG DELETION POLICY.
2. Back up files to tertiary device such as tape using RMAN
   BACKUP RECOVERY AREA command.
3. Add disk space and increase db_recovery_file_dest_size parameter to
   reflect the new space.
4. Delete unnecessary files using RMAN DELETE command. If an operating
   system command was used to delete files, then use RMAN CROSSCHECK and
   DELETE EXPIRED commands.
************************************************************************
ARCH: Archival stopped, error occurred. Will continue retrying
ORACLE Instance nirv3 - Archival Error

登陆上数据库看看

SQL> show parameter archive
 
NAME                                 TYPE                   VALUE
------------------------------------ ---------------------- ------------------------------
archive_lag_target                   integer                0
log_archive_config                   string                 dg_config=(stb1)
log_archive_dest                     string
log_archive_dest_1                   string                 location="USE_DB_RECOVERY_FILE
log_archive_dest_10                  string
log_archive_dest_2                   string
log_archive_dest_3                   string
log_archive_dest_4                   string
log_archive_dest_5                   string
log_archive_dest_6                   string
log_archive_dest_7                   string
 
NAME                                 TYPE                   VALUE
------------------------------------ ---------------------- ------------------------------
log_archive_dest_8                   string
log_archive_dest_9                   string
log_archive_dest_state_1             string                 ENABLE
log_archive_dest_state_10            string                 enable
log_archive_dest_state_2             string                 ENABLE
log_archive_dest_state_3             string                 enable
log_archive_dest_state_4             string                 enable
log_archive_dest_state_5             string                 enable
log_archive_dest_state_6             string                 enable
log_archive_dest_state_7             string                 enable
log_archive_dest_state_8             string                 enable
 
NAME                                 TYPE                   VALUE
------------------------------------ ---------------------- ------------------------------
log_archive_dest_state_9             string                 enable
log_archive_duplex_dest              string
log_archive_format                   string                 %s_%t_%r_%a.arc
log_archive_local_first              boolean                TRUE
log_archive_max_processes            integer                4
log_archive_min_succeed_dest         integer                1
log_archive_start                    boolean                FALSE
log_archive_trace                    integer                0
standby_archive_dest                 string                 ?/dbs/arch
 
SQL> select * from v$log;
 
    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARCHIV STATUS                           FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- ------ -------------------------------- ------------- ------------
         1          1     221250   52428800          1 YES    INACTIVE                            5082709437 05-SEP-08
         2          1     221252   52428800          1 NO     INACTIVE                            5082713458 05-SEP-08
         3          2     270972   52428800          1 YES    INACTIVE                            5082699510 05-SEP-08
         4          2     270975   52428800          1 NO     CURRENT                             5082713581 05-SEP-08
         9          1     221251   52428800          1 NO     INACTIVE                            5082712943 05-SEP-08
        10          2     270973   52428800          1 YES    INACTIVE                            5082705151 05-SEP-08
        11          1     221253   52428800          1 NO     CURRENT                             5082713765 05-SEP-08
        12          2     270974   52428800          1 NO     INACTIVE                            5082711887 05-SEP-08
        13          3     275581   52428800          1 NO     INACTIVE                            5082712519 05-SEP-08
        14          3     275582   52428800          1 NO     CURRENT                             5082713078 05-SEP-08
        15          3     275579   52428800          1 NO     INACTIVE                            5082710114 05-SEP-08
 
    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARCHIV STATUS                           FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- ------ -------------------------------- ------------- ------------
        16          3     275580   52428800          1 NO     INACTIVE                            5082711321 05-SEP-08
 
12 rows selected.
 
SQL> ????select value from v$diag_info where name ='Diag Trace';
 
VALUE
------------------------------------------------------------------------------------------------------------------------------------------------------
/home/oracle/app/diag/rdbms/nirv/nirv3/trace
 
SQL> select * from V$FLASH_RECOVERY_AREA_USAGE;
 
FILE_TYPE                                PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES
---------------------------------------- ------------------ ------------------------- ---------------
CONTROL FILE                                              0                         0               0
REDO LOG                                                  0                         0               0
ARCHIVED LOG                                            100                         0           13109
BACKUP PIECE                                              0                         0               0
IMAGE COPY                                                0                         0               0
FLASHBACK LOG                                             0                         0               0
FOREIGN ARCHIVED LOG                                      0                         0               0
 
7 rows selected.
 
SQL> show parameter db_recovery_file_dest_size
 
NAME                                 TYPE                   VALUE
------------------------------------ ---------------------- ------------------------------
db_recovery_file_dest_size           big integer            250G
SQL> show parameter DB_RECOVERY_FILE_DEST
 
NAME                                 TYPE                   VALUE
------------------------------------ ---------------------- ------------------------------
db_recovery_file_dest                string                 /sds/oradata
db_recovery_file_dest_size           big integer            250G
SQL> alter system set db_recovery_file_dest_size=300G;  
 
System altered.
 
SQL> show parameter DB_RECOVERY_FILE_DEST
 
NAME                                 TYPE                   VALUE
------------------------------------ ---------------------- ------------------------------
db_recovery_file_dest                string                 /sds/oradata
db_recovery_file_dest_size           big integer            300G
SQL> select * from V$FLASH_RECOVERY_AREA_USAGE;
 
FILE_TYPE                                PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES
---------------------------------------- ------------------ ------------------------- ---------------
CONTROL FILE                                              0                         0               0
REDO LOG                                                  0                         0               0
ARCHIVED LOG                                          83.41                         0           13115
BACKUP PIECE                                              0                         0               0
IMAGE COPY                                                0                         0               0
FLASHBACK LOG                                             0                         0               0
FOREIGN ARCHIVED LOG                                      0                         0               0
 
7 rows selected.

可以看到空间是 83% 了,数据库应该就好了。不过这个是治标不治本的操作,需要把archive log删掉才行,具体怎么搞我也不会。。。汗。。

Apache优化之KeepAlive

05-9-08

作者:wd 发表于:2008-09-05 18:18
版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处[http://wdicc.com/apache-keepalive/]和作者信息及本版权声明。

KeepAlive是在HTTP/1.1中定义的,用来保持客户机和服务器的长连接,执子之手与子偕老。通过减少建立TCP Session的次数来提高性能。常用的配置参数有{KeepAlive, KeepAliveTimeout, MaxKeepAliveRequests}。逐个说来:KeepAlive是决定开启KeepAlive支持;KeepAliveTimeout决定一 个KeepAlive的连接能保持多少时间,Timeout就尽快shutdown链接,若还有数据必须再建立新的连接 了;MaxKeepAliveRequests于KeepAliveTimeout相似,意思是服务多少个请求就shutdown连接。看个例子:

   KeepAlive On
   KeepAliveTimeout 5

意思是说,打开KeepAlive,每个连接只保持5秒就中断。

对于KeepAlive的配置需要慎重,错误的参数可能导致严重的性能问题。一个高负载的Server,如果建立的很多长连接将无法继续服 务新的连接。因此需要根据server的性质调整KeepAliveTimeout或是MaxKeepAliveRequests的值。

例如:你的网页上有三幅图画2个外部javascript,他们都存放在你自己的server上。因此将 MaxKeepAliveRequests设置为7比较合适。3幅图2个js各一个link,网页本身一个link,还有firefox传说中的 favicon.ico。当然还是要有KeepAliveTimeout的。如果客户机用了该死的IE并且设置了某个该死的选项,IE是不会向服务器发送 HEAD请求查看图片(或是其他资源)是否过期的,而是直接使用本地图片。这个时候服务器是不会计算Request的(因为压根就没有Request 嘛)。再如果只有MaxKeepAliveRequests参数,服务器会默认等待5秒才结束KeepAlive连接。通常这5秒可能玩死一个高负载的服 务器(所以说这个社会需要闪婚…)。因此打开Firefox,启动Firebug,看看你的站究竟需要多少次请求,再决定KeepAlive吧。

给超强二笔作的几个码表文件

04-9-08

作者:wd 发表于:2008-09-04 18:07 最后更新于:2008-09-04 18:09
版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处[http://wdicc.com/cqeb-mb/]和作者信息及本版权声明。

最近被忽悠玩上了二笔输入法,弄了几个码表。

一个是给 palm treo 650 的掌易用的,下载地址在 这里

treo 650 上面少几个键,所以做了下面的合并。

;与k键合并
,与m键合并
.与v键合并
/与q键合并
另外一个是 scim 用的,下载地址在 这里

需要先安装 scim-tables ,直接复制到 /usr/share/scim/tables/ 下面就行。图标用了 scim-tables 里面的二笔的,名字叫 二笔*超强。

感动奥运

31-8-08

作者:wd 发表于:2008-08-31 09:08
版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处[http://wdicc.com/gandong-aoyun/]和作者信息及本版权声明。

转载自这里 http://www.my1510.cn/article.php?2ccc057193ec54ae

感动——奥运精神和风频吹
2008北京奥运圣火熄灭了,电视机天天重复着奥运夺冠的镜头,人们在激动过后回想奥运到底给我们带来了什么?是什么改变我们的生活?是不是金牌影响着我们的选择?还是选手背后鲜为人知的故事最激励我们的斗志。
奥运选手的故事和金牌相得益彰,演绎着“更快、更高、更强”,也给我们树立了一个顽强不屈的榜样,这些故事高高举起五环,照亮人们前进的路程。有梦想,就有希望;有奋斗,就会有奇迹。
赛艇女子单人单桨选手32岁的张秀云,在1996年亚特兰大奥运会上获得了银牌。2000年和2004年两届奥运会,她都获得了参赛资格,但因为有严重的 心脏病,两次都没有划出一桨无功而返。张秀云从没有放弃,又带着自己的梦想参加了北京奥运会。虽然她在决赛中,名列第四。赛后她说:“我已尽我所能。”
19日北京奥运会男子举重105公斤以上级的颁奖仪式上演了感人的一幕:该项目冠军、德国选手马·施泰纳把亡妻苏珊的照片和奥运金牌高高举起,让人们不仅 看到一个强壮的大力士,还深深感受到他对妻子深深的爱。这位德国大力士在比赛最后阶段上演大逆转,用一枚沉甸甸的奥运金牌来祭奠亡故的妻子,此情此景令人 不禁潸然泪下,成为北京奥运会上感人至深的一幕。去年7月的一起车祸夺去了施泰纳妻子苏珊的生命,从此施泰纳就一直随身带着苏珊的照片,高强度的艰苦训练 就成为施泰纳摆脱痛苦思念折磨的唯一途径。26岁的施泰纳在夺金后激动地表示,他的亡妻苏珊在比赛中一直陪伴着他,给予他夺金的勇气。他说:“我所有的期 盼就是苏珊在今天可以看到我的成功。我不是一个迷信的人,但我可以肯定的是,苏珊在注视着我,她在我的心里,给予我勇气和力量。这是一场献给苏珊的胜利。 ”马·施泰纳夺得的这枚奥运金牌不仅是德国16年来获得的第一枚奥运举重金牌,更证明了爱能创造奇迹。
帕蒂卡用一只手臂做到了常人用两只手都很难做到的事情。一个天生右下臂残疾的坚强姑娘,一个被誉为为乒乓球而生的波兰“维纳斯”。13日她代表波兰队与中 国香港队进行女团小组赛的第一轮比赛,虽然最终以微弱分差惜败。但比赛中,这位独臂女侠还是赢得了全场的尊敬和掌声。在波兰排名第三、世界排名第147位 的帕蒂卡,从7岁起就迷上了乒乓球,11岁参加残奥会,15岁赢得2004年雅典残奥会乒乓球冠军。今年她还在世乒赛首轮小组赛中打败了世界排名第六的新 加坡名将李佳薇,证明了自己的实力。虽然帕蒂卡最终没有取得本届奥运会女单的入场券,但她却得以代表波兰乒乓球女队参加女团比赛,同时也力求在残奥会上捍 卫金牌。
荷兰人范德韦登剃着光头,脑门两侧皮肤上各印着“NED”(荷兰的英文简称)三个字母。你再仔细看的话,会发现他头顶上有两个一元硬币大小的伤疤,说话喘 气的时候都会翕动。那两个触目惊心的伤疤,是白血病患者做化疗和骨髓移植的痕迹。不过,曾经的白血病患者,在8月21日成了北京奥运会男子10公里马拉松 游泳的冠军,这也是奥运会历史上首个男子马拉松游泳冠军。2001年,20岁的范德韦登被确诊患上了白血病,游泳生涯看似就要走向终点。“当你躺在医院 里,忍受着巨大的病痛,你简直就不会去想下个月,下个星期,乃至下个小时的事情,”获胜后的范德韦登说。“我从白血病上学到了什么?就是凡事要一步一步 来,要有耐心。”
8月20日,在刚刚结束的奥运会女子游泳10公里马拉松比赛中,来自南非的独腿女侠纳塔莉-杜托伊特没能获得奖牌,也没能跻身前十名,但是所有人都对她表 示钦佩。在比赛中,纳塔莉在24名运动员中以落后冠军、俄罗斯选手拉里莎-伊利琴科1分22秒2的成绩排名第16,领先第24名12分8秒2之多,让很多 健全的运动员以及现场观众惊叹不已。更让大家惊奇的是,她在下水之前将假肢去掉,几乎用一条右腿游完10公里。
西山丽是获得本届奥运会冠军的日本女子垒球队的二垒手,她曾经实施过更换心脏的手术。初中二年级时,一位美国器官捐赠者捐赠了适合西山丽的心脏。在经过8 个小时的心脏移植手术后,西山丽在父母的呼唤声中睁开了眼睛。那一刻她脸上的微笑令她的父母至今难忘。但是,这次手术只能保证她拥有正常人的生活。当父亲 询问她还要不要打垒球时,西山丽回答:“我已经做了手术,死亡的威胁已经不存在了,让我打垒球吧!”她在心里暗暗发誓:“为了那些病中的人们,为了给他们 带来梦想和勇气,我一定要努力。”在北京,西山丽依旧笑着,“我希望孩子们能够像我一样拥有自己的理想。”每逢西山丽参加比赛,母亲千子一定会去现场观 看。每次,她都在赛场边祈祷:“一定要平安无事地结束比赛。”
在体操女子个人全能决赛中,出现了一张并不年轻的面容,其眼神透出坚定与温柔。她就是已经33岁的德国老将奥克萨娜·亚历山德罗芙娜·许索维蒂纳。为了给 患白血病的儿子治病,她曾以26岁高龄复出参赛,此次是她第5次参加奥运会比赛,并获得女子跳马银牌,现场观众对她表达了敬佩之情。许索维蒂纳的大儿子阿 廖沙2002年被诊断患上白血病,由于治疗需要高昂的费用,生活并不富裕的许索维蒂纳一家实在难以支付,于是她选择了复出参赛,因为“一枚世锦赛金牌等于 3000欧元的奖金,这是我唯一的办法”许索维蒂纳说。为了能够尽可能多的参加比赛,争取获得奖金的机会,许索维蒂纳每次都会把体操的4个项目全部都报上 名。为了儿子,从26岁开始,许索维蒂纳朝全能型发展。“母爱胜于天”,中国这句老话很适合许索维蒂纳。
8月20日,美国选手凯尔·贝内特(88号)在小轮车男子竞速计时排位赛中,一位选手在他面前摔倒。贝内特躲避不及也被阻拦倒下,之后又造成后面选手连环 摔倒。贝内特在这次事故中受伤,躺在赛场上长时间无法动弹,最后在医生紧急诊治下,他又顽强地站了起来,并拒绝了医护人员的担架,重新跨上小轮车。尽管左 手已经不能握把,但他还是完成了比赛路程,现场观众给予他热烈的掌声。他最终以小组第四的身份晋级半决赛。
“除非我的腿断了,否则我会一直跑下去”,这是英国34岁的马拉松选手拉德克里夫的奥运宣言。拉德克里夫是当今女子马拉松项目上最优秀的选手之一,她目前 仍然保持着2小时15分25秒的女子马拉松世界纪录。已经是妈妈选手的拉德克里夫这次已经是第四次参加奥运会了。没成想此次参赛前,拉德克里夫惨遭股骨骨 折,但她还是坚持训练,誓言夺金。然而在比赛的关键时刻她被对手踩掉鞋子,肌肉突然痉挛又引发旧伤,当她一瘸一拐中途休息时,脸上痛苦的表情让所有人都以 为她要放弃比赛,可她短暂调整后,再次奔跑起来。拉德克里夫咬着牙流着泪跑到终点。这次她依然没有拿到金牌, 最终位列第22名。拉德克里夫赛后说:“跑到后半程时,我的左腿已经完全僵硬了,我几乎是用一条腿跑完剩下的比赛的。”即便如此,她仍坚强展望:“还没有 结束,我想下一次在伦敦的时候我会更有机会。”
21日,中华台北选手苏丽文在跆拳道女子57公斤级铜牌争夺战中,带着严重的腿伤,独腿上阵,多次因伤倒地,但她坚持到底。因为三局后双方4比4打平,根 据规则要进行加时赛,加时赛采用“突然死亡法”,即谁先得分谁就获胜。她第14次倒在了地上,却第一次伤心地哭了出来,并再也无力站起来了。虽然最终她负 于克罗地亚选手祖布契奇,没能获得奖牌,但她赢得了人们的赞誉。罗宾称赞苏丽文是“勇敢的对手”。
马修·埃蒙斯把头深埋在妻子怀里,没有人看到这一刻他是否落泪。从雅典到北京,这一枪原本能击碎四年的噩梦,这一枪原本能成就一对奥运金牌夫妻,这一枪原 本能写下一个童话般的结局。和四年前一样,卡捷琳娜坐在看台上给捷克电视台当解说嘉宾;马特站在男子50米步枪三姿的决赛2号靶位上;4.4的数字出现在 显示屏上,冰冻了卡捷琳娜的脸,她张着嘴巴,眼睛一眨不眨,愣了好几秒钟,然后冲下看台,把丈夫拥入怀里,在他耳边轻轻地说:“命中注定还不是时候。”柴 静在后来的访谈中透露,其实是埃蒙斯反而安稳妻子,下次再夺金。
8月18日,俄罗斯选手伊辛巴耶娃在北京奥运会女子撑杆跳高决赛中夺得金牌并创造新的世界纪录5.05米。这是这位跳高女王第24次改写自己保持的世界纪 录。伊辛巴耶娃自豪说“天空是我不断挑战的极限,我想我很快会向5米10发起冲击的。”这个距离天空最近的女人,无忧无虑地在属于她的高度自由飞翔。
伊拉克奥运代表团在奥运会开幕不到十天才得到参赛资格,他们的队员甚至连队服都没有。皮划艇上,其他国家的选手都穿着合适的队服,而伊拉克的选手则穿着旧 T恤,但他们仍然在顽强的比赛。 而由于资金匮乏,参加短跑比赛的伊拉克女选手达娜·侯赛因也只能穿着一双有些破损的“二手”跑鞋参加比赛。她的一句话曾让世界潸然泪下,她躲过了两次枪击 后依然坚持训练,但是此前得知无法参加北京奥运会时,她一度崩溃了。教练安慰她,4年后可以参加伦敦奥运会,21岁的达娜脱口而出:“照伊拉克这个样子, 我不知道自己能不能活到2012年……”中国网友得知这一消息无不为之动容,在开幕式伊拉克代表团入场时,全场中国观众给予了不亚于东道主代表团的礼遇, 报以热烈的掌声。当他们离开时,中国网友特意将自己准备的球鞋、衣服、福娃以及各种具有中国特色的礼物送给伊拉克代表团。伊拉克队的教练非常感动地说:“ 虽然我们远离家乡,但我们在中国感受到了温暖。希望大家有机会能到巴格达,让我们来回报你们。”
三名外国人波兰代表队首席医务官休伯特·克日什托菲亚克、队医马尔钦·克日什托杰克和23岁的波兰皮划艇女选手贝娅塔·米科瓦伊奇克在开幕式上救助一名晕 倒的中国女孩,为此,他们错过了奥运会点火仪式。网友说:这完美地诠释了本届奥运会主题曲表达的情感:我们来自同一个世界,我们是一家人。奥运会将人们连 在了一起,不论种族、文化和语言。
“因为我爱,所以我回来”著名女子花剑运动员栾菊杰曾在1984年洛杉矶奥运会上为中国赢得第一枚击剑金牌,也是迄今为止中国击剑史上唯一的一枚奥运金 牌。如今,50岁的她重披战袍,以教练员和运动员的双重身份代表加拿大出征北京奥运会。当被问及年过半百,“挥剑出山”的因由时,这位已是三个孩子的母亲 表示,她放弃职业运动员生涯已经有20年,如果不是因为这一届奥运会在中国举办,她不会想到重披战袍,“随着北京奥运会的临近,这个念头越来越强烈,因此 我最终作出了重新回来的决定。”

总算搞定了我的CDMA无线上网卡

26-7-08

作者:wd 发表于:2008-07-26 22:50 最后更新于:2008-07-26 22:53
版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处[http://wdicc.com/cmda-1x-in-gentoo-linux/]和作者信息及本版权声明。

早先在 Archlinux 的时候,就使用过这块卡。现在换了 gentoo,内核要自己编译,昨天拿回网卡后一直没搞定,今天总算搞定了。

我的是一块品速的 pinsu-100c 网卡,是 pccard(pcmcia)类型的。

如果是大于2.6.13内核的,先安装 sys-apps/pcmciautils 这个包。否则安装 pcmcia-cs 这个包。

内核参数需要设置的有下面几个:

Device Drivers
 Network device support (NETDEVICES [=y]) 下面的
  ppp
   PPP support for async serial ports
# 如果搞不定可以试试看把别的ppp的也选上
# 然后是
Bus options (PCI etc.)
 PCCard (PCMCIA/CardBus) support
# 这下面相关的,我选的有 16-bit 那个和 yenta-compatible bridge ,通常就这个
# 然后是下面这个,对应的模块是 serial_cs,这个会把 pccard 对应到 /dev/ttyS* 这个设备文件
Device Drivers
 Character Devices
  PCMCIA character devices
# 相关的模块
pcmcia_core            31892  4 serial_cs,pcmcia,yenta_socket,rsrc_nonstatic

搞定这些kernel选项之后,插入 pccard,应该会看到类似下面的信息,我之前因为kernel没有支持最后那个 serial_cs 模块,插入的时候没有最后两行信息。

$ dmesg
pccard: card ejected from slot 1
pccard: PCMCIA card inserted into slot 1
pcmcia: registering new device pcmcia1.0
ttyS1: detected caps 00000700 should be 00000100
1.0: ttyS1 at I/O 0x2f8 (irq = 18) is a 16C950/954
 
$ ls -alh /dev/ttyS1
crw-rw---- 1 root uucp 4, 65 07-26 22:28 /dev/ttyS1
 
# 要注意那个时间,应该是你插入的时间,否则就有问题了。

好了,设备识别出来了。那再安装 net-dialup/wvdial 这个包,用来拨号的。如果是 gnome 环境,也可以安装 net-dialup/gnome-ppp ,他会关联安装 wvdial,这个是 gui 的,可能更友好一点。

同时还需要安装一个叫做 sys-apps/setserial 的包,用来给 ttyS1 设备设置比特率,不太清楚为什么需要设置。用命令 sudo setserial /dev/ttyS1 baud_base 230400 ,要注意那个 230400,我从网上搜到的说网卡支持最高的比特率是这个,所以设置了这个,设置别得行不行,没试过。

然后呢,还需要有一个 /etc/wvdial.conf 文件。

[Modem0]
  Modem = /dev/ttyS1
  Baud = 57600
  SetVolume = 0
  Dial Command = ATDT
  Init1 = ATZ
  FlowControl = Hardware (CRTSCTS)
[Dialer Defaults]
  Username = CARD
  Password = CARD
  Phone = #777
  Stupid Mode = 1
  Inherits = Modem0

从网上搜到的,照抄就行了。关键是那个 /dev/ttyS1 ,和那个 Baud。一个对应你的设备,一个是比特率。我不太清楚为什么和上面设置的那个比特率不一样,不过我使用 minicom 测试的,只有这个比特率能 work。但是或许你那的情况会不一样,可以使用 minicom 来测试,minicom 里面设置了比特率之后,可以多输入几个 AT 回车看看有没有返回 OK,返回就能工作。

这样就一切ok了,sudo wvdial 就可以拨号了。

$ sudo wvdial
--> WvDial: Internet dialer version 1.60
--> Initializing modem.
--> Sending: ATZ
OK
--> Modem initialized.
--> Sending: ATDT#777
--> Waiting for carrier.
CONNECT
--> Carrier detected.  Starting PPP immediately.
--> Starting pppd at Sat Jul 26 22:15:52 2008
--> Pid of pppd: 11766
--> Using interface ppp0
--> pppd: ��[06][08]��[06][08][08]�[06][08]
--> pppd: ��[06][08]��[06][08][08]�[06][08]
--> pppd: ��[06][08]��[06][08][08]�[06][08]
--> pppd: ��[06][08]��[06][08][08]�[06][08]
--> pppd: ��[06][08]��[06][08][08]�[06][08]
--> local  IP address 211.145.60.183
--> pppd: ��[06][08]��[06][08][08]�[06][08]
--> remote IP address 220.192.0.22
--> pppd: ��[06][08]��[06][08][08]�[06][08]
--> primary   DNS address 220.192.0.130
--> pppd: ��[06][08]��[06][08][08]�[06][08]
--> secondary DNS address 220.192.8.58
--> pppd: ��[06][08]��[06][08][08]�[06][08]

最主要那个 ATZ 发送之后,要返回一个 OK,如果没有,那就是表示没 work,继续搞吧,设备文件没问题的话,一般就出在比特率上面了,结合 setserial 和 minicom 多修改几个看看。

gnome-ppp 使用很简单了,自己琢磨吧。

昨天去看了《功夫熊猫》

06-7-08

作者:wd 发表于:2008-07-06 15:36
版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处[http://wdicc.com/kong-fu-panda/]和作者信息及本版权声明。

浦发的电影票好久没定上了,所以熊猫出来好久了也没去看。

功夫熊猫

片子还是不错的,“Mr 乌龟”的这种叫法不知道是怎么搞出来的,呵呵。

这里有不少预告片,可以去看看。 http://www.mtime.com/movie/44740/trailer.html