Bad Apple ASCII Javasrcipt字符画版| Bad Apple ASCII Javascript

Bad Apple ASCII 版影绘简介

Bad Apple (坏苹果) 影绘是东方同人作品中的经典,经过后期加工也出现了很多版本,其中ASCII码版的字符动画是其中一大主力,并且在各个平台都有成果:视频,网页,DOS,PSP,Telnet服务器,甚至还有启动盘。
于是出于练手的目的先用Javascript (字符动画播放)和HTML5 (音频播放)实现一番。

传送门:http://rotar.tk/ba

主要工具

  1. 帧提取:Free Video to JPG Converter
  2. 字符化:ASC GEN 2.0
  3. 抽音轨:Free Video to MP3 Converter

体会

目前从效果来说马马虎虎过得去,3:39的动画源文件15.9MB,按30FPS的帧率抽出一共6572帧66.5MB,转成80×35的字符是17.9MB,自己再进行压缩到4.38MB,最后经过PHP的GZip能压缩到1.4MB。

影音不同步是个大问题,目前在想办法解决,大致的办法是使用Audio的currenttime这个属性来计算当前应该达到的帧并且修改帧的索引值。

本来是想用C++来写的,结果发现长时间未使用(plus根基不牢)竟然连读取txt文件都成了大问题,果断要找时间补课了。

Update 2012.08.15

测试了一下IE各版本下的表现,果然差得惊人。于是对IE进行了特殊处理,包括以下:

  1. 把” “(空格)改成” ”
  2. “\n”换成”<br />”
  3. IE7以下版本对于没有内容的”<br />”会直接忽略,于是只得在前添加一个”&nbsp;”
  4. 由于IE不支持ogg格式,当检测到是IE时,跳过音频控制并”建议使用Chrome” XD

Update 21:18

多浏览器支持果然是门学问,这次本以为只有IE会成问题,没想到换成火狐(Firefox)试了试出现了因为字体不是等宽(Monospaced)而产生的严重错位。问题的根源在于之前给pre的标签(tag)在CSS中设置的字体只有一个Courier,这在Win7和iOS上都没问题,可是Firefox并没有这个字体,所以才使用默认字体顶替以至于排版混乱。刚更新的CSS已经添加了6个等宽字体以确保任何系统下都能正常显示。

此外,刚把Chrome的22 Dev版下了来测试发现页面的声音出不来,起因不明,准备再下个21的Beta做对比。

火星的好奇号将接受“大脑移植”OTA升级 | Curiosity Recieves OTA, “brain transplant” on Mars

来源:engadget.com 作者:

Curiosity

好奇号(图片来源:theregister.co.uk)

当你的运营商屈尊为你的智能手机提供久等了的OTA空中升级的时候你是否感觉很棒呢?就在这个周末, 8月6号登上火星的美国好奇号(Curiosity)探索机器人将接收它的第一次长距离OTA空中升级 — 从地球一直到火星。此次升级的目标是将两台电脑中多余的着陆用的软件过渡成为地面探索优化过的版本,来实现如驱动,障碍物规避以及机械臂的使用。NASA称这次行动为“大脑移植”并且指出新的软件其实在飞行期间就从地球上传过去了。现在是否有人能够实现人脑的OTA呢?我们倒是真想学学这个功夫(醍醐灌顶?)。以下是新闻报道。

Continue reading…

用EasyBCD引导Android x86 | Booting Android x86 with EasyBCD

Android x86 移植出来已经有一些日子了,此前的版本大致了解过,各方面功能都有缺陷所以并不是很感兴趣。不过最近更新到了最新的 Android 4.0 RC2,代号 Icecream Sandwich (冰淇淋三明治) ,系统的流畅性,功能以及硬件兼容都达到了不错的水准,于是准备给ThinkPad X200装上一试。

安装之前机器内已经装有Windows 7, Ubuntu 12.10以及OS X 10.8,引导方面以Windows的Bootloader为主辅以GRUB2(Ubuntu)和Chameleon变色龙 (OS X)。考虑到 Android x86 默认可选安装的GRUB 引导器会直接写入MBR取代 Windows 的引导管理,俺决定用EasyBCD手动配置 Android x86 的引导项。

Continue reading…

股沟的提示被墙字段功能 | Google Notifying Terms Blocked in China

下图是试图搜索“学习”时 Google 的提示,有兴趣的话,还可以试试:“长江”,“体温计”,“胡说”,“毛病”,“天安门”,“广场” 。

Searching "学习" in Google.com.hk

Google

之前一直用着.co.uk没改回来,最近换回.com.hk之后看到了这喜感的一幕。

G·FW的字眼屏蔽的已经开启许多年了,作为搜索引擎的大家,股沟当然是深受其害。每每遇到“网页无法显示”,对于相对“较高端”的电脑用户来说,当然能够理解问题的真正起因,可是一般用户就会直接把责任全部挂在股沟的头上了。

添加这个提示功能大概一方面是为了撇清关系,另一方面则是对于G·FW的抗议。

GFW

这个就不做太多讨论了,公开的谈论貌似还是违法的,跨省之类的实在是怕怕。

不得不说信息公开神马的实在是个大问题,虽然考虑到某些隐情对正·腐而言还是Invisible为妙,但是连搜个“学习”,“体温计”之类的在正常不过的词都要面对“该页无法显示”实在是有些过分了。

另外值得一提的是这个过滤机制有些欲盖弥彰的感觉,就好象反黄软件被人拿来查找成人网站地址一样。

iPod Nano (一代) 替换计划 | iPod Nano (1st Gen) Replacement Program

前些天把 Nano 翻了出来,于是本着开发剩余价值的心思去股沟找ZeroSlackr和Rockbox的更新。寻找过程中,偶然看到了老外写的“如何用你的老 iPod Nano 一代免费换到第六代Nano”,具体内容是说好像苹果在宣布召回之后用户的反响非常大,以至于作为替换品的翻新一代Nano库存马上空了,无奈之下便开始用六代的翻新Nano。

作为时隔9月才了解到苹果的这个计划的俺,抱着侥幸心理登进去看了看,发现并没有写结束日期,于是果断开始填表申请。第一步是选国家地区,然后填序列号,输完之后不知是通过了验证还是怎么的,就提示要登录Apple ID,然后便是填收货地址(在刚才所选国家的地址),于是理解意图了之后回到第一步看了看列表发现并没有期望中的香港,这意味着网上填单寄到香港再拖人带来的妄想破灭了。虽说可以等米国学校的申请成功以后溜过去再填单,但是这要等的时间实在是久了些。

于是换到中文版,试图寻找在China本地的解决途径,发现在线申请的连接直接没了,取而代之的是“您可以通过 Apple 授权服务提供商(AASP)或 Apple Store 零售店订购更换产品。

——————————-

1. AASP

好的,AASP是吧,果断去官网找了,附近只有6家,一看表,19:20,于是拨通了唯一一家还未下班的AASP的电话。

– “喂,你好,我想询问一下关于 iPod Nano 召回的问题。因为我有一台朋友送我的一代Nano,所以想询问一下看是否在召回的范畴?”

– “您好,关于这个Nano的召回的问题,你得打苹果的400电话才能问到。”

好,于是400-627-2273,这个电话的过程就不做叙述了,期间与客服MM进行了讨论与询问还让她去请教了上级,最后的结论是:召回计划是苹果公司自己搞的(大概是指销售部分?),而这个400电话负责的是技术支持,具体的相关信息还要向AASP(授权服务提供商)及零售店询问。

2. Apple 零售店

于是无奈之下找到了北京Apple Store的电话(010-64198900)打了过去,这下很顺利,说完意图之后客服MM表示需要提供序列号然后就可以马上进行查询,结果也令人满意:属于可更换的批次。略为蛋疼的就是再次确认了这事儿只有零售店能干,并且还需要预约Genius Bar。于是根据400MM的说法”我们有一批同事已经在上海进行培训了“,俺决定淡定地等待益田假日广场的Apple Store开业的那一天。

——————————-

这小黑伴随了俺高中的大部分时间,而且Linux,Rockbox,igpSP等等功能还真算挺强大,所以心下略有些舍不得,很有点买零件自己再装一台的想法。在淘宝看了看貌似零件一共300RMB左右,2手原装机也有类似价格的,不过成色略差些,主要体现在前后壳的划痕。嘛,从另一方面想想又觉得有了iPod Touch之后Nano功能再强大也没啥意义了,各种矛盾,于是乎,再议吧。

经验总结(虽然按照近年来常用的英文习惯应该先把下面的意思放在最前面,不过既然是用中文写,那便写出点中国特色吧: )

1. 前往www.apple110.com输入序列号查询购买日期,若是处于2005 年 9 月到 2006 年 12 月间出售的,则符合条件。

2. 查询结果中购买日期可能是”未记录“,这时候就可以拨打零售店的服务热线进行询问了,相关的替换办法也可以咨询。

目前不能确定的是AASP们到底能不能换机,不过俺已经没时间也懒得折腾了,便留给后来者发掘吧。