毕业一周年记

去年的今晚,是睡在大学宿舍的最后一个晚上。同样是上海6月的天气,湿得走两步路,短袖就恨不得能拧出水来。早上是毕业典礼,嬉笑怒骂的我们当时大概只记得录下延毕同学上台的视频,剩下的只剩最后唱的那首《起风了》。噢,说到这首歌,我对吴青峰了解不多,但因为两首歌,我果断判定,这个人不值得黑。

中午的雷阵雨突如其来,雷声大到我需要戴着耳塞在宿舍楼的家长中穿行。看着匆忙中,一些四年都没说过几句话的同学就这么离开,我想的却是他们会不会记得我的名字。下午去唱歌。说起来大学五年都没唱过几回,当年入学前刷新生指南最关心的可是——四平路附近哪里有KTV。

都唱了啥是记不清了。最后点了首《再见》,前奏一起就有人哭了。哭的样子怎么形容呢?「如果这是真的那我希望这是假的,如果这是假的那我希望这是真的。」边流眼泪边说,「记得要常联系」——一年来,这倒一直在践行。

不想收拾东西的我,是个怀旧的人。此刻倒是得闲感慨两句,拿出收集的大一以来收到的所有传单,看了一遍。物理不好,想问时间是均匀分布的吗?呵,在这至少不是,要不然怎么会躺尸的日子被压得这么短,毕业的季节又拉得这么长。

然后就是每个人都会遇到的「房东是社会给每个毕业生的第一课」这类常见的故事了。那就来聊点没聊过的别的。知道火箭这个女团的名字,对当时我们这些大学生来说,不该是什么机缘巧合的事情。更何况,看开头几条内容就知道,我的(新)微博号就是在那个时候诞生的。

但我到今天都不是个爱追剧追节目的人,《创》也就看过一集,剩下的就是被拉着去同学宿舍看的总决赛。记忆中,小七出道时好多男生沸腾了,吴小姐刚下飞机就问我小彩虹出道了没,同学能把人逗笑的神比喻,还有那个名字缩写都能骂上热搜的神奇人物,我要是她可能早八百年就会因为抑郁退赛。

后来的系列新闻也是全程吃瓜。某天早上醒来听到《卡路里》差点在床上把牙磕掉,贴吧看到「夏家十千金」,和小吴吃河粉瞟了眼微博知道了三人离团,操场跑步刷歌刷到了《LIGHT》。再后来,在前公司实习时很欣赏的一位同事发了条朋友圈,是火箭的某位成员代言了他新公司的产品。无聊中再次搜索了一下这个女团的名字,才得知她们要在上海开演唱会的消息。

我可太喜欢看演出了。只要不是讨厌的,谁都行。上回陈奕迅的演唱会还是三年前。买不到他的,我还买不到你这破团的吗?结果要团票。我寻思这些人我也没谁特喜欢的,算了算了,买散票吧。后来才知道有团粉区,追悔莫及,自此批皮团粉。我就这么鬼使神差地去看了一场我并不了解的女团演唱会。(估计当时看NBA的室友对《生而为赢》都比我熟)

好像又说远了。对不少人,喜欢、相信、崇拜、信仰,或者厌恶、憎恨、恐惧某个事物,内核其实是关于某个「故事」。人是爱听故事,爱讲故事的生物。好比老人爱唱红歌,内容其实不重要,只要是青春时代的记忆就对了。我也一样。2018到2019年这段时间对自己影响极大。社会、家庭、学业、求职,种种事都不断在重构和变化。值得回看的画面太多。回头看,也许追的就不是星,是两年前的自己。

有天半夜,那位现在美国的同学突然发来消息:「火箭要解散了」。我明白他想说什么。是时候向那段日子告别,然后向前看了。每个人一路上都在不断地告别:告别校园,告别亲人,告别title,告别朋友…即使是无奈,或许也该接受了。

火箭的告别典礼上,真情实感的主持人说:「火箭终将返航,而少女永远发光。」和各种各样的过去说再见以后,但愿我们都能发光,照亮生活,照亮身边爱的人吧。

生活的切面 – 苹果

此系列文章始于 2017 年底和 2018 年初想作的博文,总结自己在 2017 年的收获与改变。因为总的来说,2017 算是大学五年里颇有转折意义的年份。(当然,要说的话,每一年其实都算是某种转折)结果因为自己的拖延、懒惰以及文章内容太多等原因,一直未能完成。转眼间,2018 也将过去,于是便改题为《写在 2019 之前》。结果后来又是拖延,2018 已然整个过去了。再次将标题和文件名改为《写在 2019》,还在大学最后一学期回上海的火车上写了数千字。没想到,因毕业论文等的冲击,2019 也已过去半年有余了,我也毕业了,成为了社会人。没办法,只得自拔 flag,随性一点,最后将题目改为《生活的切面》,名字来源于著名的 AOP(面向切面编程),意在总结过去的大学生活后半程中,有哪些事或物改变了我,又如何与生活串联,或是与未来产生那么点连接。

在写这段前言时还看了眼自己的文档库,想起来一篇在 Ulysses 上完成的 2018 年记录,但找不到了。也许因为放弃了这个软件而遗失了吧。也罢,心态都变了,扔掉也无所谓。本文中大部分内容来自于当时在返沪列车上的草稿。

一般人呢,喜欢在年底或次年初时,记叙一年间的收获经历,还有对来年的期望。大概我就不一样了,去年春天打算写的年度总结,一直烂尾到了 2019 年。所以也是时候记录下两年来的大事小事。有些事因为发生略久远,可能已想不起所以没有提到;有些事呢,则是因为我刻意不想提到。从以前列出的大纲看来,两年来遭遇的事,虽不如初入大学时顺利、积极和简单;但却该是毕业后回忆生涯时,不得不讲述的一个开始。两年来,很多人与事变了,很多也没有变。我依然去了很多次南京,也和几个老朋友走过很多城市,却玩着一样的东西。虽然我可能再也不用去南京了,不过我真切地期望这些美好的记忆,能够随着时间在某天再次降临。

时间自然承前启后,2017 往前就是 2016 年。那年年末,我做了什么呢?去参加了校园歌手比赛然后复赛英勇地被淘汰,跟着学长和老师糊里糊涂地去北京拿了个比赛三等奖……还有,烫了个头。烫成陈奕迅一样的卷发算是初中以来的梦想。尽管药水的味道颇为诡异,几个小时的漫长流程也令我昏昏欲睡,甚至刚烫完的发型跟中年太太简直神似,不过洗几次后,倒还有点意思。可是不久后就要回家。其实我也动过回家前去剃头的念头,也许就是懒,也许自己就是想带着这个发型回家,我没有剪头。事实证明,这是我做过最错误的决定之一。

回家后的大小风波和几次起伏,已不想提了。只能说,我同每个人一样,从小到大挨过家长不少责骂和暴怒。但是心灵创伤跨越时间难以忘怀的次数并不多。我至今认为,这件事对于任何一个 20 岁的成年人而言都称得上羞辱。这也让我进一步体会到,从小的情感经历,能给人带来多么深远持久的影响。

iOS 与 iCloud

大概这件事惟一的正面后果,就是我名正言顺地拿着家长的钱买了 iPhone,不然还有些不好意思。读者大概不好体会,一个几乎没有完整智能机体验的人(Galaxy S 用了一月丢失,Xperia Acro S 长期屏幕失灵,Lumia 640 硬件孱弱且搭载着 WP8 这样一个几乎不可用的系统)第一次拿到堪称「可用」(iOS 10 已经完全达到这个标准了)的机器时的体验。我也因此对 iOS 有了初次接触。iOS 系统的封闭在我还是个 Galaxy S 用户时就已有耳闻,iOS 5 时代同学折腾第三方输入法的经历让我印象颇为深刻。没想到上手以后比想象中的好得多。很多功能已经相当成熟。实话说,这样的系统让我很难不产生学习在这个系统下开发软件的想法,想弄懂这个系统在封闭外表下提供的颇有张力的 API。想想开发前端的状态,也许做客户端真的舒服很多了。

由于自己之前就是 Mac 用户,所以很自然地,我也体验到了 iCloud。iCloud 和其连接的苹果自带服务,对于如此大厂而言,在技术上并没有太大难度。甚至可以说,相比其他类似服务提供商,苹果自身还没有把这些东西做得足够好。单独把像文件同步、私有数据库、笔记同步、备份等事情拿出来,都有很多软件做得比 iCloud 更好。但是因为它是 iOS,所以只有 iCloud 提供得了这种统一、无缝的体验。对于融合 iOS 和 macOS 这件事,苹果展现出了极大的热情。不过,融合不是合并,手机和电脑还是有本质区别的,这点苹果的思路和当年的微软大相径庭。所以想借助 iCloud 提供类似的流畅体验,App 的开发者也需要至少提供和维护 iOS 和 macOS 两个版本的 App(还可以有 watchOS 和用于圈钱的 iPad 专版),这其实增大了此类软件的开发工作量。另外,为第三方开发者提供的 CloudKit 数据库服务是只能在苹果系统下使用的,这大大限制了开发者走向真正「跨平台」的能力。(CloudKit 有官方的 JavaScript SDK,就不知道有没有人封装到其他平台了)所以你能看到很多「精致」的软件,只为苹果平台提供服务。不过,无论如何,如果你拥有超过两台的苹果设备,强烈推荐你尝试使用 iCloud 同步来管理很多想法、日程和任务,也许对你数字生活的体验有很大的提高。

好日子过得很快,我终于在 2018 年初收到了来自苹果的一封邮件——「自 2018 年 3 月起,中国大陆区的 iCloud 服务将由云上贵州运营」。这本是一个正常不过的消息,因为任何在中国境内运营互联网业务的公司,理论上都应该把对应这部分的数据放在国内。然而一时间互联网上关于「云上贵州」这家神秘公司的起底让不少人惊讶,作为世界上最有钱公司之一的苹果,居然没有把在中国的数据移交给像 BAT 这样的巨头,而是给了一个地方国资委控股的机构。

争议一时间更大了。不认为 iCloud 迁入国内会造成隐私问题的人采用的论断无非是两种,一是 iCloud 在国内会采用同样的加密方式和管理标准,二是所谓的「无所隐瞒论」,即「你要是个普通人,你的隐私没人会感兴趣」。而认为这是一个问题的人,一方面是认为 iCloud 默认状态下存储的数据远远比微信聊天记录这种东西更加敏感,二是担心管理不严导致的数据泄漏会导致诈骗频发。直到 2019 年我也(或者应该用「更」?)不相信一方能说服另一方。不过这年头,觉得自己的隐私是一回事,难道还非要想方设法证明自己一定是个「良民」不成?这种想法和所谓的「受害者有罪论」如出一辙。并且至少,把自己的 iCloud 账号迁移到其他国家区域的人没有理由受到任何道义上的谴责。

隐私,与互联网难民

在更大的趋势面前,iCloud 只是一个例子。互联网,从各方面而言,都在离当初那批原住民的期望越来越远。在过去的小几十年里,它带给我们的也许只是一个美好的梦想。程序员看到的世界只是真实世界中充满特殊性的一个小小切面。我们生来就拥抱了全球化拥抱了互联网,然而地球村的本质可能根本就不是这样,管理这个世界的那群人也没有把全球化和无国界互联网看作理所应当的事情。也许现在的一切只是开始,只是百年后的历史书中 21 世纪世界和平的短暂瞬间。iCloud 的事情让更多人注意到了数字难民(数字移民)这个词。其实早在今天的互联网服务成型之前,就已经有这个词了,当时它的意思是「不习惯互联网的一代人」。万万没想到,在互联网潮流下长大的一代人,也有称为「难民」的时刻。如果说常规意义上的难民,为了安全和温饱,远离家乡,还能为大众所理解;互联网世界中的难民,大概都是不被大众所理解的孤独的追求者吧。

iCloud 相关的这些事,让我对互联网和隐私有了自己的理解。新技术把隐私问题朝着变复杂的方向狠狠地推了一步。一个不从事相关行业的普通人几乎不可能完整地感知在生活中面临的隐私风险。更何况,大众纷纷以人脸识别等技术为技术进步保障安全的典范。隐私,基本上已成了中文互联网平台下的「政治不正确」。Richard Stallman 在上世纪 80 年代就从道义上批评商业软件,到今天他的论据远比当年更有力了。没有人清楚他是真的有远见卓识,还是只是巧合。说来也是讽刺,最封闭,最「邪恶」的 iOS,(不止在国内)居然成了数字隐私的倡导者和先锋,个中逻辑有点像大国对小国的秩序保障。

总之,从大的方面来说,隐私已经不是绝对的概念了。你想要什么程度的隐私保护,取决于你愿意付出多少精力,以及你想要保护的东西对你而言有多重要。

生态?那是什么?

生态是一种说不清道不明的东西。人人都喜欢讲生态,尤其是国内互联网圈子的从业者们。他们口中的生态,常常意味着人工加上某种阻碍你出去的边界,同时提供一个让你觉得「这样也没什么」的替代品,达到建立护城河的目的。苹果的生态要说也有些相似。不过它以一种让你感到「乐不思蜀」的方式来让你自愿不跨过那道边界。常言道,买了东西的人总会想方设法为它的价值辩护。这话不假,比如我的 Apple Pencil。不过还有一个层面,那就是人内心难免忽视产品的价格因素。这就导致许多拥有「苹果全家桶」的人喜欢大谈苹果的产品联动使用是如何的舒服,但在非苹果用户看来就是花十分的钱却只获得五分的体验。

我想没必要和网上同人在这些私人爱好属性极强的方面争个高下。体验、生态、品牌依赖,乃至设计,都带有强烈的主观属性。生活中不认可它们的人,经过你的劝说可能也不会变得认可,更何况在站队意识甚嚣尘上的互联网上呢?但不可否认,如果你坚持从所谓「宏观」角度看待这些问题,容易掉入一个陷阱:过分忽视产品背后的非实体因素。对于小的生活产品或者高度标准化的工业产品而言,这没太大问题。判断的标准无非就是价格和质量。但将这种观点套用到软件和文化领域,就容易闹笑话了。

生态靠硬件承载,但最终呈现给用户还是靠的软件。国内的用户平均水平和软件行业发展水平决定了手机厂商对软件的重视远远不如硬件参数。这是一个非常庞大、系统和复杂的问题。在此之下,所谓的 996 算不上是一种追赶,只能说是倒退。

生产力?那又是什么?

大量的 iOS 用户都喜欢谈论生产力这个话题。原因很多,一部分是 iOS 优秀的软件生态。的确,相比其他平台,iOS 以及 macOS 上有大量设计精美、功能优秀的效率方面的软件。不过生产力终究只是一个有限度的话题,这些软件不能像真正的秘书一样帮你搞定一切。(实际上,秘书也没法帮你动脑子)最重要,最终的管理设备还是大脑。

事实是,iOS 自带的软件已经涵盖了最重要的日常办公所需要的生产力能力的范畴。包括电子邮件、日历和日程管理、提醒事项,以及笔记。自带软件的一大问题在于,它未必能满足所有人的需求。能用,够用,但是对许多人来说,未必好用。因此就衍生出,在这些「主流」的方面对自带软件进行增强的 App。

每个人的需求不同,处理事物和工作的方式不同,因此最适合的软件可能也就不同:一些人最适合的是一个简单的提醒事项,有些人适合的是类似 OmniFocus 这样的 GTD 软件;就笔记而言,有些人可能需要 Markdown,有些人需要强大的富文本编辑功能。

苹果的平台软件众多,这迫使自己思考自己到底需要什么样的产品,以及这些产品是如何真正能够提高所谓的生产效率。虽然,在折腾它的过程中可能会付出时间上以及金钱上的成本。但能够去贴合自己的工作内容,找到最适合自己的工作流,这是非常重要,也是非常有意义的一件事情。不过,这也必须得等到有实际工作负荷的时候。凭空创造需求,在没有工作、没有需求的时候去强行使用、体会这些功能,最后可能得不到一个准确有意义的结果。像有些媒体一样,过度去追求所谓的生产力和所谓效率,最后可能会浪费大量的时间,造成心智负担,甚至会降低你的生产能力。回归简单,让计算机为人所用而不是人为计算机所有,大概才是真正的效率,也是它们被发明出来的初衷。

搞点开发

苹果一直想给用户打造的形象,就是人人都有能力去创造属于自己的作品。这里的「创造」可以理解为传统的剪辑视频和音乐,也可以指开发软件。苹果一直在努力的用各种方式,让更多的人来参与到丰富苹果生态的大军当中。

除了 Web 前端,我算是一个没有什么真正 GUI 编程经验的人。在大二下的学期选修了 iOS 开发的课程。最后用了将近一周的时间基本完成了一个非常简单的笔记的 App。虽然 Native App 和 Web 面临的可能是不同的问题和需要。但这短暂的开发过程还是让人感叹,在手机系统上能做的事情,和开发的舒适程度,实在是丰富太多了。能够将自己的想法,通过代码转换成实际可以运行的软件,甚至进一步将它分发给其他的人,是非常有意义,也非常酷的事。所以我也将学习 macOS 和 iOS 开发纳入了 2019 年的计划之中。

意义

苹果是一家非常特别的公司。当谈起个人计算机的发展历史的时候,你不可能绕过它。但生活中大量的人知道它可能还是因为手机。iPhone 拯救了苹果,也改变了整个手机产业,甚至改变了人和科技之间的交互关系。

很明显,在 iPhone 发布十年之后,面对着消费科技的发展,人类好像又面临了瓶颈。找出新的应用场景,发明新的硬件,对于商业应用肯定至关重要。但,对个人用户,更重要的,可能是重新发掘我们和科技、我们和计算设备之间的关系。苹果一贯标榜尊重隐私,深层次的逻辑,也是在宣告人在科技产品面前的主体权。

发展过度迅猛的互联网和人工智能,使很多人对未来抱有悲观态度,认为人类可能最终会被大公司或者机器人所奴役。我对这些技术,也算是持有着非常保守的态度。它们的确带来了极大的危险,可是如果人类真的到了面临生死存亡的关头了,以人类的智慧,一定能够找到一个合理的出口。

可惜,那也是未来的事情。在很长的一段时间里,我们都将处于新型科技造成的混沌之中。在这个层面上,苹果改变了历史,但它也没有能力决定历史。旁观真实世界的发展,猜测人类究竟会向何处去,大概也是很有意思的事情吧。

军训杂谈

这是一篇旧文,最初作于 2018 年 9 月,当时我大四,看到大一新生军训和同心云上的争吵有感而发。最近可能也会更新其他一些以前突然想到然后写出来的短篇文章。

另外,给已经关站的同心云上个香,四年来还是给学校带来过不少东西的。

几天不上同心云军训也变成热门话题了。当时最高兴的,就是到了中午和晚上,大教官拿着扬声器说「带过去开饭」;每天晚上十点就能睡着;还有完事以后穿上自己的衣服那种舒服。军训结束后室友给我说,他不想当兵了,不是因为日子苦,而是短短十多天的军训就让我和他觉得,从来没动过脑子,人都要变笨了。

其实艰苦的东西是每个人都要经历的。但是我们一直有种奇怪的思路,认为人生中的苦构成了一个偏序关系。可是,吃有些苦不会教给自己任何东西,从一些苦里学会的东西可能也没法用到另外的事情上。我对于人性可能比较悲观:在没有真的极度触动灵魂的事发生时,人的习性很难改变。高中和大学的军训我都瘦了十斤,后面要不了多少天体重又回去了。平时不爱学习,不爱锻炼的人,军训结束之后也不会有多大的变化。

要紧的问题在于,军训中的苦是一种被动的、几乎无反馈的被动体验。燥热的天气和自己无法控制的因素(比如怎么走就是走不对,连累你的同学)进一步加深了这种体验。一个大学生需要的自控能力则是主动型的。如果坐在桌上看书的时间够久就能学会东西的话,我想也不会有两年前引发争议的那条关于物理的动态了。

「不好好读书就去干苦力」,这话我想大家小时候或多或少都听过吧。我们长期以来受到的言传身教都是这种被动的、无反馈的内容——不是努力了就能收获,而是不努力就会怎么样。别忙着回复,我知道这是社会现实,但它也的确隐喻了现代人皆有的焦虑和不安全感。

我当时一直很羡慕其他城市军训的同学能玩枪还能射击。我想要是能拿着枪玩一会,太阳下面站一天,也值了。小学时候学校收钱带出去军训两天,老师给的名目就是国防教育,因为小学生不让军训。然而何谓国防,国防的意义,国防体系如何构成,边境线上的军人是怎样保卫国家的,军训无意告诉我们。

上一代人或者上上代人喜欢抨击下一代不能吃苦,此话暗含之意即「你们现在所拥有的,将来皆可能会失去」。此话不假,然而为何会失去,失去了怎么办,没有答案。我想学生到乡下去种几个月南瓜,可能对这个问题的认识会比晒半年太阳更深。我极厌恶的,还不是随时可能失去的现实,而是「那就让他们多训训,知道 xxx 的厉害」此种傲慢。

好像话题有些远了,就此打住吧。既然军训是硬性要求,那大二训总比大一训好。印象里的教官都是可爱的人,叫一声小胖,队列里四个人喊到,无语得很。不过,下一届军训能不能发双别那么硬的鞋呢?还有,矿泉水的瓶子装满水放在太阳下晒,喝了,不好。

如果再让我军训一次的话——

「给我一个机会。」
「怎么给你机会?」
「我以前没得选择,现在我想进纠察连。」

高考小记

不知不觉,已是高考结束的第四年了。当初一起参加高考的同学一个个都开始分享自己穿着学士服的毕业照。有些还认得出,有些已经换了个样子。大概知识的冲刷都让大家变得有了内涵。不过我们几个男生,不管讲究的还是不讲究的,从照片看上去还是一个样。倒也只能安慰自己,男性往往成熟得更晚一些。大二的时候还会看到有同学自信地穿着不合身的西装,似乎现在都意识到了,暗示自己是学生会干部,也不过是在朋友圈里多拿几个赞而已。

对于四年前那场考试及其前后的经过,记忆早就变得模糊,也不知道是身体机能在下降,还是时间真的可以抚平痕迹,不光是自己作留下的短暂伤痕。刚上大学那会,大概每隔个礼拜睡觉就会遇到「回去高考」的噩梦,有时候还附带走错考场这样的大礼。后来慢慢就没有了。直到最近,偶尔又开始陷入这个奇怪的梦境中难以脱身。联想自己最近的心理状态,我才意识到梦的逻辑未必那么简单。辛苦也好,不公平也好,高考都不是一场单纯的灾难,也不是压力的重点和释放的起点,十二年以来的课堂在我们心中种下了强烈而又时常不自知的暗示——高考是一场改变,或者说,革命,如果你愿意把人生看作一段历史的话。它可能将你带上高峰,也可能推你坠入深谷。安居乐业的人民是不会革命的。所以当自己不满现状的时候,高考之火又会在熟睡的深夜燎原。尽管高考早已结束,但它实在是和「改变命运」四个字形成了过于深刻乃至本能的心理关联。也因如此,许多人高考期间并不沉闷忧郁——大学能有高三苦吗?其实,中考前我也有过类似想法。

在网络上,以高考为关键字搜索,去除大量有关辅导和招生信息有关的材料,会发现它连带着太多人的故事。大片的文字叙述了不同的高考经历,以及他们的人生如何因为这总和不到十个小时的考试而转折。再想一想肯定有更多的人没有讲出自己的经历,不禁窒息。同样具备大量信息量和故事性的关键字,我只能想到一个,即汶川地震,但沉重许多。汶川地震十周年的时候,我在网上看到一个视频,是地震发生时,成都某高校一学生在宿舍内拍下的场景。我无法确信他那位躲在桌下喊「老婆我爱你」的室友是否已经和同样的人结婚,不过我有足够理由认定,他们今天都还活着。他们现在在哪呢?这问题值得思索,因为当我写作时在图书馆坐在我旁边的同学,我也有足够理由认定他十年后还活着。我会去想他的故事吗?或者说,许多时候我们也不会思考,自己所处的位置,十年前是谁在做什么呢?高考如是。如果当初一念之差,我猜对了砾石到底是在大河的凸岸还是凹岸,是不是我真的就不在这里了?

不过也不用这么惆怅。尽管我的去向像个随机事件,我还是相信无论我的结果如何,2018 年的社会还是今天这个样子。所以,即使高考结果相异,我大概只是在另一个地方逛 V2EX,帮另外的人做网站而已。其实更叹息的,是时间的消逝远远快过自我的体会。说好的大好时光,说好的未知远方,到今年 6 月都应该画上句号。一切历史都是当代史,谈古无非为了讽今,如果自己对现在的自己满意,「此间乐,不思蜀」的话,怎么会追忆当年呢?

尽管在高考后的几天乃至几周里,许多人都会纠结自己那道简答题是不是正确,机读卡有没有填错。但是,再过一段时间就会发现,真正在乎高考题目的,只有又从头开始教高一的那群老师。高考体系的某种荒谬也在于此——如果它真的应该重要到决定你的人生,又怎么会至于过段时间你就忘得干干净净?好像也不全是,每次把碎玻璃扔到垃圾桶的时候,我都会想起那个突降暴雨的上午,想起迄今为止吃过最舒服的糖醋排骨。

有时候,不高考的人反而比高考的人更认为这是场残酷的修行。想一想,在大学里,越来越难以回到考前所在的奇妙的平衡状态,又紧张,又有稳固知识支撑的自信。在事情变得随意,前途变得迷茫,心情变得焦虑的今天,应该很多人都会回想起几年前,有远虑无近忧的惬意下午吧。每一件小事好像都很有趣,都让自己想起来不虚此行。

不过,我还是不同意「高考是人生的必修课」这句话。混淆因果是人的本性。我们所怀念的、叹息的、回忆的,都是高考这个体系下一群十多岁的少年聚集起书写的故事,不是四张考卷本身,不是匆匆依赖一个分数决定这件事本身。教育问题也是社会问题,不存在全面完美的答案。上大学之前不能理解什么叫「教育资源」,后来意识到,是资源就是稀缺的。有很多人,可能跟我一样,批评高考批评应试教育但还认为这个体系会继续存在,原因是,被坑了才发现大学教育问题更多,更需要资源,更应该改变。

所以,偶尔有那么一瞬间也会回忆高考,回忆高中。别以为我是自虐,我只是想重来。

关于大学老师上课的一些看法

好像很长的时间都没有好好写过文章了,也不知道放在这里会不会有人发现。之前约定自己,每天或者每周更新这个博客,可惜这件事到现在并没有做到。说实话,其实就是自己懒,未能规划好时间。说到这里,的确是有点羡慕那些平日上课按部就班的同学了。也许他们的实际「水平」不如另外一些人,不过每天跟着老师的进度走,自己完成作业,也按时交,不怕点名,感觉大概是很棒的。这个学期期末的时候要交数据结构的课程设计,那些作业本可以很早以前就写完然后上交的,然而总是觉得这不对那不对。题目只要求用命令行的界面,但是怎么看怎么觉得有点不太能上台面;但是用GUI做吧,用什么库呢?好像也不好看,带个东西也臃肿得很,要求叫可执行文件,还得麻烦一下用Windows的同学。所以就一直拖着。一直到Deadline前,才意识到这个东西实在不能再拖下去了,于是就赶紧三下五除二赶好。你别说,赶作业那段时间虽然时间紧,但是感觉还挺好的。之前的C语言大作业、Cocos的游戏作业,都是这样的,有别人推着走的感觉会很稳。不像自己学东西,没有什么自制力,说好的自己要写编译器,拖拖延延到现在还是没个头。

不过呢,这次去北京参加大型主机的比赛,整个过程中开了不少的会,也在北京玩了一把,收获确实是不少的。每天或者每几天review一次的感觉相当麻烦,不过真的可以保证某个项目的稳定推进。之前想的是,对自己制定一个完整的规划,自己照着这个规划来,每一步完成一个什么。但是一个可行的规划就必须要求制订者对这个项目和工作效率有基本的认识,多数时候这就是意味着丰富的经验。对于个人学习的项目来说,这种做法多半是不可行的。所以不如「走一步看一步」,但是要求一定得强硬,这比较适合假期一个人的时候学习。又说回这个编译器的想法,该写的是一定要写的。可以不忙着设计语言,就照着C11的标准来就行。实现语言的话,可以用Ruby可以用C++,乃至OCaml。我还计划大三的时候开门课讲编译原理呢,估计那时候就真的得用C++来搞了。说来也是惭愧,这学期选了门编译原理,结果好像就没听几次课(老师懂肯定是懂的,但是上课真的无比蛋疼),下周就要考试了还不知道做了多少准备。

说到老师的授课方式,好像进入了这篇文章想要说的正题。讲真,第一次在这个博客上如此激动的想写那么一点东西下来。其实回想自己大学生活的过程,可以很明显地感觉到对自己的要求在一步一步地变低。说大一的时候不谙世事也好,说是因为想转专业积累绩点也好,那个时候听课的确是认真的。也不知道是不是我的错觉,老师也比现在要走心一点。第一节西方哲学史的课堂上,韩潮老师看着几个迟到的同学说:「你们现在才大一,不要这么早就像高年级的同学一样了啊。」对他的课印象比较模糊,因为我总是想睡着,可就像高中的物理课一样,每次真的要倒下去的时候,脖子又会坚强地抬起来。这样往复,还真的能坚持几十分钟。政治课也是认真听的,下课一没事就去图书馆看看书。那个时候心里没底,但生活却是最规律的。

来软件了之后,直到大二,我似乎明白了一个道理:大部分专业都会把讲课最令人舒服的老师放到大一来开课,可能是让大家至少不要「堕落」得那么快吧。都说物理像高数一样,不过那时候我的高数课上得还是挺开心的,困归困,基本都不玩手机,按时交作业,身边也没有同学可以抄。那时候想的是,大学的学习也不过如此嘛。哎,人就不能过早下定论。

怎么讲呢,之前我也是从来没想过挂科的。就连物理上,也是期末抢救了一番之后,成功保住了一个及格。虽然是同一个老师,可物理下就没有那么幸运了。大概是我太水吧,真的一点不会,平时也不想听。最后期末复习看书的时候,真的有一种想杀人的感觉——我真的,从小到大都没有这样窘迫过,为什么一定要这么为难我?为什么?恶性循环嘛,所以到今天,我的物理挂了三次。第一次挂科的感觉真的是很难受的。在同济,挂科的人每学期一定不会少,找老师求情的也不会少,但是像我一样把自己的光荣事迹放到校内公共平台上,同时质疑物理课开课必要性的,恐怕真的没几家了。说真的,在网上狠狠同别人吵了一架之后,物理对我造成的伤害反而没那么大了。我的概率论好像也挂了。看来到这个时候,就是我的问题了。或者说,早就习惯了人文的复习方式,一下这样「动真格」,是的确不适应。

好像又说远了。各种有大学生的论坛里,吐槽授课教师上课水平低的绝对不是一两例了。可不知道有一些人到底是真糊涂还是装糊涂,强行立了一个逻辑,说「学生水平还不如老师,所以没资格评判老师的上课水平」。这就让我想起了高中时候的某同学。我说,我觉得汪东城长得不帅啊。他讲,「你自己照照镜子看看你有他帅么」。事实上学生当然是有理由指出老师上课的不足之处的,因为学生就是老师授课的对象,恐怕最有资格来做评教这件事。可惜一个老师来上某门专业课未必是出于普及知识拯救学生的信念,而是无奈受迫所致。这就导致许多同学毕业以后,不记得自己上过多少有干货的专业课,反而对某些选修课文采飞扬的老师印象颇深。你当然可以说,真知都是枯燥的,仿佛老祖宗讲的良药苦口一样。可为什么现在的不少药,外面都得加个糖衣吗?复杂、系统的知识当然需要花费大量的时间理解和练习,但是这绝对不是任课教师不认真备课,不认真思考课程改革方案的理由。当然这不只是任课教师的锅,学院的思想僵化,领导独断专行,都是共同原因。不过在下确是认为这些不太受学生欢迎的老师,应该反思反思,自己有没有落实好这个「培养计划的最后一公里」的角色。

知乎上跟教师有关的话题,尤其是大学教师的话题,我时常觉得不堪入目。大清亡了都一百多年了,女权主义都要成热点话题了,为什么众人对教师职业的看法还停留在那个时代?老旧的尊师观念、苏联式办学传统和官僚体制下僵化的大学培养制度共同诞生出了我国目前本科教育这个怪胎。很多人讨论问题的时候都是在想当然。同济有没有严格的老师?有。但是这些老师被学生骂到死了吗?没有,反而受一代代的学生尊重,每年选课的时候都会成为抢手货。因为这些老师的严格,不是目的,而是达成教学目标的一种手段。学生通过老师的严格,最后获得了真正的知识和成绩,所以才会反过来感谢老师。有些老师口口声声「其实你成绩怎么样和我有什么关系」,实质上就是在为自己的不负责任找借口。学生不听课,不代表你老师就可以瞎干了啊。

但这个问题并不好解决。所以在可见的大学生活里面,学习这档子事情,还是只能靠自己。自觉是不一定靠得住的,正如一个人只能溺水而死,不能憋气而死一样,要适当创造一些「自己无力改变」的短时条件,比如上课不带手机和电脑。或许效果会好很多,至少我可以自己看书。

所以还是想给下学期好好定个安排,我记得以前也定过,常变常新嘛。

  • 物理一定要过,否则以后的课程安排会受很大影响
  • 实现一个C语言编译器,后端生成nasm汇编代码,实在没时间用LLVM也可以,要在今年GSoC之前完成
  • 至少把《经济学的思维方式》《纳粹德国:一部新的历史》和《死亡》读完
  • 下学期上课尽量不带手机和电脑,每次上课坐前1/3排
  • 买一对哑铃,或者每周去健身房三次
  • 读《Ruby源码剖析》这本书,尽量向今年GSoC的Ruby项目靠拢,大三可能没那么多机会了
  • 有空的话,深入学习OCaml,看一下《近世代数》
  • 去一个江浙沪之外的地方旅游
  • 每周至少更新一次这个博客

一开始的语言可能有些激动,请原谅我这个人许多时候的自以为是。

祝好,送一声迟到的新年快乐和早来的新春快乐。

夏夜怨记

大概真的有很久没有认真写过一篇日志了。

拖延症想来真是可怕的一件事,从高考、到生日、到搬嘉定,一直想记录下这些时刻,然而最后都因为各种原因忘掉了。

本来说,这次回家,要好好看书,复习物理,认真把之前没做的事情做完。可没想到睡着睡着这暑假就睡过快一半了。从现在开始大概还来得及,但是真的有机会让我意思到「快来不及」吗?

从去年七月底学籍变更开始算起,转到软件学院基本上算整整一年了。说没学到什么东西,那是假的。但是能不能合上当初对于大一的预期呢?恐怕这里不是个问号,甚至都应该是感叹号了。

大一开学第一门课好似一记闷锤,重重地把暑假群里的欢声笑语打得不知所踪。我本是个好为人师的人,也因此,有不少人认识了我。虽说常常觉得会有人因为此对我颇有微词,但是更多的时候笑一笑,只是觉得帮助别人挺好的,足矣。

说Deadline是第一生产力,这话我同意一半。Deadline只能带来产品,带不来作品。除了紧迫感以外,要创造出作品必须的还有一种「渴望」。这样的「渴望」是发自内心的,但对于常人而言,要利用它创造作品,恐怕这期限得是无穷远加上一个epsilon,所以它和期限交织在一起,就是促发我们为作品拼命的动力。

既然半年混一混就过去了,那再来半年似乎就更不是问题了。下半个学期过得更加无趣和无所事事。Cocos已经足够不能带给人成就感了,更何况一个拖了许久需求一删再删的半成品游戏。年级群也在变得越发沉闷,只有俱乐部还能带给人些许慰藉。

其实说到底,这些问题都是自己没有规划没有坚持造成的。规划是简单的,大不了发现有问题再改。难的是坚持。你说每天写一篇日志容不容易?好像也不难。但是甫一打开后台,脑子里各种毛病就来了。觉得浪费时间也好,质量不高也好,一天天就混吃等死推过去了。吹牛的时候我老喜欢提自己初中就学编程的事,然而到今天有太大正面影响吗?还真的没啥。

这并不需什么天才,那个年纪就是能自学那种程度的知识和技能。问题是环境是否容许,例如放学后去办公室搞到午夜才回家,同时学业成绩不能太差。

在知乎上看见Milo谈小孩子学编程的时候说的话,深以为然。如果时间能够给我再一次机会,我真的会做出不一样的选择吗?

在软件这一年,有收获,有遗憾,但这段经历比不上大一一年带来的震撼。回头看自己一直以来的读书经历,好像也能总结出一个道理:

永远不要试图框定自己的界限。否则,你总会发现外面还有所遗漏。

汶川地震八年记

看见今天各大新闻的头条,不知不觉,那场地震已经过去八年了。

尽管身为离四川很近的重庆人,然而每次跟别人聊起地震的时候,我都无比确信我那个时候真的毫无震感。而一切的记忆都是那么清晰而真切,虽说不上就像在昨日发生一般,却也成了生命光影里深深定格的镜头。那个时候刚刚上美术课,被我们调侃过无数次的美术老师让我去隔壁的办公室拿一盒彩色粉笔。还没等我走到办公室门口,就见到人们一窝蜂冲了出去往楼下跑。我当时并不知道怎么回事,也确未感知到地震的来临,所以满脸不解的表情,甚至还以为是马蜂来袭,同学们集体外撤。大概等到人已经冲出一半了,我才听见有人喊到一声「地震了」。此刻的我虽然紧张却更不愿往下跑了——老师不是教育过我们,地震来临要躲在桌子下面吗?不过几乎所有人都跑出去了,外加城乡结合部小学的建筑质量确实也不太能让人信赖,我还是跟着下楼,成了最后出去的人。

可能我对事故的嗅觉从来都是人群里最迟钝的那一类,地震是,外滩踩踏亦是。大家都下撤到教学楼下的操场以后,老师开始点名,看有没有遗漏的人。(尽管我一直觉得,如果地震真的把那教学楼震踏了,我们在球场上根本不能幸免)点名完毕后就组织回家,联系家长。我走出学校,径直走向家附近的一家商店,将近十个中老年人围着一个电视机说着什么。我也凑上去看,才知道刚刚是四川汶川地震了。电视台一次又一次修正地震的震级,不过对当时的我来说,就是知道那很厉害而已了,而对于震源地的死亡,也实在没有概念。

我清楚地记得那天的一切,记得我回去还玩了一把无双大蛇,还看了一集记单词教程。还有工人们坐在路边的聊天。我都记得。不过,对于不幸的朋友而言,可能所有的记忆到那一刻就完全停止了。一个小学生大概真的不太容易明白如此巨大地震的后果。意识到这是一件会打破正常学校生活秩序的大事以后,心里反而有些许奇怪的兴奋感。当然,那段时间的电视新闻永远只有这一个主题。无数的故事,生离死别,当时的我不太能体会这种沉重,但对失去亲人的悲怆,我也有具体的想象。

重庆人都喜欢开玩笑说重庆是一个安全的地方,水火不侵。不过一当有传言曰大余震要来了,市民们也紧张得很。那天晚上社区的家家户户都收拾睡具到球场上过了一夜。我睡不着,于是夜游,那经历甚是有趣。当然夜游的经历不只这一次,不过每次,似乎都跟死亡有那么点点关联。

再然后就是全国哀悼日了。那几天网游什么的都是不能玩的。唔,不过我也没有什么兴趣。小伙伴在楼下唤我出来,做什么我忘了,大概也是吹牛吧。毕竟那是一个放学之后到同学家门口就能吹一个小时的年纪啊。

说了这么多,似乎都是无病呻吟,没什么实在的意义。是。只是借此回忆一下,回忆一下那时那个对初中生活还有充分幻想的我自己。毕竟这个时间节点实在是太特殊。当然,许多无辜的生命,就突然停止在那个时刻,他们的故事再也没有机会被续写。活着的人呢,也许素不相识,因为一场地震而相遇。人生实在是太神奇。地震灾后的修复也许早已完成,但它的回音,似乎远未结束。

谁也不知道未来会发生什么。

计协,南京和其他

这篇日志本来是想周四晚上写的,结果拖着拖着拖到了现在。

虽然学籍上仍然是个大一学生,但是已经是在计算机协会的第四个学期了。计协的活动,前前后后在时间线上串起来,大概就是我将近两年的大学生活。大一的时候,班上女生多,上海女生尤其多,本来班级活动也少,大家待了大半个学期都不认识。计协反而成了寄托。如今回头看那个时候的照片,还会惊叹——原来这些事情都是第一个学期发生的啊!要知道,彼时我还每周认真写高数作业,还没有想好要去软件还是计算机。往后的日子就如眨眼般过去了,连我自己也到了要去嘉定的时候。

大一初到上海,陌生的城市,陌生的人,未知的未来,都在不断地敲打自己。那个时候被「抓进」医院住院,在病房里坐着看着窗外的赤峰路。嘉定是什么样子呢?大四的时候……哦大四还好遥远呢?殊不知,如果我没有留级的话,这四年已将近走完一半了。实话说,在我不知道同济计协的时候我就有加入这类组织的想法了。我记得初中的时候学校就有跟编程有关的社团,可惜那是高中部没法加入。在网上发现一位高我一年级的VB高手,两人还一见如故惺惺相惜。可惜后来断了联系,也不知他现在在哪里。高中的时候呢,觉得老师太蠢,于是把OI放弃了,后来还是有那么点后悔的。可是后悔这种东西没有意义,让我回到那个时候再选一次大概还是一样的决定。

说来好笑,在病房里看贴吧关于百团大战的贴子,把所有跟计算机有关的社团全部默默记了下来。所以第一次百团的时候一下看到了计协就报了名。有趣的是,我拿传单的瞬间还刚好被拍下来了。

面试的时间在十月七日,如今都还历历在目。国庆第一天就去了南京,第一次一个人坐火车还是挺有意思的体验。第一个夜晚到了南京还不觉得,第二天开始就有了一种深深的无力感,用自己的话说就像是在住院。现在想来,大概是因为第一次来到一个谁也不认识的城市,住在酒店里,感到自己对身边的一切毫无掌控力。人类就是这样盲目乐观的动物,看上去,一切都秩序井然。殊不知人类创造的很多规则和理念都是很脆弱的。大众都为大城市的繁华而惊叹,倘若是战争一来,几千万人的大城市一失去秩序就是人类历史上难以想象的灾难。地狱当然是存在的,比如1945年的柏林。

又说远了。面试当然是没问题,见着这些学长还挺激动。那个学期的活动还挺丰富的,从义诊到活动周到计协十周年,我还混过一个小组长当,哈哈哈。后来是下学期的参观七牛,计协一刻钟……说到这里语词混乱也不知道该再讲什么了。只是,真的想感叹一下时间的流逝。一年前我就告诉自己要好好抓紧时间多看点书,结果一年过去了还是明日复明日明日何其多。可惜没有办法,谁叫我是大一呢?谁叫我还要学这么多不得不学的乱七八糟的课呢?哎,已经是毕业生的心了,却还是个新生的籍。

过去了两天,当时的那种心情已经被冲淡了许多。那天晚上看到老照片,真的好想好想感叹。室友问我,「你对这个社团看来很有感情啊」。「当然」。

半颗卤蛋

真是诸事不顺的一天。

首先是中午去吃饭的时候中途突然下了雨。回来之后改代码也各种不对。好不容易等到下午可以抢票的时候,一打开客户端,下单都点了,准备支付的时候发现卡里余额不足。支付宝现在不支持银行卡和账户余额混合支付了。于是我只有去充值。充值完发现票已经被抢完了。然后写物理实验报告把手抄了个麻,匆匆忙忙跑去上物理实验课。上完去吃饭掏出手机看群,发现大麦又放票了。简直了。冲回去又打开抢,这次是显示有,结果一点击又没了。真是哔了狗了。

晚上突然发现OJ又多了个新作业,写链表的。本来觉得,哼,简单嘛。结果小bug没发现,测试数据也是奇葩,20个,全是Runtime Error,服。发现大家平安夜都出去玩去了没人提交,我一个人在那个位置停留了很久。截个图纪念下嘛。

好,这不截图不要紧,一截图发空间就有好事的人散布出去了,于是我就理所当然地成为了“王”。呵呵呵呵。不过我这个人,自认为,至少在自己的专业方面,还是不怕什么打脸的。有不对就说出来嘛,有什么不好意思的,又不是什么三流职高里流传的黑客江湖。

平安夜其实真没什么意思,反正也不放假,不如元旦来得给力。出去走了走,吃了面,面里放了好久没吃过的卤蛋,虽然只有半颗,味道不错。讲道理,在这边放不放假,节不节日,真的都没有什么感觉了。还是回家好。

至少回家,我可以想吃多少卤蛋吃多少。

是吧?

用C写内存管理真累啊

今天C语言老师布置了期末的大作业,要求实现一个毛语言。由于我进教室的时候迟到了,所以并不知道老师在此之前说了什么。不过看了一下屏幕上展示的PDF,只是要求实现最基本的变量声明和计算、输入输出的功能。不过我想着,既然做就做好点,把扩展的功能都给加上去。

思索一会后,我决定把项目中的一部分分离为infrastructure目录,包含一些常用的数据结构,比如链表、字符串、树,以后可能还有散列表。今晚上完毛概以后我就开始动手写,从链表开始(qlist)。虽然之前写过好几次,不过要用C一次写对不出bug还是一件不容易的事情。尤其是我还要在这个链表上模拟泛形。由于C语言没有像C++一样强大的模版,于是我只有用void*来表示数据,然后给链表的结构体里加上一个data_size的成员以表示数据的长度,再要求两个函数指针分别作为深拷贝和内存释放的方法。不过这样也是有问题的,那就是基本数据类型的开销太大了,操作起来也麻烦。比如我要给一个成员类型为int的链表插入,我还得专门定义一个变量,然后把它的地址传给拷贝函数。所以可以考虑一下用宏来解决这个事情。

话说回来,clion确实是个挺好用的IDE.