将 Windows Phone 短信迁移到 Android

Windows Phone 不是一个坏系统。本来就来的晚,还有很坏很坏的更新支持(大部分内建 Windows Phone 8 的手机无法升级到 Windows Phone 10)等一系列坏体验,还有微软慵懒的开发周期,实在是让人心寒。而无法安装购买便宜货的 APP 成为压倒骆驼的最后一根稻草,使得母上大人终于从 Lumia 630 出走,在我推荐换到了 Android 系统的 OnePlus X。

相比其他的消息软件而言,短信是最易于处理的,也是最难处理的。当然这是针对微信这些有大公司背景的软件而言的。微信这些软件虽然提供了软件内备份功能,但却由于外部不可定制,损失了诸如定期备份、以及自己定制内容的自由,以及在各个平台上都能阅读的可能性。这是个自由度或者说是可能性的问题,虽然一定程度上为我们提供了方便。

而短信,作为一种通用型功能的存在,只要保证可交换格式文件的存在,总是可以读的。而本文中的 VMSG 与 XML 就是这样的两种格式。而开发者也会围绕着这些开放的文件格式搭出各种各样的工具,实现各种各样奇奇怪怪的功能,即使没有人做,自己也可以做。这也算是使用这些开放格式的幸福感的源头。

本文尝试从 VMSG 与 XML 两种文件格式来一窥短信存储的形式,并在其中搭设桥梁,让文件的交换从可能变为现实。


继续阅读“将 Windows Phone 短信迁移到 Android”

过2016年2月的农历年

时间过的太快,就好像一条消息尚且没有写完,年,就过完了;就好像上一条消息发出去还没有多久,旧的一年,就已经过去了。

想想当年的自己,也真的是好年轻。曾经的我啊,不知道会为给通讯录里每一个条目,都发出一条短信,是多么的努力。当时的摩托罗拉手机,是有一次发出的人数限制的。我总是数不清人数,于是要反复地找,跳过了几个,发了哪几个。又在过年前后,短信也是不好使的,经常有发不出去的情况,于是还要把那些发失败的记录下来,再重新发出去一遍。看着这么一个每次发的越来越少的人数,好像自己还是一副很激动的样子。当年的我,真傻。

现在的我啊,几乎已经惰于发这些话。有时候啊,就连往一个群里丢下些只言片语都是懒洋洋的,发出去之前,要下好大的一番决心。实话说,要不是看到有些提前发来的消息,要写下些道德感驱使的回复以外,连趴在床上打下几行字也都觉得好烦心啊。

现在的我啊,好像还是会想从前一样,会搞不清楚到底发了哪些人,又错过了哪些。然而现在的我啊,却不会像以前那样去核查到底发了几个人,甚至总觉得即使是最亲、最近、最关心的人大概都会有漏过去的了,然而就这样吧。

也许有几年的这么几个日子,在人人网上,我会把没有手机号的人都给发些话的。

在有那么几年,我会收到诗歌,会收到满屏幕的表情,会有更多更多程序化的无聊的有趣的祝愿。

然而这些日子都过去了。大多数曾经珍藏的过年祝愿,也都早已超出了保质期很久很久。

也许一场枯燥的央视晚会是对的,它终于解放了那些有更丰富生活的人;当然也给了那些没有丰富生活的人们了一个平凡的夜晚。我曾经会觉得,除夕晚上,不坐在电视机前,看到春节联欢晚会的结束,是一件多么不可思议又不应该的事。这么多年过去了,不看晚会,好像在不知不觉中,变得理所当然了。我与我们身边的人在成长,社会也在成长。是我们在拥抱多元,有更多的事情会在除夕的夜晚发生,有更多的事情可以做。社会也在强迫我们,让我们有生活,让我们,去拥抱自己的生活。

终于,国内的、国外的,城里的、城外的人,都还会知道每年啊,总还是要过这么一个特殊的日子,只不过在这样一个特殊的日子里,每一个人,都能讲出一个不一样的故事。

二〇一六年二月八日

于北京

我所爱着的小圈子

这篇文章献给我亲爱的宣传部的同僚们,是你们让我的这半年过得不孤单。

一群人,八九个人,朝朝夕夕,臭味相投,这是我所恋着的集体。称它「小集体」「小群体」也好、「小圈子」也罢,我是蛮依恋那种独特而又紧密的情感,这种紧密感情在我所体验过的感情当中,也许是最令人愉悦的之一。

我所在的宣传部的便是这样的一个小群体。虽说去年是被诓着当上了部长,不过过了这么长时间以后,我反倒是享受着这样的生活,并难以脱离它了。

我喜欢这样的群体,因为在这样的群体里发言,我没有什么心理负担。早上起来,也许有,也许没有你们的新的消息,那么,不论是谁的,一声早安,一个随意的表情,就标志着一天的开始。夜深了的之后,一声声晚安,头像一个个灰掉,便意味着一天的结束。而每一件有意思没意思的事情,便构成了每一天的生活。

这是我一群我亲手选出的兄弟姐妹,这是一群我所尊敬的人。拍视频从最早的毫无感觉、第一次放手让你们去拍,到后来能够独当一面、驾轻就熟,看到你们的技能的获得,似乎比我自己获得了某一门技术更让人感到欣慰。我们一同工作过,一起拼过命;无聊的时候我们一起打趣、悲伤的时候我们相互安慰。

然而我可能是一个挺冷淡的人,对于很多小事已经很麻木了,甚至有点冷漠,而且我表达能力很差很差。能有几个人一起,最简单的好处,就是我不用再担心冷场了。不论是谁打开一个新的话题,我总能有机会说上几句。也真是稀奇,我有时候挺享受孤独,然而在这样的小群体里,我却生活得挺好。如果说所谓领导力的话,我几乎是没有的,我只是希望我能年轻一岁,希冀着能成为你们的一员。结果嘛,事实上,有时候我也会产生这样的错觉,就好像我又过了一遍大一的时光一样。比如聊天,比如发表情、卖个萌,我好像也就是个淘气的孩子,能够陪你们一起,也算是一种形式的怀念吧。

继续阅读“我所爱着的小圈子”

我也想对字幕站关闭说些什么

从前天(2014 年 11 月 21 日)开始,人人影视网站已经访问非常不稳定了,一开始是无响应,后来有一段发生了 502 – Service Unavaliable,后来,网站主页又重新出现了几天,但也只不过是惊鸿一瞥,到现在,已经对中国大陆地区的访客完全关闭了。在昨天的时候,我用了一下射手网,然后到现在射手网也关闭了。于是,到现在为止,(至少是在我心目中的)最大的、最声名卓著的两家字幕网站,大约算是彻底退出了历史舞台。继任者为何?我们仍未可知。

射手网的沈晟在射手网关闭的声明中这样写到:

射手网陪着我度过 15 年了。
我所希望射手网所具有的价值,就是能令更多人跨越国家的樊篱,了解世界上不同的文化。
如果这个网站有帮到人,我就已经很满足了。
但是,需要射手网的时代已经走开了。
因此,今天,射手网正式关闭。

在这里的写着,「需要射手网的时代已经走开了」,我不知道说什么是好。也许,是个时代更迭的时候了。

这是一篇长文,分为四个标题来写,回顾了我与这些互联网上得到的影视作品的历史、讨论了它对互联网的影响。写这么长一篇文章,确实因为,这一次两家网站关闭的事件,对我造成了不小的冲击。在这篇文章里,我们不探讨法律的问题,也不说我们应该怎么样,这些东西,别的地方已经说得足够多;这里,我只想探讨一下,为什么这次关闭对我造成了那么大的冲击,让我久久不能忘怀。

继续阅读“我也想对字幕站关闭说些什么”

上限

最近,我可能开始写一系列以知识为话题的东西,这些东西大而空泛,说起来也听没劲的。不过反正我的博客也没有读者,或者说是几乎没有,所以就这样吧,看能写一点是一点。这些内容可能从我写程序方面写写,可能从设计领域的东西写写,因为只有这么两个方面我自认为还不算特别特别的差,可以作为个不完全对照的分析吧。这些东西很多是不满的吐槽,也没怎么经过整理,也许以后有机会会整理成一个系列吧。

我很喜欢有上限的事情,尤其喜欢有上限的学习。

什么叫有上限的学习呢?这就是说,学到够用就好。像我们在实践当中的学习就属于是有上限的学习。譬如我造一点小程序,我比较喜欢使用已有的库,这样的话,我能很容易就理清自己要完成的东西的脉络。这也就意味着,我只要完成这一部分的东西就足够了,完成这一部分就能基本实现自己最初的想法。

要想能够「有上限地学习」大概首要条件是能够有需求。这样的需求,比如前面说的写程序就是一个,还有就是做实验,做实验的话我能搞清楚自己要做什么,能得到什么样的结果。这么个需求首先要让我自己相信我能够实现,第二呢,我也能比较容易根据现有知识理清自己的路径将会是怎么样的,剩下的就是自己学习,然后根据自己学习的东西实践出来就行了。

当然,做到这些还有一个条件,就是有足够好的技术资料。比如说吧,看一些东西,我比较希望能够有相对完善的中文或英文的 PDF 资料,最好还要是 LaTeX 编译成的,这是最顶上的层次;其次,如果网上的网页索引足够方便的话,也是可以的,比如 Python 的资料我都是直接利用网上的文档。文档内容的话,首先应该有个综合性的介绍(introduction),也就是讲讲这个东西是解决什么问题的,和前后的段落有什么样的关联,让我相信这个东西有用、而且能够搞清楚我需要关注的点在哪里,紧接着教程(tutorial)可以是解决一个大问题的一步,并说明白是哪一步,然后在读完教程之后,又有参考(reference)可以读,也就是说是可以快速翻阅的材料,这里电子材料就比较方便,因为这些内容是可搜索的,而一个关键字在一本书里面也出现不了几次。如果上面的那些条件不能得到满足,我就会在寻找参考材料上面兜圈子——要么是自己看着不爽看不下去了,要么就是自己不断找能够满足自己要求的材料,即使在计算机上这种情况我自己也是经常发生。1

另外一个条件就是足够便捷的纠错(debug)方法,即除错方法。像 Python 的交互终端(REPL, interactive shell)命令提示也是个好办法,出了问题他会自杀然后抛出错误类型,告诉你跑到什么地方了,然后给出调用堆栈,这方面 C/C++ 就不那么友好。经常是动不动就 Segment Fault,或者像前两天在 Windows 下调试程序,程序就在那儿挂着,很不方便,不过也可能是我具体的参数配置得不对,或者标准不太清楚的问题。

还有,我比较希望有足够的时间宽容度。不要总要求在什么时候把事情做完,这么个搞法不靠谱。一定的时间宽容度就意味着我能有机会真正地喜欢去做它,而不把它做成一个任务,后者我会特别抵触。

现在学校学习就上面几条条件一条都不占。

继续阅读“上限”


  1. 这一部分的分类方法,即 introduction – tutorial – reference 三步属于是我的理解,但后来想象,可能跟前两天在爆栈网站(Stack Overflow)上看到的一个 C++ 书籍终极推荐有关,感觉这种分类方法和我的想法非常统一的样子。 

柏林墙的情怀

今天是柏林墙被推倒 25 周年的日子,Google 首页的 Doodle1 换成了一个柏林墙纪念的短视频2,准确说,是一个照片墙,我很喜欢。

在这个视频当中,一方面,展示了世界各地的柏林墙;背景音乐是一位德国小哥完成的。在打底的三角铁的敲击声中,我们俨然听到了当年人们用小锤子一点点敲碎柏林墙砖石的声音,不知是巧合还是有意为之。然而这音乐算不得阴郁,却也算不得慷慨激昂,很平静,或许说没有什么情绪,却把整个视频的氛围很好。

继续阅读“柏林墙的情怀”


  1. Google Doodle Team – 25th Anniversary of the fall of the Berlin Wall 

  2. YouTube – The 25th Anniversary of the Fall of the Berlin Wall Google Doodle 

钓鱼网站是如何让那么多人上钩的

副标题:一个钓鱼网站的近距离观察与分析报告

注意,该钓鱼网站 aa286.com 目前已经下线。不知是管理员把该网站修复还是黑客们主动收手了。

最近有大批的同学不同程度被“盗号”。虽说对于虚拟资产不多的我们而言,被盗号,或者说被别人登录的经济损失并不严重,但被别人告知“你被盗号了”,并且去腾讯修改密码,这一过程还是搞得我们十分痛苦。甚至,很多人被盗号之后,根本意识不到自己到底是在哪一个阶段向别人透露了自己的帐号,至于别人收到一些奇葩的链接,简直变成了一件万分诡异的事情。于是,我便“深入虎穴”,研究了这个盗号过程的始末。对于我们这些少用 QQ 的小朋友们而言,对于如笔者这些有良好上网习惯的同志们而言,这也是我们第一次与钓鱼网站的亲密接触。

在这篇文章当中,笔者将从三个层次揭露盗号的整个过程,以满足不同人群的好奇心。由于不能确保实验研究过程的百分之百安全,不能确保除了钓鱼网站之外盗号还有没有利用漏洞进行木马植入、病毒传播的第二种手段,笔者还是用那句老话劝告大家,此处有风险,非专业人士,切勿模仿。笔者,就身先士卒了。

这篇文章的读者有三个层次的人群,如果你对于一些表面的问题不感兴趣的话,第一部分只看图片即可,然后直接跳到第二部分或者第三部分。恐怕那里更加适合你。如果你对于深入的技术细节不感兴趣,只要看第一部分和结尾即可。

继续阅读“钓鱼网站是如何让那么多人上钩的”

属于北京的九月前

凉飕飕的风,起来了。广阔至于万里的蓝色晴空,笼罩着这座城市,暗示着之后的许多个无云无雨的日子。这是北京的秋天来了,在九月之前。

然而这却是会在很长时间里,我呆在北京的最后一日了。

秋风起,树梢摇。虽然这是初秋肇始的信号,我却无从验证这秋日消讯的真实与否。天,只是一天天地凉下来,树上的叶,兴许还没有开始落。知了的哀鸣仍然伴着风声起起伏伏,凄寂而悠扬。然而只是如此。我懒于走出去,懒于去接触世事。或许杨树的叶依然高挂,然而即便到了被清洁工一堆堆地推到墙角也不过是那么些叶而已;至于蝉的嘶鸣,只有到它们真正黯然的一天,我们才能把之前的它们称作秋蝉,只有到了那一天,我们才能确信,之前凄凉的叫声是它们最后的谢幕。

继续阅读“属于北京的九月前”

一个人在月球

这是一个误会,一个完完全全的误会。不变的信念与行走的现实交织,化作了一系列众叛亲离的妄想。轻风一刻不停地吹动,晾在原野上的衣裙如涨满的帆一般鼓起;飘远的风筝,与追着它们跑着的孩子,还有他们的嬉笑。参与这一切的变化与运动,都是我的历史中的罪人。它们美好,它们不应该,它们危险。

这是欺骗。

世界的时钟走着,我却把我的表关停。我渴望等待。却没有等待。我把我的心留在那里,他们却走了。在我的世界里,他们欺骗了我。我还在这里,我回到这里,他们去了哪?这里没有他们,没有我,只有绝望。

月球往事

我在月球。月球,月宫,嫦娥,玉兔,这是古人的梦想,出现在他们的梦当中千千万万次,这是属于夜的神秘与美好。如今,脚边是岩砾与沙,被遥远的日光的反射而照亮,外面,冷。

我看见远处的星空。底色是纯粹的黑,一颗颗星,不比从前远,却比从前亮,然而没有电影里的星云,紫色,旋转,被渲染出一种神秘而魔幻的色彩。只有地球,不能为我忽视,却确实那样完美。

继续阅读“一个人在月球”

缅怀我们又一个逝去的理想

我不记得谷歌阅读器(Google Reader)被宣判死刑已经多少次了。然而近半年来日益频繁的提醒让我不得不相信,在这个高考之后的六月,这位与我相伴六年的“老友”已经时日无多,最后的期限将是七月一日——那一日一过,六年的繁荣都将灰飞烟灭——我所担心的,是那些记录着梦想的文件只会在硬盘中成为陈年余渣的一部分——而如我这等连短信都不肯删掉一条的人,又如何能够接受这消失。然而我们不得不接受。

作为一名谷歌阅读器的重度用户,在它失宠而日渐落魄的这些日子里,我一直试图作一篇文章悼念它——悼念的不仅是这款产品,更是它作为一种理想的美好。然而诸如考试等等各种原因使得之未能成文,新闻一经宣布的悲恸(怮)渐渐转化为一种接受、一种淡淡的哀伤,然而对于这种理想主义的渐渐丧失,似乎这种伤心与动情于心中却是始终难以抹去的。于是,在这最后的时刻,我还是不得不以一篇博客的姿态与它、与它们道别,以表达我这最后的敬慕。

我想对于谷歌阅读器的悼念恐怕还是与过去的不同,因为我们悼念的是一个根植于当代的理想。它不是因为超前、不是因为失败、更不是因为落后而被放弃,只是因为经济的利益;不同于谷歌离开中国,谷歌终有一天会回来,虽然形式大抵不会相同,或者说,它至少存留于这个世上,想找到总是有机会的,这一次,它是彻底的消失,我们不复有机会再见。有多少人还在对它不了解却又一见钟情(我父亲便属于其中之列),我却只能用一句它“就快要被关闭”来回敬,他们或许一眼能够看到这聚合的玄妙,却不复有机会体验了。我不知道我们叫它“明日黄花”是否合适,这种称呼让我心中感受到一种隐隐的不安,然而这却是谷歌给它下的终身判决,我们不得违抗,也无力违抗,到底,这还是让人非常难过的事情。谷歌对于这个当代理想的判决,也是如此。

这个理想被人们称作Web 2.0,说到头来是这个世纪新生的人文主义理想。在这个理想之下,每个人都是信息的贡献者,而互联网,亦保存了每一个人一方独立的小天地。也许在现实生活中,还不能让每一个人得到自由不受干扰,而互联网却帮我们先期达到了这一点,这是一件多么动人,多么可贵的事。就在这个时候,订阅源(RSS Feed)的概念被提了出来。

继续阅读“缅怀我们又一个逝去的理想”