I am LAZY bones? AN ancient AND boring SITE

gmbox支持整个专辑下载了

由于我太懒了(LAZY bones嘛…),gmbox的开发进度一直很慢很慢…不过幸好还没有完全停滞下来,这段时间都在陆陆续续零零星星地增加些新的功能.
现在,gmbox的专辑下载功能已经基本可用了.包括几个专辑榜单的获取以及专辑搜索,然后新增了一个”专辑下载到各自目录”的配置项,如果勾选了,下载专辑时,就会在下载目录下新增”专辑名-歌手名”的目录,并把此专辑下的所有歌曲放到这个目录.
但是,目前并没有下载某专辑里面的特定几首歌曲的功能,不知道是否有这个必要…
源码仍然只能从SVN获取,大家说是时候放出下载链接了么?

体验Ubuntu One

Ubuntu One 是由 Ubuntu 背后的公司 Canonical 所推出的一项网络服务.该服务和Dropbox类似,能够存储你的文件,并允许你在多台电脑上同步,还可以与好友分享这些文件.Ubuntu One 为免费用户提供 2GB 空间,更多空间需要付费才能获得.目前,Ubuntu One 尚处于 Beta 测试阶段,需经过邀请方能使用.
不过其实…我早在一个半月前(6.12),我就收到了ubuntu one的试用邀请…但是由于这段时间一直都用的gentoo,所以,也就一直搁那儿没用过.(好吧,我承认我有暴殄天物的嫌疑,嘿嘿)
今天,又是一个无聊的周末,我心血来潮,进了ubuntu,才又突然想起这茬子事情了,于是马上按照页面的指导,安装了ubuntu one的客户端.
从菜单启动ubuntu one,发现并没有出现我想像中的一个界面,而只是在通知区域多了一个ubuntu的logo藏在云里的托盘图标,估计这就喻示着这是时下正热门的”云存储”吧.紧接着firefox自动打开了ubuntu one的操作页面.所以,在我看来,其实这个客户端更像是B/S结构的,只不过多了一个操作本地文件和其他功能的托盘程序罢了.
运行过ubuntu one,程序就会自动在你的家目录下建立一个名为”Ubuntu One”的目录,你只要把想上传的文件放到这个目录,就会自动传到云上去了,传的时候ubuntu的logo还会转啊转的,蛮好玩的,试用也还是蛮方便的,这点和Dropbox如出一辙.
另外,即使你没有安装客户端,也可以通过web界面上传/下载/操作你在”云端”的文件,这就实现了数据同步的功能了.
至于大家最关心的速度问题,由于我家里的网络环境太烂(一根线用的人太多了),所以我得出的数据基本上也没啥价值,反正目前我觉得还可以~

font-face真好玩

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

记一下一些分辨率的名字

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

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

我们一起来打墙(favicon分享)

为了纪念 twitter picasa facebook blogspot 饭否 敏感词 敏感词 和 敏感词 等等…bones7456做了一个打砖块游戏的favicon.创意来自之前我没买成功的那件打砖块T恤.
做了三个不同颜色的图标:
favicon-black favicon-blue favicon-whiteinblack
你也可以在这里编辑下载这几个图标,这几个图标都基于WTFPL协议发布.欢迎使用,同时欢迎转载此文,希望看到越来越多的打砖块favicon!

PS:伟大的墙应该还没有识别favicon并过滤的功能吧?

lrcdis增加对banshee的支持

应网友xfsnowind的要求,lrcdis新增对banshee播放器的支持.
目前可以通过SVN获取最新的代码,稍后(等修正好对exaile的支持后),再放出新版本的下载.
PS: 感觉banshee播放器用起来还真不错~GBK的ID3信息也不会乱码,就是有时候会遇到 GStreamer resource error: Busy 而出不来声音…不知道啥原因.另外启动速度能再快点就更好了..

发点牢骚

想给lrcdis加上banshee的支持,使用dbus死活得不到banshee的播放状态,因为banshee的信息是放在 property 里的,但是好像又没有提供 org.freedesktop.DBus.Properties 这个接口…或者是我还不会用dbus?反正我给banshee报了个bug,但是到目前,还没人理我.哈哈…
然后,由于自己对dbus并不是很了解,所以本来想用其他dbus的播放器来做参考的,就装了exaile,结果发现,用以前的lrcdis的代码,已经取不到exaile的信息了…又是dbus…很无语哦…
这个,猜想是近期exaile做了dbus接口的改动,导致原先的接口失效了,我的exaile是0.2.99.2.于是去找新的接口,发现提供了一个 get_track_attr 的方法,需要提供一个字符串参数来指定要获取的信息,但是翻遍整个官网和google也没有找到关于这个的说明文档…目前只知道 loc 是输出文件名的,另外还有 title/artist/album 可用. 后面几个还直接输出了python的unicode格式,汗哦…
然后,获取播放进度的方法是 get_current_position ,但是调用又出错了…于是继续报bug.
你说,没事老改dbus接口干啥涅?改完了,还不让人家知道怎么用..
嘿嘿.没头没脑地发完一堆牢骚,下班回家…

有时候,python也很囧

呵呵,其实不怪python,是我自己很囧.
今天想给lrcdis加个banshee的支持,于是特意装上了banshee,放个歌,想通过dbus取到当前的播放信息来着,不过发现banshee的dbus比较”高级”,他的信息不是调用某个method返回的,而是直接放在了一些property里面…
到现在还不知道怎么用dbus-send取到property的数据,于是想先用pyhton的dbus模块试试.因为之前都没有用过这个模块,自然而然地就想到先写个小程序试验下,于是就顺手写了个 ~/test/dbus.py 然后一运行,就提示:

AttributeError: 'module' object has no attribute 'SessionBus'

最后搞到只有一行 import dbus 还出这个错…害得我以为是系统库出了问题,查了半天,才突然醒悟…
原来,我给自己的程序起名叫 dbus.py 了,import的时候,就会试着去import自己了…那个囧啊…
这python也真是..咳…哈哈~

PS: 如果有人知道怎么在命令行下取到 dbus 的某 property ,还请不吝赐教哦…先谢过了.

教你黑掉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);
		}
	}
})()

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

man2html (效果不是很理想)

有时候,要把man的内容发给别人看或者什么的,就有必要把man转换成其他格式了. 当然,对于带格式文本来说,html是个不错的选择.
搜索了一下,还真有个东西叫 man2html .可以直接emerge了使用.
例如,要把mplayer的man页转出来,需要执行下面的命令:

bzcat /usr/share/man/zh_CN/man1/mplayer.1.bz2 | man2html > mplayer.html

但是,实际使用中发现,有些文本是会丢失的…
例如本来的man是这样的:

       键盘控制
              <- 和 ->
                   后退/快进 10 秒。
              up 和 down
                   快进/后退 1 分。
......

html之后,就成了:

键盘控制
 
        s
            后退/:快进 10 秒。 
        s
            快进/:后退 1 分。 
......