多媒体容器格式变迁史

从照相机、留声机诞生,解决了人们记录影像、声音的需求以来,人们就不断地追求着在有限的条件下尽可能地提高这些记录的品质,而从模拟时代过渡到数字时代以后,这方面的追求有一部分变成了在尽可能小的空间中提供尽可能好的内容质量,这就催生出了一系列不断演进着的媒体压缩技术。

不过这期课堂的主题尚未来到媒体编码的历史,在讲音视频图像的压缩算法进化之路前,我们先来了解一下这些媒体内容的载体——容器格式的进化历程。

首先需要区分清楚的,就是容器格式与媒体编码格式。

何为容器(Container)

对于数字媒体数据来说,容器就是一个可以将多媒体数据混在一起存放的东西,就像是一个包装箱,它可以对音视频数据进行打包装箱,将原来的两块数据整合到一起,也可以单单只存放一种类型的媒体数据。它就像电影胶片一样,中央是一帧一帧的图像,而两旁则印有对应的音轨。

举个简单的例子,常见的MP4就是一种媒体容器格式而不是编码格式,它里面的视频编码可以是现在最常见的AVC/H.264,也可以是它的前任H.263或者下一任——HEVC,音频编码可以是常见的AAC也可以是AC-3。

另一个生僻点的例子:最常见的图片格式——JPEG,它其实只是一种压缩方式,而它的存放方式其实叫做JFIF(JPEG File Interchange Format),虽然在JPEG标准中定义了一种名为JIF(JPEG Interchange Format)的容器格式,但是因为其缺乏某些关键要素,造成了使用的不便而被后来第三方开发出来的JFIF容器给取代了,今天我们能够看到的JPEG文件几乎都是装在JFIF容器中的。

虽然今天我们能够直接拿到的MP4文件里面装的几乎都是AVC+AAC的组合,但还是不能混淆了两者的概念,容器就是个容器,它没得灵魂。

AVI: 老而弥坚

AVI可能是和笔者年龄相仿的朋友最早接触的一个格式。确实,它推出的时间相对较早,也是许久以前最为常见的一种容器格式。它全称叫做音频视频交错( Audio Video Interleave),顾名思义,它就是简单地将视频与音频交错在一起,几帧视频之后就是对应的音频段,这样重复,直到结束。

advantages of AVI file format structure

它由三部分组成,头部、主体以及位于文件尾部的索引。头部中含有文件的元数据(metadata),比如视频的分辨率、码率总帧数等信息。主体部分是媒体数据的存放区,它使用了块(chunk)的概念,将原本的视频流和音频流分成块状进行交错放置,就是上面讲的一段视频一段音频交错放置,而尾部则是用来放置索引,它用来记录每个数据块在文件中的偏移位置。

1571729899048

讲到AVI,还可以联动一下WAV和苹果那边的AIFF,这些容器格式其实是同源的,来自于EA(对,就是现在那个做游戏的EA)为了让不同公司开发出来的软件之间进行数据交换而在1985年开发出来的IFF(Interchange File Format)格式。苹果在IFF的基础上开发出了AIFF,而微软与IBM将IFF格式使用的大端序改成小端序就成了RIFF(Resource Interchange File Format),也就是AVI、WAV这两个容器的基本原型。

1571729442722

1571729484714

在AVI和WAV文件的头部,你都可以看到RIFF的标记。

AVI虽然老,但是因为它以帧为单位把数据切成块来存放的特性,使得它几乎支持市面上几乎所有的音视频编码。而它的缺点也有很多,首先因为索引在文件尾部的关系,所以它并不适合用来流传输;另外在容器中也没有时间戳,只能通过帧数和帧率信息来进行计算,在索引里面并没有写明时间戳—媒体位置的数据,所以要在播放AVI时进行快速跳转还需要额外的技术手段;而媒体数据分块存放也使得它对很多使用运动预测特性的视频编码的支持并不是太好,因为这些帧,比如P帧和B帧,都是通过I帧进行计算得到的,这就需要访问当前帧以外的数据了。

MPEG-PS:VCD、DVD的功臣

用电脑播放过VCD的朋友一定还记得会在目录里寻找那个最大的.DAT文件来播放,而DVD则是找那个最大的.VOB。其实这两个格式都是MPEG-PS容器规范的一种,此PS非彼Photoshop,而是指Program Stream,是MPEG组织在1993年发布的一个容器标准,并且随后写入ISO/IEC国际标准,除了以上两种后缀名之外,还有.mpg也用的是这个标准。

MPEG-PS标准中引入了包的概念,整个文件由一个个包组成,每个包的大小并不相等,包里面含有这个包的时间码以及对应的音视频数据。

MPEG-PS已经随着时代的进步被废弃了,它只能存放MPEG-1、MPEG-2、MPEG-4这些出自同门的视频编码,限制性较大。但因为VCD和DVD的广泛流行,实际上它还是被用的相当多的。

MPEG-TS:专为流传输而生

MPEG组织不仅仅为音视频文件的存储制定了容器标准,还早早地顺应时代潮流,为它们的传输准备了相应的容器。我们的数字电视和IPTV用的就是MPEG组织在1995年制定的Transport Stream,也就是TS容器,当然它也并不限于这两个场景,在现在的低延时直播系统中,MPEG-TS仍然占据了绝对主流的地位,原因就是它的整个结构就是为了流传输而设计的。

一个TS文件中可以容纳多个TS流,不同的流上面可以带有不同的音视频数据,这样通过接收一个TS文件,用户方面可以自由地在这个TS文件中的多个子TS流之间进行切换,非常适合用于传输电视节目。而它同时针对复杂的传输环境进行了针对性的优化,TS流的基础单位是一个个大小仅为188字节的包,每个包都有自己的独立时基,并且由于采用了固定大小,所以在传输过程中即使遭遇丢包也很快就可以恢复正常播放。

发展到今天,TS仍然在网络流传输时代中发挥着自己重要的作用,在苹果主导的HLS(Http Live Streaming)协议中使用的就是TS流,它比MPEG-DASH更加通用,因为后者对于MP4文件进行了一定的修改,在老平台上面支持不太好,而HLS使用的TS仍然是规范中的,可以被大多数设备兼容。

不过也因为TS分包较多的特性,会产生一些数据冗余,所以在存储场景中一般不会使用TS作为容器。

M2TS:专为高清时代而生

M2TS多见于Blu-ray光盘和高清录像(AVCHD)中,它由MPEG-TS修改而来,加入了对于高清时代新的音视频编解码支持。

并且由于TS文件的特性,每一个小片上都有自己的独立时间戳,这使得文件中一部分数据即使遭到破坏也不会影响到其他部分的正常播放,而且可以从中随意的进行切片操作。

ASF:先进却早夭

见过ASF格式视频的朋友我想应该不会太多,但是见过WMV和WMA这两个微软以前主推的媒体编码格式的朋友肯定有很多。其实WMV和WMA就是存放在ASF容器之中的,它全称高级系统格式(Advanced Systems Format),微软原本计划是用它来作为AVI容器的后继者的,它具有诸多先进的特性,比如说它可以包含视频除了规格以外的元数据,如导演、电影名这些,它也可以提供数字版权管理(DRM),还有非常好的流传输支持——仅需要加载文件的最小部分即可开始播放,这点小编感受过一次。

Computer icons of for ASF, WMA and WMV files.png

ASF

ASF身上的这些特性在当时还算是比较先进的,但不过这于事无补,微软建立它那套封闭媒体格式体系的做法并没有得到太多厂商和用户的支持,大家仍然更喜欢用其他更为开放一点的标准,比如MP3就是一个很好的例子。ASF容器也随着微软媒体格式的衰亡而渐渐消失了,我们今天已经几乎看不到WMV、WMA这两个曾经还很常见的格式的影子了。

RM:昔日王者,如今不见踪影

与ASF差不多同时代流行的就是RM和RMVB了,在那个AVC尚未开始普及,DivX和XviD应用较少的年代中,RMVB在国内的各大下载站中都占据了绝对主流的地位,很多视频站也大多使用RM来提供“网络视频点播”的服务。

不过RM容器本身并不出彩,索引仍然位于文件尾部,不过由于数据段里面有加入时间戳,所以在流传输时还是可以应付用户的跳转操作的。因为这个容器本身与RM编码息息相关的原因,它本身也只能容纳RM编码的视频流,所以在RM编码没落之后我们就很少再看到这些昔日王者了,一个容器格式想要长存,要么在设计上有其独到之处,要么就是要开放,在众多平台上面提供支持。而RM两个理由都不占,效果又比不过新兴的AVC,所以它的没落也是必然了。

FLV:前高清时代的宠儿

还记得十年前的土豆网吗?彼时它还被称为“国内的Youtube”,当时视频网站普遍都还在用Flash写播放器实现流视频播放,而自然而然地,Adobe制定的Flash Video格式就成了这些视频网站主要使用的容器格式,也就是我们熟知的FLV。

Image result for flv format

FLV格式是在Flash Player 6中引入的,当时更多的是被存放在SWF文件的内部,不过后来因为体积越来越大而直接独立了出来,它的结构相对而言比较简单,主要分为两块,位于文件头部的元数据信息和后面的音视频数据。不过在数据的存放上面,FLV是将数据分为多个标签进行存储的,每个标签都带有自己的时间戳,所以这就保证了流传输时的音画同步。

由于FLV结构简单但是功能足够用,并且被Flash Player天然支持,所以在当时的视频网站上面普遍都使用它作为容器,直到今天还有很多网站没有放弃它,虽然其中的视频编码早已升级,它也有衍生出来的F4V作为后继者,虽然后者的血统已经不是Flash家族的了。

F4V:换了血的继任者

小编还记得土豆网在2009、2010年左右在国内率先开始使用H.264编码,当时如果将清晰度切换到“高清”就会播放这些用H.264编码的视频。而用飞速土豆加速会缓存到一些.f4v扩展名的文件,乍一看还以为它就是FLV,但其实不然,F4V其实是MP4所在的ISO标准容器家族的,但也是Adobe搞出来的FLV的后继者。关于后者的详情,请往下看。

MOV:苹果向业界作出的贡献

MOV格式的正式名字叫QuickTime File Format。看到这个QuickTime第一反应肯定是“哦,这是苹果的东西”。确实,QuickTime File Format是由苹果在1998年推出的,它引入了原子(atom)的概念,在QTFF格式中,atom是基本的数据单元,它可以用来容纳实际的音视频数据,也可以放置元数据和字幕等文本信息,atom中所容纳的数据类型和大小在每个atom的头部进行描述,经过一层层的嵌套之后,整个数据文件呈现了一种树状的结构,并且保留了强大的可扩展性。

iso_base_media

MOV作为苹果QuickTime编码的成员,在目前仍然被苹果设备广泛使用着,并且对于它的支持非常好。1998年推出QTFF的同时,苹果将这个格式交给了ISO组织,后者将它标准化为国际通用容器格式,而基于这个标准衍生出来的容器,又可以叫做ISO/IEC base media file format,同时被MPEG组织采纳,写入MPEG-4 Part 12标准中。

ISO标准容器格式

ISO标准容器格式是一个规范,它代表符合这个规范的容器类型,而不是特指某个格式。它是由苹果的QuickTime File Format发展而来的,在MPEG-4 Part 12中被最终确定并被ISO/IEC组织写入标准。它虽然没有具体实现,但是它定义了基于时间码的多媒体文件的通用结构,并由此成为了MP4、3GP等格式的基础。

Image result for iso base media file format

MP4:标准,泛用

MP4肯定是现在最通用最流行的媒体容器,甚至可以说没有之一。但其实现在的MP4和早期的并不是同一个标准,目前常见的MP4标准是在2003年完整的的MPEG-4 Part 14规范中制定的,到今天为止也经过了多次的修订。它其实与MOV之间并没有太大的区别,基本上就是把MOV的atom改了个名字,叫成box,然后加了一点别的佐料。

Image result for mp4 structure

苹果建立iTunes Store卖数字音乐的时候选择了AAC-LC作为他们的音频编码格式,而容器格式上面他们并没有选择与AAC-LC处于同一时代(MPEG-2)的ADTS,而是选择了比AAC-LC大一辈的MPEG-4标准容器,也就是MP4,不过因为它只含音频所以我们看到的扩展名就是.m4a,iTunes Store还卖一种只有视频没有音频的MV,它用的也是MP4,扩展名为.m4v。

目前很多视频网站已经从FLV切换到MP4上面了,而且还有一种新的MPEG-DASH格式就是借助于MP4可分割的特性实现的,它将一整段视频切成许多段小块,方便浏览器进行加载,减少HTTP长连接对服务器的压力。

这里说一句题外话,当年某站刚上HTML5播放器的时候,因为他们原来的视频几乎全部都用的是FLV存储的,而HTML5标准并不支持它,所以要进行一个容器转换,某站当时一位非常年轻的程序员写出了一个在浏览器内实时将FLV文件转成MP4并喂给浏览器的媒体播放器的脚本,名为flv.js,这个脚本可能给某站省下了非常大的格式转换成本。不久之后这位程序员因为受不了某站的低薪而离职。这件事曾经引起了很多社区的热烈讨论,因为今天是程序员日所以特地写了这么一段。

3GP:精简小巧,手机最爱

3GP是MP4的同族兄弟,一样是基于ISO标准容器格式,用过3GP的兄弟肯定还记得这格式最多出现的地方是哪里——以诺基亚为代表的前智能手机时代,手机录像出来的文件大多都是3GP格式的。

3GP这个容器格式标准其实不是由以往的MPEG啊这类专注于多媒体编码的组织搞出来的,而是3GPP,对没错就是制定通信行业标准的那个组织制定的。它在容器支持的格式上进行了精简,只面向于手机可以进行的编码,比如MPEG-4 Visual、H.263这些比较老的视频编码和AMR、AAC这两种前智能手机时代使用较多的音频编码。

因为前智能手机时代的手机性能并不强大,一般也不需要支持很多种格式,不用像MP4那么全面,所以3GP最终成为了一种被广泛支持的格式,不过也因为它支持的格式过于有限,最终在智能手机时代被同门大哥MP4给取代了。

MPEG-DASH

面对时下流行的流媒体,MPEG组织对MP4文件进行了魔改,由于MP4天生可以进行无损切割的特性,DASH方式将原本媒体文件中完整的文件头的元数据信息和片段Box中的信息抽取出来单独写在一个文件(MPD)中,同时还包含了片段的URL等信息,播放器可以自适应选择需要的片段进行播放,在自适应程度上面比HLS更强一些。(其实MPEG-DASH也可以用TS作为容器,但用MP4更多一些)

Image result for MPEG-DASH

目前MPEG-DASH已经成为了一项国际标准,人们比较熟悉的应用平台就是Youtube和Netflix,在这些平台上面你会发现浏览器在不断地加载一些小的视频文件,但是视频的播放是连续的。

MKV:强大无需多言,免费让它受爱

说到MKV,喜欢收藏高清电影的朋友肯定不会陌生,这种容器格式大概是和高清时代一起发展起来的,但其实它在2002年底就已经完成制定了,不过推广的很缓慢,到了高清时代和UHD时代人们才开始发现这种容器的强大,并用的越来越多,连微软都在Windows 10的初始版本中加入了对它的支持。

MKV全名Matroska,它身上最大的特点就是开放标准、免费使用,而且它可能是目前地球上最强大的数字媒体容器格式,一个文件中可以放音频、视频、字幕、字体还有章节信息等等等等,前面东西都是不限数量任你放多少都可以吃得下的,而且它是目前唯一一个支持封装ASS字幕的格式。

值得一提的是,这玩意儿是俄罗斯组织матрёшка搞出来的,其实本身是用于盗版的,俄罗斯的网络情况跟我们挺像的,网络上盗版横行,而MKV也帮助了文件的传播,目前来看,MKV可能是众多容器格式里面最好用的,无论是编辑元数据还是抽取轨道重新封装都有GUI工具支持,不过可惜的是众多视频编辑剪辑软件还是没有提供对它的支持。

总结

其实读到最后你会发现,这些容器格式内部对于音视频数据的处理都是大同小异的,区别点其实并不大。更多的差距在于它们对于不同编码格式的支持程度、元数据的详细程度以及对于是否能够支持音视频以外的数据。

而发展到至今,MP4仍然够用,在互联网时代扮演着非常重要的角色;MKV在下载党那里被奉为圭臬;而TS格式仍然在数字电视系统中被广泛使用。但在他们之前的格式也不是说非常弱或者不好,只不过可能是他们支持的那些格式没落了顺带着把它们也带没了,真正像AVI那样确实在技术规格上落伍的容器并不多。

而对于各种容器之间无损互转的事情,小编这里推荐mp4box、mkvtoolnix和强大的ffmpeg这些工具。下一篇系列课堂,我们会转向在如今多媒体领域中扮演无可替代角色的视频编码的变迁史,并且会看一看未来的AV1和VVC这两种对于大众来说还很陌生的下一代视频编码。

回忆录

声明

本故事纯属虚构,如有雷同,那肯定是真的。

引子

关于我自己的心理创伤这个问题,我考虑了非常之久。不明不白地,读完四年大学之后,我又多了不少心理创伤。但相对的,我的心理承受能力也确确实实的提高了。我仔细的去回想,发现有那么几段记忆,我始终不愿意去回想,但它就是会时不时的跳出来让我难受。现在,我尝试着写出来,如果各位读者有什么评判,不妨用 SNS 的方式来告诉我。

D是我刚进大学时候比较喜欢的女生,她有一个室友L,是个北方女孩。

刚上大学的时候,我还是对班上事情蛮热心的,帮我们班长很多忙。有天班上评贫困等级的时候,L被班长找了个理由留了下来,我头一回知道她的名字,然后要到了联系方式,逐渐熟络起来。

L是跟我一样的夜猫子,熬夜熬得比我还晚的那种,半夜在那打101,白天的课基本全翘干净了,托她的福,我知道了不少D的事情。当时跟D有一搭没一搭的聊着,D跟我安利了不少唱见。

就这样过了大概一个半月,12月初的时候,L突然说电脑坏了,我自然而然的当起修理工。然后又过了几天,一天晚上八点,我刷空间的时候突然看到她发了条定位,在机场。

我很好奇,她怎么会这个时候在机场,发了个消息问她,她回我说,见网友。

当时我没在意,因为我见网友都是已经有比较长时间的交流之后有机会才会约见面,当然一个宅男约的人基本也都是宅男,出事的机率不大。

又过了两天,正巧要开年级大会颁个奖,而L参加了礼仪队,不得不赶回来,她让我买了点吃的送过去,我照办了。

那周周四,突然她就联系我说要不要一起去城里逛逛,她请客,我没明白为啥,稀里糊涂就跟着走了。那天把C城中心的几个景点给逛了,回学校的时候已经八点多了。那天我还知道了她有个同卵妹妹,什么都比她强。

然后这段故事第一次重点来了。

那周周末,D联系我说L在疯狂喝酒,很不对头,让我问问情况。我发消息过去,回过来的感觉就是她整个人都疯疯癫癫的,然后她开始跟我倾诉。意外就是这么发生的,我给D回报情况的时候直接是截图的,正巧她把关键的一句话发过来的时候我截到了,然后在我自己都没看到这句话的情况下,D先看到了,然后回了我个“卧槽”,我回头一看,“我操”。

那句话原文我已经不记得了,但是上下文联系起来的意思就是:我见网友被强奸了。

当时我就感觉一股热血冲上头顶,马上叫她下楼当面聊。

聊了些啥我已经不记得了,只记得我听到了更可怕的事实,她的裸照被挂在网上。

我被她遭遇的惨祸震惊了,原本以为这种只可能是文艺作品中的故事竟然发生在自己认识的人身上。我感觉我承受了巨大的压力,只好抱着她的头,跟她一起哭,最后对着空无一人的操场怒吼“去你妈的老天爷”。

那天晚上,酒量不行的我,把自己灌睡过去。

第二天她的精神情况似乎好了点。

但是,第三天,周一,我上着课没见着她人,不放心在翻她的空间。结果看到了类似于告别世间的一些话。我急了,直接跟D要来了她们的寝室钥匙,冲了一公里路,直接冲进她们那栋公寓楼进了她们寝室。她室友收到消息也跟在我后面回来了。

我爬上她的床去看她的情况。她最终还是没舍得去死,左手手腕上好多条浅浅的割痕,没割破主血管。我松了一口气,跟她说,你太傻了啊。

原本我以为她会就此罢手,回到原本的生活轨迹上,我没想到的是,她原本的生活轨迹就是错综复杂的。

在L出事之后,正巧Sherlock的电影版要在国内上映了,我寻思着去看首映场,然后想了想去问L一起不,她倒是答应的挺爽快的。然后我就买了两张票,市中心最贵的电影院。

然后就到了放假,因为圣诞节参加了个志愿者活动,假期前晚我就进城去参加聚餐了。聚餐结束准备去地铁站往学校赶的时候,我被D告知,L又去机场了。

一瞬间我进入了慌乱之中,我真的不愿意再看到之前的事情重演了,于是马上联系L。

「你又去接人了?」「是啊」「……」「你怎么知道的?」「这你就别管了,自己注意安全」

说实话,当时我已经产生了一种不想再管她了的情绪,但还是放心不下,就放弃了回学校的打算,找了家咖啡店坐下充电。

接下去的几个小时,穿插了另外一段小故事,大致就是被陌生年轻女性搭讪聊天听她抱怨男朋友地渣男事迹然后一起吃了点东西然后把她送回她男朋友家楼下。

折腾完,已经是凌晨两点左右了,我慢悠悠地逛到之前选定在看完电影之后去的通宵书店,进门坐下休息。

突然L发了条短信过来,「你饿吗,要不要过来一起吃个饭?」

我心想也就不打扰你们两个了,再说我走了一天了根本走不动了,就婉拒了。昏昏沉沉睡了没多久,天还没亮之前我又背着包四处乱逛了。

那天下午,我收到D的消息,她们寝室丢钱了,她们怀疑是L干的,然后开始跟我吐诉关于L的问题,包括但不限于晚上打游戏说话很吵,随便乱拿别人的东西比如各种化妆品,甚至衣服都是穿她的很久没还,还有各种卫生问题。我觉得L再坏也干不出来偷钱这档子事情的,让她们去阿姨那边看监控。

我心里乱的一塌糊涂,在到底该相信谁之间摇摆。最后我决定,不再管L这档子破事了。可没想到……

看完首映场又睡了一次书店之后我回了学校准备期末考试,大概快有两个星期的时间,开头L还时不时发个消息过来但后来却没了信,有天还突然找我借钱,我看她QQ没啥异常说话语气表情也都跟平时一样没多想就借了。

然后突然就出事了,有天晚上D告诉我L失踪了,因为有两门考试缺考辅导员找不到人开始问学生了。不一会儿电话就打过来了,我也没多想什么,把自己知道的都说了。再过了会儿她妹妹找到我了,我把L手机的账号问了出来,位置自然是关掉了的,然后把通讯录找了出来一个个打过去问。

结果还是一无所获。

我还能有什么办法,只能等待。还算好,她自己跑了回来。比较简单的经过是,男的软禁了她,带着她旅游打游戏,骗了点财物。

然后她母亲来了,把她带了回去。

第二个学期,我删除了她所有的联系方式。听说她因为各种原因,住校外去了,最后听到她的消息是她办了休学。

其实关于L的事情,我后来回想起来,一直有些悔意。

比如说后来如果我没有生硬的去切断联系,比如说那晚我去吃了饭把她带走了,比如说我当时没全盘听信D的话,可能L就不会落到后来要办休学的地步吧。

其实还有一个故事,不过是关于另外一个异性的。

杂(五)

夜晚是属于自己的。

没有了白天的临街窗外的喧嚣,只剩下房间里还在响的几个风扇声和硬盘的响动。

你再一次地想起这一年来发生过的事情。

去年的这个时候,你头一次站到全年级面前主持活动,头一次试探着自己能达到的高度,高中之后,你头一次这么高调。

然后是又一年的沉沦,什么都没干,什么都没做成。

却又很累,压力越来越重,睡眠质量越来越差,开始长期的熬夜与通宵消耗自己为数不多的生命力。

想要做梦啊,无奈梦境似乎已经快离我而去了,无论我怎么地去呼唤它,一觉醒来却又是什么都不记得,然而精神上的疲乏告诉我,你一定在刚才经历了些什么。

又回想了一遍 ReLife,那可能是最近两年中看的感触最深的一部动画了。想回,却又不想回到高中时代。李宗盛说既然青春留不住还是做个大叔好,但是我真的不想变成别人口中的大叔,我还是想当一个比那时候更加成熟,但却是被人称为少年的人。

终于也能用平常心去面对有特殊感情的人了。

终于也能做到父亲多年前期望的那样「圆滑」了,可这真不是我想要的。

终于也能做到和母亲吵架时不吊起喉咙吼她了,可她还是要继续念叨我。

终于也会在一个人看电影时不再克制自己的眼泪了。

人生确实是由一个个选择组成的,你看不见的蝴蝶效应在一次次选择中泛起巨大的波纹。

我现在的愿望是回到一年前的这个时候。

但是,却没有后悔药,没有能让你回到 15 岁的药丸,更没有哆啦 A 梦的时光机,有的只是你的妄想和「如果那样就好了」的感叹。

不要再错过什么了,但这又是不可能的,活着太无奈了,就像自己毫无主动权一般。

又会想到命运和宿命,他们究竟存不存在呢,究竟是你自己的意识主导着你自己的行动与未来还是冥冥之中的力量已经将这一切都安排好了呢?

可能上帝和爱因斯坦,真的是同时存在着的吧。

>>endl;

好き

2019 年的头一篇文章,我决定献给自己的感情。

好き

喜欢上一个人与认识到自己喜欢上她往往是在两个时间点,名为喜欢的种子都是在不经意间被种在心底,生根发芽慢慢开始向着一棵参天大树成长。发现这棵树的名字,可能已经是它长成一棵小树苗的时候了,于是坐立不安,在继续让它长下去与早日拔除的选择之间徘徊。

最终还是选择让它继续长下去,却不给它施加过多的养分,任其自然。结果有一天,这棵树实际的主人给它施了很多肥,浇了很多水最后又把浴霸开着在它顶上疯狂照,结果两天之内它就从一棵小树苗变成了占据整个心房的参天大树了。

这可怎么办。开始坐卧难安,胡思乱想。

片思い

好想和她说话好想知道她的事情好想和她吵嘴好想和她一起听歌好想和她一起玩好想和她说我喜欢你怎么办怎么办怎么办

结果还是只能强行控制住自己,你已经是个成年人了,不要还是像个小孩子一样什么都不管冲上去把自己的感情一股脑的宣泄给对方。

半夜醒来不知道为什么,第一时间起来翻她的账号。啊,原来还没睡啊,于是再次打开聊天界面,呆看了半天打了句话又删掉。

会时不时的去寻找她曾经留下的痕迹,发现对方和自己的共同点会兴奋半天,但是又不能唐突的去说,只能在平时插一点内容进去。

小心翼翼地守着自己这份感情不被别人发现,又好想找到能分享心情的人。

把对方的名字变换形式写进自己的 ID 里,害怕有人发现的同时又期待着对方能自己看到。

还顺便修改了自己用了好几年的常用密码。

偷偷的准备着给对方的礼物,却不当心全说漏嘴了,一点惊喜感都没有了。

于是又开始冥思苦想,终于找到个另外的算是惊喜的附加物。

然而却发现自己越来越控制不住自己了。

告白

这可怎么办才好呢。

这可怎么办才好呢。

时机没到,但是好想说。

99.9%的可能性不会成功,但是好想说。

说完了做不成朋友了怎么办,但是好想说。

我好累,快撑不下去了。

但是,就是喜欢啊。

New Age 音乐

New Age 派音乐可谓是当今音乐流派中包含乐曲最为宽泛的一种流派,笔者最早开始喜欢上音乐就是因为听这个流派,这个流派很大的一个特征就是以器乐为主,形式可能有传统的器乐合奏,也可能是电子乐,此外也不乏一些混有人声的佳曲。

此文简单推荐一些我常听的名家,歌单:https://music.163.com/#/playlist?id=2563249859

Secret Garden

Secret Garden,一般译为神秘园,其鼎鼎大名完全无需笔者多言。这个仅有两个人——一位作曲作词家 Rolf Løvland 和演奏演唱家 Fionnuala Sherry——组成的「乐队」是将笔者带入音乐世界大门的领路人。其出道曲 Nocturne 和一专同名曲 Song from a Secret Garden 经典到无以复加的地步,后来的 You Raise Me Up 更是被 Westlife 所翻唱,为千万人所知。

神秘园的音乐,笔者完全不知道如何去做评价,只想告诉读者,去听、去享受就对了。

Yanni

Yanni,是推荐 New Age 时永远绕不开的一位大师。一曲 Nightingale 让他为中国人所知。雅尼的风格极为多变,时而喜欢玩弄器乐,时而采用电子乐,这里想推荐雅尼近几年的两张专辑:Sensuous ChillTruth of Touch。这两张专的电子风格极为丰富有趣,一位六十四岁的大叔像个二三十岁的 DJ 一样把玩着电子乐,曲曲耐听。

Omar Akram

这位估计大家都不熟悉,但是如果提到以前 CCTV 新闻频道每个时段间隔的天气预报时间用的 BGM,读者就可能熟悉无比了。这段音乐截取自这位光头大神的 Run Away With Me 跟我私奔。他的曲子,更像是在模仿一种环境声音,当然钢琴+小提琴的组合也非常之多见,总之用来放松神经非常不错。

Pacific Moon

Pacific Moon 是一个日本的厂牌,所以在他们家的音乐中,你能发现非常多的和风元素。在乐器的使用方面,大量采用了日本传统的民族乐器以及中国传入的传统乐器,同时配上西式乐器,打造出的完全就是器乐爱好者的乐土。

推荐的专辑是早期的月Ⅰ、Ⅱ以及月Ⅲ,这三张精选集基本能概括和平之月这个厂牌的内涵。之后的专题集因为听的比较少所以也不好给出自己的推荐。

这里扯一张来自于 Key 社的改编专辑,因为改编人员都是和平之月的成员所以勉强也可以视作和平之月的作品:Ma-Na,可以尝试下带有 New Age 风的 Key 社音乐是什么样子的。

Jusqu’à Grand-Père

之所以推荐这个乐队,完全就是因为千年の戀这张碟,在听这张碟之前,笔者完全没想到原来一把吉他和一把小提琴能够碰撞出如此有魅力的音乐。强烈推荐,和风中带着一丝爵士乐的味道,非常舒服。

姫神

将和歌融入新世纪音乐,给人以完全不同的感觉。

网易云上排名前五十的曲子,大部分都会给你上世纪八九十年代电子乐的感觉,实际上确实如此。姫神以他特有的时而和风时而波澜大气的风格吸引着笔者,所以也推荐出来。推荐曲目:一人静千年の祈り虹橋

S.E.N.S.

这个由两人组成的乐队同样是「各种耳熟却又不知道来源的音乐」的创造者。如果不是去年网易云的私人FM给笔者随机到了他们的曲子,那笔者可能真的不知道那么多耳熟能详的曲子的作者都是谁了。假如说想知道他们知名的曲子都有些啥,那打开网易云听前十首,相信笔者,你会恍然大悟的。

David Nevue

纯粹的钢琴是怎么样的,听他的曲子就可以慢慢懂得。


最后笔者想塞两首私货进这个歌单,都是来自于 Pure -AQUAPLUS LEGEND OF ACOUSTICS- 这张对笔者而言神一般存在的专辑,一首是上松範康的永久に,另一首是藤間仁的末期の言葉~最期の誓い~静寂。尤其是前者,从高中发现这首曲子之后一直到现在,我都没有听腻,那是一种完全没有办法用语言表达的震撼,对演奏者演唱者作曲家编曲家绝对的折服,请务必听完。

>>endl;

我的单相思

2018年12月18日更新,这个故事彻底结束了,我续写了结尾部分。


今天,我来写一个男孩的恋爱故事:


男孩遇到女孩是在他十二岁的时候
那是初一刚开学
他带着被不公划分的愤懑来报了到
一眼望去,除了几个小学同班的,别的都不认识
就这样,他开始了他的初中生涯,一晃,到了初一下
男孩发育的晚,个子在那时的班上显得特别矮,于是便一直占据着第一排的座位
有一天,他注意到左边隔了一条“走廊”的女孩
“啊你是我小学隔壁班的那谁”,男孩想起来了
女孩很好奇,“我很出名吗”
“没,只是听过你的名字”,男孩解释道
有时他们就这样有一句没一句的聊着


男孩被家里管得紧,心思却野的很
在班上干了不少被人唾弃的事情
那个学期末,他考了个很次很次的排名,被骂的很惨
从此,他过上了周末补课的生活
整个初二,他都在跟成绩斗争着


一晃眼,初三了
男孩挺拼的,终于把成绩搞回去了
但心思野是没办法治的
荷尔蒙作祟下,他对一直都留意着的女孩产生了兴趣
他开始频繁的找女孩聊天,就像无数个人生活中发生的那样,他们开始慢慢互相了解
男孩突然发现自己早就喜欢上了女孩
他拙劣地表演着自己简单的喜欢
十一月
一次考试之后,班主任要调整座位
男孩略施小计就提前看到了班主任留在班级电脑上的新座位表
他看到班主任把他和女孩分在了一起
他高兴的差点晚上差点没睡着
第二天中午,换完座位的他,坐到了整个教室最左侧第三排靠窗的位置,旁边就是他喜欢的女孩
有那么一瞬间,他觉得自己是幸福的
成为同桌之后,说话更方便了,再加上男孩朋友们的“助攻”,感情增进的很快
在一个温暖冬日,即将放学的时候,男孩的告白不当心脱口而出了
“我喜欢你啊”
男孩眼中映着的女孩的脸,是窗外即将落山的夕阳的颜色
男孩也不知道发生了什么,日子一切照旧,嬉笑打闹,哭啼皆有
男孩是幸运的,从十一月之后,班主任再也没有调整过座位
直到第二个学期开始
即将分离的气氛开始浓重,中考也成了生活的绝对重心
男孩和女孩不知道怎么了,拌嘴的频率越来越高
两次模拟考之后,保送高中的名单确定了下来
男孩离县上最好高中的保送资格一步之遥
虽然他早就预感到了这个事实,但不禁还是有些受到打击
于是,班上走掉了许多人,座位又要调整了
这次,女孩坐到了男孩的左前方,男孩的同桌成了他当时最好的朋友W
男孩发现,女孩和W的关系好的不行
他们经常煲电话粥,上课还疯狂传纸条
男孩心里有些酸,终于有天发作了,一生气就一直不理会那两人
他们觉得很莫名奇妙,让男孩生了几天闷气,最后自然的消气了
清明节,女孩的爷爷去世了,第二天她来上课的时候,眼眶红的很
又一次模拟考,男孩的成绩出现了大幅下滑
老师开始找他,家长也在施加压力
初中最后的那段日子在浑浑噩噩间就过完了
最后男孩还是买了两分才进那所最好的高中
而女孩,则是考去了另一所学校
于是,男孩彻底与女孩分开了,物理距离上
考完之后,男孩和女孩一起在学校帮忙的时候
班主任和数学老师开他们玩笑
“我发现男孩上课不认真的原因是一直在看女孩”,数学老师笑嘻嘻的
男孩脸一红,瞟了一眼女孩,发现女孩也在看他
“要是一直都能在一起多好啊”,男孩在心中叹了口气
突然他想起来,女孩的QQ都还没加上
在他们还是同桌的时候,女孩把自己的密码给了男孩,虽然她说很多人都已经有她的密码了
男孩偷偷的把自己的密码跟女孩改成一样的,一直用到现在
半夜,男孩登上女孩的QQ,把自己加了进去
第二天,学校又要开班会,结束之后,女孩突然就问男孩
“你是不是登我Q了”
“是啊,我加了我自己”
“那你为什么不把分组给改了?”
“忘了”,男孩摸了摸头
女孩生气了,她把拳头砸在男孩肩上
男孩突然被重击了一下,吃痛,无名火也冒上心头
但他转念一想,还是他错在先,一句话都没说出口就离开了
正巧,下着雨,他搭了同学的车回家
一路上,车载音响都在放着信乐团的《离歌》
“真是切合今天呢”,男孩心想
就这样,一个暑假,双方谁也没理谁
男孩一直都想找机会道歉,但那句“对不起”却始终出不了口


马上,高中也要正式开学了
剩不了几天的时候,女孩突然联系了男孩
“今晚我要翘家找一个网友”,女孩说
网友是她很久之前就认识的一个大男孩
于是男孩陪她聊到很晚很晚
突然间,那几天,他们又迅速地熟络了起来
男孩也趁机把自己最好的朋友G介绍给了她
她看起来对G非常感兴趣
那几天是入学前的军训期间,他们三个也天天聊到很晚
G比男孩女孩都小上一级,因为父亲跟男孩父亲是发小,于是也就认识了
很快女孩发现自己和G有许多共同话题可以聊
开学了,男孩的手机被缴了
但男孩还是成功地约出了女孩,虽然地点是在G的家里
女孩和G第一次见了面


接下去的发展,简直是一个疯了的剧本家写出来的
女孩和她班上的一个男孩恋爱了,这不是她的初恋
男孩很迟才知道这件事
男孩像疯了一样地往女孩的空间留言
他终于真的受不了了
男孩把事情扩散的很大,连不在一个学校的友人W都打电话过来问男孩是不是真的要放弃了
“我累了,想休息”,男孩认真地回答
快要到女孩生日了,男孩认真地准备了她提到过想要的书
然后写了将近三十页A4纸的文字一起寄给了女孩
根据女孩的空间留言板记录看,她那几天一直在哭
男孩心也痛,自己为什么这么爱吃醋呢,他想
他也没想到自己会如此伤害到女孩
“唉,要不道个歉态度软下来继续做朋友吧”,他内心的一半这么想
“不行,她谈了恋爱还不告诉我,我接受不了当备胎的感觉,要惩罚她”,另外一半这么想
于是,就在每天的纠结中,迎来了寒假
男孩认识G后不久就被安利了不少动画片
高中刚开始那个国庆,他开始了萌二生涯
于是,整个寒假都几乎用来补番
快要开学的一天,女孩发了一条煽情说说,不知道求了多少人来转发好让男孩看见
男孩气早就消了,心也软的差不多了
他只是想再撑一撑给自己留存一些脸皮
然后开学前一晚,女孩和她的男朋友同时找到男孩来抱怨,他们即将分手
男孩哭笑不得
因为新一届实行的高一第一学期结束就分班的制度
男孩又一次来到了新的班级
“哦,原来你就是那个谁啊”,男孩发现不少人都听过他的名字
以他最意想不到的方式
进入高中之后男孩的心思没有放在学习上太多
而是一天到晚不务正业
他从高中进校开始就被打上了“问题学生”的标签
什么高中第一学期开学第二周搞错周一到校时间
晨会的时候,自己班级正巧站在正对着校门的台阶上目送他进校门
什么第二学期上课玩touch被收被赶出晚自修作为惩罚
总而言之,读书劲大不如前了
男孩稀里糊涂的混着日子
终于快放暑假了,因为课程改革的关系,学校安排了两天的实践课程
男孩选择了一门在机房上的课,然后把整个机房改造成了网吧
几乎所有人都在打游戏
第二天的时候,女孩来给男孩送外卖
男孩直接脱下自己的校服,女孩混了进来,就这么坐在男孩身旁看着他打了一下午的游戏
暑假
快到男孩的生日了,女孩很上心的叫了一些朋友,大家在大热天吃火锅
钱都是女孩付的,还送了一个男孩喜欢的角色的手办
因为不方便带进家里,男孩把礼物转交给了G保管
吃完火锅,一群人进了黑网吧打游戏,女孩却和G在那儿看动画聊天
男孩笑笑,也不在意
直到几个礼拜之后,他得知G一直在约女孩一起图书馆
有一天中午,女孩跟男孩说图书馆没位置了去G家里了
男孩终于急了
G把女孩称作自己的女仆
有一天,G发了一份女仆宣言给了男孩
男孩没明白啥意思,G也就没多说
G也进了男孩的高中,男孩有事没事就找G一起吃饭
男孩把自己的午饭钱全花在各式各样的杂志上了,只好蹭饭卡
但高二第一学期快结束的时候,男孩突然迷上了翘课去网吧
于是几乎整个高二第二学期的晚自修,男孩都是在网吧度过的
整个高二,男孩都没怎么和女孩说过话,女孩倒是寄过两封信
男孩嫌麻烦,一直都没写回信
很快的,高三了
最开始的一个月,男孩用尽了所有心思把《冰与火之歌》给看完了
顺带着在家长会上被狠批了一顿
男孩被调到了讲台旁边,他终于开始收心
班主任看着他有点起色的成绩放了点心,一个月后把他给下放了
于是他又开始散心
一天,他在书店里发现了一本之前从来没见过的杂志,叫做《新知》
其文章晦涩难懂,不少涉及到哲学内容,让男孩沉迷其中,直到晚自修班主任站在他面前
班主任一把夺过这杂志,走到在班级后面的水桶旁,三下五除二的,把书撕了,教室安静极了
“下了课来我办公室”,班主任说
不出意外的,男孩又被流放了
不能告诉家里,图书馆又每晚八点多就关门了,那去哪里好呢
男孩选择了网吧
寒冷的冬夜里,男孩拖着中饭晚饭几乎一点都没吃的身体,在那条长达五公里多的回家路上踩着单车
回家的路有一段和女孩回家的路是重合的
一天,他在回来的路上看到了熟悉的影子
是她,追上她,男孩用尽全力的踩脚踏
奈何,他所剩不多的力气在两座桥面前无能为力
连叫住她的声音都发不出,生怕喊住的,不是她
男孩就这么又开始混着日子
就是在这段日子里,他发现女孩的微博更新了,转发了好多情感类的鸡汤
他意识到肯定有些什么事情发生了
他在中午的时候拦到了G
“你跟她发生了什么?”,他质问道
G隐晦的表达出了他A了上去然后打出GG的故事
男孩又一次哭笑不得,他最不想发生的事情发生了
G又告诉他,一年前发给他的女仆宣言就是说他喜欢上了女孩
男孩再次无言
G还告诉他,G也写了很多很多文字,附上了礼物放在家门口看着女孩来取走
男孩已经不知道能怎么表达自己的情感了
他回到教室,开始写信
信的内容只字不提她和G发生了些什么,只是写些日常
女孩的回信也是如此
仿佛他们回到了最早的时候
三四次通信之后,又是新学期
一天男孩的家里没做早饭
男孩选择去女孩家门口的早餐店买
刚给完钱接过东西,他的余光看到一辆电动车从小区驶出
直觉告诉男孩就是她
他飞奔上车,像那个冬夜里那样用尽全力去追赶
可惜,最终还是差那么点距离
男孩还是没能喊出她的名字
离高考就只剩几天了
男孩最后一次翘课去网吧,似乎是一种告别仪式
他没等到自己学校的放学时间离开,而是在女孩放学时候去了她的校门口等她
他真的等到了她,可能是有史以来第一次,他们一起回家
路上,他也只能嘘寒问暖提些无关紧要的话题
他还能提些什么呢?
太快了,就像高中三年的速度一样,他们分别了


男孩考去了遥远的C市,而女孩则是在就近的H市就读
暑假的最后一段时间,因为一些变故,男孩痛不欲生
事情解决之后,男孩家不得不安排一顿大学酒
男孩邀请了她,还有G是不得不邀请的
男孩知道会很尴尬
她来了,一身白裙,很漂亮
G自己坐在一旁,玩着手机
男孩酒量不行,几杯红酒下肚已经进入了半倒的状态,连同学什么时候走的都不知晓
那是最后一次和她见面
进入九月,那天就要出发前
男孩想起还有一些材料要复印
于是约了友人H载他
路上,H提到要不要把她再叫出来见个面
男孩想了想,“没时间算了吧”
H摇了摇头,也没再多说什么,最后他们拍了拍肩告别


大学刚开始的时候,男孩还会给她打电话聊天
几次一聊就是半小时
男孩发现自己还是放不下女孩
放不下意味着不可能开始新的感情
光棍节,趁着酒意,他找到女孩
“不要异地”,女孩明确的拒绝了他
他笑了笑
年末的时候,又因为一些变故,男孩的心理压力大到承受不了了
他终于再次打了女孩的电话
断断续续地倾诉到手机欠费
这是他最后一次听到她的声音
从此,男孩再也没联系过女孩
女孩也没联系过男孩
直到一年半后


大二的寒假,男孩约G一起去上海玩
途中,男孩提起女孩
“你和她怎么样了”
“啊,加回好友了”
也没聊更多
五月末,G突然找到男孩,问他暑假要不要一起去某站的演唱会
男孩算了算手头的钱,“手头有点紧,还是算了吧”,他回复说
暑假
男孩找G一起去J市修手机,归途,无意间男孩看到G的淘宝记录,两张票
“你和谁一起去啊”,男孩好奇的问
“哦,没告诉你吗,你不去我就找了她啊”,G很坦然
“你们和好了?什么时候”
“不是告诉过你了吗?她加回我好友了啊”
男孩心中开始充满不安
但他强装出一副镇定的模样
“你们酒店要押金你钱够吗”,男孩递出一张信用卡,“这里面还有点钱,你拿着用以后还我”
“记得带套”,他最后叮嘱了一句
原本他以为他已经放下的感情,又开始在他心中冲撞
他坐卧不安
临行前几天,他终于忍不住了,在女孩的留言板留下了两年后的第一句话
没想到女孩迅速找到了他,“你想说什么,赶紧说我看着的”
他有些慌,打了字又删掉
“你想说什么发出来吧,我明天还要早起先睡了”,女孩似乎很忙
男孩呼出一口气,扔给对方一个99+
却两天没收到女孩的回复
终于,他等到了回复
可那几乎是陌生人的感觉,不是他想要的回复
有总归比没有强吧,男孩心想
男孩早就反思过自己的过错,但已经是既成事实了,没有后悔药
行程第二天早上,他看到G很早就在线了
“她一回酒店就睡着了”,G这么说
“这酒店服务太好了还给加了床”,G还抱怨
男孩笑笑,再也没跟G提起过她
他准备好了一个人去旅行


又是一个寒假,照例,G会来男孩家一趟交换点资料什么的
男孩旁敲侧击提起女孩
“啊,她,我女朋友啊”,G云淡风轻
男孩还是只能笑笑,转移了话题
他不信,他不愿相信


男孩又开始找女孩说话,只是只敢以留言板的形式
他们似乎回到了最早的时候,在对方的留言板上你一句我一句的
不同的是,男孩的留言板上,没有别人的留言
今天,男孩终于感受到了一丝异样
女孩和G在用同样的聊天习惯说话
男孩笑笑,既成事实,不想承认也是摆在那里的


断断续续的,用留言形式互相告知彼此的日常生活
就这样过去了半年,男孩也没勇气约女孩出来吃个饭聊聊天
大四了,他也要走上社会了
突然在国庆前的某一天,G用不同以往的语气找到了男孩
“女孩好像出事了,有几天没跟我联系了”
“弄不好要跟我分手”
心中那股长久以来积攒着的感情终于爆发了,男孩直接一个电话给了G
“什么情况啊?”
“对不起,对不起”G用他那不同寻常的沙哑的声音道着歉
男孩终于没忍住,把这几年积蓄的感情一股脑地跟对方宣泄了出来
“我想你们两个好好的”
“我也想过撬墙角的事情,但做不到”
男孩在阳台上大吼,眼睛里的泪水不受控制
“我只剩你那么个朋友了啊”
G沉默地听着
末了,男孩终于冷静下来
“我打算飞回去找她”
“钱够吗?”
“票买好了”
“有啥事情跟我说,她的事情,我还是想知道一点的”
挂了电话
那几天可能是男孩整个大学生涯电话打的最多的几天
终于,G碰到了女孩
原来是女孩的父母要离婚了
G自己想得太多以为要分手
男孩知道后,无奈地笑了


经常出现在自己梦里的,终于不是她了
男孩终于能够心平气和地跟自己说:
“我不再喜欢她了”

故事到这里就结束了,在这里,我想重点感谢G,真的,这么多年,我的现实朋友真的只有你了,谢谢你一直陪着我,愿意忍受我的任性。

还有,谢谢女孩,初三和高中的回忆,不可能忘记的。

最后感谢能看到最后的各位,鄙人文笔粗糙,故事没有新意,看到最后实属不易。

最后附上残留的一点纪念品。

杂(四)

烦躁的很。

最近心头一直堵着,有形无形的压力大到快把我压垮了。

首先列一个 To Do List:

  1. 财务案例分析
  2. 资产评估报告
  3. 财务英语报告
  4. 数学重修考试
  5. 初级会计考试

除了第四个是年轻犯下的错误之外,其他都是与这个我一点都不喜欢的专业相关的内容,我一点都不想做,但奈何,这是必须要完成的,尤其是前三个还是小组作业——别人都想要划水就我想认真做的那种。

内心的压力大到什么程度,我每晚二点前才将将睡着,早上七点半左右准时醒来,即使每天跑五圈还是不能让我早睡哪怕半小时。

这些杂七杂八的专业相关让我没有任何足够的空闲来学习别的东西,练手用的机核网电台收听器已经搁置了一个月没动过一行代码了,而年初定下的 RaidFinder 更是八字没有一撇——我会另写一篇博文来讲述这几个月碰到的曲折。

从三月末开始我就不断地在投实习简历,有一家上海的,很中意很想做的实习编辑,却因为时间问题,连去面试的机会都没有,而投出的其他简历则是一点回声都没有。今天我还是想通了,剩下的时间不如好好钻研代码,精通个一种 WebApp 框架就能让自己在就业的时候好过一些,最起码比这个做财务的强。

归根结底还是自己浪费了太多的时间,如果从高考完就意志坚定的学习代码,现在靠朋友内推应该已经拿到个实习机会了,怎么也比现在成天操心自己毕业实习那个章怎么办来的强。

不过我倒是不会把写博客的时间归于浪费,多码点字能让人的逻辑思维更加清晰,水文章来的更快,也是一种释放压力的好方式,虽然大概也没几个人看吧(笑)。

内心的烦躁大部分还是来自于就业,我看不到未来的路,一片迷茫。

Arch Linux 小折腾记

久闻 Arch Linux (下文简称 Arch )大名,在虚拟机上多次完成过了整个系统的安装与图形界面的配置,也试过了 KDE 和 GNOME 这两个大名鼎鼎的图形环境,深切体会到了 Arch Linux 的四大原则:

  • Simplicity
  • Modernity
  • Pragmatism
  • User Centrality

Pacman 是最好的包管理器


我分别在自己的台机上和一台 ThinkPad S1 Yoga 2014 上安装 Arch. 具体过程跟着官方 Installation Guide 走就行了,Wiki 中的注意事项也是比较全面了,本文写几个小注意点。

Btrfs

不知道 Btrfs 的我建议你马上查 Wikipedia.

Arch 的安装 ISO 环境中是自带了 Btrfs 的工具包和支持的,但是在 base 软件包中不包含这些,所以你需要手动安装 btrfs-progs 这个包,然后在 /etc/mkinitcpio.conf (注意是在 arch-chroot 这一步之后)中的 HOOK 一行中添加 btrfs, 之后跑一遍 mkinitcpio -p linux, 看到输出中有 btrfs 即可。

关于 btrfs 的配置问题,参见官方 Wiki, 也可以参考 egara/arch-btrfs-installation.

Boot Loader

在 Boot Loader 的选择中,我个人还是比较倾向于直接使用 systemd 集成的 systemd-boot, 懒得再装个 GRUB.

虽然 systemd-boot 局限性非常大,比如它只能加载 EFI 可执行文件比如 bootmgfw.efi, vmlinuz-linux.

如果选择了 systemd-boot 作为 Boot Loader, 那么就需要在 arch-chroot 后手动运行一次 bootctl --path=$ESP install 来把引导程序安装进 EFI 分区中并向 UEFI 界面注册这个引导器,之后你在启动时按 F12 就可以看到一个 Linux Boot Loader.

但是如果只是将 Boot Loader 安装到了 EFI 分区还不足以让它引导我们进 Arch, 仍然需要在 /boot/loader/entries/ 这个目录下建立新的 conf 文件,里面的内容如下

1
title Arch Linux
2
linux /vmlinuz-linux
3
initrd /initramfs-linux.img
4
options root=(PARTUUID|PARTLABEL)=xxxxxxxxxxxxxxxxxxxxxxxx rw

如果使用的是 Intel 的 CPU 并且有安装 intel-ucode 包,那么在第3行之前再加一行 initrd /intel-ucode.img 启用它。

建立完了引导所需的系统 config, 需要在 /boot/loader/loader.conf 中的 default 一行中指定刚才建立的 config 文件名,然后使用 Linux Boot Loader 引导器就会默认进入 Arch Linux.

双系统与时钟

感谢 UEFI 标准,现在我们可以非常方便地组建双系统 (Windows + Linux) 环境。

如果使用的 Boot Loader 是 systemd-boot, 那么它会自动检测 Windows 的存在,并且在选择菜单自动提供一个 Windows 的选项,这个选项的配置名为 auto-windows, 选择它会运行 /boot/Microsoft/Boot/bootmgfw.efi 然后就是 Windows 的流程了。

双系统有一个很大的问题,就是时钟。Windows 默认往 BIOS 写入本地时间,而不是 Linux 标准的 UTC, 这就会导致你从 Windows 切换过去后时间会+8, 也就是按你的时区调整然后又写回到 BIOS 中。从 Linux 切换过去,Windows 认为是本地时间,于是显示给你的实际上是 UTC. 所以为了解决这个问题,在安装 Arch 时,使用 hwclock --hctosys -l (将硬件时间作为本地时间读入系统), 而不是 Guide 上所用的 hwclock --systohc(将系统时间写入 BIOS 并且是 UTC).

之后启动到 Windows, 注册表定位到 HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation 添加一个 DWORD, 名为 RealTimeIsUniversal 值为 1, 即可实现 Windows 往硬件中写入的时间是以 UTC 为标准而不是本地时间。

systemctl enable

由于 Arch Linux 的哲学,大部分软件包在安装之后也并不会自动启用,需要你手动 systemctl enable|start xxxx. 尤其要留意的是,还在 ISO 环境下安装系统的时候就要把 dhcpcd 这个服务给 enable 了,解决你进系统之后发现连不上网络想半天不知道问题出在哪里的问题。当然这是针对有线网卡,而大部分无线网卡,我推荐直接使用 Network Manager 搞定。当然使用无线网卡的首次联网你还是需要如下步骤:

1
ip link set dev interface up
2
iw interface scan
3
wpa_supplicant -B -i interface -c <(wpa_passphrase SSID Password)

还有一点需要注意的是,Arch 的 Shadowsocks-libev 默认读取的配置目录在 /etc/shadowsocks/, 与 Python 版相同的目录而不是传统的 /etc/shadowsocks-libev/ 下,启用它的命令为 systemctl enable [email protected]配置文件名.service .

Intel 有线网卡的坑

当你机器上使用的网卡的是 Intel Ethernet Connection I21x 的时候,你要小心了,在安装 Arch 之前,在 Windows 中安装 Intel 的官方驱动,然后在网卡的硬件配置面板中将所有的网络唤醒选项给关闭,这可以有效防止你进入 Arch 环境之后获取不到任何的网络信息导致连不上网。

>> endl;

悼念 AcFun

2018年2月2日,AC 又又又倒闭了。

前两天深夜刷微博时,碰巧瞥见一条“新闻”,上书「AcFun 团队缺乏资金,欠薪几个月,已经无力维持网站运营,关站在即。」第不知道多少次看到 AC 要关站新闻的我,也不以为意,不过就是第不知道多少次关站而已,我也早就不是 A 站用户了,对这个网站没什么怀念或者留恋的东西。

然后今天早上醒过来,一刷微博,铺天盖地的,又是一堆“AC 亡了”的消息。有打趣的有悼念的有分析的有写背后故事的,甚至还有缺德的。娱乐至死的年代中,这个消息也只能成为一些人的热点,一些人的谈资,一些人的一条悼念微博,而更多的人,则是好奇:“AcFun 是啥?”

A 站走到今天这个地步,绝非偶然。

一次又一次,他们错过了

从 2012 年说起。

2012年,是我接触更宽广的互联网的第一年。也是在那年,AcFun 举办了第一届宅学会。当时刚刚了解到 A 站是啥的我,在 A 站看了直播——后来的 A 站直播区,叫做“斗鱼”,斗鱼的早期用户中不少都是以 AcFun 账号注册登录的,包括我——然而这样的宅学会,是第一次,也是最后一次像样的,第二届的宅学会就已经朝着“主题漫展”的错误方向去了,而且影响力远没有第一次那么大。第一届的宅学会上,A 站请到了著名配音演员葛平,还有GoHank、性感玉米、林熊猫这三位来主持。

而这时候的 B 站,已经开始逐步用力发展他们的移动客户端业务了。早期的 AB 两站移动客户端体验,B 站的 App 无论在界面设计还是播放体验上,都是比 A 站的要高出一条街的存在。

本文主旨不在于两站对比,故以引用形式略提一句同时期的 B 站发展概况。

搞笑的是,在第一届宅学会过去恰好一年之际,GoHank, 这个对 A 站贡献不少的 UP 后来进入管理层的“猴子”出走了 B 站。当时 A 站不少运营以及用户的理念,在这个帖子中,能够瞥见一番。狗Hank+葛平+ACFUN事件

那hank确实不适合这里了,因为我觉得ac就像是猴王的微博的简介
“只交朋友,不混圈”
走好不送。

还是那句话,
只交朋友,不混圈,混圈的话,隔壁欢迎你。当然这里也欢迎你,不过>这里欢迎的是朋友,不是圈子。
谢谢。

然后就是赛门出走这一重大事件。

2014年4月末,时任“站长”的赛门和投资者闹翻,离开 A 站。

一句话足矣,想要了解详情的,我建议通过知乎查询。

赛门走后,AcFun 的管理层可能是失去了一个大的方向,也可能是陷入了融资后高层权力斗争的漩涡中,网站运营没有起色。

2015年3月,因为版权问题,AcFun 三名高层被刑拘,其中包括业余创作“空之文库”的尼窝猴。而事件解决期间不断有前猴子出走,原来的武汉团队几乎没剩几个老员工。

当时的空之文库在轻小说阅读的体验上可以说是秒天秒地秒空气

2016年2月,匿名版之争,光驱猴投奔 B 站。

……

之后的事情,仿佛 AcFun 已经被大家都淡忘了,不时的传出点消息跟世人说:“我还活着”。

它曾经拥有过很多次机会来扩大自身,但却因为各种各样的变故,都错过了,也许是他们缺少一个如陈睿般的有经验的运营决策者,也许是他们根本不想扩大,小众一点也没什么不好。而从 A 站早中期脱离出来的 MikuFans, 已经成了中国“二次元文化的代表”,甚至已经在准备上市了。

也许,再过几年,大家都会想起,曾经有个网站叫做 AcFun, 是它最早在大陆开始传播隔壁邻居的一些亚文化,是它最早推动了国内的二次创作,是它培养了国内一代亚文化人才。

也许,它会撑过这次危机,如官博所说的那样,“我想再活五百年! ”。就算小众,但也能给众多喜欢 A 站的“漫友”们提供一个温暖的家,就像它一直以来挂着的那句“天下漫友是一家”那样。

再见,AcFun

但愿这一次,A 站别再活过来了。

就让 AcFun 这个名词进入中国互联网的历史故土堆里,安心地为后来者提供它那一份“历史经验教训”和代表着老一代日本亚文化推广者和受众们的,美好回忆吧。

假期——于飞机上

在成都磨蹭掉一个礼拜之后,我终于飞回家准备开始假期了。本来以为这寒假够短的,正月十五不到就要返校上课结果今天出发前一看国航 App, 离回程航班还有三十六天,还是有点吃惊的。

虽然 Bitcoin 带着众多币种在昨天一起跳了一次崖,但在短时间内显卡的价格还是下不来的,不过本就打算在过一段时间直接买一块 GV10x 算了,那么估计是要继续用 940M 凑合着了。也就是说还是打不成去年前年发售的那些最新最炫酷的大型游戏,还是打打 R6, 农农 GBF 好了。

前几天从微博上收了一台网件 R6250, 与两年半前收那台 RT-N16 一样的价格,但是性能强了太多。同样的五口全千兆最在意的点,802.11AC 和 5GHz 的支持,可以用多种开源系统网件的原厂固件一直被人喷是屎。从 11 号晚上搬到中舒那边之后才发现,在嘈杂的 2.4 GHz 环境下,无线网络延迟的增加可以很明显的感知到。当年 RT-N16 发布时,802.11N 也还只是草案阶段,仅支持 150Mbps 的传输速率实际上是支持到 300Mbps 的但不知道怎么回事,我用的时候实际连接速率最高都是144Mbps,在今天确实远远不能满足我的需求了。不过一台 2010 年发布的路由器,能用到现在而且华硕时不时还会给它出个固件更新可以说是非常良心了,退役给家里当主路由用吧。

前不久国家出台快速推进 IPv6 普及的政策,据说东部部分地区的电信已经支持了 IPv6 的接入(事实上在两年半前 RT-N16 刚到手的时候就试过,貌似确实有), 那么换了主路由干脆把 IPv6 也配置好,跟上潮流嘛。

那么回家干的事情第一点就是搞网络,你说我一个非网络运维专业出身的天天跟各种网络节点设备打交道也是。。。

也是挺奇怪的,自从打完空の軌跡 FC 之后把 SC 开了一个头就一直不想打下去,本来打算飞机上把序章完成掉的结果也变成了码字而不是拿着手柄 V, 不过 A330 确实比较稳的,果然还是宽体飞机好。寒假看看有没有心情打吧,毕竟机器和卡带都是别人的自己一直拿着也不太好,SC 完了还有 3rd 也是头疼了说到底还是传统 JRPG 的错。

过完年就要回去读大三后半学期了,离成为一个社畜就只剩半年不到的事件了。考研是不会去考的,这辈子的不会去的。从去年夏天开始投的简历都已经石沉大海了,那我也没好的办法,只能继续学习。连一个不给钱只管饭的银行打杂的实习机会都不考虑我 虽然我感觉是因为时间问题 那我还是只能考虑考虑当前端/后端/全栈了,当务之急还是多学点东西,如果寒假能克服障碍把那个 RaidFinder 写完,之前文章中给定的三个目标给实现,那我觉得我的全栈起码是,入门级了吧。

还一个小时降落,看了眼字数已经水了将近一千字了,但一点收尾的感觉都没有,那就,继续水下去好了。

今年年内 Granblue Fantasy Re-Link 可能就会发布,但是目前为止购买 PS4 Pro 的钱是一点都没有,白条和信用卡还欠着一堆,只能靠四月头上的保险钱看看能不能减轻一点压力,氪金还是少氪一点吧。

哦对,还有跟她说的可能有的生日礼物。这个“可能”应该是“肯定”才对,计划是在一个杯子里放条生日石项链。转眼间就是三年,只能感叹一句,物是人非,当初自己铸下的错误,可能这辈子,都没有办法再挽回了。

突然发现,一写到她,我就写不下去了,马上就要收电子设备了,再扯点别的。

今年的旅游计划大概是去趟武汉和重庆吧,去年夏天感受过了粤国和鹭岛,今年感受下在中部但文化上偏西南地区的都市和离成都最近的大都市的另一种感受,有机会的话还会去趟苏州感受苏南三市的发展。

也就这样了吧,保存睡眠了。