I am LAZY bones? AN ancient AND boring SITE

分类: '流水帐' 的归档

教你黑掉Google

呵呵,我承认我也标题党了一回~
我当然不能真的把google给黑掉,但是却可以把google搞成黑色,嘿嘿…
就是用这个油猴子脚本.当然前提是你使用firefox并安装了油猴子.

不过这个只是我找userscript的时候无意中发现的而已,其实我的本意不是要把google的结果变得这么面目全非,而是只想在点击搜索结果的时候,不要通过google服务器跳转,而是直接进入目标地址.
这么做的原因也很简单,有时候,我们搜索了一个自以为一点都不敏感的词,但是我们伟大的墙却不这么认为,所以不管你点什么都会出现”连接被重置”,这时候你就郁闷了吧,明明搜索结果就在那里放着,你却什么都不能点.
虽然那个a里面有href是指向目标地址的,但是却还有个onmousedown事件,这个比这个href的优先级更高,所以你每次点击那链接都会先执行onmousedown里的JS,去连接google的服务器,google做相应记录以后再跳转到目标地址.这在平时其实是无所谓的,但是鉴于天朝的网络特色,我们很需要一个直接的链接地址.
后来我终于找到了真正干这个事情的油猴子脚本,就是这个.但是这个脚本也太暴力了点,不仅加了个链接,还把原来的onmousedown也干掉了(平时还是到google跳转一下比较好,有利于统计并优化搜索结果),主要是样子还贼难看…所以我又稍加修改,就成了这个样子,贴图:
black_google
顺便把我改过的代码也贴一下吧:

// ==UserScript==
// @name           google_direct_link
// @namespace      http://www.google.com
// @description    在google搜索结果页面增加直接链接地址
// @include        http://www.google.com*
// @include        http://www.google.cn/search?*
// ==/UserScript==
(function() {
	var redirectLinks = document.evaluate(
		"//a[@class='l']"
		, document
		, null
		, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE
		, null);
	var link, marker, href;
	if (typeof redirectLinks != 'undefined' && redirectLinks.snapshotLength > 0) {
		for (var i = 0; i < redirectLinks.snapshotLength; i++) {
			link = redirectLinks.snapshotItem(i);
			//打开此注释可以把原来的结果也变成直接链接
			//link.setAttribute('onmousedown','');
			link.style.fontStyle = 'italic';
			href = link.getAttribute('href');
			marker = document.createElement('a');
			marker.setAttribute('href', href);
			marker.textContent = '直接地址';
			link.parentNode.appendChild(marker);
			link.parentNode.insertBefore(document.createTextNode(' >>> ') , marker);
		}
	}
})()

如果你已经安装了油猴子,可以猛击安装此脚本。

media-libs/mutagen-1.16

昨天折腾gmbox的时候,发现mutagen已经从quodlibet里独立出来,成为一个全新的项目了.而且已经发布了1.16版本,而gentoo的portage里还是老的1.15.在自己的overlay里测试一下没问题,于是我忍不住报告了,这个bug处理得还挺快,于是现在就有了这个ebuild.
今天,自己就装上这个版本了.
哈哈.portage树里也算是有我名字喽…

grep -1 "05 Jul 2009" /usr/portage/media-libs/mutagen/ChangeLog

看吧~

开源?闭源?

之前我的A卡(Mobility Radeon X1700)一直都用得是闭源驱动,3D性能也还可以,glxgears可以跑到2500左右.
但是自从换上2.6.30的内核,fglrx就再也加载不成功了,不管是fglrx9.3还是9.5,都有问题,试了很多方法都没有成功,而且官方也已经把我的r535芯片归于”不支持”的行列了,ATI这么无情地把06年上市的卡给抛弃了,实在是让人气氛又无奈.
好在A卡还可以选择开源驱动,于是emerge了一个 xf86-video-ati ,倒是可以用了,但是glxgears只有100了…而且开compiz还是个白屏.可能是我的xorg.conf没有配置好吧,先睡觉了,明天再来配置…

gentoo的内核升级到2.6.30 fglrx加载失败

昨天sync,发现有 sys-kernel/gentoo-sources-2.6.30 可用了,我没忍住,就升级上去了,其他的倒是没啥感觉,就是加载不了fglrx了…
虽然ati-drivers在我修改了一下ebuild以后,已经成功安装上去了,fglrx.ko也生成了,但是却加载不了,导致compiz不能用了.
modprobe fglrx的时候,提示:
FATAL: Error inserting fglrx (/lib/modules/2.6.30-gentoo-lly/video/fglrx.ko): Unknown symbol in module, or unknown parameter (see dmesg)
然后,dmesg里有这样两行:
fglrx: Unknown symbol flush_tlb_page
fglrx: Unknown symbol pci_enable_msi
应该是内核做了该动了.不知道有没有针对2.6.30的patch…不然,难道我要去用开源驱动了?

PS: 今天又发现了 sys-kernel/gentoo-sources-2.6.30-r1 orz…

XP也很牛

几天前,据说微软要派人到我们公司查盗版系统(我就奇怪了,我们公司又不大,怎么就被盯上了呢?)…
哈哈,这对我倒是没啥大的影响,因为我平时都是用linux工作的.
但是我还是有装着个一个XP的,虽然很少用,基本上就是偶尔打几盘游戏.那我到底是删了XP还是留着呢?
干脆就让我来做个试验吧:我把XP的系统分区(NTFS格式)mount上,把windows目录和ntldr、NTDETECT.COM等记个文件都tar成了一个包…并删掉了,Documents and Setting和Program Files等几个目录换个名字.但是保留分区不动.
这样应该查不出的我windows了吧~
但是,几天过去了,也没看到微软的人来,看来又是忽悠忽悠咱老百姓的,今天我把那些文件都恢复了,tar包也解开,grub项加回去,再试着启动XP,居然还真能启动,哈哈~牛了~
不过有这么几个问题:
tar以后,删除再恢复的文件,丢失了 只读/隐藏 等属性.
tar完删除windows目录的时候,会有少数文件删不掉.可以mv改个名字,忽略掉.
这样以后的系统稳定性未知,没事还是别瞎试验了.

测试base64加密的文章

呃…在这个举国上下都非常紧张的敏感时期,很多博主(指目前还没被墙掉的博主)肯定都想说点啥而不敢说吧?
受lerosua之前用base64来写博文的启发,本文来探讨一个更加方便的加密方法.
lerosua的方法,缺点比较明显,就是对阅读者不够友好,linux用户还可以很方便地复制文字来base64 -d,win用户基本上都要打开一个在线解码base64的网站来解码了.于是我就想能不能把解码的功能放在同一个页面里,用户只需按一下按钮即可看到真实内容.
下面是演示:

点击查看全文 »

由gmbox发现了一个python文档的bug

今天lerosua还是说gmbox在他电脑上运行不了,我终于觉得不对劲了,因为在我机器上,已经是没有问题的了.
稍微分析了一下,发现错误是这样的:

  File "/home/leros/work/gmbox/src/lib/parser.py", line 49, in handle_starttag
    if v[n.index('title')]==u'下载':
AttributeError: 'tuple' object has no attribute 'index'

这附近的代码是这样的:

                (n,v)=zip(*attrs)
                if v[n.index('title')]==u'下载':

所以,首先想到的自然是zip这个自建函数,它返回的n和v到底是什么呢?tuple还是list?
于是去查了下官方文档,就发现不对劲了,文档中的例子:

>>> x = [1, 2, 3]
>>> y = [4, 5, 6]
>>> zipped = zip(x, y)
>>> zipped
[(1, 4), (2, 5), (3, 6)]
>>> x2, y2 = zip(*zipped)
>>> x == x2, y == y2
True

按这样的描述,返回的x2和x应该都是list,但是实践了一下,发现返回的却是tuple…这不乱了吗?于是又跑了一下这个例子,最后一行却不是True,而是(False, False)…就这样发现了文档的一个小错误.
可怜我之前一直非常崇拜python的文档,认为它简直就是文档的典范,详细,可读性也好.现在,突然发现一点瑕疵,不免有些失望呢,TX说也有相同的感觉,哈哈.不过,想想自己能给最喜欢的文档提个bug倒也蛮有成就感的.
python开发也很是活跃,这个bug提交上去以后,仅仅用了15分钟,Georg Brandl就已经把它给干掉了~哈哈,新的文档,最后那里改成了:

>>> x == list(x2) and y == list(y2)
True

于是我也学者这个样子,给我的gmbox加了一行:

                n,v=list(n),list(v)

问题就解决了.
最后,还有一个疑问,为什么之前那样,在python2.5下不行,但是在python2.6下却又不报错呢?
呵呵,答案就是:python2.6给tuple也加了个类似list的index方法…于是歪打正着,在py2.6下,就正确了.

秀婚纱照,求祝福

09年春暖花开的时候,我和MM一起去拍了婚纱照,现在终于拿到了未PS的电子版.相册相框等实物还要继续等…
相片是在龙摄影拍的,总得来说,感觉一般,工作人员的态度还不错,但是拍出来的效果不是很满意,主要是MM的脸显得很圆,真人应该更苗条些,可能是没PS的原因?毕竟最终效果还不知道呢.呵呵~
开始帖照片:
首先是这套藏风系列,风格比较诡异,当初为了避免照片都比较俗套,特意选的这套有特色的主题.
藏风主题
然后是几个内景:
内景一内景二内景三内景四内景五
还有外景和古装:
外景古装
觉得怎么样?全部照片请移步我的Picasa网络相册.
现在,祝福我们吧~~哈哈~~~

郁闷的杭州公用自行车系统

首先要还是要赞一下杭州的公用自行车系统,这确实是一项很好的便民工程,尤其是一小时内免费,这点尤其赞。确实给了普通老百姓蛮多的实惠和方便。
那么我为什么还要郁闷呢?事情是这样的:
昨晚去同学家玩,回来的时候迟了点,大概晚上近10:00的样子吧,心想反正借个自行车骑回来也挺方便的。于是就真的借了车,往回骑,到了住处附近,还车的时候确遇到了麻烦,附近的几个点都还不了。。。这时候才想起同学之前说的我当时却没在意的一句话:“你家附近有24小时营业的自行车点吧?”之所以没在意,是心想,反正自行车点都是全自动的无人职守的,难道还不是24小时营业的不成?但是在试了几个点之后,我不得不无奈地承认一个事实:全自动的公用自行车服务点确实不是24小时营业的。。。害得我又骑大老远的,到一个有人值班的点换车,距离几乎和起点差不多了,也就是说这大半个小时我都白骑了,还了车,又郁闷地拖着疲惫的身躯坐公交回家。。。
后来我就给这个事情想原因,难道是因为安全问题,怕被偷?这也太牵强了吧?技术上实现不了?我想想也没多复杂啊。但是除此之外我实在想不出,为什么21:00之后就不能借还了呢?大家说说看?

ubuntu 9.04 里的默认徽标又变了

有点郁闷,从8.04升级成8.10的时候,就已经变过一回了.
今天才发现,不久前升级的9.04,居然又变了,而且这会默认的徽标少得可怜了,导致之前我给一些目录加的徽标都显示不出来了…
好在我用到的徽标也不是很多,还有个gentoo系统当参考,缺啥补啥也就可以了.
但是gnome-icon-theme这个包,这样子变来变去是不是不太合理呢?在此发发牢骚,呵呵~~