QQ2013 for Android 会帮你自动开通 QQ空间

自从装上 手机QQ2013 后, 我每次打开它都会自动给我开通 QQ空间, 还帮我发表一篇傻傻的 < 我在QQ空间的第一天> , 这让我感觉到自己的智商正在急剧下降.

马的, 试用了五分钟之后, 我从手机备份里扒拉出来 QQ2012 3.1.1 换上, 舒服多了.

如果有不幸中招的机油, 可以按照如下步骤挽救:

  1. 在电脑上 注销QQ空间;
  2. 卸载 手机QQ2013
  3. 安装 手机QQ2012 3.1.1

捉骗子捉小偷

如果你在 Chrome Web Store 里搜 “优酷”, 搜出来的十个结果里有九个是有恶意代码的; 如果你装上了这些恶意扩展, 在浏览购物网站时就会被劫持到钓鱼网址; 恶意扩展的作者通过返利联盟套现.

经过一番调查研究, 我终于发现了这背后的黑手: kxhaitao.com 的拥有者.

他以 “迅雷” 和 “谷歌推荐” 等虚假 id 在 Chrome Web Store 上发布了几十个恶意扩展, 其内容全部是山寨他人的开源免费作品, 而且无一例外地加入了恶意代码; 其中仅 OpenGG.Clean.Player 就被剽窃了十数次; 受害者不独 OpenGG.Clean.Player , 大名鼎鼎的 12306 订票助手 也惨遭他的毒手, 所以安装 12306 订票助手时一定要认准正版: 12306 订票助手.

更有趣的是, 他为了维持这些恶意扩展的人气, 诱骗更多的人上当受骗, 以 “五毛一个账号, 一元一条评论” 的价格雇佣水军为其提供好评. 其人利益熏心, 一至于此, 真是可鄙可笑, 可悲可叹.

解决Windows 8 的一些使用问题

终于受不了Ubuntu 没完没了的死机, 果断装上Win8. 但是装好之后发现几个问题比较悲剧:

  1. Intel 3845ABG 无线网卡用不了, 系统显示wifi 关闭;
  2. ATI MOBILITY RADEON X1300 显卡被认成Microsoft Basic Display Adapter, 显示分辨率很低;
  3. 微软拼音简捷输入法很难用, 而且删不掉;
  4. 没有开始菜单, 关机不便;
  5. Metro 界面与传统界面差别过大, 不协调;
  6. 关掉UAC 后无法启动Metro App;
  7. 没有Aero Glass.

这些不便让我很怀念Win7, 如果你也像我一样无法忍受以上问题的话, 建议你还是继续用Win7 吧, 这是微软迄今为止最好用的桌面操作系统.

继续阅读解决Windows 8 的一些使用问题

在Debian Squeeze 上编译 node.js

OpenGG.Clean.Player 服务器目前用的是apache2. 在9 月11 号之前, 服务器虽然压力比较大, 但主要是静态文件, 速度尚能接受. 但优酷对api 增加了crossdomain.xml 限制之后. 我不得不设置一个反向代理, 这样一来所有的视频api 请求全部通过我的服务器, 压力骤然增大.

流量的压力是一方面, 另一方面则是网络IO 和apache2 进程数限制: 服务器与优酷api 之间的延迟比较大(查询一次约1s), 大量请求被网络IO 所阻塞, 挂起等待优酷api 响应, 导致新的请求被apache2 的并发进程数限制阻塞(在高峰期, 新请求要等老请求完成, 然后才能被apache2 处理, 整个排队时间约10s). 所以现在各位用户在看优酷视频前加载的时间比较长, 因为浏览器既要下载播放器, 又要等待服务器响应, 整个过程加起来约13s, 这已经跟广告差不多长了!

优酷对此要负主要责任. 从OpenGG.Clean.Player 项目开始到现在, 优酷有所求, 用户有所求, 双方在广告和去广告上反复较量, 唯一不求回报任劳任怨的活雷锋是我.

继续阅读在Debian Squeeze 上编译 node.js

Xunlei.Any.Player 0.44

update 2012.09.12: 升级到0.44, 修复种子播放
update 2012.09.11 晚21点40分: 下班前忙得, 搞错了, 现在升级到0.43

之前vod.xunlei.com 会每10 分钟302, 现在Xunlei.Any.Player 升级到0.43, 可以在xlpan.com 上看了.

可以在右下角框框输入视频下载地址, 或拖入.torrent 文件.

视频下载地址和.torrent 文件, 请到yyets.com , 或者caoliu 上找.

对 jQuery tiny PubSub 的改进

最近在做一个项目的时候, 需要用到同事写的一个js 模块, 为了让我写的新模块与之通信, 我一开始用的是旧模块里的一个全局变量. 但是由于历史原因, 这个全局变量不知道啥时候就会被旧模块所修改, 因此遇到了不少Bug. 最后我放弃了共享全局变量的做法, 改用PubSub. 使用PubSub 的好处是减少了对全局变量的依赖, 降低了模块之间的耦合程度, 从而减少了模块高耦合带来的风险.

我之前使用的PubSub 是 jQuery Tiny Pub/Sub, 这几行代码利用了jQuery 的事件api, 实现了相当简练PubSub, 但我遇到了一个缺陷: 在传递数组时有Bug.

$.publish('test',1);       //1
$.publish('test',{a:1});   //{a:1}
$.publish('test',[2,3,4]); //2, it should be [2,3,4] instead
$.publish('test',{arr:[2,3,4]})  //{arr:[2,3,4]}

这个问题让我很头疼, 又无法绕开, 因为这是jQuery 事件api 的写法所致. 随后我决定自己写一个PubSub.

继续阅读对 jQuery tiny PubSub 的改进

巧用NetBeans 恢复误删文件

前几天手滑删掉了一个项目的所有文件, 几周来积累的代码全部没了, 把我吓出来一身汗. 然后我试了一下ext3grep, scapel, extundelete 一类的东西, 恢复出来一大堆Windows 可执行文件, 重要的东西一个也没找到, 马的.

静下心来思考一下, 我所使用的IDE NetBeans 好像是有文件历史的, 于是我重建了一个文件夹与原项目同名, 然后在NetBeans 里右键点击这个文件夹, 在弹出的菜单中选择Revert Deleted, NetBeans 会列出这个文件夹下被删除的文件以供恢复. 但是这样只能恢复该文件夹下的几个文件, 而不能递归恢复子文件夹, 我只能凭着记忆先建立子文件夹, 然后再依次用NetBeans Revert Deleted.

继续阅读巧用NetBeans 恢复误删文件

Xunlei.Any.Player 升级, 继续破解迅雷云点播

升级到0.36 解决部分用户不能正常使用0.35的问题, 关于0.35 的反馈全部删除, 请重新提交关于0.36 的反馈.
大量用户反馈说360 极速浏览器上Xunlei.Any.Player 0.36 不能正常工作, 因为狗日的360 极速浏览器在播放页面用的是兼容模式(IE), 切换到极速模式(Chrome) 就OK了.

我早就知道迅雷要升级云点播, 继续封杀Xunlei.Any.Player, 没想到他们非常狡猾地选择了在周一更新, 我也要上班的好不好, 手上还有几个项目没做完呢, 忙得脚打后脑勺.

白天上班时不断收到同样内容的反馈(本站评论会通过短信同步发送到我的手机上), 我在焦头烂额之余还要小心翼翼地避开同事登上迅雷云点播, 仓促之下又找不到破解的思路, 于是心浮气燥急火攻心, 发了一篇文章来谴责读者们, 这实在是不应该. 不过各位读者气度比我好, 肚里能乘船, 一定不会介意的对吧?

总之, 希望迅雷下次升级的时候人性化一点, 在悠闲的下班时间, 或者微风习习的夜晚, 冰啤酒+花生米+coding, 多么完美的夜晚.

最后, 感谢各位读者的反馈, Xunlei.Any.Player 更新到0.35, 又可以用了. 之前的反馈都很及时有效, 不过我先删掉了, 如果0.35 还是不能用, 欢迎继续给我提交反馈.

安装地址, 常见问题, 提交反馈:
Xunlei.Any.Player

BTW, OpenGG.Clean.Player 今天发生服务器故障, 导致大部分用户无法正常使用, 现服务器已恢复, 请更新到1.20. 如果还遇到问题, 请提交反馈:
OpenGG.Clean.Player