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 lantian.pubServed from: lantian.pub @ 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,...

Host1Free VPS 内存占用优化

PS:第一次发完文章发现忘了写 nginx 和 php5-fpm 的对接,准备连上自己的 VPS 去看设置,打开终端 - 上键 - 回车,才发现自己打的上一行代码居然是 exit……PS2:VPS 用 22 端口的童鞋请小心,你很有可能敲命令敲到一半断掉,换个端口就行,比如 2222。(好 2)PS3:今天自己在 VBox 上搭了一个 Debian 6 实验,结果发现 Lighttpd 有插件功能…… 修改。对于一个 VPS 来说,CPU、硬盘等对于像建一个像我这样的博客,一般已经足够,但是最烦的就是内存不足。一个 VPS 商可以把母鸡的一个 CPU 核心划给十几台 VPS 来用(虽然只有最坑爹的 VPS 商才会这样做),但是比如你主机的内存是 4G,你永远无法分出 20 台 256M 内存的 VPS,因为那会占你 5G 内存。而且,你的主系统还要跑 OpenVZ 之类的虚拟化技术和 HyperVM 之类的管理界面,你连 16 台(刚好占满 4G)都分不出。对于我们这些 VPS 用户来说,当你拿到一台 VPS,你一定要把它的内存占用精简精简再精简,...

Host1Free 检查所有用户是否使用 VPS

Host1Free 送 VPS 的活动已经搞了好一段时间了,总共上了 30 多台服务器,划出了总共 30000 台 VPS(超售严重啊…… 免费的忍忍吧),引来超级大批用户注册,最重要的是官方不歧视景德镇用户注册。但是景德镇的人有一个特点,就是拿到之后玩,玩烦了就把它放在一边不管,或者是自己又搞到了其他的 VPS(比如 EC2,还有早几个月可以弄到 VPS.me),就再也不去用它了。但是 Host1Free 总体比较敬业,每次服务器 down 掉,都会把所有的 VPS 都开起来,于是那些没人用的 VPS,一个就是 128M 内存 + 640M Swap,浪费资源。于是 Host1Free 想了一个奇葩的方法检查用户是否活跃使用,关机!大概上个星期四晚上,所有 VPS 全部被关机。同时 Host1Free 发邮件通知所有用户,赶紧到 SolusVM 里开启 VPS,否则过几天就要被干掉了。上个星期回到家,我想折腾 VPS,结果连不上,到 SolusVM 里发现 VPS 关机了,于是我就开启了它(我以为 Host1Free 抽风了),折腾了一会儿。...