]]>
喜欢这份惬意。恍惚刚来的夏天,日复一日地虚度。屋外蝉鸣清澈,窗子被梦涂满童年。
欣喜之后的平静总是分外低落,我又开始念旧。往事排开,我变回那个聊天后会绞尽脑汁思考自己有没有说错话的小孩,回到出神望着天空被老师教导「你的未来不在那边」的教室。很多很多东西都好久好久没有出现过了啊,记忆总是在意想不到的时机想起。像是「可导必连续」这样的咒语和一些孩提时的梦。
比如也曾想像班里来了一个转校生,聪明、阳光、热情、矫健,每个孩子都想和他交朋友。在大家的注视中,他却来到我的座位,挡住正在阅读的书,招呼道,「嘿,好久不见。」原来,在没有人知道的地方,我们早已经是朋友了。
但好像有开关按下,我开始忘记自己的懦弱,嘲笑别人的勇敢。积攒的欲望被塞进数千部标记了「想看」的电影、丢进各种各样的「收藏」。梦不再反应潜意识,人都慢慢变得无聊普通。
想起有一天我请假了,什么也不干。早上在熟悉的时间被合租室友洗漱的声音吵醒,我就躺在床上,听声音想象着他的行动。听着他走出卧室、刷牙、洗脸,迈向阳台……然后门被关上发出巨大的噪音,突然安静,厕所漏水的水滴声变得清晰。我什么都不想,然后什么都想。过得很没有实感。别人的时间在往前走,而我停下来了的感觉。难得的假期也没有特别愉快。
拥有了一天作为年轻人在工作日的大街上闲逛的资格。这个想法也让我难过,就像这一天并不属于我,我也不属于这一天。午夜十二点前必须返回,这个世界就是这么设计的。
每次在打工时接到推销或者诈骗电话我也会生气,我想如果我是他们我就会与工人们错开时间。难道他们不知道这点吗,他们干活时我也在干活?噢不,他们当然明白。只是我不是他们的目标客户,我没有能力贷款一百万去消费,也没有空闲去领取五百万的大奖。
只有天之骄子和 20 多岁高学历的健康男性才算是「正常人」,这个世界就是这么设计的。
这个世界就是无数的幻觉,人类在其中竭尽全力欺骗、争夺、操控,试图在「我们想要让哪一种幻觉生效」上达成一致。阵雨和牙痛都要让位于这一点。
是吗?是这样吗?也不是吧。就像《铃芽之旅》里的少年因为拯救世界错过了考教师资格证多少也会有点遗憾。《天空之城》里的小女孩因为长发被剪掉也会伤心。就是,那些困境并不会因为别人的眼光变得无足轻重。5 岁面临的问题、15 岁面临的问题、25 岁面临的问题,没有一起放学回家的朋友、没能考上心仪的学校、没来得及讲的话和见的人、暗恋的男孩还没回复留言…也是重要的事情。
可总是要穿的时候才发现丢了只袜子,写错字惊觉不见橡皮。心情一旦识别就已经在那之间。总是这样的。
什么日子多雨、何时有应季的蔬菜、哪个月份考虑加衣。回过头来也已经感受到了。即便时机总不够恰当。总是这样的。
我变得没有耐心,看电视剧总是快进,倍速,我想这是因为我的品位比导演高,我知道什么时候应该加快节奏什么时候应该剪辑。
我开始用厌恶替代一切表达,不屑装饰观点、讽刺发泄情绪、讨厌什么显得聪明……
我觉得自己成了一个很坏的人。和同样傻乐的家伙们在公园里滑滑梯、坐跷跷板、热络地讲发财的美梦。安慰自己没关系,也还有人没来得及长大。
我们读书、工作,逃跑、拥抱。在局促潮湿的房间里握着手机,点击、滑动,对话框、新闻,食物、猫、音乐、女孩。烈日下汗水浸透衣衫,钢筋、水泥,瓦刀、卷尺,口音、水壶,装满尘埃的肺与偏头痛。
我们努力、怒吼、嘲笑、谩骂,生活迫在眉睫时没人慌了手脚。
我们不再有勇气邀请别人进入房间,掏出自己收藏的破玩具。
我们坦然地真实与脆弱,但从不表现得有所需要,假装是一个可爱的人。
我们每一次沉默,都是与灵魂的谈判。
条件是延长向命运屈服的界限。
我们围着炉子吃饭,火炉中央热着一块速食披萨。那是我年前在一家超市做装修时买的。当时我寒暄问店家说她这打工咋样,她挺高兴地和我讲了讲平时要做的事,卸货、收银、打扫……她说最重要的是查货架上商品过期没,如果保质期还剩一个月就得下架。我挺感兴趣问她说那商品怎么处理呢?她说送货时厂家会收回去。我说整挺好啊,包回收。她说哪哦,那肯定得亏点。
然后我在这低价买了些临近过期的零食,妹妹挺高兴。母亲也很高兴,说瞧「沙琪玛」这包装,一看就很高档,我们平时可吃不到。我顺着她话说那您多尝尝。
东西总是会过期。母亲从屋子里拿了盒纯牛奶说你妹现在不错,能喝纯牛奶了。你暑假时买回来的两箱都喝完了,我给你留了几个,你解渴。我听到说「暑假时」就意识到不对劲,看了眼包装,果然过期了。我说这些东西你们自己喝别留着,都快过期了。母亲有点愣说哪这么快过期哦。我心里叹了口气,插上吸管喝了口说这盒还没有,你们以后多注意,特别小孩还在长身体呢。母亲松了口气说是吧,那就好。
母亲有时候会讲些亏欠了我啊之类的话,什么我们当年要是懂这些,注意下营养什么的,你也不会这么瘦,可能还会再高些。我在工地上跑了几年,正是吃长饭的年纪,胃口极好,再瘦的猴子也长出腱子肉,长成在任何地方都不会哭泣的青年。母亲总觉得我还太瘦。有次我们去镇上赶场,她似乎觉得有必要对我的丑脸负责,拉着我要去街头的江湖医生把脸上的痣点掉。我说妈不用,我喜欢自己现在的样子。
想起刚买冰箱的时候,我们常炖一锅菜吃好几天,等汤和菜混成渣再下一锅臊子面。母亲常夸奖说还好现在有冰箱,仿佛冰箱里面的空间可以冻结时间。那时我还不是很大,有天也带着玩笑的语气说天天吃剩饭一点都不好。这个瞬间也成了我今后常常回忆起的后悔。
母亲年轻时要负责一大家人的饭,父亲和舅舅都还年轻,在隔壁村的煤窑上班,每人一顿都能吃两大瓷碗。她煮大锅饭习惯了。而我不经意的话一定刺痛了她的心。
炉子旁边的铁皮烟囱下拿桶接着水,父亲说今年买的煤太歪了,等过几天还是和我去砍些柴回来,明年还是烧柴算了。我说这卖煤的难道还浇水?父亲说可不是嘛,一袋煤接近 30 块了,他这赚多少亏心钱。我说不至于哦,把烟囱打开,抖出些烟灰,说可能是堵住了,平时多通下。第二天早上父亲抱怨说是不是把烟囱摆的位置不对,不起火。还是得砍点柴回来。我假装调整了下烟囱,说现在位置肯定好了。我知道父亲是觉得烧煤就是在烧钱,心疼。说好,去砍些。
父亲拿出准备好的纸钱,我带着妹妹去挂坟,一路上看着村子里多出了不少小孩。儿童相见不相识。突然想起这句诗来。感觉自己成了一个从很远的地方回来的人。弯弯绕绕,路上长满荆棘。我小的时候这里的土地都还耕种,父亲总仔细地把路上的杂草藤蔓清理掉。清明的时候也总带着我来祭祖,我们会带几条鞭炮、一碗肉,一壶酒,几炷香,偶尔母亲会跪在坟前讲些话。大部分我都记不得了,有时会说保佑我好好读书。最后朝着东方磕几个头,那是外祖母们的方向。现在这项任务落在我的手上,我做的简单,母亲总不满意。
我在坟前磕了几个头,拜托先人们保佑妹妹好好读书。现在搞什么普职分流,一半的初中生毕业后没机会念普高,小孩压力也挺大。我从小也不大擅长念书,高中读了一半就跟着舅舅去甘肃打桩,只能作为负面典型,说不出什么劝学的话。回去吃了晚饭和妹妹在河边转,我用在短视频亲子博主那学习的技巧提问,想激发下她好奇心。她说哪来这么多为什么,你是十万个为什么吗?
我说哼,我不喜欢和没有好奇心的小孩玩。
她说好吧,这样的话我也要问你为什么。
我说好,那我们玩个游戏吧。你必须提十个为什么。不用十万个,提十个好吧。
她不耐烦地纠结了一会,说好吧。
——为什么灯光是白色而不是其它颜色?
——为什么月亮总是晚上出现?
——为什么小虫朝着灯光聚集?
——为什么书上说「星星一闪闪的像人们眨眼睛」而不说「人眨眼睛像星星」呢?
——……
我说你提的问题太好了。
她说嘿嘿是吧,我都是观察周围环境提出的问题,厉害吧?
我说厉害。
她说那你最喜欢哪个?
我说眨眼睛那个,太妙了。
]]>
不过一开始最好给「自由」下个定义?让我们略过这一步,按小说里二哥伊万的说法「用愚蠢的方式进行」吧。
「越是愚蠢,就越切题。越是愚蠢,就越明白。」
「自由」是痛苦的。主教认为耶稣把人类看的太高了,绝大部分的人都无法(不愿意)承担这样的痛苦。
为什么「自由」是痛苦的?因为自由意味着斟酌、选择、强迫自己去做事——你总得做出抉择(不做选择也是一种选择),并且为自己做出的选择承担后果。因此「自由」就是一种负担,是需要我们克服阻力才能拥有(执行)的东西。
那么,为什么我们有时候会认为「自由」美好?这仿佛是自明的——我们认识到自己是自由的,我可以往那走往这走,也可以选择这个那个……或者偶尔我们也讲「自由即枷锁」这种话,但在这个意义上对「自由」的批判也仅限于它会带来混乱这一可能性而非针对「自由」本身。
「自由」的美好在于它作为一种否定。比如当这个词出现在政治议题时,引用它并不是为了论证人想如何就如何,而是将它作为权威的对抗,一个旗帜。
所以至少在部分情况下——「自由」就需要一些「不自由」才有吸引力。或者说,没有限制,我们也就认识不到自由。
这话讲出来似乎有点陈词滥调——好像在说「没有丑就没有美」这样的空话?
让我们继续。
并不是限制让自由得以显现,限制就显得合理,成了一种重要、值得维护的东西。就像失去会让人更珍惜,因此失去在这个程度上也有它的价值,但少有人会真的喜欢失去。
不要将讨论停留在这。
否则所有的这类话题将永远停留在二元辨析阶段,迎来无止境的争吵。从而失去其它视角来看待「自由」的可能性。
比方说我们可以认为「自由」这概念诞生于一种权力结构。「自由」并非简单地在对立——这种看似平等的关系里彰显,而是从不平等的权力关系中诞生。
一个没有「自由」(这概念)的世界反倒是最自由的世界——就像在一个演员身上意识不到演技的时刻才是他演技最好的状态。
权力结构甚至会帮助你去「追求自由」,这样你就没空思考权力本身的合法性,从而使你内化「自由」这一概念,把它当作一个先天的东西接受。
大主教一方的宗教(社会)就扮演着这样的角色,兜售着「自由」。它帮你解决做选择的痛苦、帮你承担责任、给你指向一条大道——如果你在这条路上还感到痛苦、就可以忏悔、或者咒骂世道的不公。
然后对我们进行控制。
主教认为「绝大部分的人是宁可有幸福的保证而不要自由的信仰,而他们(教会)满足了人们的这项需求,所以他们才是真正怜悯人类的。」
而且在这种控制下的我们仍然拥有自由。
我们有选择的自由,选择任何一种职业。选择当老师、做销售员…
我们选择看某部电影暗示自己的品味,选择在朋友圈分享正在读《卡拉马佐夫兄弟》假装自己有某种特质…
你看,这一点很明显。为什么现代社会选择如此之多,大家都觉得自己是自由的,但我们却越来越趋同?
我们读同样的书,去同样的地方、甚至讲同样的话。
我们以为自己是自由的,这恰恰是它们想让我们达到的——奴隶被强加意志,而我们则把那些强加的东西当作源于我们本性的东西「自由」地接受下来。
]]>阿说我还要去救伙伴。
吉说何必呢,活着就是为了繁衍,但生存(种族的延续)有那么重要吗?现在的惨状(外面在进行毁灭世界的地鸣)全都源于死亡带来的恐惧,人不总会死吗?不能抛弃这种恐惧就永远是生命(繁衍)的奴隶。
然后阿说他想起童年时和伙伴在黄昏下奔跑的瞬间,当时觉得自己简直是为了这一刻而出生的。
那种瞬间后来他还经历了很多次。
吉说啊是吗,他也想起和老师扔棒球的时刻。单纯地投球、接球、再投球。
虽然这样的循环没什么意义,也与繁衍无关,但他确实想永远这样玩下去。
要是能和老师玩投接球,这样的人生他也愿意再过一次。
俩人重新振作起来。
让我们不去讨论吉克的逻辑以及阿尔敏的回应是否足够有说服力,来聊聊阿尔敏尝试使用「生活的瞬间」来回应这一行为本身。
就,当回应「生活的无意义」时总是尝试举证「XXX 是有意义的」「没有意义本身就是一种意义」这样的话。
为什么我们非得找到些价值才能给自己支撑呢?会不会问题完全错位了,其实是有什么把这些瞬间的价值消解了?
换句话说,「意义」也许并不成问题,问题在于什么让它成了问题。是什么呢?
就像阿尔敏读书、喂松鼠、感受轻柔的风,吉克和老师投接球,小孩玩弹珠、泥堆里打滚…在那些瞬间里,他们会想到「意义」这回事嘛?「意义」这说法总是滞后,作为质疑与回应出现。
也许当我们使用「意义」这个词就已经掉进陷阱,对一种编码进行服从,越认真越误入歧途。
]]>我看到不少生活的细节,读书时和家人打电话身后喧哗的朋友、听到家长脚步声起身关电视的小孩、暧昧期洗漱不舍得放下手机的年轻人、分别时笑容渐渐消失的脸…
想起以前总感叹一些影视、文学作品里对生活细节的把握,而现在的短视频(平台)则方便地提供了舞台让我们挥霍坦诚。任何时代都有属于自己的媒介,任何媒介都塑造着人的心灵。当感动被批量生产成为快餐,我们就成为献祭灵魂的奴隶。
娱乐至死因为痛苦可以被方便地消除,一切负面的情绪都可以被放进新词;一切严肃的讨论都有一个对应的段子。
我们命名不再是为了保存。
所有的东西都会更快地过期,无论是流行词、一种道德、或者权力关系……只有跟不上变化的人还在怀念从前。我们学会了消解,比以往都要幸福,不再需要抵抗。
我们搜索微笑的最佳实践、跟踪意见领袖调整评价、询问网友该不该对朋友生气……
我们说被设计的脏话,过一种被世界认同的叛逆。
]]>我会扔掉塞满房间的纸箱、久违地清理书架上的灰尘、拿出吉他、铺好瑜伽垫、下载几个英语学习软件、邀约、告白、出门、读书、开始写作…
然后不甘的心在胆怯和懦弱里融化。
新年是一个制度性重置的时机,迎合我们试探命运的欲望。去改变,主动搭话、走平时不会走的路、选择更困难的方向…如果尝试能得出好的结果,现状的合理也许就不必再依靠想象一份痛苦来安慰。
沉浸在一种生活里,不停留就不会有悔恨。
否则日复一日,时间、精力、一切就都会被别的什么占据。然后年轻人长大,变得无聊、普通,最后连这份挣扎的心情也不再波澜。
新的一年,做个勇敢的人!没有能力兜底的勇敢只是鲁莽,这是区分童话可爱与否的界限。让我们做足准备为勇敢付出代价。
]]>他说第一次发工资,有没有时间庆祝下。我纠结了下那阵子刚立下的不再大鱼大肉的 flag,心想别人喊我还是可以去吃点。
去的路上公众号推送来省考国考的消息,到了就问他这件事说你不是还准备考吗。他说这么快?我说你这不像要考试的样子哦。他说还是要试试。
走了一截路后他说欢迎来到城南曼哈顿。我没听清楚,说啥玩意。他重复说城南曼哈顿!我说哇喔,屌,花花世界。
他指着一边说那儿是花花世界,待会我们去瞧瞧。我说好家伙,你可别沉迷花花世界忘记我们刚来大城市的梦想啊。他说我现在经常梦,偶尔想。没有梦想。
我说屌。
他说知道为啥叫城南曼哈顿不?
我说花花世界?
他说曼哈顿有个中央公园,这也有个中央公园。
我说这也行。
他说那有很多网红。XX 不是很多卖奢侈品的嘛,那边和 XX 差不多,不过卖的是工艺品。比较有艺术气息。
我说屌。
他说还是比奢侈品好些,这里你买不起至少还能看看。
然后我们吃饭。吐槽、骂人,末了他说本来想请教你点工作经验。我说还以为你想叙旧。他说当然也有…我打断说结果发现我比你多干几年也毛经验都没有是吧。
我们交换细节,讲了一堆蠢事。他说以后要是同学聚会了老板们坐一桌,牛逼的坐一桌,我们俩…我说我们俩不配上桌。他说我们出去吃了碗米线。我说还要等老板们吃完了来帮我们结账。
之前他给我讲说有个同事陪领导出去应酬,后来领导们去推杯换盏,那个同事和对面领导带的另一个小虾米出门自行解决。
回去后同事们问说你俩吃了啥。那个同事说外面去吃了碗米线。
吃完饭我们去了他说的花花世界。一些看起来像是工作日也会在下午出门遛狗的年轻人、处处都适合也有人拍照的角落、巨大的画、精美的毯子——旁边竖着介绍说这是手工制作哦的牌子。有家做标本的店,相框装着静物、昆虫肢体和死亡。
出来往公园走。奏乐的老人、玩球的青年、打滚的小孩。天气很好,我们迈向湖边在树荫下找椅子坐,阳光从背后投。
正午的阳光在割我脖子,生活就是断头台。
逛了半天才看到远处有张空椅子,旁边还挂着些纸张。我说哇哦,城南曼哈顿!还有人在公园办画展?走近发现原来挂着相亲的资料。
我们刚坐下开了局象棋对战就有阿姨过来说小伙子你们相亲嘛?苗苗说不是哦。阿姨说没的啥不好意思的哦。我说他就是不好意思,刚刚才打印了一些资料没带过来。阿姨说往这挂要经过审核哦。我说还要审核啊。阿姨说那是哇,这都是真实可信的哦,你随便挂转头就给你撕了。有些人在网上乱讲说这儿都是骗人的,你看哪个骗他哦。我说是哦。然后阿姨就问苗苗说你有没有对象工作了吗工资多少,聊着聊着另外一个阿姨也过来了。苗苗说我有对象了,但还是保持着年轻人的清澈老老实实回答。我移了步棋,小窗私聊他说你讲这么多干嘛哇。他忙着一边回复阿姨一边攻势凛冽地将我。我棋力不支,思考了会棋局没来得及下,系统判定自动认输了。靠可恶。我起身拉着他走了。
他说这阿姨真是学识渊博,我说我的学校、工作、老家,回复啥人家都知道。我说专门守着盯你这种人帅多金的年轻人呢。花花世界啊朋友。
他说你滚。
走出公园,车水马龙。我说走吧,往地铁站走,准备回了。他说喝杯咖啡,再下两局。挺好,我说,尝尝。
准备买房了不,他站在路口说。我说难搞,你呢,啥时候结婚?他说我发现这玩意和年龄没啥关系,和你上没上学有关系。一毕业家里人就开始催了。我说草。
等着绿灯,他看向高楼边的天空说今天天气是真的好。我说还是比不上大运会那几天。他说那肯定不能和科技比。我说适合躺在草地上睡觉。他说我房间有垫子。我说我就说说。
有点热,你不该穿这么厚。他说。
我说是啊,下了几天雨,没想到。
他掏出手机翻了翻,我也朝周围打量。像是两个人终于说完了几个月的话。
绿灯了,走。我说。
走。他说。
我们需要中文书写的关于当下、符合目前时代困境的故事。
什么是「目前时代困境」?——我不知道,但作者如果能写出来,我一定一眼就能看出来。
这是创作者的天分。一篇小说就是一把手术刀,文字锋利地对生活进行精准的解剖,将我们与世界、文化间的参差赤裸地揭露出来。
创作者带领我们去「看见」。
情感当然是共通的。但我还是希望能读到些亲切的、从我们的生活派生的东西。而让人更难过的是,这本韩国的短篇集读起来居然亲切得要命。
现在终于出现了一个文化背景相似的人来到面前询问「你的夏天还好吗?」
你大哭一场,想起自己也曾有一肚子的话,只是从来没有人提过。
]]>我流着眼泪读完这本书。
我想到了一部电影《佛罗里达乐园》,电影的叙述始终保持着孩子的视角,故事在美国的贫民窟打转,结局镜头升高,原来这一切都发生在一所超大的迪斯尼游乐园旁边。
美国电影里的贫穷也如同饭里的沙砾或者生鱼片里未净的刺。
《我亲爱的甜橙树》讲述的是我的佛罗里达乐园。两者也有着类似的结构。文字和故事都刻意用着小孩的风格,一切事情都透过层天真展现。
随着故事继续,当我们(读者)的眼眶湿润。才意识到现实一直在试图进入文本,那扎进小说的刺也穿透了孩子的梦、穿过故事、穿向我们的心脏。
那是我们也有过的五岁,擅长敏感和伤害。
我们也曾渴望犯了错事后可以皱着眉头祈求,然后就有人回应我们的眼神说没关系。
我们也曾故意漏出伤疤,在想象中不断上演释放委屈的戏码。
当然,我们爱他们,虽然也伤害他们。
有时候我们不是故意的,只是我们不懂。如果你们能教,也许我们能学会。我们担心自己不够聪明。
伤害是一种小偷躲警察的游戏,获得的喜悦在于逃避了多少代价。
爱是耕种的游戏,种子不会埋下就发芽。埋下种子需要一个契机,爱需要期待,期待会带来快乐也会带来痛苦。但不了解(感受过)爱的人也自然不会有期待。
有些人出现在我们的生命里就是为了教会我们这些事。
我们会更加强大。
无妨毕竟我们是年轻人,活在一个年轻的时代。我们要独立、个性、成为自己!标签是我们应对笨蛋们的装饰,语言是空转的游戏,账号是另一个世界的器官。
我们说话就只是说话,不意欲获得拯救,没有人可以劝我,有钱就是健康。
我们过早抵达人类的边界,渴望一种疯狂,我们总会失败、也总可以重来。
我们已经看透了一切,那些讨厌的、廉价的、不重要的。
我们消解一切,那些鼓吹者、驾驭者、说教者。
我们砸坏窗子,我们还不知道修建一扇要比打碎千万扇还辛苦。
我们伤害无数人,我们还没学会为爱付出代价。
世界正在破碎,(因为)我们的生命正在开始。
]]>我松了口气,又一时不知道该说些什么。只好先问着都有谁来借、借了会还你吗之类的话。她抱怨说上次哦,我的转笔刀都被他们用坏了。我刹那间想到很多,想到是啊这也是很重要的问题、想到这就是这个年龄的困境、想到后悔之前看到些什么亲子沟通的书名全略过去了…
聊着聊着,她说,我是不是该学会拒绝?我惊讶地说是啊,没错。然后意识到这并不是 L 或者这个年纪才会遇到的困扰。问题离我更近了,我有了答案,但不知道适不适合她。
我问你最好的朋友也找你借东西吗?她说不会,他们自己有。
我说你看,真正的好朋友不会让你感到麻烦对不对?她没说话。
我说你没必要不好意思呀,总是麻烦你说明没把你当朋友。她没说话。
我说那你就说我只有一个,借出去我自己就没有了。她好像轻微说了声嗯。
我表现糟糕,不是个合格的大人。
街道的尽头摆着一个大黄蜂机器人,L 说谁谁谁就喜欢这种东西。我说那你喜欢嘛?她说不。我问为啥,她说男生才喜欢这些东西。我说那你还喜欢奥特曼吗?她摇头。
我想起她小时候在家里看《捷德奥特曼》,来了客人说你怎么在看男孩子的电视,她一本正经地讲难道女孩就不能学习勇敢吗?
这句话讲得很好。我以为在孩子的话语中瞥见了诗意的本质。就是,当他们用某种媒介呈现事物时,总是毫不费力。因为世界在他们眼里就是如此运转。而我们在陌生的表达里误以为那正是世界「本该」有的样子,因此在这种差异里体会到戏谑、诧异和美感。
世界是怎么把人变得普通的?我们能做些什么?假如我会成为一个父亲,有没有勇气承担这样的责任?哎…
]]>这是一种修辞手法吗?我总不大明白为什么要用「驯服」(apprivoisées) 这个词,这个词过于明显地袒露着一种权力关系。它好像在说请来把握我,或者把我献给你,而不仅仅是「建立联系」。
朋友怎么能「驯服」?
还是说狐狸过于温柔?
在小王子驯服狐狸后打算离开时,这种关系的不对等就暴露出来了。
狐狸说我要哭了。
小王子说这是你自己的错,我从来没想要伤害你。
是的,是那样的。狐狸说。
是的,是那样的。
小王子为玫瑰投入的时间让玫瑰对他变得重要。就是说,小王子为玫瑰赋予了价值,反过来,也就是说,他拥有取消这份价值的能力。
那句话怎么讲的?「能力越大责任越大」?狐狸对小王子讲「你永远要对你驯服的东西负责任。」
就像每一个说点正经话或袒露自己的年轻人一样,狐狸也补充了句话试图消解自己的心意。
狐狸说,要对你的玫瑰负责。
「我要对我的玫瑰负责。」小王子重复。
啊是的,这就是「驯服」。每一次关系的建立我们都拿出自己生命的一部分作为祭品。
小王子对狐狸说驯服根本没给你什么好处。狐狸说还是有好处,因为麦田的颜色。也就是,爱人的感觉。
收到了朋友寄来的书!第一次哦。狐狸说你说你五点来,我从三点就开始高兴。我从听到对方说要送我几本书就开始开心,开心到现在,然后准备再开心一个月。想起海绵宝宝和派大星躺在草地上,派大星说我希望今天永远也过不完。海绵宝宝说我知道你的意思,像今天这样的日子在我们一生中可能只有一两次,抓住每一个瞬间吧。
抓住每一个瞬间吧。虽然总是后知后觉。人就是(总是)在几个后知后觉的瞬间里意识到自己的变化。
前阵子周末到之前 Y 带我去过的店点了两人餐的骨头啃,给他发消息说可惜你不在,吃起都不香了。他说啥吃起都不香了,你的意思是我很下饭啰。我说不错这都被你看出来了,看来我们默契依旧。
这家店量很足,两人份我没吃完,血亏。
凌晨 Y 打电话过来聊了很久。我说你他妈刚下班是吧,打扰我休息。他说这都被你看出来了。然后我们就伤春悲秋。说别人的坏话,聊年龄、计划、钱,讲世道的不公。他长我几岁,喜欢说我要是你这个年龄就…我说你别这样讲,我现在也到我们刚认识时你当时的年龄了,不年轻啦。他说也是。
哎,叙事很无聊啊。我常用几个靠换行来分割的句子在社交媒体上捕捉刹那和情绪,而一旦试图对它们整理,用标点排序,那些混乱愚蠢的东西就降维成一个故事。所以我们这些笨蛋啊,总是生怕别人不知道虽然模仿得笨拙,但我写的其实是发生在我身上的事儿哦!于是讲话总是充满乞求等待有人来施舍,表现方式是对情节失去控制,把任何「事情」的讲述变成心理剖析。
任何行为都有动机,动机的坦诚证明情节的真实。我曾这样说。但这不重要。真不真实不重要,因为它们对别人来说就只是故事。我们太年轻、太冲动、太自信。而他们热衷于消解。真诚、爱、还有自由。瞧,那诚实背后的谄媚,奉献身后的自私,生活的无意义。可爱的人们都慢慢变得普通。Y 催促着说我们没法一直这个样子,我说你讲得对。我焦虑时把他的选择作为参考,自洽时又觉得他讲得刺耳,心想,这是他缓解焦虑的方式。
]]>
]]>
想到那种一个人不断做出糟糕的选择,犯下无法挽回的错误,结果发现自己还有从头再来的机会的故事。就感觉这真是个预言式,可怕但有趣的梦啊…我的无意识,我将自己催眠,我是我自己的医生。
读《当尼采哭泣》觉得里面有段情节莫名其妙,总想起伍迪艾伦在电影里唠叨「不要把我降维到精神分析的层次。」做了这个梦后突然感觉理解了!于是怒登上评分网站把之前对这本书的评价改为五星。真是神奇的经历。
]]>如果我是个聪明人,也许我就可以获得超能力,任意调整自己的位置,做一个可爱的人——就是说,可以被爱。可惜我总是太笨。
当我再一次想要表达情绪时,没有直接骂几声笑两句,而是试图翻阅诗集找到一个比喻句——意识到这行为的瞬间我就丧失了讲话的欲望。我跪下来,双手奉上自己的情绪作为祭品,渴望从神灵手中借用超能力。我想,我失去的比获得的多。这其实不划算。
互联网上的弄潮儿们呼唤着说表达吧,即便你只能不断地重复重复,即便就算数字文化也不过是一波又一波的青少年读物。你总可以说话,总可以重来,总有人能契合你那时的心境。
肆无忌惮地炫耀以为只有自己了解但其实大家都知道的事物,并能从中获得乐趣。这是孩子的浪漫和特权。
消费主义说「买我」;文化说「引用我」;道德说「实践我」。
骗取财产、欺骗爱。出售诚实、出卖灵魂。
]]>
很好的小说,一个夜晚手不释卷。看简介以为是劝人从良的意淫,结果细节呈现得很合理。阅读前面对人物的展现,过程中多次感叹我明白了我明白了,我终于明白了什么是爱!可惜随着阅读,故事变得工整、情节展开得恰当,那种信仰把握我的感觉反倒慢慢消散了。
]]>那么,为什么续费呢。又,为什么还要在这说话呢?逐渐不需要把自己的念头写(梳理)出来维护自己的合理性了,也没有通过表达去影响别人的欲望。这儿的内容越来越尴尬——不那么坦诚,也不怎么有用。感觉成了一种收集,收集自己还算认真讲过的话,陶醉于数字的累积。
前阵子回头看了下以前写的博文,包括那些没有公开或者公开后被我删掉的内容——嗐,怀旧,糟糕的情绪。这没什么好提的,许多人都做过的事,许多人都体会过的感情。提到这个是因为我最近开始用长毛象当垃圾桶,有点情绪就在上面不顾文法写两句。乐趣、吐槽、打卡、愤世嫉俗……有利于保持心态的平和。我有点找回几年前念书时在微博上冲浪的感觉。同理,最近也开始在这(包括这篇文章)写点自己的情绪。这意味着我写下的东西会被更快地抛弃,但此时(书写的这个瞬间)则被我更长久地保存。
另外也在长毛象上发现不少独立于之前接触到的各种独立博客圈子的中文博客。认真地分享一些超级小众的爱好,诙谐地讲最近发生的事儿,读者寥寥的小说,通关的成人游戏……就,还是有很多特别的人。他们的生活方式给了我很大的安慰。当左右都是「去表达」「你应该创造」这类叙事,居然真的还有人(不抱着一觉醒来居然这么多赞的心态)在记录自己的生活。
有时候我感觉自己也曾是这样的人,但记忆模糊。过去的印记都被我擦了,现在也没有什么能力可以作为证据。这总让我感到悲伤和一丝悔恨。
我喜欢读那些可爱的文字,社交媒体上每秒产生数条的愤怒和愉悦。可爱的文字总是充满了异想天开的比喻句和感叹号,从任何细节都能构造出奇怪但乍看很合理的判断,再通过更离谱的表达将之消解。我想这其实是种超能力,它给予人创造并毁灭的能力。而我这个窥探者则在他们对诞生和死亡的玩弄中感到戏谑,假装我也拥有权力,有能力在这种反差中重建自己的生活。
总是一种认真且热情的态度,或者说,生活的态度。为什么我之前会尽可能地避免呢。任何生活的细节都赤裸地呈现着这是一个怎样的人吗。我毫无负担就能暴露心底最邪恶的想法,却要做足心理建设才讲得出口如何与人相处、吃什么食物、怎么打发时间。细节单纯地就只是如其展现的那般呈现,还是能作为一个解释——你读什么样的书就是什么样的人?
这样的非熟人社交平台喜欢讲你可以(应该)真实、在这做自己,意思是你可以在这表达你想要但被「现实」限制的想法(甚至以此交点朋友)。必须只能是想法,倘若涉及到什么真的可以行动的事,那势必会冒犯、伤害到你的朋友、家人……并承担与社会不一致的后果。
「真实」成了一种实在,就好像真的有个「自己」,一个心底的小孩等着我们去成为,一种必须从否定来把握的东西。「现实」是限制、训诫、压抑,「真实」则是一种解放的状态。
我还记得自己在某处说了些俏皮话,然后每天至少回去二十次,检查有没有新的人来给我点赞。我还记得那种感受。宣泄的快感或者虚荣心被满足的淫欲,交流带来的慰藉还是误解的愤懑,语言空转的游戏。
社交平台总是靠出卖隐私和弱点维持,而我们乐此不疲。博客不意欲如此,它本身没有这种倾向。但现实总有引力让它去成为。博主们区分着营销与表达、技术和生活。媒介连着内容,博客有层次,生活没有。分类、标签、关于、归档,生活没有。这是废话吗?还是说博客以另一种「形式」成为生活?而无论我如何迫切地将我做的表达与我的生活、与「我」剥离,留下来的文字也总比我想象中更加完整地呈现「我」。啊,它就是我。
回到博客首页,我在这儿的表达以时间线排列。在夜里看到的星星,是来自数百年前的光线。过去的都已经过去,而我则以「过去」的形式在这无声无息地存在着。说出来的话都被凝固啦,这里的我也不是我,TA 叫「养恐龙」。记得 Say Hi。
]]>前一天下了雨,我们走马观花,处处都干净得可怕。讲来倒也没什么好提的,熟悉的池子种着陌生的植物,多处也都是这种感觉。以前的空地现在有一栋超大的楼;要求 400 公里的健身跑现在提高到 600 公里。
边逛边讲讲以前和现在,开些粗鲁的玩笑。我掏出校园卡,在曾经的宿舍楼门禁处试了下,失望而归。食堂没运营、二期图书馆闭馆、尚未开学。Y 说少了点烟火气。
在宿舍后门看到一只黑猫,聊起些现在食堂还没开业,不知道学校里的流浪猫都怎么解决就餐问题之类的话。我想起念书时有次也是在这块遇到只大猫,一蹲下,那只猫就躺了过来在我脚边打滚。我撸了一阵,感受绒毛和生命的体温,然后起身,还没挥手那大猫就麻溜地站起离开了。然后就有点悲伤。想着这猫或许是毕业的学生抛下的,或许是为了求食才养成这么迎合人的行为。愧疚的情绪从心底冒出,驱使我去买点香肠。但那时我太理性,克服了这种冲动。
于是后来空着手便不好意思呼唤路上的流浪猫。这些家伙懂事得让人心疼。
在一家过去偶尔会去的店吃完饭后出门已经下起了小雨。我掏出手机看天气预报,天气预报完全没预告这茬,然后让他们看看不同手机上的 App 会不会有差异。哎,没差异。这反常的天气。我们就往地铁站走,说要是这雨停了咱们就继续逛逛,要是下大了就回了。我遗憾地说今天其实还早,Y 说是啊,我们本该正在晃荡。
路过校门口,我们冒着雨在校名前纪念了几张相片。一堆花盆排列着摆出校名英文的缩写,我开始想象从空中俯览这儿的样子。L 对拍照小有心得,我真心地说厉害,他说主要是找找角度,视角特别点就能出惊喜的片。脑海里冒出那些持相机在公共场所摆着奇怪姿势找角度的人,我说这是个技术活。拍照总是把设计的过程赤裸地暴露着,而事物一旦变得刻意我就会不自然。L 对 Y 说你随意点走过去我抓拍几张。酷,随意也可以被设计。
来到地铁站雨下得更大了,已经有几个人在这儿躲雨。盯着手机的女人,注视着彼此聊天的男孩们。对面是个商场,我从来没去过。在旁边有家电影院,Y 说。十九块九的票,我说。我有次抢到了九块九的票,Y 说。我看到过,但从来没抢到,我说。
我们坐在入口处两旁的台阶上,没人开口讲接下来的安排。发了一会呆,我说我包里有书要不要瞧瞧。一本是 L 的,出门前他说路程漫漫我要在地铁上读书。于是我也装了本。但我没好意思拿出来读,倒是在路上盯着 L 翻了好几页。
听到我说包里装着书,Y 说快拿出来我瞧瞧。我心想这是我期待的反应。他拿着翻了几页,我们泛泛讲了几句,然后提到几部最近电影的名字。我们总是如此,可能彼此都担心显得自己浅薄,又或者都知道其实这也没什么好讲的。
Y 是很传统的文艺青年呐,读很多书、看许多电影、去了不少地方,有自己的小癖好。他还在买彩票,说公司之前发红包,里面装着彩票,本来挺开心结果是已经开过奖的券。你也买买吧。他说喊他堂哥玩双色球,前阵子买了几注,差一个号就可以回家养老了。他给我们看在西湖拍的荷花,说可惜这些岸边的荷花都朝着对面开。我总是惊讶他对生活里细节的感知。
前一天晚上 L 来到我这,掏出他老板送的两包茶叶,讲了些茶和品茶的事儿,要和我分享共饮。我烧了壶开水拿出俩纸杯,他说还得专业点,就又拿了几个碗。他一边讲沏茶的流程一边说当然今晚简单点,这个流程可以省略、这个流程也可以省略……他把一个碗用热水过了下,抓了些茶叶放进去。说着来,放茶叶……几两来着。我接话说些许、些许。他笑着说这么多肯定差不多了,又拿起一个碗扣在碗上摇了好多下,做完这一套后揭开,把碗伸到我面前说闻闻。我闻了。他说什么味道。我说茶味?他笑了笑,拿回碗自己闻了下说我其实也闻不出什么。然后一边继续流程,一边讲说其实品茶这事挺有趣,因为它鼓励你充分调动自己感官去体验。看、听、闻、品。当然你可以说这很玄学……我心想这不玄学,只是尝试把这种体验表达成话语就变得有点「玄学」。不过我没说。
沏完后分了两纸杯,我问这是不是你第一次沏茶,L 说第一次给别人沏,我说很好,年轻人的第一泡茶。我拿这句话当文案,又给俩纸杯来了个特写,发了朋友圈,但没人点赞。我和他干杯,作势一饮而尽。他说别急,一点点品。我说好,然后闭着眼睛尝了一小口,啧啧几声。L 说何如。我说刚刚发错语音了,我应该喝一口,然后来一声「啊」,那种老干部风。然后我们就笑。他说你再试试,从舌尖到舌尾,用不同部位去感受它。
我还是没体会到太多,但感觉这是个好思路。认真喝水、认真吃饭、认真玩。调动自己全身去感受这个世界。就是有点费钱。我心想任何事物都可以是一个感官,这头连着我的心脏,那头连着全人类。
]]>标题出自:活在珍贵的人间
所以这款 App 是玩具还是产品?很糟糕地讲,我完全没想好。而不管是作为玩具还是产品,对 App 这种形式来说,技术总是整个流程里最简单的部分。即便我认识(并接受)这点,也没有比别的憧憬着用技术改变世界的朋友强大,反倒衬托我的懦弱。但我不再着急——种一棵树的最佳时间是十年前,其次是现在。埋下一颗种子吧,我还没找属于我的热情,但至少这件事蛮有趣且能缓解我的情绪。慢慢来,但要去做。
3 tribes of programming 里提到「编码如作诗」「让硬件起舞」「为世界创造」三种类型的程序员。念书时很喜欢借用,夸伙伴们的代码优美如诗。我总是做不到。我记得有次课程让大家结对编程,实现 wc
命令 (字符统计)。我只想着实现功能,伙伴波波老师却在考虑代码结构和效率。当时我喜欢辩解说过早优化是万恶之源,现在看来着实有点不够坦诚。
工作几年发现自己对代码的追求越来越少了。念书时我自以为的极客行为其实服务于这种行为看起来会很酷,工作后代码服务于工作——我毫不费力就对思维进行了转换。随着接受了对越来越多事物的祛魅,也愈加感受到自己的懒散和愚蠢。比方说我其实喜欢做一些重复性的工作,喜欢那种熟悉的安全,并在将它流程再自动化的过程中获得快感。
我会成为什么样子?我不知道。我没办法一直这个样子呀,这我知道。会遗忘、会疲劳、会失望,我在奔向下一个社会时钟的节点。去理解、去尝试、去不断地死亡。
]]>嗯哼?没有,我不喝酒。
对面说是某个地方寄来的信——啊我知道了,雀跃着起床出门拿到信件,小心拆开。里面装着一个网友寄来的明信片。三张正面不同风格的卡片,寄语的地方盖着一些可爱的印章,有三个地标,像是从三个地方收集的。为了表示感谢我也尝试回礼,来到邮局挑选明信片时顺便在社交媒体上问有没有朋友需要,有人说需要,便一起寄出几份。
在网络上搜索怎么寄明信片时了解到有许多人在互相交换收集,我心想要是能收集好多不同地方寄来的明信片一定很酷,感觉就像自己被好多人关心着。但反过来,当今后某天获得明信片的人沿着这张卡片回忆起寄送的人,寄卡片的人的记忆也就在别人那获得一份保存,生命以这种方式被延长。
感觉好酷。
我开心地在卡片上写着收件信息,表面上却在社交网站上吐槽说「寄出几份某天收拾房间时会考虑扔还是不扔的纠结」。为了保存这份开心,我必须自己先将它消解。
写收件信息时握笔的手在发抖,别扭的字破坏着卡片原本的和谐。我以为是太激动了,甩了好几下肩膀,调整胳膊与桌子的位置,深呼吸。
回到家又试了试,还是用不上力,纸上的字歪歪扭扭。然后突然,就像以前某次提笔忘字,想到这大概也是书写能力退化的迹象?是呀…上次拿出笔写字是几个月前的事了吧,如果不是偶尔还会在稿纸上写些思路,我可能这几年都不会握笔…
悲哀?倒也不是。只是稍微有点伤感。
这是我第一次收到明信片,也是我第一次邮寄。贴邮票时想起小时候老师讲邮票其实舔一下就可以粘在信封上,我克制了尝试的冲动但一开始把握不好胶水的用量。看着黏糊糊的手和面前被胶水浸湿的明信片,心想这是最糟糕的一张……也是最有意义的一张。希望收到的朋友也能这么想。
啊我对人之间的交往了解得还不是很多,因此稍微与人类有点接触便控制不住地大书特书。人和人的关系总是很奇妙……我不知道别人最近发生了什么、做出了怎样的调整、有多少内心的波涛汹涌,然后凑巧与我发生关联——每个人都走在自己的路上。他们在我的生命里出现、交谈、消失——人们总是不断地相遇、握手、离开。
周末看了部电影《没有过去的男人》。男主和妻子正在讨论离婚的事宜,妻子现在的男友来了。招呼男主到屋子外面,对方一本正经地说我们决斗吧。男主解释说他已经离婚了,对方说那我们不用决斗了。男主接着说你要对她好点,对方说好。男主又说你开车了,能送我一程吗?对方说好。
男主进屋子和妻子拥抱,告别。妻子的男友把男主送到车站,两人在车站前握手,接着分别。镜头切换地干净利落。
人们总是相遇,然后告别。
六月末我的室友去大城市奋斗了,清晨的机票,所以我让他离开前知会我一声,免得醒来后才发现空无一人未免有点惆怅。第二天早上我们笑着告别,我转头继续补觉,过了一会突然想到,刚刚该不会是最后一面吧?重要的瞬间总是后知后觉……然后想到房间里的宽带是他办的,这一走又要重新整,真麻烦……
之前送一个同事离职时,我好郑重地给了他一个拥抱,就好像又是一次永别。没想到前阵子下班路过楼下的火锅店时遇到他,问他说是之前在这店里充值的钱还没花光。然后我就哈哈大笑,笑了一路,直到开始悲伤。
二月的时候和 F 见了面,第一次见网友,也是很有趣的经历。(不过也许他会看到这,我就不多讲了……)
回忆起好几次有人说我总是不讲自己的事,我回答说没什么好讲的……后来心想我不仅不讲自己的事,我也不讲别人的事……我很不擅长讲故事诶。尝试着去讲一些「事儿」的时候,经常得到反馈说「没了?」我说对啊,没了……我是个糟糕的叙述者。
前阵子洗漱时冒出个念头,这十多年来,我其实一直处于一个那种喜欢看电影的小孩的状态。脑袋里装满了各种台词,时常在心里默念,然后等待着有个时机让我恶作剧般讲出来。我会觉得讲出来的那瞬间自己特别酷——而且我不需要别的看过这部电影的人来认同,把酷降维成「你也看过 XX 啊」这种寒暄的话。
事儿就只是事儿,我活在几个瞬间里。
我喜欢将自己彻底地坦诚,一有机会就不厌其烦地讲自己表达的基础、动机、偏见。有天我发现自己好像总是太认真了——要么不说话,要么就像是写博客一样讲话。我似乎是在粗暴地将自己往别人的脑袋里注射——然后别人就不用和我说话了,他们已经知道我会说怎样的话了。我否定自己身上的特殊,并且通过不断地将自己拆散来试图达到这一点。但不断的拆解,也伴随着不断的重组——我其实享受着这一点。我以为这是进步。一直以来,当有人说喜欢我哪一点时我会开心,但这份开心很快会转为恐惧,我必须在别人意识到之前将那一点归因,然后进行消解。不消解它,我就无法拥有它。拥有它,我才能有勇气接受它——有喜欢就意味着有不喜欢——你得完整地接受它。
呜呼。
最近成都的天气很好,我想是大运会的缘故。刚毕业来这就说要开大运会来着,结果路上「迎大运」的海报挂了又取,一眨眼我已经打工近三年。下班出门迎来一阵风,突然好惬意,恍惚念书时出门春游。那一瞬间的感觉超棒,想到所谓幸福,就是心里什么事儿也不装呀。可惜这念头冒出的瞬间我就从那个状态脱离,然后大口呼吸几次,直到撑起的胸膛瘪了,过去和未来又涌回心脏。
]]>
他们只能做一些绝对不会出错的事,像是打怪兽、不随地吐痰、保护环境…
公路片总是把故事结束在问题暴露的一瞬间(好心似乎做了坏事?),然后下个单元。
配角们爆发着情绪,主角们旁观。观众有时候会难以共情。
就是,有这样的事情发生了而已。
导演好像不知道这点。(所以依然卖力地插入 bgm)。
高潮出现在那些绝对的事情也开始模糊的瞬间——主角打的怪兽居然是人变的?坏蛋也有缘由?
只有当主角也被抛入这种情景,信念彻底撕碎。观众才能感受到痛苦。
主角如果能顺利、可信地解决,观众便从痛苦里解放,借由故事获得一次重生~
]]>把快乐转换为代数计算。
里面一个观点说影响多巴胺变动的不是做某些事,而是对某些事物的预期。就是说,在生物学意义上提供了论据:快乐不是一个绝对值,而是一个相对值。
悲观来讲,就是没有希望就不会失望。
实践上就可以从时间、地点、人物、目的、方法上下手,主动去调整预期。
预期的满足——就是所谓的新鲜感吧。
亲密关系的维持就离不开新鲜感啊。而擅长让人失望的人啊有福啦,你们这些聪明人啊,总是盘算着无聊的计算后的水到渠成,而没有丝毫勇气去义无反顾地偏见。
]]>同理,对方建小号喷回来、在公共空间吐槽,这类操作便能让自己感到释怀…
一种「恶心别人」「恶心回来」的思路。
又或者有陌生人误解了你在网上某处留下的话,即便你们不会有什么交集、没有任何利益冲突。你仍然有解释的意图,向第三方澄清的冲动。
啊不是这样,我怎么会这么浅薄。即便只是在一个陌生人眼里?
其他人,活生生的人,对每个「自己」来说,平时都只作为一个事物存在着呀。即便你是一个非常在乎感情的人,一天二十四小时又有多少时间会有意识地想起自己的家人、朋友、恋人呢。
那种把别人从「事物」的范畴拉出来,把对方当作和自己一样作为活生生的人生活在世的瞬间,我们便称之为感情。感情。
这种关切,便可以称之为爱了吧~😝
]]>提了插件列表的 PR,看看能不能通过。🥸
Natumsol/obsidian-pangu 的魔改版本,在添加中英文空格的基础上启用了原 pangu 的「统一文本内标点的使用」并画蛇添足了一些规则。
= =
图方便,直接在原项目发布文件 main.js
里修改的。
对松鼠症喜欢保存网页内容到本地的小伙伴们可能有点帮助,统一下各种排版。
年初在论坛看到有人询问 快速清理文件格式的插件,当时分享了代码,但觉得排版风格太私人了。今天兴起整理了代码,了解 obsidian 插件开发,一把梭提 PR。能通过、有人用的话再考虑完善细节,🤡不然就这样吧……
我从中获得了什么:学习正则表达式。
格式化前:
和[[政治虔诚]]的坚定批评而闻名,这些批评中的许多都依赖于心理学诊断.这些诊断揭示了感染人们既有观念的错误意识;出于「这个”原因他经常:与一群晚期现代思想家(包括马克思和弗洛伊德)联系在一起。。。。他们提出了反对传统价值观的“怀疑解释学”。
123「45」678
![](https://leay.net/text.png)
To you, and you alone, 「what matters is the process: the experience of shaping the artwork.」
格式化后:
和 [[政治虔诚]] 的坚定批评而闻名,这些批评中的许多都依赖于心理学诊断。这些诊断揭示了感染人们既有观念的错误意识;出于「这个」原因他经常:与一群晚期现代思想家(包括马克思和弗洛伊德)联系在一起……他们提出了反对传统价值观的「怀疑解释学」。
123 “45” 678
![pic](https://leay.net/text.png)
]]>To you, and you alone, “what matters is the process: the experience of shaping the artwork.”
莞尔的一段话。
它通过夸张把人带入对现实的反思——「乱伦」这类概念是理性上的考量还是仅仅是规范?它有它的局限性吗?有时代的局限性吗?
顺着了解,发现这段话也被断章了。原本这个例子是被嘉宾拿来反对同性婚姻的——如果同性婚姻具有法律效益,(乱伦又不包括同性)父亲岂不是可以通过娶儿子来避免遗产税?
又比如说同性婚姻和《圣经》里的教义有冲突,那教堂应该对同性婚礼开放吗?「2009 年时,瑞典信义会于例行的宗教会议中举行表决,高票通过接受同性伴侣在教堂中举行婚礼。」——上帝似乎也得接受民主监督?
又比如中国其实有方法可以让同性恋者合法组建家庭。比方说一个 60 岁左右的人可以收养一个 30 岁左右的人,以法律上的父子关系作为同性伴侣生活——这算什么事?
看着是玩笑话,但其实在严肃地讨论同性婚姻立法这件事啊。抛开噪音,反对同性恋婚姻的论点主要在制度的具体执行及伦理上的考量,而不是同性恋合法会吸引人做同性恋、人类基因就灭绝了这种论调。
关键在于对「婚姻」这个词的澄清。
有观点认为「婚姻」本质上只是一种契约;或者「按《说文解字》解释:婚,妇家也;姻,婿家也。所以,婚姻就是一个女的嫁到一个男的家中。」;或者「在基督教教义中,婚姻被认为是上帝见证下的结合,即受到神的庇佑的男女合作关系。」;又或者「在法律上的概念设计之初包含的权利与同性伴侣所需要的权利并不完全重叠。」
总之——同性恋的权益当然得受保护,但可以不用「婚姻」这个词。是这样吗?
反过来,就用这个词又如何?
笑话比我想象中有更大的力量啊。它通过夸张或颠倒,从现有的合理性中推出奇怪的结论吸引/逼迫人反思,很有趣的思想实验。
]]>被爱之箭射中的阿波罗心迷意乱地追逐黛芙妮,而黛芙妮因为中了不爱的箭矢便一直逃离拒绝阿波罗的追求。最后阿波罗追上黛芙妮并试图拥抱,黛芙妮惊恐地向自己的河神父亲呐喊说「宁愿毁了自己的身体也不愿意被人爱。」河神答应了,把她变成了一株月桂树。
第一次读这个故事时想到的是傲慢造成的悲剧。阿波罗呀,你为什么要嘲笑人家小孩呢?
逛到这个故事在维基百科的词条,中文网页上说这是「阿波罗跟踪骚扰的故事。」
哈,是呀。
为了「爱」,有时候会成为性骚扰;为了不被爱,也有人情愿成为月桂。
不是什么大不了的事情。
= = 还是河神比较酷,尊重女儿的选择并帮助她实现。
]]>想要爱、关心、被关心、自由?
还是想要担心、恐惧、悲伤?
啊我知道了。爱就是畏、是担心、是恐惧。是对另一个人的关心、害怕失去的焦虑。
「人性是个讨厌的累赘,对不对?」
我们离不开遗憾和失望,或者说,我们依赖它们。安慰自己说,回头看啊,正是那些挫折构成了我们。
人类中心主义。
故事里想讲的,就只是歌颂爱、自由、平等这些价值观而已。不管主角是几千年前的奴隶还是猩猩或是机器人,也不管反派是怪兽、外星人还是普普通通的我们。
一体两面,有爱就有不爱。而当人类阻止机器人去爱时,他们也就学会了如何爱。
]]>十五岁生日是最适合离家出走的时间。这以前过早,以后又太晚。——《海边的卡夫卡》
中学的时候好羡慕那些长大了还在看动画的人,我在视频网站上看到许多粗糙的视频,拥挤的房间却有个架子摆了好多塑料小人,镜头前面真实的脸,热情洋溢的表情,说着些「此生无悔」的蠢话——噢不,当时我只觉得好酷。他们看过好多我连名字都没听说的作品,也一定知道好多我不知道的事。我也能这样顺利地成为靠谱的大人吗?
什么时候发现的呢?就像人生大道理一样,稍微有点年纪的老头谁都会讲两句。原来观影量这类数字的累积也不过是些顺着热情成章的事儿吗?
偶尔还能在以二次元起家的视频网站上看到「如果你不知道 XXX,就不会 XXX。」的标题。啊那句台词怎么说的?「如果你要用《泰坦尼克号》的台词表白,那对方也应该知道《泰坦尼克号》才有用吧。」
爱好是蹩脚的喻体?
我还记得《白箱》的头两集里一个女主也还在念书,说以后一定要去东京工作,住一个有空调的房间。想起自己中学毕业时把 Radwimps 为动画做的配乐翻来覆去地听,心想等去城里上学了一定要去电影院!
然后就是时间慢慢流淌,什么想法都变得普通。以前一起聊动画的朋友开始戏谑「我已经毕业了」的玩笑。我也蹩脚地试着讲些能显得自己聪明的话,不再诚实。上一部看完的新番好像是《青春期猪头少年不做兔女郎学姐的梦》,很不错的动画,但我在影评网站上打了不高的评分,一本正经地说「我已经是过来人了……怎么还在讲这些……」
这种想法也是真实的呀。只是我没搞懂啊,我完全没搞懂。
我想起看完《你的名字》那晚,回去的路上我兴奋地在输入框打字,把毫无组织的想法一股脑地塞进豆瓣的短评。在社交网站旁若无人地发动态倾诉着自己的快乐,啊你知道吗,那个导演哦,这次居然是 happy ending 也!我反复咀嚼着自己的感想以备将来,毫不怀疑自己短短几年就会忘记那些如数家珍的台词、名词、名字。
然后就是《天气之子》,我吐槽诚哥的恶趣味,前几十分钟平淡又急促的引入,靠设定推动的故事。我记得男主 16 岁,离家出走,包里装着一本《麦田里的守望者》——讲一个 15 岁的男孩离家出走的书。我为自己发现的细节沾沾自喜,然后又开始讲老套的傻话「好吧,毕竟是 16 岁的叛逆,16 岁才能做出的决定。」而那个时候我又才多大呢?
《铃芽之旅》呢?17 岁的女孩离家出走的故事?好像有点无聊啊……动画里居然把男主为了「拯救世界」放弃考教师资格证的剧情当作煽情的点塑造,啊喂啊喂啊喂。
嗯?我太苛刻了?
以现实为舞台的奇幻故事很好啊,它在故事里展现出与现实不同的逻辑,而故事里的人们并不会为此诧异,至少故事不呈现诧异——现实里的人类总是好笨,他们看不出来可能性,永远活在自己的逻辑,不知道生活还可以那样。
想到之前为了赶上上映当天这种时间点放弃了一些其它的事,当时觉得自己这种取舍的形象以后回顾一定很浪漫。我以为电影是造梦、人生、每秒 24 帧的真实。
记得第一次进电影院时,发现原来预告片里的画面出现在荧幕上会让人心情愉快。我以为电影院是个神圣的地方,一群需要安慰的人走进去,就能恢复和另一个世界的链接。后来才知道它还有嚼薯片的声音、衣服摩擦的声音、窃窃私语的声音,可恶的男孩给女孩剧透的声音,啊这也是电影的一部分。「一个人看什么电影?」「少看几分钟没关系。」「都放完了还坐着干嘛。」这也是电影的一部分。欢笑、抽泣、鼓掌,这也是电影的一部分。
我试图假装知道这些事儿做个可爱的人。可爱的人一定不会对自己认知外的事物表现出任何惊讶——除非他们想要你这样。
啊我明白了。电影不必深刻,它呈现、揭露。它可以只表达最浅显的那一层,故事开始了,结局就确定了。一个导演可以永远拍 16 岁的故事,因为这世界永远有人 16 岁,但今天的 16 岁可能会面临和十年前 16 岁不同的问题,而且 16 岁的难题并不就比 26 岁遇到的困境更容易。
这是重要的。
《大鱼》里有句台词「有些笑话是否因为听过太多次而忘了为何好笑。后来你又听到,突然间它像一个新笑话一样,你就想起一开始为什么喜欢它了。」
我想,当大人们开始为自己曾经的热诚而感到羞耻,我们应该对报以一点同情心,因为「所有的大人起先都是孩子」——他们只是忘记了过去。
]]>在那些选项里,我可以不做一个酷酷的冷血杀手,可以更有耐心,可以和遇到的人讲些寒暄的傻话,可以认真地回答一个小孩天真的提问。
原来我可以做个可爱的人。
我可以?
给我传达任务的医生说你只需要完成任务,可以不杀人。我真的可以不杀人吗?我尝试了,可是难度好高好麻烦哦,这游戏其实根本没有设计这个机制吧?
我可以在门外听几个 npc 吹牛,啊好有趣啊,好像他们也有自己的生活。可是不行呀,每个关卡都有时间限制,我再不一脚踢开门然后冷酷地杀死他们,游戏就会结束吧?
游戏后期提供了两个结局走向——「汝之抉择影响深远,远远超出汝自身之宿命。戴死之面具即化身为死:而生之面具则將使汝心中希葬保护之人得以生存。」
啊?我要看剧情,当然要选择生存,继续游戏啊。
不是,我以为游戏里这个小人想要活下去呢。你不是刚刚找到活下去的信念吗?
那个夜晚,你在楼顶扔掉勋章,那个提醒你自己至少曾经还真正活过的军功章。
你不是对身边的小女孩说「我已经有其它提醒自己的东西了吗?」
嗯嗯嗯?我也不知道啊,原来小女孩是我的幻想吗?医生也是假的吗?一直重复的梦境原来是我真实的过去——只不过里面那个坏人才是我?剧情干嘛这么晦涩呐。
原来七年前的我就是个糟糕的混蛋,在战争了屠杀了一整个村庄的平民。真可笑,我居然还想着做个好人。不过你还是放过了那个发着抖在房间躲得一点也不严谨的小孩对吧,我看见你盯了他一眼然后出去了。
你走了出去,背景是村庄的残骸,烧杀的火焰在透视的深处飘荡。你向上司报告完成了任务,点燃一根烟,走到一起来的同事身边。他一头黄毛,我认识他,「龙王」,也是个酷酷的杀手。几天前你们重逢了,各有目的,为了完成任务我帮你杀了他。
原来你们曾经是朋友吗?
啊可恶。再开个存档吧,这次我让你留在应该结束的地方。
]]>从自由开始吧,每个人都应当是自由的。但这个世界有着许多规范来限制你的自由,当然我们可以说这些规范有的合理有的不合理——基于此讲下去——这种规范就形成了一种权力,因为利益和权衡控制你无法自由地行动。
比方说父权制下可能会有这样的种种规范,女性就该被当作小动物观赏、到了一定年龄就得嫁出去、结了婚就得待在家当主妇…
人想要获得自由就必须与这种种不合理的规范做斗争,女性想要获得解放就不得不去挑战父权制度。
啊继续。讲到自由,当然会有「我是自己选择如何如何」这类观点。一些女权人士会把这当作叛逃革命,让我们尝试聊聊——你说你是自己选择被当作动物观赏的,你说你从中获得了快感——当这样的公共表达作为对挑战父权制度的反驳时会让人忽视掉制度对女性自由的剥削。因为制度对权力的掌控比起每个具体的人有着压倒性的优势。以至于——你往往只是误以为自己是自由的。
制度对权力的掌控比起每个具体的人有着压倒性的优势——因为每个享受着制度优势以及不发一言的人都是帮凶。
你当然也可以利用制度——比如当作动物被人观看来收取别人的钱。这对于个人、短期来看,也许能获利。但从长期来看,比方说这条路太轻松了,会吸引很多其他的女性走这条路,从而导致这个制度变相被压迫的人们维持下去——这是糟糕的未来。
承认自己是受害者,本身就是开战的信号。为什么不愿意承认,因为我可以、我应该为自己负责——这其中有很复杂的部分,应该尝试将那些我们无法控制的东西理出来,而不是含糊地用「这是我的选择」糊弄过去。
父母和子女的关系不也是这样?框架阐释经验,子女成年前与父母的关系多半也是被压迫的,但他们意识不到——直到接受到「原生家庭」这类理论。同样流行着把一切都往「原生家庭」上靠的氛围——「我突然意识到这个问题也源于我的原生家庭…」也同样有着厌恶这种极端风气,或有着高度自我意识的人,完全否定「原生家庭」这回事。
有「太极端了」这回事吗?「极端」难道不是为了平衡必不可少的调节?
具体应该怎么做呢。这则太复杂了,涉及到做具体的事情必然关乎个人的选择和周围的环境,以及一个人,他自己,真切的感受。如何不否定自己的能动性也不为制度开脱?
从感受开始吧。相信自己的感受,如果感到被冒犯,就应该将这种感受传达给带给自己这种感受的环境、人、物。让他们不要这样。不要去模糊这种不适,你有权过得舒适。然后去生活,直到遇到你觉得值得相信的人,从与他们的关系联系到整个世界,展现你纯净美好的一面。
把这当作开头,再用理性去辩上一辩——或许你真的错了。
]]>作者刻画细致入微,卖保险的技巧、职场 PUA…小说里一堆所谓的「实用心理学」细节。买卖利用熟人、上司利用下属、女性利用男人、政治家利用群众、骗保利用漏洞、所谓的非营利性机构利用底层人。它们有目标,问心无愧地利用一切。道德成了提高它们竞争优势的锁链——锁的是有良知的人。这样的世界多糟糕啊。
主角阳子在前 98% 的文本中没有自己做过决定,也没机会做决定——她被不断地「抛弃」。她被父亲抛弃,被母亲抛弃。跟着初恋去了东京,被抛弃;「恰好」被拉进保险业务,被抛弃;遇到小白脸,遇到神代。直到小说末尾,才终于有了「帮我杀人」的想法,「逃离神代控制」的计划。
小说多次以阳子弟弟鬼魂和其它形式提到说「一切都只是自然现象」,但阳子「心中还是会燃起热情,产生渴望」。既然都只是自然现象,生死算什么要紧事?为什么阳子还能在这样泥沼里活下去?因为她对这个世界还有期待——活着就已经是对这个世界最后的求爱。
直到她接触到神代,经历了第一次杀人骗保以及 311 地震,从「自然现象」归纳出「自由」——既然一切都只是自然现象,「善恶好坏因果报应」便毫无意义——对爱的渴望也毫无意义。
认识到「自由」的阳子才真正意识到作为一个人,她有选择的权利。
因此神代「只是一个可以利用的自然现象」,生命、一切,对阳子来说都不过是可以利用的资源。
为了自己的「自由」,最后阳子杀掉了精神上的父亲(神代),生理上的母亲。
嗯哼?读者会是什么感受?为什么?
看到阳子踏入一个又一个显而易见的泥坑时,总是怒其不争,小说里多次写阳子安慰是「自己选择的」去做了这些在读者看来很蠢的事——即便在「作为一个独立女性去购物,待在大城市有更多选择」的论调里,阳子自己也并没有什么意识。她尝试了,但很快这就沦为一种简单的对欲望的充盈。
啊?真的显而易见吗?哎……
]]>从时间来看。
说一个人的过去,过去的最远处是人的出生——没有人是自愿来到这世界的。自出生后发生的一切事情都可以从各种视角挑选作为解释——算命、星象、MBTI、心理学…我们可以二元划分为科学的解释的和不科学的解释。你是一个受过教育的理性人,觉得科学的解释肯定更合理——或许如此,但(一)科学不是区分知识的唯一标准;(二)大道理离具体的人总是太远。
当我们说「理解」的时候——就是在进行这样的归因——尝试把对方现在的状态通过一套框架去与过去他身上发生的事情做映射。
「我能理解你」一般就指我能通过这样的操作来把握你。有人怀疑这点——于是另有观点说「你没有真正经历过,哪能真理解?」
「真理解」为什么重要?
「你没有真正经历过」——这种话语往往表达的是对别人风凉话或者不痛不痒的关切的回应。
「理解」就不过是安慰或强化偏见。
于是在这个思路下,任何人都有可能比你自己更理解你。
心理医生说「你现在会这样想是因为…」
算命先生说「这些坏事是因为…」
你说「哦,原来是这样啊!」
啊,这些语言的骗子。
但是有用?
一个常见的场景是将现在的问题与不如意归咎于过去——这当然有用,有时甚至是实践上的必须。
说有用——把问题抛给原生家庭,说父母皆祸害,可以让人了断困扰自己的过去,并积极面对未来。但拿这套说法来算旧账,就是误用了。
说实践——女性主义的实践必须拥抱「权力内化」——你得先认同这个世界确实有压迫,甚至你个人——你所谓的自由其实是你被结构压迫误认为自己是自发的。
但回到具体的人。
你是一个解释吗?什么能解释你?你说过什么话、读过哪些书、尝过的东西、爱过的人……?
你现在做的事情,依赖于你的过去吗?
——一切都是决定好的嘛?真的有命运这回事?
——你知道不确定性原理吗?虽然世界看似是机械的,但微观上的不确定性让世界有了变化哦。
让解释停留在这吧。
对,有用。
一份工作的目的是创造又或者让领导开心。
心理治疗是为了患者能「正常」生活。
——不是「求真」。
说回时间。
说一个人的以后——推向极致,以后的最远处是死亡。
人居然是会死的吗——我们看到许多的行为、计划、痛苦似乎都建立在「人会永生」这一被忽略的假设上。
人居然会死呀。
未知死,焉知生?——在认清自己正在走向死亡这一点的基础上思考未来——于是此时此刻的我就是一个朝向未来、直面死亡的我。
我——就取决于我未来的可能性。一个人的定义不是他的过去,不是基于过去的「解释」,而是他未来的可能性。
「理解」就意味着在对方身上看出了可能性——甚至是对方自己尚未察觉的可能性。
爱、关心、交往、亲密关系……都应当是去帮助对方实现可能性。
你不是因为过去而去做事的,你是根据自己的可能性去做事的——然后去活出可能性。即将自己去是——其所是。
好吧,应该温柔点。人当然由过去和未来共同定义。当然,当然。你的可能性当然受你的过去限制,你能完全不考虑自己的能力、身边人的看法、父母的期望吗?
但,认识到这点,就可以控制。抛弃、挣扎、接受——选择你的命运吧~
$:你好,能帮我总结下这篇文章吗?
🤖️:当然可以。这篇文章主要讲述了在时间的视角下思考自己的过去、现在和未来是一种有用的方式。从过去来看,我们可以用各种框架来解释自己的经历,但这些框架并不能真正理解我们。然而,我们可以利用过去的经历来解决当前的问题,或者接受过去的自己,以更积极的态度面对未来。
🤖️:从未来来看,我们知道最终的归宿是死亡。这一认知让我们更珍惜现在的时光,同时也鼓励我们去追求自己真正想要的,因为我们的时间是有限的。
🤖️:在这个思路下,我们可以将自己的生命视为一段有限的旅程,需要更加珍惜每一个时刻。同时,我们也需要思考自己想要在这个旅程中实现什么,以及如何为自己的目标而努力。最终,这种思考方式可以帮助我们更好地理解自己,并找到自己想要的生活方式。
]]>我们找错地方,跑到一个画院碰面。逛了一圈然后去了美术馆,走马观花,边聊去年的工作边对面前的作品进行一些门外汉的吐槽。Y 说去年读完《红楼梦》,中了一次大乐透的四等奖。前年买的书都没翻过全丢在堂姐家了——现在会买每期的大乐透和双色球。我问前阵子世界杯的体彩有没有买,他说没意思我又不看——哎哟今天有双色球来着,错过购买时间了。我说要是刚好这期中了——他说别说了别说了。
室外有点冷,记得出门时看气温说今天只有 1 到 6 度。美术馆位置略偏,我们绕了几公里去吃了顿饭。等排号时我在网上闲逛,读最近一些热点新闻的标题——我总喜欢这么干。他则似乎总是在了解一些稀奇古怪的信息,比方说会拿手机 App 识别路上、甚至画里见到的植物。他问我你知道这地方为什么叫「花照壁」吗。我说不知道,他就给我讲刚搜索到的信息。这名字原来有这来头,还蛮有趣的。
点了个双人餐,没想到味道不错、分量也意外地足。他在手机上翻出个不知道什么组织出的一份关于餐饮店铺的文档,说这家店在上面诶。我心想相互印证,这文档列的还挺靠谱。他又说这些店铺的分类怎么是「限上」「限下」啊,不应该是「线上」「线下」吗?我说狗日的还有错别字?他又鼓捣了会,说原来「限上」指的是限额以上。啊,是我肤浅了。
Y 打工回来已经在老家待一周了,昨天专门跑过来,明天还得赶回去——他说最近票不好买,只有大巴,他讨厌长途大巴车。嗐,我们说以后假期有空再见,匆匆告别。
几年了,出门乘 6 号线回来,我还是不记得在终点站应该走哪个出口,还好之前做了备忘,在一个只有我一个人的 QQ 群发了几条 “dddddddddd”。几年了?三年了啊。打工三年了,跟我合租的同事今天中午一起出门吃午饭时说三月份估计就得搬走了,我想起之前他提过买房的事,就恭喜他说当时咱们一穷二白地来这,现在你都要成家立业啦。他说哪有哪有。我心想明年要么得找个新室友,要么得换住处,哎真麻烦啊。
新的一年我换项目组了——从一个养老组跑到对客的奋斗组,新的同事都问我为什么想不开。这决定着实说不上考虑地有多谨慎——划水不香吗?我是为了逃避一些东西而做出这个选择吗?我希望得到什么?这有性价比吗?好多好多东西,我都没细想。就简来说,念书时我希望做一份自己能力范围内的工作,轻轻松松岂不美哉。而几年后的现在我反倒有了点挑战的欲望——想去尝试、锻炼、扩展自己的能力。
我总喜欢说爷啥都没有,嘿!就是年轻。哎,也不年轻了。就这个时间点来回头看,我觉得我现在有点自信。自信,就是说知道自己能做什么不能做什么,并且不会为失败感到遗憾吧。
新的开始,上满发条,多少有点不适应。陌生的环境,说了些蠢话,做了些蠢事。脸皮真是肉眼可见地变厚了。又想起申请换组时找了三次对面领导。第一次正常问,对方说没空缺了;第二次说我真心想来,对方说真没空缺了。第三次加微信问我是哪有不足吗,对方说确实没空缺了。
交好的同事吐槽说你这也太舔了,发现自己真的有进步。之前肯定做不出这种事,拒绝一次肯定就逼数心中藏。元旦和 P 聊起「尊严」,他说出来几年在社会的践踏中感觉到了尊严;我说有了目标,就只有手段,无所谓尊严了。你看呐,为了子女挣扎的父母、或者不择手段的坏蛋。
有个一起打工同期的朋友,年近三十,也才入社会两三年。刚认识的时候我们都一股傻乐劲,在公园里滑滑梯、坐跷跷板。吹牛时聊到社会风气之类的话题,他在说完「我接触到的都是好人啊?」这句话后,先后经历了租房暴雷、被撞了他的司机装可怜骗到、电动车被偷……
想起刚认识的时候我们热络地做发财的美梦,乐此不疲地讲「苟富贵」的蠢话。他说你这么年轻,怎么不去外面闯一闯。我说这种话我都听腻了……他说年轻的时候大家都这么想,什么不结婚啦,照顾好家人就行啦,都会变的啦。我没有反对他,但心里总想着咱们生活背景不同,你不了解我。
我以为他说的都是些陈词滥调,现在才意识到是我不了解他。他说「人这一辈子,折腾些什么呢。」我心想「要过现实的生活」,而病痛就是最能把人从光滑的冰面拉回粗粝的地面的东西。只是我处于一种精神疾病的状态,而他直面着现实的困境。
我一边绞尽脑汁地安慰他,一边从他倾诉的细节里收益良多。他遇到的困难就像我自己在担受一般。我们有相似的家境,差不多的经历。他的选择无疑影响着我对生活的态度,而我也愿意被这种感觉驱使。什么重要,什么不重要——不同的看法必定指向完全不同的处世方式。
好久没有这样碎碎念过了,呼,写出来心中的焦虑确实略有减少。这段时间又处于一个阶段吧,开始尝试相信数据和概率,把问题转化为对未来的期望,期望建立于事实和决策判断,根据结果补充盲点、调整视角。让命运来把握我吧!好吧,我也不多说大话了,慢慢做。
标题出自:
有人愿意了解这件事很难得,因此另一方似乎就有了解释的义务。但解释的尽头是什么呢,是对自己的怀疑。「我是这样想的,但也许还有更深层次的原因,我不知道。」
「我不知道。」这种坦诚尽头的怀疑。
之前觉得人和人之间深入的交流只能基于相同的困惑。比方说故事里常讲基于爱好就能交到「朋友」——没有这回事——爱好和其它谈资别无二致,双方都只是在交换一些信息或者互相利用填充欲望。我们喜欢什么相同的东西不重要。为什么喜欢?为什么这么认为?如何去做、去成为——种种追寻让彼此得以了解,然后理解、才能互相接纳。
——是这样吗?
「为什么喜欢这部电影?」
「为什么觉得它有趣?」
「为什么觉得这就是 必须 的?」
不,我不要书上的答案。告诉我你的想法,你真实的自己的想法。
于是,不厌做个讨厌鬼,或者得到答案「我不知道。」
「真实的自己」是怎么回事?追问到原生家庭、心理研究、甚至是基因,还是有点疑虑,怎么就能自信地说出这就是原因,就是这样的种种造就了我,而不去怀疑它们的背后还有其它、或者更深的原因呢。假如说将一切归结于命运加上概率,你能接受这个解释吗?
如果我们接受这种误差,说所有的理解都只是框架内、偏差允许范围内的误解。是不是生活早晚都会这样——然后,初见的美好消失了。「我原以为…」「我看错了…」——「原来这才是你呀!」
好长一段时间我都觉得做个讨厌鬼是必须的。大家为什么不能互相理解呢?——先把问题缩小一点,人要怎么产生联系呢?如果说一段关系的开始需要一个冒失鬼,那我做主动的一方可以吗?这种想法总是终止于那种迫切的心情——冒失甚至可以来源于孤独、性欲、渴望,但不应该来源于对存在感到的危机。
是语言的问题吗?我试着把词汇用得更加精确,表达欲却越来越少。我无知,意识到自己的无知,却无知得很肤浅。我觉得一切事物都太复杂,想说话但理性与骄傲让我开不了口。我又开始反其道去模糊,用大词、写不着边际的话,一边拼接逻辑一边说些暧昧的词汇——总之是在讲点安全的话释放表达欲。这肯定不对劲。然后我总是满怀恶意地挖苦那些轻松表达出来的人肯定不知道自己在说什么;误以为也许他们接受了一定的错误——我先划好界限,总能把心里的东西表达出来又不出错了吧;或者让我贴着感觉——坦诚点吧,我笔写我心。不是这样的。
不是这样的。
我不再把「自己」当作一个解释、或者反过来,当作基于解释的种种可能性。我看不见你的过去,也瞅不着你的未来。说「自己」是经历、是一个事物互相接触才存在的概念,「自己」做出表达,表达也反过来形成「自己」。因此任何时刻的「自己」、任何地方做出的表达都是注定会被抛弃的东西,表演——诸如此类的维护就没有必要。
人是会变化的,人居然是会变化的吗?又一次渐渐在别人眼里变成一个符号,几个关键词,你感到不可把握的痛苦。不是因为你对他们千篇一律的傲慢感到疲劳,也不是因为无法展示自己的复杂而产生了危机,而是一种单纯的,对自身合理性感到的恐惧。
你内心的波涛汹涌、见过的清晨、读过的书,它们和周围似乎是分离的。有人能理解你吗?你应该怎么解释自己才能被理解?为什么他们总是用自己那套根深蒂固得东西来裁决你,还美其名曰理解你?难道你的感受、你真切的感受,只不过是诸多大道理代数式下的一个解?
啊别这样,不患人之不己知,患不知人也。
啊没关系,它们讨厌、丑陋、或者对你不重要。
运气好的话会遇到一些笨蛋,于是一切都轻而易举地从词汇落地。与他们的关系可以带出人身上干净的一面,让人愿意放弃追问,那些名词、定义、伟大的名字。试着真心为邻居的成功鼓掌,试着抛开利益、竞争、嫉妒。多听声音,多说话,做最琐碎的事,讲够每天必须的废话。打一局游戏、交换两个低俗冒犯的笑点。试着长大,去承担责任、去爱、去相信,相信真理是温和的、相信人与人可以理解、相信真诚、善良、勇敢。去进行自己认为正确的表达,去做自己相信正确的事。
]]>
念书时有一个暑假下了暴雨,回程的公路塌陷,后来我也是乘着这样的大鱼去学校的。当时我焦虑地想着赶不上开学,自己的人生一定要完蛋了,它就突然出现在我面前。我们在风里游,它的背温暖而坚硬。我记得很清楚,11 点钟到校,刚好开始上午的最后一节课,我挥挥手便匆忙往教室跑,没来得及和它说再见。
我是怎么想的呢?居然觉得上课比好好道别更重要。哦对,还有许多其它重要的事。什么其它的、重要的事?
那年我十多岁,从未离开童话。后来南迁的鸟儿顺路传来它的消息,这是我第一次听说死亡。
]]>这一类瞬时的情感,感动、怀旧,诸如此类的说法被概念化为一个词 Kama muta,一些资料说这可能和催产素、多巴胺之类的东西有关系,但具体是怎样的化学物质、神经信号在活动还是没被完全搞明白。
多有趣啊,这种感受连着我的时候当然是特殊的,但生理意义上大家也有共同之处。可是至少现在并没有一个标准的、统一的方式,比如说某种能够产生什么物质的药物或某种活动能精确地导致这种感受。我们粗略地说大方向,说统计意义上吧,它们有点共同的东西,这是那些触发情绪的小说、影视等生效的支撑。对于某一个人来说也可能会有些踪迹可循,比方说一类偏好。但这完全是经验的,模糊的,不可计算把握的——但还是有机会感受,而且明显人人都会感受。它就像是宗教般的神秘体验,让人在一瞬间体会到主的抚摸,给人贪婪、眷念、生活下去的勇气。
]]>从最明显的层面看,我若先把握那个真理,囊括一切的概念,那岂不是可以易如反掌地去做事?这个说法很魅惑,而且好像还真的是那么回事。理论指导实践嘛,那我知道了最大的道理,实践无非就是一个推论的结果啰。
哪个读书人不曾想过把书中的道理稍微践行一下?只不过环境似乎总和道理冲突,而道理也可能总是连着道理。种种实践的困难反过来让人反思——一定是我掌握的道理还不够、不对,于是继续追逐道理。
也许名实其实没有孰轻孰重,两者本就是一体的。没名哪来实,没实怎么名?
让我们把问题从价值论断抛开,不去说名和实谁更重要,我们把问题转换成一个实践问题——我们总得先开始,那么是从名开始还是实开始?
让我们放进场景吧。比方说这本书里一直讨论的问题「拯救苍生」——说救国救民吧,应该从哪开始?
我把名实曲解为道理和生活,然后接着往下说。
由道理开始,容易「看似大悟,无懈可击,永立不败之地,终是一场空,于己无益,于世无助。」可有没有一个最终的道理不好说,但至少确实有很多道理。读书人嘛,你看,书上好多道理,难道他们是假的?
既然确实有这么多道理,那我们应该如何利用他们实践、去生活?如何把道理和生活联系起来?
知道太多道理的聪明人们总是面临着两种情况:要么过于轻视,要么太过重视。
你陷入无穷的道理——就等于说没有道理了,因为他妈的在哪方面都有道理。因此读书人总是不能做皇帝,你看呀,生活中能成事的人,多半都是对道理「不过于」的人。
这本书写主角徐础的成长,不就是写所谓的读书人、自以为在思考的人、这些迷茫的人、活在无数观点下的人,要怎么,在生活里自洽的故事呀。
他从一个读书人,怎么急于生活,卷入生活,在这期间不断犯错,成长,最后意识到生活,回归生活的这么一段路。
小说中,在徐础自立为王期间,他终于学会了利用名声为自己谋利,最大程度地利用道理来指导实践——什么为王者应该果断、心狠,诸如此类。这一篇章把徐础的心理变化写得太好了,他不断奔走在一个个地点,亲力亲为,逐渐迷失——啥都得考虑,啥都得做,虽然故事写得紧张刺激,但实在太累了,我读得都为主角感到心累,凭啥呀,快他妈走吧别干了。
——最后来到这段情节的拐点,徐础杀掉了下属孟僧伦——一个愚忠,情理上不能说犯了什么大错,但按道理来说应该要杀掉的人。
「这行为未见得巩固军心,还让徐础自己不得安宁。」
非得这么做吗?还能怎么做?别人会怎么做?问题出在我不肯放弃原则吗?
由此往下,徐础放弃称王选择当谋士这一行为也就顺理成章——他选择自立为王,一方面是受够了「劝说的无力」——群雄逐鹿,对于诸侯来说,道理没那么重要。他要尝试拥有权力,去施行自己的理念;一方面是觉得他妈的这些家伙实在太垃圾了,不如我来。他放弃称王是意识到所谓的「拯救苍生」不必要自己做那个老大——可以从世界入手,让环境变得能让老大(可能一个幸运儿)来得早一点,解决得顺利一点。
只要能让百姓早点远离动荡、国家早日统一。
这不才是国士无双?
这不就是一个自诩善良的人,怎么自洽,去生活的故事?
观点那么多,我们选一个站队就可以安心了吗?我们——能稍微做点什么?不站队地去做点什么?
主义之争下,只关心民生的人是笨蛋吗?
市面上大多数把这类社会议题讨论得稍微深入一点的作品都陷入了死结——到底是谁先犯错的?凭什么要让我放弃报仇?为什么我得为祖先的错误承担责任?非要说,你们就是白莲花了?去你妈的,既然世界还有傻瓜,那我就不客气了。
于是解决办法导向两条路——出来一个宽恕一切的圣人,或者找到一个集中所有仇恨的大坏蛋。
不然呢?
不,你把自己看得太重要了。不需要你来承担一切——如果你想做点事,假如你对人还有点信心,可以去尝试影响别人,让大家都起来承担责任;或者你对人没有信心,至少还可以去改变环境。
「圣人」从来都是后人封的,当下只有辈出的英雄。
我看到一些对这本书的批评基于简单的社达思路:你要当老大,坚持当老大,虽然你杀了不少人,做了不少坏事,但你是在为天下苍生着想,你救了更多人。这是划算的。你放弃当老大,哪有那么容易,别人不会饶过你,你放弃牺牲的人更多……
作者有没有解决好讨论的所有问题?当然,肯定不够好。但这毕竟是架空——每个行为都得融入环境考虑,其实「一方诸侯退位当谋士」这种种看起来很不符合权谋印象的行为在历史上都有例可循——我们拿历史做推演,如果对环境模糊一点,这完全是合理的。作者将不同时代的一些比较令人诧异的事件揉进一部小说,拿现实去批评它的不可行太苛刻了。
]]>「这么说活着还有啥意思呢。」
「活着本身就是意义。」
「你这句话也其实是在问为什么不自杀。」
「好你个家伙,以后大家心情不好了就来找你好吧。别人吐槽两句,你说那为什么你不自杀呢。」
「哈哈哈哈哈我以为你是真的想聊这个问题呢。我有时候会想,以前纳粹集中营里关着那些人,他们是怎么坚持下来的,很多人直到被关进毒气室,也没选择用自杀放弃生命。」
「活着的时候不就觉得能一直活下去啰。」
「你觉得这是为什么。」
「我感觉人…动物就是有控制自己生存下去,繁衍下去的基因吧。」
「要是放弃不就会快乐吗?」
「不说快乐,至少不痛苦。」
「会轻松很多。」
「有道理。」
「老舍不就很牛逼。」
「老子?老子确实牛逼。」
「老舍啦,老舍不就自杀了。」
「你选择放弃很牛逼,但选择面对也很牛逼。我都佩服好吧。」
「而且面对比放弃困难多了。」
「但要是有人对着我说你要面对,我会觉得他是个傻逼。」
「哎,未经他人苦,莫劝他人善。」
「比如我看《活着》的时候,每一步都会想,都这样了,为什么还能坚持下去啊。」
「真正过着糟心日子的人多了去了。」
「就说我父母这辈人,他们比我辛苦多了。但也不会像我这么傻逼。」
「你说是不是教育的问题,要是你不知道,那不就能一直快乐下去了。」
「我觉得这未尝不可,你看朝鲜人民过得多幸福。」
「好你个家伙,不愧生在红旗下。」
「至少大家都一样好吧。」
「还是有人不一样呀。」
「有些人比有些人更加一样。」
「老子不也这么说嘛,常使民无知无欲。」
「哎,你别瞎解释圣人的话啊。」
「管他的,有效对不对。你当皇帝你也搞这套。」
「有效不代表是好的啊。」
「大家过得不很幸福。」
「你自己这样做没事,真的从心底里觉得对别人也是好的,就危险了。」
「是的。」
「科技发展不一定是好的吧。」
「那至少我现在吃的穿的比以前好多了。」
「可是你现在比以前更快乐了吗?」
「那你是觉得科技不该发展啰?」
「我不是这个意思。我是说现在这个发展路径不一定就是最好的那一条。」
「你是在否定教科书上总结出的人类发展的几个阶段是吧。」
「人类可能是这样发展的。但这可能不是最好的。或者说比如有外星人,他们可能会发展出另一种文明。」
「哪种?」
「那我他妈哪知道。你不能否定这种可能性吧。」
「但我们活在现在这个世界哇。」
「对,科技发展不一定人就更开心了。比如说你看智能手机的发明,让大家都变成笨蛋了。」
「你这么说的时候,笨蛋有没有包括你自己?」
「包括好吧,我也是傻逼。」
「哈哈哈那好吧,可每个时代有每个时代的活法啊。」
「以前人们也批评电视,柏拉图还批评过文字呢,说写下来让人都不思考了。」
「手机确实让我不开心了。我一上网看到别人都过着光鲜亮丽的生活,就很不开心。」
「笑死,大家都一样你就会开心了是吧。」
「至少机会一样吧。」
「你不能一边鼓励大家都要过这种生活,一边又不给大家机会啊。」
「对。」
「人要是不用吃饭就好了,那啥都不用纠结了。你看世界杯没,我就特别喜欢巴西人,他们身上那种热情、快乐,就是那种——充满激情地生活。」
「过一天是一天也挺好。」
「也挺好。」
「哈哈哈哈,你不是希望过那种生活。你是希望大家和你一起过那样的生活。不然你完全现在就可以自己过那样的生活呀。」
「你狗日的…」
「感情吧。其实活着也就是因为感情了。亲情、爱情、友情…」
「屌,你现在的想法已经和那些电影同一水平了,最后都是因为爱是吧。」
「对呀,你想想,要是只有你一个人活在世界上,那还有什么意思。」
「我经常这样想啊,那不是想干嘛干嘛,我可以天天住在便利店里吃零食。」
「你这样又能过多久呢,想想一直没人和你说话。」
「不过还有种说法,说人的一切烦恼都来源于人际关系。」
「那狗呢?」
「狗际关系?」
「哈哈哈哈不是,我是说要是只有我一个人,还有没有狗。」
「一切生物都没有了好吧。」
「那确实挺没劲的。」
「也不是所有烦恼都来源于人际关系吧。我要是身体有障碍,或者说得给狗子铲屎,对吧人狗关系。」
「这么说有道理。」
「不过你说的感情又指什么呢?如果说你指的是照顾父母、维护家庭这样的责任,那为了你能活下去,我愿意把我的责任都交给你。」
「你别瞎扯了,不过确实不好说。」
]]>我说不好意思,可是我今天真的已经在拼多多上帮别人点过了。
猫说点过了也可以帮人…我是说,你今天不怎么开心,对不对。
我说对,好吧,但我的问题还没有大到需要相信一只猫来帮我算命。
猫说,我知道,但我不是来给你解决问题的,而是来给你提供问题的。我很专业啦。
我说什么问题。
猫说你感兴趣了对不对。
我就停下来盯着它笑。
「算命的领域是神秘主义和宿命论,骗子的领域是预言,这都不是我的工作。占星不提供答案,它提供问题——帮助你发现自己,成为自己的问题。」猫说。「让你的外在人格和内在本质一致的问题。」
「占星不关心真理,不关心宇宙,不关心开悟也不关心自我实现。它关心被虚假的价值观们困住的人,关心每一颗复杂敏感的心灵,关心你的快乐。占星带你越过陷阱,让你的行为遵循你的内在人格,使你区分出真正想要和被迫想要的东西。」猫说。
「简而言之,比如,占星不认为你是魔蝎座,你只是正在成为魔蝎座。它不解释你曾经的感觉或行为、暗示你拥有某种特质、拿别人的经验聊以自慰。它指向一个让你成长的方向。」猫说。
我说你说得好像很专业,但我不觉得会对我有什么用处。
猫说当然,当然。我说过,我可是专业的。这样吧,你可以摸我!
猫舔舔爪子擦了把脸,眯起眼睛望向一边。蹲坐着昂头躲我视线的样子如同在一个温暖的天气下晒太阳,尾巴摇来摇去,怯生生的样子可爱得像只小猫。好吧,可爱还能有什么平替的词汇呢。
我伸手去揉猫的头,它便顺势靠了过来。可爱呀,真可爱。十一月的主题是可爱。
]]>「但你不会喜欢的,」乌鸦说。
蓝色的夜正慢慢降落,波浪称职地抚平着脚印。
「日落了,却没人写诗。」乌鸦说。
]]>
评《电锯人》,涉及关键剧情。
一部作品被曲解,以至于观众因作者的真诚而羞耻。单纯地说「对你喜欢的事物保持诚实」是没有用的,因为那种「羞耻」也是真实的。曲解是一种更魅惑的东西。
《电锯人》是延续藤本树《炎拳》中「为什么要活下去」这一追问下短暂而残酷的童话。很多故事不好,它们不愿意直面这个问题。比方说既然角色渺小如蝼蚁,生不如死,未来毫无希望,那为啥还要活下去?
《炎拳》通过主角拥有再生能力却被无法熄灭的火焰包裹这一设定构造了困境——只要活着,就时刻遭受着被火焰舔舐的巨大痛苦——那为啥还要活下去啊?
——为了身边的人吗?拿自己可再生的身体去喂养饥饿的人们,但他们却被军队以不合伦理为由杀掉了;为了大家而复仇吗?可你渐渐意识到自己为了复仇伤害了许多不该伤害的人,而且每个人做的事情似乎都有没法反驳的理由——问题出在哪里呢?
先回到《电锯人》吧。
主角电次童年面临追债人的逼迫时产生过「要不被杀掉好了」的念头,但在遇到恶魔波奇塔后——看到了生的可能性——决定与恶魔做交易,签订契约继续活下去。这时候「活下去」靠的是本能。
在与波奇塔的相处中,电次「活下去」是「担心自己死后波奇塔也会被恶魔猎人杀掉」。
僵尸把电次杀死后,波奇塔用生命换回他的心脏使之复活。电次「活下来」的动力转为完成波奇塔的遗愿——希望看到电次梦想实现的一天——过上「正常的,能吃上果酱面包的生活。」
这个梦想一集都不到就实现了。
被警局作为恶魔猎人收编后,在和搭档秋完成第一次任务的房间里,电次又开始问自己这个问题,「我是为了什么活着呢?」
瞧,电次身边这个笨蛋同事(秋)的目标和憎恶都很明确——恶魔杀死了我的亲人,我要复仇,把恶魔杀光光。那电次呢?虽然周围人都讨厌恶魔,可电次的第一个甚至十多年来唯一的朋友就是恶魔。「要是恶魔愿意和我做朋友也很好啊。」电次似乎一脸天真。
在这样的反思下,很自然地,欲望首当其冲冒了出来:干,我要为了能揉到女孩子的胸部活下去。
嗐,这个大笨蛋。
迎合青少年市场还是作者的恶趣味?不,这就是一个正常的笨蛋会直觉出来的答案:为了这样,或许微小,可笑的,欲望。
在这样的目标下,故事似乎就回到了传统的框架。主角追求着一样东西,然后经历了各种各样的事情,最后却获得了其它的东西。角色们意识到原来这才是重要的。
…
部分如此。
故事大体上中规中矩地发展,一出群像,人物纷至沓来,有血有肉。电次确实经历了很多,感受了很多,甚至实现了「揉到女孩子的胸」这一笨蛋目标,还与许多人产生羁绊。
但大家毫无意外地都死掉了。
秋领便当后电次说「要不是和秋的关系变好了,我(在秋死后)也不至于落得现在这个狗屎心情。」
「以前只需要考虑如何活命,现在却像有成千上万个问题等着我思考,提不起劲。」
「我已经不想再自己思考了。」
好麻烦啊,好麻烦啊。与人的联系好麻烦,生活给出的问题好麻烦。
「要是能当玛奇玛小姐的狗就好了。」
是啊,要是能当玛奇玛小姐的狗就好了。这样我至今为止所有的问题就能得到解决,不用思考、不用纠结。
让我放弃自己,把意志交给别人。
让我服从,请求别人背负这压死人的重担。
让我献身,不再关心善与恶,保持求生的冲动。
可在故事最后,玛奇玛小姐却死在自己手里。
我的生活,还是要回到,我自己吗?
观众从上帝视角来看待这些角色徒劳地为自己设定目标然后挣扎,无疑是荒谬且可笑的。在《炎拳》的世界观揭露之前,主角艾格尼的挣扎似乎还能欺骗一下我们——干掉那个坏蛋一切就会顺其自然地变好了吧——可这支撑着主角的信念很快就被无数其它的思想碰撞而岌岌可危。我们短暂地跟随主角痛苦了一会,然后悲悯地看着他又将何去何从。
该怎么办呢?
——干脆一条路走到黑吧。
而《电锯人》主角电次的目标则似乎从一而终地不靠谱——我就是为了能揉到女孩的胸而活下去,我就是要为了交上十个女朋友才努力变得强大,我干脆放弃思考好了——当我们以上帝视角来看这个笨蛋,可真搞笑啊。或许正因为主角的搞笑,配角们为信念赴死时才显得动人。而即便搞笑,这些外包「为什么要活下去」的尝试仍然一次又一次地抛回主角自己。
——如果以上帝视角来审视下你自己的生活呢?
你的生活一定是正常的吧,没有这么搞笑。就和身边人一样,和社会要求的一样正常。
这是你活下去的理由吗?
]]>《学会提问》一点读后感
有点反感「批判性思维」这说法的,似乎好多人望文生义「批判」二字,以为掌握了武器——然后享受着拒绝一切的快感。比方说网友总爱让人自证清白——你怎么可能自证并覆盖所有,所有的可能性?
徐明老师说虽然从「逻辑」这门学科来讲,「批判性思维」不过是「baby baby logic」,但它仍很有必要好好了解,因为有太多人和我一样,其实很缺乏这方面的训练——乃至正确认识到「批判性思考」是怎么回事。
「批判性思维」是一门技术,它立足于理性主义。简而言之,使用者希望自己持有的观点是由可信的事实通过逻辑推出的。
于是可以分为三部分:事实、论证、观点。这本书便从观点开始,讲了观点的分类、论证的方法、事实的确定。里面举了许多例子,提到方方面面的细节。像是我们应该怎么保证了解到的信息是事实,如何避免论证过程中容易犯的一些错误,以及夹杂在多个章节里对写作的建议。值得读者反复体会并实践。
举个常见的例子:小红是坏蛋,因为小明告诉我说他是坏蛋。
这里的论据是「小明告诉我说…」,如果这个论据更偏向事实,比如「小红做了什么什么事…」,就会更有说服力一些。
再比如,这个例子里的「坏蛋」其实是略显含糊,你怎么定义「坏蛋」?乱扔垃圾算不算坏蛋?没有帮助小明作弊也算坏蛋吗?
这本书把批判性思维当作一个社会性活动:它一方面需要表达者尽量讲得精确清晰,一方面也要求聆听观点的人尽量去理解表达者想要说的意思。
这能否精确达到?不能,至少很难,但我们应该尽量理性,去做这样的尝试。
这正是批判性思维局限的地方。它希望我们能基于一些不可争辩/不言自明的事实,达到一个确定无疑的观点。
批判性思维的践行者想要说服别人,就必须建立在别人也有批判性思维的基础上。任何一个有过说服经历的人都知道 这有多不现实——愤怒地抛出「你有没有逻辑!」「请理性点!」——这样的说服并不比拳头高明。
再看看到商业、政治、情感,说服能只靠逻辑达到吗?显然不可能,不然这个世界应该会比现在好点才对。
总之,所谓的批判性思维一定是有限制的。那些自以为掌握核心科技,用这套方法来应对生活中一切事情并感觉良好的人,应该想想是不是有哪里不对劲。
比方说你本来的目的是有所收获,但现在却乐此不疲地用逻辑作武器打倒/拒绝别人的观点——它真的帮助到你了吗?
]]>hqweay/count-word-frequency: Counting english word frequency from string, file, dir and url.
]]>maximevaillancourt/digital-garden-jekyll-template
笔记图谱懒加载的 实现。1 | <div id="test"> |
比如本站 valine 评论区懒加载如下:
1 | <div style="text-align: center; margin-top: 10px" id="load-comment"> |
「可爱极了!」
「绿子,」她说,「要加上名宇。」
「可爱极了,绿子。」我补充道。
「极了是怎么个程度?」
「山崩海枯那样可爱。」
「最最喜欢你,绿子。」
「什么程度?」
「像喜欢春天的熊一样。」
「春天的熊?」绿子再次扬起脸,「什么春天的熊?」
「春天的原野里,你,个人正走着,对面走来一只可爱的小熊,浑身的毛活像天鹅绒,眼睛圆鼓鼓的。它这么对你说道:『你好,小姐,和我一块儿打滚玩好么?』接着,你就和小熊抱在一起,顺着长满三叶草的山坡咕噜咕噜滚下去,整整玩了一大天。你说棒不棒?」
「太棒了。」
「我就这么喜欢你。」
「喜欢我的发型?」
「好得不得了。」
「如何好法?」
「好得全世界森林里的树统统倒在地上。」
「真那样想?」
「真那样想。」
「喜欢我喜欢到什么程度?」绿子问。
「整个世界森林里的老虎全都溶化成黄油。」
想为你做一道菜,但是我没有锅子。
想为你编一条围巾,但是我没有毛线。
想为你写一首诗,但是我没有笔。
「这首歌叫做『什么都没有』!」阿绿说道。歌词很奇怪,旋律也很奇怪。
我一边听着那首莫名其妙的歌,一边想着如果加油站着火了,那么火苗会吹向这栋房子吧!阿绿唱累了就把吉他放下,像一只晒太阳的猫咪似地靠在我的肩膀上。
「我作的歌怎么样?」阿绿问道。
「独创的佳作!完全将你个性表露无遗。」我很认真地回答。
「谢了!」她说。「歌名是『什么都没有』。」
「我可以了解!」我点点头。
「喂,喂喂,说点什么呀!」绿子把脸埋在我胸前说。
「说什么?」
「什么都行,只要我听着心里舒坦。」
「可爱极了!」
「绿子,」她说,「要加上名宇。」
「可爱极了,绿子。」我补充道。
「极了是怎么个程度?」
「山崩海枯那样可爱。」
绿子扬脸看看我:「你用词倒还不同凡响。」
「给你这么一说,我心里也暖融融的。」我笑道。
「来句更棒的。」
「最最喜欢你,绿子。」
「什么程度?」
「像喜欢春天的熊一样。」
「春天的熊?」绿子再次扬起脸,「什么春天的熊?」
「春天的原野里,你,个人正走着,对面走来一只可爱的小熊,浑身的毛活像天鹅绒,眼睛圆鼓鼓的。它这么对你说道:『你好,小姐,和我一块儿打滚玩好么?』接着,你就和小熊抱在一起,顺着长满三叶草的山坡咕噜咕噜滚下去,整整玩了一大天。你说棒不棒?」
「太棒了。」
「我就这么喜欢你。」
绿子紧紧贴住我的胸口,「好上天了!」绿子说,「既然这么喜欢,我,我说什么你都肯听?不生气?」
「当然」
「那么,你能永远不嫌弃我?」
「那还用说。」说着,我抚摸她像小男孩那般又短又软的头发。「不要紧,放心,一切都会一帆风顺。」
「可我就是怕。」绿子说。
想为你做一道菜,但是我没有锅子。
想为你编一条围巾,但是我没有毛线。
想为你写一首诗,但是我没有笔。
「这首歌叫做『什么都没有』!」阿绿说道。歌词很奇怪,旋律也很奇怪。
我一边听着那首莫名其妙的歌,一边想着如果加油站着火了,那么火苗会吹向这栋房子吧!阿绿唱累了就把吉他放下,像一只晒太阳的猫咪似地靠在我的肩膀上。
「我作的歌怎么样?」阿绿问道。
「独创的佳作!完全将你个性表露无遗。」我很认真地回答。
「谢了!」她说。「歌名是『什么都没有』。」
「我可以了解!」我点点头。
「嗯!那是我母亲死的时候……」阿绿对着我说。
「哦?」
「我一点都不悲伤!」
「哦?」
「后来我父亲离开,我也是一点都不悲伤!」
「是吗?」
「是的!你不觉得我很过分吗?不觉得我太过冷酷吗?」
「你会这样,一定有很多原因吧!」
「是啊!有太多原因了!」阿绿说。「我家实在太复杂了。但是,我总以为不管怎么样,他们总是我的父母,如果死了或离别,应该会悲伤的。但是我却不悲伤。一点感觉也没有。不悲伤、不寂寞、不痛苦,甚至不想念他们!只是常常会在梦中出现。母亲从黑暗的深处瞪着我看,然后责备我说『你很高兴我死掉!对不对!」我并不高兴呀!我母亲去世这件事。我只是没有那么悲伤而已。老实说,我连一滴眼泪都没有掉。小时候,我养的一只猫死掉时,我哭了一整个晚上!」
为什么会冒出这么多烟来呢?我想着。看不见火苗,也没有蔓延的样子,只有黑烟不断往上飘。到底在这么长的时间里烧掉了什么东西?我真是想不透。
「不过,那也不全是我的错。虽然我承认有薄情之处,但是,如果他们我父亲和母亲再多爱我一点的话,我想我会有不同的感受,会更悲伤难过的!」
「你认为他们不太爱你?」
她转头看着我的脸,然后用力点点头。「大概在不完全爱与完全不爱之间吧。我一直很渴望他们的爱。即使一次就好,我渴望拥有完全的爱!能让我觉得够了、饱了,能够说『谢谢这一顿饱餐』那样的爱。一次就好!仅仅一次就好!但是他们一次也没有给我!我一撒娇就被推开,抱怨我是赔钱货。一直都是这样。因此我私下决定,要自己去寻找一个永远都会百分之百爱我的人。小学五、六年级的时候,我就下了这样的决心!」
「了不起!」我佩服地说道。「那么,有没有成果?」
「很难。」阿绿说。然后望着烟想了一下。「大概是等了大久了吧!我追求完美的东西。所以很难。」
「你要一份完美的爱?」
「也不是。我没有资格要求那样。我追求的是一种单纯的真情,一种完美的真情。比方说,现在我跟你说我想吃草莓蛋糕,你就丢下一切,跑去为我买!然后喘着气回来对我说:『阿绿!你看!草莓蛋糕!』放到我面前。但是我会说:『哼!我现在不想吃啦!』然后就把蛋糕从窗子丢出去。我要的爱情是这样的。」
「但是我觉得这和爱情完全没有任何关系嘛!」我稍稍愕然地说道。
「有啊!只是你不知道罢了。」阿绿说道。「对女人来说,这其中有很重要的意义!」
「你是说把草莓蛋糕丢出窗外这件事?」
「是啊!我希望对方会说:『知道了!阿绿,我知道啦。我应该早晓得你不会想吃草莓蛋糕,我真是笨得像驴子一样不用大脑。对不起!我再去给你买别的。你喜欢什么?巧克力泡芙?还是起士蛋糕?』」「然后呢?」
「如果他这样对我,那我一定死心踏地爱他罗!」
「我觉得这话不尽合理。」
「但是对我来说,这就是爱。虽然没有人了解我。」阿绿说着,就在我的肩膀上轻轻地摇摇头。「对于某一种人来说,爱情就是从一些很琐碎、无聊之处开始的。甚至不这样,就无法开始。」
「我第一次遇到像你这种想法的女孩。」我说。
「对我说这句话的人可就多了。」她一面把弄着手指头,一面说:「但是,我是认真地这么认为。我只是说老实话而已,我从来没想过要有与众不同的想法,也不追求特别的东西。但是我说了实话,别人却以为是玩笑或作戏!所以常常增添许多麻烦。」
「所以你才想死在火灾里。」
「哎唷!不是啦!那只是一种好奇心罢了。」
「死在火灾里?」
「不是。我是想看看你会有什么反应。」阿绿说。「不过,死亡的本身,我一点都不害怕。真的!被这种烟雾包围,然后失去知觉就这样死去,只不过是一瞬间而已,一点都不恐怖。我母亲或其他亲戚,他们都是生了大病,好不容易脱离痛苦而死的。他们总算和我有血缘关系。他们从生病到死去都经过了相当长的时间,最后连自己是生是死都不知道。如果说还有一点残存的意识,也只是痛苦的感觉罢了。」
阿绿衔着一根万宝路香菸,点上火。
「我怕的是这种死亡方式。死亡的阴影一点一点地侵蚀着生命的领域,当你发现时,已经是一片漆黑,什么也看不见了。周围的人也觉得与其说我是活人,不如说更近于死人。这种情况是最令人憎恶的,我是绝对无法忍受的。」
又经过三十分钟之后,火灾才完全平息。好像没有蔓延,也没有人员伤亡的样子。留下来的那辆消防车也要回去了,人群也吱吱喳喳地走回店里去。只剩下管制交通的巡逻车留在路上,警灯在那里不停地转动着。不知道哪里飞来的两只乌鸦停在电线的顶端,正在眺望着地上的景况。
火灾一旦结束,阿绿就显得没精打采,全身无力地茫然眺望远空。而且几乎不说一句话。
前略。
现在你去买可乐,我趁这段时间写这封信。写信给一个坐在旁边的人,对我而言乃是第一次。但若不这样做,我就不能把我要说的话传达给你了。其实,不管我说什么,你都几乎没听进去。对不?
你知道吗?今天你对我做了一件残忍的事。你根本没察觉我的发型改变了,是不?我辛辛苦苦地把头发留长,好不容易在上星期才能换了一个有女人味的发型。而你竟然浑然不觉。这个发型肯定好看。而且我们好久不见了,我以为你见到我会吓了一跳才对,但你完全当我透明,是不是太过分?大概你连我穿什么衣服也想不起来吧。我也是女孩于。不管你有什么心事都好,起码应该好好看我一眼吧:只要你说一句「你的发型好可爱」,其后不管你怎么想怎么做,我都会原谅你。
因此我向你撒了谎。我说我和姐姐约好在银座碰头是骗你的。我本来打算今天到你家过夜,连睡衣也带来了。不错,我的袋子里面有睡衣和牙刷。哈哈,我好傻。因你根本没邀我到你家去。不过算了,你似乎觉得我在不在都无所谓,你像是希望一个人独虚的样子,我就让你独处好了。请你尽情去胡思乱想好了。
不过,我也不是十分气你。我只是觉得寂寞极了。因你对我百般亲切,而我好像不能为你做什么。你一直把自己关在自己的世界里,虽然我咚咚咚地敲门叫渡边,你仅仅台台眼,又马上回到自己的世界。
现在你拿看可乐走回来了。好像一面走一面想心事,我希望你摔一绞就好了,但你没有。如今你坐在我旁边,咕咕声喝看可乐。我期待你买可乐回来时会发现,然后说「哦,你的发型改变啦。"毕竟希望落空了。若是件察觉到了,我会把这封信撕碎,告诉你说"吱,到你那儿去吧:我为你做一顿好吃的晚餐,然后亲亲热热地一起睡觉。」然而你就像铁板一般粗心大意。再见了!
P.S. 下次在教室见面时,请不要跟我讲话。
直子从口袋里伸出左手,握住我的。「不过你没关系。你不必担心啦。就算在黑夜里到这儿来『盲盲』然地走上一遭,你也绝对不会掉进井里的。所以说,我只要紧跟着你,就不会掉下去了。」
「绝对?」
「绝对!」
「你怎么知道?」
「我知道呀!就是知道嘛!」直子紧紧地握住我的手,一边说道。然后,有好一段时间默默地走着。「那种事我马上就能知道。没有什么理由,只是感觉而已。像今天晚上我一直跟着你走。就一点儿也不害怕。不管是多坏多黑暗的东西都引诱不了我!」
直子从口袋里伸出左手,握住我的。「不过你没关系。你不必担心啦。就算在黑夜里到这儿来『盲盲』然地走上一遭,你也绝对不会掉进井里的。所以说,我只要紧跟着你,就不会掉下去了。」
「绝对?」
「绝对!」
「你怎么知道?」
「我知道呀!就是知道嘛!」直子紧紧地握住我的手,一边说道。然后,有好一段时间默默地走着。「那种事我马上就能知道。没有什么理由,只是感觉而已。像今天晚上我一直跟着你走。就一点儿也不害怕。不管是多坏多黑暗的东西都引诱不了我!」
「那还不简单?你就一直跟着我好了!」我说。
「嗯——你是真心的?」
「当然是真心的罗!」
直子忽地停下脚步,我也跟着停了。她将两只手搭在我肩上,从正面凝望着我的眼睛。在她的明眸深处,一洼浓黑的液体聚成一种奇妙的图形。这么一对美丽的眸子盯了我好久好久。然后她踮起脚,轻轻地将她的脸颊贴上我的。这动作棒透了,暖得教人感到胸口一阵紧缩。
「谢谢!」直子说道。
「不客气!」我说。
「你能对我说那些话,我太高兴了。真的!」她哀切地边微笑边说道。「不过,那是不可能的。」
「为什么?」
「因为不能那么做!那样太过份了。那是——」话才到嘴边,直子突然又吞了回去,然后继续踱步。我知道现在她的脑子里有太多念头正在团团转着,因此我也不开口,只默默地走在她身边。
「那是——错的,对你对我都是。」久久,她才接着说道。
「怎么个错法?」我用平静的声音问道。
「因为没有谁能够永远保护另一个人呀!那是不可能的。听着,假设说我和你结了婚好了!你会上班吧?那你去上班的时候谁来保护我呢?难道我能跟着你一辈子吗?你看这公平吗?这还能叫做人际关系吗?而且总有一天你一定会觉得腻了。我的人生到底在干啥呀?当这女人的秤砣吗?到时候你一定会这么自问的。我不喜欢这样!这样根本也解决不了我的问题呀!」
「总不会腻一辈子吧?」我将手贴在她的背上说道。「总会告一段落吧?等到告一段落,我们都得要重新考虑,今后该怎么做。到那个时候说不定还是你反过来帮我呢!我们需要随时盯着收支清算单过活吗,如果你现在需要我,你大可好好利用,不是吗?为什么非得这么固执不可呢?放松自已吧!你若是不肯放松,到头来就会变得硬梆梆的。放松自己,你会舒坦些的。」
「你为什么这么说?」直子的声音听来既可怕又冷漠,我直觉得自己似乎是说错话了。
「为什么?」直子盯着地面说道。「放松自己会觉得舒坦些,这一点我也知道呀!你说这些话有什么用呢?听着,如果我现在放松自己,我会整个垮掉!从前我就是这一套生活方式,今后也只能这样活下去!我只要放松自己一次,就无法再恢复原状了!我会垮掉,然后随风散去。你难道不能理解吗,连这些你都不能理解,还谈什么保护我?」
我默不吭声。
「我比你所想像的要复杂多了。阴郁、冷淡、复杂……你那时候为什么会和我上床?你别理我就好了。」
我们在一片悄然无声的松林里踱着步。小径上散见些死于夏末的蝉的骸,干干痒痒的。踩在脚下便发出哔哩啪啦的声响。我和直子像是在找寻什么似的,一边盯着地面,一边徐徐地在小径上踱步。
「对不起!」直子说道,然后轻轻地握住我的手腕,摇了摇头。「我并不想伤害你,别在意我说的。真的抱歉!我只是在生自己的气而已。」
「我想大概是因为我还不算真正地了解你吧!」我说。「我不顶聪明,想了解某些事物都得要花时间才行。不过只要有时间,我就可以好好地了解你,我可以比谁都了解你。」
我们伫立在那里,倾耳聆听这一片宁谧。我用鞋尖去踢蝉的残骸和松枝,从树隙间仰望天空。直子则将两手插进上衣口袋里,一动不动地陷入沈思。
「谢谢你的来信。」直子这样写着。信是从直子老家直接转送来的。她信上还说,收到信并不意外,坦白说是非常的高兴。因为她也正在想是不是该赶快写封信给我。
读到这里,我先打开房里的窗户,脱了外套,然后坐到床上去。附近的鸽笼传来了鸽子的叫声。风吹动着窗帘。我一手握着直子写来的七张信纸,置身于毫无边际的冥想之中。才只读了最开头的几行,就感觉到我周围的世界逐渐夫去了色彩。
我闭起眼睛,花了很长的时间去整理出一个情绪。然后做了一个深呼吸,再继续读下去。「来到这里已经将近四个月了。」直子继续写道。
「我在这四个月里,很仔细地考虑过你的事情。越考虑就越觉得自己这样对待你有失公平。因为我想我对你应该更认真、更公平一点。
不过这种想法或许又不是很认真的。为什么呢?因为像我这个年龄的女孩是不应该使用『公平』这种字眼的。对于一个普通的年轻女孩来说,事情的公平与否根本是无关紧要的。一般的女孩并不以是否公平,而是以美丽与否和幸福与否来做为考虑问题的中心。『公平』这种字眼总觉得是男人使用的字眼。但是现在我却觉得『公平』这个字非常地贴切。大概是因为美丽与否、幸福与否这些对我来说,是太过麻烦而复杂的问题,所以我只好找一个其他的标准了。比方说是否公平?是否诚实?是否普遍?
无论如何,我认为我自己对你并不公平。而且太拖累你、太伤害你了。不过我自己也因此受了拖累,受了伤害。我并不是要解释,也不是为自己辩护,而只是事实。如果我在你身上留下了什么伤痕,那不只是你的伤痕,同时也是我的伤痕。所以请不要因此憎恨我。我是一个不健全的人。比你所想像的还不健全。所以我不希望你恨我。如果你恨我,我真的是会心碎。我无法像你一样躲进自己的壳里去过日子。虽然我不了解真正的你,但我就是这样觉得。所以我常常会很羡慕你,甚至过分去拖累你,或许就是这个原因也说不定。
这种说法也许太过于理论分析了。你觉得呢?这里的治疗可不会太过于理论分析。不过,置身于我这种立场,接受几个月的治疗,多多少少也会变得更有分析性。因为治疗总是说这之所以如此是因为某种原因,而那又意味着什么?这种分析法到底是把世界单纯化呢,还是细分化呢?我完全不知道。
总之,我自己也感觉到我已经比以前好多了,而且周围的人也都这么认为。我已经很久没有这么冷静地写信了。七月时寄给你的那封信,是以一种被困绑的心情写的(老实说,我已经完全想不起来写了什么,是不是写得很不好?)这次我是十分平静地写的。清洁的空气与外界隔离的宁静世界,规律的生活和固定的运动,这些事物对我来说似乎是必要的。能够写信真是一件美好的事情!想把自己的想法告诉别人,于是坐在桌子前拿起笔来,写起文章,这真是太棒了!虽然写出来的东西只能表达一部分自己想说的事,但是没有关系。因为能够有写信给人的心情,对现在的我来说,已经是一种最大幸福了。因此我现在要写信给你。现在是晚上七点半,我已经吃过晚饭、洗了澡。四周是一片寂静,窗外是一片漆黑,没有一点光线。平常可以看见很美的星星,但是今晚有云,所以看不见一点星光。住在这里的人都对星星很了解,他们都会告诉我哪个是处女座,哪个是射手座。大概是太阳下山之后无事可做,所以即使不喜欢星星,却也知之甚详。基于相同的理由,这些人对鸟、花、虫、鱼也很了解。跟这些人一聊天,才知道自己对于很多事情是那么地无知,不过我却很高兴自己有这样的感觉。
总共有七十人左右住在这里。其他有二十几位工作人员(医生、护士、事务人员)。因为地方很大,所以人数并不算多。而且都显得很悠闲的样子。这里既宽敞又充满了自然的气息,每个人都过着非常平静的生活。由于太平静了,常常会觉得这里好像不是一个真实的世界。不过,当然不是如此。因为我们是在某一种前提下才住进这里的,自然也就习惯了这一切。
我在这里还打网球和篮球。蓝球队是由患者(虽然这个字眼很讨人厌,但是也没办法。)和工作人员组成的。不过由于全心投入比赛中,我会渐渐忘记谁是患者,谁是医生。那真是很奇怪的感觉。虽然说很奇怪,但是一边打球一边看周围的人,就会觉得每一个人都是同样扭曲的。
有一天,我把这个看法告诉主治大夫,他对我说,你的这种感觉在某种意义上是正确的。他说我们到这里来不是矫正扭曲的,而是要来学习适应那种扭曲的。他又说我们的问题之一,就是无法承认并接受那种扭曲。就像每一个人都有他独特的走路方式一样,感觉、思考和看法也都有不同的地方,即使想改正也不是一蹴可及的,如果勉强修正,恐怕别的地方又会变得很奇怪。当然这是很单纯的说明,而且只不过是我们问题中的一小部分,但我还是了解他所想要说的。或许我们是真的无法适应自己的扭曲吧!所以就没有办法把这种扭曲所引起的真实痛苦好好地加以定位,因此只好远离它,进到这里来。在这里我们不会去折磨别人,别人也不会折磨我们,为什么呢,因为我们每一个人都知道自己是『扭曲』的。这就是这里与外面世界完全不同的地方,外界有很多人都不晓得自己是扭曲的。但是在我们这个小小的世界里,扭曲正是一个前提条件。我们就像印地安人那样在头上插着代表本族的羽毛,承认自己的扭曲。所以能够不伤害彼此地安静渡日。
除了做运动之外,我们还自己种菜。有蕃茄、茄子、小黄瓜、西瓜、草莓、葱、莴苣、白萝卜,还有很多很多。我们种植各种东西,还使用温室。这里的人都对蔬菜的种植既了解又热心。他们看书、请教专家、从早到晚都在谈论着哪一种肥料比较好?土质又如何?我也很喜欢蔬菜。看着各种水果和蔬菜每天一点一点成长的情形,不禁令人雀悦。你有没有种过西瓜?西瓜成长的方式简直就像慢慢长大的小动物一样呢!
我们吃这些自己种的蔬菜和水果。虽然也有鱼和肉,但是我们都愈来愈不想吃那些东西。因为蔬菜实在是又美丽又可口。我们也会出去采山菜和野菇。同时还有专家(他们确实是专家唷!)告诉我这个可以采,那个不可以采。因此我来这里之后胖了三公斤。正好是标准体重呢!最主要是因为运动和规律正常的饮食。
其他的时间我们就看看书、听听音乐、编织一些东西。虽然没有电视和收音机,但却有设备齐全的图书室和一间唱片图书馆,收藏着马拉(译注:音乐家)的交响乐全集,以及披头四的乐曲,我常常在那里借唱片回房去听。
这里的设备唯一的问题就是,一旦进来这里,如果再出去外面,简直就是万劫不复,外面实在太可怕了。我们在这里才能拥有平静安宁的心情。也才能以自然的态度面对自己的扭曲,觉得自己有希望痊愈。但外面的世界是不是也能同样地接受我们呢?我实在没有把握。
主治医师说我就要进入可以与外人接触的时期了。所谓的『外人』就是指正常世界的正常人而言,但是在我心中只浮现一个你。老实说,我并不太想见双亲。因为他们对我的事感到很纷乱,即使见了面说了话,也只会让我陷入悲哀的心情中。而且我还有几件事一定要对你说。虽然我不晓得是否能够说清楚,但都是很重要的事情,也是不能再逃避的问题。
虽然如此,请你不要把我的事变成你的沈重负荷。我不想成为任何人的负荷。我只是要告诉你,我能感受到你对我的好,我只是要把这种欢喜之情老老实实告诉你罢了!大概是因为现在的我非常需要你的好意吧!如果我所写的话有什么让你迷惑的地方,我先向你道歉。请原谅我!就像我前面写的,我是一个比你想像中还不健全的人。
我常常会这么想如果我和你是在一种自然而普通的状况下相遇,我们彼此接受对方的好意,那会变成怎么样呢?我也很认真、你也很认真(从一开始就很认真唷!)如果没有木漉又会变成怎么样呢?虽然这个『如果』假设得实在太过分,但至少我会更公平、更诚实一点吧!现在的我也只能这么做了。所以找才希望你能稍微了解我的心情。
这里和普通的医院不同,探访时间在原则上是很自由的。如果在前一天先以电话连络,那就随时都可以见面,还可以一起吃饭,也有过夜的地方。如果你方便的时候,请来一趟。我会愉快地等着见你。信中并附上地图。信写得很长,请原谅!」
]]>摘录自《挪威的森林》叶惠译本
「这有必要吗?」你从未拥有,因此能看出它的赘余。
你并不相信性格这类说法,不如说一个又一个的人格面具。假如有套在哪都能获得正反馈的面具,不就一直戴下去啰。你改变了,连以前的熟人都会感到惊讶,效果不错。但在别人遵守社交规则试图找你做些浪费时间的事以增进感情时卡壳了——下一步该怎么做?你从不是一个需要靠外包情绪以自洽的人,因此也不曾体会过这样的礼尚往来。你因缺乏经验而感到——兴奋还是恐惧?你怯弱了,没有进一步去失败,反倒缩了回去,质疑自己「这有何必要」。
你也许仍然是个友善的人——对此有很多说法——但你不是没有感情,只是依赖其他人的那一部分似乎真的要消失了。说到底,你不奢求被爱了。你选择把自己当作礼物勇敢而真诚地送进这个世界,抛开一切统计意义上的障碍,热情地面对每一个人、每一件事。坦然地以自己的方式去爱人——以自己的方式。
然而大部分人都只能意识到他们希望得到的爱——你介意这点吗?不介意就停在这吧。否则倘若你不可避免地带有一丝期望,最好的方式仍然是去理解,稍微考虑别人的意见行事。
然后最重要的,作为大部分人之一,你——也许正被很多人以他们自己的方式笨拙地爱着。如果碰巧那正是你期望的方式,这样的事实抵得上整个世界的论证。
]]>臧仲伦:有座小村庄和一处相当好的在城里的房子,也列入她的陪嫁之列,长时间以来,他一直变着法儿想把这些财产过户到他自己名下,而要做到这点,只要立一纸适当的文据就行,单凭他夫人对他的蔑视和厌恶,单凭这一点,他就不难达到自己的目的,而他无时无刻不在用自己的无耻勒索和苦苦哀求,来激起她对他的蔑视和厌恶。单凭她心里对他腻味透了,不想跟他纠缠,他就能如愿以偿。 但是,幸好阿杰莱达·伊万诺芙娜的娘家出面干涉,才限制了这个巧取豪夺的无耻之徒。
耿济之:在她的嫁资中,还有一个小庄园,和一所相当好的、城里的房子,他长时间地千方百计想通过办成一种相当的手续,弄到自己的名下;只要凭着他无时无刻不使用的那种无耻的勒索和苦求的手段,来引起自己夫人对他的轻蔑和厌恶,好在她精神疲劳时为了摆脱他而答应下来了事,他原是可以达到自己的目的的。 但是阿杰莱达·伊凡诺芙娜娘家出来干涉了,终于万幸限制了强夺的行为。
徐振亚/冯增义:她的嫁妆还包括乡下的一座庄园和城里一幢相当不错的房子,他一直都在处心积虑地想通过某种合法的手续把这两处财产转到自己名下,他每时每刻都厚着脸皮跟妻子硬磨软泡,苦苦哀求,以期引起妻子对他的蔑视和讨厌,最后惹得她心烦意乱,只要能摆脱他的纠缠,就同意答应他的要求。 他这一手本来肯定能得逞的,但幸亏这时候阿杰莱达·伊凡诺芙娜的娘家出来干涉了,才使这个贪得无厌的家伙有所收敛。
荣如德:作为陪嫁,她还得到一个小村庄和一栋挺不错的城里房子,丈夫在很长一段时间内千方百计企图通过某项适当的手续把它们转到自己名下。他一刻不停地厚着脸皮胡搅蛮缠、软磨硬逼,惹得妻子对他鄙夷至极、讨厌透顶,以致心力交瘁,只想摆脱。 老实说,单单由于这个缘故,他本来十拿九稳可以达到目的,但幸亏阿黛拉伊达·伊万诺夫娜的亲属出来干预,那个贪心鬼才不得不有所收敛
臧仲伦:最后,她终于离家出走,抛弃了费奥多尔·帕夫洛维奇,跟一个穷得要命的神学校的教员私奔了,把一个三岁的孩子米佳留给了费奥多尔·帕夫洛维奇抚养。
耿济之:最后,她终于抛弃了家庭,离开费多尔·巴夫洛维奇,同一个穷得快要活不下去的宗教学校的教员私奔了,给费多尔·巴夫洛维奇留下了三岁的米卡。
徐振亚/冯增义:最后,她终于抛弃了这个家,离开费奥多尔·巴夫洛维奇,跟一个穷困潦倒的神学校教师私奔了,留给费奥多尔·巴夫洛维奇一个三岁的儿子米佳。
荣如德:后来,她终于离家出走,跟一个穷得叮当响的师范学校毕业生跑了,把三岁的米嘉丢给丈夫。
臧仲伦:费奥多尔·帕夫洛维奇在夫人出走后便立刻在家里养了一大群女人,大张宴席,大肆酗酒,而在吃喝和玩女人之暇,差点没跑遍全省, 眼泪汪汪地逢人便诉说阿杰莱达·伊万诺芙娜抛弃了他,还告诉别人任何一个做丈夫的都羞于为外人道的床笫细节。
耿济之:费多尔·巴夫洛维奇马上就在家里养了一大群女人,大肆酗酒放荡。间或清醒时,他就走遍全省, 含着眼泪对一切人抱怨抛开他的阿杰莱达·伊凡诺芙娜,还说出一些做丈夫的羞于出口的闺房琐事。
徐振亚/冯增义:费奥多尔·巴夫洛维奇马上把一大群姘妇领到家里,毫无节制地酗酒作乐,抽空还跑遍全省各处, 向碰到的每个人哭哭啼啼地诉苦,把抛弃他的阿杰莱达·伊凡诺芙娜数落一番,同时还详详细细告诉大家那些做丈夫的羞于启齿的床笫琐事。
荣如德:费奥多尔·巴甫洛维奇立即在家里养起了一大帮女人,成日价纵酒狂欢。在放荡的间歇中,他几乎跑遍了全省各地, 一把眼泪一把鼻涕地向所有的人哭诉阿黛拉伊达·伊万诺夫娜如何把他抛弃,同时还叙述种种细节,一个做丈夫的居然好意思细说自己婚后生活中的这些事儿,也太不识羞了。
臧仲伦:有些说话爱带刺的人对他说道: 「您呀,费奥多尔·帕夫洛维奇,倒像升了大官似的,尽管您悲悲戚戚,但样子还挺得意。」 很多人甚至补充道,他还挺高兴他这小丑换了副模样,为了招人笑,甚至还故意装出一副他没发现自己滑稽可笑的模样。
耿济之:有些好嘲笑人的人对他说:「人家以为您,费多尔·巴夫洛维奇,加官进爵了,所以您不管怎样悲痛,还是十分得意。」 许多人甚至补充说,他喜欢以丑角的新姿态出现,为了招笑,故意装出这副样子,似乎毫不在意自己的滑稽处境。
徐振亚/冯增义:那些喜欢嘲弄的人对他说:「您真行啊,费奥多尔·巴夫洛维奇,尽管您很伤心,可您升了官发了财,所以您很得意。」 许多人甚至补充说,他乐意充当一名面目焕然一新的小丑角色,为了使人们笑得更加痛快,还故意装出对自己可笑的处境满不在乎的样子。
荣如德:有些人当面挖苦他:「尽管您遭到这样的不幸,可是看上去那么扬扬得意,旁人还以为您费奥多尔·巴甫洛维奇做官了呢。」 许多人甚至还说,他对于自己能以翻新的小丑面目出现感到高兴,而且假装并没发现自己的处境有多么滑稽,那是故意让人觉得更加可笑。
臧仲伦:原来,这可怜的女人在彼得堡—她跟那个神学校的老师辗转来到了这个首善之区,无所顾忌地实行起了彻底的妇女解放。
耿济之:这不幸的女人同她的宗教学校教员到了彼得堡,在那里肆无忌惮地彻底「解放」起来。
徐振亚/冯增义:那个不幸的女人跟随自己的神学校教师辗转来到了彼得堡,并在那儿肆无忌惮地投身于最彻底的妇女解放运动了。
荣如德:原来这可怜的女人和她的师范学校毕业生已一起迁往彼得堡,她在那里无拘无束地过起彻底解放的生活来了。
臧仲伦:就在这时候,他太太的娘家得讯:她在彼得堡不幸去世。她死得似乎很突然,死在一个阁楼上,有人传说,她死于伤寒,又有人传说她是饿死的。
耿济之:就在这个时候,他的夫人娘家接到了她在彼得堡去世的消息。她好像死得很突然,就在一间阁楼上,有些人传说是由于伤寒,另一些人传说是饿死的。
徐振亚/冯增义:就在这个时候,他妻子的娘家得到了她在彼得堡去世的消息。她好像是在一个阁楼里突然死去的,有人说她死于伤寒,也有人说她死于饥饿。
荣如德:就在这个当口儿,他妻家获悉阿黛拉伊达·伊万诺夫娜已死在彼得堡。她不知怎么的一下子在某处的顶楼上死了,有的说死于伤寒,而另一种说法好像是饿死的。
臧仲伦:费奥多尔·帕夫洛维奇得知他太太去世的消息时正喝得酩酊大醉;据传,他当时跑上大街,快乐得向上苍举起双手,连声高呼:「如今解放啦!」
耿济之:费多尔·巴夫洛维奇听见他夫人噩耗的时候正喝醉了酒,据说当时他跑到街上,快乐得双手朝天,开始呼喊:「这可好了!」
徐振亚/冯增义:费奥多尔·巴夫洛维奇得悉妻子去世的消息时正喝醉了酒,据说他跑到街上,高兴得举起双臂大声喊道:「这下可好了!」
荣如德:费奥多尔·巴甫洛维奇是在酒醉状态中得到妻子死讯的。据说,当时他跑到街上,兴奋地高举双手,仰天大喊:「现在放开了。」(译者注:这是基督教会举行葬礼时所念悼文中的语言。全句应为:「主啊,现在你放开了你的仆人,使之平静地离去。」此处可以理解成费奥多尔为「上帝放开了他的妻子」或「妻子放开了他」而兴高采烈。)
臧仲伦:在大多数情况下,甚至坏蛋也比我们通常对他们的看法要天真得多和淳朴得多。我们自己亦然。
耿济之:在大多数情况下,一般人,甚至坏蛋,也常常比我们通常所认为的要天真烂漫得多。包括我们自己也是这样。
徐振亚/冯增义:多数情况下,所有的人,甚至坏蛋,也要比我们一般想象的更加天真幼稚,更加质朴善良。包括我们自己也是这样。
荣如德:在大多数情况下,人们,甚至恶人,要比我们想象中的他们幼稚得多、天真得多。其实我们自己也一样。
]]>许许多多的哲学家都在试图找(定义)这个超验的原因,在康德那是「自由」;叔本华是「意志」;尼采是「权力」;黑格尔是「绝对精神」……
然后我们回过头来,有人提出了另外的见解——「人生的意义」这个说法不成立[1]。当我们说「人生的意义」时,似乎真的有「人生」「意义」这样的东西存在,然而我们其实是被语言迷惑住了——我们像说「桌子上的书」一样来说「人生的意义」,在语法上替换词汇从而将「人生」「意义」这样的词汇具体化了。哲学家的任务不是解决这样的问题,而是找出这样的差异,消解它们。哲学就是一种治疗,把陷入这些问题的人解救出来——别纠结啦,「人生的意义」根本就不是问题。
但按照研究语言学的学者的说法,可以将「意义」的含义区分为作为结构的意义和作为动作的意义。
当说「人生的意义」时,是否可能拥有一个类似于「某人意图表明什么」这样的意思?也就是说「有没有一个告诉我们如何生活的条条框框」?
这样一来,我们将「人生的意义」又拉回到开篇的因果论问题了。
但让我们尝试从另一个角度思考,不假定这个问题后面一定有个源头——前面说过,当我们溯因时,要么没有答案,要么整一个超验的东西作为答案,比如上帝、自由……那么「也许存在着某种意味深长的叙事深植于现实中,但它不具有任何超人的源头。」比如马克思主义者不相信神,但「历史」对他们来说有其意义[2]。可能「人生的意义」就在这种模式当中?个人的意义通过这类宏大叙事彰显。
宇宙也许没有经过有意地设计,也肯定不是想表达点什么,但它深层次的规律仍显示出某种美感、对称和简洁,能令许多人感动落泪。
不过,意义一定是这样内在的吗?当从「内在」讨论时,有三种情况:
也许生命不过是进化过程中的偶发现象,它与一缕微风的起伏或腹中的一声闷响一样,没什么意义呢?而且是荒谬的无意义[3]——你因为曾错误地想象这个世界可能本质上具有某种意义,因此失望地发现世界原来并无意义。
为什么要失望呢?人生没有意义,我们可以去填充意义呀——就像食物吃完了就往冰箱装东西那样,解决方法明显掌握在自己手上。但这样的结论毕竟是经验性的,无法作为一个牢固的「内在」意义。如果人生要拥有某种意义,它当然不会是我们随意投射上去的。
比方说我们可以拿空调当武器砸开窗户——注入意义,但空调作为一个人工制品仍然有它本身的意义。当我们讨论「人生的意义」时,也许「人生」是被上帝或者其他什么力量所创造的,那么「人生」或许作为一件创造物有内在意义。
再换个方式来看。我们不去追问「内在」意义看起来是什么样的,而是考虑,或许意义是我们「建构」世界所得出的?
当讨论「建构」时,我们当然得先排除那些常出错的「主观诠释」——「你可以把老虎当作没有攻击性的动物,但会有被吃掉的风险」。人类可以自我决断——但只能建立在更深刻的对自然、现实世界的依赖以及人类相互依赖的基础之上。我为自己的人生所创造的任何意义,都在内部受制于这一依赖关系。我们无法从零开始。别人的人生意义、我的存在特征都会限制我的人生意义。意义——应该是我们与现实相互作用的产物。对意义的理解依赖于每个个体的创造,但每个个体的创造又依赖于对意义的理解。[4]我们没办法完全不考虑亲属关系、死亡、疾病等等现实因素。
我们向这个世界发问,这些问题当然属于我们,而非世界本身。但这个世界回应的答案之所以对我们有益,恰恰是因为现实总比预期的更加丰富。现实超越了我们自己对它的解释,还时不时粗鲁地对待或挫败这些解释。意义固然是人们所做的事情,但人们是在与一个确定的世界的对话中做事的,而这个世界的运行规则不是人类发明的,并且人们的意义要想有效,他们就必须尊重这个世界的本质和特征。
不管从哪方面讨论,总存在些诸如健康、幸福这样符合内在价值的范畴,且我们愿意选择作为生活意义的东西。也许我们可以从这种种意义中挑选捏合属于自己的独特人生?
我们聊聊这几种常见的说法:
「幸福」可以充当人生的意义吗?如果你生活在一个肮脏又拥挤的难民营里面,并且刚刚在一次自然灾害中失去了孩子,你基本上不可能感到幸福。也许一个人「抱怨的时候最幸福」「别人不幸福时自己最幸福」。
「权力」能构成人生的意义吗?没有权力的人都知道权力多珍贵——就像财富一样,只有那些拥有很多这一资源的人才有能力鄙视它。
「财富」呢?本该用于在某种程度上将人类从劳动的迫切需求当中解放出来的资本,现在却被用来积累更多的资本。
「爱」又如何?爱是一件令人劳累和沮丧的事,充满挣扎与挫折,而不是笑嘻嘻的、傻头傻脑的满足感。 有人花了一辈子爱孩子,牺牲自己的幸福,尽管这种牺牲也许带着幸福的名义;为正义而斗争,是爱的一种表现形式,但这会给你带来死亡的危险。
「死亡」呢?我们在世间忙忙碌碌,仿佛能永生——一旦意识到 你终将死去,你会选择过怎样的生活?
「欲望」呢?但凡有东西缺失,欲望就会涌上来。欲望与匮乏有关,它把当下掏空,以便把我们送到某个同样掏空的未来。
「精神上的沉思」呢?这是我们这些自诩「热爱阅读」的人最爱犯的毛病。把反思存在的真理当做人类最高尚的目标——这多方便呐,也许人生的意义就在于思考人生的意义这件事?它虽然是一种实践——但若是沉思到虚无主义、沉思到没有生活,那就很危险了。
「人生的意义」并非一个思辨问题,而是一个实践问题——我们通过语言来谈论问题,而语言通过行动诞生(想象原始人通过手势咿呀着交流)。当我们面临无限的因果链(意义是什么?意义的意义是什么?)时,最后的那个因一定是我们的行动。[5]
人类同属于一个自然物种,很大程度上具有共通性。如果人生的意义在于人类的共同目标,我们很容易基于「实践」推导出「爱」这种东西——人人为我、我为人人嘛。「爱」是我们调和个体实现和社会性动物之本性的方式,它表示为别人创造发展的空间,同时,别人也为你这么做。每个人自我的实现,成为他人的实现的基础。一旦以这种方式意识到我们的本性,我们便处于最好的状态。因为允许他人同样实现自我的方式实现自我,可以排除谋杀、剥削、酷刑、自私等因素。如果损害他人,长远地看也就是损害自我的实现,因为自我的实现必须依靠他人的自由参与。由于不平等的个体之间不可能有真正的互惠互利,以长远的眼光来看,压迫和不平等也会阻碍自身的发展。[6]
理想(但乌托邦式)的目标可能是幸福与爱的结合——每个人通过一种无目的的自我表达,自己幸福的同时这份幸福本身能给予身边人以爱,为别人的幸福做出贡献。
本文源于 人生的意义,有大量摘抄。如果文章有胡扯的地方,都是因为我功课没做足。若有人指正,感激不尽。
我觉得这对试图从对话中有所收获,而不是享受攻击的快感的人来说,确实是值得使用的讨论技巧。
比方说面对一篇文章,应当以最理性的方式[1]去理解作者的表达——想象这个常见的场景,读者批评作者「你怎么不说什么什么」——当遇到作者似乎漏掉什么时,最好合理地考虑「这点是不是对论证文章的核心观点无益?」而不是「你太无知了,这也不知道。」或者「你忽略了那些,所以这篇文章是在以偏概全。」
最近读到 Not All Men 为什么这么糟糕?,文章批评了在讨论女权主义议题时插嘴「不是所有男人」的对话者,因为这是在破坏对话。
文章写得很好,但它似乎并没有对「不是所有」这个说法做出回应,而是通过描绘一幅「这样会如何」的糟糕图景反过来说「不是所有」这种说法是不好的。因此文章读起来不是那么客气,而且似乎对它的标题本身避重就轻。
我觉得,严谨的用词在实践上并不是必须的——比方说讨论女权问题时表达者可以给所有涉及「男性」的地方加一个限定词「部分」——「部分男性」,但同理倾听的人也可以去理解表达者,将词汇脑补一个限定词使之更「严谨」呀。
我们拥有无数种方式指责表达者「不够中立」或「挑拨情绪」——对于想要好好讨论的人来说,这样的批评并没有贡献任何价值;而对于那些真正激进地宣扬「所有男人都该死」的内容来说,也不会因为批评而把口号改成「部分男人该死」——后者搞不好在义正严辞地反驳后还会加重「果然对男人就是不能讲道理、就是应该拨乱反正」的信念。
说「不是所有」——就好像我们可以通过区分找到真正的「敌人」。这种思路确实也很必要,但现实是这样说的人往往就只停留于此。当我们说「不是所有」的时候,是在尝试将「男性」这个群体进行划分,而划分不可避免会涉及到程度问题——哪一部分人更需要对此负责?
那些说着「不是所有」的人就有必要区分这一点,并对「哪一部分更」做出阐明,不然就只是在当讨厌鬼——否则就让我们在这个程度上先讨论下去吧。
「复杂」表现出三个症状:
Change amplification:一个看似简单的修改实际上却需要修改很多代码。
比如说多个网页有着同样的背景色,却各自单独维护,因此想要改变多个页面的背景色就得同时改动多个页面的代码——我们很容易想到,可以通过维护一个共享变量来控制各个页面的背景色,这样只需要修改一次就能满足要求了。
一堆字段重合度非常高的列表展示页,全都各自有一个页面。一次需求让将列表中部分字段脱敏展示,于是只能一个页面一个页面地修改。
Cognitive load:认知负荷,指开发人员需要了解多少前提才能完成任务。更高的认知负荷意味着开发人员必须花费更多时间来学习所需的信息,并且存在更大的错误风险。
Unknown unknowns:开发人员不知道自己不知道,他不知道必须修改哪些代码或者掌握哪些信息才能完成任务。
比方说网站使用一个共享变量控制字体颜色,但一些网页却单独控制自己的背景色。因此对于大部分网页来说,更改字体颜色后没啥问题,但对于一些有着特殊背景色的网页,则有可能出现原来的背景色对于现在的字体来说太亮,导致网页没有可读性的情况。而即使开发人员意识到这样的问题,也不清楚具体涉及哪些特殊页面,因此又需要花大量时间排查。
有次在项目 A 新增了一个异常码,而这类异常码会被另一个好久没动过的项目 B 用到,B 使用时需要将 A 的异常码转换成 B 的格式——没人意识到这点,结果问题在需求后期才暴露出来。
造成「复杂」的两个原因:
依赖关系:依赖不可避免,但应该尽量简单明了。
模糊:重要的信息不够明显就会变得模糊。比如变量名取的太通用了,完全搞不清楚它会被用于啥;(想象一个叫 data
的变量名)一个变量的文档没有说明单位,因此我们只能扫描代码看看使用这个变量的地方是怎么用的;模糊性经常和依赖关系相关,即依赖关系没那么明显——比如新增的错误码需要维护一个字符串,这个字符串对开发人员来说就没那么明显。
遇到过接口文档的一个金额字段的单位是「元」,而建表用的「分」。
]]>书中举的例子都太他妈真实了。
在 C 语言里遇到数组访问越界时,虽然编译可能会有警告,但代码是能成功运行的:
1 | int arr[3]; |
因为一个数组在计算机内表现为一段内存地址,当我们尝试越界访问数组时,实际上是在尝试越过那一段内存地址去访问别的内存地址上的数据——倘若我们尝试访问的地址是合法的,且又没做任何控制,那么自然也能访问到数据。
而在 Java 中类似逻辑的代码虽然能正常编译,但当 Java 虚拟机执行 class 文件时却会抛错 ArrayIndexOutOfBoundsException
:
1 | int[] arr = new int[4]; |
很容易想到是不是 JVM 层面做了什么控制——确实如此,比方说 hotspot 虚拟机里相关的控制实现如下:
1 | // hotspot\src\share\vm\interpreter\bytecodeInterpreter.cpp |
hotspot 将会判断访问数组的索引是否超过了数组的长度限制,若是,则抛出数组访问越界异常。
注意索引被转换成了 uint32_t
类型(无符号类型),因此当索引为负数时会被转换为相应的无符号类型数。Java 中数组的大小和 int 的取值范围有关,int 占 32 byte 大小,取值范围是 -2147483648 至 2147483647
,因此负数的取值范围为 -2147483648 至 -1
,相应的补码(用补码表示负数)的取值范围是 2147483648 至 4294967295
。
显然为负数的索引在这会被判断超过限制从而抛出异常。
但比如说在遍历一个大号数组的场景下:
1 | int[] arr = new int[999999]; |
既然数组的访问索引 i
的取值显然不会越界,那其实没必要每次访问数组的值时都进行一次越界检查——实际上 JVM 判断出这种情况后会进行「数组边界检查消除」的优化来减少性能浪费。
Java 是在 JVM 层面对数组是否越界进行判断的,而对于集合对象来说,则在 JDK 层面进行越界检查。比方说 LinkedList
的 get()
中的越界检查实现:
1 | public E get(int index) { |
就简来说,Java 中有三种 for 循环用于遍历集合对象。(下面的 two 和 three 一般统称为 foreach 或 增强 for 循环,我做下区分方便讨论。)
1 | // one 经典 for |
比方说 Iterable.java
提供的 foreach()
的实现简单好懂,其实是在 JDK 层面利用 Lambda 表达式做参数,封装了增强 for:
1 | // java/lang/Iterable.java |
增强 for 仍然是个语法糖,遍历集合时底层使用 Iterator,遍历数组时底层用的普通 for:
1 | // 集合 |
fail-fast 顾名思义,快速失败——让它崩溃!发现问题,马上让它暴露出来。
比如下面就是一个 fail-fast 的例子:
1 | void do(String name){ |
而 Java 集合中 fail-fast 体现为:当遍历集合对象时,若集合对象同时被进行了「结构性更改」的操作,则会抛出 ConcurrentModificationException
异常。
啥是结构性更改呢?
ListIterator (Java Platform SE 7 )
Structural modifications are those that change the size of the list, or otherwise perturb it in such a fashion that iterations in progress may yield incorrect results.
我觉得后面这段有点暧昧「或者以其它方式扰乱数组,以至于正在进行的迭代可能会产生错误的结果」,什么其它方式?以及,什么错误的结果?
我理解结构性更改的方式有两种:
至于错误的结果,按我的理解:
Java 实现 fail-fast 的方式很清晰——集合对象内提供了一个 modCount
元素保存对象进行结构性更改的次数。这样在遍历之前,会取一个 modCount
的快照作为期望值 expectedModCount
,每次访问时会判断这个期望值与当前的 modCount
是否一致。倘若不一致,这说明遍历期间有人捣蛋,则抛出ConcurrentModificationException
异常。
比方说 ArrayList.java
的 foreach()
实现:
1 | public void forEach(Consumer<? super E> action) { |
这里的 foreach 循环如果指前文提到的第三种遍历集合对象的元素,那就简单了。比方说上面 ArrayList.java
的 foreach()
实现,很明显会抛出 ConcurrentModificationException
异常——「为什么不要?」因为会抛异常嘛。
但倘若指前文提到的第二种遍历方式,即增强型 for 循环——则没这么显然了。因为增强型 for 循环实际上是 Iterator 的封装,因此需要到 Iterator 的实现里去看看会发生什么事。
举个例子:
1 | // one |
对比反编译后的 three 及其实现来看例子 one 和 two 的执行情况:
ConcurrentModificationException
异常。看样子仍然很危险呐——因此还是不要在 foreach 循环里进行元素的 add/remove 操作吧。
]]>马克斯·韦伯认为任何权力都不能持久地建立在强制或暴力基础之上,而必须具有合法性基础。在这个意义上权威即是建立在合法性基础之上的权力。从这一思路出发,韦伯抽象出三个理想化权威类型:传统权威、卡理斯玛权威[1]和法理权威。
在韦伯看来,某一支配形式有着其特定的权威类型和合法性基础,与其他合法性基础可能有着兼容的困难。例如,家长制支配形式依赖于传统权威。一旦把传统权威如长老权威放置在法理制度中(如一人一票的选举)就会产生紧张,其传统权威基础随之瓦解,家长制支配形式亦难以为继。同样的,法理权威也难以建立在墨守成规的传统基础上或者领袖的超凡禀赋上。
中国的皇权建立在传统权威与卡理斯玛权威兼而有之的合法性基础之上,即一方面来自传统权威的祖宗之法,另一方面来自君权天授的卡理斯玛权威,体现在德治天下。在这个基础上,皇位的嫡长子继承制度,在中国帝制中是天经地义的。而官僚体制的合法性来源于自上而下的「授权」,集中表现在「向上负责制」。
民主宪政的法理权威已经成为20世纪现代国家不争的合法性基础。建国伊始,新中国的合法性几无争议地建立在这一形式之上,体现在人民代表大会和党内外的选举任命等一系列制度安排之上。但在一个经历了数千年君主官僚制、浸濡于儒教文化中的传统中国社会,法理权威并没有真正植根,所以,在国家运行的实际过程中,执政党并不是将其执政合法性基础建立在法理权威之上。而中国历史上皇权的另一个合法性基础——卡理斯玛权威——以新的形式成为执政党的实质性权力依据。
当代中国国家的合法性建立在以法理权威为表、但更多地表现出卡理斯玛权威为实的混合型基础之上。 法理权威与卡理斯玛权威混合兼容的合法性基础在当代社会时常可见。但在当代中国,这一混合型基础中的两种权威未及交融熨合,法理权威根基肤浅而卡理斯玛权威强势以行,后者的意志几欲冲破前者的羁绊;这些紧张一直存在,暗流涌动,并时常以极端形式爆发而出。
卡理斯玛权威的核心是,领袖以其超凡禀赋而得到追随者的拥戴和服从;而领袖则通过不断地创造「奇迹」来显示其超凡禀赋,以延续和强化这一合法性基础。
艾森斯塔德指出,在卡理斯玛权威体系中,追随者的角色意义重大。正是追随者对这一社会秩序的接受和追求,对超凡能力的期待和认同,提供了卡理斯玛权威的基础。换言之,卡理斯玛权威的有效性来自各层官员以及民众对这一权威的认可和服从。一旦卡理斯玛权威建立,在领袖与追随者之间关系中,领袖不是体现或表达民意,而是指出追随者的义务和责任; 官僚体制则是按照卡理斯玛权威的意图和指令行事的一个组织机器。卡理斯玛权威需要不断的「奇迹」和各种神秘化仪式来维系和强化人们对君王的超凡禀赋的认同。
卡理斯玛权威有着内在的不稳定性和延续的困难,因此可能会经历一个「常规化」的过程,即将超凡禀赋领袖的个人魅力转而一直到稳定的组织设施上,使得这些组织设施具有卡理斯玛权威的秉性,涂上「神圣化」的色彩。
在当代中国,执政党正是卡理斯玛权威常规化的具体体现。从象征意义上来说,执政党与卡理斯玛超凡禀性如出一辙;执政党被赋予了无可替代的内生的领导能力、纠错能力、更新能力。而执政党的有效组织、严密纪律、统领全局的能力为卡理斯玛权威提供了稳定的组织基础。
正是执政党的卡理斯玛权威为专断权力提供了合法性基础。既然执政党有着超凡禀性的卡理斯玛权威,那么它在领导民族大业、驾驭常规权力、动员资源、顶层设计、统筹安排诸方面则义不容辞,可以在很大程度上替代和排斥现代社会中法理权威的出现。如此,它具有专断权力的合法性基础,在必要情势下叫停常规权力,或者将常规权力的运行状态切换到变速器的不同挡位。我们不难看到,在这里卡理斯玛权威的延续不再是与传统合法性交融铸造,而是建立在现代组织制度之上。
卡理斯玛权威的常规化不仅需要稳定的组织基础,而且需要建立在社会中心价值之上。如果放任意识形态「自由化」或多元化,就会对隐含着卡理斯玛权威的组织制度产生疑问,削弱或挑战其权威性。
在当代中国的国家支配形式中,国家与民众的密切关联是卡理斯玛权威的合法性基础,是执政党行使权力的合法性诉求基础。官僚体制对这一合法性诉求,从两个方面提供了有力的支持:
其一是组织上实现意识形态一统化和话语垄断权。卡理斯玛权威建立在追随者对其超凡禀赋的信仰之上;不难理解,任何挑战卡理斯玛权威的话语都会弱化甚至瓦解其合法性基础,因此话语垄断权是维系卡理斯玛权威的关键所在。 建国以后,国家逐步通过官僚体制介入、控制以至垄断意识形态相关的领域,有效地杜绝了质疑或挑战卡理斯玛权威的潜在可能性,如此制度安排可以说是这一支配形式的逻辑结果。
其二是通过官僚体制将民众组织起来,以稳定的组织形式来保证民众与卡理斯玛领袖的密切关系。在这里,组织纪律成为卡理斯玛权威的重要手段。在中国,这一组织形式达到了历史上前所未有的程度,从城市到农村社会的各个领域和角落都被高度组织起来了。革命教化的向下渗透与组织起来的社会相得益彰,成为执政党的日常工作环节。各级党务部门和管理机构有着特设的宣传部门、政治工作部门,其职责即是通过一系列的组织起来的政治活动,如动员、讲用、交流、政治教育、整党整风等等,将一般民众通过工作单位、居住组织引入到政治教化过程中。简言之,政治教化不再如帝国时代那样是寓于日常生活中的仪式象征和道德约束,而是建立在一个严密组织的官僚体制基础之上。
这并不是说,执政党及其领袖的所作所为总是在理性地、有意识地构建其卡理斯玛权威。 在实际运行中,这些做法更可能反映了执政党及其领袖在推行其政策、实现其抱负时尝试不同策略的试错过程,从而存优去劣的结果。有心种花也罢,无意插柳也罢,随着国家治理深度和广度的延伸,中国官僚组织的规模和复杂性在当代都有了史无前例的扩展,其特定的内在机制、行为方式以空前未有的程度充斥于社会各个角落。
国家治理的诸多机制大多是在用「官僚机器以实施其意图又不得不『治』官僚体制偏离其意图」这一矛盾中产生的。
在当代中国的国家建设过程中,执政党领袖试图有针对性地解决这些矛盾紧张。其中一个做法是试图将执政党与实际运行中的官僚体制加以区分,将执政党抽象化、卡理斯玛化,因此与后者出现的诸多问题区别开来。 毛泽东在批评官僚体制问题的许多场合中,时常首先强调执政党的伟大光荣正确,然后提出这些官僚体制问题违背了党的路线方针,需要通过整党整风乃至各种政治运动来解决。这些做法虽然奏效一时,但无法真正解决这一制度上的紧张。随着官僚体制在社会各个领域角落的延伸,它在民众日常生活中几近无所不在、无时不在,其弊病也为人们切身感受到。既然卡理斯玛权威建立在其追随者民众的信念之上,官僚体制作为国家执政工具,其组织失败不可避免地会引起人们对体制中最高权威的质疑,因此动摇卡理斯玛支配形式的合法性基础。
在中国融入世界的开放时代,执政党及其领袖的政绩也在不同社会的比较之下经受着经常性的竞争压力,卡理斯玛权威难以维系。尤其是随着中国社会本身的多元化发展,卡理斯玛权威的两个制度设施即高度一统的观念制度和严密的组织制度在改革开放时代都有了极大削弱,卡理斯玛权威所依赖的领袖与追随者之间的认同、服从的纽带已经难以为继。执政党也在努力寻找新的合法性基础,从「党和国家领导人」的任期制,到强调法治、建立健全规章制度等一系列举措来看,这是一个从卡理斯玛权威转向法理权威的过程。
但是,历史的途径依赖力量是强大的。已有的组织的、利益的、观念的制度力量仍然试图补苴罅漏,修复旧的框架,因此许多做法表现出重新加强卡理斯玛权威的努力,例如强化在意识形态领域中的管控,强化政治教化方面的一系列努力等。改革开放时期执政党的拨乱反正得到民众支持,经济起飞的政绩表现、民众生活水平的极大提高,这一切也引导着执政党沿着卡理斯玛权威的轨迹走下去,通过经济发展的「奇迹」来重建其合法性基础。 在短时期内无法构建新的合法性基础的困难中,维系和强化卡理斯玛权威的努力似乎成为执政党不得已的抉择,但又是最为得心应手的应对策略。
但近年来,卡理斯玛权威无可奈何地日渐式微,体现在一次次试图整治官僚体制的努力与失败中,以及针对官僚权力的整治力不从心的无奈境地。如此,近年来的国家建设出现了一个危险倾向,即官僚权力在其约束条件缺失的情况下急剧扩张。
但是,中国毕竟进入了21世纪。社会不可抑制地向多元方向发展起来,与力图统领和规制社会的官僚体制不可避免地发生了磕磕碰碰,甚至激烈冲突。在这个过程中,民众再次凸显出来,但今天的民众不再以卡理斯玛权威的追随者角色出现,而是公民权利、法律面前人人平等的基础之上发出声音,挑战着卡理斯玛权威及其官僚体制的合法性基础,推动着执政党由表及里走向法理权威。 近年来,各种社会矛盾,如社会不平等、民众与官僚体制冲突随着经济发展而显露出来,以国家政策和官僚体制为主体的资源分配机制成为人们的关注焦点,引发了对国家支配形式和官僚体制权力的种种质疑和抗争。可以说,今天卡理斯玛权威已经不足以提供稳定的合法性辩护,国家治理的合法性基础成为亟须回答的问题。
本文摘录自中国国家治理的制度逻辑 (豆瓣)
Charismatic authority:又称魅力型权威 ↩︎
比方说打印机同一时刻只能被一个应用程序调用,这便是进程层面的资源竞争;我们说「进程是资源分配的最小单位;线程是 CPU 调度的最小单位。」在同一进程的多线程环境下,便有可能发生线程层面的资源竞争;同理,在多机环境下也有主机间竞争资源的情况。
拿使用打印机这个场景来说,倘若同时有两个进程操作打印机,一定会导致打印出来的东西一团糟。= =!对这类情况来说,要实现资源的安全使用,必须保证同一时刻只有一个角色使用资源。要达到这一点可以从角色和资源两方面来考虑:
比方说具体到 Java 在 JDK 层面的锁实现 ReentrantLock.java
:
1 | final boolean tryLock() { |
可以看出,当一个线程尝试获取锁时,会先判断当前资源的状态是否为 0(未使用),是的话将之设为 1(已使用),这时别的线程就没法使用这个资源啦;否则说明该资源已被别的资源占用,这个线程就暂时没法使用该资源啰。
对于集群来说,利用 Redis 为多机环境实现锁,原理和上面一致,一个简单的伪代码实现如下:
1 | public boolean tryLock(...){ |
SETNX
的意思是「SET if not exists」,命令在指定的 key 不存在时,为 key 设置一个 value 值,若成功返回 1;若失败返回 0。
Redis 提供的 SETNX
与 ReentrantLock.java
中的 compareAndSetState()
效果一样:先判断能不能设置值,能的话就设置值并返回成功,否则返回失败。对应到业务逻辑就是 先判断锁是否已被占用,若没占用就加锁并返回成功,否则返回失败。 同时,这两个命令都是内部实现的原子操作——判断、设置是两个动作,为了避免这两个动作中间被别的角色插足产生问题,就必须保证命令是一个原子操作。
多机环境对资源的竞争可以从两方面入手做限制。一是具体到真正影响资源的层面。比方说多台机器竞争的是同一个数据库里的数据,可以在数据库层面使用锁来防止资源竞争导致的问题;二是在多台机器的上层再做一层抽象,引入一个统一的资源调度——比方说在多机之上利用 Redis 设置分布式锁来管理多机环境的资源竞争。
在更上层做抽象可以减轻下层的压力。比方说有两个删除同一资源的操作同时走两台服务器去执行——显然这两个操作其实只用执行一个,我们越早确认这一点就能越早放弃其中一个以避免它再去服务器执行一遍,浪费资源。
「使用资源」这个说法太宽泛了,比方说 A 在读一个资源时 B 也来读其实不会有啥安全问题,若因 A 在读一个资源就将该资源上锁,其它的 B、C……就都得等着 A 释放资源,反倒降低了效率。
因此有必要对「使用资源」的情况一一进行分析,并针对不同的情况使用不同的策略以提高效率。
比方说从「读资源」「修改(写)资源」分析,可以有如下概念:
上面聊这些概念时都假定了同一时刻会有多个角色访问资源的情形,要是我们再乐观点,考虑「一个资源会有被并发访问的可能但多数时间都不会到这一步」等特殊情况,就可以再为此做一些优化,减少对锁的维护所消耗的资源。
比方说 Java 里有四种锁状态:
在轻量级锁与重量级锁之间还会有一个「自旋」的操作。它假定「产生了资源竞争,但锁占用时间不长」,那么线程便尝试通过自旋来获取资源,以优化线程切换造成的资源浪费。
我们又怎么判断「应该自旋多久呢?」虽然通过自旋可以减少线程阻塞导致线程切换使用的资源,但要是锁持有时间确实比较长,那么自旋操作反倒因为线程的空等待浪费了资源。针对这一点,JVM 假定不同线程持有同一个对象锁的时间基本相当,会根据上一次自旋的时间与结果来调整下一次自旋的时间。
另一方面,我们应该使用什么策略来分配资源呢?比方说我们可以使用「先来后到」的资源分配方式,但对于不同的场景,这种策略不一定总是高效的。从这个角度考虑,可以引出:
一方面将资源有所侧重地分配可能在业务流程上更高效;另一方面,比如一个线程来竞争资源时,如果直接将资源分配给它,就能减少从另外一堆线程中将某个线程从阻塞唤醒的线程切换动作,节约系统资源。
在计算机里,我们「使用资源」时往往操作的是这个资源的缓存。例如操作系统层面有主存和缓存;JVM 层面有主存和工作内存;应用层面会为数据库引入 Redis 等做缓存,数据库自己可能也带有缓存机制。
例如 JVM 在 JMM(Java 内存模型)定义所有的变量都存放在主存(物理内存),每个线程都有自己的工作内存(高速缓存)。倘若一个线程修改了自己缓存中的值,那么就可能涉及到两点:
为此,JMM 规定了三点:
类似的,在操作系统层面通过内存屏障来保证数据一致:
比方说应用层面可能有些对数据的一致性要求没那么高的场景,可以在缓存使用定期从主存更新数据的策略。若有要求呢?可查阅 2PC、3PC 等一致性协议及算法。
拿 JDK 层面来说,多线程对 int 类型的值做计算是不安全的,因为会有多个线程同时对各自缓存中的值做计算,再同步回主存的情况。由于它们各自独立计算再往主存同步,相互之间没有交流,导致部分线程的计算操作没有被继承,而是被覆盖丢失了。
为了避免这种问题,需要将每个线程的每次计算操作当作一个「原子操作」来进行,即每次线程切换时,能保证我这次计算已经作为一个原子操作执行完了(更新到主存)。
对于这类问题,操作系统是通过「总线锁定」来解决的。在操作系统层面,数据间通过总线来通信,一个 CPU 想要改变某个共享数据时,会通过总线通知其它 CPU 不可使用该数据。
而在 JDK 层面引入了原子操作类,通过 CAS(compare and swap)保证做计算操作的原子性。简单来说,每个线程尝试对缓存中的数据进行操作前,会以自旋的方式不断拿一个预期值(当然是此时主存里的值)去和缓存值做比较,如果两者不一致,就说明主存里的值已经被别的线程改动过了,当前线程应该等待缓存被更新为最新的值再去做计算。若一致,则说明现在缓存里的值可能是最新的值,当前线程可以对数据进行操作。这个比较并计算的操作(CAS)是利用指令层面的特性实现的,能保证原子性。不过 CAS 也有一些细节上的问题:
事务也需要保证原子性——一个事务内的操作要么全部执行成功要么全部失败。在并发编程的概念中,原子性包含「原子操作」与「操作互不可见」两点,而事务中的原子性只有「事务中的操作作为原子操作」一点,「操作互不可见」单独指「隔离性」——一个事务所做的修改在最终提交以前,对其它事务是不可见的。
和上面的场景类似,事务也会有并发的情况呀——由于事务的粒度比较大,拿来分析资源竞争产生的问题就比较清晰。
事务可能会产生以下四种并发一致性问题:
事务和其它资源竞争的场景一样,倘若只有读的操作,就不会出现冲突了……针对并发不一致问题,数据库会有四种不同程度的隔离级别:
可见「串行化」是以「并发转串行」的思路来解决并发竞争资源的问题的——实际上是通过加锁机制实现。四种隔离级别中也只有「串行化」是从根本上解决「事务竞争资源」这一问题。但「串行化」对性能损耗较大——针对一些要求低点或者我们能确保不会出问题的的场景,就可以选择其它的隔离级别。
具体到某种事务隔离级别是怎样通过锁来实现的可以参见 MySQL 的 MVCC 机制。
与其它多机环境一样,事务也会有分布式事务的场景。比方说跨行转账业务——银行 A 扣钱,银行 B 存钱。这也必须作为一个原子操作进行。关于分布式事务如何保证 ACID 可见 XA、Saga 等。
]]>挺让我惊讶,原来 Java 里的方法大小是有限制的——编译后的字节码大小不能超过 64kb。
JVM 规范 Chapter 4. The class File Format 在 class
结构的 method_info
(方法信息)里定义了一个 u1 类型[1]的数组来保存该 Java 方法编译后的数据,这个数组的大小由一个 u2 类型[2]的变量确定。
1 个 u2 类型的值占 2 byte, 2 byte 就是 16 bit(位),16 bit 所能表示的最大值是 2 的 16 次方——65536。因此一个 u2 类型的变量的最大值就是 65536,所以这个数组也就最多只能保存 65536 byte,即 64kb 的数据。(1 kb = 1024 byte)
这个错误虽然可以在编译期间暴露,但 JVM 并不能保证它加载的 class 文件都是满足要求的,因此在加载 class 文件的验证阶段,还会对该数组的长度进行检查。
除了普通方法外,构造方法、初始化代码块也受到此限制。
初始化代码块为什么也受到此限制呢?我猜测初始化代码块在 JVM 层面还是当作方法来使用的。
同时,如果一个 Java 类里有多个初始化代码块,虽然每个代码块里的代码没有超出此限制,但当它们之和超过该限制时,也会编译报错「代码过长」。我猜测多个初始化代码块在 JVM 层面会被优化成一个方法来使用。
代码块保存在 JVM 的哪块区域?
比如:
1 | public class DayOne{ |
更有趣的是,Java 中数组的大小理论上与 int 的取值范围相关,但实际上可能在初始化数组时,还未达到最大容量便报错「代码过长」:
1 | { |
类似的,JVM 规范 还介绍了「类或接口可以声明的字段数量限制在 65535」「方法参数的数量限制为 255」等情况。:)
不如使用邮箱的别名来完成。
Gmail 支持用加号创建别名。对于 A@gmail.com 来说,A+a@gmail.com、A+b@gmail.com 都是合法的别名,发送到后两个地址的邮件都能被 A@gmail.com 接收。
可以用 A+sub@gmail.com 来订阅信息,然后新建规则将发送到该地址的邮件移动到某文件夹。同理用 A+reg@gmail.com 作为注册专用邮箱等。
其它邮箱服务也大多支持别名,域名邮箱也可以自定义许多邮箱地址,但似乎都没 Gmail 「+任意字符」方便。但对于「订阅信息」「注册账号」两个场景,手动建两个别名邮箱也还好,一劳永逸嘛。
部分网站不能正常识别带「+」号的邮箱,大概是用正则表达式校验邮箱格式了。在这看到一篇建议不要使用正则表达式校验邮箱的博文——因为即使把正则写得非常复杂也很难满足所有情况。不如向这个邮箱发封确认激活的邮件。
下次遇到正常邮箱校验不通过的情况,可用该理由向网站管理员布道。😂
]]>陀思妥耶夫斯基在《地下室手记》描述了相似的困境:
一个人要开始行动,就必须事先完全心安理得。实干家们之所以充满干劲,是因为他们把最近的、次要的原因当成了初始原因,于是也就比别人更快且更容易地相信自己已经找到了无可争辩的基石。
但「任何一个初始原因都会立刻连带地拽出另一个起始更早的原因,如此等等,以至无穷。」
譬如说「报复」,一个人之所以要报复,是因为他认为这样做是对的。也就是说他找到了初始的原因,找到了「行动的基石」。因此他各方面都十分心安理得,报复起来也就十分从容,因为他坚信自己在做一件光明磊落而又十分正义的事情。
而你——却从中找不到任何正义性。因此说要给「报复」找一个行动的基石,那只能是「愤恨」。愤恨足以战胜一切,包括所有的疑虑。但一个人若是连愤恨都没有,那又该如何?
逻辑上讲,原因之下总还有个导致这原因的原因——愤恨由于意识到这一规律而消散了。你找不到理由,找不到罪人。
于是你不妨盲目地听从自己感情的驱使,不要发议论,不要寻找初始的原因。驱散自己的意识,去恨或者去爱——只要不是无所事事地坐着就行。或者你知道这只是明明白白地自欺欺人,于是什么事也不做。
《罪与罚》可以说是这个困境的扩写,我们能看到主角是如何尝试从这条没有尽头的困惑中解脱出来的,他迫切地想要投入到生活里去,却因此杀了人,犯了错,且没法「明明白白地自欺欺人」。
依据狭义科学的定义,哲学、逻辑学都被排除在科学的范畴之外。
对心理学知识的科学性的划界,不能等同于对心理学与伪心理学的划界,这个划界标准不能作为判定心理学知识合法性的标准。正是从这个意义上讲,精神分析属于非科学心理学,但却不属于伪心理学。心理学作为一个独立的学科体系,它的合理结构既需要「科学」成分,也需要「非科学」成分。
在心理学科内部,导致方法论误用的根本原因,在于将科学心理学的知识视为了心理学知识的全部,并用评判科学与非科学的标准,来评判所有心理学知识的「真伪」。
对心理学而言,要走出这个困境,首先要改变通过方法来界定学科的现状。本学科的独特价值不取决于共有的方法,而是独特的研究对象。 人性论取向才构成心理学作为独立学科的合法前提,而不是方法论。
人性论为心理学提供了属于本学科的本体论承诺[1]。 要获得这个本体论承诺,心理学需要重新审视「人性」与「物性」的本质区别,才能在此基础上重新审视并设计出更加适合探究人性的方法论基础和具体的研究技术,才能让本学科在本体论承诺方面实现理论自觉,才会让心理学不会满足于对其他成熟自然科学的外在模仿,从而建构起作为独立学科的坚实基础。
至于本体论承诺从何而得,除了考察「人性」与「物性」的区别之外,借助历史上重要心理学思想家们的观点,可能为我们提供更多的启发。
蒯因《论何物存在》 ↩︎
效率至上,时间宝贵,人们要评分最高的产品、在网红列举的清单挑礼物、转发评价对时事表态;容错率低,无暇他顾,大家购买真正的自己、询问微笑的最佳实践、在被安排好的与众不同里生活。如果事态严重到需要紧张的现代人亲自读书——那说明可能真的有大问题了。社交网络不能抚慰,意见领袖没法回答。
说自己的经验偶然和某个段落契合意识到「读书有用」;说读过却忘记了的书籍会成为气质的装饰。为读书正名,说通过它学习知识、增进理解力、娱乐放松、升职加薪;替阅读祛魅,说它再普通不过,不是争夺话语权的工具。辩论书籍的独特,说它信噪比更高、更能激发读者的联想、锻炼人集中注意力;呼吁大家「读书吧」!批评媒介,说短视频肤浅、网络真假难辨。讨论实体书与电子书、争辩胶版纸和轻型纸、收集断版书和精装本;拆腰封、包书皮、刷书边;吐槽出版、赞美译者;买如山倒、读似抽丝。
透过「读书」一词,能望到真挚和表演的来路,天真或好奇的去处。当抛开形式的浪漫,剩下的读书人往往都是可怜人。问题引出问题;越求知越无知。有时候「读书」像是厄运,无数的问题时不时冒出来敲打你的头盖骨;有时候带来痛苦,思想如爱人死去;有时候需要你赤身露体,将自己掰碎揉进字里行间。
互联网的便捷多残酷啊,轻而易举地把「读书」带来的部分优越感压得粉碎。新鲜的信息以秒速被推送至眼前,无数的聪明人推销着自己的观点。这个世界好像变得越来越简单了,一切事情都可以用几套流行的框架解释——问题出在这些人是好人,那些人是坏人;这件事情不言自明,那件事情太复杂没法讨论……
无数的,那些现实与书本的凿圆枘方被坦荡的利己主义自洽,好奇心抛弃了大人。只剩下自说自话和寻找认同,没有交流、没有讨论。现实的喜悦和痛苦要被降纬成数字才可以言说,争吵对词汇的理解,没有相通的体验。
是现在如此还是向来如此?张开嘴询问却发现还不如读书,书里有激昂和斥责,有更真实的反馈。
]]>在这本书里,理解力被置于一个很高的位置。如果读者不认同或者不能把握这一点,那文中关于阅读的几个层次、如何挑书、如何阅读等内容就会显得很鸡肋。但若是读者对这个观点感同身受,整本书就几乎没有废话,完全是一本可操性非常强(如作者分类方式下)的「指南」而非枯燥的「理论书籍」。
但作为全书基础的「理解力」并没有一开始就被长篇大论——「理解力」为什么重要?——而是融入在整本书关于知识论的观点中——《阅读》一书的「知识」基于理性主义,认为我们可以通过推理由一些有共识的意见得到新的知识。然后从掌握知识这一点聊到记忆和理解。记忆是理解的基础;理解能更好地帮助记忆。
虽然市面上充满了包装知识分子态度和观点的商品,大家无需思考就能轻而易举地做出结论,但「知道」并不是理解的先决条件,知道的太多——泛滥的资讯甚至会阻碍我们的理解力。
《阅读》借蒙田的名言「初学者的无知在于未学,而学者的无知在于学后」批评了「观点遍历」式的阅读——以为读得多就是读得好——因此在阅读时有必要区分出各种不同的阅读形态,以把书读通而不是浮于表面。
然后《阅读》详细地阐述了他定义的几个阅读层次:基础阅读、检视阅读、分析阅读、主题阅读;并按书籍类型区分,通过实例讲解阅读不同读物的方法。
我们的目的是为了增进理解力或掌握知识——因此并不是说《阅读》划分的几个层次就代表了某种权威或者最佳实践,这个划分在《阅读》的表述里也并不就是最终的结果——它是为了让我们把握自己阅读效果搭建的理论框架,方便我们把书读透彻,理解作者通过书籍所做的表达。
但理解只是阅读的第一步。当理解了阅读的内容后,我们需要继续利用自己已有的知识、经验去与它碰撞。一本书要是主旨没有理论基础,那就可以看作是个人意见。 我们首先要分辨的就是这一点——作者表达的是理论知识说明还是个人观点?如果读者无法区分这点,就无法从阅读中学到任何东西。他感兴趣的顶多是作者个人,把书籍当作个人传记来阅读啦。比如现在许多无意义争论的基础:这是公众号发的养生秘方、某某某就是这么说的……
读者通过与作者思想的交锋来提高自己,首先应当诚实:
并尽可能减少偏见:
我们不是为了寻找认同或批倒对方而阅读的。
当读者确定了解作者的表达后,就可以参与进讨论,和作者或其他读者交流。如果读者仍认为作者的表达有问题——可以用以下概念说明:
读者通过理解、内化、交流三个阶段来通过阅读提高自己——当我们带着这样的目的,书籍自然就会有高低。《阅读》提到了「书的金字塔」,这个说法也很老生常谈——真正重要的书籍只占金字塔顶端非常小的一部分。让我们看看《阅读》是如何聊这一点的:
罗季昂有一套自洽的「平凡的人与不平凡的人」理论,在这套理论下,杀人被他正当化了——那些推进世界的不平凡的人可以为了理想干任何违法的事。但这种想法其实并非罗季昂所独有的,比如他在行动(杀人)前就在饭铺听到有年轻人聊着类似的东西。谁不会有各种异想天开的想法、疯狂的想法、自洽的想法。可为什么他能如此义无反顾地去实践呢?
他思考得太多了,而且他意识到自己思考的太多了——思考对他而言成了一种巨大的内耗。他试图从这条没有尽头的困惑中解脱出来,迫切地想要投入到生活里去——杀人这件事对罗季昂而言就更像是一个测试,验证他是否是自己理论里的那种「不平凡的人」。如果他是,那他就可以毫无顾忌地朝着这个目标——以「不平凡的人」的方式「生活」。
他失败了。
罗季昂对自己杀人这件事并不感到愧疚。整本书一直推进到最后他自首、被流放,他也仍然相信着自己的理论。他不觉得自己的行为本身有什么错误——诚恳地说,认错这个行为对他来说并不难,谁不会犯错?但悲哀的是,即便他能毫无保留地坦白自己犯下的罪(无非是承认自己做过的事罢了),可他确实完全从心底里不认为自己做错了,也不因此而感到悔恨。他活在自己的理论里,那套理论完备、自洽。无论罗季昂怎么思考,最多也只能得出如果有错,也只错在他没有坚定下去。
但普世道德在追问他,生活在不断拉扯他。他的感受,真切的感受与理念上的冲突在动摇他——即便在他的逻辑里,杀人可以在某些情况下具有合理性,但当他在真正实施这个行为的时候毕竟还是无法心无波澜。
难道他在杀人之前意识不到这些吗?不是的。罗季昂当然知道如果对「平凡的人与不平凡的人」这套说法追问下去会引出「你怎么有权利掌握别人生杀」等问题——但当你质问自己这个问题的时候,就已经表示你没有权利了。于是可怜的罗季昂啊,他大概以为这世界的糟糕就源于没有人真正去做——而去做明明那么简单,只要你有勇气弯腰,就能拿起权力——于是他去做了,可他做的不彻底。他照着聪明人的方法行事——他毕竟还需要逻辑,不能完全舍弃良心,于是他失败了。
他把自己的失败归咎于犯罪的不完美以及犹豫——但既然失败了,他为什么要自首呢?他明明可以通过自杀解脱,为什么还要活下去?为了什么而活下去?是他的怯弱和虚伪吗?还是说他真的错了?有另一种生活?
他不知道。
罗季昂无法接受为了生活而生活,他需要给自己找个理由——但他鼓起勇气投入自己以为的那种生活时,却犯了大错。他当然是迷茫的,即便他的那套理论是对的,至少现在确定了那套理论不适合他。我们看到罗季昂最后似乎被索菲亚,以及她代表的基督精神救赎了。活在现世的人没法理所当然地接受别人的牺牲。罗季昂花了很大的力气试图和那些不可避免的、被动的关系或接触分离。他不能接受妹妹为了自己牺牲感情;他故意冷漠对待索菲亚的关切。可索菲亚,这个天真的女孩呀。她那么无私、宽容、坦诚地生活在世上,那么勇敢地「爱」着罗季昂。罗季昂终于无法对这一切无动于衷,愿意去面对这无法避免的接触,愿意去解决这个真实的「问题」,愿意去爱,愿意去体会索菲亚的信仰。
也许最后的那个梦算是罗季昂的一个论证——「想象一个人人都以为真理掌握在自己手里,人人都不愿意去理解别人的世界。」我们的主角大概就试图通过爱去理解别人,因此愿意去了解别人的信仰。
但让我们暂时抛开逻辑吧,生活也需要一点浪漫主义。没关系,这个过程本身会耗尽我们在此岸的时光。
]]>想想这些言论——「请你理性一点」「大人不记小人过」「相信 XX,不要过激」……它们似乎暗含了「愤怒」等情绪一定是「不理性的」这一前提。
而即便许多明确希望有所收获的对话场景里,也能见到一些不那么温和的行为——投诉信里看起来「阴阳怪气」的用语,谈判时故意展露的愤怒……它们也是「不够理性」、「不好好说话吗」?
很多人会说「情绪化」是自己理性的选择,因为他们面对的那一方是错误的。既然它是错误的,那我凭什么还要理性?又或者也许他们尝试过好好说话,但是并不起作用——所以在这种场景里,我要通过语气、表情、沉默……来让对方重视我的表达。
当说「你真是不可理喻」的时候,有没有意识到「不可理喻」本身就是对方表达的一部分?
比方说在一段感情里,通过「对方不够理性」来让自己自洽,从而拒绝理解,忽略对方的诉求——这有让事情变得更好吗?
我甚至更偏爱这样的表达——它带着情绪。这至少表示对方还在尝试沟通。让我们转向另一个场景,他们表现得温和「对对对,你说的都对」——这和「你是个傻逼」似乎没什么区别——至少效果一样,都是在拒绝理解的可能。
前阵子看到有两位我都很尊重的开发者就「抄袭」进行了一番很得体的争论。你来我往,彼此就一些点进行回应,但讨论不可避免地走得越来越远,以至于双方都需要在最后来一段「我总结一下……」即便如此,问题也只能停留在两人自说自话的程度。与其说这是对话,更像是一场辩论——两人没有达成一致,没有得出新的结论。看似在理性交流,结果(也许不如他们预想)变成了表演赛——过程留给吃瓜群众欣赏以站队。
理性的对话为什么会失败?我认为有三点:
无限制的扩展
比方说你发表了一番关于「XX」的看法,然后对方提问「你怎么定义 XX?」即便你再次回复了「XX 如何如何」,对方还可能会以「你说的 XX 不是我认为的 XX」将对话停止;又或者继续追问「那你又怎么定义 XX 中的 YY 呢?」将表达进行没有尽头追问。
——如果你参与讨论的目的不仅仅是「寻找认同」,那么就应该学习怎么当一个合格的读者。停在某个可接受的模糊,尝试体会表达者的思路。
批判性思维的滥用
现在的网络环境似乎并不缺少批判性思维——你在表达同情的时候会有人批判「万一还有反转呢?」你批判的时候也有人批判「会不会是某某势力?」
大家太有逻辑了,说的话确实无从反驳——你怎么能够反驳那亿万分之一的可能性呢?
想让理性的讨论真正有效,至少应该明白自己的目的——参与讨论的目的是什么?说服别人、改正自己(可能)的错误、收获新的视角?
亿万人在网络上无方向地大声嘶吼,你因为碰巧听到了一句便武装起「理性」前去想要辩个所以然——这怎么可能有所得。
说服别人只在谈判有用,你大可以利用所有技巧发挥手段——但并不是所有人都是为了受教、被否定而来上网的。即便你带着善良的念头。
想想自己的目的——这会让上网回归为一种快乐的活动。如果你是表达者,甚至将错误暴露得越明显越有收获——苛刻(褒义)的网友会帮你指出许多问题——即便真正的问题在另一个方面,这也是有益的。
而如果你是讨论的参与者,那么表达完全可以更温和一点——即便你认为对方是错的,在网络上、在任何没有利益相关的讨论场景,你的愤怒和揶揄都很难给自己带来正面的东西,而且还在推动这个环境朝负面方向奔跑。
即便你对讨论(如互联网社区)彻底悲观——至少还可以选择远离它获得清净而不是把自己弄脏。
从表达者来说,我觉得应该尽量表达「可操作」的概念。比方说前阵子一时之间,甚至连公司内网的论坛都在争论「这场战争是否正义」等话题;比方说「女权」在这儿走向了「自由女权主义」和污名化「女拳」两个极端。
持以不同观点的双方都会认为自己是理性的——这并没有错。只是在大多数场景下,这种话题都太大了。我们有这种倾向,觉得自己有必要对什么东西有点看法——最好是自己的看法。而且越是关注那些抽象的概念似乎越能一劳永逸——再认为持相反意见的人是「因为他们太蠢」,连这点常识都搞不清楚。
但即便事实如我们所想,也没有得到任何新的东西——除了什么都不用做就可以显得自己聪明确实很划算。(监测到讽刺意味)
比方说「战争中的平民应该如何保护自己」「怎么遏制拐卖女性」这类话题显然更有可讨论性,大家有机会达成共识、可以提供很多不同的视角——让讨论有所收获。
从参与者来说。太多人略过正文直入评论区了——比如「写得不错」;比如几乎能在所有「效率软件使用技巧」的帖子下见到「折腾工具没有意义」的评论,偶尔也能见到对这种「没有意义」的批评。而无论它们进行了怎样的表达,都超出这篇文章本身了——即便没有这篇文章,它们也能存在,也会存在。而且不用看就知道它们各自会表达怎样的陈词滥调。
我有个提议:比如一方总结对方的发言,交由对方确认补充…反复几轮确保自己确实明白对方想表达的东西后,再发表自己的看法、反驳…然后再由对方确认。
它损失了表达的精准,容易作为辩论的技巧误用。但对现今的讨论环境还是有益的。
]]>钢铁人策略 是一种通过确定对手的论点,然后对此进行辩论的方式。首先解释你认为对方想要表达什么,寻问他们是否同意这就是他们的意思,得到肯定后对此进行辩论。
大部分对「审美」的争论混淆了「感觉」和「鉴赏」。比如一个常见的场景:甲评价「这部电影拍得很差」,乙说「我就是喜mac欢」。这样的两人若抱着说服对方的心情交流,显然无法进行任何有意义的对话。而即便他们都是理性的、谦逊的,最好的结果也不过停留在「这部电影确实拍得很差,但我就是喜欢。」
这种场景很容易走向极端(就如现在许多网络社区发生的那样)——很快交流就会演变成一方喷观众太蠢,一方喷别人装逼——其实两者发泄的立足点根本不一样。
「感觉」产生于个人经验,当然能各有看法。「我感觉」「我喜欢」这种说法不可能出错。「鉴赏」却是技术性的,有门槛也有高低。
「鉴赏」与「感觉」是不同的层次。「感觉」的极致会导致审美相对主义——「但我就是觉得……」这很危险。「鉴赏」基于「感觉」加上理性的参与。对于「审美」而言,从「感觉」来讨论一样作品并不就是错的。但拿技术背书批评对方愚蠢或以情绪质疑别人的专业,都是不对的。
大众的审美能力应该靠创作者、组织者来普及。不要批评「现状是因为观众太蠢」,这不是观众的责任。
一个人若是从心底喜欢一部作品,能感受到共鸣,自然就会有维护它的倾向,去反驳那些说它「不好」的言论。我们看到在生活里,并非每个人都是理性的、表达总参杂情绪、误解似乎不可避免,以及消费社会下金钱在某种程度成了一个衡量艺术的客观指标——于是「拿情绪质疑专业」总是络绎不绝。而基于同样的原因「学院派下场批评观众愚蠢」的事也不少。
人的感觉也会有技术的成分——只是观众很难体会到。如果有人能向观众解释他感觉里技术的成分,观众自然会认同并尝试去了解技术(而现在这种了解往往产生于观众自己的热爱)。而对技术的了解,反过来又会影响他之后对作品的判断。
如何解释?谁来解释呢?应该由创作者、组织者通过策划艺术活动、讲解等形式来科普,以及提供优秀的作品让观众从观赏活动中自行体会等方式。
「审美」明明是一个很直觉的活动,任何人在任何状态下都有可能产生美的感受,更进一步,询问自己「为什么能感受到美。」如果「艺术」在一个社会成了一种很神秘、普通人不可说的活动,比起「观众的无知」,「创作者的傲慢」显然应该负更大的责任。他们藏在优越感里,手握火种或自以为如此。
面对各种物件,脑子下意识地冒出一个又一个问题。比如入口有一些墓葬出土的小石头,大概呈现出动物之类的形状,一部分形状非常容易辨认,但偶尔也有些形状相当抽象的——不自觉地就会揣度「可能这就是个普通石头,因为一起发现才会像这样被牵强地取了名字」——诸如此类的坏念头。
看到了公元前后栩栩如生的雕塑,惊叹的同时突然意识到「肉感」是一种多么历史悠远的表现追求。(不是)
玻璃几千年前就有了啊,水银好像也早就被使用了,那水银镜子是啥时候发明的呢……
似乎简单地问问自己,眼前的东西是为了什么目的制造的,又是怎么制造的,当时的条件会有哪些困难,这玩意会被怎么使用……就能和面前的东西共情。——这感受可能是肤浅的,但确实有趣。
看到许多小孩被家长带来玩,做着大胆的猜测,被鼓励说些自己的想法。真幸福啊。= =
我的兴趣被激发出来了,终于鼓起勇气想要出去见见世面。上周和同事约去看看熊猫,对方说得 8:00 出发。我平时打工都没这时间出发过而且前阵子疫情反复——况且大概还要门票费,就想还是算了。记得有人给过年回不了家的同事分享过美术馆的公众号来着,查看了下发现不需要门票也不需要早起,立个 flag 去看看。嗐,还是城市的公共设施丰富啊。
]]>原文:Don’t Learn to Code — Learn to Automate
别学写代码——学学自动化。
有人记得几年前纽约市长决定学习编程这回事吗?那会儿可真让人热血沸腾。我记得除了纽约市长,连 NBA 热火队的前锋 Chris Bosh 都在鼓励孩子们为了诸如人类利益之类的理由去学写代码。一时之间好像每个人都应该放弃除了写代码之外的其它愚蠢追求,去学点 Ruby 啊什么的。毫无疑问,如果 Andy Warhol 在 2012 年还活着,他会说「在未来,每个人都会写 15 分钟代码。」[1]
Jeff Atwood 对当前这种思潮写过一篇有趣的反驳文章,题为请不要学习编程。这则篇幅不短的文章表达了些有趣的观点,但总的来说主题似乎是「不要把写代码当作目标,应该去学习怎么解决问题」。我觉得这个观点很棒,但除此之外还想说点别的东西。
过去我写了一些关于做一个解决问题的人有多重要的文章,甚至表达过我对「问题解决者」这个称号的热爱。所以请别以为我不同意他的观点,即许多程序员过于纠结代码的细节。——我也认为这是个很常见的问题。但同时,我认为在纽约市长、Chris Bosh 这类人身上还有 Jeff 没有提及到的问题。具体而言,世界的技术性大大提高,这意味着相当多的工作将会被自动化淘汰,而剩下的工作则需要人不断提高技术能力。我的未婚妻是一个文案编辑,她就发现如果懂一点 HTML 和 CSS,各方面工作都会轻松不少。
现在有些人抱着发财或者仅仅是写很多代码的念头漫无目的地学习着编程语言,对这种现象我和 Jeff 一样,不认为简单地说「除非你是认真的并且愿意花时间投入,否则就别学了」有啥用。技术的快速发展创造了一个知识的黑洞,甚至吸引了本来无需关注它的人。
我有一个建议可以给这个问题做一个很好的区分——不是每个人都需要学习写代码,但每个人都应该学习和理解如何自动化。就算不去自动化,你至少可以判断出哪些东西可以自动化,然后对是否有必要自动化进行点有意义的讨论。
最好还是举个例子。比如今晚我和朋友正一起把一些课程材料做成 PPT,PPT 的大部分内容是图片,边边角角则散落着一些大字体的单词。我们把图片粘贴到 PPT 的界面,调整了下大小,然后用 Mac 的触控板费力地把图片居中。有次我朋友说「软件里应该有些快捷键把东西按垂直或水平居中才对,你可以试试。」
朋友们,这就是「自动化」观念的萌芽。在做 PPT 时把一个东西居中正是那种无脑又令人抓狂,还费时间的任务,这正值得拿来自动化。你知道这有多繁琐——用细微的操作把一个图片之类的东西拖来拖去,希望看到那条表明它在中间的线。这条线真难找啊……等等,那儿!完了,过头了,退回去再试一下。
当然这还没完。我倡导的——精明的自动化人才,还会进行下面这些评估且最终拥有自动化的潜能。
经过一番搜索后发现答案似乎是否。如果有的话,一篇关于 PPT 的秘密的博文应该只需要两行来讲解决方法:「第一步:找到那个秘密;第二步:没有第二步。」
不过,有可能我们查找得还不够仔细呢?
现在不行,PPT 都快做完了。但从长远考虑,确实值得研究一下。
很难讲啊。我也不确定这一辈子会浪费多少时间在 PPT 的图片居中。可能会有一些,但我也不是很常用 PPT 啊,可能好几年累积起来也不过几小时,而解决这个问题搞不好会花上数倍的时间。
嗯……这点差不多可以肯定。即便我要做好几年 PPT 才会在居中这件事情上浪费一两小时,但把所有 PPT 用户加起来,每秒都可能会有数个小时被浪费。搞不好现在就有许多人一边做 PPT 一边因为居中问题骂娘。
额,不好说呀。这玩意也许太微不足道了。但或者我们也可以把它贡献出去获得一些声誉。
让我们先把这当作低优先级任务收集起来,再找个空闲时间好好研究下——比如机场候机时。先定一个临时目标,看看我们能不能在限制的条件下搞定它。比如仅仅在一张空白的 PPT 页面上,通过快捷键「Ctrl+E」能不能达到水平居中的效果?如果可以的话,能不能再找到一种快捷键来垂直居中,再通过某种方式将这两个快捷键连接起来?如果这条路走得通,那么只需要做一点配置我们的问题就解决了!然后我们可以进行一个简单的测试,看看能不能达到点击一个快捷键,在一张空白的 PPT 页面上实现图片垂直及水平居中的效果。如果测试成功,我们可以稍微陶醉下,写篇博文,然后继续试试其它方案。
好吧,上面这段解决方法只是我的胡说,但我想借此指出一些事情。首先是识别出一个繁琐的任务和自动化方案。在做 PPT 的这个例子,找到某物的中心坐标显然最好靠计算机来做。随后的一系列问题包括可能已有解决方案了,再造新轮子有点不划算,或者我们在新方案上花的时间远超过它能达到的收益……这类考虑在软件开发中有各种名称,像是「需求分析」「迭代冲刺」……
然后,我们制定一个暂时的计划和一些风险规避策略。我们可以稍微投入一点精力看看我们能做什么,但注意要有所限制以免离题太远。还有一个具体点的战略——把大的任务分割成一些小的,可执行的,能让我们不断迭代的任务。这在软件开发领域称作「敏捷方法」。最后,尽管没有编写实际的代码,我们也有了实施和对成功清晰、可验证的描述。在业务领域这被称为「验收测试驱动开发」(ATDD)。
但忘掉这些术语吧。更重要的是,成功的软件开发项目——涉及代码、IDE、编译器等的项目——只是成功的自动化项目里的特例。你完全可以不编写代码自动化各种任务,甚至一些很特殊的工作。本着这种精神,Jeff 的观点完全正确。程序员喜欢写代码,但当我们面临问题时,写代码并不是首要目标——我们是要解决问题。
纵观人类历史,对重复性的工作一直有种「痛苦就是收获」的看法。埋头苦干、按部就班、努力完成琐碎的工作是有价值的。但在这段历史中的大部分时间里,我们没有计算机。事实证明,计算机非常擅长执行这些重复又琐碎的工作——涉及精确度而无需判断力的任务。电脑比我们擅长的事,就让电脑做吧。
假设未来每项工作的先决条件是能够编写复杂、专业的程序,那也太蠢了。但是,考虑到无处不在的计算工作,假设未来每项工作的先决条件是能够识别哪些任务更适合人类,哪些任务更适合计算机,这一点并不愚蠢。你至少得学会分辨工作中的哪些部分占用了你的时间。之后,也许可以学着通过你的聪明才智和创造力,利用你知道的工具来实现自动化(比如通过搜索引擎寻找解决方案,利用应用程序等)。而且如果你真的走到了这一步,那就试着撸起袖子来学习编程吧!毕竟纽约市长虽然没必要写代码,但做好跳槽的准备也无妨。
这篇文章是念书时读的,一直放在收藏夹,内容没啥印象了但一直模糊有个「do not code, automate.」的印象。打工一年,尝试把工作上的一些流程自动化时偶尔就会想起这句话。想起有次用 Windows 自带的「Win + V」剪切板 CV 代码,同事夸我效率达人,就觉得这类文章还是有价值。趁机翻译分享下。
既然已经建立了亲密关系,那么就说明两人要么之前能接受这种不一致,要么建立关系时没考虑过这一点——不觉得这一点很重要。但这一点究竟重不重要呢?在已建立的亲密关系里,会不会出现因意识到双方意识形态不一样而分别的情况呢?
会有。但就大部分情况来说,应该没那么重要。
网络上的讨论总给我一种政治很重要的感觉,这种感觉也渐渐在现实生活里感受到了。我猜测这是因为我随着年龄的增长不可避免地会接触到关心它们的人。政治重要吗?当然重要。难道我不关心吗?难道我不对它感到热血或者困惑吗?当然不是。只是我觉得对它的讨论不需要在生活中达到一个非常高的精度——有些模糊是可以接受的。
一群人甩开膀子在烧烤摊讨论国际形势——难道我会觉得他们肤浅吗?不,我觉得这个场面很生活。
我的困惑在于,当我参与进这类游戏后,稀里糊涂地花去几个小时,有得出什么新鲜的结论吗?对我有什么实质的影响吗?
即便没有那些事件,大家也都能说出些类似的陈词滥调;光是看到一些文章的标题就能想象到作者会举出什么例子,得到何种结论,有怎样的反驳。
把视角拉向我自己,除了情绪在不断地起伏——我还得到什么?
]]>前三集让我以为动画在借设定暗喻校园里那些似乎只有当事人知道的事——霸凌、歧视……明明都是些陈词滥调,但不知道为什么,周围的人,即便是那些大人,都觉得是你的问题。他们又不是没当过小孩,为什么要假装不知道呢?
四五集被叙事引导,以为要讲「错的不是我而是这个世界」的故事,随着这个念头被动画自己否定,又觉得这个故事是对社会的侧写。
动画里的「初中毕业生」角色们不仅仅是个符号,而是作为这个故事必不可少的载体。初三——面临着「重大的」抉择,无限的可能性由此展开,未来充满希望。但真的度过那个阶段回头看,其实最美好的日子已经在期待中逝去了。万事万物似乎都如此,最美好的永远是期待。
在这种看法里,故事里的「超能力」就成了一个简单不过的喻体。像是明星——这个有着政治家境的男孩,有着「不愧是特权阶级」的手段(无论是漂流前还是漂流后);学生会长波妮,被抛入了另一个世界还在做题;也有漂流后如鱼得水(获得攻击性超能力)的不坦率小哥朝风——离开学校后反倒比较吃得开。
第六集故事从「漂流」转向类平行宇宙的世界观加上电影剪辑这一迷影设定让故事变得更加有趣了。「把我们剪辑回去」——回去。这是不是意味着那个剪辑版里的故事才是真实世界所发生的呢?我们在剪辑版里看到主角长良它糟糕的家庭环境、没有第一集里那么贴心的班主任、被误解……还有希的死亡。希说她的能力是指南针,可以看到别人看不到的「光」。在观看剪辑版时,希说感觉到很强烈的光,那么「光」代表的是我们所经历过的那些「真实」吗?回到整个故事看,既然剪辑版里希的死亡是真实的,那么我们也有理由相信前面那些内容是真实的。希显然是区分现实的一把尺子。
也许希本打算在楼顶撕完书后跳楼自杀——我可以牵强出一些佐证:希和长良类似,也成长在一个不太和谐的家庭;第一集(朝楼外奔跑)、第三集(跳下水坑)、第九集(掉入深渊)的三次坠落;在楼顶遇到长良然后开始漂流的这条世界线上,希从第一集(漂流后)就开始主动接触长良;而从第六集我们可以看到,在没有遇到长良的那条线上,希仍然在楼顶撕了书,但在毕业典礼已经死去了。
希和长良在整部剧集就表现出这种互相拯救的关系——明线是希在照顾长良,让长良找到了「光」;暗线是长良「这次换我让你看到光。」(第十集)
接下来的七、八、九、十集酣畅淋漓,隐喻的单元剧交代了几个主要角色,每集都有意料之外情理之中的点子。长良作为「罪人」进入了一个颠倒的巴别塔——如西西弗斯般反复将塔上的水泥往下搬运;山彦开口讲述 5000 年前他还是人类时的故事(这单集做的太好了,我爆哭。);庄和诚司这对双胞胎兄弟的对决,瑞穗猫咪的背景;希、朝风、骨折三人的羁绊。
最后两集回程。发明家小哥拉吉塔尼讲了两个故事,一个关于「思乡病」;一个关于「发明死亡的男人」。我对这两个故事的解读是:一,人会欺骗自己的记忆,偏向于认为以前很美好。拉吉塔尼选择留在漂流的世界,大概是因为他对「现实」没有光环。二,把时间拉长看,一切都毫无意义。
但拉吉塔尼在第二个故事说「人生就是永无止境的徒劳。但我想就是因为毫无意义,因此活着的这瞬间才会如此光辉宝石。」以及最后一集长良说到「因为那就是希看见的光」,这两个说法其实很模糊,同义反复。角色有想清楚他们的困境吗?或许创作者也没想清楚。当然,不清楚也无所谓——如果我们更在乎这部动画带给我们的感受。显然《漂流少年》也是朝着这一目的创作的。
分别前希对长良说「就由还记得的人来说『我们做朋友吧!』,我一定不会拒绝你。」但离开漂流到了另一个世界的长良,在接触到这个世界的希后却什么也没做。
我把这也看作暗喻——人的心意,短时间的是不会改变的。我相信这是动画想要表达的一部分,我也很喜欢这一点——它没有止步于故事的高潮。但我讨厌它把高潮后的东西逃过去了一大半,理由是「还有其他重要的事」——这句台词出现过两次,一次是回程前瑞穗对拉吉塔尼解释为什么想回去;一次是回去后瑞穗问「要不要去打工呢?租一间房把猫接回来」,长良用来安慰对方。
真的还有其他重要的事吗?什么其他的、重要的事呢?
诚然,人会后悔,然后忘记曾后悔过继续后悔。但我感受不到为什么「这是希看见的未来」,也怀疑主角把「这是我的选择」当作偷懒。
从形式上看,第一集前两分钟给了时钟两次走到十二点整的镜头;第十一集 20 min 左右的几次视角变幻(每一次镜头的切换都无法让人把当前的空间与之前对应起来)——也许这一切有所暗喻——但到此为止吧。我很喜欢这部动画营造的那种氛围,特别音乐总是插入得很在点子上。我从这种氛围感受到的乐趣要比从逻辑上理解它多得多。
]]>点进豆瓣搜索栏的热词发现《花束般的恋爱》和《纽约的一个雨天》都在国内上映了,两者显然是冲着情侣档去的,分别在海报打出了「我想见你」和「遇到对的人」这样的标语——而它们都是内核劝分不劝和的片子。这一反差让我感到有点戏谑。
《雨天》描绘主角盖茨比在纽约见到他的高中同学托勒时,进行了一段长达几分钟的频繁切镜——当你感到眩晕并开始怀疑是不是主角太过大牌,需要通过剪辑手段营造对话时,两人终于告别,并在镜头同框,又迅速走了出去。我有理由怀疑导演在利用这种方式让观众体会到盖茨比与周围人相处时的别扭。
《花束》则着重于表现男女主的合拍,爱好、打扮、习惯……即便在分手后偶遇的那个场景,两人仍对各自的伴侣表达着相似的观点,然后同时站起身试图去劝说一对分享耳机听歌的情侣。
我们从盖茨比的嘴里听到一个个名字、名词、典故,这些显然不是他脑袋里的一潭死水,盖茨比对它们有着足够的了解。也因此觉得如今的纽约肤浅,怀念并追求着老纽约。怀念旧的,是因为对现状的不满,文化总是举着复古的旗号对现有的秩序发起进攻。《雨天》的主题不是恋爱,而是文化。
虽然《花束》的男女主在这个文化秩序里有着巧合到电影才可能出现的一致,但双方的爱好本身并没有被刻画得很深——这不是一部聊两个亚文化的同好谈恋爱的片子。于是我们看到两人能举出很多一致的名词,对事物有一样的感叹,却没有表现出更深的交流——直到男主麦展示自己为爱好所创造的电影时才表达了这种不一致,女主娟看着这部电影睡过去了。
当谈到与现实接触时,《花束》中父亲撤去了给麦的生活费;而《雨天》里纽约女孩茜反驳盖茨比说「我察觉到你也没有拒绝过家里给你的钱」时,盖茨比绕过了这一点,微笑着回答「你太坏了。」伍迪艾伦经常在作品里通过年轻女孩的坦率话语来揶揄主角的一些想法。如果我们严格一点,这里显然是对盖茨比——盖茨比所代表的这一类人,年轻的、新的「知识分子」的讽刺。
《雨天》对待角色要温柔得多;《花束》里的角色则要面对现实的困境。
我们看到一系列细腻的生活——买了却没时间玩的游戏、停在第七卷的漫画、工作打乱的约定、疲惫到无暇性生活的夜晚、一个更幽默/体贴的男人……在《花束》里,每个有所追求的人在面对现实时都干脆利落地失败了。这很容易让观众得出「爱好、爱情,或者因爱好导致的爱情在现实面前很脆弱」这类结论,但我们换个角度则能发现,其实电影的主题是「现实」。
在两人去海边游玩时,电影就表现了娟的不安全感——麦去买食物不见了,娟抱怨说「你别突然消失啊」。后面两人在电车上谈起那对纹了一样纹身的情侣,麦问「难道你(对我们的爱情)没信心吗?」娟开玩笑说「你也可能会出轨」。
娟一直抱着悲观的期待去积极地参与,她能够看到现实下会发生什么,但她还是投入进去了——也许我们可以看出这一点:悲观的人做事反倒更能坚定初心,因为他们的初心是在看到可能的结局后确定下来的。
把这部电影的主题从「契合」转到「现实」故事就很好理解了——我们不需要讨论男女主是真契合还是假契合,我们关注男女主对待现实、生活的态度。娟一直到结局也没有改变自己对生活的理解——从故事中能看出娟显然是个有执行力并且果断的人,起了考会计证书的念头就备考且很快考上了,有了新的想法后迅速地从医院辞职。
比起《花束》推演角色如何应对现实的困境,《雨天》则更像是一个过来人从他日记里抽出一段格言式的句子。最后盖茨比选择留在纽约,这个至少还拥有浪漫的地方。我们看到伍迪艾伦,这个狡猾的老头,明明有一口袋糖果却只愿意留下一毛钱——我们怎么还能期待更多呢。
]]>你说,它们没有形式、没有内容、没有上下文。
你越发熟练地戳破别人的疏漏,少掉了很多焦虑与愤怒——你没有停留在这,攻击没有给你带来任何快感。你意识到自己相信的东西也不是那么坚不可破,甚至说你不再拥有能够相信的东西。
你觉得应该有一个肯定的东西,于是开始寻找。却只能或者停留在一个解答,或者接受这种不牢固。
但让我们回头再看这个场景:你发现了一个与你相反的观点,然后把问题归咎于对方没有逻辑、不知道更本质的问题。
这有效吗?
它似乎只对你有效。于是逻辑成了一种治疗,它让你以为掌握了权力,让你能心安理得。
它并没有改变最开始的状况——让我们回到最开始的状况:你发现一个与自己相反的观点,于是想要借说服别人来维护自己的合理性、或者(带着自己可能出错的态度)想要和对方讨论一下。
而即便大家都愿意就事论事,还面临着「是否我们需要一个讨论的根基或交流的框架」这样的问题。想象这个场景:A 说有钱真幸福;B 说思考真幸福。两个人说的是一样的幸福吗?存不存在哪种幸福比哪种幸福更幸福?又或者哪种幸福才是真幸福?
最后,讨论的人愿意尝试捋清这些概念,也不可避免地出现:最后大家握手相笑,没错,在你的那个层面、要是按这样定义,你是正确的;但这么这么来说,我是正确的。
最后得到了什么?
这里面有两个困惑。
一是「框架的神话」[1]——除非参加者具有基本假设的共同框架,或者至少除非他们为着讨论的目的同意这样一种框架,否则理性的、富有成效的讨论是不可能的。
波普尔对此进行了批评,其中最能解我惑的是这一点:「不可能互相理解」源于我们对讨论的苛刻——我们期望对峙、漫长的讨论将以参加者取得一致而告终。
从这个方面看,波普尔的观点显然是消极的。他并不认为讨论将会以取得一致而告终——这一点传承自他科学哲学的核心观点证伪主义,我们持以一个观点就像身处一处牢笼,我们可以通过批评突破牢笼——获得批评的一个很好的方式就是观点的碰撞(理论上越是不相容的观点越能让参与者从中学到越多)。但同时 「这种自我解放的、冲破此刻的牢笼的理想,又会成为一个框架或牢笼的一部分——换言之,我们永远不会绝对自由。但是我们可以扩宽我们的牢房,至少能抛开甘受束缚的人的狭隘性。」
另一个困惑则是这种框架的特例——「在讨论之前,我们是否应当对我们的词汇取得一致意见——也许是通过『界定我们的术语』来做到这一点」。
这个问题看似值得肯定,但麻烦之处在于——如果我们同意这一点,那么就不得不同意我们应该把「定义术语」的那些词汇也做一个定义。这样对定义的需求就导致了无限后退,没有尽头。
想到网络社区里一个常见场景:你发表了一番关于「XX」的看法,然后有人反驳:「你怎么定义『XX』?你说的 XX 不是真正的 XX……」。有的人在做出努力,他们说这是个复杂的概念,我尝试在什么范围下的什么限制内讨论这个问题……还有一种解决方式——你认为那些反驳者是没有常识的人,他们不能分辨最基础的概念。我看到有文章前两三段都用来进行「防杠声明」;有人温和或阴阳怪气「你说的对」——总之都表现出拒绝交流的样子。
波普尔对此的观点是:我们需要许多未经定义的术语,其意义只能在使用中大致固定下来——通过应用于理论之中的方式、通过实验的程序和实践而固定下来。因而这些概念的意义是可变的。但既然一种定义只能把已定义词的意义还原为未定义词的意义,那么所有的概念包括已定义词在内,其意义都是可变的。[2]
标题出自:漂流人间 - Chinese Football - 单曲 - 网易云音乐
对生活的敏感度越来越低,偶尔冒出些灵光大多都经不起深究,其余则导向老生常谈。难以对细节共鸣,感觉强大了但表现得似乎越来越懦弱。很久没念过久了,但今天实在太糟,心脏像是一直在胸膛里浮着。担心很多事情,觉得难受、麻烦。
我想起中学时曾按着电视剧的模板做过的那些梦。比方说我会喜欢上喝啤酒,踩着拖鞋去买一大口袋零食。偶尔的归途故意绕远路去一所学校旁的文具店买些小物件。在公园里散步,固定的角落望几只叫不出名字的鸟,直到被人提醒那是风筝。会遇到些熟人,彼此总是心照不宣地保持礼貌。有很多的小乐趣,像是记住在哪一棵树拐弯,分辨云彩的形状,感受风的方向。我的相册会装下一个四季,用方形相框捕捉足迹所至视线内所有形式的熊猫。我会注意到有一类花总在晚秋开放很短的时间,在冬夜里经过时会招呼说今天也辛苦了,明年再见吧。
每个早起的日子我都会和有印象的面孔主动打招呼,而每个休息日我一定会睡到午后。周五我会准时下班去大快朵颐,在一家熟悉的店光顾至它开始偷工减料。回去的路上买一些生菜、鸡蛋、番茄、面条和火锅底料,冰箱里装着果汁和汽水。我的袜子会莫名其妙地失踪一只,纽扣又被洗衣机搅掉一颗。有个盒子放在衣柜的最底层,装着针线和各种型号的拉链。还有个小箱,里面有一套好用的电动螺丝刀,塞着换表带、贴膜、清灰等的各种工具。备用的感冒灵颗粒还有两个月过期,防水的创口贴只用过两张。一叠眼镜布被塞在墙壁上的收纳袋、好几条毛巾摆在待换洗的被套上。
我留着小学用到现在的笔袋。中学买的折叠桌还在我身后,上面摆着上班前故意摊开根本没读过的小说,回来开门时一眼扫过,就能假装出一种随意的温馨。我还是用着那把手动剃须刀,钝掉的刀片会被我拿用过的草稿纸包上好几层。窗帘会被忘记盖住的钢笔染上墨渍,而我的处理方式是将那一块卷起来当作看不见。好多的口袋、瓶罐、盒子我都舍不得扔,摆满了衣柜的顶部。用硬壳纸箱做了鞋架和桌面置物台、奢侈地拿朋友留下的马克杯当笔筒、借多余的鼠标垫作杯垫。
指甲可以拖够 12 天再剪,21 点后超市的熟食会打折,两公里能走 20 多分钟,180 路公交早上最好 8 点 10 分去乘。我会记下一些数字,会花上两年时间通过社交发言记录下别人的生日过农历还是阳历。会在各种论坛、App 上乐此不疲地积累数字,会看完豆瓣 250、几个常逛的贴吧升到 13 级、网易云经验爆表、bilibili 硬币自由。
有时候会在书店按原价买两三本书,在夜里带上耳机靠着墙闭眼听音乐。读过的书总是很快忘记,也从不尝试去理解。会有歌手的名字被反复默念,然后凭借知道他们而产生优越感,也保持着优越感。
我想象自己还热爱着电影,会买一个精致的票夹和大容量的硬盘。享受着每次在影厅坐到闭幕,保洁的工作人员从第一排收拾到第四排。在回去的路上遣词造句,包裹一片巨大的感动以期赠送给将来的人。在所有地方大声说话,不合时宜地高谈阔论;假装不经意地分享,实则借此展示自以为是的品味。我以为那些名字我永远都不会忘记,然后在和别人吹牛时当个讨厌鬼,时不时冒出两句尴尬气氛的字眼。
我会有一大叠草稿纸,乱写瞎画,用过的也舍不得扔。我一遍遍地默写曾经背诵的词句,直到心底泛起一阵酥麻的安逸,然后任由一切再变得陌生。我会和另一个人相隔不远坐在摊在地板的床垫上,我们的书堆放在一旁一定高过我们的眼睛。我们可以不说话度过一个下午,在夏日的假期毫无顾忌地从中午开始睡觉,直到有知了带我们从一个梦跳到另一个梦。我的窗子时常开着,尽管不是所有的夜晚都很干净。我会发呆,望着一片漆黑然后怀念幼时家乡的星空。我在一片巨大的想像里听到蛙叫和蝉鸣,萤火虫在果园里飞舞,蚊和蠓在胳膊和脚边晃荡。
我会充满热情,对一切未知满怀期待,每个早晨都有勇气对世界说感谢,完成很多很多自我感动的事,成为一个愚蠢却自洽的大人。
]]>一个月前哈哥联系我说去看一出乐队现场,他运气爆表,在两个平台同时抽中了门票。我假意婉拒,说你还是约个女孩吧。他说 No。两天后他发了支 vlog,不无遗憾地表示如果有的话,谁不想和可爱的女孩一起看演出呢。嗐。
视频里的他一如既往地热情、真诚。我评论说「20 多岁、会剪视频、勇于表达、看见可爱的女孩会痴笑,未来可期。」
热情、真诚是我对哈哥的主要印象,也是我觉得对人最高的评价。
念书时,有次和哈哥在晚自习后的楼道捡到一张大概被人落下的试卷,哈哥当即做出决定「我们把它还回去吧。」他寻着卷子上的信息找到教室然后把试卷放到讲桌——一脸满足。我很不耐烦,催促着「好了么?快走吧。」
这种行为有什么意义?别人会知道你帮助过他吗?
后来我把这件事讲给哈哥,他说已经不记得了。当时哈哥也正发挥着类似的热情。他来到我的住处,不满这的杂乱,一脸兴奋地撸起袖子「咱们来做个大扫除吧。」好家伙,哪有人跑到别人屋子来做大扫除的。
我一直很反感那些一时兴起和自我感动,像是对故事里热血主角盲目且肤浅的模仿。记忆里,每次我认真对待别人的提议并投入进去后都会发现,对方其实无意分享或做点什么,只是分分钟热度或彰显品味。
我一开始对哈哥也很怀疑,觉得他中二、「假」。无数个细节的堆叠才让我意识到他真的就是这样纯粹的一个人——于是通过否定他来合理我自己这招就行不通了。负面情绪缺少创口贴源源不断地宣泄,即便我知道这是很不对的。可,为什么呢?为什么我明明很反感,那些糟糕的念头还是不断在脑海晃荡?一定有什么地方不对劲,由此我才开始反思自己。
偶尔会想起以前,然后感叹自己当时是个多么愚蠢又笨拙的胆小鬼。我觉得自己每个阶段都在积极的方面改变了不少,而他对我的影响尤其值得一提——我做过很多练习都是希望能配得上这世界还有他这样的真诚。
]]>我的讨论从「我们为什么要消费信息」开始,假如我们承认机会成本的概念对此适用,那这个问题也可以不那么严谨地转换为「我们为什么要把时间花在处理与信息之间的关系?而不是拿去学习、陪伴家人、约会女孩?」
由此我认为消费信息一定有这样那样的目的存在,背后有着理性或人性的判断。弃目的谈信息消费如建空中楼阁,目的不同,策略自然不同。若是有人没有约束地直言「我们应当如何如何」,在我看来是狭隘的。我在此将「信息消费」限定在直觉的范畴并举几个例子:娱乐消遣、了解新闻、维护人际关系、获取情报、积累知识……
这些目的是否有高低之分并不影响分析,基于怎样的目的去处理与信息的关系正好引出基于怎样的价值观去对信息进行「过滤」。
如果信息量很少,那就谈不上过滤了,最多算是挑选。我觉得「过滤」较为准确地表达出了信息爆炸年代,所有不想被信息洪流裹挟的人面对信息的态度。
我将「过滤」定义为从媒介、形式、质量等多个维度构建信息入口,在各种主观客观的条件下(目的不同、能力有限、环境各异……)通过入口的信息或多或少,信息熵或大或小,可能是主动获取的、也可能是被动推送的,可能可信、也可能是假的……
对此,部分文章作出(我认为是)偏见的表达——比如「只读长文」、「不看新闻」、「屏蔽朋友圈」……这种答案虽然忽略了很多东西,但它有效,对大部分人有效。我们假定提出这种论断的人不是人云亦云,而是有意忽略掉细节,那么这种说法其实是以俯视的姿态告诉观众「你不需要思考,照着做就能获得解脱」,某种程度上它在抑制大家的理性。我有证据——想象一个每个人表达观点时都只是在重复某个权威的世界。
思考目的来对信息过滤并不能解决所有问题,比如如何从信息汪洋中过滤出有效信息、如何过滤又不至于形成信息茧房、以及过滤带来的另一个问题——对信息的错失恐惧。我尝试聊聊后者——如果我们带有目的,那如何才能保证为了达到这个目的的所有有效信息都能被我们接收到呢?
这个问题无疑是对「信息戒断」的一大挑战。我们可以说如今我们社交媒体成瘾、信息成瘾,所以我们要远离它们,回到生活。「卸载 App」、「把手机放远点」……可「那些本可以让我们更好完成目的的信息就这样流失了」怎么办呢?
抛开消遣这样的人性弱点不提,我觉得「关键少数法则」是一个很好的应对方法——只有一样东西带来的实际益处大于实际害处时才选择它。比如那些「有可能让我们更好」的信息,为了这种可能性花费的成本远大于我们接收到它的收获,那我们就应当毫无顾忌地扔掉它。所以前文提到的「只读长文」、「不看新闻」等操作也并不是一个宗教式的答案,而是针对某个目的进行成本考量后作出的策略,而这种成本的基础是「信息密度更高的内容更有价值」。
与之相关的是我们对碎片化信息的沉迷,除了「我在利用碎片时间」这种错觉,它还满足了人类「弯道超车」的心态——如今任何人都可以不费力了解事物而对之侃侃而谈。这并不是现代人才有的心态,纸媒时代的销量也并非都用于公众对理性的追崇,大部分都只为饭前饭后加点谈资而已。
还有一个不错的答案则是基于对人生哲学的理解——把自己寄托于信息不如用生活最大限度地充实自己。怎样生活呢?那就不在这篇文章的讨论范围内了。
有许多工具帮助我们获取信息、过滤信息,但我们也常被工具和媒介打扰。工具会影响我们对信息的感知。我认为对入口工具的使用应该建立在思考我们与信息的关系之上。比如「我消费信息的目的是什么」、「什么信息对我来说是最优的」……通过思考形成自己的体系,用什么工具、如何使用工具应该会自然而然构造起来。当然,强大的工具总带着自己的哲学,在达到这种六经皆我注脚的程度之前,通过学习工具的使用来完善自己的体系也是可取的。
我不厌其烦再说一遍,信息载体不一、媒介各异,面对信息时我们也各有目的……各种细节实在是太多了。关于如何读书,书店里就有无数的书籍对此作出严谨的论述。
有观点拿饮食做比喻,我们也许可以如吃饭般指定特定的场所与时间来消费信息。尚且不谈这种形式上的「信息消费」,我在此非常局限地表达出自己期望的一种理想情况:过滤出那些在我们经验之外,但与我们经验又有所链接的信息,不断反思,重塑我们的认知,扩展我们的边界。
信息的能力太大了,它是思考的养料,足以让人把想象当作现实。我们对信息的执着大概就源于演化过程中因此产生的路径依赖。
信息的整理也是一个超超级大的话题,在「『知识』管理」领域有太多的方法论和最佳实践。我无意也无力讨论这类内容,仅立足于「目的」聊聊「为什么要整理信息」。
当我们有了新的信息(这个信息可能来自外界也可能来自自己的灵感),多半都会有把它记录下来的冲动,记录时便涉及到这条新信息与已有信息的关系。如果我们的目的仅仅是将信息收集下来,那就并不需要考虑信息之间的关系——可这样的收集也就毫无意义。如果不需要使用它,为什么还要保存它呢?
考虑到信息之间的关系,也就涉及到信息的整理。整理这个行为可以于当下,也可以在未来。我可以在记录下某条信息时将之分门别类、打上标签,也可以先将之存放,后面再来处理。在我看来,各类「『知识』管理」应用首先处理的便是整理这一行为本身的摩擦,使之流畅、无感。比方说剪藏功能可以快速地将文章收集保存,打开就是写作界面可以让人快速记录想法……为了满足整理这一行为,才发展出各种管理的形式:比如从现实抽象出来的文件夹,标签组织,链接组织……组织信息自然涉及到信息的粒度,页面、段落、节点……
可信息整理之后呢?我认为信息的整理基于承前启后的目的,往前回顾已有的信息,往后方便未来检索利用。我将信息整理在你这个应用里,你怎么帮助我丝滑地实现这两个目的?
比如如果你试图通过类备忘录 App 来记录信息,回顾的时候在一篇备忘录内必须先返回再点击进入下一篇备忘录,这种摩擦对于信息的回顾来说完全没有必要呀。同理,部分提供了「Daily Notes」的应用,每次回顾记录在 「Daily Notes」上的碎片信息(我假定 Daily Notes 记录的是碎片灵感而非日记),还需要先点击某个日期才能看到我记录的某个信息——如果我试图整理之前记下的一个想法,得花多长时间才能定位到它呀!
至于检索利用,一方面涉及到工具本身的能力——至少要有全局搜索吧(但很多工具都没有全局替换),一方面也涉及到我们对信息的处理方式。比方说现在流行的「将信息以自己的话表述再记录下来」,或者「高亮标记关键词句再保存」……我认同这种形式,前者面向当下,促使我们理解接受到的信息,两者都面向未来——当我们需要利用它们时,是否还能精确地 Get 到当时的感受。
积累、整理信息,一大用处是为了未来某个时刻需要时能迅速找到它。如果在整理阶段做的不到位,即便存了一条有用的信息,下一次需要时还是会通过「搜索引擎」去寻找。当然,由于互联网的发展,此处的「搜索引擎」应当定义为各个赛博应用内的搜索入口。
利用仍然是个大话题,比如我们可以通过已有的信息做决策……我主要聊一聊通过积累信息来输出,将吸收的信息反哺进信息汪洋——创作者经济的概念很是鼓励人写作,鼓励人整理信息(做笔记)后写作,鼓励人将笔记剪裁成「新」文章发表。这种风向不大好。
我们被别人说服了,然后用自己的话再把这个观点传递下去——这没啥不好。但在浮躁的流量氛围下,最抓人眼球的永远是观点,于是逻辑一层一层缺席。太卷了,太卷了。观点被换着花样表达,甚至造词造句表达。这种浮夸的风气各处弥漫,任谁都能于空气中作出论断,比喻精妙。世界充斥着鸡同鸭讲,但大家都觉得自己掌握真理。
以为被比喻包装的经验见解似乎表达出什么不得了的东西——我承认我在这写着这些也是如此。
太阳底下无新事。唯一新鲜的是我们对它的思考、尝试,以及由此产生的种种细节。即便是因为表达失真导致读者产生的隐喻,那也比独断要更有力量。——我把这当作即便如此也要写出这篇文章的辩解,如果我错了,那也比不可言说的正确有趣一点。
]]>在学校里报复性阅读的那阵子,我曾想过的、感兴趣的、怀疑的东西全都能很快从某本书上找到,彼此联系、细流汇聚又载着我通往许多未知。和许多同龄人一样,第一次,我知道了自己不知道。虽然让人兴奋,却也有点拔苗助长。我发现我的好奇心在消逝,不愿意去理解,排斥许多东西——以一种把它们纳入自己熟悉领域来思考的方式。我通过自己刚记住的几个结论来反推面前东西的对错,想当然地质疑一切,以讨厌别的什么事物来显得自己聪明。
但我知道「我不知道自己在说什么」。我相信我有可能是错的,并且很乐意去寻找能告诉我为什么错了的东西。我遗憾自己之前做的功课不足,但绝不因错误而懊恼。于是我将「求知」理解成观点遍历,试图在理念的碰撞、颠覆中获取快感,但往往只是在用固有认知来指点江山。唯一值得庆幸的是,我的自尊心还没有自大到觉得自己有能力去教育别人。
最近开始翻阅以前立了 Flag 要重读但一直被追求新鲜感打断的书,发现一些惊喜但早就被勾划过的段落。嗐,当时完全没用心嘛。更糟的是,某些埋在脑海里常被我引用做判断的一些概念,竟然完全记反了。这就是闭门造车呀。我还是不赞同死磕晦涩的经典,但有点明白经典的意义了。读者只能读出已然存在内心的东西,所以挑选书的标准只有一个——总能和内心共鸣。
]]>匆匆晃过,提及几个名字。对方意在言外,我也就老实地坦白无知。想到也读过不少完全不解其意的小说——在很长的一段时间里,读书于我就是读小说、读小说便是读故事,那些文学名著啊什么的,大部分都是些好简单、了无趣味的故事。偶尔运气好,我能记下一些抽象的大道理和戏谑的句子,作为翻阅过它们的证据。哎,我的经历太狭窄了,能读出来的东西少得可怜。
中学午休时室长偶尔翻我柜子找些文字解闷,因为两三本有着麦黄色的封面,便开玩笑说我又在看黄书了。当时觉得对方冒昧,后来自己被人揶揄时也常打趣说在看小黄书,反倒有点怀念那阵子有人愿意读你感兴趣的东西。当时大家忙于一些重要的东西,精神贫瘠得一致,很容易聊得来。
《挪威的森林》是一本作者被室长戏称为「村上春花」,也有着黄色封面的盗版书。有人批评这本书肤浅(性幻想读物),责备它肤浅(地摊文学)。我在注意到这些负面评价时才意识到与它的缘分。斟酌一番后我选择坦然承认自己对它的偏爱,我想,你只有在那个年纪、那个状态才能感受到村上表达的一些东西,而且不觉得它无趣、也不觉得腻味。运气好的话,还可以把它当作某些困境的指南,很难说那有多高明,但确实能给人慰藉。
这算是与过去的和解吗?也并不是。早先接触到的那些晦涩抽象的东西,总需要后面摸打滚爬才能豁然开朗。顿悟把往昔凝固成符号,但曾今的自己并非愚蠢、更不是错误,只是有限。
《挪威的森林》里的角色小林绿子是我最喜欢的虚构人物之一,她大概也不是第一个这样描绘出来的个性,但我总忍不住拿后面从各种作品里接触到的人物去和她比较。「没有人喜欢孤独。只是不愿失望。」这句话就出自绿子第一次和主角渡边打招呼的场景。后来我想,渡边这个假正经,像绿子这么聪明的女孩,他心里的那点东西,人家应该早就知道了吧。不过世界终究是太大了,大到任何自以为的独特都有一个很大的基数,大到任何欲望都早被标好了价钱,大到即便我活得并不长,也曾遇到那么一两个这样的人类。他们活得轻松、坦率。与之相处时总是忍不住想,他们是真的如此天真,还是城府太深?
天真其实并不讨喜,我在故事里爱上的其实是人物历经千帆后的热诚。因此他们才总能把握住热情的度量——失望过的人才懂得如何制造惊喜。
但问题在于「认清生活的真相后」为什么还要「爱它」?有人觉得这是一种反抗,有人说是我们赋予了这个过程意义,有人把「忘我」当作目的。也有这样的观点——「爱」是与生俱来的,是一种态度、能力、个性上的偏好。就像人类进化出恐惧以避险,爱也保留在我们的基因里,好有机会将基因延续下去。
既然理论上人人都有爱的渴望,艾·弗洛姆在《爱的艺术》里便把问题转向讨论现代资本主义对爱的消解。
爱不是一种关系,不存在义务。你非得要意识到这点,不然后面的「爱它」就只是空中楼阁。大部分鸡汤讨论的并不是爱,而是被爱,不厌其烦地安慰读者值得被爱。畅销书们长篇累牍地教育大家如何做一个值得被爱的人。
如果我们把「爱」理解为「被爱」,那么现在这个年代完全不需要「爱」了。「爱」已经被原子化拆分进电影、小说、音乐,甚至一些聊天、陪伴服务。(让我们对机器人技术的发展保持乐观期待)然后会有人拉出原教旨主义的旗帜,说只有在与人的羁绊里产生的爱才是真正的爱——但你得花更多的钱。我们完全有选择的权利,选择消费哪种服务来展示个性。于是,我们的需求越来越高,口味竟然有了标准,既方便被控制,又容易预测。好耶!
这个世界其实并不鼓励多样,比如它有时候还会以一种抹去女性特征的方式来鼓励平权——放弃生育、妳得像个男人一样干活。市场不关心爱,但它很懂得消费者的需要;政府也不关心爱,但它觉得离婚前应该先冷静冷静。
社会需要维护一些普遍意义才能运转,个人如果不能恰当地把自身的世俗意义融入进去,找到自己在这个系统里的位置,自然会产生许多负面的情绪,更何况这世界大大小小的组织都充满了不能顺应变化的教条。
不能免俗。我也会在黑暗的屋子里当键盘侠,用一些宏大的问题逃离现实。听说「人都会慢慢成为自己想成为的人」,我开足了马力狂奔,追逐的脸庞却越来越模糊。我想起伍迪艾伦在电影里唠叨「只有我关心宇宙将会毁灭吗?」人确实很难关注到太长尺度的时间。但即便活在当下,明明是短暂的一生,却往往也如宇宙的毁灭一样离之太远。从世俗意义看,死亡是一个审视自己的好工具,可以让人改变对生命的看法,更恰当地投入生活。虽然如果认为死亡是唯一目的,虚无似乎不可避免……让我们快乐下去吧,在这种不契合中合理化自身的存在,鄙视那些较真的傻瓜们。
]]>她转过身,然后奔了过去。她看见奶奶提起一个竹篮,猫从生菜里窜出来,匍匐着试图抓一只摇头晃脑的麻雀。她小跑着从菜园进了竹林。镰刀在她的手里变成了捕虫网,裙摆下的凉鞋也消失了。轻风充溢,带出沙沙的响。山泉从她脚趾间流过,她的脚掌粉红,沾着点泥,些许碎石挤在她掌心的皮肤传来一阵令人安心的痒。
她睁开眼,窗外的阳光裹着一层暮色。夏日的白天最后的光景,夜和昼的分隔总是不够干脆,这暧昧的黄昏。床尾是她的猫,有节奏的呼噜声和起伏挠她脚掌的绒毛。她坐起来,头发散在肩头背后。面上还保持着倦意,这是脸颊上的肌肉最轻松的状态。
她唤了声「咪咪」,我就醒了。我站起来,弓背释放疲劳。抬头,一声不吭地望了她一眼。我看见她眼眶边的泪痕,这一次来自梦里还是梦外呢?我朝她移过去,每一步都小心着不让爪子碰到她的腿。我用头蹭她的手臂,她便用手掌抚摸我的背做回报。她身上阳光的味道如此浓郁,在她身边,我变得活力又嗜睡,兴奋且沉默。
我从不询问,她总会主动给我讲起她刚经历的事。我能理解她的情绪,就像她来了我会高兴,她走了我会失望。她的梦啊、生活啊大概也是这样。我喜欢听她聊些开心的东西,因为除了摇尾巴,我不知道怎么做才可以安慰她的悲伤。她的身上,好像有很多走了就不会再回来的东西。
光线在消逝,窗子的轮廓在她的眼里模糊。我喵喵着唤了几声,她语气温柔,毫无顾忌地随着日落坠入我的心脏。
]]>逃避吗?不,「逃避」这个说法本身也是一个暗喻。我不是「我本可以」男孩,我不会拿过去的无数个可能性搪塞现在,我摊牌了,我其实是害怕失败。等等,我害怕失败吗?
有一丢丢。但更多的其实是害怕竞争。
在必要的时候,我可以把这个答案交给别人,表现得坦诚且做好了那早已是过去式的准备。可内心那「这些竞争毫无意义」幼苗,仍然在不断生长,挠我的心脏。
我相信自己并不虚无。我曾对「断舍离」这种行为感到困惑,因为我一直是从无到有,并没有一个机会让我懵懂地拥有很多,然后猛然意识到,啊,我应该抛弃点什么了。我想我也天生是个佛陀的信徒,因为我也一直没有什么欲望。念书的时候,我把自己所有想要完成的事物列了出来,唯一需要的外界帮助是 2 到 3 万块钱。里面实际上没什么非要不可的东西,而且到了现在,里面有些项目我其实也已经没了兴趣。
我还曾假装成大人,说「现在这个时代,如果你不精致地利己,很难真正地过得快乐。」我在犬儒和实用里汲取到养分,准备大干一场。但我做不到。可以说,我觉得这太麻烦了。也可以说,我并不擅长这回事。对呀,这不就是逃避嘛。这世上有千言万语来批判、来讽刺这种行为,可我居然不觉得这无耻。我究竟是怎么了呢?
我是假的吗?在大多数愿意注意到我的人眼里,我是假的。也许有那丝毫的可能性——我就是真的呢?但问题在于——我其实不确定自己是不是真的。对于大部分我不理解的事物,我都可以把它当作黑箱。唯独对于我自己,关于那些我不理解的东西,我很难表示认同。
我有答案,我有很多个答案。其中几个漏洞较少的答案是我最近的依靠。寻找答案也确实是件有趣的事情。今年立了一个想要和别人多交流的 Flag,也是想要以这种途径去得到一些指教。互联网还是一个很好的渠道,但我已经很久没有善加利用了。之前为了追漫画打开了贴吧,回顾并删除了许多以前的帖子。我想,那时我多么年轻啊,却总是说着一些老气横秋的话——直到最近还有人点赞呢。如果不是看到自己的昵称,我搞不好会觉得这肯定是个很了不得的人吧。互联网又是多么虚假啊。我无法回到那种精神状态了,却又在尝试着捡起当初拥有的一些东西。
私聊别人要游戏的存档、求大佬带、复制粘贴水贴水经验……都是些冒犯别人的事情。但羁绊,可能就是需要从冒犯才能开始建立?我还不大明白,先从包装冒犯开始学习吧。
]]>Linux 端的微信开发者工具:dragonation/wechat-devtools
uni-app 文档:uni-app doc
见uni-app doc 快速上手/通过 vue-cli 命令行
。
如果使用 HBuilder X 开发 uni-app 程序,项目包相当于 Vue 开发时的 src
文件夹。
想要导入一个 HBuilder X 开发的 uni-app 项目,那么通过 vue-cli 创建了运行环境后,需要将项目文件复制至通过 vue-cli 创建的项目文件夹下的 src
文件夹下。
如果想导入 HBuilder 社区的插件,需要把插件下载下来,手动放到某个组件文件夹。
不确定有没有更好的方法
与微信开发者工具联合调试:执行 dev:mp-weixin
命令,编译好后会提示编译后的项目在某文件夹(dist/dev/mp-weixin
),微信开发者工具导入该文件夹即可。对项目的修改会热编译,微信开发者工具能实时看到修改的效果。
另:只涉及写页面的话,通过 H5 调试会方便不少。
]]>把视线拉进一所学校,身材相貌、不及格的体育成绩、阴郁不合群是嘲笑与霸凌的频发地。然后步入社会,似乎在一定程度上评价外貌变得有点危险了(但当然完全没杜绝),可抬不起水桶的男孩、不喜欢说话的女孩仍然是能让大家放心嬉笑的绝佳话题。
可能在一定程度上,社会已经不再像校园这种充满了荷尔蒙的地方一样需要俊男靓女了,但它仍保持着野性,需要劳动力、需要集体主义。
一个人格的塑造不仅要花费漫长的时间尝试与自己和解,还要不断地接受外界的碰撞。想起了那个人参和萝卜的漫画,如果你是人参就为自己是人参而快乐,如果你是萝卜就为自己是萝卜而快乐。会有傲慢的人说他们不是在评价你,只是指出了事实,你大可以宽心地接受这些事实。
]]>这段日子里我在干嘛呢?排除两点一线的琐碎,大部分时间都在漫无目的地冲浪。于我而言,网络从一个孤僻小孩的避风港变成了很多其它的东西,好在它也始终是一个有趣的玩具。有一阵子我惊讶地发现自己似乎没什么真正的爱好——真正的爱好。啥也不想干,觉得一切都没意思的紧。只有下班走路回住处的那十多二十分钟,戴着耳机听些音乐,才感觉到些许惬意。高架桥的电梯晚上八点就下班了,黄昏时某个地方常有人拍照,卖烤红薯和煮花生的地方摆起了烤鱿鱼的摊子……日常反复,我总在路上看到熟悉的场景,心底冒出昨天也冒过的念头。
爱好这种东西也有倦怠期吗?也许我自以为是的爱好就像大多数中学时的恋爱一样,它产生并维持于占有欲和优越感,而不是真正的爱。记忆也相当配合且熟练地清扫了我脑子里的各种书袋,于是那一个个名字、一段段故事都消失了,就像我也曾反复练习过的数学公式。
和林酱在元旦看了电影《心灵奇旅》,我戴着两幅眼镜坐在第一排,只有把头斜仰成一个怪异的姿势才能舒服地看清楚画面,然后保持着这个别扭但缓解脖子酸痛的姿势泪流不止。在电影院门口,林酱又重复一次之前也提过的话,「好好生活」。上一次说这句话时,其实暗含着苦中作乐之意。我想这不合语境,然后猛然地,一些不适合我的呢喃又不断浮上心头。如果这就是解答的话——嗐,如果这就是解答的话,那些绝境里的人又是怎么活出意义来的呢?就算是健康,也不是理所当然的啊。
我仍然双标,经常拒绝相信我看不见的东西。就像不加训练的人都倾向于惰性,似乎一个家伙如果想要过得真正开心,现实总是裹挟他朝精致利己的方向狂奔。
我说我花了这么大的力气才接受自己,怎么可能随随便便就改变。也许我是真的接受了自己,也许我只是不想让自己之前的投入显得廉价从而拒绝改变?一切都有可能,而且后者听起来反倒合理些。
老谭说尝试在爱情上建立并维护一段关系麻烦的地方就在这——往往需要你做出更多的改变。当然,两个人都会改变。但在大部分情况下,彼此都觉得一个人需要承担两个人的负面情绪和疲惫,生活变得更复杂了。而社会总是宣扬无私与付出——那种一件麻烦事由两个人来承担的健康关系似乎总是少有的。老谭倾心于独立的灵魂,但这样的灵魂往往看不上,也不需要他。
老谭给我讲了一个笑话,他说是自己编的,但模仿了伍迪艾伦。大意是这样的「时间是相对的。比如婚姻会使时间因为彼此忍受而显得更长,这样双方都有了更多的时间来玩耍。一个人的时候最多只会感到寂寞,而再完美的爱情都会让人体会到哀愁、失望等情感。综上,婚姻的性价比更高。如果可以的话,结婚,但不要恋爱。」
上周和一神交已久的大学同学见面,有种网友面基的感觉。聊到他说看完《缘之空》后找了很多谈伦理的书来读,我着实吃了一惊,觉得这家伙实在太有意思了。然后想到我总是下意识地拒绝去考虑这些问题,我不能接受这些东西,我认为这是不道德的,但我没有也不会去研究这些东西。比如关于伍迪艾伦的负面新闻。我本可以就作品聊作品,就人品聊人品。可我总是拒绝去看那些负面报道,心里隐隐期待他不是那样的人。很多东西都是这样,房间里有大象,但我不去看它,仿佛它就不存在。
嗐。就在我一边写着这些有的没的一边浏览网页的时候,突然看到了吴孟达先生去世的消息。长大的过程总是伴随着一边看着比自己年轻的人功成名就,一边目送自己熟悉的人离开。父亲对我说了些生老病死的事,我不大喜欢他讲得那么赤裸,但也无言以对。之前我说所谓成长不再是假装很喜欢喝啤酒,而是不得不独立做出很多抉择,并且承担它们带来的任何后果。而现在,虽然我一直想要逃避,却也不得不接受,成长还意味着去接受各种各样的期望和许许多多的责任。
唉,太过私人化的事儿我总是不想表达得太清晰,我又开始暗喻,开始拧吧。我借用各种意象表达自己的情绪,我看到你说自己在海边观月,便急忙打开窗,似乎能闻到月亮带来海风的咸味。而你一定性感得像是图书馆里被人打开但忘记归还的书籍,随意而神秘。我则俯视着我,他是个假装热情的性冷淡,和我正好相反。我咚咚咚地敲门,他连眼皮也不抬一下。他想虚度,那就让他虚度吧。
可我还不能允许自己以俯视的眼光看待这个世界,我只能悲悯我自己。不如把一切都降维到「孤独」这一层次,表现得自己似乎在智识上占据高位。「孤独」多普遍啊,足以囊括所有人所有事。然后我就像所有刻板印象以及故事里提到的那个人一样,参加聚会却远离人群,重复默念着「他们根本不懂我有多擅长玩摸乌龟」。我有多长时间没做过那种英雄式的美梦了呢?梦中的我拯救了世界,悄然离去,深藏功与名。美梦和梦想两个词没多大关系但消失的时机倒是出奇地一致。有点伤感,在这世间的快乐又少了一大块,嗐,早就少了一大块。有点陈词烂调,但世事确实大多如此——当你意识到的时候,早就已经晚了。
我狭隘、偏激,总是自以为是地理解大人,每当现实和猜测吻合时,我就不动声色地雀跃。我想学着像他们一样表达同情,但什么也不做。可我做不到。一想到将什么都不做,我甚至连同情都不好意思表达。而不够生活的用词,突然的热情,总让我觉得谄媚。「会有更高级的快乐」这种说法我能接受吗?「快乐本身是无知才有的特权」这种说法我能接受吗?
这篇胡扯没啥主题,大概算是对这阵子一些片段的总结。标题取林酱说的「好好生活」,那我意识到自己的生活方式了吗?有审视过自己的生活方式吗?嗐。
]]>能遇到一个见面后可以坦诚地询问「你最近有在读什么吗」的家伙是很难得的,特别还是一位异性。我当时心里盘算着很多不符合当时气氛的想法,而且说真的,没太懂她话里的意思,但还是认真地盯着她,用期待的眼神做出鼓励她接着说下去的样子。
可是我被她看穿了。
她说「别来这一套,你可能觉得倾听是一种聪明的方式……别偷懒,告诉我你自己的想法,真实的想法,经过思考的想法。」
相比尴尬,我当时庆幸的感觉要更浓烈些。想着还好对方误以为我在使用某些小诡计,而没有看出我其实一无所知。
我先承认说自己对这玩意了解不深,然后靠着自己在书籍和网络里了解到的东西纸上谈兵了一翻。她摇了摇头,像是有点生气了:「说你自己的想法!」
我后来懂她的意思了。把她送走后我去过一个人人都热衷讨论历史和政治的星球,人人都在谈论以确认自己确实可以谈论。身处其中时我冒昧地觉得他们都很肤浅,每个人都在重复新闻里说的话。我一如既往地沉默,有点怀念她当时板着脸的样子。恍然间,看见她站了出来,干脆利落地堵住了我的表达欲。「你要先思考,说出你自己的想法!」
宏大的话题犹如春药,我又差点迷失在这场跨种族精神群交里。
和她相处的那阵子,我曾草草翻过的名著一部也没派上用场。有一次和她聊起一个话题,好不容易动了脑筋,说出一句自认为非常有道理的话。她却冰冷地指出这个观点是由谁在哪个年代提出来的,然后还举出了几个对于这个观点非常尖锐的例子。直到我再三保证这确实是自己思考后的产物,然后给她细叙了自己的思维逻辑,她才缓和了脸色。
她呼了口气,肯定了我,然后说道:「确实,现在这些东西都不重要。文学领域一百年前就没有人类的参与了。即便是当初那个人力创作的年代,你能想到的也早就被无数人描绘过千百遍。可是你不觉得,这很有趣吗?我是说,思考。」
我知道她的意思,最近有个领袖是机器人的文艺复兴党派,崇尚人力年代的「思考」,宣传口号是「思想自由」,针对现在这个概率社会提出了「不要黑箱政治」的口号。这个党派不仅吸引了许多运算能力弱的机器人,也吸引了不少年轻的自然人。机器人渴望平等,希望能通过「思考」弯道超车;年轻的孩子看到那些人类原来也很厉害的信息便激动不已,产生了强烈的共鸣。
我终于松了口气,却有点失望。眼前的女孩被符号化为一个追求流行的标签,进入到我熟悉的领域。于是我装作坦然地问她:「你是什么时候实现二次启蒙的?」
她反问:「二次启蒙?」
她当然不知道这个词,因为这是我刚生造的。
我说「就是什么时候自我意识觉醒,意识到这些的……比如思考很重要这类。」
她说「当然是从我了解『思考党』后,我第一次认识到围绕着我们这个社会的东西。比如说人类和机器人一起生活……你知道吗?听说人力社会是没有机器人的哦,而且那个时候他们还会担心有一天机器人会毁灭人类。」
我知道,其实人力时代也是有机器人的,只是没有进化到现代社会里这么高级的程度。
「不是所有东西都是理所当然的,比如我们现在的社会是由一台超级计算机和一个普选出来的代表团共同治理的,难道这就是最好的方案了吗?超级计算机仅仅诞生了一百多年 —— 地球上的智力活动就停止得差不多了。搞笑的是,计算机认为研究算法优化的对社会的贡献太低,应该停止,代表团就真的停止了。
我怀疑它做出这个判断是因为程序出了 Bug,导致它伦理判断模块失效。仔细想想,人类不才是阻止现在这个社会进步的唯一障碍吗?这样下去人类说不定真的会被计算机消灭。如果我们当时选择了另一条路,可能我们现在已经住在外星了吧?可现实呢?人类越来越蠢,贪图享受……」
这种说法我太熟悉了,「人类越来越蠢」、「网民不会独立思考」、「没有同情心」……她也是一个有着知识分子的骄傲,却没有知识分子的怜悯的家伙。这么说的时候,也一定不包括她自己吧。
够了够了,我改了一下参数,重新点击编译的按钮。她的双眼一闪,开始热加载代码。
「我觉得这是二次启蒙,是自我意识的再次觉醒。每个人都应该经历这么一次,去质疑所有的理所应当,然后选择抛弃或者接受它们中的某些部分,继续活下去。」她这样对我说。
]]>这篇文章主要谈了以下几个问题:
不管是啥原因,反正毕业了,工作了,现在你决定自己办理社保卡。
办理社保卡的前置条件有两个:以前办理过,以前没办理过。
以前没办理过那就好整了,通过线上[1]或者到能办理社保卡的银行去柜台直接办理即可。
那以前办理过呢?
不少人以为自己没办理过社保卡,结果去申请时却被告知办理过了……对应届生来说,以前办理过社保卡大概就这两种情况:1、学校办的;2、老家办的。
怎么确认自己办没办理过呢?
1、直接去银行柜台查询。
2、通过线上查询[1:1]。
要是办理过社保卡,也有两种情况:1、社保卡未激活;2、社保卡已激活。
激没激活我们先放到一边,关注另一件事:社保卡的归属地与你现在缴纳社保的地区。
如果你现在拥有的社保卡的归属地和你现在缴纳社保的地区在同一个省市,那么直接激活现在的社保卡就 OK 了。
如果你现在拥有的社保卡的归属地和你现在缴纳社保的地区在同一个省,不同的市,你可以把卡激活后,办理归属地转移至缴纳社保的市。如果你的卡尚未激活,也可以把卡注销了,在缴纳社保的市重新办理。[1:2]
如果你现在拥有的社保卡的归属地和你现在缴纳社保的地区在不同的省份,你可以直接在缴纳社保的省市直接办理社保卡。[2]
对于大部分应届生来说,对社保卡的了解到此就差不多了。但是还有一个概念——参保关系转入。
由于现在的社保政策,倘若你在 A 省的 W 市缴纳了几年社保,现在你又到了 A 省的 Q 市开始缴纳社保。按上文的说法,你可以通过 社保卡归属地转入 在 A 省的 Q 市使用之前的社保卡。但是——仅办理归属地转入,之前在 A 省 W 市的参保缴费记录是不会同步过来的。
如果你想将之前的 参保关系(包含缴费年限和余额) 也弄过来,就得办理 参保关系转入。
同样,参保关系转入可以去柜台,某些地区也可以线上办理。[1:3]
参保关系这玩意涉及到社保政策——养老金的发放。比如你可以领养老金了,但是你之前在多个地方缴纳过社保。政府会以你缴纳年限最后达到十年的那个城市的平均工资水平为参考来给你发放养老金。如果你每个地方都没达到十年,会把你的养老保险关系和资金转到你的户籍所在地按规定给你发放养老保险。
因为应届生一般之前都没缴纳过社保,所以大多数朋友不涉及这一块。
谈到应届生缴纳社保的话,还有一个常令人感到困惑的地方在于:我在老家缴的医保费用,算是缴纳社保吗?
在老家或者学校里缴纳的医保费用是不算缴纳社保的。在老家缴纳的一般是「农村合作医疗保险」或者「城镇居民医疗保险」,这个缴纳一次只管一年,也不会涉及到参保年限。学校缴纳的一般是「大病保险」,同上。
大致来讲,缴的医保费用只激活了部分医保属性,并不涉及社保。
还有一个问题:社保卡和医保卡有啥区别?
大多数时候这两个说法都指的社保卡。因为现在社保卡已经包含了医保的功能。即便硬要从概念上区分,实际上社保卡也可以当作医保卡来用。
在 React 中,页面的编写被融入进 JavaScript 代码。
比如在一个 HTML 网页,写一个如下的简单界面元素(标签):
1 | <h1> |
在 React,会这样写:
1 | let element = React.createElement("h1", null, "没错,这就是一个简单的标签。"); |
而在 HTML 中,要使如上的 h1
标签在网页上展示出来,一般会放到网页结构里:
1 | <html> |
在 React 中,需要使用 ReactDOM.reander()
函数:
1 | let element = React.createElement('h1', null, "没错,这就是一个简单的标签。"); |
而 React 引入的 JSX 其实是对 React.createElement()
的封装,上面的效果如果使用 JSX,代码可能会是这样:
1 | let element = <h1>没错,这就是一个简单的标签。</h1> |
看上面这段代码,我们写 HTML 标签的方式和以往在 HTML 页面中编写是类似的,让人稍微惊讶的是,它 将标签赋值给了一个 JavaScript 变量 。这是 JSX 提供的写法。
回顾一下,按我的简单理解,React 做了一件事 —— 把 HTML 标签的编写融入 JavaScript,为此,提供了 React.createElement()
。
React 提供的 JSX 则对 React.createElement()
又进行封装,使 HTML 元素的编写符合以往的编写方式。(而不是传参这种别扭的方式)当然,JSX 的功能非常强大,条件渲染、列表渲染之类的这里就不细表了。
现在达到的效果便是:通过 JavaScript 写界面,且实际编写方式和以往在 HTML 中操作差别不大。
将页面的编写纳入 JavaScript 后,界面和逻辑便被统一为 JavaScript 代码了。 一个组件往往封装了界面、状态、逻辑,在 Vue 中,一个组件就是一个 .vue
文件,而 在 React 中,一个组件就可以是一个 JavaScript 函数或者一个类 。
React 有两种组件:函数式组件,类组件。
还是拿上面的 HTML 标签举例,把它封装为一个函数式组件,可能是这样:
1 | function Come(props) { |
封装为类组件则像是这样:
1 | class Come extends React.Component { |
值得注意的是,所有的 React 组件都必须是 纯函数。纯函数意味着该函数对于给定的输入,都产生一个相同的输出。简单来说,该函数内部会用到的变量,外部都不能修改。不然即便每次都给一个确定的输入,外部改变了里面会用到的变量,它的输出也会有变化。[1]
这也是 React 强调的「数据的不可变性(immutable)」。
这儿函数内部的变量在 React 被称为 局部状态 。在官方文档 状态(State) 和 生命周期 中,由函数式组件引入到类组件,简单解释说「类定义的组件有一些额外的特性,比如局部状态。」。我觉得它为了入门把这儿简化了,因为函数式组件也可以通过闭包实现自己的局部状态……
可能我理解错了。
函数式组件和类组件从内部来说有什么区别,我也没深了解过。
将组件抽取为类后,组件的扩展就可以使用继承来实现了。 这点是不同于传统 HTML 编写的一个有趣之处。虽然 官方并不建议使用继承来扩展组件。
上面就是我对 React 的初步理解,也是我初次接触 React 感受到的,不同于我之前接触过的界面编写方式(传统界面编写方式、Vue)的地方。
当然,理解可能有误。 保持敬畏,先到这吧。
纯函数是函数式编程中一个核心概念。 ↩︎
之前看到提问「Linux 与 GNU/Linux 的区别」,当时刚好在读《自由软件,自由社会:理查德·斯托曼选集》这本书,里面提到了这个,就按着记忆写了个回答。
以下算是读书笔记吧……
虽然我常觉得对着一个定义深究它到底是啥玩意没太大意义,但是导致这种结果的这个过程还是很有趣的。就像是「这也太像我的叔叔奥斯卡了吧!」,没什么技术性质的偶然被民意裹携成为官方钦定的例子数不胜数……「动画」还是「动漫」?「ins」还是「IG」?
不过在当前的环境下,任何一个偶然都会被当作(背后势力)营销就是了……
百科版:WIKI_Linux 命名爭議
首先引入自由软件(free software)这个概念,注意是「自由软件」而非「免费软件」。自由软件意味着用户可以自由地对该软件进行使用、复制、修改等。
Richard 是个代码界的革命者,一生都在为「消灭代码私有制」这一目标奋斗,他倡导自由软件,那要做自由软件得先做个自由操作系统啊,你软件是自由的,运行在别人的非自由操作系统也不大合适吧。
为了这个目的,Richard 便尝试着组织开发一个自由的操作系统,这个操作系统被命名为 GNU。
实际上,GNU 往往指代着自由软件这一整个计划甚至思想 —— 即消灭代码私有制。
比如 GNU General Public License,缩写是 GPL,就是基于 GNU 的一种软件分发协议,用这个协议的话就代表你的代码遵循 GNU 的哲学,用户可以随意地使用、复制、巴拉巴拉……
GNU 是 「GNU is not Unix」的缩写,Unix 是当时的商业操作系统,GNU 这个名字就代表着与私有操作系统的界限划分。(有那味儿了)
GNU 开发到后面就差一个内核了,这个时候项目组也正在做自己的内核 Hurd,不过 Hurd 离可用还有一定距离,刚好 Linus 的 Linux 内核也发布一阵子了,完成度也不错,就使用了 Linux。
当时 GNU 已经完成了除操作系统内核外的大部分软件,比如 Bash、Glibc、Gcc……
Linus 在上面这些软件的基础上开发出 Linux。(GNU 兼容 Unix,所以虽然 GNU 操作系统尚未完成,但上述这些软件是可以运行的。)
(PS:Richard 当时本来想提议命名项目组开发的内核为自己女朋友的名字,后来这事因为用了 Linux 就泡汤了,而且 Richard 后来也和女朋友分手了。)
使用了 Linux 内核的 GNU 便是 GNU/Linux —— 但这个称呼有争议,部分人提倡使用 Linux 命名。两个称呼的优劣以及由此产生的争议不多提。
现在的语境下,Linux 基本泛指一切使用 Linux 内核的操作系统。
我觉得,按哲学思想与功能来区分的话:Linux 指 Linux 内核,GNU/Linux 指 GNU 项目与 Linux 组成的操作系统。
Linux 内核的开源协议是 GPL。
GNU/Linux 遵循 GNU 的哲学,系统只使用自由软件。而现在的各种「基于 Linux 的发行版」,便是基于 GNU/Linux ,再打包一些其它软件(比如桌面环境),做一些配置,提供给用户。
打包些软件这一步骤,为了提供便利,可能就会打包些非自由软件。
如果打包了非自由软件,这时再称 GNU/Linux 其实也不大合适了。
啥是非自由软件呢?不遵循自由软件协议(GPL)的都是非自由软件……还是排除法好理解些。值得注意的是,开源不一定意味着自由 —— 虽然 GPL 是一种开源协议,但开源协议有好多种呢。开源只意味着公布源代码。
对命名的讨论太多了,还是拿 GNU 与 Linux 各自的领袖人物的发言举例吧……
今天有数千万个用户,正在使用的这个操作系统,是早就已经开发好,让他们可以自由的使用。但是他们不晓得,因为他们以为这个系统是 Linux,而它是由一个学生“只是为了好玩”(just for fun)而发展出来的。 ——理查德·斯托曼
好的,我认为这个称呼是合理的,但只有你真的做了一个 Linux 的 GNU 发行版时,这才是合理的……这就像是我觉得“Red Hat Linux”,或“SuSE Linux” 或“Debian Linux”这些名称是很好的,因为如果你真的做了一个你自己的 Linux 发行版时,你必须要帮它取个名称,但是要把 Linux 全部通称“GNU Linux”,我觉得这很荒谬。——林纳斯·托瓦兹
上面是从 WIKI_Linux 命名爭議 摘取的两人发言,单独看可能有歧义。
]]>「重」这个字带着翘舌音。我出神到还在念书时,经常有人吐槽我讲方言像是嚼着泡泡糖在说话。
对面挂断电话,就像吹起的泡泡一样,啪的一声,糊了我一嘴。
我的家乡估计是这个省份唯一一个方言发音还保留着翘舌的地方。毕业后,我在距离它 200 多公里的省城找工作,这儿的本地人讲话干净、清脆、凛冽,与家乡不同、也与外界对这生活状态的认知相反。
我借住在阿甘租的房子里。是他先联系我的。阿甘是我小学同学。过年的时候有人要组织小学同学聚会,当然,我没去。看到别人混得好我会为自己伤心,看到别人混得差我会为别人伤心。总之是个伤心之地,不去也罢。
阿甘从当时组织的 QQ 群加上了我,没找我借钱。我心想他还挺念旧,就陪他吹了会牛。后来才知道他把群里人都加了一遍。我本想打开他 QQ 空间浏览一哈,但是一想到有浏览记录,就打消了这个念头。正在纠结要不要开个黄钻隐身查看下时,突然看到自己 QQ 空间的今日访客数从 0 升到了 1,便急忙点进去看了眼,来者果然是他。我心想自己得更矜持点,还是算了。
唉,扯远了。我明白人为什么总喜欢回忆了,因为回忆可以把一堆有意思的事儿拉出来,排排站好。然后随便捡了根针筒,将一个个瞬间注射进自己的血管。为什么呢?为什么当初的每一幕明明也是无所事事,闲得不行,就和现在一样,可时间一旦汇聚成段,其中的碎片突然就有了意义。荒谬吗?点得融入线,点本身才能被凸显出来。
我问阿甘能不能借住几天,阿甘说没问题,然后我就应邀过去了。我是个细心的人,所以故意在学校待到周末,然后拿着铺盖卷和其它杂七杂八的东西,联系了个货拉拉,一趟跑了过去。
一入他卧室的门就看到床垫旁边有一大堆书直接从地板上摞着,对齐我胸口,比窗台还要高上一些。床垫就放在地板上,没有床架,晚上睡觉要是一个不小心书垮下来,估计会把人压个半死。
狭隘的空间被利用到极限,前后墙壁拉了一根绳子,我看向旁边,原来绳末用一个吸盘固定在墙壁上。绳子上挂了几件白色 T 恤衫和几条不同款式但一律或黑或灰的裤子。
我没话找话,问这都是你的书?他点头说是。然后我又特没出息地问出了那句话:「这些书你都看了吗?」
他笑着说看了。
问出来我就后悔了,觉得自己真蠢。本来想好的几句奉承话也不好意思说出口。在脑子里搜索了一转,想找点和书有关的东西搭下话,才发现自己自从初中毕业就没读过课外书。于是我故意用乡音以掩饰自己言语的匮乏,说了句「你阔真牛皮」。
他问我今天吃点啥,我说都行都行,按你平常来就行了,千万别为我接风洗尘啥的。他说刚好,今天下午准备去旧书店逛逛,咱们一起去吧,晚上就在外面吃了。
听到这番话,我一边绞尽脑汁思考怎么拒绝,一边暗示自己千万不要表现出来。
阿甘又说,没关系,你有啥其它安排就去忙自己的正事。
我顺口就说出来了:「我没的啥子事。」
说完我就又后悔了,唉我这张臭嘴。
跟着他骑了辆共享单车到了一条旧书店街,一排大概共有七八家书店。中间几家店的老板坐在门口搭着的太阳伞下乘凉聊天。阿甘进了最边上一家店,我心想坏了,这家伙该不会要从这边到那边逛一圈吧。
我黑着脸跟在他身后,老板问他要找啥书,阿甘回应说我就看看。老板说好,你慢慢看。
这老板人也不行,这种说就看看的人多半都不会买,你让他进去干嘛?
我转头看向老板,发现老板身边卧了只橘猫。我眉开眼笑地啧啧了几声,等猫注意到我了,便慢慢向老板那儿移动过去。猫没跑。到了一个合适的距离我便蹲下,握着拳头缓缓向猫伸过去。橘猫的耳朵抖了抖,又在我拳头上嗅了嗅,我便张开手趁机挠它的下巴。没想到这猫不按常理出牌,突然伸出前面的爪子抱着我的手就开始用牙咬。我把手抽出来想抚摸它的头让它温顺点,可它就是抓着我的手咬。
老板呵呵一笑,「它很喜欢你勒。」
我心想屁哦,待会别把我手咬破了。朝着老板笑了笑,说着「呵呵,是呢是呢。」把手从猫的爪子和嘴里夺了回来,进到店里。
阿甘正在书架前来回地走,我看了眼书架,翻出了本漫画开始读。没一会,就前后来了两个年轻人。老板问要找啥书,俩人都说:「漫画。」
先来的那个年轻人在我面前盯着书架扫了几眼就走了,后一个来了,先和前一个家伙一样,在我面前扫了一眼书架,又踮起脚把书架上一套用绳捆着的漫画拿了下来。他把书摆在书架前面的桌子上看了眼书脊,叹了口气,头朝好几个方向转了转,估计是还在找书吧,然后视线停在了我手中的漫画。
我假装没注意到他,机械地翻着手里的漫画,图印在我的眼里却根本没进入脑袋,更别说上面的字儿了。我暗道:「不会这么巧吧。」
用余光瞄着年轻人欲言又止的样子,我心一抽,深怕他向我搭话,正打算非常自然地抖着胳膊把书放回去,阿甘突然空着手从后面过来,拿过我手里的漫画。「诶,走吧走吧,买回去看。」
我跟着阿甘出去前继续用余光观察那年轻人,他果然把视线粘在漫画上面。我心想要不要问问他,如果他需要的话,把这本漫画给他好了,但阿甘已经麻利地到了老板面前,开始付款。还是算了,我心里这么想着,他如果要的话应该主动点问我的,算了算了。你和这本书无缘。
我走了出去,橘猫还躺在地上,朝我喵呜了一声。阿甘笑道,「嘿,这就认识了哈。」我嘿嘿笑,不说话。
我对阿甘说没必要买的,我也不是很喜欢。阿甘说没得事,他不是为我买的,只是转了一圈总得买本什么,不然不好意思,刚好这种漫画便宜。
然后阿甘和我沿着这条街一家家书店都进去看了一下,有感兴趣的就买几本,没感兴趣的就随便拿册小开本的书、杂志什么的。其实没什么看头,教材、畅销书居多。
快到尽头的时候之前那个年轻人过来了,他向我们打招呼,阿甘一脸懵逼,我倒是有种总算找过来了的感觉。我把书包拿到胸前,正准备把之前拿本漫画拿出来,却被那年轻人的话止住了。
他说阿甘刚才在第一家店付钱的时候,掉了张五块的。阿甘笑着说谢谢兄弟。
就这?现在我倒是一脸懵逼了。
年轻人把一张叠着的五元人民币递给阿甘,说:「你检查下,这应该是你的钱吧?」
阿甘还在说谢谢,伸手拿钱,说,「不用了,麻烦你了哈。」
年轻人捏着钱的一角不肯放手,「你还是检查检查吧,别搞错了。」
阿甘好像有点困惑,伸手往裤子口袋里摸了摸,不大确定地说,「我也不知道是不是我的……」
年轻人紧接着说,「是你的是你的,我看见从你手里掉出来的,不过你还是检查检查嘛。」
阿甘点头说好的,我检查检查。
年轻人松开手,阿甘把钱拿过来,伸手展开。我在一旁看着年轻人飞也似的跑开了。阿甘看向手里的人民币,原来里面夹了张纸条。他抬头,又朝四周望了望。我看着不大对劲,便问怎么了。他把手里纸条递给我,「瞧。」
哟呵,我略带谐谑地接过纸条,打开,里面写了一行字。
读完,我老脸一红。
阿甘问我咋了,我苦笑着又把纸条递给他。
上面写着,「那种漫画你也看呀!」
这人真是神经病。
阿甘倒是开心地大笑,这才恍然大悟地说着,「怪不得刚才怪怪的……这五块钱估计也是他自己的吧……就为了吐槽一下你……哈哈哈」
我说,「估计他还没分清我和你。吐槽我,怎么把钱给你啊我说。」
阿甘又说,「这人真不知道该说没礼貌还是有意思……好在我们白嫖了五块钱,可以吃顿火锅了。」
等从头逛到尾时我再看表,已经下午五点了。我们便回头,在第一家书店门口打开了之前停的两辆共享单车。那只猫又对我伸出爪子叫唤了声,嘿,估计是爱上我了。不过我可不喜欢凶巴巴的猫。
不一会就到了家生意爆棚的火锅店,门口闲坐着不少人,估计是在排队。把车停在人行道旁边划分的区域,我略带惊讶地对阿甘说,「不会吧,真吃火锅啊,而且这人也太多了。」
阿甘说,「这是家网红店,而且旁边是所学校,当然人多了……不过今天不吃火锅,跟我走吧。」
他带着我从火锅店旁边的巷子穿过去,拐了两个弯我就看到学校的围墙了。原来这周围是学校外的小吃街。我的鼻子在时而闻到的辣椒油、火锅料、各种各样的味道里备受煎熬。
我们来到一家店,点了两碗番茄鸡蛋面。阿甘从我书包里取出了他买的书,然后把饭馆桌子上的卫生纸扯了几张出来,开始擦拭书籍的封面。
他每擦拭一本就让我拿着再装回去。第一本是我之前在看的漫画,名字是《裸女密码》,第二本略厚,封面是很厚很硬的那种纸张,名字是《吹》。我带着好奇心打开扉页,右下角写了个名字,还写了句「1997 年购于上海。」哟呵,有点年纪了嘿,还跑了这么远路。
我问阿甘,「这种隔着时间距离和书相遇的感觉还挺有意思的……买书就是你的爱好吗?」
阿甘说,「爱好……哈哈,这个问题我还真认真想过。买书应该不算是我的爱好,或者说我就没什么爱好吧。」
我觉得他话里有话,就顺着问他,「你这啥意思。」
他说:「我觉得爱好,意味着你愿意投入时间、精力、甚至人民币。而且不仅仅是肤浅地执行某一个动作……比如买书,买书只是一个动作……」
我插话说,「一个花钱的动作。」
「对!还比如有人会说自己喜欢读书,可他们只是机械地执行着这样的动作……爱好意味着你得钻研那些动作的附加意义……我是做不到啦,所以说我没有爱好。」
「不过这不只是你对爱好的看法嘛。」
阿甘笑了,「对,我知道你的意思,每个人对一些生活里常见的词汇其实都有自己的理解。即便追溯词源,告诉别人你们理解错了,那也没有意义。」
他说了句看似中立的话,对话反倒没法继续了。
不一会,阿甘把书擦完了,面也上来了。原来番茄鸡蛋面的鸡蛋是个煎蛋,摆在面条上。我拿筷子插到碗底,把面挑起来拌匀,翻出了下面几大片番茄。橘红色的番茄汁在面汤里散开,我食欲大增。
埋头挑了一大筷子面条往嘴里塞,咬了一口,面条便在嘴里弹开。裹在面条上的番茄汁在我的舌尖滑来滑去,我大口嚼着,越嚼越香。
突然听到阿甘在说啥,我抬头看他,才发现桌子旁边又来了个人。阿甘看着我笑,我眯着眼看另一个人,认出了他就是之前书店那个家伙。
我静静看着他。他正和阿甘说话,「不巧不巧,我跟着你们过来的。」
啥玩意,这狗比跟踪狂吗。
我觉得这事蹊跷,然后往嘴里塞了口面。
他又说道,「我是书店门口那只猫哇。」
啥玩意?我挑眉,又多看了他一眼。突然想起确实见到他的时候都没注意到猫,而且那只猫也特别怪……怎么咬人呢。我心脏蹦蹦跳,不会是什么超常的展开吧。然后把煎蛋夹起来咬了一口。
阿甘笑得有点开心,「你这人有点意思,我们俩又不是老鼠。」
「我不追老鼠……」这时候饭馆老板过来问他要吃啥,他说「和他俩一样。」
「追番茄鸡蛋面吗?」我把面吃完了,正在喝汤。鼓起勇气向他搭了句话。这面真不赖,连汤都这么香。
他转头看向我,说「你也挺有意思。」
我不答话,继续喝汤。
「我在收藏那套漫画,就差你们拿走那本了,卖给我吧。」
我疑惑地盯着他。
他解释说「老实说,我不大好意思和陌生人说话,实在是想要那本漫画才鼓起勇气来找你们的。下午我本来让弟弟帮忙找你们,可是他说你们拒绝了……我心想还是亲自来,诚恳点好。」
我还是有点糊涂。
阿甘问道,「你是双胞胎?」
「对,我双胞胎弟弟。」
我明白了,又抬头打量他,着实分不清楚他和之前那人的区别。两人的穿着我也没怎么注意,好像都穿着白 T 恤……我想起阿甘房间里挂着的 T 恤,啊……这个季节流行 T 恤啊……
阿甘笑着说,「你弟弟还有点调皮。」
他问怎么了。然后我把包里的那张纸条递给他,向他讲了他弟弟和我们发生的事。
他脸比我下午还红,不停向我们道歉。「这家伙对你们没有恶意,是借此在损我呢。他一直对我收集这些漫画不大感冒……这家伙……」
其实也只是件小事,我宽慰他说没啥,懂你懂你,然后从包里把那本漫画拿出来递给他。
他看着封面说「没错!就是它!」不断感谢我们,说要给我们付钱。
阿甘对他说没关系,漫画才两块,他弟弟下午给了五块呢。
我也放松不少,便问他,「这种漫画……网上不是很多吗?还是新的,为啥非去旧书店里找。」
他突然正经,回答说,「这不一样,收集的乐趣把它——」他晃了晃手里的漫画「摆在书架上的那一瞬间——收集的乐趣在于这种寻找的过程呀。」
我是搞不懂这些人,这种杀时间的方式在我看来还不如打游戏。
刚好面条端来了。他拌了几下,说「就像吃面条,其实在吃第一口的时候就已经满足了。」
他吃了一大口,面色一变,又忙着挑了一筷子吃下去。
我懂他这种感觉。
「哈哈,味道不错。这个例子不恰当……这样说吧,你们俩一周前约好了去吃肉,然后这一周就在期待中度过了。但是实际开始吃肉时,第一口肉到了嘴里,快乐其实就已经达到了高潮……你懂我意思吧。」
我认真体会了下他说这个场景,好像能明白点了。
「如果我们把吃肉当作终点,很快就没快乐了。但是如果你把这种期待当作快乐的来源,你就可以快乐很久。」
阿甘接着说了句「你说你在下午四点来,我从三点钟开始就感觉到快乐。」
那家伙改挑为嗦,嗦了一大口面。「没错没错,就是《小王子》里说的那种感觉。」
我觉得他们说的有点抽象了,这和王子有啥关系。
我接着之前和阿甘聊的,问他,「这算是你的爱好吗?」
他一边吃面一边回复,「不算不算,没到那种程度,就是消磨时间而已。」
呵呵,还真是杀时间,现在的家伙怎么这么闲,都不奋斗的吗?
「我觉得要在一个领域有所沉淀,才能称为爱好。我只是单纯地享受这种过程,算不得爱好。」
阿甘应道,「确实,仅仅说自己喜欢跑步就能塑造出阳光男孩的形象吗?那也太廉价了。」
「没错没错……」
我突然想起自己在简历的爱好一栏写的就是「喜欢跑步」,老脸再次一红,看样子回去得修改一下。
两人聊了半天,我也插不上话,没多久我就开始打哈欠了。
过了会两人留了个联系方式告别,这时才知道原来这家伙就是旁边这所学校大二的学生。他以为我俩也是这里的学生,不然不会在这吃饭。阿甘回复说我们是社会人啦,这边比较便宜所以来这吃饭。
回去的路上我问阿甘这是哪所学校,阿甘说了个名字,我吃了一惊,不愧是省城的大学呀。
到了阿甘住处的楼下,我又看见只橘猫,唤了两声咪咪,它不理我,我便掏出手机拍了张照片。拍完后,它突然朝我很凶地喵呜了一声。这猫和下午那只一定也是双胞胎。不可爱不可爱。
心里这么想着,便碎碎念出来了,「怎么到处都是双胞胎……」
阿甘听到了,爽朗地笑了笑:「搞不好自始自终就是他一个人呢。」
其实我心里想的是猫来着,不过他既然专门回应我,我也不好意思纠正。
阿甘又说:「毕竟他又没自己承认。我问他是不是双胞胎,他才回答的。说不定只是顺着我的话说罢了……」
我心脏多跳了半拍,感觉就像阿甘看出了我的敷衍一样。然后转头想起自己以往的种种,那时遇到的家伙们是不是也在敷衍我的愚蠢呢?而且我还带着优越感沾沾自喜。
像是想到啥可怕的东西,我拉回思绪,拿出手机给他看刚刚拍的猫片:「这和下午那只估计也是双胞胎……」
]]>娱乐圈不是经常有那种新闻嘛。本来某某某是陪着别人去参加试镜的,结果反倒某某某被选角导演看中了。这种新闻过于常见所以我总觉得是种套路,现在看来搞不好是真的。
我对自己的成绩并不意外,也没什么感伤的情绪,反而有尝试后的欣喜、找到自己能力边界的愉快。但当我试图通过记忆追溯时间,当时发生过的事情往往被定格为某一种情绪、某一个符号。事情总是复杂的——当时,当时的我是怎样的心情呢?
看台边上的少女对着路过的选手无差别地大喊着「加油」,平时没什么交集、甚至曾因一点小事心里有些芥蒂的家伙送来了毛巾和热水。有那么一刹那,我在集体中体会到了一丝安全感,然后带着一丝愧疚逃回寝室睡了一阵。
心脏在我的胸膛里乱跳,口号在我的脑海里开足了马力狂奔。
前阵子导师问我毕业设计要不要争下优,本来觉得麻烦,突然想到自己还没尝试过争取什么——也许我可以呢?于是答应了。没想到最后错过了答辩时间……
然而更糟糕的是,虽然还没尝试就又失去了一次机会,我心里却没什么遗憾,甚至把这当一件有趣的事分享出来。更甚,当时的热血已经降下来了,心里其实松了一口气。
我害怕失败、害怕竞争。
唉。
这些琐事至少让我明白了自己不是个有啥才能的人——但这就像钥匙被忘在家里,当你意识到这件事,其实已经有点晚了。
把时间限制在最近四年吧。一是这几年还是很蠢,做了很多伤害到别人或者让别人不舒服的事,与之前不同的是,这几年我经常能意识得到自己的蠢,甚至能联系起往昔,回忆起更幼时说的蠢话、做的蠢事。一直以来,似乎犯傻的时间总比快乐的时间多——因为我快乐的时候多半就是在犯傻。这很有趣,看来也只是个观念的问题。「知道」是痛苦的根源。但我不愿意被记忆困住。第一,那时所做的一切都已经是那时能达到的最优解;第二,以前犯过的错是以后抉择的养分。
二是刻意做了些记录,方式是瞎几把拍照。深信「一件事,只要重复的久了,都会带有某种哲学意义。」
猫、蓝屏的电脑、四季的草坪。
我觉得这很牛逼,所以得炫耀一下,即使话说得这么直白就不牛逼了,甚至会有点傻逼。
很多人批评中学语文的阅读理解,常用「作者都没想到这么多」来反驳它。我却越来越觉得阅读理解是项很有用的技能,它在训练我们,以在来来往往的日常中解读出些许乐趣。
这是许多人的精神支柱。
返校前洗了数张同学的照片,试图赠以纪念。可惜有几张没送出去,有点遗憾。这种强行增加仪式感的事儿我有时候觉得有趣,有时候又觉得傻逼。但即便我开始有觉得傻逼的趋势,还是硬着头皮把这件事做了。那种非得做点什么的冲动或许源于我对这几年的遗憾吧,想要创造点回忆。
有张在寝室厕所拍的照片,一张椅子上摆着室长的书《贾想 2》,这一册有篇文章很出名,《在北美遇见“爱国者”》,我读了一两遍。不知道谁把书摆这的,一个脏乱差的环境,一本如厕读物,有种戏谑的感觉。
说到书的话,至今我曾有过两个错觉,一个是误以为自己读过很多书,一个是误以为读过的书都读懂了。就像上面说的那样,「知道」是痛苦的根源。如果我不知道,我可能会成为一个比现在更令人讨厌的家伙,但至少我脑袋里还能源源不断地产生刺激神经的化学物质,创造一层隔膜,维护一个「快乐」的氛围。
那种快乐是假的吗?
……我没有从形而上的角度讨论这种问题的能力。不过对此,我的看法是尽量坦诚一点,坦诚面对自己做过的事,承认自己现在、以前的局限性。
偶尔也会有从一个阶段跳到另一个阶段的经验,这种跳跃有时候带来的是视界的开阔、思维的延展,给人一种世界突然不一样感悟或者错觉,许多困惑突然就被找到解释。
但有时候这种跳跃会带来困惑。让人恍惚觉得自己是不是又回去了?想明白了的突然又说不通了,当时觉得完美的解释现在看来又像是自我意识过剩的产物。
在某种程度上,自我认知的不断升华是不是在浪费时间?
算了算了,谈到这就够了。
我并没有追问下去的想法和能力,只不过在用它稀释自己的焦虑。我觉得现在的状态还行,有时间、有目标。虽然不知道我们能年轻到多少岁,目标也有可能会改变——还可能是错的。
回到现在——记忆总是在类似的时机下被唤醒,像是上面提到的那些跃至眼前的往事,搞不好早就在脑海里伺机而动了吧。那些出现在我记忆里的人,我是不是也在相似的情境里被想起呢?
尽管我连我所在班级上同学们的名字都还认不完全(虽然承认这点很傻逼,但我还是得说出来),这并不妨碍我在社交平台对大家进行祝福,以及在有可能的将来对大家进行疯狂的怀念。
唉,不好说。
又想起了句台词。
「我一般不对人说心里话。」
「那就别说,反正你说了也是假的。」
傻逼就傻逼吧,我得宣泄下。
]]>一个瞬间,两个画面。看第一遍的时候根本没注意到这,第二遍时联系到前因后果,才恍然意识到这里是在表示此时女主已经知道男主是自己学校的学生了。
这很有趣。
第一,这是我第一次真正意识到剪辑发挥的作用——仅仅两个画面,就表达了这样涵义丰富的暗示。在这之前,我对剪辑的理解局限于「这边暂且说到这,但说另一边如何如何」或者那种 MV 式的——给男女主的英姿各角度特写,再拍拍天空、云彩,各种无意义(也许是我看不懂)的空镜头……我第一次真正意识到镜头的切换展现出来的强大的叙事效果)。
第二,承接第一点,我第一次开始认真关注影视里的细节。在这之前我对影视的细节的理解是人物、环境、叙事——角色的表现符不符合人物、环境是否真实(比如很多人对服饰、道具的关注)、故事的发展是不是合理……因此我很少重复观看某部影视作品。毕竟看再多遍,也不过是对一次观影体验的锦上添花。
但对于本文讨论的例子来说:第一次观看我默认女主一直不知道男主是自己学校的学生,第二次则注意到这个细节,我才知道女主一开始就知道男主是自己学校的学生。
这与观众因为看过一遍,对剧情有了解后,开着上帝视角再过一遍片子不同,更不同于观众再看一遍又挖出了多少彩蛋,这样的二刷,是对观众心中人物形象的再次丰满。
综上,其实是对我以前在网上看到的一个问题,大意是动画有没有二刷三刷的必要的一点想法延伸出来的。
但是说回来,可能我上面讲的东西方向错了。也许这其实和把书读厚一样,你经历了一些事情,对它的感悟自然比当初懵懂时要多或者深一些。
]]>我很警惕这种通过列举条条框框来进行的「表达」。它是宗教式的——受众虽然只要按着说明去做就能获得解脱、得到快乐——这番言论可以当作一份手册,给一些还没有形成自己观影观念的人做参考。你可以选择相信它,依例执行,便能获得满足感甚至以及一点优越感。
人总是在规律的活动中安心。但这只能是一时的慰藉,极为不稳妥。因为一旦引入一些变量,这套体系就会崩溃。崩溃之后,有的人坠入虚无,有的人只能一条路走到黑,通过自欺达到安慰。—— 《人性的枷锁》里主角生来腿部有残疾,少年时信仰上帝并期待神迹降临,然而随着时间的推移他渐渐意识到自己被骗了。他一开始热诚,但不可避免地开始怀疑、直至憎恨,最后悔恨。
「影迷」这个词本来是对某部分热爱电影的人群的一个称呼、定义,可渐渐地就有人用各种解释来区分谁是影迷,谁不是影迷。在这种「被区分」的过程中,就有许多本来自认为属于这个定义的人,发现自己不在这个定义里了。由此,有时候会发生一些人对于定义的争论。比如我在上文提到的讨论里,就有不少人发言「我理解的影迷是……」
定义一开始是为了区分,却总会异化为大家钻营着如何适应某些词汇,不断地重新诠释定义来合理化自己的行为。
没关系,自由思考比畅所欲言更重要。比如我一天吃一个饼子,我觉得自己是大饼王,然后突然有一天一个人说真正的大饼王都吃的是武大郎家的饼。
那算了,我不是大饼王了。
人的快乐,并不受外界影响。否则,它可能是优越感或是裹腹感,反正不是快乐。
]]>似乎这样的陌生才是本应该有的样子,可记忆的惯性却总在提醒一切都是「变得」如此。本不是这样,不该这样。
这是怎样的感情呢?比喜悦、悲伤来得强烈,困惑和愤怒也不敢与之抗衡。它不像普通的情感仅仅包裹我的心脏,也不似幸福在五脏间循环一股暖流,它有点像风拂过赤裸的身体,有点像血液在流动,可它又安静地躺在我的身体里面,在我的四肢里舒展,从我的两肋跨至指尖,从额头探向眉梢。它像是在修补,又像在啮蚀。
似乎是少年时靠着围栏坐在操场旁的草地上两个瞬间的混合。闭着眼,阳光展在思绪上;睁开眼,身体被喧嚣挤压得几无容身之处。
呼,想起了一个词汇,可那对我来说太过锋利了。这不算痛苦,也不是良药,只不过是又一个安静的傍晚。
]]>Demo :豆瓣的书籍标记数据展示 Demo
代码地址:hqweay/hexo-douban-getter
1 | yarn add https://github.com/hqweay/hexo-douban-getter.git |
1 | // post.md |
参数 | 说明 |
---|---|
userName | 豆瓣 id |
type | 标记数据类型(支持类型见下文) |
uid | 豆瓣条目详情页面 URL 中的 uid |
1 | const DoubanTypeEnum = { |
展示看过的影视、读过的书籍……
1 | // post.md |
参数 | 说明 |
---|---|
userName | 豆瓣 id |
type | 标记数据类型(支持类型见下文) |
pageStart | 获取数据开始页 |
pageEnd | 获取数据结束页 |
titleLevel | 【可选】标记数据的标题层级,默认为 h3。 |
1 | const DoubanTypeEnum = { |
展示影视对应的看过、在看、想看,书籍对应的读过、在读、想读……三种状态的标记数据。
提供切换按钮。
1 | // post.md |
参数 | 说明 |
---|---|
type | 标记数据类型(支持类型见下文) |
userName | 豆瓣 id |
pageStart | 获取数据开始页 |
pageEnd | 获取数据结束页 |
titleLevel | 【可选】标记数据的标题层级,默认为 h3。 |
仅作参考,建议查看 Demo 。
开发过程中参考了 hexo-tag-douban
本页可能需要刷新一下,点击切换才有效果。因本站使用 pjax 会影响网页内 js 脚本的加载,导致第一次加载失败。
1 | {% douban movie "hqweay" 1 1 h4 %} |
1 | {% douban book 26901114 %} |
配置文件 theme/_config.yml
中不必要的依赖不要添加。
比如对我来说,3D 效果之类的都没必要,所以 three.js
、canvas_nest.js
啥的都不必开启。
最后用到的有:
quicklink 我没啥感觉;
pjax,由于网络原因,我偶尔会觉得浏览器(网页)卡死了;
lazyload 和 mediumzoom 有点效果,不过虽然我这也没几张图就是了……
前提:我把博客放 Github Pages 的。
看的这篇文章,尝试了下:JsDelivr 全站托管
在 theme/_config.yml
下修改 Assets
:
1 | css: //cdn.jsdelivr.net/gh/hqweay/hqweay.github.io@master/css |
favicon、avatar 不包含在 images 里,需要单独改下。
images 仅包含文章引用的本地图片。
如果开启了本地搜索,加载 search.xml
也不会走 CDN。
手动改下 js/local-search
里 fetchData
。如下:
1 | const fetchData = () => { |
有变动需求可以将 https://……
这一串配置在 _config.yml
或 theme/_config.yml
。
感觉没必要配置。
需要的话可以用 前端 CDNJS 库及 Google Fonts、Ajax 和 Gravatar 国内加速服务 这位大佬的。
1 | font: |
在 theme/_config.yml
的 vendors
配置。
也全用 JsDelivr
的比较好。
我用到的一些依赖:
1 | # 主题样式为 minimal 时,显示侧边栏信息会用到。 |
域名通过 Cloudflare 解析,可以设置全站用 Cloudflare 的 CDN。
我试了下,然后通过 PageSpeed Insights 测试,跑到 99 分了……
但是感觉没啥用,我使用的网络下,甚至比直接托管到 Github 还慢……(不知道是不是错觉)
用 Netlify 托管,效果差异也不大。
PS:Netlify 绑定自己域名时会需要一个 _redirects
文件。把该文件放 source
下,默认还不会上传至仓库,因为 Hexo 把以 _
开头的文件夹和文件忽略了。
需要在 _config.yml
配置渲染时把该文件包含进来。
1 | # Include/Exclude Files/Folders |
Coding 之类的。
此贴终结……
字体的相关配置见:Hexo Next 主题字体相关配置
把 layout/archive.swig
改为 layout/index.swig
就行了。
不过注意此时首页的 meta
信息是 archive
(归档)……
要做个清爽合格的首页,可以把原 index.swig
的 meta
信息拷贝到新 index.swig
下。
1 | // new index.swig (archive.swig) |
用的 hexo-all-minifier 。
简单来说就是向网页添加一些 meta
标签。类似这样:
1 | <meta property="og:image" content="http://ia.media-imdb.com/images/rock.jpg" /> |
Hexo 提供 open_graph() 可以向网页直接插入 Open Graph 信息。
遇到个问题,open_graph() 不能给网页设置一个默认的 og:image
。
查看 node_modules/hexo/lib/plugins/helper/open_graph.js
:
1 | let images = options.image || options.images || page.photos || []; |
ol:image
优先从传入参数找,找不到就会用文章内容里的图片,还没有的话,那就没有了。
于是尝试加了个:
1 | let default_image = "https://leay.net/images/avatar"; |
这样,前面都找不到,就会使用我定义的图片,而不是直接没有 ol:image
标签。
当然,为了维护,可以把默认图片的链接配置到 _config.yml
或 theme/_config.yml
。
PS:我没仔细研究,可能 Open Graph 不建议本来就不带图片的网页在分享时带上一张图片?但做 SEO 往往建议每个页面都带上这些信息……
hexo-next-theme
往网页插入 Open Graph 信息也是用的 open_graph(),所以如果有这个需求得改动 Hexo 的 open_graph.js
。
下午发现自己博客上的本地图片显示出问题了,折腾了下,发现是因为之前开启了 hexo-next-theme 的图片懒加载。
hexo-next-theme 使用的图片懒加载插件是 lozad.js 。这个插件会将 img
的 src
属性改为 data-src
。hexo-asset-image 没有这样的判断,所以不会处理。
改了下,想提个 PR 来着,发现原插件仓库已经被归档了……
于是 fork 了一份:hexo-asset-image
本博客的样式抄袭了 木子 和 零の轨迹,两位大佬都公布了自己的源码,分别在 muzi502/blog 和 Elietio/Elietio.github.io ,有需要的可以参考。原理就是自定义 custom_file_path
,即 source/_data/**
,通过自定义的 CSS 覆盖默认样式。
搜索的一些文章里提及改动的地方挺多的,我乱试了一下,似乎并不需要那么复杂。不知道是不是我没搞懂。
可能是因为 Next 更新了一些配置简化了操作?总之记录一下。
PS:Hexo Next 的瞎几把优化可以看看这篇:尝试折腾了下用 hexo-next-theme 搭建的博客
先看主题配置文件 _config.yml
里与字体相关的配置项:
1 | font: |
Google Fonts 挑选一款字体,在配置里的 family
处添加即可。
例如:
1 | font: |
如此配置之后,基于 hexo-next-theme 的博客就会全局使用「思源宋体」。
同理,配置代码块的字体也只需要挑选并覆盖相应配置即可。如:
1 | font: |
其它可配置样式的覆盖详见上面的 相关配置
主题提供的字体配置挺到位的,但仍然有限。
一是只能配置 global、title、headings、posts、codes 几处(其实也挺丰富了);二是能配置切换字体,设置字体大小,但不能设置颜色等;三是字体只能设置一种 —— 网页是支持多种字体按优先级展示的。
这些问题,可以使用 Next 4.0 提供的「加载用户自定义样式的配置」解决。
道理很简单,就是用 Next 提供的自定义样式覆盖默认或者配置的样式。
在主题配置文件 _config.yml
里开启:
1 | custom_file_path: |
然后在 Hexo 根目录进入 source/_data/styles.styl
(若无则新建),添加自己想要设置(覆盖)的样式就好啦!
比如我要更改全局的字体颜色,就可以这样:
1 | * { |
PS:同理,这里也可以覆盖博客的各种样式~
字体设置默认使用的 CDN 是 //fonts.googleapis.com
。如果从 CDN 上访问失败,就会默认使用如下的字体:
"PingFang SC", "Microsoft YaHei", sans-serif
consolas, Menlo, "PingFang SC", "Microsoft YaHei", monospace
非代码的文字使用
"PingFang SC", "Microsoft YaHei", sans-serif
。代码块使用
consolas, Menlo, "PingFang SC", "Microsoft YaHei", monospace
。
浏览器要知道用什么字体,实际上是通过读取 CSS 属性 font-family
[1]实现的。
在 Next 里,font-family
的默认值就是上面的两项。当我们在配置文件的 font
里添加字体后,被添加的字体就会被插入到 font-family
默认值的头部 —— 当 font-family
里配置了好几个值时,浏览器会优先使用排在前面的字体。
比如本站最后渲染出来的效果是这样的(你可以打开浏览器的调试窗口查看):
1 | body { |
然而很可惜的是,Next 似乎无法在配置文件里 font
的 family
处配置多个字体。
1 | # 无效配置 |
如果你想要利用 font-family
的规则[2]:或者 修改默认使用的字体,阔以直接到源码 source/css/_variables/base.styl
里修改。
如下面,修改 $font-family-chinese
:
1 | // Font families. |
Next 能加载用户自定义的样式,同样也能加载用户自定义样式使用的变量。然而同样比较可惜的是,自定义样式使用的变量里的定义(source/_data/variables.styl
),不能覆盖变量默认定义的值(hexo-next-theme/source/css/_variables/
)。但是你可以在默认定义里注释掉变量后,在自定义变量里重新定义并赋值。
在主题配置文件 _config.yml
里开启使用自定义样式变量:
1 | custom_file_path: |
首先,在主题的 source/css/_variables/base.styl
下注释掉你想自定义的变量。如:
1 | // Font families. |
然后在 source/_data/variables.styl
(若无则新建)添加自定义变量并配置(你刚刚注释掉的变量)。
1 | $font-family-chinese = "试试就试试"; |
我觉得 source/_data/variables.styl
的设计应该是为 source/_data/styles.styl
提供变量。像上面这样使用好像没啥必要。要说有点好处的话,就是方便了管理用户配置吧……
虽然许多文章里都提到说 fonts.googleapis.com
不太稳定,但我访问还挺顺利的……
fonts.googleapis.com
的国内 CDN 比较少,只找到这么一篇帖子。
前端 CDNJS 库及 Google Fonts、Ajax 和 Gravatar 国内加速服务
用上面帖子里提供的 CDN,Next 的配置就可以这样:
1 | font: |
https://theme-next.org/docs/theme-settings/#Fonts-Customization
hexo s
或 hexo d
前使用 hexo clean
清理下。styles.styl
为 .post-body
单独添加字体相关的 CSS。本博客的样式抄袭了 木子 和 零の轨迹,两位大佬都公布了自己的源码,分别在 muzi502/blog 和 Elietio/Elietio.github.io ,有需要的可以参考。原理就是自定义 custom_file_path
,即 source/_data/**
,通过自定义的 CSS 覆盖默认样式。比如 样式的高级设置 。
易混淆点:async
修饰的函数,不管函数内部 return
的是啥,最后都返回一个 Promise
。而 return
返回的值,最后在 Promise.then()
里取到。
async
修饰一个函数,只是说明会隐式地返回一个 Promise
,并不是说 这个函数内的操作都在一个 Promise
内。
也就是说,async
修饰一个方法时,并不能保证方法里的操作同步执行。 (一般 async
修饰的方法,同步操作会使用关键字 await
。)
定时循环执行一个数学计算,把计算出来的值返回并打印出来。
不假思索写出一段代码:
1 | let count = 0; |
执行的结果是:
1 | 0 |
这样,肯定是不行的……
JavaScript 是异步的,实际上这段代码里的 setInterval()
和 console.log()
会同时执行。
要使它们的执行有一个先后顺序,这就涉及到 JavaScript 里如何「同步」的问题了。
同步的方式有许多种,这里谈谈 Promise
和 async/await
。
1 | function testA() { |
执行的结果是:
1 | testA() 开始执行…… |
Promise
的构造函数接受一个函数作为参数,这个函数又使用两个函数作为参数:resolve
、reject
。
简单理解的话,resolve
和 reject
这两个函数都用于在 Promise
里返回值。后面调用 Promise
的 then()
时,就可以获取到返回的值。他们的不同之处在于 resolve
将 Promise
的状态标志为「成功」,而 reject
将 Promise
的状态标志为「失败」(通常对应遇到异常)。
这段代码的问题和上面的一样,即 setInterval
与 resolve
会同时运行。所以执行 testA
后,早早地拿到了上面根本没有进入 setInterval
进行运算的 count
的值。
1 | function testA() { |
执行的结果是:
1 | testA() 开始执行…… |
我们把 resolve
也放进 setInterval
里,当计算完成后再返回,这样,就能保证拿到计算后的值啦。
我想整高级点,用 async
与 await
来重写,应该咋整?
1 | async function testA() { |
执行的结果是:
1 | testA() 开始执行…… |
同理,setInterval
与 return
会同时运行。所以执行 testA
后,早早地拿到了上面根本没有进入 setInterval
进行运算的值。
1 | async function testA() { |
执行的结果是:
1 | testA() 开始执行…… |
想当然地用类似上面 Promise
的方法,把 return
放在 setInterval
里面,还是不行。
获取到的 data
是 undefined
。这说明有个隐式的 return
和 setInterval
一起执行啦……
setInterval
是异步的,咋整,用最上面的方法,套个 Promise
呗……可这不就又回到最初的起点了吗……
1 | async function testA() { |
结果:
1 | testA() 开始执行…… |
把 setInterval
包装到一个 Promise
里并返回,然后使用 await
等待这个 Promise
(包装着 setInterval
)执行完并取得返回值。
再把这个返回值返回。
async
修饰的函数,不管 return
的是啥,最后都返回一个 Promise
。而 return
返回的值,最后在 Promise.then()
里取到。
例如:
1 | async function getCount() { |
为啥 0x03 和 0x04 是错误的呢?
因为 async
修饰一个函数,只是说明会隐式地返回一个 Promise
,并不是说 这个函数内的操作都在一个 Promise
内。
也就是说,async
修饰一个方法,并不能保证方法里的操作同步执行。
之前我把
async
这类关键字与 Java 里面的一些关键字对比理解……
按我的理解,「0x03 错误示例」就相当于:
1 | function testA() { |
虽然标题是:「Promise、async/await 与 setInterval」,实际上 setTimeout
也是一个道理。
我在这篇文章里用 setInterval
时,用的是:
1 | let count = 0; |
setInterval
传入一个函数作为参数,使用:
1 | function(){} |
而不能用:
1 | () => {}; |
这是因为 function(){}
函数里的 this 指的是 function(){}
本身,而 ()=>{}
里的 this 则指的是 ()=>{}
外部的环境。
按定义来讲则是:箭头函数没有 this
。如果访问 this
,则从外部获取。
如果我们在这用 ()=>{}
的话,如下:
1 | let count = 0; |
这里的 setInterval
则会一直循环执行,不会停止。
因为 clearInterval(this)
根本没得效果。
如果要用箭头函数的话,需要这样:
1 | let count = 0; |
之前想在博文里引用本地图片,按着随便搜到的教程无脑折腾了一番,当时记录了下步骤放在博文里,其实根本没搞懂。在 CSDN 上的备份经常被人访问,为了不误人子弟,稍微按自己的理解捋一下。
当然,也不一定正确。
先提一下,我目前的 hexo 版本为 4.0,其它版本可能会有不同。
首先要在 Hexo 博客配置添加一行[1]:
1 | # 开始使用本地静态资源 |
添加这行配置后,当你什么插件也没安装时,使用 hexo 4.0 也可以在文章引用本地图片,引用方式是这样的:
首先在 _posts
文件夹下建立一个博文文件,比如 2019-12-23-hello-world.md
,再建立一个同名的文件夹 2019-12-23-hello-world
。这篇文章要引用的图片就放在该文件夹下。
或者
hexo new 2019-12-23-my-post
比如我就在该目录下放一个图片2019-12-23-hello-world/haha.png
。然后在博文 Markdown 文件里引用该图片,怎么引用呢?用下面这种方式:
1 | ![](haha.png) |
如果你熟悉 Markdown 语法的话就会注意到,这个引用路径不太对劲。而且通过该路径引用图片,本地的 Markdown 编辑器是不能预览图片的!
本来文章与图片的路径是这样的:
1 | |-- /2019-12-23-hello-world |
理论上 2019-12-23-hello-world.md
要引用 2019-12-23-hello-world
文件夹下的 haha.png
,引用方式应该是:
1 | ![](2019-12-23-hello-world/haha.png) |
这样才对啊!
那么,为什么引用的时候不能加文件夹的路径呢?
这是因为 hexo 在渲染的时候,会把 2019-12-23-hello-world.md
渲染为 public/2019/12/23/hello-world
下的 index.html
网页文件,再把对应文件夹下的静态资源,比如图片 /2019-12-23-hello-world/haha.png
也拷贝到 public/2019/12/23/hello-world
下。
因此,虽然在我们写博文的时候看来,博文和图片不在同一个文件夹路径下,但是它们最终被渲染后,是放在同一个文件夹下的。
像这样:
1 | // 渲染后 |
所以我们在写博文引用图片时,就得把它们当作在一个文件夹下来处理,也就是引用的时候,要去掉文件夹路径。
最后渲染出来的效果是:
1 | <img src="haha.png" alt="" /> |
这样有点反直觉啊!!
或者简单讲,我想在本地编辑器里预览图片,该咋整呢?
根据我看到的情况,hexo-asset-image 插件解决的问题是「给引用的本地图片添加绝对路径。」
毕竟说明里只提到「Give asset image in hexo a absolutely path automatically」……
比如上面渲染出来的图片标签是用的相对路径:
1 | <img src="haha.png" alt="" /> |
经 hexo-asset-image 插件处理后,标签会变成绝对路径:
1 | <img src="/2019/12/23/hello-world/haha.png" alt="" /> |
但是,在我现在的环境(hexo 4.0)发现,使用 hexo-asset-image 插件后,我可以在博文(原 Markdown 文件)里使用
1 | ![](2019-12-23-hello-world/haha.png) |
这种形式来引用图片了!
这样的好处是本地编辑器里也可以直接预览图片。
![](haha.png)
这种方式也仍可正常使用。
跟踪了一下插件的代码,发现插件在获取到 2019-12-23-hello-world/haha.png
这个链接后,会先通过字符串操作获取到后面的 haha.png
,然后统一进行「相对路径转绝对路径」的操作。
最后处理为:
1 | <img src="/2019/12/23/hello-world/haha.png" alt="" /> |
有些博文里直接把「解决本地编辑器图片显示」当作 hexo-asset-image 的本来功能,可该插件的 Issue 里还有「如何在本地支持 Markdown 图片显示」……
我觉得可能该插件的本来目的只是「将静态资源的引用路径转化为绝对路径」,至于后面解决了「本地预览」应该是随手做的……不然作者怎么也不说明下……
也可能我理解错了。
老实说我有点迷惑,也许这可能和 Hexo 的历史有关?
不过至今(2019-12-25)为止, hexo 4.0 使用了 npm 仓库里的插件 hexo-asset-image 1.0 有点问题,安装后图片不能正常显示,查看图片路径被渲染成了 /.xx/haha.png
的格式。(xx 是域名后缀。)
但是直接安装 Github 仓库的源码没问题,可以执行:
1 | npm install https://github.com/xcodebuild/hexo-asset-image.git |
具体使用及配置查看 https://github.com/xcodebuild/hexo-asset-image
我在刚使用 Hexo 时,搜索静态图片的问题,大家都推荐使用 hexo-asset-image 这个插件,也没多做考虑……
现在回头看,其实有许多的轮子可以解决这个问题……比如在 npm 或者 Github 搜索 hexo-asset
或 hexo-imge
,就能搜到一大堆大佬们的轮子……
甚至能搜到一大堆
hexo-asset-image
的 fix 包……
现在 hexo-asset-image
已经被作者归档了……我想 npm 上的包应该是因为过时没有更新才会出问题的吧……
也许现在应该有更好的解决方案。(但我没研究,毕竟自己的需求够用了……)
使用 hexo-asset-image 可能会遇到一些问题,比如与懒加载插件搭配时的问题。(我遇到了,所以提一下
感觉其它莫名其妙的问题也挺多的……但是这个包现在没人统一维护,有许多人都只能修复了一下自己的问题然后单独说明一下……
我在使用 Hexo 的主题 hexo-next-theme 开启图片懒加载时,hexo-asset-image 插件会失效。
跟了下代码,发现 hexo-next-theme 使用的图片懒加载插件是 lozad.js 。这个插件会将 img
的 src
属性改为 data-src
。hexo-asset-image 的工作原理是统一处理 src
,没有对 data-src
等属性的判断,所以就不会处理图片。
我自己改了下,想提个 PR 来着,发现原插件仓库已经被归档了……
于是 fork 了一份:hqweay/hexo-asset-image
在解决这个问题的时候,发现也有人遇到过类似的问题。可以参考一下别人的问题:
该仓库的 ChangeLog:
2019-09-23: support hexo-lazyload-image
2019-09-23: fixed hexo-abbrlink using *.html image path error
hexo 引用本地图片的方式确实不大优雅 —— 必须把图片存储在固定的位置。有时候写一些截图比较多的文章,还得把截图一张张放到那个固定的文件夹,再进行引用。
比较直观的操作应当这样才对:截图后直接粘贴到文档里。
如果用图床,甚至是用 Github 做图床,可以使用 PicGo 这个开源的图床上传工具。它可以把你剪贴板里图片上传到图床,然后返回一个 Markdown 格式的引用路径——再粘贴到你需要的位置即可。
看了一下 hexo-asset-image 的实现方式,想到也许可以把 Markdown 博文中 任意位置的图片 拷贝到相应的文件夹里,然后用类似的方式进行字符串替换。
然后尝试了一下,没做出来……记录一下思路。
首先需要考虑到不同平台的绝对路径不同,我心想先把流程做出来,于是以 Linux 的为准。
然后因为我一开始不懂 hexo 怎么写插件,于是就在 hexo-asset-image 上直接改。我把任意位置图片的路径获取到了,然后就是把该图片往文章对应的文件夹复制了。
这里有两个问题,一是我应该把图片复制到 /public
下还是 /posts
下呢,先复制到 /post
文件夹下吧。
这还有个问题,如果在 /posts
还有子文件夹咋办?管他的,先不管这个,莽出来再说。
然后又有问题了,我要把图片复制过来,那首先得判断该文件夹下有没有博文 Markdown 文件对应的文件夹吧……如果没有,我还得创建……
创建的文件夹得与博文 Markdown 文件同名。我已经创建测试文件夹成功了,完事后才发现在这儿获取不到该篇文章对应的 Markdown 文件的文件名。
因为 hexo-asset-image 实际上操作的是 hexo 生成的 public 下的 index.html 网页文件……
于是我尝试到 hexo 渲染 Markdown 为 HTML 的那儿去操作,正当我找到入口,准备大干一番时又发现个问题……插件那边的代码获取不到我在这儿找到的变量啊……
太麻烦了,遂放弃之。
PS:我的思路局限在「渲染时」或者「渲染后」,也许写个脚本直接处理 Markdown 博文,很简单就能做到吧……
[2020-04-02-update]
PS:Typora@0.9.86(beta) 现在可以在设置里开启「插入图片时」,「复制图片到当前文件夹」等操作。而且和 PicGo 联动了,将来甚至可以插入图片时自动上传到云服务再返回链接吧。这就完美实现了我上面关于「引用本地图片」的想法啦!酷~
这是 Hexo 官方提供的:asset-folders ,不是插件提供的。其它静态资源的引用方式也可以看这个链接。 ↩︎
当初由于 ISO646 标准,部分国家的程序员打不出 {
、}
等字符,所以 ANSI C 委员会引入了三元符。但三元符的使用可能会产生一些有趣的效果……
gcc version :gcc (GCC) 9.2.0
December 2019
下面这段代码执行后,变量 a
的值应该是多少?
1 | int a = 0; |
哈哈,既然我这样问了,你可能会觉得至少 a
的值不应该是 1
。
实际上呢, a
的值仍然是 0
,不会改变,因为 a++;
这行代码根本不会被执行。在 a++;
上面的那段注释里发生了些特殊的事情。
在讨论这个问题前,让我们先看看下面这个例子。
1 | !didIMakeAMistake() ??!??! CIsWrongHere(); |
首先,这段代码居然能能通过编译!这是咋回事?
要理解这个问题,首先要保证代码运行在现代版本的 gcc
环境并且开启了参数 -trigraphs
(三元符)。 三元符是为了 the ISO/IEC 646 Invariant character set (ISO646 标准)中缺少的 9 个字符而发明的特殊字符组合。让我们看看 ISO646 标准中的字符。
Image: Wikipedia
经常使用 C 的朋友应该一眼就看出这里缺少了哪 9 个字符吧,它们是这几个:
1 | ## \ ^ [ ] | { } ~ |
有的朋友看了上面的表格可能会反倒感到困惑,哪儿缺少了,这 9 个字符不都在表格里吗?哈哈,注意一下,这 9 个字符都是灰色的,因为他们是各个国家的规则而不是国际规则。
有趣起来啦,让我们看个简单的例子:
1 | { a[i] = '\n'; } |
上面这段简单的代码要是由一个瑞典程序员来写的话,可能是这样的:
1 | ä aÄiÜ = 'Ön'; ü |
为啥?因为他们那儿的字符规则里使用的字符和美国程序员不同嘛。
ANSI C 委员会自然也认识到这个问题了,于是它们决定引入三元符。用 9 种标准的字符组合来替换那些不标准的字符。
Image: Wikipedia
这种解决方案当然不太优雅,但至少能用。
晓得了这些,我们再来看一下前面的几段代码。首先是后面那段简单点的:
1 | !didIMakeAMistake() ??!??! CIsWrongHere(); |
查看一下上面的表格,我们就知道这段代码里的 ??!
实际上应该被取代为 |
。因此这行代码的实际内容其实是:
1 | !didIMakeAMistake() || CIsWrongHere(); |
如果你理解 short-circuit evaluation (短路求值)是怎么工作的,那你就应该知道这行代码也可以表示为:
1 | if (didIMakeAMistake()) |
前面提到的第一个例子就更有趣啦,这也是一个我们为什么应该谨慎使用三元符的典例。
1 | int a = 0; |
上面已经说过啦,这段代码执行后,变量 a
的值实际上还是 0
,因为 a++;
根本就不会被执行。
注意,只有当 ??
后面跟随的字符在上面表格里的 9 个字符串里面,??
与该字符组成的字符串才会被识别为三元组。所以 C 预处理器将会把上面的代码处理为:
1 | int a = 0; |
这里的 \
实际上是换行的转移符,所以这段代码实际上又相当于:
1 | int a = 0; |
你瞧,这就是为什么 a++;
不会被执行。
I would like to end with a note from the committee itself:
]]>The Committee makes no claims that a program written using trigraphs looks attractive. As a matter of style, it may be wise to surround trigraphs with white space, so that they stand out better in program text. Some users may wish to define preprocessing macros for some or all of the trigraph sequences.
Rationale for International Standard Programming Languages C (5.2.1.1)
[update-2020-05-17]
安装的版本:Linux version 5.3.15-1-MANJARO
Manjaro 基于 Arch Linux,下面许多是 Arch 特性,但为了统一我都用 Manjaro 表示……
Arch 安装可以稍微参考这篇安装记录: Archer`s Arch
文中对「如何做启动盘」等基础问题都没有详细说明,若是想要从零安装 Manjaro 系统建议在网上找一篇较新的教程。
期间若有问题可以优先查阅:ArchWiki 建议阅读 中文版
PS:不过本文对 中文输入方案 (fcitx + 中文输入 + 双拼 + 直角引号配置……)与 源的配置 (三类源,从哪找镜像……)介绍得还比较详细,其它发行版也阔以参考。
镜像下载推荐:中科大
写入工具推荐:rufus
说明:镜像目录里有 gnome、kde、xfce,这是官方提供的基于 Manjaro 的不同桌面环境。
各种不同之处与选择斟酌不提。(选择困难症建议 kde,我用着挺爽的……)
PS:还有各种社区桌面版本,比如 manjaro-deepin。
PS:把源设置好,装软件才方便嘛,所以先谈配置源。
这儿配置的是就是 pacman 安装软件时使用的源。
1 | sudo pacman-mirrors -i -c China -m rank |
执行后会弹出提示框,勾选需要使用的源即可。
然后执行
1 | cat /etc/pacman.d/mirrorlist |
查看是否含有刚才选择的源,若有则完成。
PS:当然,直接手动在该文件添加源地址也是可以的。
PS:可以使用 Arch 提供的镜像生成器[1]找到最新的镜像:Pacman Mirrorlist Generator
1 | ## |
生成如上源后,手动粘贴至 /etc/pacman.d/mirrorlist
。
ArchLinuxCN 是 Arch 中文组维护的一个软件合集,包含了中文用户常用的 WPS Office、搜狗拼音、Google Chrome 等软件。不过,Arch 本身和它的常见衍生版(如:Manjaro)默认都不包含这个源,因此我们需要手动来配置使用这个源。
如上所说,如果没装这些软件的需求可以先不配置。
打开 etc/pacman.conf
。Manjaro 自带 nano 和精简的 vim(vi),建议用 nano,vi 使用方向键会乱码。(方向移动是 h/j/k/l)
# 安装完整 vim
sudo pacman -Sy vim
ArchLinuxCN 的源可以在这里[2]查看:arch-linux-mirrorlist
1 | # 打开 etc/pacman.conf |
添加你找到的镜像。
1 | [archlinuxcn] |
同理这里用的清华源。
看包名就能猜到这是 archlinuxcn 的 key,安装后作为验证,就可以安装软件了。
1 | # 更新数据源 |
AUR 源可以使用清华源,文档[3]见这:清华大学开源软件镜像站
yay 用户执行以下命令修改 aururl :
1 | yay --aururl "https://aur.tuna.tsinghua.edu.cn" --save |
修改的配置文件位于 ~/.config/yay/config.json
,还可通过以下命令查看修改过的配置:
1 | yay -P -g |
yay 是一个包管理软件,与 pacman 的不同之处在于 yay 用于在终端安装 AUR 的包。具体,阔以查看下面的 包管理 。
输入法引擎见这:Fcitx_输入法引擎
我选用的是 sunpinyin。
1 | sudo pacman -Sy fcitx |
建议查看:Fcitx_(简体中文)#输入法模块 里的设置环境变量。
有些教程让修改 .xprofile
等文件,我实测无用,大概是过期了。同理,下面的解决方案也不一定长久,所以建议按着上面文档里的最新情况来。
修改 ~/.pam_environment
(若无则新建),添加如下配置。
1 | GTK_IM_MODULE=fcitx |
然后重启之。
如果装了 fcitx-configtool 这个图形化工具,可以在里面搜索「pinyin」找到双拼的选项,直接配置。
fcitx 自带双拼输入法,使用的是自然码。如需修改为其它双拼方案,按如下操作即可。
打开 ~/.config/fcitx/conf/fcitx-pinyin.config
。
能看到默认双拼方案是自然码(Ziranma)。
我用的小鹤双拼,所以取消注释并修改为 XiaoHe。
1 | DefaultShuangpinSchema=XiaoHe |
修改后重启输入法就能生效啦。(右键任务栏的键盘,选择重新启动。)
PS:该文件里还有一些配置项,可以按自己需求修改……
修改 /usr/share/fcitx/data/
文件夹下以「zh-CN」结尾的文件。
「zh-CN」对应的就是简体中文输入法。
该文件名因系统不同有差异。比如在我当前的 Manjaro 版本,该文件为punc.mb.zh_CN
。而在我之前使用的 deepin 系统上,该文件为punc-ng.mb.zh_CN
。我还在网络上看到一些人的是punc-ng.mb-zh_CN
。
将对应的「"」与「’」按如下修改即可。
1 | " 「 」 |
注意!/usr/share/fcitx/data/
下的文件是「全局配置文件」。建议将该文件复制到用户目录,即~/.config/fcitx/data/
下面再进行修改。
1 | # 安装 |
安装后在「配置—附加组件」里找到可以修改云拼音来源,大陆用户就修改为百度吧~
不过我现在(码这篇博文的现在)没感觉到这云拼音有啥用……
网络上提到的 wine 系软件不能输入中文之类的问题倒是没遇到……
不过遇到了网易云不能输入中文,非刚需自己就没折腾。
上面提到了 Manjaro 自带精简的 vim(即 vi),用着不太顺手。卸载再安装完整版即可。
1 | # 卸载并安装 |
之前我建议用 deepin 的截图等工具,但是一方面使用它们引入 deepin 相关的依赖太多了,另一方面感觉自带的终端等用起也还不错……
下面算是一个简单的软件推荐吧……
截图:flameshot 这个软件感觉和 deepin-screenshot 差不多,甚至更小更强大。
录屏:peek 小巧强大
QQ/tim 可以装 deepin 的,不过只是能用……(其实使用官方的 Linux QQ 也还行……)
文本编辑器可以使用 kde 提供的 KWrite,轻量级的使用挺方便的,打开又快……
既然软件都替换了,相应的把默认应用也修改一下吧。
进入「设置—个性化—默认应用设置」。
将截图和终端的快捷键设置一下。
进入「系统设置—工作区—快捷键」。
在「全局快捷键」添加应用,设置快捷键无效,需要「自定义快捷键」。
以「深度截图」举例。
在「自定义快捷键」新建一个「全局快捷键—命令/URL」,在触发器设置快捷键,在动作设置「命令/URL」。
这个「命令/URL」是啥玩意?在这里简单理解为启动软件的命令即可。
在「程序启动器」搜索找到软件,右键软件的图标,点击「编辑应用程序」,点击「应用程序」,就可以看到「命令」。
比如在应用栏里找到「深度截图」,右键图标,点击「编辑应用程序」,点击「应用程序」将「命令」栏里的链接复制粘贴过来即可。
PS:默认 f12 为下拉式终端,为了避免与浏览器调试的快捷键冲突,建议更换……
使用的各种软件的配置都放在用户目录下,每次迁移系统备份 home
文件夹太慢了,如果我们没有啥非常重要的需求,完全可以只把用户目录下必要软件的配置迁移过来。
比如 ~/.IntelliJIdea2019.3
、~/.gradle
……
将上面这些软件的配置文件夹从原系统备份出来,再移动到新系统的用户目录即可。
推荐一个软件配置备份的工具[4]:https://github.com/lra/mackup
也可以用它管理 dotfiles。
使用官方提供的方式安装。
先用包管理安装 jdk。(只提供 openjdk)
1 | # 先搜索一个 |
Manjaro 提供了一个包管理的终端程序 pacman,详见:Pacman 简中说明 。
在 Manjaro 提供的桌面程序软件中心里,应用有 Community 和 AUR 的分别。该桌面程序可以安装 Community 程序也可以安装 AUR 程序——不过安装 AUR 程序的提示信息是「构建」。
AUR,即 Arch User Repository,Arch 用户仓库。而 Community 指的是 Arch 的官方仓库。用户将软件放在 AUR,Arch 官方则定期挑选 AUR 里的优秀程序到 community。
实际表现为 Community 为 AUR 的子集,Community 有的应用 AUR 都有,但是 Community 拥有但 AUR 没有的那部分软件可能在系统上的运行表现不大稳定。
pacman 只能在终端安装 Community 程序,想要在终端安装 AUR 程序则需要再安装一个包管理工具。
有些教程里用的 yaourt,但该工具已经在 Arch 文档标记过时了,不建议使用。
具体选用啥可以自己搜索斟酌,我用的 yay。
安装如下:
1 | git clone https://aur.archlinux.org/yay.git |
PS:在软件中心里构建 AUR 程序其实就是相当于帮我们做了手动 makepkg
的工作。
yay 兼容 Pacman 的命令行参数。
1 | ## pacman |
1 | ## yay |
1 | $ sudo pacman -S xdg-user-dirs-gtk |
我试了下,安装 GPaste 并启动就可以了。
1 | $ yay -Rs gpaste |
卸载后虽然仍起作用,但重启就不行了。
某些特殊软件安装前建议看下官方 WIKI,比如 VMware[5],我想当然地用 pacman
一把梭装上,并不能正常使用。
安装方式如下:
1 | pacman build vmware-workstation |
他们都说狗改不了吃屎,这词用得有点粗,但也是一代代人传下来的。现代人都比较文明,这种俗话只在必要的时候使用。
但我觉得事情不是这样的。
我在北乌垭的工地上就遇到过一条大土狗,一脸凶相,皮贴着肋骨,黄色的狗毛黯淡、多处无毛暴露着结疤。虽然如此,但它并非流浪狗。与流浪狗的区别在于它有狗窝,还有自己的饭碗,以及一位主人。它的饭碗是块扁形的方石片,中间有道凹槽可以装点东西。能装流食,但多了会溢。我有次往里面瞧,有一丝土豆皮黏在边沿。我推测那是土豆皮,是因为有几次早上从那路过时看到这狗的主人坐在屋子外面吃土豆稀饭。
那天中午在休工回去的路上,老远就听到狗的悲鸣。我估摸着距离心想可能是这条狗,不晓得又发生了啥。近了,便看到它的主人拿着一根藤条在抽打它。奇怪的很,这傻狗只是卧在地上惨叫,不晓得跑。我们一行人看不过去就劝那主人,问道说咋回事,发这么大火。
身旁的工友本来还在讨论说是不是这狗饿得遭不住把他家里肉偷吃了,那主人看着我们走过来已经减轻了下手的力道,听到有人劝,就把藤条丢到一边。傻狗这才起身瘸着往窝里移动,一边动一边发出轻微细碎的吠叫。那主人解释说,家里婴儿不小心把屎拉在地板上了,他就喊这狗来吃了,把地板清理哈。没想到这狗进屋子看到主人把它往屎堆上招呼,转身就往外跑。主人心想这狗日的连屎都不吃,就出门折了根枝条要收拾收拾它。
回到宿舍区后急着开饭,这事有点不太方便谈论。再过后,也就从大家脑子里遗忘了。今天想着把自己前段时间记录下的猫猫狗狗放到这里,突然就又回忆起这件事。有句话有点蠢,但一直在我的脑子里打转,我得说出来,不说出来我不舒服。——我想,有些狗,可能生来是不吃屎的。
多图警告。
眩晕警告。
后两张来源校官方微博,避免暴露多余信息就不具体标注了……
]]>遇到问题:「Mount is denied because the NTFS volume is already exclusively opened. The volume may be already mou…」
解决方法:找到占用该磁盘的进程并 kill 掉
通过 mount 命令挂载,重启后就会失效,因此考虑如下永久挂载方案。
先在想要挂载分区的位置创建一个空文件夹。比如我想把挂载的分区放在 /home
下,便在 /home
下创建空文件夹 A
。
好了,接下来我们需要知道想要挂载的分区的标识符。(格式是/dev/sda1
…)
标识符可以通过装个分区的软件查看。也可以在终端执行命令 blkid
显示出所有分区的信息,对比找出你想挂载的分区。
找到你想要的分区标识符后——比如我想挂载的分区的标识符为 /dev/sda3
。
先执行 sudo blkid /dev/sda3
查看分区信息,记住分区信息的 UUID
。
然后修改文件 /etc/fstab
,添加一行信息。
很容易想到,/etc/fstab
这个文件起的作用即是:在之前创建的空文件夹与想挂载的分区间建造一个沟通的桥梁。
桥梁的格式为:UUID="9a555s55s5s55s5" /home/A ntfs defaults 0
按这个格式写入 etc/fstab
即可。
UUID
就是执行 sudo blkid /dev/sda3
时查看到的 UUID。ntfs
是分区格式。执行 mount -a
查看是否挂载成功。若报错:
1 | Mount is denied because the NTFS volume is already exclusively opened. |
说明挂载分区被占用了。
最简单的方法——重启。:)
不想重启的话,可以执行 fuser -m /dev/sda3
查看哪个端口占用了该分区,再执行 kill
命令杀掉进程。
再执行 mount -a
,若不报错,就说明挂载好啦。
前阵子被「备案信息复查」,当头一棒,我都忘记自己备过案了。一愣神,我以为域名都必须要备案才能用,问了下室友,才突然想起自己当时备案是因为「域名必须要备案才能指向腾讯云服务器的 IP」。
扫了一眼要求 —— 1、在腾讯云备案成功的域名需要解析至腾讯云服务器;2、网站内容不能涉及博客;3、网站标题需要与网站名称一致。4、电话沟通说不能有评论。
其实貌似备案也不是很严格,修改审核完事后再改过来也行……
还是不要在违法的边缘试探为好
其他都还好,「网站标题需要与网站名称一致」这一条太沙雕了。我备案时的网站名是「三岛有纪夫」,总有人觉得我读了很多三岛由纪夫的书,其实我对他不是很了解,纯粹是觉得这样玩弄字眼很有趣。
现在我不想顶着「三岛有纪夫」这个名字了,不符合我现在的人设。
打算换个轻松点的域名,记得 林海草原 对此有研究,便请教了下。
于是在 https://porkbun.com 注册 —— 「价格比较低、免费隐私保护、彻底不泄露、服务极好。」购买需要 Paypal 与 Vista 信用卡。(之前申请了张中国银行的学生信用卡
把 DNS 服务器换为第三方,https://dns.he.net/。
我还是第一次使用第三方 DNS,说起来其实步骤很简单。
在域名商的域名管理界面将 AUTHORITATIVE NAMESERVERS(权限域名服务器)修改为第三方 DNS 服务器提供的。比如使用 he.net 的话,在 he.net 注册后就会有个醒目的提示告诉你去修改,以及修改为啥。完事后再在 he.net 提供的管理界面添加域名 —— 然后就可以在 he.net 管理域名的解析啦。
当时看的这篇文章:He.net DNS 域名解析申请使用 - 免费 DDNS、IPv6 地址和 Slave DNS
回头看步骤其实很简单,不过因为我是第一次接触,而且 AUTHORITATIVE NAMESERVERS 修改生效的时间有点长 —— 导致我在等待的时间里总觉得自己哪儿弄错了,然后折腾……所以花了好一阵子时间。
遇到了一个问题:
Sorry, you can’t have a CNAME on the root domain. It violates RFC, will break things, and probably cause your own personal space time to collapse in on itself.
You probably want to use an ALIAS record instead.
说是违反了 RFC,可能会导致一些问题。之前用阿里云和腾讯云自带的解析都没遇到这个问题啊,搜索了下。大意可以如下解释:
阿里云和腾讯云用了些「特殊手段」让用户可以给裸域名设置 CNAME。至于是啥「特殊手段」?搞不好就是上面说的方法 —— use ALIAS。
会产生啥问题呢?
MX 记录有可能会和 CNAME 记录冲突。
具体可以看讨论:为什么裸域名不可以设置 CNAME? 17、26、27 楼。
没细看,解决方法很简单:用 ALIAS 记录解析就行了。
DNS 在域名和实际 IP 间起着桥梁的作用。都说需要用 DNS 把域名解析为 IP,那么为啥需要得到 IP 呢?因为在计算机网络中,计算机需要通过 IP 去寻找和它通信的家伙。 —— 当初就是这么设计的。(IP 就相当于门牌号咯)
IP 和地域相关,比如网上就有通过 IP 反查地址的工具。
回到 DNS,如果我们从浏览器输入一个域名谈起,那么就会经历如下步骤:1、浏览器缓存;2、计算机缓存;3、本地 DNS 服务器……
如果你修改过 hosts,可能就遇到过刷新计算机 DNS 缓存。有时候,某些网站被 GFW 挡住了,可以通过修改 hosts 访问。这是因为 GFW 对该站进行了 DNS 污染。所谓的 DNS 污染,大意就是指通过某种手段让你的域名指向错误的 IP。你在本地通过 hosts 映射了域名与 IP,浏览器访问时就直接用本地 hosts 的 IP 去建立连接。这样,就躲避了 DNS 污染啦……
有时候,对于被 DNS 污染了,但你仍想访问的网站。可以使用域名反查 IP 的工具查到 IP,然后通过 IP 访问。修改 hosts 科学上网就是这个原理。
一些破解 intellij 系软件的方法会修改 hosts 将 intellij 的激活域名指向本地(localhost),则是利用这点让激活服务无法正常运行。
啥是本地 DNS 服务器?不细聊概念。一般来说,本地 DNS 服务器默认的是运营商提供的 DNS。「运营商提供的 DNS」对一般用户来说是够用的,前提是你对互联网有一定的「钝感力」。运营商时常搞些幺蛾子 —— 也许你就遇到过,像网络运营商劫持:网页被加上一些莫名其妙的广告,或者域名被解析到一个莫名其妙的网站(DNS 劫持)……
如果你遇到了这些现象且难以忍受,也可以把本地 DNS 设置为其它的。比如国内的口碑较好的有 114 DNS 。Windows 用户可以用 DNS jumper 这个软件方便选择并切换。
前面说过 DNS 充当着域名与 IP 的桥梁,那也就是说 DNS 知道你访问了哪些域名。(这才能去查 IP 嘛)因此一部分有特殊需求的用户对国内的 DNS 服务不是很信任,会使用国外的 DNS。但一般来说,国外的解析速度肯定比不上国内。
插一句:大一把流量用得超出套餐了,便以没收到流量预警短信为由向联通客服反应。(不记得是不是真没收到了,应该是真的吧,不然我这么谨慎的小孩也不至于干出这种事……)然后对面的客服似乎正数着条目向我说:您的流量都是有记录的,某某 APP 用了多少……
当时听着吓我一跳,赶快叫 Ta 别说了。
本地 DNS 服务器查的也是缓存,如果在缓存查不到,就会去域名的 DNS 服务器查。OK!这里所说的「域名的 DNS 服务器」就是上面我提到的 AUTHORITATIVE NAMESERVERS(权限域名服务器)。比如我把本站域名的 AUTHORITATIVE NAMESERVERS 改为了 he.net,这时候「本地的 DNS 服务器」就会去 he.net 查询域名对应的 IP —— 这里的查询就很复杂了,不细讲。查到后,就会把 IP 放在自己的缓存里。
想像一下,你访问一个不存在的网站时,DNS 服务器找到(或者说弄出?)一个不存在的 IP 的出来,返回给你 —— 同时还放在自己的缓存里。这样子,不仅你访问不了这个不存在的网站(因为解析出来的 IP 错误)。DNS 服务器还会把你访问时产生的缓存同步至其它区域的缓存服务器 —— 非常快速地全方位污染。
每一步都有缓存,而缓存,当然有过期时间了。比如浏览器缓存,一般「Ctrl+F5」就会重新请求了。本地缓存,相信修改过 hosts 的都会记得有一个刷新的步骤。Windows 的 IPconfig /flushdns
;Linux 一般是重启 network:service network restart
。
而在对域名进行解析时则有一个参数:TTL,这个设置就是更新缓存的频率(多久刷新一下)。比如理论上你修改一次解析后,要经过这么长的时间才会生效,但一般 DNS 服务都对此做了优化,你实际等不到那么久。
好啦,就是这样。
]]>白川把这个梦给母亲讲过好几次,母亲总以为白川说的是「有人用汽油洗车。」母亲笑着说:「汽油这么贵,怎么会有人把汽油往车上撒呢。」虽然白川对商品的价格一直没什么概念,却隐约觉得母亲搞错了重点。
「一切都不对劲。」每当白川回忆起以前,总觉得有什么不对劲。
聊到这的时候,我怀疑白川当时尿床了。你看,「好半天才扭开瓶盖」、「拎着桶绕着车往车窗上倒」,这很像是尿床在梦里的映射。
白川觉得那不可能,因为那个时候他已经很大了。大概是十四、或者十五岁的样子。白川记得很清楚。十五岁时白川被母亲从学校领走,一直到现在也没回去过。从那开始,时间像是被不断地压缩,或者说像是一根线被拉长,但被人剪去了几段。白川没多少闲暇留给做梦。
从班主任办公室直到走出校门,白川和母亲都没说一句话。出了校门,母亲在路旁把摩托推出来,向后面的白川喊:「走。」白川从这个字里听出了颤音,有点难过。白川走了过去:「摩托我来开吧。」母亲喊他坐后面去,「你把这个本事用在读书就好了。」
摩托在颠簸的泥洼道上跑了好一阵子。白川从后面说:「我不喜欢读书。」
「嗯。」母亲接着说:「你只是不擅长读书。」
白川说「这是一个意思,谁喜欢做自己不擅长的事。」
母亲的声音现在很平淡:「也很少有人能做自己喜欢的事。」
白川觉得问题出在母亲当时没有问他为什么不喜欢读书,而是直接给出了他不擅长读书的结论。白川本来是想反驳母亲,结果反倒好像掉入了陷阱一样,承认了自己不擅长。意识到这点后,白川放弃了继续回应。
白川小声说「我可以去爸那儿一起挖桩。」
后来想到这,白川总是觉得为人父母,真的很难接受孩子的平庸。自己的母亲总是觉得自己是个挺机灵的家伙,只是不肯把这份机灵劲用在学习上。如果肯学,白川一定能学好。白川不确定母亲是在安慰他还是在安慰自己。
一个月后的一天,吃完午饭,白川跟着四舅背着一个装了一床棉絮和两条毛毯的工地包,坐班车到了县城。继续转车前四舅带着白川去理发店染了个黄毛,说这样看起来年龄大点,像个混社会的。他们在县里的汽车站先买了六张车票,还有四个工友有点远,要下午三点才到得了。随后六个人一起到了市里,坐了十多个小时的火车,第二天上午到的南普。车站前有个年轻人等他们好一阵子了,年轻人开辆五菱车,带着他们绕了几座山到达老鹰嘴。
年轻人叫张林。张林看着白川一头黄毛,笑着问他多大了。四舅替白川回答说:「刚满十八,经常做农活,有一手劳力,跟我来锻炼锻炼。」张林哈哈一笑「这么小该去学点技术的。」四舅也笑「先跟到我,好照顾他娃娃些。大点再说。」
白川对张林第一感觉并不好,觉得他多管闲事。
老鹰嘴这片工地的人都住在一栋两层楼的平房里的二楼。这栋屋子刚修好没多久——准确来说其实还没修好,屋顶是用几根钢筋搭的架子,铺了一层塑胶瓦。屋子修到一半的时候,主人老张听说这边要拆迁,本来不打算修了,结果听别人说把房子修好了,要拆迁款的时候可以多赔点,就继续建。想到这反正要拆,老张盖起房子就不那么用心了,买了些廉价的料开始磨洋工。拖着拖着,又有人告诉老张说拆不到这边来。这把老张气得忍不住跳起来骂娘。但也没得办法,老张只有把一口气往肚子里咽。只是这房子,再也懒得往上叠了。
包工头来跟老张谈租房时,老张一口气差点又提起来。骂骂咧咧地说你们在那边修桥,搞得我房子整成这批样。包工头顺着老张的话说,那些搞规划的是脑壳有包,把你们这给折腾惨了。老张皱着眉头考虑利益,最后谈好不收房租,但包工头要找人把房顶给盖起。结果包工头只找人买了几张塑料瓦盖在屋顶。包工头的解释是,急着开工,先搭起住人,等干完了再说。老张也不傻,等干完了你人跑了咋办。包工头打哈哈,瞧你说的,我们都是挣苦力钱的老实人。于是又给了老张塞了几张票子,改口说:「帮你把屋顶盖起,我都可以修两间活动板房了。这瓦是我专门从城里托人买的加厚的好瓦,我只能给你这么多了。」
包工头又说「喊你老婆子煮饭的时候帮这群人煮上,我一个月再给你们五百。柴米油盐我单独买。」
每周出去买菜的那个人就是张林。
就因为张林买的菜,白川对张林坏印象加剧。
每周三中午会炒一顿肉,但很明显,这肉是酸的。白川不好意思当面说,背后问四舅,四舅说莫管那么多。白川受不了,表面上被四舅呛了一口,鼓着气不说话。心里想着老子是来卖劳力的,你他妈不给我把吃的整好,我哪来的劳力。
下一次吃肉,果然味道还是不大对。百川看了一眼张林,这家伙基本都不怎么挑肉吃。白川拿筷子挑了几片肉往张林碗里放,「这肉味道可真好啊,来,林哥多吃点。」
张林连连摆手,「不不,你们动劳力的吃,我不喜欢吃肉。」
白川冷笑,「这么好味道的肉,我们可吃不来。」
张林听出白川语气有点不对,尝了碗里的肉一口。有时候会和白川会说两句话,晚上睡白川旁边的工友解围说:「年轻人嘴细哟,吃不得这粗饭。」
张林尝了一口,抿嘴笑了一下「对不起老哥们,是我没考虑周全。这大热天的,肉久放馊了。我看以后还是提前出门买菜,或者咱们早点趁新鲜煮了吃了吧,哈哈。」
旁边人都顺着开始谈起最近的天气,试图想让小插曲一笑而过。
吃完饭稍作休息,白川和四舅往工地上走。等周围没什么人了,四舅对白川一顿数落,就你话多是吧,就你会说话是吧?
白川没说话。
四舅看了白川一眼,叹了口气。「你小子是倔,但有些事情你不懂……我给你说,你做事多看看别人。你觉得那么多人都是傻子吗。」
白川也有一口气憋在喉咙管,吐出来,流畅且急促地说 「肯定是他狗日的买了烂肉,把钱自己顺去了。」
「你还小……这种事以后多着去了……这是老张两口子整的。」
「你替他说话干嘛,他今天都承认了……」
「那是他娃娃还算懂事。你就觉得旁边这些大人都是傻子?我们接下来几个月都要在这吃饭,老张整个一两次消消气肯定就算了,而且我们这阵子相处得也不错……你要是把人家得罪了,人家表面上道歉,以后背着给你饭里吐唾沫,搞些莫名其妙的东西,你能咋办?」
「出门在外就别整天翘起你那公鸡头……」
说完,四舅喊白川先去桩口,他去领雷管。白川在岔路口沿着向上的道走,慢慢梳理着脑子里的信息。旁边先来的工友说张林是包工头的一个亲戚,一个大学生,来工地守器材挣学费。白川有点怀疑,才开学两个多月,挣鸡儿学费。
不一会,白川到了桩口,打算先用斗车把上午的碎石渣推走。不知为啥,工地上的工具从来都是旧的,连手套都是以前留下来的。四舅说他干了这么久,除了手套,也很少用过新工具。一旦什么坏了,工头总能整一样旧的回来顶替,要么就是找人修一修。你说,旧的总也是新的用旧的吧?那新的都他妈去哪儿了?
白川戴上左右都漏出两根手指的手套准备开始运石渣。先留了个心眼,白川检查了下斗车。
上周刚来的时候,白川他们工具不全,用的是旁边桩位的斗车。才用了两天,旁边的工友就说自己的斗车坏了不能用了,不肯再借。可白川明明看到对面还在用——四舅只好催张林给他们搞快整一辆。
不借就不借呗,为啥要睁着眼睛说瞎话。
他妈的人人都在睁着眼睛说瞎话。
白川想起两个月前还在上学的自己。
其实白川并不是不喜欢读书,他只是不喜欢上学——如果你整整两年多都坐在垃圾堆旁边,被老师讨厌,同学嘲笑,你也会讨厌上学。
作为一个中学生,白川长得很壮实——真得很壮实,具体身高体重不便表述,至少可以说是一眼看去不像是中学生那种壮实。有次班上几个同学把他拉进厕所,领头的那个家伙讲了一大堆关于班级团结的话,最后说旁边那个班看不起我们班,我们要打一架,你会来的吧?白川说「我不会打架。」有人踢了白川一脚,「你不会打架?」白川瞥了眼门后面重叠起的脚印。
「算了,他这样的,明天来了也没用。」
「反正就是那一套。」白川不想细谈,说絮絮叨叨那些东西没有意义。唯一值得提一下的是许浩,刚升初中的时候许浩成绩不错,还当过两学期学习委员,后来跟着别人混,中考考得不好,再后来好像去复读了。
说「算了」的就是许浩。白川觉得许浩比踢他的那个家伙还讨厌。虚伪,太他妈虚伪了。白川能看出许浩处于人群中的那种不和谐感。下课在厕所抽烟的那群少年里,许浩是唯一一个抽烟不过肺的。里面拿着烟的人吸了一口,把烟雾吐进另一个人嘴里,另一个人吞了一口又吐给下一个人。手里拿着烟的那个人说,「这他妈叫三、四……五手烟,有后劲。」在这种似乎宣告着某种地位的仪式里,许浩永远是最后接这多手烟的那个人。到他时已经看不到烟雾了,只有一股混合着烟草和口臭的空气。许浩咽了下去,从鼻孔长出一口气,笑着回应「后劲真大。」
白川低着头撒尿,目不斜视。仍好几次注意到许浩在人群中滑稽又卖力地表演。
「晚上还查锤子寝。」
白川注意到许浩停顿了一下,他肯定又在斟酌用词。
过了一小会,许浩说话了。「老师都他妈是傻逼。」
一群人就旁若无人地笑。「我就喜欢你这种,光读书有锤子用。」
许浩便细微地调整表情,做出被表扬的受用感。
「算了,他这样的,明天来了也没用。」许浩对旁边几个人说道,然后拉着他们往外走。等他们都出去后,白川才用手拍了下裤腿。
只是被踢了一脚而已——可能还会被再踢几脚。这也比被许浩那种虚伪的家伙可怜要好些。他有什么资格可怜我?白川待在原地瞎想。
只要学校还是一座牢笼,这种事就是会一直延续下去的困境。后来白川常看到各种「学家」对这种现象进行讨论,但似乎没人能搞清楚重点。为什么就没人明白呢?
破解之道其实很简单——放下自尊,融入泥潭。
当时的白川不懂维系关系,却似乎很能看清楚周遭事物的本质。
许浩说老师都是傻逼,白川却觉得老师都很聪明。教师似乎就是有这样一种能力——能看出一间教室里被排斥的那个人,然后把 ta 批为典型。
白川把自己当作例子分析,但后来有点搞不清楚到底是先有鸡还是先有蛋了。也许是教师先针对的他,然后学生们才开始顺势而为?
是从什么时候开始的呢?是白川帮前桌的女同学捡起橡皮擦,对方却一脸嫌弃地把橡皮擦扔进后面垃圾堆?「我说了让你别捡!你碰过,我不要了。」
是班主任让大家放学后再在教室待半个小时自习,白川出去上了个厕所被对面的班主任看到。次日便被班主任拎上讲台,扯着头发扇了两巴掌?「我叫你自习,你跑出去干嘛?」
白川推着斗车站在老鹰嘴的坡道往远方望,旁边是桩井,再旁边有搅拌机开始混沙和水泥发出轰隆隆的响声。另一边的远处堆着几根直径有一米的水泥管,引爆雷管时白川他们就躲在那后面。
白川脑子里一瞬间产生了疑问,「我为什么要在这?」就像上学时,他问过自己「为什么非得上学?」学校里这么多傻逼,为什么我非要和傻逼挤在一块?
可是又有什么东西不一样。
四舅上来了。白川收回思绪,先干活吧。
第二天下雨,四舅和工友们打长牌,白川不会,也懒得学。他以前学过,但对赌博不太擅长。白川帮他们记账,发了工钱后大家才扯账。张林睡在旁边的隔间,走过来问白川要不要一起看光碟。四舅让白川去和张林耍,「你们年轻人有话说。」有人打哈哈,「有毛片莫得,我也要看。」四舅说「人家大学生。」「大学生就不是男人嗦。」
张林从外边接了个插线板到这间屋子,插线板放在桌子上,这张桌子算是特权,张林要学习。铺位则和外边的人一样,一层棉絮铺在水泥地上。桌子上有个小柜子,锁打开放在一边。张林一边问白川些有的没的,一边打开柜子,从里面拿出一个书本一样的袋子。白川注意到柜子里面还放了不少书。
这个袋子的每一页正反两面都插着一张光碟。张林问白川要看啥,白川说随便。张林没随便,他挑了一张,说「这张你肯定爱看。」然后从被子里掏出一个便携式的光盘播放器。
白川说,「来张你爱看的。」张林楞了一下,疑惑地说你说啥玩意。白川解释说,「你刚才说放一张我肯定爱看的。你喜欢看啥?给我放张你喜欢看的吧。」
张林哈哈一笑,「这张就是我爱看的。」
白川觉得这家伙没意思,明明自己喜欢看,嘴上却说放个别人喜欢的。
那次放了啥白川已经忘了,只记得是个外国的片。白川还是第一次看这种电影,他有点不习惯。人物说的话都听不懂,看啥玩意还。虽然有字幕——那也没用,看字幕时根本来不及看画面。
不过白川还记得他们聊了些啥。张林问白川了一个问题,知道这为什么叫老鹰嘴吗?
白川对这记得很清楚。因为他从来没考虑过这种问题。老鹰嘴就是老鹰嘴,别人那么叫它,白川就那么叫它。老鹰嘴就是这个地方,这个地方就是老鹰嘴。白川从来没想过老鹰嘴为什么叫老鹰嘴,也从来没想过老鹰嘴为什么叫老鹰嘴也是一个问题。
张林讲了个故事。
老鹰嘴之所以叫老鹰嘴,是因为这山上有一大块三角形的石头。尖嘴的这边收成一直不好,另一边却水沃田肥。慢慢地流出了一个传说,说是山顶那块石头本来是头老鹰,因偷吃粮食被山神化为石头。它变为石头后仍不改本性,尖嘴不停地吃,把这边的粮食全吃进肚子,又都排泄到了另一边的村子。这才导致两遍庄稼收成的迥异。
白川觉得有点意思。
「尖嘴这边没人去把那石头敲了?」
张林笑,「听说以前有人尝试过,但那山以前太险了,不好上去,而且另一边的人也不肯让他们这么搞啊。」张林站起来走到窗口,窗口没装窗子,就一个方形的大洞。雨滴打在屋顶的塑胶瓦上,噼里啪啦的,雨丝也不断从窗口飘进来。
张林指着山顶说,看那边。
白川看过去,山顶有座信号塔。
「那边以前有座水泥厂,把山挖空了有一半。后来水泥厂没搞了,这儿的人沿着坡走出了一条路。现在那条路挺宽的,车都可以上去。这座塔就是今年移动公司把材料拉过去安上的。」
数年来难以接近的地方现在居然开着车就能到达。白川觉得不可思议。
但这个角度看不清石头在哪。
「开车就能去?」
「对噢。」
白川冒出个念头,「走,我们去把那块石头炸了。」
「啥?」
「我可以拿几根雷管出来。」
「我没喊你解释怎么炸。你也太异想天开了。」张林没下过井,也知道雷管虽然有点威力,但肯定炸不动那么大的石头。
「哈哈哈哈。」
张林听白川笑了几声,知道他是在开玩笑了,还是补充了句「而且也太危险了。」
白川沉默了一下,问张林「你知道电视里……还有电影里,都是假的吗?」
「啥?」
张林觉得白川思维太跳跃了。
这是 7 岁的时候,白川同桌问他的问题。
「你知道吗?电视里都是假的哦。」
「什么是假的?」
同桌兴奋地昂头说「都是假的。比如那个《封神榜》,里面死的人都是假的。」
「你的意思是那些人都没死?」
「是啊,他们是假死的。」
之前,白川从来没考虑过这种问题,就像「老鹰嘴为什么叫老鹰嘴」一样。
白川感到一丝悲哀,本来有人提醒过他的,他同桌就提醒过他。可是他忘了。张林今天提起,白川才意识到自己之前也意识到过:「自己从来没想过这些问题。」白川觉得那时的自己就像是活在游戏里的 NPC,或者末日里的僵尸。有人尝试过唤起他,可他自己没有兴趣。
「带我去那边山上看看呗。」
雨停了后张林去开车,白川本来打算借口上厕所去拿几根雷管,想了想,觉得躲着张林就不能拿引爆器,到时候用石头砸的话确实有点危险,便作罢。
十多分钟,俩人就从这边下去,从那边山上爬起。这山远远看起云雾缭绕挺有意境,进去了才发觉雾气太他妈干扰视线了。
张林把车停在稍远的地方。地下有一堆压扁的大纸箱子,旁边砌了一堆泡沫,这些东西就堵在路中间。纸箱子全湿了,泡沫表面似乎涂了什么防水的涂料,表面形成了几颗水滴。前面码了一圈围墙,围着的就是他们之前看到的信号塔。那块石头应该就在塔子后面的悬崖处,白川估计着距离往前走。
沿着围墙走过去,出现在眼前的景象让白川呼了一声卧槽。张林从后面疾步走过来,「哈哈,看样子有人先你一步。」
一览无余的空旷,碎石从围墙后面开的门口处铺了一条长长的小道直到悬崖边。这显然是那块大石头被炸后的现场。白川上到窄路,有点磕脚。沿着碎石道走到悬崖边,风的触感越来越明显。
白川有种错觉,好像与青春有关的一切,性欲、精力、迷茫、还有其它未曾经历过的东西,都随着那块石头消失了。
「整他妈这些,」白川用脚尖在碎石里滑动,「花里胡哨的。」
风在山丘间奏起巨响。
「这场景有点像一部电影。」张林说。
「啥?」
「这场景有点像一部电影。」张林重复了一遍。
「啥电影?」
「我忘了。」
两人无言地望向前方。
]]>这篇文章不会涉及 Session、Cache 等……下文是我对 Shiro 简单的理解,也许能让我这样的新手尽可能快地利用 Shiro 实现自己的需求……
详见 config/ShiroConfig
与 security/
下的代码。
搜索任何一篇关于 Shiro 的资料,几乎都会在文章前面列出 Authentication、Authorization……我们先放下这些,关注权限控制的核心。
首先,Shiro 把身份验证抽象为 principals(身份)和 credentials(凭证)。具体下来其实就对应我们平时使用的 username 与 password。简单来讲,「身份验证」其实也就对应「登录」。
登陆(身份验证)完成后,Shiro 首先确定了你是我们系统中的人(否则,你的状态就是游客),然后 Shiro 会通过某种方式去查询该用户「能做什么事」。
「某用户能做什么事」在 Shiro 中对应的是「授权」的概念。要实现「授权」,了解 Shiro 中的四个概念即可。
Subject(主体)、Resource(资源)、Permission(权限)、Role(角色)。
Subject 就是你通过 username 和 password 登录进来的用户。
Resource 就是你要操作(增删改访问)的任何东西。比如一篇文章、一首歌……
Permission 是 Shiro 中的原子单位,指我们对某个 Resource 进行增删改访的权限。比如播放周杰伦的新专辑(你不买可不能播放哦)、比如访问某篇付费文章……
Role 其实就是 Permission 的集合。一般在用户层面被称为:普通用户、VIP、管理员、超级管理员……
要使用 Shiro 的话,了解这俩概念就行了。一个是身份验证,需要 principals 和 credentials。对应我们通常意义上的 username 和 password。一个是授权,核心是 Subject(主体)、Resource(资源)、Permission(权限)、Role(角色)。
身份验证其实就是 Authentication、授权信息则通过 Authorization 得到。
我们到配置 Shiro 的核心代码里看一下。
暂且抛开配置,Shiro 的核心只需要我们写一个自己的 Realm。
简单来说,Realm 配置的就是如何身份验证以及如何返回权限信息。虽然说的是「如何去……」,实际上我们只需要配置从哪获得用户的真实 credentials,从哪获得用户的权限信息即可。因为 Shiro 已经把身份验证抽象为「对比用户登录时输入的 username、password 和注册时存储的信息」。
也就是说,我们只需要写一个自己的 Realm,配置身份验证和授权数据的来源就行了!
看看 Realm 的模板:
1 | public class MyRealm extends AuthorizingRealm { |
如上,doGetAuthorizationInfo()、doGetAuthenticationInfo() 俩方法……
我们看看这俩方法的简单实现。
1 | protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken auth) throws AuthenticationException { |
这里其实本来应该是一个简单的 username 与 password 的判断(我的 username 使用的是 email)。我的数据是保存在数据库里的,通过服务 userService 获取。
用户信息也可以不放在数据库,放内存或就保存到硬盘也是可以的嘛……
如果数据库保存的是加密后的信息(明文保存当然也行——如果你愿意),可想而知这里的判断逻辑大概就是这样:
1 | // 伪代码 |
但我这里用的是 jwt 控制权限。jwt 做的事情其实可以简单归结为:把用户名和密码加密为一个 token(字符串),不过这个 token 是可以解密的。我们可以通过给定的解密方式(提供的方法)逆获取 username 和 password。
1 |
|
如上,先通过 user 获取 role,再通过 role 获取 permission。
这就是上面授权里提到的 Subject(主体)、Permission(权限)、Role(角色)。
而授权里的 Resource(资源),具体就可以是某个 Controller 里的 API,我们可以在 API 对应的方法上通过注解配置来控制。
例如:
1 | // 一个通过 Role 控制,一个通过 Permission 控制。 |
从这里看 user、role、permission,也很容易看出它们应该是多对多的关系。
一个 user 可以有多个 role,一个 role 也可以有多个 permisson。
上面的 Realm 模板并不完整,还需要重写一个 supports() 方法。
1 | public class MyRealm extends AuthorizingRealm { |
JWTToken 是自己定义的一个 token 类,即便不懂我们其实也能大概猜出这里 supports() 的作用:用自己定义的 JWTToken 来进行权限验证。
程序逻辑:
换种方式解释:
用户输入 用户名、密码
PS:需要前端加密吗?前端 RSA 加密
加密后的密码 与 通过 用户名获取的密码对比
成功 返回 token,失败 返回
header 中添加 Authorization 字段。例如 Authorization: token,token 为密钥。
Shiro 怎么知道应该通过 token 来判断呢?
这个问题对应的是 Shiro 在 doGetAuthenticationInfo() 中传入的 auth 里的 Credential 为啥获取得到的是 token。(按上面的理解 Credential 不本该是密码吗……)
1 | protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken auth) throws AuthenticationException { |
是通过在 Shiro 的配置里注入自己实现的 JWTFilter 实现的。配置后就会放弃普通的用户名、密码鉴权方式而使用 token,即 JWT 来鉴权了。
这也是为什么 Shiro 要用 Credential 这个概念而不直接弄个 password……
类似于 Spring MVC 里通过 DispatcherServlet 来控制请求,我们可以通过自己配置的 Filter 来进行权限控制。
具体不谈了。
]]>你不晓得吧,每次回应你的留言就感觉突然回到了那年的语文考场。因为是第一堂,整场考试我都激动地发抖。而此刻的我就像是在做一道高考语文的分析题,担心说的不好,担心说的不够动听,又担心说的话超过我们现在关系该说的词汇,还担心回你太晚你会不高兴……我怕我们的关系止步于此,又怕我们的关系不只如此。我纠结。我是个傻叉。
2019-03-22
他们说你试试吧,放下自尊心你也可以的。
可是每当我摇起尾巴,你的手就会收回去。
为什么呢?我像个沙雕一样追问。
是因为堵车、丢了钥匙、找不到厕所吗?
像梦里那样。
2019-07-25
还没开始就辩解 心里知道却
我好像因为你变得不自由了
可这又不能怪你 你啥都不知道
]]>「你居然也如此这般!」
在这样的话被说出的那一瞬间,我们便在对方独有的归类方式下成了一个符号。立于 Ta 身前、活生生的人,顷刻间就降维成了「如此这般的一员」。我们赤身裸体、剃去毛发、被「如此这般」粉刷,失去了个性和特征,再也辨识不得。
它们隐含着这样的内容——「你这种人(这种身份、这种地位、这种标签……)不该做这样的事。」
对着班上成绩还不错的学生说「你也打球啊。」好像成绩不错就应该是书呆子,而书呆子是不会运动的。结果有的家伙在这种环境下过早学会读空气,浪费了童年。
辩论时「你居然引用某某某的观点、事例……」
而「你也配如此这般」这类话则是更直接的不尊重了。
大家似乎更喜欢托物来了解别人,享受拼图的乐趣。是科技发展的原因吗?避免直接交流的工具的发明反过来又影响了这些人,不再适应直接交流。又或者不相信人类在介绍自己时那加工后的描述,更信任自己的判断?
有些人被这样评论了可能会感到生气,因为下意识地想反驳但又觉得似乎自己理亏——毕竟「如此这般」的时候被别人发现了。
面对这样的说法,该如何表演呢?是坦然承认?还是解释自己其实是无意中……或是言他道「这『如此这般』中的某部分其实还不错……」——多奇怪啊,这么没道理的问题我们竟然想用理性来反驳。
破解之道也许很简单——「你不必活在别人的看法里」。
]]>[2020-02-10-update] 在 Manjaro 上安装有点问题,还没折腾出来。
[2020-03-18-update] Arch 系的看文档好了: Arch_IOS
核心是两个包:libimobiledevice,用于 Linux 与 IOS 设备通信;ifuse,用于挂载 IOS 设备的文件。
至于下面提到的 ideviceinstaller,则用于查看 IOS 的 app bundleID,即 IOS 设备安装的 app 的标识码。非必要。(如果你记得或通过其它途径能找到对应软件的标志码的话……)
需求:把本地的电子书、电影、音乐等放进 iOS 设备方便使用。若是在 Windows 环境,有各种助手……Linux 咋整呢?
(非越狱前提下:)
挂载 com.apple.Music
等软件的 Documents 目录,以及尝试 --container
挂载时,报错 ERROR: InstallationLookupFailed
。
有可能是 UIFileSharingEnabled
的问题,但我不确定。
可能的解决方案(我没试过):也许可以先通过助手(或者 libimobiledevice)安装 apple music 等软件的 ipa,然后尝试管理。
执行
1 | apt-get install libimobiledevice-utils |
装上后,Linux 的机子就可以连接 iOS 设备了。
用数据线连接电脑与 iOS 设备后,在 iOS 端点击信任。之后,(一般来说)文件管理就会自动挂载上 iOS 的存储器。
文件管理器自动挂载上也不过是把设备挂载到
/media
。如果没自动挂载上而有需求,可以手动挂载。如果使用 ifuse,执行
ifuse <挂载点>
即可。例如:
ifuse /hqweay_phone
不过,存储器里只有图片、视频、以及「通过各种助手安装的软件的文件夹」等……
联系上面提到的 限制 。
这样已经能读到「通过各种助手安装的软件的文件夹」了。举个例子,如果我们需要把 Linux 电脑上的一本电子书放进 iOS 上的「多看阅读」,就可以先通过「各种助手软件」安装「多看阅读」,然后执行上面步骤,再直接把电子书放进多看阅读的文件夹。
cool!不过我们能不能读取到通过 App Store 安装的软件的文件夹呢?
看下面啦。
通过 ifuse 可以挂载「通过 App Store 安装的软件的文件夹」到电脑。
1 | sudo pacman -Sy ifuse |
先下载并安装 ifuse。
1 | // cd 到要安装的目标路径,然后: |
编译安装。
1 | // 将源码在本机编译: |
编译途中可能会报错缺少依赖,按报错缺啥安装啥即可……
各种命令详情见文档。
https://github.com/libimobiledevice/ifuse
我们要干啥?要操作「通过 App Store 安装的软件的文件夹」。
ifuse 在这里起的作用便是把「通过 App Store 安装的软件的文件夹」挂载出来。
整个步骤分三步:一、在电脑上创个空文件夹(挂载点);二、找到要操作的软件的唯一标识号;三、通过标识号把软件的文件夹挂载到挂载点。
创个空文件夹。例如文件夹名 hqweay_phone
。
获取软件的唯一标识 app bundleID。
需安装 ideviceinstaller
。
1 | yay -Sy ideviceinstaller |
执行 ideviceinstaller -l
。
参数说明:
-l, --list-apps List apps, possible options:
-o list_user - list user apps only (this is the default)
-o list_system - list system apps only
-o list_all - list all types of apps
-o xml - print full output as xml plist
会列出 com.coderforart.iOS.MWeb
这类包名……这就是 app bundleID。
执行 ifuse --documents [app bundleID] [空文件夹]
。
–documents 挂载 Documents 目录
–container 挂载 sandbox
例如 MWeb
ifuse --documents com.coderforart.iOS.MWeb hqweay_phone/
或多看阅读
ifuse --documents com.duokan.reader hqweay_phone/
kindle
ifuse --documents com.amazon.Lassen hqweay_phone/
挂载上就可以把操作该软件的文件夹了。
注意开发者使用文件夹的规则不同,请确保文件放入的文件夹是软件对应的本地文件存放目录……
使用完了记得卸载……
fusermount -u [空文件夹]
最近捡起了《死人经》阅读,沉迷其中,一口气读了几百章。龙空几年前的帖子经常一边评价《死人经》不迎合市场,一边又狠狠推荐,倒是很符合这个论坛自嘲的定位「一群落魄写手的发泄地」。作为市场定义的网络小说,《死人经》是不合格的,不够白,不够爽。对于这群多曾是读者的写手来说,这本书又是出众的「粮草」。
网文常有「小白」「老白」这样的自嘲划分。其实哪有这样的壁垒,不过是不同的读者群体罢了。只是想放松一下的小白不一定就读不进去严谨论证的文字,就像写小白文的作者不一定就写不出来有营养的东西。
本来有能力写得更好的作者却写小白文,有人喜欢把这称为「对市场的妥协」。「妥协」这个词像是在说这是一件不好的事。好像又有一个阳刚的青年被生活捶得遭不住了。就像很多事一样,大家评价世风日下,但是也说不清楚究竟是游戏烂导致玩家妥协,还是玩家一个个不够苦行僧,导致游戏烂。又或者,是观众太烂。
不管作者是何目的,我都觉得这只是网络小说这个市场的细分。有小白区,也有老白区。但相反的,我觉得应该尊重那些市场的搅局者。环境变差,我不认为是优秀作者「妥协」导致的。但同样的,市场的变革,升华,也从来不是「妥协者」能做到的。
这个市场的平均水平与前景,还是在那些不愿妥协,坚持自己的「异类」身上。
「网络小说」表示的只是一个载体。但现在一提起这个词,大多指的都是各大网文站上的小说。而这类小说由于它的盈利机制,显著的特点就是长。因为长,如果读者没有代入感,就很容易弃。所以我觉得,大多能读下去的人,应该都产生了代入感才对。
什么样的故事不能让读者产生代入感呢?
如何营造代入感?
极端点,拿中文搜索引擎都不会收录的「暗黑小说」举例。除了猎奇以外,真的有人能从这种故事里获得快感——作为日本女权领袖人物的上野千鹤子,对这种作品却很宽容。在作品《厌女》中大意提到,「那些有这种危险想法的人,正是通过这样的作品发泄自己的感情,才没有去真正地伤害别人。」
常在乌托邦小说里出现的「思想罪」则是基于「正是这样的东西影响了人们的纯洁,才导致了这类事件的发生。」「想想你们的身边活着个天天想要 XX 的人。为了你们的安全,这种人应该被 XX 起来。」
许多对小说的评价其实都不是从读者的角度谈的。他们认为纯粹地为了黑而黑,是发泄、猎奇、哗众取宠;作者应该反讽、揭露现实。
对创作者来说,内容可能是满足自己的表达欲——不过小说是交给读者的,这种表达欲就被称为「私货」;也可能就是纯粹地迎合读者;也可能只是纯粹地构建一个世界,描绘了一个世界。
然而动机总是混合的。一直都存在着一个很有争议的问题,那就是创作者需不需要在作品中承担伦理道德的责任。如果需要,多大程度呢?(肯定是需要的,不然也不会存在审查。)
小说当然可以不在乎代入感。它描绘一个故事、一个环境或者一个世界。为此,它里面的角色可以都很有魅力,也可以都是混蛋。可以正义战胜邪恶,也可以恶把善虐得体无完肤。可以写淡出白开水的小事,也可以跳出传统的道德观念。
角色只是小说的要素之一,是带领读者领略内容的要素。比如很多人评价《黑暗森林》的角色程心圣母,却并不影响读者们跟随程心的经历去领略这个故事。事实上,这本书里,程心的作用也确实被弱化为一条串起故事的线。
小说只是叙事的载体,读者不认识作者,只在文字里共鸣,和作者推杯换盏。人性是叙事中探讨得比较多的一个论题。人性的善、人性的恶、人性的复杂、人性的层次。
畅销小说,流行影视经常有这样的桥段:主角在故事中途,由于情感上的缺失(失去爱人、遭遇误解、被逼无奈……),性格聚变(通常被称为黑化)。作者在后半部分描绘一个与其前文完全不同的角色,但通过偶尔的回忆杀引起读者情绪的唏嘘。这虽然俗套,但至少复杂和层次都表现出来了。
大多小说对人性的挖掘都止步于「偷面包给妈妈充饥」。有的作者取巧,从抽象的层次进行总结论述,想要严谨,实则模糊。大道理这种东西,稍微上点年纪,谁都会讲几句。毛姆说自己写《人性的枷锁》取材了几十年,越是细节,难度越大。
网络小说往往喜欢将细节着眼于勾心斗角,主角的金手指是「少年老成」。成熟总是指人情世故的老辣,「洞悉人性」讲的是能够拿捏人心。经典的文学作品则往往更偏向于描述各种各样的人,他们有缺陷,在怎样的环境下有着什么样的困惑,如何探索答案,去生活。
]]>November 27,2018
**安妮霍尔 (1977) **
![[assets/46e3baec744861565a8b4995124edaf3_MD5.jpg]]
Woody Allen(伍迪艾伦)最好的电影是哪一部?由于每个人都有自己观影的口味,而且他的片子实在太多了,这个问题真的很难回答。也许你更喜欢他早期的那些喜剧?比如 Love and Death《爱与死》,Sleeper or Bananas《傻瓜大闹科学城》。Manhattan《曼哈顿》算是伍迪艾伦最精致的电影吗?还是说你更喜欢 Hannah and Her Sisters《汉娜姐妹》这样的主流作品?或者折衷一点,比如 Zelig《西力传》、A Midsummer Night’ s Sex Comedy《仲夏夜性喜剧》?
伍迪艾伦的最佳电影是哪部并没有一个定论,但至少我们可以肯定地说,Annie Hall《安妮霍尔》是他最重要的一部——虽然也有不少人觉得这部片子是他巅峰之作。一提这部电影,大量记忆犹新的镜头就会浮现在眼前——像是伍迪艾伦在厨房追逐逃跑的龙虾、一个不合时宜的喷嚏把昂贵的可卡因全都吹散。[1]
伍迪艾伦对 Annie Hall 其实并不是很满意,他认为这部电影并没有完全展现出他希望表达的东西。然而 Annie Hall 却是他票房第四高的电影,而且这部电影还获得了第 50 届奥斯卡金像奖的最佳影片、最佳女演员、最佳导演和最佳剧本奖这四项奖项。除此以外,这也是伍迪艾伦唯一一部自己以演员的身份获得奥斯卡提名的片子。[2]
![[assets/5d30cc545b2357bec3b1836793e40c9f_MD5.jpg]]
Annie Hall 在伍迪艾伦的导演和写作生涯里起着关键作用。这部电影是伍迪艾伦从纯粹的喜剧到制作电影的一个转折点,它牺牲了一些幽默,有一个更严肃的创作意图,也更具艺术性。不过这并不是说安妮霍尔就不够有趣了,只是伍迪艾伦并不想仅仅止步于取悦观众。
这种转折是在 Annie Hall 之前开始的。Love and Death(爱与死)虽然也是一部喜剧,但它的主题是「死亡」,而且带着一种滑稽的悲观基调。Play It Again Sam《呆头鹅》是伍迪艾伦第一次尝试以纯粹的人际关系为主题的喜剧,没有涉及罪犯、没有香蕉共和国、没有未来世界的反乌托邦也没有 19 世纪的俄罗斯人。不过从女主 Annie Hall 和一个 40 岁、满脑子都是对死亡的思考、直到现在都还没能够和别人维护一段持续的亲密关系的男人热恋这一点来看,安妮霍尔仍然是一部伤感而有趣的电影。[3]
这也反映在电影的智识框架中。伍迪艾伦早期的电影也提供了一系列令人印象深刻的文化参考,Annie Hall 则更积极地展示了他的学识。这部电影充满了对 Freud ^1、Sylvia Plath ^3 和其他一些人的热情。
没有迎合观众的打算,伍迪艾伦很乐意拍一部台词比活动占更大比重的电影。这部电影的镜头平均时长达到了 14.5 s,对于 20 世纪 70 年代来说,这可是相当长了。和现在电影里的接连不断的跳切相比,更是非常不同的风格。丰富到足以填满几部电影的内容被整合进 Annie Hall 这一部电影里,不得不说这实在是一个充满创意的制作人的作品。
Annie Hall 显然属于精英主义。男主角 Alvy Singer(由伍迪艾伦自己扮演)在电影院排队等候时表达了他对一个讲话不客气的男子的厌恶。对于持以不同艺术观点的人,他表示对他们的坏品味感到遗憾。还有一些场合也会让 Alvy 皱眉,比如遇到一个粗俗、不拘礼节的人想让 Alvy 写他的笑话,或者观看用上了笑声音轨的喜剧节目。
就连 Alvy 和 Annie 的神经质都在某种程度上被视为他们高智商的证据。在一个场景里,Alvy 询问一对年轻的夫妇为什么他们在一起那么快乐,然后那位女士回复说,「我很浅薄,空洞,没有自己的想法,也说不出什么有趣的东西。」她的男性伴侣也对此表示认同。在某种程度上,不快乐其实是知识分子的特权。
虽然电影展示了人物的博学,但也有观点表示,虽然电影里的人物都很聪明,但他们对自己的情感和需求已经没有自己的理解了。情绪被理智和药物控制,失去了真正的意义。Alvy 在和 Annie 复合时谈到了自己的成熟,但是当他和 Annie 分手时又说了同样的话。其实在这两种情况下,Alvy 都没表现得有多成熟。
这似乎是社会上普遍存在着的一种不安,就像 Alvy 的朋友 Rob (Tony Roberts 饰) 对自己的性生活吹嘘不已,常搞些花里胡哨的名堂让自己看起来没那么老。Alvy 所处的 New Yrok 温暖、充满活力,与 Rob 浅薄颓废的 California 形成鲜明的对比。还有一个例子,Annie 的哥哥告诉 Alvy,说他有时候开车,会想着一头撞上其他车的前灯。这让 Alvy 之后的行车之旅很不舒服。
![[assets/6008d82ffba809801459f03273bb4087_MD5.png]]
不过影片的重心还是聚焦在 Alvy 和他分分合合的女友 Annie Hall (Diane Keaton 黛安·基顿饰) 身上。在影片的开头,Alvy 用了两个笑话向观众做自我介绍。下面是第一个:
有两位老妇人在 Catskills mountain(卡茨基尔山)度假,其中一个说:「哎,这地方的食物可真够糟的。」另一个说:「可不是嘛,给的份量还那么少。」你瞧,我对生活的看法基本上也是如此:尽管充满了寂寞、痛苦、悲惨和不幸,但又觉得一切都逝去得太快。
这奠定了 Alvy 性格的基础。Annie 后来告诉他,他无法享受生活。我们可以在电影里看到,当 Alvy 还是个孩子时(仍然戴着大眼镜),他拒绝做家庭作业,因为他对宇宙终有一天会终结感到沮丧。他就是我们从众多伍迪艾伦的电影里了解到的那个人物——一位依赖药物,一生都在接受治疗却没有从中得到任何慰藉的精神病患者。
即便是非常细枝末节的事,Alvy 也完全不讲道理。由于 Annie 的迟到,电影已经开始了两分钟,Alvy 就拒绝入场看电影;因为被别人在大街上认出来而感到恼火;乐此不疲地反复观看 The Sorry and the Pity(悲哀和怜悯,原名是 Le chagrin et la pitié)这部关于大屠杀的消极电影。
事实上,Alvy 的部分不安全感与他的犹太教育有关。他有点好笑地偏执于路人对他犹太身份的「暗示」,然而这所谓的「暗示」大部分都发生在他的脑袋里。比如别人把『Did you?』简称为『D’ you?』,他坚持认为别人说的是『Jew?』。在和身为 WASP[4] 的 Annie 约会时,这种偏执便导致 Alvy 产生了一些莫名其妙的念头。
有一个场景,Alvy 和 Annie 冷淡的家人们共进晚餐,Alvy 不安地意识到 Annie 的格莱美奶奶,这个讨厌犹太人的「霍尔奶奶」(『Grammy Hall『)正嫌弃地看着他。然后镜头展现出他在脑海里打扮成一个犹太教经师的场景,人物的不安就从视觉上让观众体会到了。伍迪艾伦通过使用分屏的手法展现两个不同的家庭在晚餐时的表现,以鲜明的对比强调了冷淡的 Annie 一家和 Alvy 成长的热闹犹太家庭之间的差异。
![[assets/11f43fec896269bebf0e681b14d7d241_MD5.jpg]]
在电影开头,Alvy 讲的第二个笑话是这样的:
另一个对我来说比较重要的笑话,一般认为它出自于格劳乔·马克斯,但是我想它最初出现在弗洛伊德的《诙谐及其与无意识的关系》[5]一书中。是这样的,我来大致复述一下:「我永远也不想加入一个会员都是我这样的人的俱乐部。」这是我成年生活的关键笑话,它说明了我与女人之间的关系。
像 Alvy 这样充满问题的人会和女性有什么关系?和什么样的女性呢?当然了,和他一样有很多问题的女性。Alvy 在打网球时遇到了一个年轻女性,Annie Hall. Annie 她那笨拙的道歉方式,有趣的台词 (「la-de-da」是我们记忆最深的一句),还有奇特的穿着风格,和 Alvy 简直是天生一对。
Alvy 带着观众快速回顾了他之前的婚姻——为了避免和第一任妻子发生性关系,他花时间和她讨论肯尼迪的暗杀阴谋论;在第二次婚姻中,他试图使用性来表示对他妻子上层阶级朋友们的反抗。
然而,就像在电影结尾的那段蒙太奇里展示的欢乐时光一样,很显然 Annie 才是他一生中的真爱,也是他最怀念的一任女友。不幸的是,Alvy 不想加入会员都是他这种人的俱乐部。他不能接受爱而不破坏它,因此他和 Annie 的关系是注定要失败的。这一点在电影开头就有说明,所以我这并不算剧透哈。
Alvy 和 Annie 之间的关系开始得太顺畅了,以至于找不到一个明显的,能解释他们为何分开的理由。他被她的粗心与个性所吸引,她则着迷于他的风趣和才智。他鼓励她作为一个个体去成长、用自己的品味教育她、支持她想做一名歌手的尝试、并说服她去上课。
随着 Alvy 用他不正常的精神状态、猜疑和偏狭去驱赶 Annie,这段关系很快就恶化了。当他通过询问 Annie 是否在经期来驱散她的坏情绪时,也在期待她能持续关注他的感受。明明是他鼓励 Annie 去修读大学的课程的,现在 Alvy 却因为担心她会外遇,对上课这件事产生了敌意。
伍迪艾伦塑造了许多不断成长的女性角色。他帮助她们发展提高,又担心有一天她们会超越他,继续前进。比如在这些电影里:Manhattan(曼哈顿)、Hannah and Her Sisters(汉娜姐妹)、Deconstructing Harry(解构爱情狂)。女性需要一个男人来帮助她们成长,这种观点可能有点太自恋了。但在伍迪艾伦的电影里,这是一个固定的主题。
![[assets/38578877754fc7570d9fdb49b0daca76_MD5.jpg]]
Annie Hall 多大程度上算是伍迪艾伦的自传作品?伍迪艾伦总是迅速地将自己和他作品里的人物撇清关系,然而他们的性格总是惊人地相似。虽然他作品里的主角不完全是按他自己来塑造的,但是毫无疑问,他把自己的性格和经历经过夸张,扭曲后糅入了角色。[6]
想想看,Alvy 是一个喜剧作家,他的名字听起来和 Allen(艾伦)很相似,Alvy 童年时的一些事儿也发生在伍迪艾伦身上。然后是伍迪艾伦和 Diane Keaton(黛安·基顿)间并不成功的关系,而且黛安·基顿的真名也叫作 Hall(霍尔)。事实上,黛安·基顿的确表明了 Annie Hall 就是一个和蔼版本的她自己。
Annie Hall 这部电影自由、非线性的结构正体现了影片中两个中心人物混乱,无组织的思维和生活。在这种技巧下,伍迪艾伦得以打破传统的叙事方式,自由地向我们传递他想要表达的任何东西。Annie Hall 的结构如此松散,以至于我们完全感觉不到现在看到的版本其实在第一个版本上剪去了 50 分钟。[7]
这种结构下,即便伍迪艾伦频繁地展现他的叙事技巧,角色的形象仍然牢固地竖立在我们脑海里,观众似乎在切身感受角色们的焦虑与担忧。每次脱离传统的叙事手段,都加强了我们对 Alvy 和 Annie 的认识和理解。
有时候,这些手段被用于展现 Alvy 和 Annie 的不契合。他们相遇的那天,Annie 邀请 Alvy 去她家。他俩看似颇有兴致地讨论着艺术,屏幕底部的字幕却向观众们展现了他们真正在考虑的东西——担心失态、被对方当作笨蛋、以及一些与性相关的东西。
在另一个场景里,Alvy 想要和 Annie 做爱。Annie 否认自己分心了,但是我们看到的却是,Annie 的灵魂脱离了身体,坐在椅子上。Annie 的灵魂甚至对着越来越恼火的 Alvy 说道,「Alvy,你知道我把画板放哪儿了吗?我想我可以趁着你们干这事时画上两笔。」
还有一个场景,我们看到他们一起乘坐飞机,同时,他们的想法通过画外音的形式传递出来,展示了他们对相同经历的理解差异有多大。还有一次,Alvy 和 Annie 和他们的心理医生交流时,伍迪艾伦通过一个分屏镜头也向我们展示了类似的不和谐,以及思维方式间的巨大鸿沟。(顺便提一下,这里并不是真正的分屏。他们俩在一间屋子里,然后通过镜头调度制造了一种分屏的错觉。)
虽然电影制作里经常使用闪回,但许多都显得非常刻意。在 Annie Hall 这部电影里,Annie 则真的带着 Alvy 去看她年轻时和前男友们相处的情形。Alvy 倾听他们的谈话并不断地评论。作为回报,Alvy 则带着 Annie 和 Rob 回到了他家去看他小时候的样子。当 Rob 向 Alvy 的家人提问并得到回答时,这一切都在真实发生着的错觉就就从观众心里烟消云散了。
因为电影里的角色们都在讲话,所以第四面墙经常被打破。比如电影刚开始时,我们不知道 Alvy 到底在和谁讲话。也许是心理医生、又或者是摄影组、也可能是我们。在另一个场景里,Alvy 靠近,面向镜头,向一个声音洪亮、固执己见、和他有着不同艺术看法的人表达愤怒。
![[assets/e56707731659e634c32d93d34bfebccc_MD5.jpg]]
不仅仅是 Alvy, Alvy 批评的这个男人也站了出来维护自己的观点。作为回应,Alvy 从海报后请出了 Marshall McLuhan(马歇尔·麦克卢汉)[8]。(Alvy 批评的这个男人一直在对麦克卢汉发表高论,麦克卢汉愤怒地告诉这个人,他完全误解了麦克卢汉的作品。) 当然,这并没有真实发生。最后 Alvy 对着镜头若有所思地说道:「哎,如果生活都像这样的话!」
幻想还发生在其他场景里,比如 Alvy 和 Annie 迪士尼风格的卡通形象、演员们根据 Alvy 的剧本演出 Alvy 和 Annie 最后一次会面的场景。与现实不同,剧本里有着一个美满的团聚。「啧,你想怎样?」Alvy 询问我们,「你知道,人们总是试图通过艺术来表达完美结局,毕竟这在现实生活真的很难实现。」
即使是配角也会脱离他们的位置来和我们交谈。在 Alvy 给我们展示他学生时代对性发狂的那个场景里,Alvy 思考着他的同学们现在都在做什么。有几个孩子就对着镜头告诉我们现在他们在哪工作,还谈了一些他们在未来的成人生活里一些没啥必要的细节,例如对海洛因上瘾、迷恋皮革[9]。同样,Alvy 可以在街上随便找个人讲话,而且别人还会淡定地回复。虽然有些人的回答很奇怪。一个人就这么说:「我们用一个大振动蛋。」
有人可能会觉得 Annie Hall 对人际关系持以悲观态度。最终魔法失效了,他们之间的关系也随之破裂。在某种程度上确实如此,但其实这部电影也主张爱和亲密关系。即便是 Alvy,这个把所爱之人赶走的家伙,也强调了爱和亲密关系的重要性:
我意识到她 (Annie) 是一个多么好的人,能认识她就是一件多么有趣的事。我想起了那个老笑话,有个家伙去看精神病医生,他说:「大夫,我兄弟疯了,他以为他自己是一只鸡。」然后医生说:「那你怎么不把他带来?」那家伙说:「我是想带他来着,可是我需要鸡蛋啊。」你看,我想这就是现在我对男女之间关系的感觉。它是完全非理性的、疯狂的、甚至荒谬的,但是我们还一直要经历这一切,因为我们大多数人都需要鸡蛋。
文中涉及到影片及书籍采用豆瓣译名
台词翻译和部分注释引用自 http://subhd.com/a/336202
[update-2020-02-12]
[image-1]:
伍迪艾伦吸可卡因打喷嚏这场戏是个意外事件,并没有写在剧本上。在电影试映时,观众看到这段暴笑不止,导演于是决定保留这一段。为了弥补因为观众笑得太长时间而错过了接下来的几个笑话,不得不增加电影胶片的长度。 ↩︎
Woody Allen doesn’t think Annie Hall is that great Or ‘Manhattan,’ or ‘Hannah and Her Sisters’。伍迪艾伦凭借 Annie Hall 获得「第 50 届奥斯卡金像奖最佳男主角提名」。伍迪艾伦是好莱坞各大奖项的常客,曾 23 次获得奥斯卡提名,3 次获得编剧奖。 ↩︎
这几个主题都是伍迪艾伦之前的片子里的元素。香蕉共和国出自 Bananas、未来的反乌托邦出自 Shadows and Fog、19 世纪的俄罗斯人则出自 Love And Death。 ↩︎
WASP: White Anglo-Saxon Protestants. 例「近年来美国保守和宗教势力一直在扩大,很多 WASP 从原教旨主义基督教的教义出发,反对堕胎、同性婚姻甚至同性恋等自由主义者支持的事务,希望能够「恢复美国式的生活」。」 ↩︎
《诙谐及其与无意识的关系》:弗洛伊德对笑话和幽默进行精神分析论述的德文书籍(原标题为 Der Witz und seine Beziehung zum Unbewußten),初版于 1905 年,1960 年被翻 译成英文。 ↩︎
《安妮·霍尔》经常被认为是半自传电影,但此说法已被伍迪艾伦否认。 ↩︎
第一个版本有 140 分钟。 ↩︎
这是麦克卢汉本人扮演的。 ↩︎
翻译参考的剧本将「I’m into leather.」翻译为「我经营皮货。」这里应该表达的是喜欢的意思。 ↩︎
看到这个报错,第一时间搜索 jdk 的解决方案,然后重新配置了下环境变量。
无效。
回头,注意到下面的 JVM 错误。
突然想起昨天用 Idea 时设置过 JVM 的参数,然后搜索了下。
遇到网友们的一些情况。
可能是破解时修改 idea[64].exe.vmoptions
文件,导致错误。
一般有两种情况:参数写错,或者用记事本编辑保存时,文本编码格式出错。
Idea 启动时会加载这里的参数。那款破解插件的加载方式就是在这里配置的。
解决方式:确保正确填写参数,保存时不要变动文本编码格式。
PS:该破解插件的作者已经不建议用这种方式了(大概就是因为使用的人经常出这样的问题)……详情搜索引擎了解吧。
我自己的问题应该是昨天点击 Help -> Edit Custom VM Options,然后添加参数时出了某种问题。
具体是啥我忘了,解决完了才来写这个的……
解决方式 :一刀切,删除 C:\Users\用户名\.IntelliJIdea2019.2\config
下的 vmoption
文件。
PS:如果你有能力,完全可以手动排查是哪行参数导致了问题,或者也可以备份再删除。但对我来说,这个配置没啥重要的东西,所以就直接删了。
注意:是删除 用户目录 而不是 Idea 安装目录下的 vmoption
文件!!!
用户目录下的
vmoption
文件和 Idea 安装目录下的vmoption
文件,它们的功能是一样的。不过用户目录的config
文件夹下保存的是「用户配置」,Idea 安装目录的config
下保存的是「默认配置」。Idea 启动时会优先考虑「用户配置」,找不到「用户配置」就会去加载「默认配置」。
同理,如果你把其它的配置玩坏了,也可以删除这个「用户配置」,Idea 重新启动时就会去加载「默认配置」。
PS:如果删了「用户配置」还出错,那就回到 一、破解报错 的情况了。请检查「默认配置」的编码格式以及参数是否正确配置。
主要就是「用户配置」与「默认配置」的区别!知道了这个,按需操作就行了。
我上面写了「一刀切,直接删除『用户配置』」,是因为我的配置里没有啥重要的东西,删了也无所谓。
如果你的配置比较重要,只要理解了「用户配置」与「默认配置」的区别,依次检查它们并改正就行了。
虽然问题的表现效果一样,但导致问题的原因却各有不同,不过问题的本质始终是一致的。多多注意啊!
]]>这毫无疑问是场与雨点的竞速。
我突然感觉自己似乎理解了王小波的一个比喻「眼前这世界真是一个受精场所。」我想,这世界可能更像是一根巨大的输精管,在上帝的快感里,人生不过是没有目的地的逃亡。我们多擅长啊,和身边的人作比较,把朋友当对手,在交往中斟酌——这路上唯一的乐趣。
人行道摆满了自行车,非机动车道无数逆行人。在潮流中,总感觉自己像是卡在城市这台机器里的沙粒,被齿轮摩擦,却还没被碾碎。虽然比起它的体型,我显得有点微不足道,但我仍把自己当作和它旗鼓相当的对手。在某种程度上,我们互相看不起对方。
我是以梦为马的堂吉诃德,正奔向现实这架风车。
]]>October 2015
聊天那样写作
这是一个可以让你的文字吸引更多读者的小技巧——像聊天那样写作.
大多数人在开始写作时都会遇到这样的问题,他们用与平时说话时完全不同的遣词造句来写作。在英语语境中,没有人聊天时会把「pen」当作动词使用。如果你和别人吹牛时不说「写(write)什么」而是说「笔(pen)什么东西」,就会有种违和感。
pen 在书面语中也有「写」的含义。如:He penned a letter to the local paper.
比如前几天我就读到了一句难以忍受的句子。原文是这样的:
The mercurial Spaniard himself declared: "After Altamira, all is decadence."
这个变幻莫测的西班牙人自己宣称:「阿尔塔米拉 之后,一切皆是堕落。」
这句话出自 Neil Oliver 的书籍 A History of Ancient Britain。恕我冒昧,其实我并不想拿这本书来举例。毕竟比起许多其它的书来说,它还不算太糟。先不说这个,请尝试想像一下,当你和朋友吹牛时,把毕加索(Picasso) 称之为「The mercurial Spaniard(变幻莫测的西班牙人)」会是怎样一个场景。聊天时,这样的话哪怕只有一句也会让人感到诧异,人们却就是用着类似这样的句子写了一本又一本的书。
确实,书面语和口语有差异。不过这种差异真的使书面语变得糟糕了吗?
如果你期待着别人去阅读并理解你写的东西,那么没错,确实如此。书面语更复杂,读起来也就更费劲。同时,书面语也更正式、陌生,这会让读者难以集中注意力。不过这些问题都还好,也许最糟糕的是:复杂花哨的句子会让你——写作者,误以为自己表达了很多东西。
并不是复杂的句子才能阐释晦涩的概念。当研究深奥问题的专家们互相讨论各自领域的研究时,氛围其实就如同在聊早上吃了啥一样简单。当然,他们会使用一些生涩的术语,但也仅限于不可避免时。在我的经验里,一个话题越难,专家们谈论起来就越不那么讲究。我认为一部分原因是源于他们的谨慎,另一部分原因则是,一个领域越复杂,能用语言表达的东西就越少。
某种程度上,通俗的表达就如同思想的小钢炮。
当然,我并不是说使用口语总能达到非常好的效果。对于诗歌,文字之于它就如音符之于音乐,你自然可以用上许多吹牛时不会使用的言辞。至于散文,也有一些作者能用华丽的文字写出及其精彩的文章。另外还有这样的情况:有时表达者并不想让读者轻易搞懂他们的真实意图——例如公司发布的一些负面信息的声明。又或者,免不了要虚伪一下时,人嘛。不过除此之外,对几乎所有人来说,口语才是更好的写作方式。
这么说下来,似乎用口语来写作对于大多数人来说有点困难。这里有个不错的方案:先按通常的方式写下初稿,然后逐句细读,一边读一边问自己,「我是这样讲话的吗?」如果你对某个句子给出了否定的答案,那么就想像一下聊天时你会怎么来表达这句话里的意思,然后用新的表达替换掉之前的句子。过一段时间后,这种替换操作就会像一个严谨的机器一样,在你写文章时一丝不苟地工作。每当你敲击键盘,正要写下一些过于书面的句子,这个机器就会「叮当」一声在你的脑海里发出警告。
发布一篇新文章前,我会大声朗读它,然后修改其中所有聊天时不会使用的表达,甚至包括那些读出来发音尴尬的部分。我也不确定这样是不是过头了,但至少反正也不费什么劲。
不过这种方式也并不总是够用。我之前没有用口语写作时,句与句之间总是不连贯。对这种情况,有个更激进的解决方案。那就是写完初稿后,试着向一个朋友解释你刚刚写下的东西,然后把草稿换成你刚刚对朋友说的话。
经常有人告诉我说读你的文章就像是在和你聊天。这展现了人们很少用口语写作这一值得讨论的事实,否则每个人所写的东西读起来都应该像是在和作者聊天。
如果你能想办法用口语去写作,那你就超过了 95% 的写作者了!这做起来也非常简单——确保你写下的每一句话都像是在和读者聊天。
Thanks to Patrick Collison and Jessica Livingston for reading drafts of this.
[update-2020-02-10]
]]>博主在使用 lowdb 时遇到了几个需求光靠 lowdb 提供的 API 无法实现。其实 lowdb 是基于 Lodash 的,可以使用 Lodash 提供的 API 实现自己的一些需求。比如下面提到的「数组删除元素」与「深查询」。
基本上查看下面的文档就行了:
PS:至 2019-06-07 日,配合 TypeScript 使用 lowdb 时,如果要使用 Lodash 的 API(当然,直接使用 Lodash 也同理。),即便你安装了 @types/lodash
,仍然有许多方法会报编译错误。这是因为声明还没覆盖完 lodash
的方法。使用时可以忽略这些错误或者设置 //@ ts-ignore
忽略编译报错。
之前说过想做一个用于标记的本地应用,最近感觉想法成型了,于是开始研究怎么做出来。
中间种种过程略去不提,但谈我最后选用 electron 来开发,然后需要用到数据库。没怎么比较,选择了 lowdb 这个基于 json 的小型数据库。
入门教程看的这篇:Electron-vue 开发实战 2——引入基于 Lodash 的 JSON 数据库 lowdb 。
使用过程中有几个需求没找到明确的解决方式。
比如对数组元素的删除。例如有一个数组:
1 | ["快乐", "开心", "悲伤"] |
没有提供直接删除数组元素的方法。
其次,没在官方文档找到 「对象 A 作为 对象 B 的属性时,如何通过查询 对象 A 的属性 获取 对象 B」,即深查询的方法。
有点绕吧,还是举个例子:
1 | { |
没有直接通过查询 轮胎 获取 这整块数据的方式。
对官方提供的几个 api 翻来过去的组合搭配也没能成功。
看到提供了自定义操作的方法,差点准备自己实现了。
1 | db._.mixin({ |
其实这个就是 lodash 提供的接口……
另外 lodash-id 等插件就是通过这个 api 注入进去的。
太沙雕了。
这不是很复杂的操作,不应该这么复杂啊……
翻读了几遍文档,才注意到 lowdb 基于 Lodash 的。
眼前一亮,去翻了一下 Lodash 的 API……
上面提到的第一个问题,删除数组属性,可以通过 Lodash 的 remove 实现。如下:
1 | // 删除 标签 |
而深查询可以这样:
1 | export function getItemByName(name) { |
传一个具有两个元素的数组,就会分别匹配键值。
来一个数组与深查询组合拳……
数据如下:
1 | [ |
如何通过 标签名 查询该 标签 下的 所有条目?
可以这样:
1 | // 通过 标签名 获取 条目 |
在微博上放纵,偶尔装模作样似乎也能显得有趣,被别人搭讪了几句便觉得自己搞不好真有这样的天赋,能靠着人格魅力交些朋友。比方说觉得该讲些自己的事情了,而对方也很遵守社交规则做出了很感兴趣的样子,但是在张嘴的一刹那突然发现自己似乎丧失了倾诉的能力。
这就很奇怪。也许是不知道啥时候起了「不就这么回事嘛」的念头,于是所有的,那些自以为的孤单无助悲伤固执苦闷,一下子就成了常人都会有的情绪起伏。
问题在于,记忆总是模糊的。在大脑里,那些负责存储记忆的细胞突触不断地接触,曾发生过的一切被高明地剪辑。记忆总是被美化。虽然我在自己的记忆里从来不是什么讨喜的角色——懦弱,势利,沙雕。可这可能也是记忆的保护机制在起作用呢?它让我误以为曾经发生的一切都是不可控的,如果有遗憾,那也是没有办法的事。
有时候我也会在和别人吹牛时展现自己的牛皮,我吹嘘自己中学时曾被班上其他所有的男生围着打过。这种在全世界任何一所学校都经常发生的事,因为带了一种似乎夸张的描述,属于青春的痛感便不那么强烈了。当然这并非事实,我其实只是想尝试着在那个男孩们憧憬「一个打十个」的年纪里为自己开扩出「三十个打我一个」这样的传奇。
神奇的是我居然在很长的一段时间都以为这是真实的。我究竟挨没挨打?他妈的,有时候我还真期望有拳头落在我的身上,把我打个鼻青脸肿。然后我就做出悲剧英雄的模样,在十字架上燃烧,我在临死前一定要昂着头,我懒得向人群中张望。苟延残喘的人啊,嘲笑我吧。
只有我暗恋的女孩啊,不要悲伤,你的爱人是为了理想献身的……等等,女孩呢?他妈的,这帮狗比把女生全都赶到教室外面去了,还美其名曰这是男人之间的事。
理都被你们占了是吧?
算了算了,那时候我还太小,没学会长情。
不过,事实究竟如何呢?
无所谓了。
那个时候我确实还太小,对世界的认识不足导致我对自己本身认识过于钻牛角尖。我乐观地觉得换了新的环境我他妈就能重新做人。我从来没觉得自己与周围的差异是自己的原因。我知道为什么那些本来还能一起弹弹珠的小屁孩为什么突然就不和我玩了,有些隔壁班的崽子甚至靠着课间操的十多分钟来踢我一脚表明自己的阵营。我知道这是为什么,但我他妈就是不说。要问为什么,可能是因为我牛皮吧。
我知道我们其实都是一样的,都觉得自己是活在学校这个围栅里的牲口。那个时候我是自认为的文学青年,这些家伙只对偶像剧和黄片感兴趣,我不一样,我喜欢读书。而且我只读「故事会」、「鬼故事」这种高级读物。他们这些小屁孩只会欣赏「故事会」后面的小广告图片,我不一样啊,我读字儿。在我有限的青春狗血文学阅读历程中,早已了解到一件事:这就是青春啊!
不管我愿不愿意,这就是青春。既然青春里总有一个被忽视的家伙,为什么这个家伙就不能是我呢。
挑选一个人去针对,这就是小屁孩们在学校里自己悟出来的生存之道。当我现在以一种自作悲悯的眼光去看以前,唯一能让我感到宽慰的是,他们并不是针对你,这种操作并不是针对个人的。他们只是为了让自己的团体更加和谐而去找些事做而已。这些狗比仅仅是因为你长得帅,就忍不住要揍你。而由于我的容貌过于出众,我的脸便成了大家增强团队凝聚力的训练基地。
我没得法。
不得不说,人就是聪明。当一个人认识到自己个人的力量是有限的的时候,就会思考外界的力量。
比如我很长一段时间都曾在心里埋藏着强烈的恶意。我把积攒了一周的零花钱——虽然只有一块,扔进了在我回家的必经之路的那座山的山腰处的庙里的功德箱。
这座庙太破了,里面的神像被坏家伙们偷得只剩一两个还站在里面。
真的是,这坏家伙怎么到处都是。
但是我也来不及担心神像少了威力是不是就会减弱,我仍以最狠毒的诅咒期盼着这些家伙要是能够因为犯了什么事被开除就好了,这样我就碰不到它了。不过很久以后我才发现,寄希望于义务教育能开除学生,也就比买彩票的概率大点。
这他妈什么事儿啊,我成了一个被仇恨蒙蔽双眼的坏孩子了。
于是我只能期盼着狗日的赶快什么时候能离开这。我日,本来应该是最该享受的年纪,全他妈毁了,让我活在仇恨里还不够,我还要活在逃避里。
可是真的有什么地方会更好吗?
我有个非常优秀的启蒙老师,小学一年级时她就灌输给小朋友们在大城市不能乱扔垃圾,而且要把垃圾分类的相关知识。
后来我去了隔壁县城读高中,这是我第一次长时间进入一个城市——我一度小心翼翼地把垃圾扔进不同的回收箱。但是过了一阵子我突然发现,尼玛,根本没人分类,这他妈「可回收」、「不可回收」俩标签根本就是个摆设。有些家伙更坏,能把垃圾扔进垃圾桶就已经不错了!
我天真地认为这是因为这个县城还不够大。
后来来到省城读大学,我继续观察。尼玛,还是根本没多少人在乎扔垃圾时扔的是「可回收」还是「不可回收」。
由于我经常观察垃圾桶,有一次我他妈还发现一个垃圾桶虽然左右各一个口,分别写着「可回收」、「不可回收」,但是他们下面居然是连通的。尼玛,连通的!也就是说不管你投「可回收」还是投「不可回收」,垃圾都是堆在一起的!
卧槽。
我以为大城市里的不良少年们跟村里的不一样,他们读加缪,读塞林格。就像小说里描绘的一样。
结果全他妈假的,过时了。
他们扔垃圾还是不会分类。只是吐痰的时候不能像在村里一样吐在田里。
如果我再年轻点,我就可以靠着各种隐喻抱怨一切。可随着时间流逝,我已经从一个小屁孩长成了大孩子。
干!
回想这一阵子,看动画,读闲书,在回寝的路上发出应答谁的声音假装自己有朋友。从不考虑明天,尝试着和一些酒精过敏的家伙建立理想中酒肉朋友般牢固的情谊。聊童年和校园暴力,戏谑一切。用暧昧的言语和无聊的话题,互相探测彼此那一目了然的内心。旁若无人地在路上咆哮,争着发表自己对这个世界高深的见解。路过年轻异性时,不自觉地加强声带的震动。以一种自以为滑稽的表演方式说话,模仿老师,领导,传递指示的室长,以及一切说着正经话题的人。
真是大人模样了。
]]>作为之前在 秒杀系统简单实现 一文的补充……
本文就简,不考虑各种高级优化……仅仅立足减库存这个操作谈谈我的理解……
在讨论各种优化之前,先捋一下这个操作的逻辑。
一开始,用户们从前端点击秒杀按钮,操作传入服务端处理,在 Java Web 中,最后是由一个 Servlet 来处理的。
Servlet 默认是 单例多线程。(当然也可以设置为多例)
需要注意的是,在 Java Web 开发的各种框架中,比如 Spring,不管是 Controller 层的实例还是 Service 层的实例,本质都是 Servlet。
所以说这里最后还是由 Servlet 来处理。
单例多线程是什么意思呢?这里不多说,讲讲它的效果。
比如在进行秒杀操作时,前端 可能 会有很多个用户同时进行秒杀,每一个秒杀操作都是一个 HTTP 请求,这数个 HTTP 请求(秒杀操作)到了服务端,全部由一个 Servlet 实例来处理——这就是单例。而每一个 HTTP 请求都对应一个线程——这就是多线程。
不过注意,这里的多线程并非无限制创建的。
首先要知道,Servlet 是运行在 Servlet 容器里的。
参考 Tomcat
实际上,Servlet 容器会通过调度线程(Dispatchaer Thread) 管理一个线程池,通过调度线程池中等待执行的线程(Worker Thread)给请求者实现多线程。
也就是说,Servlet 的多线程还是由线程池管理的,只不过一般来说,用户不可见。(因为这个线程池由 Servlet 容器管理)
我们回到秒杀。秒杀这个操作至少包含两步:
一般这两步会写在 Service 层。我们看下伪代码 :
1 | public SkillService{ |
注意,这里有两个步骤,而上面提到 Servlet 的执行是多线程的,那么这里就可能会出现数据不一致问题。
为什么?
因为这里多线程并发执行秒杀操作时,不能保证操作的 原子性。
比如?
为了保证数据一致(原子性),我们可以使用事务。
事务是啥?
比如 Spring 中,我们可以通过使用注解为方法开启事务支持。
1 |
|
事务具有 ACID 四大特性,而其中的 隔离性 是通过锁机制来实现的。
当进入被事务控制的这个方法时,会对数据进行加锁。
使用了事务,就代表里面的操作是一个整体了。(原子操作)
进入这个开启了事务支持的方法体,就会获取方法体中用到的数据的锁。
并发的 HTTP 请求(反映到 Servlet 就是多线程),在进行秒杀操作时执行事务,通过竞争数据库的锁来执行秒杀操作,从而保证了数据的安全。
什么是锁
到这一步,不考虑超大的并发量,已经能够保证秒杀安全地执行了。
InnoDB 默认行级锁,也支持表级锁。
MyISAM 默认 表级索,不支持行级锁 --> 不支持事务
分布式事务
……
继续优化。
注意,上面是在 Service 层开启事务。
事务里面有两个操作,需要与数据库交互两次。
我们可以把两个操作通过一条 SQL 来执行。
怎么做呢?用存储过程。
什么是存储过程?
怎么使用?
打个比方,这里有两袋苹果,之前我拿上一袋回家,再过来拿另一袋回家。现在我则拿着两袋就往家里跑。
具体怎么回事我还不是很清楚
这里通过存储过程优化了事务行级锁持有的时间。本来在 Service 执行的操作,我们放到 SQL 层来做,在更底层执行,效率会高一点。
数据库里,行级锁是什么?
更底层效率更高一点,为什么?
(因为封装到更抽象的层次,会加上许多为了方便用户操作但对实际执行效率没影响的行为。)
但是不管是哪里,都并不建议大量使用存储过程。(逻辑确实很简单时,可以一用。)
阿里巴巴 Java 开发手册 甚至禁止使用 存储过程。
为什么?
存储过程没有版本控制,版本迭代的时候要更新很麻烦。存储过程如果和外部程序结合起来用,更新的时候很难无感升级,可能需要停服。存储过程不利于将来分库分表。存储过程的功能不一定够强大,业务扩展之后可能会发现无法继续用存储过程实现了。存储过程可能无法和许多中间件、ORM 库一起使用。某些特殊的兼容 MySQL 的实现可能根本就不支持存储过程,那就更不用说了。
……
我们现在是通过数据库层面的锁来保证秒杀的安全,但是当并发量上来后,大量的线程竞争锁,会导致数据库的吞吐量受到影响。注意,是数据库的吞吐量。也就是说,一个商品的竞争,影响了整个数据库的性能。(影响到其它的商品)
为什么?
数据库竞争锁会导致 TPS 下降,RT 上升,数据库的吞吐量受影响。
那么如何解决呢?
可以通过把热点数据隔离出来,使之不影响其他数据。
但这治标不治本。
我们从另一个角度思考一下。
从头梳理。
大量的并发请求来了,操作时为了避免数据安全问题,我们使用了锁机制。
锁,是为了保证同一时刻只有一个线程读写数据。
而锁竞争,现在会导致严重的问题。
那我们能不能不使用锁,又能保证同一时刻只有一个线程读写数据呢?
叮咚!如果能通过某种方式把并发的请求转换成串行执行就可以达到了。
如何转换?可以使用一个队列来对请求排队。
PS:Redis 就是通过把请求串行执行实现的并发。
同样,可以在数据库层排队,也可以在服务层排队。在数据库层——这个更底层的层面排队,效率肯定更高。
阿里的数据库团队开发了 InnoDB 的补丁程序(patch),可以在数据库层上对单行记录做到并发排队。
另外,应用层只能单机排队,数据库层则可以全局排队。
排队与锁竞争都需要等待,为什么排队效率就要好点?
排队当然要使用队列,回到前面,Servlet 是单例多线程,多线程环境下应该使用并发包下的队列。
比如 :
1 | java.util.concurrent.ConcurrentLinkedQueue |
搜索资料时,许多博客都说「对请求进行排队」。
一个很容易想到的操作便是使用拦截,在 HTTP 请求进入 Controller 层之前把 HttpRequest 压入队列排队。如下:
1 | ConcurrentLinkedQueue<HttpRequest> que = new ConcurrentLinkedQueue<HttpRequest>(); |
不过, 如果把 Http 请求放到队列,就会导致产生大量未释放的 HTTP 长连接。
这样不太好,实际使用,是把 秒杀数据 进行排队。
在秒杀操作时,我们其实只需要 HttpRequest 提供的相关的秒杀信息,比如 商品 ID,用户 ID……并不需要持有整个 HTTP 请求。
不错,现在排队了,但是现在有个最重要的问题我们还没考虑。
回头看一下。
无论怎么写代码,最终的目的是给用户提供良好的体验。
但是用户在秒杀界面等待着服务端执行完秒杀后返回的秒杀结果,这一个最影响体验的操作还没有得到解决。
现在的秒杀,就相当于我去我们村里的信用社办理业务,大家都在窗口前排着队,前面的人办完业务才能轮到后面的人。
但是想象一下大城市里的银行,用户先领取一个排队号,然后坐到一旁玩手机,等到窗口呼叫用户的排队号码时,用户才上前去办理业务……
这就是 消息队列 的概念。
我们把秒杀的数据放入一个消息队列,然后直接向前端返回信息,告诉用户「我们先帮你排队执行秒杀,待会告诉你结果,你先去干其他的事吧。」
真棒。用户现在可以去干其他事了。
过一阵子,用户可以通过主动查询或者被动通知,了解到自己的秒杀结果。
比如可以使用前端轮询
不过这里值得注意的是,消息队列最主要的功能是提供了一个异步执行的操作。
消息队列的使用将秒杀真正的操作与这个用户的行为解耦了!
为什么要强调主要是为了解耦,下面会提到。
同时,消息队列也能够把秒杀数据进行排队。
再重复一下前面提到的,Servlet 是单例多线程,引入消息队列后,多线程把 秒杀数据 放入消息队列就完事了,然后告诉用户我们正在帮你排队。具体的秒杀执行逻辑则由消息队列来做。
稍微准确点,实际是消息队列提供的 消费者 按照队列的顺序,把 队列 里的秒杀数据拿出来,对秒杀数据执行秒杀的逻辑。
OK!
下面拿具体的消息队列框架 RabbitMQ 谈谈。
在 RabbitMQ 中,默认 单线程串行消费 。
也就是单线程,串行来执行队列里的秒杀数据来秒杀。
这样子在理论上,秒杀操作就无需加入事务控制了。
因为现在已经是串行,不会产生竞争啦!
这里面当然还有很多细节,比如如果抛出异常、秒杀执行失败,是继续尝试执行呢?还是直接秒杀失败?
又比如既然引入了消息队列,那当请求来了时就可以直接判断队列中的秒杀数据的个数与库存比较,直接拒绝用户的秒杀操作……
不过引入消息队列,又有可能遇到消息队列的一些问题……
比如消息过多,造成消息积压。
一种解决方式就是引入多线程处理消息。(当然消息队列自己还有多消费者等等细节)
可是引入多线程了,那是不是又会有线程安全的问题呢?
确实如此。
测试了一下,发现 消费者使用 多线程,的确会有数据不一致问题。
我用 int 和 AtomicInteger 做了个测试。
当 RabbitMQ 默认单线程时,int 数据正常计算。
当多线程时,int 数据计算不正常,但是 AtomicInteger 计算正常。
所以我在前面提到消息队列只是用于解耦,并不能保证线程安全。(虽然默认 单线程串行执行 肯定是线程安全的)
如果使用多线程,那就又回到并发的问题了……
使用事务?
……
再往后就没继续思考了……
到此为止。
]]>但是当老谭坐在我面前,不停地向我洗脑一些莫名其妙的东西,我也开始给自己的疑惑找到了一些新的可能性。也许,我真的在梦里?
老谭双眼迷蒙,拿着杯子不断地摇。按照他的要求,杯子里本来应该还装着一定纯度的酒精。「我没醉。」他不断地重复,「喝前摇一摇……」
为了测试他是真的没醉,我给他倒了杯白开水。老谭抿了一口,精神抖擞起来,眼神也清澈了。「我说我没醉吧,这酒就白开水一样,我怎么会醉呢。」
「我给你说啊……我给你说。」
「如果在现实世界,你从楼上跳下去,因为重力的影响,身体会狠狠地砸下去……而你的灵魂会被重力从身体里拉出来。其实你的身体在物理上被摔得稀巴烂之前,你就已经死了——你的灵魂已经离开了你的身体。可是在梦里,你只有灵魂在活动,如果你从楼上跳下,你就会飞起来!」
「你从一楼跳下去,从十四楼跳下去,每次都有不同的感觉。」
「我说真的,不信你试试。」
我把老谭塞进一辆三轮,给师傅打了招呼,自己慢慢往学校走。一路上不少店家都在门外挂了个电视——最近世界杯,时有人群聚集,一边吃小吃一边看比赛。我对此没啥兴趣,只是沉迷于思考老谭说的话,差点撞到几张桌子。不时,电视机里传来欢呼声,电视外的人也放开了嗓子。我被热闹催着匆匆迈步,思来想去,觉得老谭狗日的这番理论还蛮逻辑自治的。难不成……
我在斑马线处用力跳了一下,然后沉甸甸地落在地上,重力作用导致我的小腿又麻又痛。
再后来遇见老谭就是去年 12 月份了,他没提做梦的事,我也没想起来问。我们假装是不期而遇,躺在宿舍楼外的草地上晒太阳,闲扯着些有的没的。或许是光合作用,也许仅仅是因为坐在草地上,冬天突然就没那么冷了。
回想起来,我和老谭的每次相遇都是以对话贯穿始终。但其实我俩都不喜欢说话。我询问老谭,老谭说这叫交流。说话并不是必须的,但交流是。你总得交流,要么和别人,要么和自己。我其实并不理解这两者有什么差异,不过我得出了一个结论,如果你和一个人交换了秘密,那么接下来你就会忍不住把自己曾经历的一切都告诉给它。
但是我比较牛皮,我忍住了。
很少有人会干脆地询问对方,「那么我们现在是朋友了吗?」这种话。成年人的世界里总是心照不宣着很多规则,这正是我不擅长对付的。我蹩脚地尝试着在自己的心里把遇到的人分了几个层次,而每当我想要升华和老谭的革命情谊,就会感到害怕。虽然老谭把这叫作交流,可是,你看,我们躺在这吹了这么久的牛皮却没人感到厌倦,这不就是友谊的象征吗?但问题是,我们没有做过确认,这让我感到害怕。我在生活中滚爬了二十年,最擅长的事情就是让人失望。而在我二十年的观察中,深刻理解到「失望」就是破坏一段关系的充分必要条件。
我突然想起自己似乎曾和几个人躺在这里,我们谈到了小学的班主任,有人提起去年暑假考驾照时还遇见了他。这种感觉让人迷茫,但这一切似乎都历历在目。我们讨论童年时的事,细节被不断填充,记忆就像整整一生一样。
不对啊,这里怎么会有了解我童年的人呢?
想太多了。
那次对话的结尾,老谭一本正经地对我说,「你太依赖自己的大脑了。」这句话似乎有什么隐喻在里面,可是我不喜欢猜测。
我回复他,「也许吧。」
再后来,时间线拉回现在。
现在已经是春天了,在我的记忆里,自从认识老谭,已经度过了两个春天。我们刚认识的时候,大家都是喋喋不休的青年,我们花了大把的时间探索老谭的记忆。老谭说自己以前常写日记,不过现在喜欢写小说。
其实这没什么不同,不管你写的东西是否真实,在别人眼里都只不过是故事。
有时候老谭会把写的小说拿给我看,然后向我讲一些写故事的技巧。但是很显然,我没有认真学习。老谭说一个观点不论多么地扯淡,只要放在故事里就能给人一种合理的感觉——至少在作者营造的这个环境下。所以老谭不喜欢看小说作家的论述性文字。
「那会破坏小说营造的美感。」这是他的原话。
「后者往往会自揭费心在小说里藏起来的各种暗喻。有的作家的小说读起来,思维和道德的碰撞令人愉快又震撼……但是一看他其他文章,直言『你应该如何如何』,便觉得迂腐,扭曲……」
老谭说不管你信不信,很多故事的发展其实都建立在临时起兴。
可是靠临时起兴推动的东西那还能算是故事吗?不算吧。你大可以说它是别的什么,可它不能称为故事。
我心里这样想着,也就这样说了。
老谭回应,你个狗日的歪理多,你不能光看故事,你得用心去感受你知道吗。
可是老谭已经很久没写小说了。虽然我多次吐槽他的那些狗屁小说根本称不上小说,他也总是玩世不恭地回答「我已经过了堆砌形容词的年纪了」之类的鬼话。
说起来,我也已经很久没有见到老谭了。
直到这个初春,我才再次遇见他。
其实我知道,只要遇见老谭,我肯定就是在做梦了。
记忆里,老谭说过自己不喜欢春天。他说春天有种腐朽的味道。
我们在楼顶靠着栏杆,栏杆的的交界处有隐约可见的锈斑。一栋建筑,看起来总是从栏杆开始锈蚀。老谭摇了摇——还好,挺稳的。我连忙退后,「你想死别带上我。」
老谭笑了笑,「可是,这是在梦里呀。」
其实,一栋建筑不是从细微处开始锈蚀的,大多数的建筑物的倒塌都毫无预兆。似乎春天就足够腐朽一切。
比如现在。
我点头,算是承认了老谭的话。于是,大楼开始毫无预兆地塌陷。老谭问我,「准备好了吗?」然后翻过栏杆,一跃而下。
灰尘开始蔓延,我也随着他跳了下去。
当你的身体随着重力与空气摩擦,那感觉有如强风吹拂。
好惬意啊,无与伦比的惬意。
当我注意到面前突然冒出自己的尸体,这成了我最后的念头。
]]>需求是需要把 Markdown 格式的内容解析为 HTML,于是使用 Marked.js 完成该操作。
仓库:Marked.js ,引入使用之类的不提。
默认解析出来的内容不大美观,所以需要再渲染一下。
下面提供了我尝试过的三种引入方式,主要是渲染样式的使用方式不同。
按渲染方式分:方式一和方式二都是使用 Marked 自己的功能实现的。而 方式三只是粗暴地用 CSS 覆盖了默认样式。
方式一对每个展示的 Vue 文件都需要引入一次样式,而方式二和方式三用了 main.js
引入的方式实现了全局样式。但是方式二只能全局,方式三则用 CSS 覆盖实现了自定义样式。
其实主要就分为方式一和方式二,分别对应单独配置与全局配置。方式只不过是在方式二全局配置的基础上,使用 CSS 为单独组件覆盖了全局配置。
一般来说大家都是全局统一渲染样式吧?所以我推荐使用方式二。
下文以引入渲染样式 github-markdown.css
为例。
单个 Vue 文件即可实现.
1 | // index.vue // 只需要这个文件 |
方式二、方式三都需要三个文件。
方式二是全局定义渲染样式,方式三则可以覆盖全局渲染样式。
1 | // index.vue |
1 | // highlight.js import Hljs from 'highlight.js' // 这里引入css import |
1 | // main.js …… // highlight.js 路径相应更改 import HighLight from |
在 highlight.js
中定义的实际上是全局的 Markdown 解析样式,如果其他地方需要自定义渲染样式,引入 Vue 就行。
1 | // index.vue |
同方式二。
]]>先提一下整个流程。
Spring Boot 项目构建 jar 包,Docker 再把 jar 包打包为 Docker image。
流程是这样,再提一下细节。
java -jar appname.jar
启动。而 Docker 的任务就相当于封装 jar 包,java 环境, 以及 java -jar appname.jar
这条指令。既然知道流程了,怎么实现呢?
两种方式,第一种很直观,自己构建 jar 包,然后在本地手动打包镜像。
第二种,则是通过配置(这里使用 Gradle),实现整个打包的流程。
流程大致可以分为两步,生成 jar 包,生成镜像。每一步都会遇到坑,慢慢来……
首先确保生成的 jar 包可以通过 java -jar appname.jar
执行。
可能会遇到 找不到主类等错误……
首先构建 jar 包,
可以 build artifacts。
建议在根目录下执行 gradle build
或者 gradlew build
。
先测试一下 jar 包能不能正常运行。
java -jar appname.jar
可能会出现找不到主类之类的问题。
然后把 jar 包与 Dockerfile 放在同一目录下
如
docker/blog.jar
docker/Dockerfile
执行
docker build -t [要生成的镜像名] .
注意哈,后面有个点「.」。
Dockerfile 是打包 docker image 所需的配置文件
比如
1 | ## Dockerfile |
这里很明显也能看出 Docker 内部还是用的 java -jar appname.jar
来运行。
注意,运行需要指明 REPOSITORY TAG,
docker run -p 8082:8082 -t REPOSITORY:TAG
如
docker run -p 8082:8082 -t cn.hqweay/blog-backend:1.0
注意啊,不这样会启动失败……这问题搞了好久。
我在操作过程中去除了创建 Spring Boot 项目时自带的 Tomcat 依赖,不去不知道能不能行。
https://juejin.im/post/5b27b7ac51882574c32c6588
这里配置可以根据项目信息自动生成 Dockerfile,也可以指定本地 Dockerfile。
配置的主要目的是解决了手动把 jar 包打包为镜像。
见仓库配置文件 https://github.com/hqweay/blog-backend/blob/master/build.gradle
根目录执行
./gradlew clean build dockerBuilder --info
即可打包。
./gradlew build
这条命令是构建 jar 包。
能看出,整条命令就是先打 jar 包,再执行 dockerBuilder 生成 Dockerfile 文件(或者使用指定的 Dockerfile 文件),再打包为 Docker image。
当然,本地安装了 Docker,就会使用本地 Docker 来完成打包。
如果本地没有 Docker ,idea 可能会自动引入吧。我没试过……
理解打包的这个流程,配置中的各项就很清晰了……照搬配置会出很多问题的……
]]>在 JDK 6 及以前版本,字符串常量池保存字符串对象;JDK 6 之后的版本中,既保存了字符串对象,又保存了字符串对象的引用。
背景:JVM 的内存模型有「方法区」和「堆」的划分,方法区有两种实现:「永久代」和「元空间」,前者使用 JVM 的内存,后者使用本地内存。在 JDK 6 及以前的版本,字符串对象保存在永久代的字符串常量池里。由于容易遇到内存溢出的问题,JDK 1.7 开始则将字符串常量池移到了堆中。在 JDK1.7 中,如果堆中已经创建了某字符串对象,那就没必要在字符串常量池中再创建一个一模一样的对象,直接将其引用拷贝返回就行。而 JDK 1.6 则会在字符串常量池创建一个新的一模一样的对象。
1 | public static void main(String[] args) { |
String s = new String("1");
这种创建字符串的方式实际生成了两个字符串对象。首先,构造器中传入一个字符串对象 1
,它被放在字符串常量池。然后 JVM 会在堆中再创建一个字符串对象 1
,字符串变量 s
指向堆中这个字符串对象 1
的首地址。
当调用 s.intern()
时,由于字符串常量池已经存在字符串 1
了,所以会将字符串常量池中的字符串对象 1
返回。(JDK 7 的情况有所不同,后面会讲。)
再通过 String s2 = "1"
来给变量 s2
赋值时,会将字符串常量池中对象 1
的首地址返回给 s2
。
由于 s
指向堆中字符串对象 1
的地址,而 s2
指向字符串常量池中 1
的地址,调用 s == s2
的返回值当然是 false
。
在 String s3 = new String("1") + new String("1");
中则涉及字符串常量池中的对象 1
以及拼接而成、保存在堆中的字符串对象 11
。当调用 s3.intern();
时,由于字符串常量池中没有 11
,此时会在字符串常量池中生成一个字符串对象 11
。
同理,由于 s3
指向堆中字符串对象 11
的地址,而 s4
指向字符串常量池中 11
的地址,调用 s == s2
的返回值当然是 false
。
判断 s==s2
与上文一致,但是在执行 s3.intern();
时,虽然字符串常量池中还没有字符串对象,由于在上一步 String s3 = new String("1") + new String("1");
中已经在堆中生成了一个字符串对象 11
,所以 会将堆中的字符串对象的引用保存到字符串常量池。
这时调用 s3 == s4
,两者都指向的是堆中字符串对象 11
的首地址,所以返回值是 true
。
在 JDK 6 中,当调用字符串的 intern()
时,若字符串常量池先前已创建出该字符串对象,则返回字符串常量池中该字符串对象的引用。否则,将该字符串对象添加到字符串常量池中,再返回该字符串对象的引用。
而在 JDK 7 中,当调用 intern()
时,如果字符串常量池先前已创建出该字符串对象,则返回池中的该字符串的引用。否则,若该字符串对象已经存在于 Java 堆中,则将堆中对此对象的引用添加到字符串常量池中,然后返回该引用;如果堆中不存在,则在池中创建该字符串并返回其引用。
电影有很多可能性,不仅仅在于「至少讲好一个故事」。小说可以讲故事,漫画也可以讲故事……电影和其他艺术一样,它的特点在其它形式表达不出来的那部分。电影的发展就是这部分东西的发展。比如说众多大师对剪辑技巧的鼓捣——只要你愿意,总能对一部近些年出品的电影剪辑手法做出这样的评论——「不过是对 XXX 拙劣的模仿」。
有的观点认为,镜头语言也终究是为故事服务。但反过来,故事也是某种东西的载体——比如说情绪,意识形态……做影视的自媒体,都离不开把故事复述一遍这一套路。自喻普及优秀电影、面向大众,却总是用着最简单的评判标准,暧昧地使用专业名词却不加解释。通过术语营造人设,通过复述故事来赚钱——没有传达任何有益于提升受众审美的东西。
我们是活在电影盛年时期的一代人,技术的突破让无数以往需要技巧和想象力甚至无法实现的片段可以被轻而易举地拍摄出来。比方说总有自媒体通过一些「抄袭」其它艺术形式的证据将电影这种媒介贬低得一文不值,仿佛电影创作者都是些拾人牙慧的傻瓜。
艺术总是相互借鉴的。比方说绘画、漫画对于构图的应用总是走在电影前面,想象力可以自由地在稿纸上发挥,给影视提供了许多思路。比方说导演也许能构思一个超屌的分镜,但受限于机器装置拍摄不出来,此后的思路也总会被「要能拍出来」而局限。而绘画则可以很好地发挥创意,因此就作品出现的时间点来说会先人一步。当拍摄技术成熟时,模仿名画、漫画、动画也就顺理成章——通过另一种形式展现某些共通的东西。
许多的在形式上寻求突破的电影获得了不公正的对待,新浪潮时期的电影人被新观众质疑。明明问题很简单。你自己尝试一下构思并写篇故事,就知道小说创作的难处了;自己尝试原创一张画,就知道动画要绘制无数张这样的图并使之动起来有多难了;自己尝试去拍一段视频,就知道用影像表达有多不容易了;自己在视频站上传几次,就知道现在的审查到底有多么莫名其妙了。
去了解它的历史,体会它如何从无到有、可能遇到的困难、前人们的探索,感受它为什么会是现在的样子。
]]>是不是每个人年轻的时候都有这样一段日子,鸿鹄志高却难遂,迷茫地过着,昏昏噩噩地耗,最终不是妥协泯然众人,就是找不到出口被生活围困。这时候家人朋友,看在眼里,哪怕不说,心里想的也是“小镇青年何必心怀远方”这样的想法吧。
想起之前读《月亮与六便士》时也没发现常被引用的「满地都是六便士,他却抬头看见了月亮」。
于是通过搜索引擎查了下,发现也有前人冒出过这样的困惑。发现「满地都是六便士,他却抬头看见了月亮」其实出自刘瑜的评论另一个高度。
粗略检索没找到《青春》里这则段落的出处,估计也是评论被误用做原文了吧。= =!
[update 2022-02-23]
]]>Spring Cloud 是一个微服务框架,提供分布式系统操作的开发工具。
那啥是微服务呢?
比如在学习 Web 时会接触到三层架构:控制层、服务层、数据层。我们把这种抽象当作一个项目的纵向分层,那么微服务就相当于对项目进行横向分割。
比如在一开始我们将项目分为控制层、服务层、数据层来开发。随着项目的演进、复杂度的提高,将它横向以功能拆分为多个模块——每个模块再纵向分层开发。
以开发一个购书网站来看,我们可以先将项目划分为用户模块、书籍模块……甚至更细一点,一些优惠活动一个模块……而单独的每一个模块,都可以用 Spring boot 等方式来开发。
每个模块都可以独立部署。而「分布式」就可以先简单地理解为把模块部署到不同的环境上——你可以用传统方式如 Tomcat、命令脚本来部署,也可以用 Docker、云原生技术来部署。最后依然会有一个大家长(服务中心)来管理不同的模块,在这个大家庭里,每个模块就作为一个「服务」存在。
这就是微服务的概念(大概)。
以前后端分离的模式来开发,就会有这种感觉:前端无需关心数据、操作的来源,后端给前端提供 api 就行了。用微服务就相当于对 api 进行模块化,每个服务提供相应的 api 便于组织,也便于复用。事实上 Spring Cloud 也建议服务间通过 RESTful API 这样的方式调用。
Spring Cloud 基于 Spring Boot,用 Spring Cloud 搭建的微服务应用中的各个模块(服务)用 Spring Boot 开发。(用其它方式开发的模块只要遵循 Spring Cloud 的协议也可以被接入,例如:Python写的微服务如何融入Spring Cloud体系? - 无敌的码农 - 博客园)
把应用拆分为多个服务后,如何组织服务间的调度呢?这个概念被称作服务治理。我们可以通过手动的方式来组织服务间的调度——但各个服务将会产生一个由调度与被调度而产生的复杂网状结构,如何优化呢?可以引入一个管理调度这些服务的中心组织,这样每个服务就只需要与这个服务中心交互。
这个中心被称为服务注册中心,它实现了各个微服务实例的自动注册与发现。
Spring Cloud 为服务治理做了一层抽象接口,支持多种不同的服务治理框架,如 ZooKeeper、Netflix Eureka……
而各种微服务呢,被分为服务提供者(提供接口供别人使用)和服务消费者(是用别人的接口)。但同时,一个服务既可以作为提供者也可以作为消费者使用。联系一下实际项目很好理解,一个模块既能使用别人的接口,同时也能提供接口给别人使用——这种场景很常见。
这也是抽象层面的说法,在 Spring Cloud 的各种教程中,都选用 Eureka 作为服务注册中心,我们以 Eureka 来具体谈谈……
这篇写的很详细了……
Eureka 分为 Eureka Server、Eureka Client。
可以用 Idea 快速创建,见:Spring Cloud Eureka 快速创建 Client 和 Server 。
用 Gradle 可以这样创建:
执行 Gradle 导入包,启动这两个 Module,最后在网页打开 Eureka Server,成功发现了 Eureka Client。
hqweay/learn-spring-cloud at basic-demo
Eureka Server 是注册服务中心的服务端,有界面。
Eureka Client 是注册服务中心的客户端。
一个微服务项目包含这三者。:
Eureka Server 就是服务注册中心。
Eureka Client 既可以做服务提供者,又可以做服务消费者。
在前文的项目里将 Eureka Client 模块作为服务提供者来使用,那么 Eureka Client 如何消费服务呢?
比方说我有个用户模块,需要调用数据维护服务的接口来获取用户的信息。在上面已经提到过,我可以直接调用数据维护服务的接口,也可以通过服务注册中心调用数据维护服务的接口。但若是考虑一些更复杂的情况,比方说做负载均衡,就需要在服务的消费者与提供者之间再提供一个抽象层次。
Spring Cloud 提供了 Ribbon 来达到这一点。
在生产环境应该对每个节点做备用节点以应对主节点异常的情况,服务注册中心当然也可能异常,那也应该做备用。
实际上 Eureka 中的所有节点都既是服务提供方又是服务消费方,包括 Eureka Server。可以把 Eureka Server 作为一个服务,向其它的 Eureka Server 注册形成一个服务注册中心集群。Eureka 提供了配置达到这点,多个互相注册的 Eureka Server 会互相同步服务的注册信息。
具体到某个模块举例,可以将一个 Eureka Client 配置上多个 Eureka Server(多个 Server 会互相同步数据)的地址,当其中某个 Eureka Server 无法使用时,便尝试调用下一个。
[update on 2022-02-12]
]]>Github 仓库: Sunybyjava/seckill
Mooc 视频: Java 高并发秒杀
文档:
Spring Data Redis- Version 2.1.3.RELEASE
spring-boot-starter-data-redis 翻译官方文档 5.3 - 5.6
提取秒杀的核心,数据库只建了两张表:
1 | CREATE TABLE `product` ( |
1 | CREATE TABLE `user_buy_product` ( |
PS:上面两张表值得一提的点在于外键约束。有讨论认为数据库层不加约束,在 Service 层控制好些……
秒杀的难点主要在处理并发与并发时的优化。
核心:Spring Boot + MyBatis
版本控制:Gradle
插件:MyBatis-Generator(数据库表生成 Bean)
使用 spring boot + gradle + mybatisGenerator 实现代码自动生成
核心:Vue CLI3
异步请求:axios
界面:Nes.css
从交互开始分析,提取 api,再层层分解,一步一步实现。
按照上面的参考视频,从 dao 层到 service 层,再到 controller 层。这样自底向上的流程容易让人迷糊……每一步都不知道为了啥。
我觉得入门的话,应该从上到下。我缺少什么,然后再去做什么……这样理解起来会比较容易。
讨论一下第二步:
比如,首先用户进入网页,肯定会需要一个获取秒杀商品信息的 api。
商品需要在秒杀时段内才能暴露秒杀按钮,同时总不可能让用户不断刷新网页吧,所以前端需要做倒计时,并且动态暴露秒杀按钮。
秒杀操作,实际上还是执行了一个 url (也是 api),这个秒杀 url 不能在倒计时的阶段暴露,只有到了秒杀阶段才能暴露,我们怎么获取它呢?
可以通过写一个获取秒杀 api 的 api。
此时需要考虑到对秒杀 api 加密。(甚至随时间变化)
用户开始秒杀,这里异常情况最多。
此时应该考虑到事务 , 存储过程 ……(SQL 怎么实现,框架怎么实现……)
同时这里也是并发点,后面进行优化也主要是围绕这一块。
api | 参数 | 返回值 | 说明 |
---|---|---|---|
/api/seckill/list | 无 | 秒杀商品列表 | |
/api/seckill/exposer | skillId(商品 id) | 商品的秒杀 url | |
/api/seckill/execute/{seckillId}/{md5Code} | phone(手机号), seckillId(商品 id), md5Code(加密码) | 返回秒杀结果 | 手机号从 cookie 获得,后两者从 url 获得 |
/api/time/now | 获取服务器端时间 |
api 是根据前端来的。前端要啥,后端写啥……
翻了很多资料感觉 RESTful 还没有很好的实践……
优化集中在两个点:获取商品信息、秒杀。
为什么在这些地方?主要是这里涉及到与数据库的交互。比如对获取商品信息来说,由于商品信息的变动比较小,就不必每次查询就建立数据库连接。
在视频教程里,分别采用:
因为秒杀涉及到修改两个表,那么至少会执行两条 SQL。在之前,我们是在 Service 层来执行这两个操作,并且通过 Spring 的声明式事务来管理的。我们可以把这些过程封装为 SQL 层面的一个存储过程,然后只需要在 Service 层调用这个存储过程就行了。
这里优化的是事务行级锁持有的时间。Service 执行的操作,我们放到 SQL 层来做,在更底层执行,效率会高一点。
不过视频教程不建议在项目过多依赖存储过程。这里的逻辑很简单,可以一用。
在查到的资料里,查询、秒杀的操作几乎也都是通过 Redis 来优化的。
如果直接在缓存进行秒杀(直接在缓存进行减库存操作)等操作,就又涉及到缓存与数据库的同步……
对 /api/seckill/list
使用了缓存。
其他同理……
再不进行任何配置的情况下,使用的是默认配置。执行 redis-server
后,该程序会在前台执行。而我们实际对 redis 进行操作需要打开 redis-cli
,在这种情况下只能另开一个窗口打开 redis-cli
。
如果在当前窗口按 ctrl +z
或 ctrl + c
关闭,再执行 redis-cli
,是没有效果的。
如果已经整合到 Spring,进行数据操作时会报错NOAUTH Authentication required
。
另外:执行 redis-server
如果遇到某些错误信息,其实当前窗口已经给出了解决办法。
我们需要后台运行 Redis:
/redis/redis.conf
中的 daemonize no
为 daemonize yes
/redis/src
./redis-server ../redis.conf
意思就是以自己的配置(后台执行)来运行 redis-server
ps -ef|grep redis
检查是否后台启动.配置文件 /config/RedisConfiguration.java
配置 application.yml
Redis 提供了常见的数据结构的存储,如 String、List……
在本项目中 Redis 使用 jackjson 把对象转换为 json,以 String 来储存。所以只用了 k/v 的方式。 json 也是序列化的一种嘛。
可以这样:只读取用 json,涉及到修改用普通序列化。
看场景……
前后端数据交换,解析时遇到一些问题。
先与服务器交互一次,以服务器的时间为准,然后靠着轮循倒计时。
[update-2019-05-23]
增加了 RabbitMQ 来异步处理秒杀逻辑。之前执行秒杀会阻塞直到返回秒杀结果,现在会直接返回「正在排队执行秒杀」的信息,不会阻塞。
不过这样的话,前端怎么获取是否是否秒杀成功呢?
可以通过轮询,判断秒杀表是否存在 用户-商品
的对应。
不过现在,秒杀有三种状态。秒杀成功、秒杀失败、秒杀排队中……
怎么做?首先根据秒杀表可以获取秒杀成功,秒杀尚未成功这两种状态。然后怎么判断秒杀失败和秒杀排队呢?
可以这样:查询商品表,如果还有商品,就返回正在排队;如果没有商品了,就返回秒杀失败。
]]>「我似乎就是这样的矛盾体。刚来学校时,社团招新,我准备告别中学时的郁郁不得志,于是毫无准备就投身到各个报到点。面试的时候那个学长问我哦,说你觉得你是一个什么样的人?」
「哪有这样的问题啊!我是怎样的人,不就是你看到的这样一个人吗?可是当时我萌新嘛,于是就仔细斟酌了一下,告诉他说,我是一个挺矛盾的人吧。当时说出这个答案把我自己吓了一跳,就急忙解释,可能我这样说有点奇怪……」
「没想到那个学长说,这完全不奇怪哦!大家都是这样的。然后吧,当时我就震惊地看着他,脸都红了,尴尬地不得了。同时内心也很高兴,原来大家都是这样,真好啊,我终于不是异类了,我终于来到充满了爱和包容的大人世界了!」
「哎,我那时真是一个无可救药的傻瓜。这样的言语其实不过是骗新生交部门建设费用的安慰剂而已。当时实在太年少了,一直觉得这些大我们一两岁的年轻人比我们懂得更多一些。其实单纯的年龄增长在人格健全方面根本毫无贡献嘛!」
「那个时候的我却感动得不行,立马交了十块钱的社团经费。不过那已经不是我了哦,而是一个被情绪驱使的我,情绪这种诡异的东西占据了我的躯体,我才会做出交钱这种不含蓄的事。」
「然后他拉我进了一个叫做『XX 猫粮销售 XX 地区代理』的 QQ 群。还催促着我改群名片。我愣了一下,说我们不是『保护小动物协会』吗?他说那种事我们有空了也做,不过你难道不想在大学赚点零花钱用吗?我们去年是 XX 地区的销售冠军哦!」
「我期待中温柔的学姐照顾小兔子的场景就这样在我眼前变成泡沫。」
「这太让人失望了吧!」
「我就是这样的人啊。倾向于坦诚的关系,有效率的交流。即便是对那种在心灵鸡汤上被划分为弱关系的人。」
「这样的代价就是有可能会失望啊。对于他们来说,做人好像就是一场零和游戏,与人建立关系就是为了在这段关系能达到顶峰时抛售,然后获取利益。可是我不想这样啊,如果每个人都能坦诚的话……这当然不可能,不过为什么我都把自己的底牌亮在自己脑门上了,他们还是不愿意对我坦诚呢。甚至还觉得我已经暴露底线了,我完蛋了。」
「你听说过那个形容吗?『房子好像突然变得不高兴。』我当时情绪就是有这么低落。」
「像一条狗一样。」她加了一句。她的意思似乎是,她离开了,但是被戏弄的感觉久挥不去。
我看着她在我的面前进行情绪表演,心里产生了一种令人作呕的快意。我对她的厌恶似乎是与生俱来的。有些时候就是这样,你都不知道自己为什么会对一个人没来由的生厌。她似乎行为得体,其实也说的上是作风优良了,处事都是三好青年的风范,可我就是对她产生不了好感。她的言行在我看来都是做作——特别是言,每当她充满感情地向我喋喋不休地倾诉那些我并不感兴趣的东西,每一帧都让我感到生理上的不适。
「就是呢。」我笑着回答她。
]]>怎么称呼的都有:二分查找树、二叉搜索树、二叉排序树、有序的二叉树……
但是它的功能不仅在搜索哦,还需要进行增删改。
二叉查找树相比于其他数据结构的优势在于查找、插入的时间复杂度较低。为
如果大量删除,二叉排序树就有可能变为一个单叶的树,此时查询效率就成了 O(n) 。
二叉查找树越是「矮胖」,也就是每层尽可能地被「塞满」(每个父节点均有两个子节点)时,查找效率越高。每层都被塞满时,查找效率最高,最高为 O(log n) 。当二叉查找树退化为单链表时,查找效率最低,最低为 O (n) 。
为了解决二叉查找树退化为单链表时查找效率低下的问题,引入了平衡二叉树。
在树有序的情况下,树的查询速度取决于树的深度。一棵二叉搜索树在最坏的情况下,查找的效率就是 O(n)。AVL 树通过维护自己的「矮胖」(平衡),使数据尽可能地二分,达到优化查找效率的目的。
但是这样查找是快了,当涉及到插入时,就需要极大的代价去维护树的平衡。因此有了 2-3 查找树。
2-3 查找树怎么花比较小的代价去维护树的平衡呢?
红黑二叉树是对 2-3 树的优化。
《算法》中提到:红黑树背后的思想是用标准的二叉搜索树(完全由 2- 结点构成)和一些额外的信息(替换 3- 结点)来表示 2-3 树.
红黑树将树中的链接分为两种类型:红链接(将两个 2- 结点连接起来构成一个 3- 结点);黑链接(2-3 树中的普通链接)
上面提到 2-3 树是最简单的 B-树。
B-树属于多叉树,又名平衡多路查找树。也就是在 2-3 树上面进行扩展。
2-3 树的节点可以拥有 2 或 3 个子节点,而 B-树的节点可以拥有多个子节点。
B+树是对 B-树的升级。
定义:若设二叉树的深度为 h,除第 h 层外,其它各层 (1 ~ h-1) 的结点数都达到最大个数,第 h 层所有的结点都连续集中在最左边,这就是完全二叉树。
简单讲,完全二叉树——只有最下面的两层结点度小于 2,并且最下面一层的结点都集中在该层最左边的若干位置的二叉树。
主要内容是哈弗曼算法,如何构造哈弗曼树,哈夫曼序列。
满二叉树——除了叶结点外每一个结点都有左右子叶且叶结点都处在最底层的二叉树。
除最后一层无任何子节点外,每一层上的所有结点都有两个子结点(最后一层上的无子结点的结点为叶子结点)。
也可以这样理解:除叶子结点外的所有结点均有两个子结点。节点数达到最大值。所有叶子结点必须在同一层上。
身后传来她温柔的声音「走这么快干嘛。」
句子从她的嘴里吐出,一半变成弓箭刺向我的心脏,一部分悄悄地从我的耳朵钻进去。我的脑子朦朦胧胧的,靠着胸口的刺痛才能勉强维持理智。
我开始支吾。一半是斟酌了半天的话不知道怎么开口,一半是脑袋在疯狂地运算怎么去回答这个问题。
什么是社交恐惧症,是不想和别人交流吗?可我此刻非常想和她说话,只是不知道从哪里开口。
她知道我的心情吗?
我像是回到了去年的语文考场,因为是第一堂考试,整场我都激动地发抖。而此刻的我就像是在做一道高考语文的分析题,担心词不达意,担心鲁莽唐突,又担心说的话用上了超过我们现在关系该用的词汇。
我给自己鼓励,张嘴呀,说话吧,一,二,三……好!下个路口就向她攀谈,马上就到了,马上就到了,十,九……
「那个……」
她突然开了口。
我有点失望,又有点庆幸。
「怎么了?」
影子似乎转了一圈,现在停在我右肩靠后的位置。我向右后方瞥了一眼,收回视线向左,她在我左边五十多公分外。我一边做出认真听她讲话的样子,一边慢慢降速,假装不经意地来到她的左边。
她用手指了指右处,路灯在她纤细的手指上抹了一层压抑的灰。
有桂花的香味飘了过来。
两个影子缩在我们的脚下。
「那,我走这儿。」她这样对我说。
我注意到她说这句话的时候睫毛抖了几下。
「这样啊……嗯……」
只有道别了吧,虽然有点不甘心。
这是去年的事了。那时候刚刚中学毕业的我一直坚信着倾听是维护一段关系的良方,但总有些时刻是不得不开口的。
那个时候我确实是鼓起勇气说了一些东西。我是怎么做的呢?
我不记得她的脸了。她的身高?和我差不多吧。但是我还记得和她一起走过那段路的感觉。我躺在那种舒适里,连她的侧脸也忘了装进记忆。
我抬起了头,没敢和她正视。
「嘿!」我唤她,「看星星勒!」
我不确定是否真的能看到星星,但依稀记得似乎有一轮圆月挂在远处。
我紧张了。
我开了口,胆子又大了些,「那个,你看!」
我的脸通红。
「你看这星星像不像两百块钱?」
我不知道她是不是有抬头,她应了一声「啊,对了,我还欠你两百块钱,马上转给你。」
我抬着脖子不敢看她,「啊,那个啊,不急,你不说我都忘了。」
她说,「那哪行啊,我这就转给你。」
我仍抬着头,感觉到口袋里的手机传来一阵震动。
我们终于道别,她转身向右。我的脸还有点发烫,感觉到一阵燥热聚集在耳根处。我用脚尖揉地上的桂花,抬头望光线的痕迹,透过树枝的缝隙远眺天空,目光随着她渐远。她把两手收进了衣服口袋,在我的眼睛里渐渐模糊,分离。
我有点遗憾,因为她始终没有回头。
从恍惚中回过神来,我掏出手机,点了确认收账。
]]>人生的终点是时间不确定的唯一项,可路上还有许许多多其他的终点等待着我们去攀登或者路过,倒也不会寂寞。每结束一段路程,心情总是会低落一阵子。如果有一个开心测量仪,平时的开心指数会在 0 到 0.5 之间徘徊,而这段时间的开心指数会突破 -1。
时间回到一年前,我在差不多的时间开始折腾这个博客,一年不过是转眼间的事,没意外的话,校园生活也进入了倒计时,这种被时间追赶的感觉我还没适应过来,身边的一切事物就开始已不可见的震动发出声波传送至我的耳朵,内容翻译成中文的大意是「抓紧扶牢,时间它要加速了。」
我在这个博客的第一篇博文提到刚结束一门课程,今年也是如此。说出来可能有点搞笑,我的情绪低落来源于今天结束了课程,明天,终于要迎来暑假。我怀疑自己是不是过于早熟,以至于提前开始怀念自己的校园时光。大概不是这个原因。但我确实在象牙塔感受到安全感,在朝九晚五的日子感受到充实。
宫崎骏里的台词说就像一趟车,陪伴你的人会不断地下车。我不怎么讲命运这个词,但是人能够相聚到一起,确实是一个很了不起的概率。
当我下车的时候,总有一种双手无处安放的局促。好像突然从某天开始,就从一个无忧无虑的小孩坐到了宇宙管理委员会会长的座位上,每天都得签署一堆关乎宇宙命运的文件。
纠结于下车的时机,在终点间奔波。突然意识到所谓的成长,已经不再是装作很喜欢喝啤酒,而是不得不独自做出各种决定,并且承担它带来的任何后果。
]]>其实当时还是有不少遗憾的,有时候甚至还会把自己现在的不如意甩锅给从前。不过毕竟是个过来人了,似乎已经领取到了讨论这件全国性的大事件的资格证。而常言道,拥有的东西总是不过尔尔。千言万语也就化为无法免俗的客套。
六月总体来说是个伤感的月份,虽然比起六月的炎热,情绪的变化有些微不足道。有时候想些莫名其妙的东西,常怀疑身处其间时的感情和之后的回忆是两回事。看着过去在社交软件留下的动态,觉得当时过得似乎挺开心的,但不知为何,这些年回想起来,总是几件不那么愉快的事情占据脑海。听说青春就是回忆过滤掉愁苦与纠结,可能我太幼稚了,有那么一段时间心智还停留在童年。只有小孩会为不值得的事浪费时间。
父打电话说旁边的高中因为高考放假了,问我放了没。母上周周末和我对话,埋怨我放假怎么都不往家里打电话。我安慰自己不要把假期当做思念的借口,把与家人联系当做一件很正常很普通的事 —— 我对人与人之间关系的定义大多如此,即真正的感情不需要刻意的维护。但是仪式感还是很重要的。很重要。
上周在图书馆外面遇到拍毕业照的青年,和别人谈起来都觉得时间真是越来越快,似乎花了中学时的一学期就过完了两年。谈起两年后,又都是玩笑。就像关于离别的话题本该这样。
我有时在操场上排泄盐分,回想人类的情绪表演,便展现出惊人的共情天分,表情像是可以随时替他们流泪。
]]>交流是建立在对自己的想法存疑这个前提上的。否则就会陷入「没有一张嘴能说服谁的耳朵」的状态。或者一方以退让作为回应,而另一方还沾沾自喜。
就我自己经验,很多事情都没有一个是非黑白,所以便觉得真相不重要了。
情绪被媒体左右,随着新闻不断反转而不断打自己的脸——慢慢觉得自己离真相其实很遥远。毕竟是信息时代了,现在有爆炸的资讯。以前人家通过创造信息来忽悠,现在人家通过筛选信息来忽悠。
不管是没有确定的事实,还是难以抵达真相。不如把这些东西当做细枝末节抛开,比起是什么,专心于为什么。
对事件本身没有想法,几千字的论证只记住了最后的结论。面对墙外的广阔天空,不加辨别的全篇接受。都不好。
不过这都是作为吃瓜群众来讲。作为当事人(特别是新闻里的),那这就是事实,没什么说的。当事人最好还得尽力发声并维护使事实不跑偏——「跑偏的事实」太可怕了。
]]>怎么做推荐呢?实际开发过程中,我们一边学习推荐相关的知识,一边先按直觉做了几个 demo。
在第一个版本中,用模糊查询实现。根据用户的相关信息到数据查询。大概是因为逻辑判断太多了,速度非常慢。
第二个版本,尝试优化查询语句,建立索引。
第三个版本。因为前面已经通过多元回归计算出了用户的工资区间(虽然很不准确就是了),我们拍脑袋觉得对于一份工作来说,工资是很重要的,于是直接按工资区间到数据库查询…
前两个版本,模糊查询的推荐结果还不错,至少能一眼看出与用户的信息有关。但是速度实在太慢了。
第三个版本,因为前面做的预测结果本来就不准,所以效果更差劲…而且这个思路太想当然了。
但至少现在已经有这样一个功能模块了!!于是接着尝试真正的推荐。
因为水平不到位,不能从比较宏观的角度解释,下面都只是我在这个项目中的感受。所以,推荐以「推荐 Job」为例…
我理解的推荐,就是为用户建立一个模型——「我最喜欢的 Job」。系统不断优化这个模型,试图找到用户心中最中意的那个 Job。(这只是个理想化的模型,实际的系统当中可能并不存在)然后从系统中找出与这个模型最匹配的 Job,推荐给用户。
那么问题来了,计算机怎么判断用户是不是中意某个 Job 呢?
我们看看协同过滤算法中的基于用户的推荐算法。
最简单的一种,如下:
1 | 小明 喜欢 A、B、C。 |
我们发现小红的喜欢和小明的喜欢重叠度很高,小明可能也会喜欢 D,所以把 D 推荐给他。
但是这种判断的粒度太大了,再细一点可以这样:
1 | 小明 非常喜欢 A |
在计算机中,可以简化为这样的三元组 < 用户 ID, 物品 ID, 用户偏好 >
表示:
1 | 用户 JobID 偏好值(权重) |
那么这个偏好值怎么来呢?
肯定需要严格的算法…
我们可以粗略举个例子来理解,比如用户点击一次某个职位,我们假定他是被这个职位所吸引,把他与这个职位的权重相应增加。
这样在计算机内部就得到用户与 Job 的关系。
用这样的数值来量化之后,我们就可以通过做一些矩阵运算,根据用户自己的列表和别的用户的列表,把口味相似的用户关注的职位推荐给用户。
好了!暂且到这一步。
我们回过头来看,基于用户的推荐算法,需要满足两项。
这就是冷启动需要解决的问题。
它不仅需要用户自己有信息,还需要别的用户有信息…
考虑到我们做的这个小项目根本不可能有那么多用户,测试起来也麻烦,看来这个方式不合适…
基于用户的推荐算法,是通过比较各个用户的喜好,把别的用户关注的东西推荐给有共同喜好的用户。
而基于内容的推荐算法,就是把用户的喜好直接与 Job (物品)比较。
还是看个最简单的:
1 | 小红 喜欢 哲学书籍 |
所以把《大问题》推荐给小红。
同样,我们可以更细粒度一点:
1 | 小红 非常喜欢 哲学书籍 |
我们优先推荐《大问题》给小红…
而在计算机内,可能是这样表示的:
1 | 用户标签权重 |
通过计算向量距离,得出用户和 Job 的相似度,生成推荐。
基于内容的推荐需要解决两个问题。
第一个仍然是冷启动,用户需要打上标签。我们考虑过根据用户的行为——历史记录,点击记录等来生成用户标签。
不过都没时间做…(太真实了)
其实提到这个场景,我想到的是各种信息流 app,注册时让用户选择一堆感兴趣的话题,相当于打上标签。于是我也模仿这样做了个…
我们只做到了用户和某个标签产生联系,如标签 Hadoop
, Java
…
存在数据库里 :
1 | 用户 ID标签Id有无 // 标志用户有没有选择某个标签。。。 |
第二个问题就是提取出 Job 的标签,并且提取权重。
这个是重点也是难点…
从抽象的角度来看,Job 其实也只是一串文本描述的一样物品。
粗略地做,我们可以进行简单的词频统计…
常用的更标准的方式是使用 TF-IDF。
SQL 模糊查询是基于元数据的推荐。比如推荐书,紧紧按出版年份来推荐是不太合适的。(大多数情况下)
而协同过滤,是基于标签,更合理些(理论上)。
我们做出来的效果,感觉模糊查询似乎看起来科学点…至少能在推荐的结果找到我们的输入的信息。
通过后面的方式得到的推荐结果(因为我们技术不到位的原因)看起来有点没头没脑…
]]>究其原因大概是因为在一个大部分都还皆有可能的环境下,我仍抱有能把这些麻烦事一件件处理完的期待。
叹气着「麻烦呀真麻烦」,但当别人说「麻烦的话,不做不就好了。」又觉得别人多嘴。
这是宫崎骏在某个采访里说的话,印象很深。
毕竟「重要的事情总是很麻烦。」
这类金句还挺常见的,《电脑线圈》的最后一句台词是「能感觉到疼痛的地方一定会有出口。」
这种口头禅式的抱怨只是情感宣泄的一种方式。就像网上流传的聊天达人的技巧,当别人抱怨时,你顺着对方的话说就行了。要是当真了一本正经的解释,反倒无趣。
这种交流方式太累人了,我没尝试过。不过想来应该没差。
]]>「不管如何,既然要做,就要做到现有条件所能达到的最好状态。」
抱着这种想法,就可以愉快地接受失败了。以后也不会拿「如果」「要是」这种词汇来搪塞此时的愚蠢。
以前有老师对我说过,「不要想着去拿最后那几十分,保证前面的分都拿到手,你就不错了。」这话要是用在主角的身上,搞不好会来个咸鱼翻身、怒上名校、写回忆录时谈到「我能有今天的成就全靠某老师当初的激励……」等等剧情。
不过我真的很会接受别人的建议,甚至发现这句话真是我这类不思进取的人之良药,并把它运用到生活的方方面面。坚信着我前十多年的人生就是因为过于追求后面那几十分,所以失去了太多本可以拥有的东西。
没错呀,要是整天抱着「比特币 3000 软一个的时候我就想买了可是没钱」这种想法,人生岂不是没有活头了。
这样真挺好了。等于是把「不要为过去的悲伤流眼泪」转换成了「不要为不可控的事情流眼泪」。话说银行卡上就写着「战争,自然灾害等不可控因素造成的损失不予赔偿」之类的话呢……
诶,挺好的。
]]>前几天吹牛,波波老师说他年长我好几岁,因为当初经常转学,留了几次级。我打趣说大家都是这样,前二十多年的人生,不断地和一群熟悉的人分开,奔向另一个地方重新开始。
我用了「重新开始」这个词,因为当时想到了上面的那个问题。到了一个新的地方,换个性格重新开始。
我觉得性格就是一套与人相处培养出来的行为准则。我不改变是因为处于这种舒适区并且觉得改变带不来什么好处(好处的定义由三观决定)。要是有人改变了性格并且不断地从中获取正反馈,不就一直这样下去咯。
]]>下载安装 Git。
PS:Gitee、Github、Coding 这类 Git 协作管理工具原理都一样。
该配置是全局配置,对于不同的管理工具,只要用的一套邮箱和密码,都可以使用。
git config --global user.name "在 Github 等站的名字或昵称"
>git config --global user.email "在 Github 等站注册使用的邮箱"
需要在项目根目录下进行配置。
git config user.name "Your Name"
git config user.email "Your email"
注意:如果你配置了全局的用户名和邮箱,仍可以针对项目进行配置,Git 会优先考虑针对项目的配置,找不到才会去使用全局的配置。
git config --list
查看当前配置
在配置好用户名和密码后,可以进行生成公钥。
配置 SSH 公钥后,本地仓库与远程仓库可以通过 SSH 链接进行交互(pull,push 等操作)。
SSH 链接示例:
git@github.com:hqweay/MarkAll.git
反过来说,如果你通过 SSH 链接关联远程仓库与本地仓库,就必须配置 SSH 公钥,才能进行 Git 操作。
另一方面,如果你通过 HTTPS 链接进行关联,你就无需配置 SSH 公钥。
HTTPS 链接示例:
https://github.com/hqweay/MarkAll.git
若你通过 HTTPS 链接对本地仓库和远程仓库进行关联,在进行 push 操作时,Git 将会提示你手动输入密码以验证权限。
所以通过 SSH 与 HTTPS 链接关联远程仓库库与本地仓库的区别就显而易见了,通过 SSH 链接,一次配置后以后就无须重复输入密码,同时,不必输入密码,也在一定程度上保证了安全。
ssh-keygen -t rsa -C "xxxxx@xxxxx.com(你的邮箱)"
连续按三次回车,使用默认配置即可
cat ~/.ssh/id_rsa.pub
这一步是查询公钥,把显示的东西全复制下来即可。
如果操作系统是 Windows,可以打开 C:\用户\Users\.ssh\id_rsa.pub
文件查看公钥。
然后把公钥粘贴到 Github 这类网站配置 SSH 公钥的的对应位置即可。
git clone git@github.com:hqweay/MarkAll.git<仓库链接>
git pull orign<remote> master<branchName>
git push origin<remote> heng<branchName>
PS:了解下 rmeote 概念就行了。
git merge <想要合并到当前分支的分支名>
git init
git remote
git branch
git add .
git commit -m""
git push
git remote add origin git@github.com:hqweay/MarkAll.git
origin 为本地库的关联名
一个本地库关联多个远程库,就是通过更改 origin 这一项的名字实现的。
比如:
git remote add One git@github.com:hqweay/MarkAll.git
git remote add Two git@github.com:hqweay/MarkAll.git
就实现了一个本地库关联两个远程项目,需要进行操作时便分别通过名称 One,Two 来操作。
删除关联 git remote rm origin
查询关联 git remote -v
默认克隆 master 到本地:git clone git@github.com:hqweay/MarkAll.git
git log
命令查看所有的历史版本,获取某个历史版本的 id,假设查到历史版本的 id 是 139dcfaa558e3276b30b6b2e5cbbb9c00bbdca96。git reset –hard 139dcfaa558e3276b30b6b2e5cbbb9c00bbdca96
git push -f origin master
git push -f origin master
以命令 git push -f -u origin master
为例。
其中 -f
是命令 --force
的缩写,意味着忽略冲突,将本地的内容强制推送,覆盖远程仓库。
-u
的意思是把当前使用的仓库 origin master
设置为默认仓库。
设为默认仓库后,下次就只需要操作 git push
而无需输入全部命令 git push origin master
达到推送的效果。
git pull origin 分支名
假如本地仓库有一个分支 master 对应远程仓库的一个分支 master。
现在需要将远程仓库的另一个名为 master-new 的分支 merge 到本地分支 master。
// 新建分支
git branch add master-new
// 切换到该分支
git checkout master-new
// 此时新建的分支还未与远程分支关联
// 把远程分支 pull 回来 默认就关联了
git pull origin<remote> master-new<远程仓库名>
// 切回原分支
git checkout master
// 把新分支的内容 merge 回来
git merge master-new
// 然后按照冲突进行解决即可
如果要将远程仓库的一个分支 merge 到本地,需要保证远程分支的 commit 是较新的版本。
新到那种程度?
新于本地分支和被 merge 的分支的主干分支。
查看项目的分支们(包括本地和远程)命令行 : $ git branch -a
删除本地分支
$ git branch -d <BranchName>
1 | $ git fetch origin master:temp |
1 | git submodule add <url> <path> |
克隆父项目后,默认子模块目录下无任何内容。需要在项目根目录执行如下命令完成子模块的下载:
1 | git submodule init |
或:
1 | git submodule update --init --recursive |
进入子模块的目录下 git pull
。
有时子模块的项目维护地址发生了变化,或者需要替换子模块,就需要删除原有的子模块。
1 | rm -rf 子模块目录 # 删除子模块目录及源码 |
执行完成后,再执行添加子模块命令即可,如果仍然报错,执行如下:
操作完在执行 git rm --cached 子模块名称 前,需要先提交一下更新。
1 | git rm --cached 子模块名称 |
https://github.com.cnpmjs.org/
如命令 git clone https://github.com/hqweay/MarkAll.git
可以用 git clone https://github.com.cnpmjs.org/hqweay/MarkAll.git
代替。
使用 Gitee 等将 Github 的仓库同步过来,然后通过 Gitee 等提供的链接 clone 仓库。
]]>三口气读完,非常畅快,在这里写下自己的一点感想。
提示:以下可能包含剧透。
至此时我仍然不能好好地理解「乌邦托」这个词,因为我想像不出这个词描绘的是怎样一个世界,或者说怎样维持这样一个理想世界……就像想像不出宇宙的边界那样……太费脑子了,我就不多说了……
在我看过的为数不多的科幻作品里有两部通过设定「生物之间的相互信任」来搭建故事。比如《三体》中三体人通过特殊方式交流,思想对同类是透明。而《来自新世界》设定了「愧死机制」和「攻击抑制」避免同类间相互伤害。所以三体人表示「不能理解」什么是「欺骗」。这部书的主角在听说古人类(相对于他们来说)会说谎时惊叹「不可能!」。
几千年后的新人类拥有着超能力(念力),但是却发展出了一个限制使用念力的社会。这点非常有趣,第一,如今的人类都拥有念力,是因为淘汰了那些没有念力的人,而淘汰的方式 —— 异常血腥。第二,反过来又要限制念力(对同类的使用)。
发展到现在这个社会是很不容易的,管理层想要维持,而主角一行人受好奇心的驱使,不断探索,便展开了这个世界的原貌。
原貌自然是黑到发紫。
我觉得这里出现了一个问题,这群新人类这样表示:你知道真相了吧,真相就是这么黑暗。我们好不容易才发展出了现在的社会体系……所以我们一起维持现状吧!
可是……地球终究有一天是会毁灭的……你们应该考虑地球外面的星辰大海啊!
超能力漫画作品《我的英雄学院》也有类似的观点,大意是:「如果没有超能力,我们现在应该已经住在太空了吧。」
在我看来,主角并不是很讨喜。
在结局打 Boss 时,主角团的觉准备与 Boss 同归于尽拯救世界,但是女主同情心爆发阻止了觉,于是最好的机会浪费了……然后女主「想出了一个办法」,让旁边的化鼠奇郎丸去送死激发 Boss 的愧死机制……
很干脆地说,我对女主的反感大部分都来源于这家伙让奇郎丸送死……
我还以为会有什么不会牺牲的完美解决方案……没想到还是会有牺牲啊……虽然是牺牲化鼠……
在这部小说的世界观里,化鼠类似于现实里的蚂蚁……可是即便是蚂蚁,你们好歹是同行战斗过的伙伴(日漫之类的不是最讲究伙伴什么的吗)啊!女主至始至终都觉得「化鼠嘛,死了就死了。」。虽然在小说的描写屠杀化鼠的文字里也产生过同情心,但是还是认为「化鼠嘛,死了就死了……」。
我对女主另外的反感就来源于此——因为这种行为像极了我自己,或者说人类自己也不为过。即便我们接受的教育是爱护动物之类的,偶尔会产生怜悯,但是在面对蚂蚁死了,猪被杀了这类事时还是会觉得「死了就死了」。
小说的高潮在化鼠的真实身份揭露时产生了一个高潮。其实化鼠是之前没有超能力的人被超能力拥有者转化的……
女主在了解到这一点后杀掉了化鼠斯奎拉(应该说给他一个解脱) —— 之前 Boss 小真里亚的死已经证明愧死机制的发动是针对执行者所认同的同类来讲,而女主却没事,这说明即便女主知道了化鼠其实就是人类,但是已经并不认为他们是人类了。
毕竟从很久以前开始就只有能使用念力的人才算是人类。
即便化鼠不是人类,这场战争在化鼠的立场也没什么错,为了自由而战嘛。化鼠想要存活必得看人类心情,这多糟糕。新人类的立场认为,我们拥有秒秒钟毁灭你们的能力,但是我们没有,我们只杀了你们当中那些不听话的化鼠,这真是太善良了!但是在化鼠看来:「……」
斯奎齐很厉害。
奇郎丸只是忠于女王罢了。
想想,几位主角,村子的管理层,大家在各自的立场都挺「正义」的。
一部小说要吸引人,重要的是让读者对角色产生同情,之前读者随着几位主角探索,描绘的世界缓缓展开。知道了真相后可能会对化鼠产生同情,觉得化鼠失败了很可惜。可是之前超能力者刚被发现的时候,超能力者也属于弱势群体,被研究啊什么的都会有,而且有的人类认为超能力会影响社会稳定甚至准备了各种武器想要消灭掉所有的超能力者。(想起了《亚人》的故事情节,拥有不死能力的亚人作为弱势群体……本作大概就相当于亚人故事里反抗派最后统治了世界并且把普通人类灭绝了……)
所以成王败寇啊成王败寇……只不过超能力者在当初那场战争中赢了而已……
不过超能力会影响社会稳定这点在本作中确实没错,在这个故事中超能力者掌管世界后经历了好几个时代(黑的不行),最后才发展出故事发生的这个社会(通过限制使用超能力,进行愚民教育等维持稳定)。
我对化鼠的同情来源于想到自己如果在这种社会下一定是化鼠阶级……要是我能在这样的世界里当一个普通人,那还不错。不过村子会对念力掌控不合格的小孩进行排除……想要安稳成年当个普通人也不容易啊。
想起之前读的一个短篇,一个人发现自己生活的地方有点不对劲,然后尝试逃离这里……说到这里就能想到很多的类似作品了,楚门的世界,黑客帝国,异次元骇客……这个小说让我记忆深刻之处在于主人公从这个不太对劲的世界逃离出去后,发现自己其实在末世,靠营养液和休眠过活——也就是靠着技术手段做白日梦。真实的世界并不是那么有趣,主角反到希望自己能够再次进入休眠状态。可是这时如果清除主角记忆让他再次进入催眠状态,太危险了……谁知道主角会不会又对这个世界产生怀疑,然后为了逃离这个虚拟世界大肆破坏一番……但是让他不清除记忆再次休眠……已经知道了真相,还能沉浸于虚拟的世界吗?
2019-09-28
剧透,剧透注意!!今年的动画《爱,死亡和机器人 第一季 Love, Death & Robots Season 1》里就有一个这种结构的故事。
PS:虽然这种故事结构的内核并不新鲜,主角探索真相,真相揭露后觉得还不如不知道……
即便如此我还是觉得人应该追求真相……这样的世界下面,死亡就其实也不过如此了,或者说正是因为死亡也不过如此,追求真相更显得可贵,并且……有意思些。
以上,至于对现实的警示什么的就不多提了。
PS:有个脑洞……未来的世界人类已经进化成可以随时更换身体活下去了,对于他们来说,换身体就像和现在换衣服一样方便……其实未来世界已经被机器人统治了,不过普通的机器人都认为自己是人类。所谓的换身体不过是给储存器换一个机器身体而已……
友人觉得可以这样:未来的人类已经能与机器结合了……
但是我觉得机器人统治世界,真正意义上的人类已经灭绝了这种设定更能让人绝望……
不过仅限于故事啊,我还是希望生活中能多点充满希望的事……
]]>你说,世上怎么有这么可爱的人?
这阵子沉迷于王小波无法自拔,读杂文时了解到他为了写小说,自己编了一个码字软件。这让我在满篇的共鸣中又对他添加了一心脏的好感。「今天要是不把那段 C++ 程序调通,老子就不睡了……」类似的句子总让我脑补出他坐在一台老式 PC 前抓耳挠腮的画面,似乎下一步就要开始挠挠脚趾头。
这家伙对电影极其热爱,观影量 1000+,而且大部分都是留学时看的原声。有篇杂文他提到了 3D 动画电影,大概内容说可惜现在做一部 3d 动画需要很多人,以及很高性能的电脑,他是一个喜欢编故事的人,要是以后技术更好了就可以考虑自己做部出来。当时读到这有点难过,想到他如果还在的话,现在说不定会就有个互联网大佬王小波,或者搞独立动画的王小波之类的。
王小波的文章里多次提到伍迪艾伦,我觉得他要是拍电影一定也会和后者的片子一样有趣。他经常借伍迪艾伦来批评美国的商业片——读到这些,我感叹,「好莱坞的套路这么多年都没变过嘛。」
他写过不少关于影视的文章,其中像是「电视上全是『太君好』……」这类的又让人忍俊不禁起来。真想告诉他,二十多年来,这种情况都没啥改变。
很喜欢他的杂文。读起来有一种「卧槽这个念头以前也有人想过」的感觉,要是共鸣就意味着高潮,那我简直是在他的文字里高潮不断。
不过他自己也提到,比起杂文,更喜欢编故事。
「我觉得自己是个忠厚的人,但是不知道为什么,满脑子都是尖酸刻薄的想法。」我想这就是他幽默的笔触下的故事却几乎都是悲剧的原因吧。
王小波的人生信条是追求有趣,「有趣」这个词倒是经常在日剧里看到。日剧有很多片子都是讲成年人的婚姻,据说这是因为日本社会结婚率越来越低,所以放些电视剧试图潜移默化来鼓励大家结婚。经常看到这样的台词,找对象的条件,温柔就好,有趣就好。要是像是王小波这种有趣,确实很好。
据说——唉,又是据说,我写文章真是没有一点考据求实的精神。据说「咪蒙」在写毒鸡汤之前也是个以「有趣」为人生信条的青年,在韩寒那部只发了一期的《独唱团》等刊物写过确实有趣的文章,据说——又是据说,据说那篇文章和现在的风格迥乎不同。
我想说「有趣又不能当饭吃」这种话来着,可是转念一想还真有不少人拿有趣来赚钱。果然这些话还是自己偷偷想想就好了,别说出来,免得挨打。
我恰好是个无趣至极的人,倒也正好,可以追求有趣嘛。
不过要是成天把「有趣」这个词放在嘴里的话,不仅对我起不到半点好处,反而与我另一人生信条相违背了。我还是做一个无趣的人好了,这样,我就是一直在追求有趣的路上。
2017-12-30-0:50
]]>最近又发生了关于三种颜色的事件——每隔一阵子就会出现这样的社会事件。我和所有关注着此事件的人一样对此感到痛心。但是正如前面所说「每隔一阵子就会出现这类事情」,我就看着很多人一次次地重复之前做过的事情,最后都不了了之。后来我把几乎所有能带给我社会新闻的咨询通道给屏蔽了,以期望能够获得些许内心的平和。先不说这种屏蔽行为是否确实有效,往往自己在眼神逃避相关字眼时就感到心虚,非常不平和。
我讨厌一个人不加思考地盲从,成为情绪浪潮里的一朵浪花。当然,我也没自以为是到觉得自己真的异常牛逼,是看透一切,独立思考的成熟青年。我只是感到困惑,对此,我能做什么?有些人回答说做好自己。这种答案说不上错,但总觉得有点没意思。
从实用主义来说,考虑这些东西对我毫无用处。自然有比我优秀、更加专业的人去思考、研究、解决。要说的话,但行好事,搞好学习才是现阶段最应该考虑的事情。
至于学习——我之前吐槽说,如今的大学老师嘴上说现在不一样了,你们不能要求老师再来教你们什么,要靠自学。实际上是以此掩饰自己完全教不了什么东西的事实。我希望有人能读懂这里面的夸张,不要误解我是个不学无术只知道埋怨的混蛋(虽然从某种意义上来讲我的确如此😅)。
人不是单线程生物啊,胡思乱想也有何不可。只是有些困惑不吐不快,见笑了。
]]>这部纪录片的精彩之处在于主创团队使用了很多个逼真的动物机器人来接近动物们,以此拍下他们在毫无防备的时候的普通生活。
我的第一感觉首先是有趣。因为这种独特的拍摄手法,片子里面有许许多多有趣的镜头,展现了许多我以前未曾想象过的动物们的行为。这种有趣也来自于动物和人的对比。我惊讶地发现,爱,同情,怜悯,伤心,甚至是自私,嫉妒,这些情绪动物们都有!
第一集里有一个猩猩和一只年幼的小奶猫一起玩耍的镜头,当另外的猩猩粗暴地对待这只小奶猫时,这只猩猩甚至会去阻止,并且带小奶猫去更安全的地方。
我最有感触的是一只雄性企鹅。雄性企鹅们上岸后会在岸边争夺占领干燥的的土地,并捡石子来筑巢,以等待雌性企鹅前来进行交配繁衍。有一只雄性企鹅因为来晚了,已经没有一块干燥的地方可以筑巢了,只好找了一块潮湿的地方 —— 潮湿的甚至可以说是个小水池。但是无妨,只要能捡到足够多的石子,也能把这里做成一个好巢。于是这只企鹅就去捡石子。可是周围的石子已经被捡完了,企鹅只好到很远的地方捡。在这只企鹅走远后,发生了震惊的一幕!一只小偷企鹅在这只企鹅走远后,偷偷地把他之前捡的石子偷走了!!这让我感到好震惊!好气愤!
过了一阵子,雌性企鹅们来了,有一只雌企鹅在这只老实企鹅那打量了好一阵子。可她怎么可能会选择他呢?他的巢甚至还没做好。更尴尬地是,这只雌企鹅选择了之前的小偷企鹅,因为小偷企鹅偷了很多石子的关系,巢又大又温暖。旁白说,也许小偷企鹅没有羞耻心,但他有豪宅啊。
老实企鹅决定与小偷企鹅打一架,为了尊严,也为了最后挽回一下雌企鹅。然而最后的结果是老实企鹅在一旁看着这两只企鹅交配。
这是老实企鹅站在一旁的镜头,心都碎了!!!
但是即便如此,这只老实企鹅并没有放弃,他选择继续去捡石子,把自己的巢搭建好。
也是从这一个片段开始,我重新审视这部片子。很多镜头确实有趣,可是有趣之下呢,动物们只不过是在生存而已。
看这类纪录片如果带入个人情感,就会变得很奇怪。这一刻,豹捕食野狗,我们替野狗感到担心,为野狗的友情,亲情感叹。下一刻,我们又伤心于没有食物的豹子。但当看到豹子攻击人类等镜头时,又会抱怨这些动物的残忍。
眼见为实,人类总是基于自己看见的东西做判断。
这部纪录片拍了猩猩照顾小奶猫这样的镜头,也拍下了猩猩生食狒狒这样的镜头。要是简简单单地评价,这样做好坏呀,这个谁好可怜啊,也太偏见了。
动物有着与人类类似的情绪,猴子会以为机器人猴子死了而像对待真猴子死了那样对待他(而此时机器人猴子对他们来说只是个陌生人)。动物也有极高的智力,猩猩能使用人类的锯子,有种鸟能自己制造钓虫子的工具……
在《人类简史》中写到人类与动物的一个巨大不同点在于动物可能很聪明,甚至会生活在一起,有非常严格的等级制度,但他们不能聚集成一个巨大的组织(人类社会这种成亿成员计算)。
人类不断进化,在社会下的各种规则中,把生存变成生活。因此和其它动物区别开来。
主创团队花了很长的时间,极大的精力,甚至冒着生命危险才拍下这部纪录片。第五集是对各种机器动物的揭秘,展示了他们的制作以及主创团队是如何把他们安放到真正的动物旁边的。其中有一幕是两个人在拍一只豹子时,豹子向他们袭击了过来,还好其中一人是拥有丰富经验的动物学家,通过扔帽子吸引豹子的注意力躲过这生死一劫。
还有团队人员亲自下水到有大量鳄鱼的河流里安放机器动物等行为面临的种种危险。在拍摄过程中的存在的各种困难,特别是各种不可预料的意外 —— 机器动物不可能每个都达到预想的效果,各种安排也不可能一帆风顺……很多决定甚至都只能凭借团队人员的经验甚至是直觉来做……
啊,感谢这群人带来这么优秀的一部纪录片!
]]>这是中考后在 QQ 空间写的日志,本来被我清理黑历史的时候打扫掉了,没想到新浪博客上也发过一份——自我意识过剩总让人不好意思,同时热情越来越分散的今天我也几乎不会对一样东西投入到能产生把它在所有社交平台上分享一遍的欲望(Gakki 除外),我将它贴在这,作为某些情绪的存证。
老文是一个很热心的人。我曾经向他请教过关于勾搭的学问,他非常高兴地告诉我了一些诀窍,然后对我说这就是为师的毕生所学,你去练习练习吧。当时我正在异乡的一所高中中考,于是我充分地发扬了少年人的说做就做精神非常高兴地先睡了一觉。
我所在的考室里坐了近三十位学生,三十位中有差不多十五位来自我校,十五位中有差不多十位来自我班。虽然我的亲友团在人数上十分强大,战斗力也十分顽固,但是很不和谐不团结。后来我对这次失利的行动进行思考总结出了一个道理,那就是这世界上最不靠谱的东西就是人数,因为十个里面至少有六个都是挂机。
我选取的练习目标是坐在我前面的同学,老文昨天说近水楼台才能先得月。我看了看附近的形式,然后掏出为数学而准备的三角尺,量了一量心道没错了,是他是他就是他,我们的朋友娃哈哈。
我严格按照老文的指示,拍了一下前面同学的背,说,朋友你座位号多少啊。
他看了看说,16。我说我是 17 诶,我们好有缘啊!
老文昨天给我讲解到这的时候说明了两种情况,一种是对方是傻逼,那么他会回答我说有缘有缘;一种是对方是有缘有缘,那么他会回答我说你个傻逼。
事实表明他属于后者 。所以当天考完所有科目回家的时候我仅仅回头看了一眼这个和我擦肩而过的高中。这一眼是为一位好心的学长瞟的,他在我睡的那张床上的被子里贴心地放了三张一块钱的毛爷爷,当时我激动地告诉了室友们这个消息,他们比我还要激动几分,于是我们立马展开了深刻的讨论。在各种推断都被推翻后,他们终于达成了共识。
“你捡钱也不容易,就请大家吃顿火锅吧。”
当时他们是这么说的。我拿着三块钱看着他们五人流下了感动的泪水。
不过我也不是一个容易被金钱所诱惑的小人,为了展现我的优秀道德品质,我把钱整齐地放了回去。我是一个很有好奇心的小人。所以我偶尔也会很小人地猜测,会不会是班主任告诉他们这间寝室要住的是某某校的学妹,所以这里才会如此整洁呢?
有时间我也会突然伤感起来,这种感觉是我的同桌在我浑浑噩噩时带给我的。有一天他对他前面有事没事喜欢找事的两位女生说,你们尽管来打我吧,不然以后想打都打不成了。说这句话时我仿佛看见他浑身散发着光芒,好大义凌然的样子。不过这种样子没持续几秒就被断断续续的惨叫声破坏了。
说到这里就不得不谈谈我的同桌了,他是个非常卑鄙的人,这点从他主动被女生打而从不主动求男生收拾就可以看的出来。
有一次我和他大战前排两位女生,他一个打两个,我一个打半个,最后我们以半个的优势赢得了战斗。我觉得在这场战斗中我发挥了至关重要的半票,他却总是不承认。
言归正传,其实在回家的路上我也是很伤感的,毕竟这就毕业了呀。不过他们脸上发表的帖子太多了,我也不怎么好找切入点下手。
有人发帖,你看那些傻娃还在念书呐,我们毕业了毕业了,哈哈哈哈。 一般这种帖子先是会有腹黑男跟帖,你等着,我会让你在高中付出代价。 然后会有矫情女跟帖,孩子,你现在扔掉的,是我们无比怀念的曾经。
也有人发帖,再见了我的青春。 这种帖子一般都只能吸引到文艺青年,都是跟帖几句酸不溜揪的诗啊句子啊什么的。
我也写了几句酸不溜揪的诗,写诗不是老文教我的,这玩意是百度教我的。本来我百度的是怎么把情书写好,不过我转了几个网页就翻到了怎么写好情诗。
有位网友回答的十分精炼且完整,看了我豁然开朗,从此我把这句话封为座右铭。我把这句话分享给大家。
所谓写诗啊不过就是把几个没关系的词语加点形容词联系到一堆扯出点关系。
我试了下感觉不错,挺有打油诗的意思。
我对你/爱意的小舟/游不尽/你对我/悲伤的河流
我坐在车上当机立断,用这种方法写下了我对这次经历的感悟。
上满发条的车轮/停下来了/我的青春却/还在奔跑
想出这么个句子后,我心满意足地望向了窗外。不管是坐地铁坐公交还是坐大巴坐三轮,车窗外总是少不了风景,每每会给人一种外面有另一个世界的感觉。浓郁的麦田森林,安静舒适的湖泊,依然温暖的阳光,淡蓝温柔的天空,看不着影子的人潮,幸运的月亮,星辰,弥漫着花香的空气。
它让我觉得即使一分钟就能到达的小路也是一场旅行。
也许这本来就是一种旅行。
]]>看完这本,突然觉得武侠不是种分类,而是一种载体。作者通过武侠这个载体可以表达的东西有很多很多。本来看过的武侠小说就不多,再加上看过的武侠电视剧,电影也有限,所以之前就狭义地认为武侠只是打打杀杀快意恩仇。这本书则打破了我这种被禁锢的思维,让我感到新奇。
一,故事充满反转,情节紧张,让我有种在读悬疑小说的错觉,十分刺激。
二,反转总是伴随着背叛,这让人防不胜防。不断的背叛,让人感到非常致郁。
三,写故事,也写情绪。说起来,小说从头到尾都带着一股悲伤。看这部小说,我觉得似乎在看王家卫的片子,脑补时总不禁想给孟星魂加上墨镜王那独特的镜头。虽然这样想,但哪有时间。阅读时沉浸其中,总感觉压抑的很,难受的很,而故事又发展的那么紧凑,催着人不停翻页。
故事结束了,读者却还没走出那个江湖。仿佛自己就是那男主角,忧伤又寂寞。
唉,想什么呢。现实也不比书中好过多少,还是要继续学习呀。
]]>「很静,静得几乎听得见花瓣开放的声音。」
「蝴蝶永远只活在春天里。」
「她是宁可忍受寂寞?还是来独自享受寂寞?」
略去电流传输,把信号送达到硬盘等流程,我们仅仅关注硬盘是怎么进行格式化的。当硬盘进行格式化操作的时候,它实际上只是修改了开头的分区表上的几千个字节的信息。这些信息起着一个目录的作用,让你的电脑知道文件和文件夹被储存在哪里。所以当你格式化你的硬盘,所做的只是在为新数据的储存做准备。这种格式化可能并没有除去你的旧数据。
既然说的是可能,那自然有会除去你的数据的情况。
其实这里提到的格式化只是比较常见的一种,也是普通用户会用到的一种。硬盘的格式化分为高级格式化和低级格式化。每块硬盘在出厂时,已由硬盘生产商进行低级格式化,因此通常使用者无需再进行低级格式化操作。(你当然可以自己进行低级格式化操作,但这种操作并不被建议——即便现在硬件的发展程度已经足够高了,但过多地进行低级格式化操作仍然会损害你的硬盘。)
而高级格式化则可以分为快速格式化和普通格式化,前文中所提到就是快速格式化。
快速格式化并没有完全清除你的旧数据。同时,如果知道了硬盘中0和1的排列规则,你甚至能恢复大量的数据。(前提是你还没有写入的数据覆盖掉它们所储存的区域)这也是所有的数据恢复软件的工作原理。
值得一提的是,快速格式化虽然带来了巨大方便,特别是对那些误删文件的人群来说。但同时也会有隐私安全的问题。你删除了某些私密文件,别人又给你恢复了,那多可怕呀。好在对于这种情形,我们还有普通格式化。
普通格式化会将硬盘上的所有磁道扫描一遍,清除掉硬盘上的所有内容。这种操作下的数据会完全删除,不可恢复。当然,因为要从头到尾扫描硬盘,所以时间花费会长一点。但是更长的时间消耗带来的不仅是完全删除数据,还可以检测出硬盘上的坏道。所以如果你怀疑自己的硬盘有坏道,那么也可以尝试普通格式化。
村上春树用过一个比喻,春天里的熊。抛开我糟糕的文笔,来形容一下观看这部片子的感觉,也许可以用「夏天碰撞的手肘」来描述。这个句子缘起室长的一次经历。在回家的客车上,他和一位女孩坐在一起,一路上,两人的手肘隐约挨着,若即若离。而当时尚值酷暑,于是短袖触碰薄纱。也许都没有在意,也许谁都心知肚明。总之谁都没有主动撤开。室长回到家后和我们谈起这件事,玩笑又带着当时怂的惋惜。
我第一次见人把咸猪手解释的如此清新脱俗,但同时突然想起某个年级的夏天,也曾和同桌手肘相靠,电风扇哗哗地吹,声音特别大,甚至盖过了老师讲课的声音。我心猿意马,心里起了无数个念头,当想到最后一个时,老脸一红,悄悄撤开。虽然现在想来,似乎当年的每位同桌都是男生。唉,没想到夏季才最容易陷入春梦。
《卡罗尔》,近两个小时的故事,婉婉叙来,节奏缓却畅快。看这部片子的时候,感觉非常舒适,像有一只猫住进了心脏。电影有哀,有温暖。心情也随着起伏。
我个人非常非常喜欢特瑞斯这个人物。也许是演员太有魅力了,总感觉她的每个眼神里都蕴含着无数的言语。
片子表达情绪十分克制,我对这几个镜头印象还挺深的,特瑞斯从克罗尔家回去时坐在火车上哭泣,接电话时的小心翼翼,偷拍卡罗尔时的小表情……总让人感到心疼,又在心里默默为她加油打气。
特瑞斯在片子中说「我从来不会拒绝。我什么都可以接受,又怎么知道自己想要什么呢。」。但我并不觉得特瑞斯是个没有主见的人。老实说,在片中似乎一直是卡罗尔在两人的关系中占主导地位,但是踏出的每一步特瑞斯都没有犹豫过,也从未对做过的任何事感到后悔。她在感情里表现得勇敢又坚定。
也许这就是特瑞斯吸引人的地方,脆弱与勇敢并存。
配乐也特别到位,随着情绪起伏。配乐和电影大概也是互相成全。有些电影配乐虽然本身素质就很好,但是经历过电影的这一层解读,观众在电影之外再次听到后,就会有更强烈的感受。
我把这段感受用在了《影视音乐鉴赏》课的作业,说大概这就是时至今日,有那么多的几分钟帮你看完一部电影的节目,而我们仍愿意花几个小时在屏幕前的原因——我们可以几分钟就了解一部电影的剧情,却难以在听到一段熟悉的配乐时产生惊人的共鸣。
值得回味好一阵子了。
00:50
// ps:感觉鲁妮玛拉的眼睛会说话,真厉害。
]]>逛到新浪博客,兴起,寻来许嵩十年前的文字开始阅读。页卷不停,时间跑了起来,思绪也回到从前。年幼的时候总是满怀憧憬,却又觉得日子还长,不肯把心思放在未来。如今又总是念旧,念在旧时有梦。虽然现在看来都是遗憾。
回忆是作家的灵感库。每个人都有独特的经历,收获的感悟也不尽相同,写出来更是花样百出。曾经的日子不总是美好的,但我偏向于认为它更好。时常节约一段安静的时光出来细数从前,用无数个表示假定的词汇畅想自己本该拥有的无数个未来。直到有一天,我突然对这种强加的美好感到厌倦。我知道自己并不是个想象力丰富的人,这样做,只不过是借此宣泄对现状的不满。
我没能活成自己曾期望的样子,这个念头让我感到无奈又悲伤。
日剧《求婚大作战》讲述了一个男人不停穿越,尝试挽回年少时的遗憾的故事。我作为一个旁观者,无力看着已经成人的主角一次次地穿越,又一次次地犯着和以前一样的的错误。主角改变不了自己。「自己的心意,考虑问题的方式等,在短时间内是不会改变的。」
即便再来一次,也还是会做出一样的决定。
那些选择,都是我当时认为的最优解啊。
「做决定前,想想自己以后会不会后悔。」这句话像是一句鸡汤似的废话,毕竟对部分人来说,不管做了什么决定,只要不顺利,都会后悔。但是有些后悔我们是能提前预知的,不是吗?常有人开玩笑说自己现在流的泪,都是当初做决定时脑子里进的水。也偶有人像我一般把希望寄托于自己别的可能性这种虚无缥缈的东西之上。也许不管我们做了什么决定,都会变成现在这种样子呢?唉,这种事情也无人可知。
北岛说,那时我们有梦,关于文学,关于爱情,关于穿越世界的旅行。我尝试回忆自己的「那时」,「那时」的我是怎样的样子呢?我能记起一堆做过的事,像是夜里窝在被子下打开手电筒看小说,像是放学后总要在路上玩一阵子才回家,但我却只能以第三人称的视角观望,难以回忆起当时的心情。遗忘是怎样一回事呢?大概像是我在路上留下的脚印,后来那条路被填上沙浆和水泥,铺上了柏油。我找不到自己的脚印,甚至难以想象曾在那里走过。
不过敢肯定的是,我在以前绝对没有思考过以后会怎么看待那时候的自己。仔细回想,身边确实不断地有人提醒我,你应该如何如何做,这样做对你的未来没有好处。但当时的我乐在其中,着实难以听进别人的意见。充满向往的少年,一心只想往未来跑。而大家都知道,奔跑是一件特别费时费力的事,我正全力以赴呢,哪还能挤出时间和精力用来思考?
00:35
]]>打开一个网站,在访问某些内容的时候被告知:您必须注册账号。于是我不得不开始进行繁杂的操作——填写一大堆资料,最后再做一个验证确保自己不是机器人。做完上述步骤后,点击确定,又被告知:抱歉,您的邮箱已被注册。我恍然大悟,返回尝试登录,却发现自己常用的密码根本登录不上。我紧张地点向旁边的「忘记密码」,还好,可以修改。输入了两遍我的新密码,点下最后一个确认键。正准备要松一口气,却再次被警告:修改的密码不能和以前一样。
什么鬼!
这是刚刚我在访问一个网站时面临的糟糕情形。
密码越来越多,秘密却越来越少。这总让我回想起以前网络还没普及到如此完善的日子。那阵子总希望自己能在网上拥有一席之地。感谢祖国的飞速发展,如今的我拥有了一堆账号密码,甚至不得不准备好几种密码来应对不同的保密机制。
一次又一次的注册,在网络的世界里便有了一个又一个不同的身份。「密码越来越多,秘密却越来越少」——我在一些社交平台上的好友要是听到这句歌词,一定会有所触动。
前些天,QQ 上的一个好友在空间说到:我要卸载 QQ 了,有事电话联系。
我从内心欣赏那些真的能从网络社交中脱身而出的人,他们一定有着常人不能及的毅力。我以前也做过这样的事。但是在我卸载后,事情却有点不一样。我发现一个问题——并没有人会电话联系我。所以我又决定清理一次手机上的联系人。之后没过多久我就把 QQ 又安装上了。很奇怪,明明在 QQ 上几个月也不会和谁联系一句,但当我卸载了它,心中还是空落落的。内心隐隐期待,患得患失。
装上 QQ 后,迫不及待地发表说说:自从卸载了 QQ,才发现手机原来还有打电话的功能。
我试图用这种暧昧的言语假装自己已经卸载了一段时间。然后等着别人来点赞,获得极大满足。
唉,有些事情明明大家都心知肚明,但就是心照不宣。
00:15
]]>前些天和班上的小伙伴被院里安排去参加一个「增加团队凝聚力」的活动,地点位于一个很洋气的基地。
午饭后,负责人告诉我们,还有两个小时才开始下午的活动,大家自由活动一下吧。然后用手指向门外说,顺着这条路往上走能看到不少动物,有孔雀哦。我和几个小伙伴顺着他的手指向外望去,只见密集的竹子夹着一条小路延向远处。大家没有犹豫,怀着期待开始行动。
顺着小道走了半天也没有发现任何孔雀的踪迹。我是最容易半途而废的那个人,呼吁着大家别找孔雀了,去找个有空调的地方坐一下吧。没空调,找个阴凉的地方一坐,休息休息也好哇。我虽然一路劝慰大家,不知不觉中却也走到了终点。远远地就闻到一股臭味,顺着这略刺鼻的味道来到一个不大的铁笼子。靠近看,里面原来关着两只鸵鸟。那浓厚的味道大概就是这俩家伙的排泄物发出的了。其中一只靠着笼子,似乎想把头伸出来。有人就开始对着鸟头拍照。友人介绍说北京有的人家四合院里就养着鸵鸟。我突然想起一个场景 —— 一只大鸵鸟在马路上狂奔。这是电影《老炮儿》里的场景,地点就在北京。冯小刚把圈养在四合院的鸵鸟放出来,然后喊道「撒丫子跑吧您内!」
记得鸵鸟害怕的时候,会把头埋在地上的沙子里。这只大鸟面对着我们,昂扬着头,丝毫没有害怕的意思。大概是知道有一个笼子把这群人围着,它安全的很,也自由的很。
看完大鸵鸟,满足了不少。但有人还想找孔雀,我们便随意走。
一路上自然又看见一些动物。
有两条狗也被关在笼子里,笼子只有不到三平方米。笼子外挂着牌子,写着狗的简介。狗狗是外国的品种,它的名字里有它的国籍。看着这个名字我眼前就浮现出了以前看的那些视频里狗狗奔跑的样子。我盯着它看了好一阵子,它没打算理我。只是自顾自地躺在笼子里。天热的紧,我心里也一紧。我想看它接飞盘的样子,可惜在这个圈里打个盹都费劲。
三只雪狐被锁在一个稍微凉快点的地方。铭牌上同样是简单的介绍,其中一句说雪狐能耐零下几十度的低温。我们一行人里有人便开始笑,我也苦涩地笑。这几只雪狐这辈子怕是没有用武之地了。
再走了段路,发现一个供人休息的地方,摆着好几把椅子。我找了一把,坐上去就不想再起来。
「还没看到孔雀呢。」
可是我一点也不想看到孔雀了。心里甚至还有点期望这里根本没有孔雀。
23:40
]]>虽然标题给人一种随性的感觉,但它也不是我拍脑袋想出来的。我打算为自己的学习生涯开个好头,所以前晚设好了闹钟,今天也很到位地早早醒来。躺在床上,费了九牛二虎之力,我终于想到这个超级厉害的标题。但是当我起床并敲下这行字准备作文一番时,我的大脑很没有志气地开始短路了。从这写起 —— 好像也没什么写的嘛。
看来坚持写博客这件事对我来说,最难的不是「坚持」,而是无话可说。
刚开始的话,就随性写吧。像我这样的人,保持热枕是最重要的事情。很多像我一样的新手常常询问大神们怎样才能保证每天写一篇博客。大神们表示菜鸟还是慢慢打好基础吧,花一个月写三十篇口水话不如花一星期写一篇有水平的东西。
大神们的建议自然有其价值。我甚至可以体会大神们的心情。刚开始的时候因为水平不够花费了很多时间,走了很多弯路。后来水平提上去了就会觉得,要是当初把那些走弯路的时间都用在正确的方向就好了。虽然时光无法回头,但是他们可以把这些经验传授给后来人。部分热心的人会有这样的念头,我不会骗你,这条路是错的,我走过,你回去吧。但是对于很多如我愚昧的菜鸟来说,不自己踩一遍坑,而仅仅是听别人的言语,绝对不会信邪。
另外,我觉得不管在哪方面,学习的初期,保持练习是非常有效的手段。好也罢,坏也罢,至少我写下去了。坚持做这件事,把它做成一种习惯(当然,得排除自我感动,欺骗自己的大脑那种。),慢慢从这段不适应阶段度过去。很多时候,作文并不是一件有趣的事。不过令我高兴的是,我正在尝试把它做的有趣。
写什么呢?
内容尽量写一个主题,这一点我一定要坚持。曾翻到过以前写的文章,都是随心写,想到哪写到哪。老实说今天写这篇博客时,几次我都想把话题带歪……在这一点上,宁可少写,也得做到。
再写点自己的点子吧。
23:17
]]>