I'm starting to provide Chinese / English versions of some posts, switch with the Language menu above. 我开始提供部分文章的中文、英文翻译,请使用顶部语言菜单切换。

用电驴断头档发现更多驴友,加快下载速度

电驴(eMule)是一个现在很有名的 P2P 协议,电驴下载软件用户可以在网上搜索其他电驴用户,并且获取自己需要的资源。电驴协议分两部分:一部分是 ED2K,它的原理和 BT 差不多。ED2K 要求电驴客户端里保存有一个服务器列表,电驴下载时客户端连接到服务器,并从服务器上下载到其他用户的列表,然后进行连接、下载。这和 BT 协议里的 Tracker 服务器的作用是相似的。但是 KAD 网络部分是它特别的地方,在 KAD 网络中,电驴客户端可以不通过服务器,直接在网上搜索用户。但是电驴的 KAD 搜索速度很慢,因为如果在网上一个个 IP 搜过来,是很累的事情。于是电驴就允许在 ED2K 网上交换 KAD,也就是电驴通过 ED2K 查到客户端,交换 KAD,再连接 KAD,再交换,以此类推。但是反复连接也需要大量连接时间。于是就有网友想出一个办法:如果让电驴不停下载一个文件,这样电驴客户端就可以通过这个文件不停交换 KAD,搜源速度会快很多。但是又不能让它下完,...
插图

Ubuntu 安装 LRC 歌词显示插件和开启类 SRS WOW 音效

我的华硕笔记本原先 Windows 7 下的声卡驱动自带一个叫 ASUS Sonic Focus 的技术,原理就是通过对音频的均衡器调节做到心理学杜比环绕,也就是让人心理上以为声音是环绕声。开启 Sonic Focus 后,我觉得音效好多了。(我不是耳机党)但是在 Ubuntu 上,自然不会有 Sonic Focus,华硕才没空对付这样一个升级频繁的系统。Dolby 和 SRS 等也不会给 Linux 支持,所以开源社区有大神就写出了 Extra Stereo,用于替代这些功能。还有一个 Crystalizer,也就是增强高频声音响度让声音清澈动听,用过创新声卡和创新 X-Fi 的人应该知道。同时,在 Ubuntu 上听歌,没有歌词是最痛苦的。Rhythmbox 自带个什么歌词自动下载,结果我打开根本没用…… 没办法,自己去网上找吧。于是,我找到了 OSD Lyrics。OSD Lyrics is a lyrics show compatible with various media players. It is not a plugin but a standalone program. OSD Lyrics shows lyrics on your desktop,...

Bad Apple 移植到 Telnet 中并成功放映

今天折腾了半天,把 Bad Apple 折腾到了我 VPS 的 Telnet 里面,用的就是我早些时候发的命令行动画版。如果大家想看,telnet xuyh0120.tk 或 telnet 5.175.156.249Round 1. 移植到 SSH因为本来和同学说好我要在 SSH 下折腾出一个,所以就先用这个了。首先把 Bad Apple 传到 VPS 上,我存在 /opt/badapple。这个文件夹里两个文件:badapple 和 badapple.in(资源文件,我改过扩展名)。useradd badapplepasswd badapple# 密码我设的badapplesu badapple# 切换过去chsh# 输入/opt/badapple/badappleexitSSH 登录看效果,结果 Error 2,找不到资源文件。我就在本地重新编译一遍(VPS 上没 FPC),把路径从相对改成绝对,上传,再次登录,就成功出现了 Bad Apple 的动画。下一个要解决的问题是放完片子自动把用户 T 出去,我的一同学给我的建议居然是 pkill -9 sshd…… 这样效果不错,但是你对得起另外在看的人吗…… 不过我发现,片子放完,...

Bad Apple 命令行动画版

Bad Apple 是岛国东方幻想乡制作的一个动画,全动画采用类似皮影戏的方式,只有黑白,但是做到了 3D 画面,而且全部手绘!效果非常好,没有任何跳帧丢帧现象。因为它的黑白特性,大群人开始尝试将它移植到各种平台上,我见过的就有计算器、树莓派,还有人把它用 javascript 放了出来。我也写了一个 Pascal 程序用来放 Bad Apple,不过是全命令行的。编译好的程序我懒得放了,而且我用的是 Linux,Windows 用户下载了也没用,所以我把源代码放出来,你们自己用 FPC 编译吧。uses crt;var fin:text; i:longint; s:string;begin // 链接源文件并准备读取 assign(fin,'badapple.txt'); reset(fin); // 读入第一幅画面并输出版权 for i:=1 to 24 do begin readln(fin,s); writeln(s); end; write('Bad Apple ASCII Art by Lan Tian - https://lantian.pub'); delay(50); // 输出之后画面,...

W3 Total Cache 实现内存缓存

W3 Total Cache 默认使用硬盘作为缓存,对于一些虚拟主机用户他们只能选择这个,但是对于 VPS 用户,他们的选择就大的多了,尤其是买到一些超售技术较好的 VPS 商(Host1Free?)硬盘速度稍微偏慢,就可以利用你多余的内存来做缓存了。我自己先后在 SAE、OpenShift、Host1Free VPS 上搭了 3 个 WP 测试站,在这三者中只有 VPS 可以 DIY,所以今天就对它开刀。(PS:SAE 的本地文件读写限制搞得 W3 Total Cache 连设置都保存不了)另外,一些 PHP Opcode 缓存软件(比如 Zend Optimizer(不是 Zend Guard),eAccelerator,XCache,APC 等)也被 W3TC 支持,可以作为另一种方式的内存缓存,当然速度会略慢。1. 安装 Memcache 服务端和 PHP 支持组件apt-get install memcached php5-memcached php5-memcache# 如果你用LNMP或LLsMP(FastCGI)执行这一行service php5-fpm restart# 如果你用LAMP或LLsMP(LiteSpeed SAPI)...

用证书验证 Linux 远程登录

一般人远程登录 Linux Shell 都是敲密码,烦不说,一旦你的密码在全世界都一样,再遇到 CSDN 600 万密码大泄漏的事件,你的 VPS 也差不多完了。所以我们可以用一种更加方便和安全的方式替代密码,也就是 RSA 加密的证书文件。首先,我们要生成一个证书。cd ~/.sshssh-keygen -t rsa这时你的.ssh 目录里应该多出来 id_rsa.pub 和 id_rsa,其中后一个文件保管好,是你的密码,前一个是你的公钥,可以全世界去发布。然后我们要设置一下我们的 VPS。首先用 FileZilla 或者 WinSCP 把你的 id_rsa.pub 上传到服务器的~/.ssh 里,并重命名为 authorized_keys,注意你想用哪个用户登录就 copy 到哪个用户的.ssh 下,比如用 root 登,就是 /root/.ssh,用 lantian 登就是 /home/lantian/.ssh。然后要在 OpenSSH 里做一点设置。cd /etc/sshnano sshd_config改下面的内容:...

缓存插件的正确使用方法

今天去 Blog @ Mr.Ducky 转,发现他首页上导航栏是 4 个,进了分页就是 6 个,一问他,是缓存出了问题……缓存插件 Bug 会对我们造成很大的困扰。所以我们一定要学会正确地使用缓存插件。1. 当你发了一篇新文章,你的网站首页就会更新,但是如果有缓存插件在,它不会管你的新文章,会将以前的首页返回回去,导致访客看不到最新的文章,所以你要及时清理缓存。当然 W3TC、WP Super Cache 等插件都支持自动清理。2. 当你对网站模板开刀,开完刀一定要记得清理缓存,否则你会死的很惨(据模板修改量而定)3. 随时检查你的网页各个分页的显示内容是否一致,尤其是导航栏、最新文章之类的地方,一旦不一致,你就要马上刷新缓存,否则可能会搞出更大的 Bug。4. 对于登陆用户和不登陆用户显示不同的页面,要做好判断,比如禁止登陆用户的缓存,甚至在极端情况下要禁止这一个页面的所有缓存。缓存插件的确能够很大地提升网站性能,但是如果配置不当,...

为什么香港 CDN 会比美国 CDN 慢

CDN,也就是内容分发服务,可以为你的网站在某个位置建立一个分站,其内容与你的原始站点相同。同时,这些分站还能保存你原有的一些静态资源,如 JS、CSS、图片,让你的网站访问更快。有时 CDN 还能优化某两地之间的网络状况。比方说,我的网站在 B 地,我(以及我的访客)在 A 地,从 A 地到 B 地的宽带需要经过 C 地,但是 C 地的宽带质量不好。这时,我 Ping 我的网站,就会出现不同程度的丢包,一旦数据包丢失,客户端只能等待一段时间,见服务器无响应,再次发包,会导致网站打开速度变慢。而此时,我使用了 D 地的 CDN,此时 CDN 就会绕过宽带不好的 C 地,丢包率明显降低,就可以提高网站的速度。A---->C(X)-->B 这种走法就会丢包| |+---->D------+ 这样绕过C地就能明显加速但是有时 CDN 会适得其反,比如原先访问网站经过 D,开启 CDN 后经过 C,就会导致减速。再举个极端的例子,比如我的网站在美国东海岸,我在西海岸,...

W3 Total Cache 末尾注释去除

W3 Total Cache 开了资源最小化的效果是非常好的,连 HTML 都给我最小化了,不信看看我的网页源代码,连换行符都被删掉了,最小化效果超级给力。但是末尾的地方,却有个 W3 Total Cache 加的注释。<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/Minified using disk: basicContent Delivery Network via xuyh0120.asiaServed from: xuyh0120.asia @ 2013-02-13 20:56:59 by W3 Total Cache -->对于我这种追求速度的人,这段东西不光让网页无端变大,最重要的是我想到有这个东西就烦。于是,我决定对 W3 Total Cache 开刀,把产生注释的这一段代码删掉。先到 Google 上查了一下,有人说在 w3-total-cache/lib/W3/Plugin/TotalCache.php 这个文件的 2000 多行的位置。结果我打开文件一看,整个文件才 800 行,哪来的 2000 行?继续搜,无果。只能我自己看看吧。于是我开始翻这个 php 文件,...

Ubuntu 环境下安装 VMware Workstation 9

话说 Ubuntu 软件源里的 VirtualBox 越来越不给力,原先至少还能安装,现在装都装不上。官方源的那个倒是能用,但是要拖下来一大堆 KDE 组件,等 VBox 装好了,KDE 也差不多了。然后我就决定去弄一个 VMware 玩玩。下载地址:http://download.pchome.net/system/sysenhance/download-10771.html下载下来是一个末尾是 bundle 的文件,这就是 VMware 的安装程序。但是直接执行是不行的,我们要先给它执行的权限。chmod +x VMware-Workstation-Full-9.0.0-812388.i386.bundlesudo ./VMware-Workstation-Full-9.0.0-812388.i386.bundle文件名记得自己改改。然后安装程序启动,是一个安装向导,一路 Next 就可以了。安装完了,可是还没完。打开 VMware 的快捷方式,马上给我弹出一个框:找不到你当前 Linux 内核对应的头文件,请手动指定目录……马上在命令行里一行 apt-get install linux-headers,提示已经安装了。我点了一下浏览,默认的目录是 /usr/src,...