Saturday, January 31, 2009

牛年发现的第一件超级雷人的事

今天发现了一个超级雷人的事情,在g.cn搜索Google的第一款手机G1时返回的结果令人吃惊饿:



所有的搜索结果都提醒该网站可能含有恶意软件,有可能会危害您的电脑。

怎么回事,谁能给出一个解释啊?Google自己跟自己的产品过意不去么?

【更新】过了一会发现原来任意搜索关键字得到的搜索结果都成这样了,太夸张了吧。。。

点击Read More查看更多证据:





连Google这个关键词都被扣上了恶意网站的帽子饿!~~

小狗,这次让我抓着了吧~

以后点击搜索结果的时候可得小心了,这次Google应该删除了很多的恶意站点列表!

vsftpd出现 500 OOPS: cannot change directory:/home/icnpunk错误的解决

在配置vsftpd的时候连接vsftpd出现了
500 OOPS: cannot change directory:/home/icnpunk
的错误,icnpunk为登录时使用的本地用户名。
解决办法:
使用
# getsebool -a grep ftp
查看selinux中的ftp设置
如果发现
ftp_home_dir --> off
则使用
# setsebool -P ftp_home_dir on
这样就能解决无法打开本地文件夹的问题了。
我看网上有说用把ftpd_disable_trans 改为off的方法解决,自己测试了一下是不行的,而且ftpd_disable_trans为on时是拒绝传输,为off时才是允许。双重否定则为肯定,也不知道自己说的是不是适合所有的情况,我是在RHEL5中测试得到的结果。

Wednesday, January 28, 2009

Suggest a perfect webshell based on PHP-GNY.shell


After lots of work, GNY.Shell is ready to be released. It is based on Storm7Shell. GNY.Shell offers many new features, with a few listed below:
> Added IP:Port and PHP Proxy generation
> Removed all images (fewer entries in access logs)
> Added various scripts and loads more features
> Removed some unnecessary code
> Tons more for you to go test out the shell and find ;)

As you may notice, GNY.Shell is rather large at 569.85 KB. Personally, I see no difference in performance between this and smaller shells. Since I do know that many people will complain about the size, we have also created a "Lite Edition" with a few features removed to make a smaller version. This is not the one we are focusing on, and we will not release it unless there is an overwelming amount of feedback asking for it.
Also, GNY.Shell is unfortunately detected as a PHP Shell by various anti-virus programs. This is something that we could have tried harder to avoid (with code obfuscation), but releasing it without being encoded follows our belief in open-source. This way, anyone, even those who would have been unable to reverse the encoding, are able to see the source of GNY.Shell.

The shell is available here and below. To contact us in matters relating to the shell, you can find us in our IRC Channel and we will be happy to talk about whatever feedback you have. Thanks for taking the time to check out GNY.Shell, and we hope you enjoy it!

Shouts:
> sToRm - Various code, ideas, and support, along with Storm7Shell that GNY.Shell is based upon.
> oXiKoTToN - Ideas, support, testing, and being the "Project Manager" who helped get a lot of stuff done.
> Raz0r - Gave cPanel Finder source.
> Romnous - Gave RFI/LFI Finder source.
> Sean - Gave us a bunch of ideas at some point.
> RoMeO - After initial release, provided great feedback which resulted in some updates
> Everyone who ever worked on a shell of which GNY.Shell has been built upon (Storm7Shell, Locus7Shell, etc., etc.)
> Did I forget you? Lemme know and I will throw you in ;)


http://gonullyourself.org/shell.txt

Monday, January 26, 2009

杰伦和春晚

早上一起来上网,看到网上很多评论杰伦在春晚上被糟蹋的说法。争得是火热朝天,什么杰伦上春晚给春晚面子,给Jay迷面子什么的。真无聊啊,就算争这个又不能得到什么,杰伦也不会给你扣一个"最忠实Fans"的帽子,大家也不会觉得你很屌。看看你的热闹而已,最终乐呵的还是网站或者博客主。

杰伦在春晚上走着街舞步子拉着国母的手原地伴舞,估计是没出来国母的裙子有机关嘞。下面表演里面国母的裙子换过一次记得么,那个可能是为了防止露馅不敢走动吧。但是觉得杰伦那个节目好像是被切过了一样,好像没完人就不见了。

我不想争论什么春晚杰伦的对错一类问题,我对和杰伦一起的那个孩子挺感兴趣。他替他杰伦哥哥在哥哥状态不佳的时候唱了大半部分歌,还表演了那么多舞诶,我觉得这孩子有搞头。网上找了一下居然发现这孩子的博客了,可惜是腾讯的:http://user.qzone.qq.com/622009457 博客的名字叫侯高俊杰,进去一看原来比我来的早的人多了去了,这孩子很有才气啊~希望以后能大有出息,也希望没事喜欢争来争去的大孩子们争点气,对杰伦不服的超过杰伦,把他搞下去;对春晚不服的做到让春晚导演上你家门给你送礼然你上春晚。做到了以后你再说这个不好那个太垃圾的。真无趣!~

Friday, January 23, 2009

强烈推荐本年度最佳战争类游戏!使命召唤5-世界战争

从公元2008年11月22日下午4点30分开始,到公元2008年11月23日临晨3点28分。我的笔记本又一次见证了我强迫他为了一个他并不想要的东西头脑持续发热了十几个小时,这个“讨厌”的东西就是新安装的游戏:使命召唤5-世界战争。为什么我要在浪费了十多个小时玩通关他之后还要花费时间来写关于他的感言。这可以从几个方面来讲:

1、由Treyarch公司制作,Activision公司代理的2008年战争游戏巨作:使命召唤5-世界战争这款游戏记录了自1941年12月7日日本海军偷袭美军在太平洋的最大海军基地夏威夷美军参加二战开始,至1945年4月30日美国向日本投下两颗原子弹,第二次世界大战结束的这一漫长历史过程。具有很强的历史意义!

2、这款战争类游戏在画面和游戏可玩度上具有很高的人气,真实的体验战争过程,让人从出生入死中体味到了战争的残酷。感觉爽成马嘞!

3、虽然游戏中讲的是外军与日军、德军交战的过程,但是对于像我这种具有仇日心里的人能够在游戏中过过残杀日军的瘾还是非常解恨的。可以拿来发泄哦!

4、最后一条也是最变态的一条就是通关以后使命召唤为我们提供了一种僵尸模式,超级过瘾,尤其是在晚上玩。连我这种玩游戏从来不害怕的人今天都几次差点被吓晕过去。试试就知道!

这么多废话引出来今天的主角不难看出我对这款游戏的认可度。希望大家如果时间充足的话尽情体会一下这款游戏带来的前所未有的快感。以下请欣赏我在通关最后以及僵尸模式的截屏图片。

一把镰刀斧头的旗子

我拿着旗子走向旗杆时敌人向我开了一枪

他其实也不行了~~
战友提着一把刀就冲了过去

血腥的杀人场面

我左一刀

我右一刀

小样!

我背后再来一刀

啊~~~!!!!

下去把你!

哼~你敢上来?剧情让你死了已经!

奶奶的法西斯!

大爷我砍断你绳子

你也下去吧你!

我庄重地捧着旗子

来到了旗杆前

狠狠的插在了掩体上

乌拉乌拉~~

巴哈巴哈~~

Muhahahahah~~

战友激动地摆起了胜利的姿势

开始谢幕了

一堆堆鸟语没法跳过

这里是僵尸模式。什么?没有僵尸?我怕我放上来你说我吓你!

我的演讲到此结束,谢谢大家!~


Thursday, January 22, 2009

手动删除VMware-Player完全指南

今天安装了VMware-Player,但是Windows底下做的RHEL5系统不能打开,因此想要把它卸载了,但是我想着直接安装VMware Workstation应该就会自动删除了吧,谁知不但不自动删除,还因为在安装VW的时候第一个题是选项里点了no,因此不小心把VMware-Player的安装DB给删掉了,这下惨了,得手动删除了。后悔阿,其实如果没删除db的话用sudo vmware-uninstall.pl就可以删除,可是...后来在网上找了不多久问题就解决了,给出来以免以后再遇到同样的问题,同时也方便大家。

1、先用新立德找所有能找到的含有关键字“vmware”的包,注意看看地下的注释,不要删错了,如果实在不确定先不要删。

2、由于错误提示是:
The following VMware kernel modules have been found on your system that were
not installed by the VMware Installer. Please remove them then run this
installer again.

vmmon
vmblock
vmnet

Execution aborted.
因此我们的主要任务是删掉vmmon vmblock vmnet这三个kernel modules。因此先将这几个文件删除:

查找:
# find /lib/modules/ | grep vmmon
找到的文件夹类似于:
/lib/modules/2.6.24-23-generic/misc/
这里面还有6个需要删除的modules 每个kernel module都是有两个分别以 ".o" 和 ".ko" 结尾的文件,删除这几个文件:
# rm /lib/modules/2.6.24-23-generic/misc/vm*
这时由于我没有测试,应该就能重新安装VMware-player或者安装新的VMware虚拟机了。
如果还不可以或者需要完全卸载的话责需要找出所有的vmware文件:
# find / -name vmware
一般一个文件夹里都含有几个vmware安装时生成的文件,或者一个vmware目录的上层有几个vm开头的文件。只要分别删除找到的文件就可以了。

由于还要学习,时间不多,就粗略写一下把,请触类旁通。

最后给出我刚删除了VP后安装VW的日志,希望那些想要完全删除VP的人能用的上(我第一次安装失败了,因为没有删除/tmp里面的几个vmware关联的文件夹):

icnpunk:~/Desktop/vmware-distrib$ sudo ./vmware-install.pl
A previous installation of VMware Workstation has been detected.

The previous installation was made by the tar installer (version 4).

Keeping the tar4 installer database format.

Uninstalling the tar installation of VMware Workstation.

Stopping VMware services:
Virtual machine monitor done
Bridged networking on /dev/vmnet0 done
Host network detection done
DHCP server on /dev/vmnet1 done
Host-only networking on /dev/vmnet1 done
DHCP server on /dev/vmnet8 done
NAT service on /dev/vmnet8 done
Host-only networking on /dev/vmnet8 done
Virtual ethernet done

The removal of VMware Workstation 6.0.5 build-109488 for Linux completed
successfully. Thank you for having tried this software.

Installing VMware Workstation.

In which directory do you want to install the binary files?
[/usr/bin]

What is the directory that contains the init directories (rc0.d/ to rc6.d/)?
[/etc]

What is the directory that contains the init scripts?
[/etc/init.d]

In which directory do you want to install the daemon files?
[/usr/sbin]

In which directory do you want to install the library files?
[/usr/lib/vmware]

The path "/usr/lib/vmware" does not exist currently. This program is going to
create it, including needed parent directories. Is this what you want?
[yes]

In which directory do you want to install the manual files?
[/usr/share/man]

In which directory do you want to install the documentation files?
[/usr/share/doc/vmware]

The path "/usr/share/doc/vmware" does not exist currently. This program is
going to create it, including needed parent directories. Is this what you want?
[yes]

The installation of VMware Workstation 6.0.5 build-109488 for Linux completed
successfully. You can decide to remove this software from your system at any
time by invoking the following command: "/usr/bin/vmware-uninstall.pl".

Before running VMware Workstation for the first time, you need to configure it
by invoking the following command: "/usr/bin/vmware-config.pl". Do you want
this program to invoke the command for you now? [yes]

Making sure services for VMware Workstation are stopped.

Stopping VMware services:
Virtual machine monitor done
Bridged networking on /dev/vmnet0 done
Host network detection done
DHCP server on /dev/vmnet1 done
Host-only networking on /dev/vmnet1 done
DHCP server on /dev/vmnet8 done
NAT service on /dev/vmnet8 done
Host-only networking on /dev/vmnet8 done
Virtual ethernet done

Configuring fallback GTK+ 2.4 libraries.

In which directory do you want to install the theme icons?
[/usr/share/icons]

What directory contains your desktop menu entry files? These files have a
.desktop file extension. [/usr/share/applications]

In which directory do you want to install the application's icon?
[/usr/share/pixmaps]

Trying to find a suitable vmmon module for your running kernel.

None of the pre-built vmmon modules for VMware Workstation is suitable for your
running kernel. Do you want this program to try to build the vmmon module for
your system (you need to have a C compiler installed on your system)? [yes]

Using compiler "/usr/bin/gcc". Use environment variable CC to override.

What is the location of the directory of C header files that match your running
kernel? [/lib/modules/2.6.24-23-generic/build/include]

Extracting the sources of the vmmon module.

Building the vmmon module.

Using 2.6.x kernel build system.
make: Entering directory `/tmp/vmware-config0/vmmon-only'
make -C /lib/modules/2.6.24-23-generic/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.24-23-generic'
CC [M] /tmp/vmware-config0/vmmon-only/linux/driver.o
CC [M] /tmp/vmware-config0/vmmon-only/linux/hostif.o
CC [M] /tmp/vmware-config0/vmmon-only/common/comport.o
CC [M] /tmp/vmware-config0/vmmon-only/common/cpuid.o
CC [M] /tmp/vmware-config0/vmmon-only/common/hash.o
CC [M] /tmp/vmware-config0/vmmon-only/common/memtrack.o
CC [M] /tmp/vmware-config0/vmmon-only/common/phystrack.o
CC [M] /tmp/vmware-config0/vmmon-only/common/task.o
CC [M] /tmp/vmware-config0/vmmon-only/common/vmciContext.o
CC [M] /tmp/vmware-config0/vmmon-only/common/vmciDatagram.o
CC [M] /tmp/vmware-config0/vmmon-only/common/vmciDriver.o
CC [M] /tmp/vmware-config0/vmmon-only/common/vmciDs.o
CC [M] /tmp/vmware-config0/vmmon-only/common/vmciGroup.o
CC [M] /tmp/vmware-config0/vmmon-only/common/vmciHashtable.o
CC [M] /tmp/vmware-config0/vmmon-only/common/vmciProcess.o
CC [M] /tmp/vmware-config0/vmmon-only/common/vmciResource.o
CC [M] /tmp/vmware-config0/vmmon-only/common/vmciSharedMem.o
CC [M] /tmp/vmware-config0/vmmon-only/common/vmx86.o
CC [M] /tmp/vmware-config0/vmmon-only/vmcore/moduleloop.o
LD [M] /tmp/vmware-config0/vmmon-only/vmmon.o
Building modules, stage 2.
MODPOST 1 modules
CC /tmp/vmware-config0/vmmon-only/vmmon.mod.o
LD [M] /tmp/vmware-config0/vmmon-only/vmmon.ko
make[1]: Leaving directory `/usr/src/linux-headers-2.6.24-23-generic'
cp -f vmmon.ko ./../vmmon.o
make: Leaving directory `/tmp/vmware-config0/vmmon-only'
The module loads perfectly in the running kernel.

/dev is dynamic:
Trying to find a suitable vmblock module for your running kernel.

None of the pre-built vmblock modules for VMware Workstation is suitable for
your running kernel. Do you want this program to try to build the vmblock
module for your system (you need to have a C compiler installed on your
system)? [yes]

Extracting the sources of the vmblock module.

Building the vmblock module.

Using 2.6.x kernel build system.
make: Entering directory `/tmp/vmware-config0/vmblock-only'
make -C /lib/modules/2.6.24-23-generic/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.24-23-generic'
CC [M] /tmp/vmware-config0/vmblock-only/linux/block.o
CC [M] /tmp/vmware-config0/vmblock-only/linux/control.o
CC [M] /tmp/vmware-config0/vmblock-only/linux/dbllnklst.o
CC [M] /tmp/vmware-config0/vmblock-only/linux/dentry.o
CC [M] /tmp/vmware-config0/vmblock-only/linux/file.o
CC [M] /tmp/vmware-config0/vmblock-only/linux/filesystem.o
CC [M] /tmp/vmware-config0/vmblock-only/linux/inode.o
CC [M] /tmp/vmware-config0/vmblock-only/linux/module.o
CC [M] /tmp/vmware-config0/vmblock-only/linux/stubs.o
CC [M] /tmp/vmware-config0/vmblock-only/linux/super.o
LD [M] /tmp/vmware-config0/vmblock-only/vmblock.o
Building modules, stage 2.
MODPOST 1 modules
CC /tmp/vmware-config0/vmblock-only/vmblock.mod.o
LD [M] /tmp/vmware-config0/vmblock-only/vmblock.ko
make[1]: Leaving directory `/usr/src/linux-headers-2.6.24-23-generic'
cp -f vmblock.ko ./../vmblock.o
make: Leaving directory `/tmp/vmware-config0/vmblock-only'
Unable to make a vmblock module that can be loaded in the running kernel:
insmod: error inserting '/tmp/vmware-config0/vmblock.o': -1 File exists
There is probably a slight difference in the kernel configuration between the
set of C header files you specified and your running kernel. You may want to
rebuild a kernel based on that directory, or specify another directory.

The vmblock module enables dragging or copying files from within a guest and
dropping or pasting them onto your host (guest to host drag and drop and file
copy/paste). The rest of the software provided by VMware Workstation is
designed to work independently of this feature (including host to guest drag
and drop and file copy/paste).

If you would like the guest to host drag and drop and file copy/paste features,
you can install the driver by running vmware-config.pl again after making sure
that gcc, binutils, make and the kernel sources for your running kernel are
installed on your machine. These packages are available on your distribution's
installation CD.
[ Press Enter key to continue ]

/dev is dynamic:
You have already setup networking.

Would you like to skip networking setup and keep your old settings as they are?
(yes/no) [yes]

Trying to find a suitable vmnet module for your running kernel.

None of the pre-built vmnet modules for VMware Workstation is suitable for your
running kernel. Do you want this program to try to build the vmnet module for
your system (you need to have a C compiler installed on your system)? [yes]

Extracting the sources of the vmnet module.

Building the vmnet module.

Using 2.6.x kernel build system.
make: Entering directory `/tmp/vmware-config1/vmnet-only'
make -C /lib/modules/2.6.24-23-generic/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.24-23-generic'
CC [M] /tmp/vmware-config1/vmnet-only/driver.o
CC [M] /tmp/vmware-config1/vmnet-only/hub.o
CC [M] /tmp/vmware-config1/vmnet-only/userif.o
CC [M] /tmp/vmware-config1/vmnet-only/netif.o
CC [M] /tmp/vmware-config1/vmnet-only/bridge.o
CC [M] /tmp/vmware-config1/vmnet-only/filter.o
CC [M] /tmp/vmware-config1/vmnet-only/procfs.o
CC [M] /tmp/vmware-config1/vmnet-only/smac_compat.o
SHIPPED /tmp/vmware-config1/vmnet-only/smac_linux.x386.o
LD [M] /tmp/vmware-config1/vmnet-only/vmnet.o
Building modules, stage 2.
MODPOST 1 modules
WARNING: could not find /tmp/vmware-config1/vmnet-only/.smac_linux.x386.o.cmd for /tmp/vmware-config1/vmnet-only/smac_linux.x386.o
CC /tmp/vmware-config1/vmnet-only/vmnet.mod.o
LD [M] /tmp/vmware-config1/vmnet-only/vmnet.ko
make[1]: Leaving directory `/usr/src/linux-headers-2.6.24-23-generic'
cp -f vmnet.ko ./../vmnet.o
make: Leaving directory `/tmp/vmware-config1/vmnet-only'
The module loads perfectly in the running kernel.

Do you want to install the Eclipse Integrated Virtual Debugger? You must have
the Eclipse IDE installed. [no]

The file /etc/rc2.d/S90vmware that this program was about to install already
exists. Overwrite? [yes]

The file /etc/rc2.d/K08vmware that this program was about to install already
exists. Overwrite? [yes]

The file /etc/rc3.d/S90vmware that this program was about to install already
exists. Overwrite? [yes]

The file /etc/rc3.d/K08vmware that this program was about to install already
exists. Overwrite? [yes]

The file /etc/rc5.d/S90vmware that this program was about to install already
exists. Overwrite? [yes]

The file /etc/rc5.d/K08vmware that this program was about to install already
exists. Overwrite? [yes]

The file /etc/rc0.d/K08vmware that this program was about to install already
exists. Overwrite? [yes]

The file /etc/rc6.d/K08vmware that this program was about to install already
exists. Overwrite? [yes]

Creating a new VMware VIX API installer database using the tar4 format.

Installing VMware VIX API.

You must read and accept the VMware VIX API End User License Agreement to
continue.
Press enter to display it.
\*内容省略*\

Do you accept? (yes/no) yes

Thank you.

In which directory do you want to install the VMware VIX API binary files?
[/usr/bin]

In which directory do you want to install the VMware VIX API library files?
[/usr/lib/vmware-vix/lib]

The path "/usr/lib/vmware-vix/lib" does not exist currently. This program is
going to create it, including needed parent directories. Is this what you want?
[yes]

In which directory do you want to install the VMware VIX API document pages?
[/usr/share/doc/vmware-vix]

The path "/usr/share/doc/vmware-vix" does not exist currently. This program is
going to create it, including needed parent directories. Is this what you want?
[yes]

The installation of VMware VIX API 1.1.5 build-109488 for Linux completed
successfully. You can decide to remove this software from your system at any
time by invoking the following command: "/usr/bin/vmware-uninstall-vix.pl".

Starting VMware services:
Virtual machine monitor done
Virtual ethernet done
Bridged networking on /dev/vmnet0 done
Host network detection done
Host-only networking on /dev/vmnet1 (background) done
DHCP server on /dev/vmnet1 done
Host-only networking on /dev/vmnet8 (background) done
DHCP server on /dev/vmnet8 done
NAT service on /dev/vmnet8 done

The configuration of VMware Workstation 6.0.5 build-109488 for Linux for this
running kernel completed successfully.

You can now run VMware Workstation by invoking the following command:
"/usr/bin/vmware".

Enjoy,

--the VMware team


Monday, January 19, 2009

使用Ping.fm快速发布日志

这篇日志就是通过Gtalk发布的。http://ping.fm/提供多种方式聚合你的帐户,Twitter、Blogger、Facebook、WordPress、Delicious等等,可以让你用手机短信、E-mail、Gtalk、Yahoo! Messenger、Live Messenger等多种途径发布自己的博客,或者状态等,非常方便。

点击http://ping.fm/signup/进入注册。只有简单的几项,注册好后登陆系统就可以按照提示添加聚合物或者选择发布方式了。

关于发布方式请参照http://ping.fm/tips/的说明。Ping.fm还提供Widget,可以在http://getsatisfaction.com/widgets找到。

不过这个的发布功能好像还不是很完善,刚才发布的连接http://ping.fm/signup/和/tips/都变成了http://ping.fm/signup/signup/和/tips/tips/了,但是当做一个Twitter的Poster还是非常不错的。

晚上花15块钱在东大街买的慢摇DJ黑胶碟

慢摇,不算过分劲爆,学习的时候听可以起到加速作用,全是英文歌Remix的。喜欢的下吧:
http://www.rayfile.com/files/edb4c4dc-e579-11dd-a955-0019d11a795f/
<因文件过大而下载量又达不到所以被RayFile删了>

Sunday, January 18, 2009

Google 搜索 SearchWiki 功能加入

今天上英文的Google无意中发现新的SearchWiki小功能,很贴心哦,比起Baidu来说Google在竞价排名的公平性方面走到了前面。

三个被红框框起来的按键分便是Promote Remove Comment。

以及自己添加搜索结果的功能。

该功能只能在Google帐户登陆后才可使用。

以下是Google对SearchWiki功能的介绍:

SearchWiki

SearchWiki lets you customize your Google Web Search results by ranking, removing, and adding notes to them. You'll see your changes whenever you do the same searches while signed in to your Google Account, or until you decide to undo them. You can also see how other users have tailored any given search results page with their own notes and changes.

How to use SearchWiki

Here's how you can rank, remove, add, and comment on search results:

  • Like a certain search result?

    Click Like_it to move it to the top of the page. This result will appear at the top whenever you do the same search in the future. We'll add this marker Move_up next to it so you'll recognize it later.

  • Don't like a result?

    Click Don't_like_it to remove it, and it'll remain hidden whenever you do the same search in the future.

  • Know of a better webpage?

    Click Add a result at the bottom of any search results page to add a page that you consider relevant to that search. Type the URL in the box, then click Add. When you do this search in the future, you'll see the page you suggested at the top with this marker Move_up.

  • Want to comment on a result?

    Click Comment to open a text box and type your comment. You'll see it the next time this result appears for any of your searches. Comments are a great way to save and recall any thoughts you had or notes you took about a particular page.

Your rankings and comments are associated with your Google Account, so they affect only your search result rankings. A listing of your changes is visible on your 'SearchWiki notes' page, which is visible only to you.

Check out our video to see SearchWiki in action.

Do I have to be signed in to use SearchWiki?

Yes. To see the changes you've made to a given search result the next time you do that search, you must be signed in to your Google Account. If you aren't signed in, you'll simply see standard, unmodified Google Web Search results.

How can I undo changes I've made?

Here's how to undo changes made using SearchWiki.

  • If you'd like to return a result you've promoted to its original position, click the down arrow next to the result.

  • If you want to restore a deleted page to your search results, click the Show them link at the bottom of the results page (next to 'You have removed results from this page'), then click Restore.

  • To delete a comment you've made, click the Delete comment link.

  • Finally, if you added a new page to a set of search results, you can remove it by clicking the Don't_like_it next to it.

Can others see my rankings, deletions, and notes?

The SearchWiki notes page that summarizes your rankings, deletions, and notes can be viewed only by you.

Is my email address displayed to other users?

No. Other users who view your SearchWiki notes see only your Google Account nickname. (Note that you can see your email address in the top right of your screen when you're signed in to your own Google Account.) You can edit your nickname by clicking My Account in the top right corner of the screen while you're signed in. Learn more about Google Accounts.

How do I report inappropriate or offensive comments?

While viewing any comment, click the thumbs-down next to it to rate it as bad. Click the Flag as inappropriate content link to report a comment as inappropriate. A Google team will review the comment and, if necessary, take
action.

How do I share my feedback with you?

Have a suggestion on how we can improve SearchWiki? Take our survey (right now, it's available only in English).

You can also share your feedback in the Web Search Help Forum.

梦梦出品的QQ完全美化(未完)

美化说明:

详情请看梦梦空间:
http://dreamxis.blogbus.com/tag/QQ/

梦梦做的QQ美化我真的超级喜欢,但是他当时做美化时的DLL文件放到新的QQ版本上不适用,今天晚上我花了整整三个小时时间把他的资源移植过来了。废话少说,上图先:

QQ主界面以及任务栏图标均已经改成梦梦的了

Aperture

pRincess

QQ登陆界面改为:

但是菜单以及载入画面都还没有更改,今天太累啦,有时间再做吧。

此美化基于腾讯QQ2008II Beta1 狂人DIY版 Ver20090110制作,此QQ下载地址:

天空下载

我的网盘

MD5校验码:05e4b571c1373e1186912582dcd8d441 (QQ2008.exe)

美化方法:

首先从上面任意一个地址下载QQ2008II Beta1,删除以前的QQ版本,安装此版。在安装时不要选择美化QQ。

然后下载下面两个QQ2008主题文件解压并放置到QQ主文件夹Newskins目录下:
pRincess
Aperture
这两个主题预览分别对应上面给出的预览图。

然后下载我今天花了三个小时制作的DLL文件:
LoginCtrlRes.dll_QQRes.dll_UNCOMP.rar
解压这个文件并把QQ关闭,将其中的LoginCtrlRes.dll和QQRes.dll两个文件一同覆盖到QQ主文件夹下。

最后,打开QQ,尽情享受梦梦带给大家无限的惊喜吧!
---浪费时间也要浪费到正地方!

Saturday, January 17, 2009

Gny的电子书列表,别说不够看啊~!!!

GNY's About Us:

Go Null Yourself was founded in an effort to create a community where hackers and programmers could conjugate to learn and share with each other. There are too many websites that promote "script-kiddies" and not enough quality resources. Here at GNY, the main focus is to not only learn about hacking, coding, and anything related with advanced computing, but to actually understand it. The same concept applies in real life. You may learn about an equation in math that solves a problem, but do you know why it solves it and how the equation was crafted? If you have a question, want to submit something, or just want to talk, we'll be happy to answer any queries you may have. Most of the time, the admins can be contacted via
IRC. If neither is there, wait a bit and one will most likely show up. You can also email sToRm or m0nkee at their respective email addresses.

    给Blogger添加Twitter工具栏

    还是使用简单的JavaScript调用的办法。
    添加一个HTML/JavaScript的小工具,填入以下内容:<div class="widget-content">
    <div id="twitter_div"><ul id="twitter_update_list"></ul></div>
    <script type="text/javascript" src="http://twitter.com/javascripts/blogger.js"></script>
    <script type="text/javascript" src="http://twitter.com/statuses/user_timeline/zeronenorez.json?callback=twitterCallback2&count=20"></script>
    <a href="http://twitter.com/zeronenorez" target="_blank">ReadMore</a>
    </div>
    </div>
    将其中红色的部分改成自己的Twitter用户名即可!
    由于我模板的原因,在显示内容的时候会在前面留下一部分的空隙,所以在Blogger模板里面添加以下内容到<head></head>之间:#twitter_div {width: 250px;margin-$startSide:-45px}
    这样做的目的是把工具栏内容向前挪动45px的距离,这样就和标题对齐了。

    Friday, January 16, 2009

    终于知道卡巴斯基更新状态永远是0%是怎么回事啦!

    诶呀妈呀,这几天真能把人郁闷死,不知何时卡巴斯基的病毒库就再也没有更新过,原以为是破解版卡巴斯基出什么问题了,换了好几个版本,换了巨多的Key,几乎所有的更新源。可是一点作用不起,永远是“ 更新永远是0%,然后操作超时,任务未被启动”。今天在深度论坛上无意中发现了问题的关键:GDI++与卡巴2009冲突导致卡巴更新不了。

    解决办法:只要在GDI++.ini的[UnloadDLL]下面加入AVP.exe文件,禁止GDI++渲染卡巴斯基就可以了,今天卡巴终于开始更新拉!HOHO~

    Tuesday, January 13, 2009

    给自己的Blogger装上Recent Comments功能

    以前装这个功能的时候走了很多弯路,看了很多说的复杂而且莫名其妙的教程,装上了一个外国网站提供的评论功能,终于可以在侧边栏上显示评论了,很漂亮。但是那个网站是用他自己的服务器存储留言数据的,然后每次再从外国网站上调用出来,速度实在没法恭维。如果需要那个漂亮评论栏的同志可以上这个网站:http://www.intensedebate.com/

    这里提供一个更快速更简单的办法:

    首先下载JS代码:
    http://noodleblog.googlepages.com/rc4.js
    把这个代码放到自己的ftp或者GooglePages上,没有Google账号的同志
    Mail我,我可以给你发邀请函。

    然后在Blogger页面元素里面添加一个HTML/JavaScript。填入以下代码:

    <div class="widget-content">
    <script>g_szBlogDomain='icnpunk.blogspot.com';
    var g_szHead='';</script><script src="http://noodleblog.googlepages.com/rc4.js"></script>
    </div>

    蓝色部分替换为自己的博客地址,红色部分替换自己上传的JS代码,保存就可以了 。

    ---勤思考,苦钻研!

    Sunday, January 11, 2009

    给自己的Blogger装上继续阅读功能

    综合了网上众多关于给Blogger加入Readmore的教程,大致分为一下三类:

    首先是直接展开的方法;参考文章:Blogger hack: Expandable posts with Peekaboo view
    中文教程参阅这里:http://joshnote.blogspot.com/2007/03/blogger-hacks-in-joshs-lifetagsread.html
    教程中的JS代码地址已经不能使用了,这个是手快的兄弟转存的:http://rarunach.googlepages.com/hackosphere.js
    说出去不怕丢人,这个方法我居然没有试成功。。。

    其次是换链接的方法;参考文章:Blogger Beta 繼續閱讀功能改良
    中文教程参阅这里:http://joshnote.blogspot.com/2007/03/blogger-hacks-in-joshs-lifetagsread.html

    最后是使用Chen Jim Hao的傻瓜程序:http://cjhtech.blogspot.com/2007/02/blogger-3-htmlfor-blogger.html

    综合了一下上面的几种方法我最重选择了第二个,因为更改方便,速度快,第三个傻瓜程序会有一定的延迟。每次载入的时候会先全部显示出来一段时间才缩进去,而第二种方法因为通过更改模板实现的,每次载入时只是一闪而过,很是迅速。

    给出本博客使用的加入继续阅读功能的模板(跳转查看):
    <?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&gt;<html expr:dir='data:blog.languageDirection' xmlns='http://www.w3.org/1999/xhtml' xmlns:b='http://www.google.com/2005/gml/b' xmlns:data='http://www.google.com/2005/gml/data' xmlns:expr='http://www.google.com/2005/gml/expr'><head><b:include data='blog' name='all-head-content'/><meta content='GWGgp/NB6IXNcjSWRSnwinNduxUiVSTNeTzbQGwRt4M=' name='verify-v1'/><title><data:blog.pageTitle/></title><b:skin><![CDATA[/** Blogger Template Style* Herbert** by Jason Sutter* Updated by Blogger Team*/
    /** Variable definitions* ====================
    <Variable name="mainBgColor" description="Page Background Color"type="color" default="#ffffff" / value="#000000"><Variable name="mainTextColor" description="Text Color"type="color" default="#000000" / value="#008000">
    <Variable name="titleBgColor" description="Blog Title Background Color"type="color" default="#ff4500" / value="#008000"><Variable name="titleColor" description="Blog Title Color"type="color" default="#fffafa"/ value="#000000"><Variable name="descriptionBgColor" description="Description Background Color"type="color" default="#ffebcd" / value="#000000"><Variable name="descriptionColor" description="Blog Description Color"type="color" default="#9e5205" / value="#008000">
    <Variable name="dateHeaderColor" description="Date Header Color"type="color" default="#777777" / value="#008000">
    <Variable name="postTitleColor" description="Post Title Color"type="color" default="#555555" / value="#00ff00"><Variable name="postTitleBgColor" description="Post Title Background Color"type="color" default="#eeeeee" / value="#004000">
    <Variable name="postFooterColor" description="Post Footer Color"type="color" default="#444444" / value="#004000">
    <Variable name="mainLinkColor" description="Link Color"type="color" default="#de7008" / value="#00ff00"><Variable name="mainVisitedLinkColor" description="Visited Link Color"type="color" default="#e0ad12" / value="#004000">
    <Variable name="sidebarTitleColor" description="Sidebar Title Color"type="color" default="#ff4500" / value="#008000">
    <Variable name="sidebarLinkColor" description="Sidebar Link Color"type="color" default="#999999" / value="#00ff00"><Variable name="sidebarVisitedLinkColor"description="Sidebar Visited Link Color"type="color" default="#de7008" / value="#004000">
    <Variable name="bodyFont" description="Text Font"type="font" default="normal normal 90% 'Trebuchet MS', Trebuchet, Verdana, Sans-Serif" / value="normal normal 79% Trebuchet, Trebuchet MS, Arial, sans-serif"><Variable name="titleFont" description="Blog Title Font"type="font" default="normal bold 266% Verdana, Sans-Serif" / value="normal bold 187% Trebuchet, Trebuchet MS, Arial, sans-serif"><Variable name="descriptionFont" description="Blog Description Font"type="font" default="normal bold 85% Verdana, Sans-Serif" / value="normal bold 85% Verdana, sans-serif"><Variable name="postTitleFont" description="Post Title Font"type="font" default="normal bold 110% Verdana, Sans-serif" value="normal bold 110% Verdana, Sans-serif"><Variable name="sidebarTitleFont" description="Sidebar Title Font"type="font" default="normal bold 125% Verdana, Sans-Serif" / value="normal bold 100% Verdana, Sans-Serif"><Variable name="startSide" description="Start side in blog language"type="automatic" default="left" value="left"><Variable name="endSide" description="End side in blog language"type="automatic" default="right" value="left">*/body {margin: 0px;padding: 0px;background: $mainBgColor;color: $mainTextColor;font: $bodyFont;}
    a {color: $mainLinkColor;text-decoration: none;}
    a:hover {color: $mainVisitedLinkColor;text-decoration: underline;}
    a:visited {color: $mainVisitedLinkColor;}
    a img {border: 0;}
    @media all {div#main-wrapper {float: $startSide;width: 72%;padding-top: 0;padding-$endSide: 1em;padding-bottom: 0px;padding-$startSide: 1em;word-wrap: break-word; /* fix for long text breaking sidebar float in IE */overflow: hidden; /* fix for long non-text content breaking IE sidebar float */}
    div#sidebar-wrapper {margin: 0px;padding: 35px;text-align: $endSide;}
    div#sidebar {width: 25%;float: $endSide;word-wrap: break-word; /* fix for long text breaking sidebar float in IE */overflow: hidden; /* fix for long non-text content breaking IE sidebar float */}}
    #navbar-iframe {height:0px;visibility:hidden;display:none;}
    #content-wrapper {margin-$endSide: 1em;}
    @media handheld {div#main-wrapper {float: none;width: 90%;}
    div#sidebar-wrapper {padding-top: 20px;padding-$endSide: 1em;padding-bottom: 0;padding-$startSide: 1em;text-align: $startSide;}}
    #header {padding-top: 0px;padding-$endSide: 0px;padding-bottom: 8px;padding-$startSide: 0px;margin-top: 0px;margin-$endSide: 0px;margin-bottom: 20px;margin-$startSide: 0px;border-bottom: solid 2px $postTitleBgColor;border-top: solid 2px $descriptionBgColor;background: $descriptionBgColor;color: $descriptionColor;}
    CODE {display: block; /* fixes a strange ie margin bug */font-family: Courier New;font-size: 9pt;overflow:auto;background: #191919 url(
    https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnMMvmJSOQzhyK9f1RUhojYoYBtqRLgoWtzGQmV_N3sJdlBV18FpaueRHi3IMK-6at4npw6odc9aarQbYOpl68c4KKtuKNuM9JF0SwrM9PQ_Bjhje6AMXaKCiHcDJ_yLVWdwc9cHFwgOM/s1600/Code_BG.gif) left top repeat-y;border: 1px dashed #00ff00;margin:2px 3px;padding: 10px 10px 10px 21px;max-height:200px;line-height: 1.2em;}
    blockquote {display: block; /* fixes a strange ie margin bug */font-family: Courier New;font-size: 9pt;background: #191919;margin:1em 20px;border:1px dashed #333333;padding-left: 1ex;}
    h1 a:link {color: $titleColor;}
    h1 a:visited {color: $titleColor;}
    h1 {padding-top: 18px;padding-$endSide: 0px;padding-bottom: 10px;padding-$startSide: 5%;margin-top: 0px;margin-$endSide: 10px;margin-bottom: 8px;margin-$startSide: 0px;border-top: solid 9px $sidebarTitleColor;border-bottom: solid 1px $descriptionColor;color: $titleColor;background: $titleBgColor;font: $titleFont;}
    .description {padding-top: 0px;padding-$endSide: 0px;padding-bottom: 0px;padding-$startSide: 5%;margin: 0px;color: $descriptionColor;background: transparent;font: $descriptionFont;}
    h3 {margin-top: 0px;margin-$endSide: 10px;margin-bottom: 10px;margin-$startSide: 0px;padding-top: 2px;padding-$endSide: 0px;padding-bottom: 2px;padding-$startSide: 2px;color: $postTitleColor;background: $postTitleBgColor;font: $postTitleFont;}
    h3.post-title a,h3.post-title a:visited {color: $postTitleColor;}
    h2.date-header {margin-top: 10px;margin-$endSide: 0px;margin-bottom: 0px;margin-$startSide: 0px;padding-top: 0px;padding-$endSide: 0px;padding-bottom: 0px;padding-$startSide: 2%;color: $dateHeaderColor;font-size: 90%;text-align: $startSide;}
    #sidebar h2 {margin: 0px;color: $sidebarTitleColor;font: $sidebarTitleFont;padding: 0px;border: none;}
    #sidebar .widget {margin-top: 0px;margin-$endSide: 0px;margin-bottom: 33px;margin-$startSide: 5px;padding: 0;}
    #sidebar ul {list-style-type: none;font-size: 95%;margin-top: 0;}
    #sidebar li {margin: 5px;padding: 0px;list-style-type: none;font-size: 105%;}
    .Blog {margin-top: 20px;}
    .blog-posts, .feed-links {margin-$startSide: 10px;}
    .feed-links {clear: both;line-height: 2.5em;}
    .post {margin-top: 0;margin-$endSide: 0;margin-bottom: 30px;margin-$startSide: 0;font-size: 100%;}
    .post-body {margin-top: 0;margin-$endSide: 6px;margin-bottom: 0;margin-$startSide: 5px;}
    .post strong {font-weight: bold;}
    #sidebar a {text-decoration: none;}
    #sidebar a:link,#sidebar a:visited {color: $sidebarLinkColor;}
    #sidebar a:active,#sidebar a:hover {color: $sidebarVisitedLinkColor;}
    pre,code,strike,blockquote {color: #666666;}
    .post-footer {padding-top: 0;padding-$endSide: 0;padding-bottom: 0;padding-$startSide: 5px;margin: 0px;color: $postFooterColor;font-size: 80%;}
    #comments {padding-top: 2px;padding-$endSide: 0px;padding-bottom: 2px;padding-$startSide: 5px;font-size: 110%;font-weight: bold;font-family: Verdana,Sans-Serif;}
    .comment-author {margin-top: 20px;}
    .comment-body {margin-top: 10px;font-size: 100%;font-weight: normal;color: $mainTextColor;}
    .comment-footer {padding: 0px;margin-bottom: 20px;color: $postFooterColor;font-size: 80%;font-weight: normal;display: inline;margin-$endSide: 10px;}
    .deleted-comment {font-style: italic;color: gray;}
    .comment-link {margin-$startSide: .6em;}
    /* Profile----------------------------------------------- */.profile-textblock {clear: both;margin-$startSide: 0;}.profile-img {margin-top: 0;margin-$endSide: 0;margin-bottom: 5px;margin-$startSide: 5px;float: $endSide;}
    .BlogArchive #ArchiveList {float: $endSide;}
    .widget-content {margin-top: 0.5em;}
    #sidebar .widget {clear: both;}
    #blog-pager-newer-link {float: $startSide;}
    .blog-pager-older-link {float: $endSide;}
    .blog-pager {text-align: center;}
    .clear {clear: both;}
    /** Tweaks for subscribe widget */.widget-content .subscribe-wrapper {float: left;clear: left;margin: .2em;font-family: Arial,Sans-Serif;}
    /** Tweaks for layout editor mode */body#layout #outer-wrapper {margin-top: 10px;}]]></b:skin>
    <script type='text/Javascript'>function hidePost(postUrl){var label=document.getElementById("fullpost");if(label!=null){eA = document.createElement("a");eA.setAttribute("href",postUrl);eA.setAttribute("title","Read More");eA.appendChild(document.createTextNode("...Read More"));eB = document.createElement("p");eB.setAttribute("id","read-more");eB.appendChild(eA);label.parentNode.appendChild(eB);label.parentNode.removeChild(label);}}</script></head>
    <body> <div id='outer-wrapper'><div id='wrap2'>
    <!-- skip links for text browsers --><span id='skiplinks' style='display:none;'><a href='#main'>skip to main </a> <a href='#sidebar'>skip to sidebar</a></span>
    <div id='header-wrapper'><b:section class='header' id='header' maxwidgets='1' showaddelement='no'><b:widget id='Header1' locked='true' title='iCNPunk --- Chinese National Punk (Header)' type='Header'><b:includable id='main'>
    <b:if cond='data:useImage'> <b:if cond='data:imagePlacement == "REPLACE"'> <!--Show just the image, no text--> <div id='header-inner'> <a expr:href='data:blog.homepageUrl' style='display: block'> <img expr:alt='data:title' expr:height='data:height' expr:id='data:widget.instanceId + "_headerimg"' expr:src='data:sourceUrl' expr:width='data:width' style='display: block'/> </a> </div> <b:else/> <!-- Show image as background to text. You can't really calculate the width reliably in JS because margins are not taken into account by any of clientWidth, offsetWidth or scrollWidth, so we don't force a minimum width if the user is using shrink to fit. This results in a margin-width's worth of pixels being cropped. If the user is not using shrink to fit then we expand the header. --> <div expr:style='"background-image: url(\"" + data:sourceUrl + "\"); " + "background-position: " + data:backgroundPositionStyleStr + "; " + data:widthStyleStr + "min-height: " + data:height + "px;" + "_height: " + data:height + "px;" + "background-repeat: no-repeat; "' id='header-inner'> <div class='titlewrapper' style='background: transparent'> <h1 class='title' style='background: transparent; border-width: 0px'> <b:include name='title'/> </h1> </div> <b:include name='description'/> </div> </b:if> <b:else/> <!--No header image --> <div id='header-inner'> <div class='titlewrapper'> <h1 class='title'> <b:include name='title'/> </h1> </div> <b:include name='description'/> </div> </b:if></b:includable><b:includable id='title'> <b:if cond='data:blog.url == data:blog.homepageUrl'> <data:title/> <b:else/> <a expr:href='data:blog.homepageUrl'><data:title/></a> </b:if></b:includable><b:includable id='description'> <div class='descriptionwrapper'> <p class='description'><span><data:description/></span></p> </div></b:includable></b:widget></b:section></div>
    <div id='content-wrapper'>
    <div id='crosscol-wrapper' style='text-align:center'><b:section class='crosscol' id='crosscol' showaddelement='no'/></div>
    <div id='main-wrapper'><b:section class='main' id='main' showaddelement='no'><b:widget id='Blog1' locked='true' title='Blog Posts' type='Blog'><b:includable id='nextprev'> <div class='blog-pager' id='blog-pager'> <b:if cond='data:newerPageUrl'> <span id='blog-pager-newer-link'> <a class='blog-pager-newer-link' expr:href='data:newerPageUrl' expr:id='data:widget.instanceId + "_blog-pager-newer-link"' expr:title='data:newerPageTitle'><data:newerPageTitle/></a> </span> </b:if>
    <b:if cond='data:olderPageUrl'> <span id='blog-pager-older-link'> <a class='blog-pager-older-link' expr:href='data:olderPageUrl' expr:id='data:widget.instanceId + "_blog-pager-older-link"' expr:title='data:olderPageTitle'><data:olderPageTitle/></a> </span> </b:if>
    <b:if cond='data:blog.homepageUrl != data:blog.url'> <a class='home-link' expr:href='data:blog.homepageUrl'><data:homeMsg/></a> <b:else/> <b:if cond='data:newerPageUrl'> <a class='home-link' expr:href='data:blog.homepageUrl'><data:homeMsg/></a> </b:if> </b:if>
    </div> <div class='clear'/></b:includable><b:includable id='backlinks' var='post'> <a name='links'/><h4><data:post.backlinksLabel/></h4> <b:if cond='data:post.numBacklinks != 0'> <dl class='comments-block' id='comments-block'> <b:loop values='data:post.backlinks' var='backlink'> <div class='collapsed-backlink backlink-control'> <dt class='comment-title'> <span class='backlink-toggle-zippy'> </span> <a expr:href='data:backlink.url' rel='nofollow'><data:backlink.title/></a> <b:include data='backlink' name='backlinkDeleteIcon'/> </dt> <dd class='comment-body collapseable'> <data:backlink.snippet/> </dd> <dd class='comment-footer collapseable'> <span class='comment-author'><data:post.authorLabel/> <data:backlink.author/></span> <span class='comment-timestamp'><data:post.timestampLabel/> <data:backlink.timestamp/></span> </dd> </div> </b:loop> </dl> </b:if> <p class='comment-footer'> <a class='comment-link' expr:href='data:post.createLinkUrl' expr:id='data:widget.instanceId + "_backlinks-create-link"' target='_blank'><data:post.createLinkLabel/></a> </p></b:includable><b:includable id='post' var='post'> <div class='post hentry'> <a expr:name='data:post.id'/> <b:if cond='data:post.title'> <h3 class='post-title entry-title'> <b:if cond='data:post.link'> <a expr:href='data:post.link'><data:post.title/></a> <b:else/> <b:if cond='data:post.url'> <a expr:href='data:post.url'><data:post.title/></a> <b:else/> <data:post.title/> </b:if> </b:if> </h3> </b:if>
    <div class='post-header-line-1'/>
    <div class='post-body entry-content'> <data:post.body/>
    <b:if cond='data:blog.pageType != "item"'><b:if cond='data:post.url'><script type='text/javascript'>hidePost('<data:post.url/>');</script></b:if></b:if>
    <div style='clear: both;'/> <!-- clear for photos floats --> </div>
    <div class='post-footer'> <div class='post-footer-line post-footer-line-1'><span class='post-timestamp'> <b:if cond='data:top.showTimestamp'> <data:top.timestampLabel/> <b:if cond='data:post.url'> <a class='timestamp-link' expr:href='data:post.url' rel='bookmark' title='permanent link'><abbr class='published' expr:title='data:post.timestampISO8601'><data:post.timestamp/></abbr></a> </b:if> </b:if> </span> <span class='post-comment-link'> <b:if cond='data:blog.pageType != "item"'> <b:if cond='data:post.allowComments'> <a class='comment-link' expr:href='data:post.addCommentUrl' expr:onclick='data:post.addCommentOnclick'><b:if cond='data:post.numComments == 1'>1 <data:top.commentLabel/><b:else/><data:post.numComments/> <data:top.commentLabelPlural/></b:if></a> </b:if> </b:if> </span> <span class='post-backlinks post-comment-link'> <b:if cond='data:blog.pageType != "item"'> <b:if cond='data:post.showBacklinks'> <a class='comment-link' expr:href='data:post.url + "#links"'><data:top.backlinkLabel/></a> </b:if> </b:if> </span> <span class='post-icons'> <!-- email post links --> <b:if cond='data:post.emailPostUrl'> <span class='item-action'> <a expr:href='data:post.emailPostUrl' expr:title='data:top.emailPostMsg'> <img alt='' class='icon-action' height='13' src='http://www.blogger.com/img/icon18_email.gif' width='18'/> </a> </span> </b:if>
    <!-- quickedit pencil --> <b:include data='post' name='postQuickEdit'/> </span> </div>
    <div class='post-footer-line post-footer-line-2'/>
    <div class='post-footer-line post-footer-line-3'/> </div> </div></b:includable><b:includable id='commentDeleteIcon' var='comment'> <span expr:class='"item-control " + data:comment.adminClass'> <a expr:href='data:comment.deleteUrl' expr:title='data:top.deleteCommentMsg'> <img src='http://www.blogger.com/img/icon_delete13.gif'/> </a> </span></b:includable><b:includable id='status-message'> <b:if cond='data:navMessage'> <div class='status-msg-wrap'> <div class='status-msg-body'> <data:navMessage/> </div> <div class='status-msg-border'> <div class='status-msg-bg'> <div class='status-msg-hidden'><data:navMessage/></div> </div> </div> </div> <div style='clear: both;'/> </b:if></b:includable><b:includable id='feedLinks'> <b:if cond='data:blog.pageType != "item"'> <!-- Blog feed links --> <b:if cond='data:feedLinks'> <div class='blog-feeds'> <b:include data='feedLinks' name='feedLinksBody'/> </div> </b:if>
    <b:else/> <!--Post feed links --> <div class='post-feeds'> <b:loop values='data:posts' var='post'> <b:if cond='data:post.allowComments'> <b:if cond='data:post.feedLinks'> <b:include data='post.feedLinks' name='feedLinksBody'/> </b:if> </b:if> </b:loop> </div> </b:if></b:includable><b:includable id='comment-form' var='post'> <div class='comment-form'> <a name='comment-form'/> <h4 id='comment-post-message'><data:postCommentMsg/></h4> <p><data:blogCommentMessage/></p> <data:blogTeamBlogMessage/> <a expr:href='data:post.commentFormIframeSrc' id='comment-editor-src'/> <iframe allowtransparency='true' class='blogger-iframe-colorize' frameborder='0' height='275' id='comment-editor' scrolling='no' src='' width='100%'/> <data:post.iframeColorizer/> </div></b:includable><b:includable id='backlinkDeleteIcon' var='backlink'> <span expr:class='"item-control " + data:backlink.adminClass'> <a expr:href='data:backlink.deleteUrl' expr:title='data:top.deleteBacklinkMsg'> <img src='http://www.blogger.com/img/icon_delete13.gif'/> </a> </span></b:includable><b:includable id='feedLinksBody' var='links'> <div class='feed-links'> <data:feedLinksMsg/> <b:loop values='data:links' var='f'> <a class='feed-link' expr:href='data:f.url' expr:type='data:f.mimeType' target='_blank'><data:f.name/> (<data:f.feedType/>)</a> </b:loop> </div></b:includable><b:includable id='postQuickEdit' var='post'> <b:if cond='data:post.editUrl'> <span expr:class='"item-control " + data:post.adminClass'> <a expr:href='data:post.editUrl' expr:title='data:top.editPostMsg'> <img alt='' class='icon-action' height='18' src='http://www.blogger.com/img/icon18_edit_allbkg.gif' width='18'/> </a> </span> </b:if></b:includable><b:includable id='comments' var='post'> <div class='comments' id='comments'> <a name='comments'/> <b:if cond='data:post.allowComments'> <h4> <b:if cond='data:post.numComments == 1'> 1 <data:commentLabel/>: <b:else/> <data:post.numComments/> <data:commentLabelPlural/>: </b:if> </h4>
    <b:if cond='data:post.commentPagingRequired'> <span class='paging-control-container'> <a expr:class='data:post.oldLinkClass' expr:href='data:post.oldestLinkUrl'><data:post.oldestLinkText/></a> <a expr:class='data:post.oldLinkClass' expr:href='data:post.olderLinkUrl'><data:post.olderLinkText/></a> <data:post.commentRangeText/> <a expr:class='data:post.newLinkClass' expr:href='data:post.newerLinkUrl'><data:post.newerLinkText/></a> <a expr:class='data:post.newLinkClass' expr:href='data:post.newestLinkUrl'><data:post.newestLinkText/></a> </span> </b:if>
    <dl id='comments-block'> <b:loop values='data:post.comments' var='comment'> <dt expr:class='"comment-author " + data:comment.authorClass' expr:id='data:comment.anchorName'> <a expr:name='data:comment.anchorName'/> <b:if cond='data:comment.authorUrl'> <a expr:href='data:comment.authorUrl' rel='nofollow'><data:comment.author/></a> <b:else/> <data:comment.author/> </b:if> <data:commentPostedByMsg/> </dt> <dd class='comment-body'> <b:if cond='data:comment.isDeleted'> <span class='deleted-comment'><data:comment.body/></span> <b:else/> <p><data:comment.body/></p> </b:if> </dd> <dd class='comment-footer'> <span class='comment-timestamp'> <a expr:href='data:comment.url' title='comment permalink'> <data:comment.timestamp/> </a> <b:include data='comment' name='commentDeleteIcon'/> </span> </dd> </b:loop> </dl>
    <b:if cond='data:post.commentPagingRequired'> <span class='paging-control-container'> <a expr:class='data:post.oldLinkClass' expr:href='data:post.oldestLinkUrl'> <data:post.oldestLinkText/> </a> <a expr:class='data:post.oldLinkClass' expr:href='data:post.olderLinkUrl'> <data:post.olderLinkText/> </a> <data:post.commentRangeText/> <a expr:class='data:post.newLinkClass' expr:href='data:post.newerLinkUrl'> <data:post.newerLinkText/> </a> <a expr:class='data:post.newLinkClass' expr:href='data:post.newestLinkUrl'> <data:post.newestLinkText/> </a> </span> </b:if>
    <p class='comment-footer'>
    <b:if cond='data:post.embedCommentForm'> <b:include data='post' name='comment-form'/> <b:else/> <b:if cond='data:post.allowComments'> <a expr:href='data:post.addCommentUrl' expr:onclick='data:post.addCommentOnclick'><data:postCommentMsg/></a> </b:if> </b:if>
    </p> </b:if>
    <div id='backlinks-container'> <div expr:id='data:widget.instanceId + "_backlinks-container"'> <b:if cond='data:post.showBacklinks'> <b:include data='post' name='backlinks'/> </b:if> </div> </div> </div></b:includable><b:includable id='main' var='top'> <!-- posts --> <div class='blog-posts hfeed'>
    <b:include data='top' name='status-message'/>
    <data:adStart/> <b:loop values='data:posts' var='post'> <b:if cond='data:post.dateHeader'> <h2 class='date-header'><data:post.dateHeader/></h2> </b:if> <b:include data='post' name='post'/> <b:if cond='data:blog.pageType == "item"'> <b:include data='post' name='comments'/> </b:if> <b:if cond='data:post.includeAd'> <data:adEnd/> <data:adCode/> <data:adStart/> </b:if> </b:loop> <data:adEnd/> </div>
    <!-- navigation --> <b:include name='nextprev'/>
    <!-- feed links --> <b:include name='feedLinks'/> <b:if cond='data:top.showStars'> <script src='http://www.google.com/jsapi' type='text/javascript'/> <script type='text/javascript'> google.load("annotations", "1", {"locale": "<data:top.languageCode/>"}); function initialize() { google.annotations.setApplicationId(<data:top.blogspotReviews/>); google.annotations.createAll(); google.annotations.fetch(); } google.setOnLoadCallback(initialize); </script> </b:if>
    </b:includable></b:widget></b:section></div>
    <div id='sidebar-wrapper'><b:section class='sidebar' id='sidebar' preferred='yes'><b:widget id='HTML4' locked='false' title='Search This Blog' type='HTML'><b:includable id='main'> <!-- only display title if it's non-empty --> <b:if cond='data:title != ""'> <h2 class='title'><data:title/></h2> </b:if> <div class='widget-content'> <data:content/> </div>
    <b:include name='quickedit'/></b:includable></b:widget><b:widget id='Profile1' locked='false' title='About Me' type='Profile'><b:includable id='main'> <b:if cond='data:title != ""'> <h2><data:title/></h2> </b:if> <div class='widget-content'> <b:if cond='data:team == "true"'> <!-- team blog profile --> <ul> <b:loop values='data:authors' var='i'> <li><a expr:href='data:i.userUrl'><data:i.display-name/></a></li> </b:loop> </ul>
    <b:else/> <!-- normal blog profile -->
    <b:if cond='data:photo.url != ""'> <a expr:href='data:userUrl'><img class='profile-img' expr:alt='data:photo.alt' expr:height='data:photo.height' expr:src='data:photo.url' expr:width='data:photo.width'/></a> </b:if>
    <dl class='profile-datablock'> <dt class='profile-data'><data:displayname/></dt>
    <b:if cond='data:showlocation == "true"'> <dd class='profile-data'><data:location/></dd> </b:if>
    <b:if cond='data:aboutme != ""'><dd class='profile-textblock'><data:aboutme/></dd></b:if> </dl> <a class='profile-link' expr:href='data:userUrl'><data:viewProfileMsg/></a> </b:if>
    <b:include name='quickedit'/> </div> </b:includable></b:widget><b:widget id='TextList1' locked='false' title='Connect' type='TextList'><b:includable id='main'> <h2><data:title/></h2> <div class='widget-content'> <ul> <b:loop values='data:items' var='item'> <li><data:item/></li> </b:loop> </ul> <b:include name='quickedit'/> </div></b:includable></b:widget><b:widget id='Followers1' locked='false' title='Followers' type='Followers'><b:includable id='main'> <b:if cond='data:title != ""'> <b:if cond='data:codeSnippet != ""'> <h2 class='title'><data:title/></h2> <b:else/> <b:if cond='data:totalFollowerCount != ""'> <h2 class='title'><data:title/> (<data:totalFollowerCount/>)</h2> </b:if> </b:if> </b:if>
    <div expr:id='data:widget.instanceId + "-wrapper"'> <b:if cond='data:codeSnippet != ""'> <div style='margin:2px;'> <data:codeSnippet/> </div> <b:else/> <b:if cond='data:totalFollowerCount == ""'> <span class='item-control following-not-admin'> <b><data:failureSnippet/></b> </span> <span class='item-control blog-admin'> <b><data:adminFailureSnippet/></b> </span> <b:else/> <b:if cond='data:followingLinkPresent'> <div class='follow-this profile-link item-control following-follow-this'> <a expr:href='"javascript:_FollowersView._openPopup(\"" + data:followUri + "\");"'> <data:followThisMessage/> </a> </div> <div class='follow-this profile-link item-control following-stop-following-this'> <a expr:href='"javascript:_FollowersView._openPopup(\"" + data:followUri + "\");"'> <data:stopFollowingMessage/> </a> </div> </b:if>
    <div class='followers-grid'> <b:if cond='data:totalFollowerCount == 0'> <div class='profile-link item-control following-follow-this'> <data:emptyFollowersMessage/> </div> </b:if> <!-- Relies on the js written out in navbar.gxp --> <b:loop values='data:followers' var='follower'> <div class='follower'> <a expr:href='data:follower.profileUrl' expr:title='data:follower.displayName' rel='nofollow'> <img class='follower-img' expr:alt='data:follower.displayName' expr:height='data:follower.imageHeight' expr:onerror='"this.onerror=null;this.src=\"" + data:anonFollowerImageUrl + "\";"' expr:onload='"setAttributeOnload(this, \"src\", \"" + data:follower.imageUrl + "\")"' expr:width='data:follower.imageWidth' src='http://img1.blogblog.com/img/blank.gif'/> </a> </div> </b:loop> <div class='clear'/> </div>
    <div class='followers-canvas profile-link'> <data:followersFooterMessage/> <span class='item-control following-not-admin'> <a expr:href='data:followersUri'> <data:viewAllMessage/> </a> </span> <span class='item-control blog-admin'> <a expr:href='data:manageFollowersUri'> <data:manageFollowersMessage/> </a> </span> </div> </b:if> </b:if> <b:include name='quickedit'/> </div></b:includable></b:widget><b:widget id='BlogArchive1' locked='false' title='Blog Archive' type='BlogArchive'><b:includable id='main'> <b:if cond='data:title'> <h2><data:title/></h2> </b:if> <div class='widget-content'> <div id='ArchiveList'> <div expr:id='data:widget.instanceId + "_ArchiveList"'> <b:if cond='data:style == "HIERARCHY"'> <b:include data='data' name='interval'/> </b:if> <b:if cond='data:style == "FLAT"'> <b:include data='data' name='flat'/> </b:if> <b:if cond='data:style == "MENU"'> <b:include data='data' name='menu'/> </b:if> </div> </div> <b:include name='quickedit'/> </div></b:includable><b:includable id='flat' var='data'> <ul> <b:loop values='data:data' var='i'> <li class='archivedate'> <a expr:href='data:i.url'><data:i.name/></a> (<data:i.post-count/>) </li> </b:loop> </ul></b:includable><b:includable id='menu' var='data'> <select expr:id='data:widget.instanceId + "_ArchiveMenu"'> <option value=''><data:title/></option> <b:loop values='data:data' var='i'> <option expr:value='data:i.url'><data:i.name/> (<data:i.post-count/>)</option> </b:loop> </select></b:includable><b:includable id='interval' var='intervalData'> <b:loop values='data:intervalData' var='i'> <ul> <li expr:class='"archivedate " + data:i.expclass'> <b:include data='i' name='toggle'/> <a class='post-count-link' expr:href='data:i.url'><data:i.name/></a> <span class='post-count' dir='ltr'>(<data:i.post-count/>)</span> <b:if cond='data:i.data'> <b:include data='i.data' name='interval'/> </b:if> <b:if cond='data:i.posts'> <b:include data='i.posts' name='posts'/> </b:if> </li> </ul> </b:loop></b:includable><b:includable id='toggle' var='interval'> <b:if cond='data:interval.toggleId'> <b:if cond='data:interval.expclass == "expanded"'> <a class='toggle' expr:href='data:widget.actionUrl + "&action=toggle" + "&dir=close&toggle=" + data:interval.toggleId + "&toggleopen=" + data:toggleopen'> <span class='zippy toggle-open'>▼ </span> </a> <b:else/> <a class='toggle' expr:href='data:widget.actionUrl + "&action=toggle" + "&dir=open&toggle=" + data:interval.toggleId + "&toggleopen=" + data:toggleopen'> <span class='zippy'> <b:if cond='data:blog.languageDirection == "rtl"'> ◄ <b:else/> ► </b:if> </span> </a> </b:if> </b:if></b:includable><b:includable id='posts' var='posts'> <ul class='posts'> <b:loop values='data:posts' var='i'> <li><a expr:href='data:i.url'><data:i.title/></a></li> </b:loop> </ul></b:includable></b:widget><b:widget id='Subscribe1' locked='false' title='Subscribe To' type='Subscribe'><b:includable id='main'> <b:if cond='data:isPublic'> <div style='white-space:nowrap'>
    <b:if cond='data:title != ""'> <h2 class='title'><data:title/></h2> </b:if> <div class='widget-content'> <b:loop values='data:feeds' var='feed'> <div expr:class='"subscribe-wrapper subscribe-type-" + data:feed.type'>
    <div expr:class='"subscribe expanded subscribe-type-" + data:feed.type' expr:id='"SW_READER_LIST_" + data:widgetId + data:feed.type' style='display:none;'>
    <div class='top'> <span class='inner' expr:onclick='"return(_SW_toggleReaderList(event, \"" + data:widgetId +data:feed.type + "\"));"'> <img class='subscribe-dropdown-arrow' expr:src='data:arrowDropdownImg'/> <img align='absmiddle' alt='' border='0' class='feed-icon' expr:src='data:feedIconImg'/> <data:feed.title/> </span>
    <ul class='feed-reader-links'> <a class='feed-reader-link' expr:href='"http://www.google.com/ig/add?source=bstp&feedurl=" + data:feed.encodedUrl' target='_blank'> <img expr:src='data:imagePathBase + "subscribe-google.png"'/> </a> <a class='feed-reader-link' expr:href='"http://www.bloglines.com/sub/" + data:feed.url' target='_blank'> <img expr:src='data:imagePathBase + "subscribe-bloglines.png"'/> </a> <a class='feed-reader-link' expr:href='"http://www.netvibes.com/subscribe.php?url=" + data:feed.encodedUrl' target='_blank'> <img expr:src='data:imagePathBase + "subscribe-netvibes.png"'/> </a> <a class='feed-reader-link' expr:href='"http://www.newsgator.com/ngs/subscriber/subext.aspx?url=" + data:feed.encodedUrl' target='_blank'> <img expr:src='data:imagePathBase + "subscribe-newsgator.png"'/> </a> <a class='feed-reader-link' expr:href='"http://add.my.yahoo.com/content?url=" + data:feed.encodedUrl' target='_blank'> <img expr:src='data:imagePathBase + "subscribe-yahoo.png"'/> </a> <a class='feed-reader-link' expr:href='data:feed.url' target='_blank'> <img align='absmiddle' class='feed-icon' expr:src='data:feedIconImg'/> Atom </a> </ul>
    </div> <div class='bottom'/> </div> <div class='subscribe' expr:id='"SW_READER_LIST_CLOSED_" + data:widgetId +data:feed.type' expr:onclick='"return(_SW_toggleReaderList(event, \"" + data:widgetId +data:feed.type + "\"));"'> <div class='top'> <span class='inner'> <img class='subscribe-dropdown-arrow' expr:src='data:arrowDropdownImg'/> <span expr:onclick='"return(_SW_toggleReaderList(event, \"" + data:widgetId +data:feed.type + "\"));"'> <img align='absmiddle' alt='' border='0' class='feed-icon' expr:src='data:feedIconImg'/> <data:feed.title/> </span> </span> </div> <div class='bottom'/> </div> </div> </b:loop>
    <div style='clear:both'/>
    </div> </div>
    <b:include name='quickedit'/>
    </b:if></b:includable></b:widget><b:widget id='HTML2' locked='false' title='Music Player' type='HTML'><b:includable id='main'> <!-- only display title if it's non-empty --> <b:if cond='data:title != ""'> <h2 class='title'><data:title/></h2> </b:if> <div class='widget-content'> <data:content/> </div>
    <b:include name='quickedit'/></b:includable></b:widget><b:widget id='HTML3' locked='false' title='Recent Comments' type='HTML'><b:includable id='main'> <!-- only display title if it's non-empty --> <b:if cond='data:title != ""'> <h2 class='title'><data:title/></h2> </b:if> <div class='widget-content'> <data:content/> </div>
    <b:include name='quickedit'/></b:includable></b:widget><b:widget id='HTML1' locked='false' title='' type='HTML'><b:includable id='main'> <!-- only display title if it's non-empty --> <b:if cond='data:title != ""'> <h2 class='title'><data:title/></h2> </b:if> <div class='widget-content'> <data:content/> </div>
    <b:include name='quickedit'/></b:includable></b:widget></b:section></div>
    <!-- spacer for skins that want sidebar and main to be the same height--><div class='clear'> </div>
    </div> <!-- end content-wrapper --></div></div> <!-- end outer-wrapper --></body></html>


    替换时还是要注意先勾选扩展窗口小部件模板的选框保存再覆盖。
    ---人说漂亮的女人最毒恶,追求漂亮总是要付出代价的。
    Copyright © 2006 - 2009 iCNPunk.BlogSpot.COM All rights reserved By ZerOnenOreZ & Blogger
    Template Designed By iCNPunk Fixed for IE7