Bad Apple NG:增强版 Bad Apple 播放系统

UPDATE:如果碰到打不开、运行错误2什么的问题,请在 Bad Apple 命令行动画版 看说明下数据文件!!! 上次我的 Bad Apple 命令行动画版 成功被同学WotorDho转载,并且进行了增强,主要是判断延时,以便控制系统卡的时候FPS保持基本不变。可惜他用的是他编写文澜杀时使用的自建Unit XCrt,冗余代码多不说,还不好懂。 我研究了一下XCrt,搞懂他的原理,并且对自己的播放器进行修改,达到了一样的效果。(理论上还会快一点) 同时,由于之前Telnet传输时采取整幅整幅画面传输,浪费了大量流量,我也进行了优化,也就是判断每个像素点是否相同,如果不同就只改像素点,可以有效减小传输带宽。我称之 Bad Apple NG(NG为Next Generation,下一代)。VPS上的Telnet演示将稍后更新。 上源代码: uses crt,dos; type pic= array [ 1 . .79 , 1 . .24 ] of char ; var fin:text; i,j,diff: longint ; ct,dt: int64 ; s: string ; a,b:...

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

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

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

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.249 Round 1. 移植到SSH 因为本来和同学说好我要在SSH下折腾出一个,所以就先用这个了。首先把Bad Apple传到 VPS上,我存在/opt/badapple。这个文件夹里两个文件:badapple和badapple.in(资源文件,我改过扩展名)。 useradd badapple passwd badapple # 密码我设的badapple su badapple # 切换过去 chsh # 输入/opt/badapple/badapple exit SSH登录看效果,结果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 ); // 输出之后画面,不覆盖版权 while ( not (eof(fin))) do begin gotoxy( 1 , 1 )...

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 ~/.ssh ssh-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/ssh nano sshd_config 改下面的内容: RSAAuthentication yes PubkeyAuthentication yes PermitEmptyPasswords no 存盘后service ssh restart,...

缓存插件的正确使用方法

今天去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: basic Content Delivery Network via lantian.pub Served 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文件,直到我翻到这一段代码:...