2024-06-14 15:15:20 - httpx - INFO - HTTP Request: GET http://127.0.0.1:7860/startup-events "HTTP/1.1 200 OK"
2024-06-14 15:15:20 - httpx - INFO - HTTP Request: HEAD http://127.0.0.1:7860/ "HTTP/1.1 200 OK"
2024-06-14 15:15:51 - matplotlib.font_manager - WARNING - Matplotlib is building the font cache; this may take a moment.
2024-06-14 15:16:02 - matplotlib.font_manager - INFO - Failed to extract font properties from /System/Library/Fonts/Supplemental/NISC18030.ttf: In FT2Font: Could not set the fontsize (invalid pixel size; error code 0x17)
2024-06-14 15:16:03 - matplotlib.font_manager - INFO - Failed to extract font properties from /System/Library/Fonts/LastResort.otf: tuple indices must be integers or slices, not str
2024-06-14 15:16:03 - matplotlib.font_manager - INFO - Failed to extract font properties from /System/Library/Fonts/Apple Color Emoji.ttc: In FT2Font: Could not set the fontsize (invalid pixel size; error code 0x17)
2024-06-14 15:16:03 - matplotlib.font_manager - INFO - generated new fontManager
2024-06-14 15:16:03 - GetAnalysisPrompts - INFO - Creating analysis prompts.
2024-06-14 15:16:03 - GetAnalysisPrompts - INFO - Analysis prompts created successfully.
2024-06-14 15:16:03 - ModelSelector - INFO - Token count for input: 25313
2024-06-14 15:16:03 - ModelSelector - INFO - Selected GPT4Model for analysis with token count of 25313
2024-06-14 15:16:03 - ModelSelector - INFO - Token count for input: 25313
2024-06-14 15:16:03 - ModelSelector - INFO - Selected GPT4Model for analysis with token count of 25313
2024-06-14 15:16:03 - ModelSelector - INFO - Token count for input: 25313
2024-06-14 15:16:03 - ModelSelector - INFO - Selected GPT4Model for analysis with token count of 25313
2024-06-14 15:16:03 - ModelSelector - INFO - Token count for input: 25313
2024-06-14 15:16:03 - ModelSelector - INFO - Selected GPT4Model for analysis with token count of 25313
2024-06-14 15:16:10 - httpx - INFO - HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2024-06-14 15:16:10 - LanguageModels - INFO - Invocation successful in 6.09 seconds.
2024-06-14 15:16:10 - AnalysisRunner - INFO - Analysis 'Summary' completed successfully using GPT4Model.
2024-06-14 15:16:20 - httpx - INFO - HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2024-06-14 15:16:20 - LanguageModels - INFO - Invocation successful in 16.97 seconds.
2024-06-14 15:16:20 - AnalysisRunner - INFO - Analysis 'Plot' completed successfully using GPT4Model.
2024-06-14 15:16:24 - httpx - INFO - HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2024-06-14 15:16:24 - LanguageModels - INFO - Invocation successful in 20.61 seconds.
2024-06-14 15:16:24 - AnalysisRunner - INFO - Analysis 'Themes' completed successfully using GPT4Model.
2024-06-14 15:16:33 - httpx - INFO - HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2024-06-14 15:16:33 - LanguageModels - INFO - Invocation successful in 29.07 seconds.
2024-06-14 15:16:33 - AnalysisRunner - INFO - Analysis 'Characters' completed successfully using GPT4Model.
2024-06-14 15:22:06 - GetAnalysisPrompts - INFO - Creating analysis prompts.
2024-06-14 15:22:06 - GetAnalysisPrompts - INFO - Analysis prompts created successfully.
2024-06-14 15:22:06 - ModelSelector - INFO - Token count for input: 25313
2024-06-14 15:22:06 - ModelSelector - INFO - Selected GPT4Model for analysis with token count of 25313
2024-06-14 15:22:06 - ModelSelector - INFO - Token count for input: 25313
2024-06-14 15:22:06 - ModelSelector - INFO - Selected GPT4Model for analysis with token count of 25313
2024-06-14 15:22:06 - ModelSelector - INFO - Token count for input: 25313
2024-06-14 15:22:06 - ModelSelector - INFO - Selected GPT4Model for analysis with token count of 25313
2024-06-14 15:22:06 - ModelSelector - INFO - Token count for input: 25313
2024-06-14 15:22:06 - ModelSelector - INFO - Selected GPT4Model for analysis with token count of 25313
2024-06-14 15:22:06 - ModelSelector - INFO - Token count for input: 25313
2024-06-14 15:22:06 - ModelSelector - INFO - Selected GPT4Model for analysis with token count of 25313
2024-06-14 15:22:06 - ModelSelector - INFO - Token count for input: 25313
2024-06-14 15:22:06 - ModelSelector - INFO - Selected GPT4Model for analysis with token count of 25313
2024-06-14 15:22:06 - ModelSelector - INFO - Token count for input: 25313
2024-06-14 15:22:07 - ModelSelector - INFO - Selected GPT4Model for analysis with token count of 25313
2024-06-14 15:22:07 - ModelSelector - INFO - Token count for input: 25313
2024-06-14 15:22:07 - ModelSelector - INFO - Selected GPT4Model for analysis with token count of 25313
2024-06-14 15:22:07 - TextAnalyzer - ERROR - Error analyzing text: too many calls
Traceback (most recent call last):
File "/Users/apple/editor-app-v10/text_analyzer.py", line 51, in analyze_text
analysis_results = analyze_text_parallel(
^^^^^^^^^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/analysis_runner.py", line 65, in analyze_text_parallel
analysis, result = future.result()
^^^^^^^^^^^^^^^
File "/usr/local/Cellar/python@3.12/3.12.0/Frameworks/Python.framework/Versions/3.12/lib/python3.12/concurrent/futures/_base.py", line 449, in result
return self.__get_result()
^^^^^^^^^^^^^^^^^^^
File "/usr/local/Cellar/python@3.12/3.12.0/Frameworks/Python.framework/Versions/3.12/lib/python3.12/concurrent/futures/_base.py", line 401, in __get_result
raise self._exception
File "/usr/local/Cellar/python@3.12/3.12.0/Frameworks/Python.framework/Versions/3.12/lib/python3.12/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/ratelimit/decorators.py", line 77, in wrapper
raise RateLimitException('too many calls', period_remaining)
ratelimit.exception.RateLimitException: too many calls
2024-06-14 15:22:14 - httpx - INFO - HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2024-06-14 15:22:14 - LanguageModels - INFO - Invocation successful in 7.68 seconds.
2024-06-14 15:22:14 - AnalysisRunner - INFO - Analysis 'Summary' completed successfully using GPT4Model.
2024-06-14 15:22:18 - httpx - INFO - HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2024-06-14 15:22:18 - LanguageModels - INFO - Invocation successful in 11.58 seconds.
2024-06-14 15:22:18 - AnalysisRunner - INFO - Analysis 'Themes' completed successfully using GPT4Model.
2024-06-14 15:22:21 - httpx - INFO - HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2024-06-14 15:22:21 - LanguageModels - INFO - Invocation successful in 14.79 seconds.
2024-06-14 15:22:21 - AnalysisRunner - INFO - Analysis 'Plot' completed successfully using GPT4Model.
2024-06-14 15:22:30 - httpx - INFO - HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2024-06-14 15:22:30 - LanguageModels - INFO - Invocation successful in 23.64 seconds.
2024-06-14 15:22:30 - AnalysisRunner - INFO - Analysis 'Characters' completed successfully using GPT4Model.
2024-06-14 15:22:35 - httpx - INFO - HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2024-06-14 15:22:35 - LanguageModels - INFO - Invocation successful in 28.59 seconds.
2024-06-14 15:22:35 - AnalysisRunner - INFO - Analysis 'Techniques' completed successfully using GPT4Model.
2024-06-14 15:25:34 - httpx - INFO - HTTP Request: GET https://api.gradio.app/gradio-messaging/en "HTTP/1.1 200 OK"
2024-06-14 15:25:35 - httpx - INFO - HTTP Request: GET http://127.0.0.1:7860/startup-events "HTTP/1.1 200 OK"
2024-06-14 15:25:35 - httpx - INFO - HTTP Request: HEAD http://127.0.0.1:7860/ "HTTP/1.1 200 OK"
2024-06-14 15:27:34 - GetAnalysisPrompts - INFO - Creating analysis prompts.
2024-06-14 15:27:34 - GetAnalysisPrompts - INFO - Analysis prompts created successfully.
2024-06-14 15:27:34 - ModelSelector - INFO - Token count for input: 27945
2024-06-14 15:27:34 - ModelSelector - INFO - Selected GPT4Model for analysis with token count of 27945
2024-06-14 15:27:34 - ModelSelector - INFO - Token count for input: 27945
2024-06-14 15:27:34 - ModelSelector - INFO - Selected GPT4Model for analysis with token count of 27945
2024-06-14 15:27:34 - ModelSelector - INFO - Token count for input: 27945
2024-06-14 15:27:34 - ModelSelector - INFO - Selected GPT4Model for analysis with token count of 27945
2024-06-14 15:27:34 - ModelSelector - INFO - Token count for input: 27945
2024-06-14 15:27:34 - ModelSelector - INFO - Selected GPT4Model for analysis with token count of 27945
2024-06-14 15:27:34 - ModelSelector - INFO - Token count for input: 27945
2024-06-14 15:27:34 - ModelSelector - INFO - Selected GPT4Model for analysis with token count of 27945
2024-06-14 15:27:34 - ModelSelector - INFO - Token count for input: 27945
2024-06-14 15:27:34 - ModelSelector - INFO - Selected GPT4Model for analysis with token count of 27945
2024-06-14 15:27:34 - ModelSelector - INFO - Token count for input: 27945
2024-06-14 15:27:34 - ModelSelector - INFO - Selected GPT4Model for analysis with token count of 27945
2024-06-14 15:27:36 - httpx - INFO - HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 429 Too Many Requests"
2024-06-14 15:27:36 - httpx - INFO - HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 429 Too Many Requests"
2024-06-14 15:27:36 - httpx - INFO - HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 429 Too Many Requests"
2024-06-14 15:27:36 - httpx - INFO - HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 429 Too Many Requests"
2024-06-14 15:27:36 - httpx - INFO - HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 429 Too Many Requests"
2024-06-14 15:27:36 - httpx - INFO - HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 429 Too Many Requests"
2024-06-14 15:27:36 - openai._base_client - INFO - Retrying request to /chat/completions in 0.779784 seconds
2024-06-14 15:27:36 - openai._base_client - INFO - Retrying request to /chat/completions in 0.913957 seconds
2024-06-14 15:27:36 - httpx - INFO - HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 429 Too Many Requests"
2024-06-14 15:27:36 - openai._base_client - INFO - Retrying request to /chat/completions in 0.952651 seconds
2024-06-14 15:27:36 - openai._base_client - INFO - Retrying request to /chat/completions in 0.851360 seconds
2024-06-14 15:27:36 - openai._base_client - INFO - Retrying request to /chat/completions in 0.974402 seconds
2024-06-14 15:27:36 - openai._base_client - INFO - Retrying request to /chat/completions in 0.757747 seconds
2024-06-14 15:27:36 - openai._base_client - INFO - Retrying request to /chat/completions in 0.945248 seconds
2024-06-14 15:27:37 - httpx - INFO - HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 429 Too Many Requests"
2024-06-14 15:27:37 - openai._base_client - INFO - Retrying request to /chat/completions in 1.607652 seconds
2024-06-14 15:27:37 - httpx - INFO - HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 429 Too Many Requests"
2024-06-14 15:27:37 - openai._base_client - INFO - Retrying request to /chat/completions in 1.716265 seconds
2024-06-14 15:27:37 - httpx - INFO - HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 429 Too Many Requests"
2024-06-14 15:27:37 - openai._base_client - INFO - Retrying request to /chat/completions in 1.747637 seconds
2024-06-14 15:27:37 - httpx - INFO - HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 429 Too Many Requests"
2024-06-14 15:27:37 - openai._base_client - INFO - Retrying request to /chat/completions in 1.738189 seconds
2024-06-14 15:27:37 - httpx - INFO - HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 429 Too Many Requests"
2024-06-14 15:27:37 - openai._base_client - INFO - Retrying request to /chat/completions in 1.707763 seconds
2024-06-14 15:27:37 - httpx - INFO - HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 429 Too Many Requests"
2024-06-14 15:27:37 - openai._base_client - INFO - Retrying request to /chat/completions in 1.970958 seconds
2024-06-14 15:27:38 - httpx - INFO - HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 429 Too Many Requests"
2024-06-14 15:27:38 - openai._base_client - INFO - Retrying request to /chat/completions in 1.643330 seconds
2024-06-14 15:27:39 - httpx - INFO - HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 429 Too Many Requests"
2024-06-14 15:27:39 - LanguageModels - ERROR - Failed to invoke GPT-4 with prompt: '
Analyze the plot structure of this text (output in Simplified Chinese):
四轮学区房
孙 睿
1
刚开始没想到是吃麻辣烫的,太饿了,从外面看着像能吃饭的地方,米乐和老婆便推门往里走。一进来,就想打喷嚏,呛得,又打不出来。空气中,一个个香辣分子在翻滚。老婆一屁股坐到桌前,顾不得味道粘在衣服上将久久不散,扒拉着挑选。坐下后米乐意识到,他俩好久没有面对面坐下、像谈恋爱时候那样吃顿饭了。
店开在胡同口,狭长的桌子,其实也不长,多说四五米;当中间儿掏空,怼进去一溜长方形钢筋锅,彼此靠钢板隔开,做成两排,煮着穿好的串儿,荤素都有,五花八门,竹签冲外,伸手即取。这种店傍晚前做旁边学校中学生和逛胡同游客的生意,现在已经晚上九点多,除了看店伙计在墙角刷手机,店里没别人,是另一种缘分让米乐和他媳妇坐到了这里。
两人各守一锅,小火轻煮,空调吹出冷气,汽化的风肉眼可见。老婆一言不发地吃着,面前摆着撸下的签子,长短不一。长签三块一串,短签两块——米乐发觉自己扫一眼桌面大概就能乘出吃了多少钱的能力退化了。两人都太累了,下午来这边看房,东跑西颠,看了六套,快看吐了。
九月份孩子就要上小学了,还有一个多月。目前孩子跟着他俩住回龙观,幼儿园也是这边上的,家楼下。老婆觉得,幼儿园哪儿上无所谓,就当上着玩,小学不能再凑合,必须去城里。回龙观属于昌平,挨着朝阳和海淀,算不上远郊,但比起二环里的东城西城,叫城外也不为过,这边都快到六环了。什么时代的人都想当“城里人”,过腻城里日子往城外搬的那种另说,家长更是希望自己的娃能做个“城里孩子”,恰好米乐老婆和孩子的户口在城里,进城上学成了这个家庭的不二之选。
当然米乐也有别的想法,他不认为孩子去城里上学就高枕无忧。他敢这么认为是有充分依据的,他的小学到高中都是在西城区上的,也不是班里所有人都考上大学了,甚至有后来进了工读学校的,前途如何,更靠孩子自己。同样他也不觉得留在昌平上学就输在了起跑线,他的大学同学里,有一个就是昌平考上来的,学号一号,因为入校分数最高,后来年年奖学金,还保了研。但米乐不愿跟老婆掰持这些,他的不做主性格,让老婆成了当家的人。
说起来,其实他老婆连原汁原味的北京人都算不上,米乐才是北京的“城里人”。小时候在西城长大,家住西四胡同,后来那片拆了,父母在回龙观买了房,米乐跟着搬了家。户口随房子走,迁到了昌平,化身“城外人”。而他老婆,大学毕业留了京,幸运地进了给解决户口的单位,单位在东城,于是不仅成为新北京人,还拥有了令很多城外北京人羡慕的东城区户口,只不过是集体户。后来两人认识,结了婚,也在回龙观买了房——为了离米乐父母近更因为这里的房价还能接受——老婆仍把户口留在单位。一开始米乐以为老婆嫌麻烦,懒得挪,直到几年后生了娃,给孩子上户口的时候,才弄明白老婆的良苦用心:孩子户口不在昌平上,上东城的,跟她一起,落集体户,将来是东城学籍,可以上东城的学校。大家普遍认为北京的好学校都在东西城和海淀,所以这三个区的学籍格外珍贵,没有的心向往之,想辙往里钻,有学籍的则沾沾自喜不形于色。还有个插曲,备孕期间,老婆让米乐把他名下那套回龙观的房子卖掉,她研究过政策,必须父母双方都没有北京房产,孩子才能落集体户。就这么着,米乐把自己名下的那套房子卖了,租了两年房子,等到孩子在集体户里有了自己的户口页,才和老婆又在他父母的那个小区买了套二手房。那时候房价每年都在涨,为了孩子的户口,搭进去两人多年的积蓄,只因为老婆认为当个“城里人”洋气。
老婆七年前布好局,事态按预期发展着,上礼拜小学录取通知书下来了。儿子成了一名北京东城区的小学生,不出意外,将在东城接受九年义务教育。从回龙观到这所小学,二十公里出头,还有一段高速。不走高速的话,有三十三个红绿灯,早晚高峰开车少说要一个半小时,再遇上一起交通事故,时间就没谱了——若事故双方都是送孩子的家长,也是有麻利儿解决的可能。走高速倒是能避开些红绿灯,但进出高速口的时间不稳定,赶上没装ETC的车或手机忘带了无法扫码付费身上也无现金的车主,这条车道何时能通车就看他什么时候能变出过路费了……这些特殊情况暂且放置一旁,按八点到校计算,逆推,六点二十必须出家门了,刨去洗漱吃饭时间,不到六点就得起床,大人还要伺候孩子穿衣吃饭,只能起得更早。于是问题来了:住昌平的儿童和家长,每日该如何不这般辛劳地去东城上学?
老婆曾试想,卖了回龙观的房,在学校旁边买一套,然后把自己和孩子的户口从集体户里迁出来,落户东城,一劳永逸;米乐乐意的话,户口也能从父母的本儿上挪过来,四十岁了,早该独立出来了。想法很美好,现实被低估。同样新旧的房子,东城一平米的单价差不多是昌平的三倍。现在米乐一家三口住的是一百二十平米的小三居,换成东城同档次的房子,包括税费里里外外都算上,要添八百万。知难而退,老婆降低预期,不行就住老破小,窄点儿也认了,孩子的教育胜于一切。看了两套不到八十平的两居,一算差价,仍要添三百万。钱是一方面,关键是卖了自己住得顺心又舒服的房子,在陌生的地方买个不那么如意的房子,是不是风险有些大?没有哪个普通家庭能在买房卖房上像打麻将出牌那般随意,即便是在北京,也尤其是在北京。
加之房产市场突然低迷,房价走向扑朔迷离,成交周期变长,房子也不是说卖就能卖成的,肯花钱倒是容易买到,但很可能刚买到手就贬值。如此一来,换房的想法只能搁置。保险一些的做法是把自家房租出去,在学校旁边租套房。今天看的这些出租房,有中介联系的,也有老婆在闲鱼找到业主直租的。看房用眼睛看,身体和情感不免也会参与其中,幻想未来至少六年带着孩子生活在这里:三具肉身的安放是否恰当合理(卧室舒不舒服),三张嘴能否被满足(厨房能不能唤发烹饪食物的热情),三个灵魂栖居于此可否相安无事(几年后将迎来儿子的叛逆期)……六套看下来,身心俱疲。
小店墙上的货柜摆着各种饮料,老婆偏偏拿了一瓶红牛,拉开就喝。以前她从不碰这玩意儿,认为所谓的提神就是杀鸡取卵,把体内残存的能量榨取出来。那么,现在她是要把仅剩的一丝力气逼出来,然后还要干点儿什么吗?米乐猜不出老婆接下来还想干什么——再看一套房?或是仅仅为了有力气回家?还是不甘回家后就这样一无所获地睡去,夜深人静的时候仍要展开人生思考?
眼前的事实,让米乐确信了一件事情,这是近八年里他和老婆第一次吃麻辣烫。以前她特好这口,自打有了孩子,两人吃东西就不怎么考虑自己了,只吃适合孩子吃的东西,孩子现在六岁半,加上备孕和怀孕的时间,八年里两人渐渐没了“自己”。
此刻老婆两眼直愣愣地盯着锅里,嘴里机械地嚼着,一手握着红牛,一手搓捻着空签子,显然脑子里琢磨着什么。这神态让米乐陌生。老婆从小聪慧灵敏,在学习、考试、就业、升职的道路上,向来无须大动干戈便攻城拔寨,不说硕果累累,至少是一帆风顺。如今被卡住了,不是主观世界被难住的卡,是那种物质世界的卡——老婆想的可能是:自己的家庭为什么突然卡在底层中产向高阶中产进军的路上?
在不添钱的情况下,回龙观的房租只能在东城区租个六十平米的老破小。客厅小得转不过身,家里那台七十五寸电视搬过来都放不下——米乐和老婆都喜欢周末在家看个电影。为了让电视有地儿放,也得租个面积大的房子,那就只能添钱。添多少合适?无限制地添,好房子有的是,再大的电视也能搁进去,但这不是米乐家能过的日子。老婆虽说事业顺利,挣得也有限,在出版社上班,不是什么大社,做出爆款书的机率渺茫,年薪远没到过日子可以不算计。米乐至今自由职业,做平面设计,收入取决于活儿多活儿少,曾经红火过,这两年客户相继流失,不知道好好的一家公司怎么就做不下去了。米乐的活儿也随之减少,世界越来越新,他越来越老,在发展新客户上缺乏手段,已由只喝单一麦芽改为调和威士忌也觉得还不错了。
老婆定了一个标准:保证生活品质的情况下,房租尽可能地少添。尽可能地少,也有一个范围,所以连看了六套。连将将满意的都没有,首先就是感觉小。房子住惯了宽敞的,再换紧凑的就难了。米乐老婆以前没觉得三口人住五十多平有多挤,甚至还觉得敞亮,她自己家当初就是一套五十多平的房子,她还有一个自己的房间,让很多同学羡慕,但那是二十多年前。现在她和米乐看了一套九十平的两居都觉得窄,就这还要每月添四千多,若想租一套和回龙观的家一样面积的房子,少说要补八千块,超标了。也正应了那句话:一分钱一分货。越活越觉得这话的准,世界就是这么构成的。
六套里有一处平房令米乐夫妇印象深刻,房本面积三十多,号称能住五口人,两间十余平的房子打通了,加了挑高,做成复式,下面的三十多平隔出客厅、厨房和卫生间,客厅只留一条过道能站直身子,其余空间留给楼上复式,从沙发上起身都得猫腰。房主说,人多数时候在客厅里是坐着的,这么设计是合理利用顶部空间。楼上的复式部分,拆分成两间半,老两口一间,中年夫妇一间,半间留给上中学的孙子住。现在孙子考上大学,可以住校了,一家人没有必要挤在这里,准备往城外搬。看房的时候,米乐老婆盘算如果是自己家搬过来,先不说人能不能耍得开,就是家具都摆不下。这家的柜子有个特点,都直通房顶,极尽盛放之能事。经过楼梯的时候,米乐老婆不知道自己碰了哪里,一扇木板弹出来。原来这片看似楼梯支撑物的木板也是柜门,楼梯下面的空间从高到低依次被用作大衣柜、短衣柜、袜子柜和杂物柜,房间里见不得一立方厘米的浪费。连柜门上都没有把手儿,门是磁吸的,按下去则弹开,再按就吸上,刚才就是米乐老婆不小心顶到柜门。房主人笑着介绍说,面儿上什么都不露,省地儿。笑中透着说不上是得意还是无奈。这一刻,米乐老婆体会到住城外的好了。
但米乐知道,对老婆来说,东城学籍是更好的东西。现在终于等来这一刻——媳妇累了、也烦了的时刻——他可以把存在心中许久的那个想法说出来了。
“倒是还有个方案……”米乐不知为何话一出口感到一阵心虚。
“什么方案?”老婆翻起不抱希望的眼睛。
“弄辆房车。”
“现在卡在房子上,怎么还想着弄什么车!”老婆似乎觉得米乐把握不住重点,随后马上意识到房车是可以住人的,转而说,“弄了以后呢?”
2
大学毕业离校那天,米乐想,以后可他妈不用考试了。这么一想,步伐都轻盈了。现在四十岁,竟遭遇了哈姆雷特的困境:孩子的小学到底是去东城上,还是留在昌平?这道题没有补考,选错了就……就怎样并不知道,也没有人能告诉他。
做这同一道题,米乐和老婆的解题思路不一样。不同于老婆在跨城中寻求解决方案,米乐是先有方案,然后为这个方案在现实生活中找到有力支撑。方案就是他跟老婆所说的“弄辆房车”,直觉告诉他可以这样做。
米乐现在和父母住同一个小区,隔着几栋楼,相互都有个照应。幼儿园接送孩子,当米乐和老婆顾不上的时候,他父母可以代劳。老两口把孩子接回来,还能给孩子弄口饭,米乐他俩几点回家都无所谓了,孩子睡爷爷奶奶那也行,第二天老两口再给送去幼儿园。父母眼瞅着奔七十了,今天不是这个头晕,就是那个明天胸闷,米乐也能照顾到,去医院检查他开车接送方便。所以他不想打破现状,觉得孩子小学在家附近上也没什么,父母依然可以帮着接送。但老婆的底线是,别的怎么都行,学必须去东城上——尽当爹妈的最大努力成全孩子。因为她就是这么长大的,然后从一个四线城市考到北京,当初她妈不输孟母,为了她上学,也曾三迁。
让孩子住学校旁边,已是大势所趋,在这个“规定动作”下,米乐便想到了房车。他一直就想弄辆房车,可以开到哪儿玩到哪儿,需要工作了——他的工作有台笔记本电脑就能完成——车里就能干。有卡座和桌子,不比咖啡厅差,窗外还有风景。可以说,是孩子上学的新问题,正好撞上他的旧心愿。
然后今天看完房子,也可以说在看房过程中,甚至说在第一套老破小看到一半的时候,“时机到了”的想法就开始在米乐脑子里闪现。他想,与其在“砖窝”里睡觉,还不如在“铁桶”里睡,反正都是个小。不就是为了离学校近吗,把房车停学校门口,没有比这更近的睡觉的地方了。相当于给小平房装上轱辘。每天放学先开着房车接孩子回家,小学特别是低年级,三点多就放,这时候路上不堵,四十多分钟就能到家。在家写完作业吃完饭,玩够了,该睡觉的时候,就让孩子往房车上一躺,米乐把车开到学校门口——晚上不堵车,四十分钟用不了就能开到。孩子瓷瓷实实睡一晚上,米乐早起给孩子做饭,车上有电磁炉和冰箱,孩子妈愿意陪睡陪吃也行,车里三张床,足够睡下,比那复式平房的卧室更让人有想躺在枕头上的愿望。
如果是搬来东城,米乐不忍心只搬自己的小家,而把父母留在回龙观。这样一来,不仅开销翻倍,父母也得挤老破小。现在老两口住着百十平的两居室,在一层,不用爬楼,关键是窗前还有个小院子。院子算公共面积里的,因为搬来得早,那时候物业管得不严,老爷子在落地窗前开了个门,直通小院,方便打理草木,省了物业的事儿,这地界儿慢慢也就算自己的了。进入四月,院里的那株树仿佛懂得感恩,不用催就按时开花,白中泛粉,围住树冠密密一团,阳光下尽情盛放。引来蜜蜂,路人也在树前拍照,老爷子坐在窗前泡茶,得意地看着外面。打开窗,风吹过,花瓣会飘进窗里——三四月还不必关窗纱。米乐爸会特意让花瓣就那么散落在窗前的茶几和藤椅背儿上,放那么几天,等花瓣蔫瘪了再扫走。花期一个月,落光后小绿果就冒出来,一周后能看出是杏。到了五月中,杏的个头儿大了,坠弯枝条,有人摘着吃。米乐爸爸看到会拦下,让他们捡掉在地上的吃,这种杏熟透了,不酸。自打搬进这套房子,米乐家就没在吃杏上花过钱。等杏的热乎气儿过了,轮到杏树旁的那些灌木展示,开出一大朵一大朵的花,红彤彤不免艳俗,绽放的热情仍让人忍不住问问这是什么花,很多时候米乐爸故意站在院子里,等着回答:月季。真要搬了家,在北京二环里找到一处窗前有杏树的房子就难了。这是米乐给“弄辆房车”找到的理论支持。
但老婆听完米乐的计划后,第一反应就是不靠谱,这也是她的直觉。完全在米乐预料中,她这些年越来越保守。米乐当然也理解,这种保守从某个角度说,是母爱所致,本质出于对孩子安全的考虑。但米乐这么做——如果房车计划能成行——也不是说就没有父爱了。恰恰这是米乐要传递的父爱,不要被生活中那些貌似坚固的东西困死,如果甘于受困,那些东西会越来越坚固。老婆的保守从另一个角度看,跟对房车的不了解也有关系。
米乐从技术角度给老婆普及了房车知识,告诉她里面床的尺寸,如何取暖、洗澡、做饭,以及一些先行者已经在房车里过上怎样的日子。说着打开手机,调出几条短视频,让老婆看人家怎么在车上过日子,有游荡在城市中的,也有开到荒郊野地一住就是个把月的。
老婆敏锐觉察到蹊跷:“你不是为了孩子上学,你准备了半天,是你想弄辆房车玩吧?”
米乐承认他是爱看那几个房车播主的视频,正是因为平时关注着,关键时候就用上了:“人家成年累月在车里生活,咱们就是让孩子睡个觉、吃个饭,比换房简单多了,风险也小。”
老婆随之问了几个她关心的问题,包括车得多少钱、车牌好不好上,冬天睡觉怎么办,以及米乐能确保每天晚上和早上都像他说的那样守着房车吗?米乐张口就答,新房车从十几万到上百万的都有,开了两三年的二手房车是新车的六到七折,他觉得买辆二手的就行,甲醛味儿散干净了,孩子睡在里面踏实。车牌可以用家里这辆车的,把现在这辆ix35卖掉,开八年了,孩子都长大了,没有上学这事儿,也该换辆大点儿的车。冬天则还在家里睡,可以提早一个小时出门,让孩子在车上洗漱吃早饭,早高峰之前赶到学校。最后米乐保证道:“既然我提出这个方案,我肯定不会缺席。”
“万一呢,万一你有事儿,或者出差不在北京?”老婆像一位象棋大师,考虑的不光是眼前这步,还有很多步。
“你也可以开,练练就行,C本以上都能开。”米乐不是留后手,是鼓励老婆,他觉得这是一次机会——把老婆从盲目内卷的势头里拽出来。让她除了惦记“孩子不能输在起跑线上”,心里也装些别的事情进去,比如想想能开着房车去哪儿过个周末。
他早就对老婆的一些做法不认同了。孩子刚进入幼儿园小班,就被老婆送去轮滑和识字班,因为别的孩子都报了,不是报这个班就是报那个班,于是他们的孩子也不能在家傻玩了,搞得大人孩子都没了周末。和老婆相比,米乐比较佛系,他觉得怎么都行,他就是这么一路长大的——走一步说一步,没有肝脑涂地为一个明确目标过度燃烧自己。大学毕业后他一直自由职业,说不清是性格导致就业,还是就业方式塑造性格。总之就这么过来了,从毕业第一年能养活自己,到后来买了房、结了婚,老能接些活儿,也就没想过找个稳定工作。他和老婆就是接活儿认识的,那时候她刚毕业做实习编辑,需要找封面设计,没资源,就在网站上转,看到米乐的设计稿,给他留言。当时米乐已经做了三四年自由设计师,接了她的活儿。一来二去,见了面,谈起恋爱,常一起吃着麻辣烫聊图稿的完善方案,后来确立了关系。从一开始她就是甲方,所以最终意见都是她拿,慢慢地,这种模式渗透到生活中:蜜月旅行去哪儿、空调买几级能耗的、晚上吃什么……要孩子的事情上也是如此,老婆张罗,米乐配合。以及后来的卖房、给孩子落户,总设计师都是老婆。但设计来设计去,米乐愈发觉得她现在有点儿像参加场地自行车赛的运动员,进了赛道,不管不顾,一圈圈猛蹬,从场外看,仿佛用显微镜看一个不会停下来的电子,也像驴拉磨。
“我不开,那么大一玩意儿,摆弄不了。”老婆依然沉浸在低头猛蹬中,“万一撞了,耽误孩子上学——你这么说了,你就得保证接送。”
“我保证!”
老婆看着米乐,似乎不太相信。
米乐颇为正式地说:“咱们不能再一条道走到黑了,一直卷下去,没出路,越活越累。”
“你想说什么?”老婆没听出这话跟保证每天接送孩子有什么关系。
“有辆房车能让神经放松一下。”米乐又取了一瓶啤酒,打开给老婆倒了一杯,“学会让自己放松,享受一下生活。”
“一点儿不享受,开房车只能让我更紧张。”老婆的红牛已经喝完,似乎有了力气,没拒绝啤酒,端起喝了一口,回归主题,“先说你怎么保证接送孩子。”
人是需要阳光、空气和大自然的。如果有了房车,送完孩子可以把车开到一个自己愿意待下去的地方——估摸是五环外某处不那么现代的地方——泡杯茶或咖啡,在车里开始工作。每天接送孩子对米乐不是忍辱负重,是激动人心的新生活开始了,无需保证。他如此告诉老婆。
老婆考虑的已不止是好几步,是十好几步,问以后上中学怎么办,还睡车里?米乐说那是六年后的事情,现在的人连六天以后的事情都无法把握,用不着想那么远,没准三年后教育政策就变了,这几年生育政策已经发生重大变化,而且六年后房价指不定什么情况,摸着石头过河吧……老婆又有担忧,说要都这样,一家一辆房车上学,学校门口停得下吗?这种考虑米乐不是没想过,他现在自信地告诉老婆:想想咱们家得下多大的决心,才能用房车当学区房,而且我又不用上班,有时间这么干,别的家长里有这条件的少吧——真要是不得不参与竞争,得扬长避短,不是一起同频内卷。
两人很久没有这么聊过了,也或许是难得吃了一顿只有两个人的饭——还是年轻时最热爱、现今久违的食物——近半年压在老婆心头的烦闷消散了许多。她又起身拿了一瓶啤酒。
米乐也聊得浑身清爽,觉得老婆似乎已被说动,同时不忘肯定老婆:“不是每个住得远的孩子都有一个能让他们拥有城里户口的妈,放心吧,学校门口不会遍地是房车的。”
后来两人打车回的家。原因有二:累得不想多走一步;现在九点半了,正好可以考察一下这个时段从回龙观到这里的路还堵不堵。以后这个时间,就是儿子躺在房车里,从家出发的时间。
北二环路边的写字楼依然灯火通明,还能看到有人在窗口里移动。夜色下,这些楼体黑黢黢的,仿佛泥潭被竖立起来,还隔出一个个格子,像鸡蛋盒装鸡蛋一样,装下一个个人。坐在出租车的后排,米乐揽住老婆的肩,老婆顺势将头靠在他的肩上。两人很久没有这样过了。
脸颊感受着老婆的发丝,米乐觉得今天自己又进行了一场提案——关于房车的提案。他依然记得,十几年前,给老婆——那时候连女朋友还不是——的封面设计稿第三次提案成功后,两人一起吃了顿饭,饭后也是这样给老婆送回家的。
3
在正式“弄辆房车”前,米乐先租了一辆,拉着老婆孩子出去玩了一趟。这是老婆的主意,她需要获得足够的安全感,才认可这个方案——如果这趟出行令她不满意,米乐想,难道她还有别的备选方案而不是完善房车方案的不足之处吗——她做事习惯手拿把掐。
米乐照着日后想买的那种车型租了一辆:驾驶室头顶有一张床,车尾放置着一套上下铺,下铺一米三宽,上铺八十,卡座和茶桌那里放平也可以变成一张儿童床,俩大人一个孩子睡这车上绰绰有余。大人睡觉挑床,孩子不挑,进了房车,来不及脱鞋,就挨个床上打滚,还问:“以后可以永远不回家睡觉了吧?”
房车加柴油,自重也大,提速有顿挫感。米乐开了几公里后意识到这个问题,便不像开自己家车那样狠踩油门了,缓缓给油后平稳了许多,及时遮掩了这个可能会被老婆挑出来的瑕疵——车开在路上忽悠忽悠的,孩子能睡安稳吗,米乐想象得到老婆可能会这样说。
因为是体验车为主,米乐没有把车开到太远的地方,游山玩水不是此趟出行的主要目的。三口人在六环外的河边停下车,米乐支上车侧身的阳光棚,架好折叠椅和户外餐桌,摆出水和吃的,弄成室外小客厅。先给老婆营造出舒适惬意的感觉,是第一步。
房车不远处就是贯穿京津的一条河道,有人在河边钓鱼,河对岸停了几辆私家车——都是天津的牌照,看样子过了河就属于天津——大人孩子正在烤炉边生火,青烟冒出来,引得孩子们一阵欢呼。米乐也不甘示弱,拉出房车的燃气灶,拧开自带的油瓶,取出洗切好的半成菜品,准备给儿子和老婆——两人此刻已拿着捞鱼的笊篱到了北京这边的河边——炒俩菜。饿不着,还能吃得比家里好,是米乐的第二步。
吃完饭,米乐又为老婆展示了如何在车上用水——把碗刷了。然后自己在地上画出三个车位,练习了揉库倒库,将来在二环里并不宽敞的街道上他得频繁做这两件事情。老婆最关心的还是睡觉——休息得好坏,直接关系到孩子未来的身高乃至择偶——所以当晚米乐把车开到了儿子的学校门口,停在空车位上,老婆要实地考察此处是否适合睡觉。
当有车辆过往、老婆觉得噪音有点儿大的时候,孩子已经睡着,响起微弱的鼾声。米乐关掉车内照明灯,只留下氛围灯,和老婆面对面坐进卡座,仿佛置身小酒吧。米乐取出备好的威士忌,倒了两杯,放进冰块。
“怎么样?”一杯递给老婆,米乐觉得孩子上学的事儿就算搞定了。
“你确定晚上就睡这儿了吗,喝了酒可不能开车。”老婆仍不踏实。
米乐冲着孩子正在睡觉的床铺——驾驶座头顶的那张床配有安全防护人不会睡着睡着掉下来——一甩头说:“能睡着,已经说明一切,不需要挪窝了。”
说完,米乐起身,拉上那张床的遮帘,孩子隔在里面,车里顿时变成米乐和老婆的二人世界。
夜色深沉,晚风轻柔。威士忌的颜色跟焦糖色的环境光融为一体,冰块在杯里一点点消融,恰到好处没有音乐——如果背景里放着音乐,反而会提醒老婆此刻还有孩子在车里睡着觉。两人仿佛回到热恋,生活中的那些烦恼消失了。
喝到第二杯,米乐给老婆抱到床上。她没想到他依然抱得动她。
米乐欲要亲热,老婆拦下:“外面还过车呢!”
“它过它的,帘都拉上了。”米乐又喝了一口酒。
“万一有城管呢?”
“城管不管这个。”米乐拧亮床灯,关掉环境灯。
“那也不行!”
“怎么不行了?”
“不安全。”老婆及时坐起来,“再弄出个老二,我可崩溃了!”
“我带了。”米乐取出早已备好的东西。
第二天一早,孩子刚睁眼,老婆就问睡得怎么样,有没有感觉到过往的车声?孩子说梦到超级飞侠带他去火星执行任务了,今晚还想在这儿睡,火星上没玩够。米乐征求老婆意见,房车要不要多租一天,进一步体验。老婆说不用,也就这样了,没必要再多花一天租金。
随后,米乐快马加鞭卖了自己家的那辆车,在开学前接手了一位已放弃追求“诗和远方”的自媒体播主——此人曾靠着这辆车走遍新疆当过网红——精心改造过因而用起来更人性化的房车。老婆是文科女,除了最后把握价格——在米乐谈好价格的基础上又砍下两千块——也没怎么在选车的事情上过多参与。
车开到家后,老婆用酒精喷壶给车内边边角角都喷了一遍。儿子迫不及待要到车上睡觉,并在睡着前已将床铺的围板粘满奥特曼贴画。“四轮学区房”的生活就这么开始了。
4
开学两周了。升级为小学生的家长,米乐没怎么感觉到身份的变化,除去接送占用了一些时间。不过也乐在其中,孩子送进学校后,房车就成了他的世界,可以满怀激情地——他真的感觉到一种冲动——待在里面做无论什么事情,连带也会对工作重新产生热情。之前无论在家还是去咖啡馆工作,都让他厌倦,中年人更需要保鲜。
白天米乐会把车开到愿意驻足的地方,通常是城外。哪怕是早高峰,出城方向也不堵,用不了一个小时,一个有树有河看不到高楼大厦的世界就会出现在眼前;然后泡杯咖啡,靠在卡座上——虽然没有家里的沙发大,却能给人注入活力,仿佛充电桩——开始这一天属于自己的生活:坐久了可以下车去河边打水漂,顺便把肩膀也活动了;有一次他甚至做了一套广播体操——他有轻微的肾结石,大夫让他多喝水多蹦——一切在城里看来不合时宜、想象不到的事情,在这里都可以发生。包括他倾心已久的钓鱼活动,几年前置办的装备,终于派上用场,运气好的时候,午饭问题能靠着大自然的恩赐来解决。
生活节奏重新回到自己手里。享受到莫大的自由,也让米乐在下午三点接孩子的时候,是笑逐颜开的。
九月中旬是北京最好的季节。天空柔媚,风清云静。这天米乐刚完成一稿设计,准备钓会儿鱼,找到一片潮湿的土地,用树杈挖起蚯蚓,手机响了,连响两下。米乐站起身,掏手机,老婆叮嘱过他,听到手机响能看就第一时间看——刚从幼儿园进入小学的孩子还不习惯新环境的要求,容易出事儿。
米乐点开手机,果然是班级群的消息。教语文的班主任先发了一张十几个同学站在黑板前的合影,后发的是一段文字,解释合影内容:以上孩子在拼音声母默写中全部写对,希望再接再厉!米乐看到有自己儿子,挺满足,儿子也争气——在他妈那没有给开着房车上学的生活留下话柄。米乐想,要不要发个大拇指或庆祝的表情,进而觉得不妥,班里三十五个孩子,有一半多的孩子没在合影上,不能在别的家长面前太嘚瑟,便继续自己的事儿。
挖到蚯蚓,挂上鱼钩,竿往河里一甩,米乐心情欢畅。这时候班级的微信群又响了,米乐很想知道别的家长会作何反应,急忙点开。映入眼帘的并不是一个简单的表情,也不是类似“真棒”这种无关痛痒的话,是段只读一遍并不能全部体会其中用意的文字——米乐读了三遍。意思并不复杂,只是米乐又读了两遍,才确信是他第一遍读出的那个意思——他没想到,有人敢这么直截了当地和老师说话。
话的大意是:不应该公布做题全对的合影,某种程度上等于变相在给孩子排名,教委说了,不应该公布学生的成绩和排名,尤其小学生,一年级开学才三周,这么做不太合适。
群里每位家长都给微信名做了标注,不是这个妈妈,就是那个爸爸,说话的这位是个妈。米乐点开这位妈妈的头像——不像有些妈妈用孩子照片或个人游山玩水的照片做头像,她的头像暗昧不清——放大后依然是看不真著的一团东西,朋友圈也不可见。
米乐相信,很多家长将和他一样,等着看老师如何回复。虽然全对的孩子里有自己儿子,米乐仍觉得这位家长说得在理,甚至认为班里有位敢于呼吁的家长是这个班的幸运。
直到米乐收拾了鱼竿,准备开车去接孩子了,群里也没有班主任的回复。其他家长也没有发言的,这种事情,站哪边说都有点儿拱火的意思。米乐猜群里人多嘴杂,老师应该是跟那位家长私信沟通了。
在米乐往城里去的时候,手机响了,正好红灯,赶紧点开看,班主任在群里说话了。她说刚才在给别的班上课,抱歉回复晚了,发合照没有别的意思,就是想让家长们了解孩子在学校的情况,督促孩子从入学初始就养成当天学习内容当天消化的习惯,这次默写拼音有同学一个也没写出来,应该及时让孩子知道小学和幼儿园不一样了——有很多孩子上过幼小衔接,对学习已经有了准备,但仍有孩子不明白上学的目的——进了校园不是来玩的了,今天的合影远谈不上排名,也不是优劣对比,以后到了三年级功课量上来了,不用排名,学习差异自然会显现出来。
米乐知道,关心着群里对话的家长已经越来越多,虽然没有一个人说话。没过多久,那位妈妈又回复了,更希望老师发一些孩子在学校运动、吃饭、上课的照片。老师也很快回:会发的。
这时候米乐也开到学校门口,准备接孩子了。他记住了这位妈妈孩子的姓名,把儿子接上车后,让儿子指给他看,叫那名字的孩子是哪个。儿子对着学校围墙外杂乱的人群看了半天,说没找到。米乐把今天的合影给儿子看,儿子挨个叫出人名,没有那个名字的学生。往家开的路上,米乐问这同学在学校表现怎么样,儿子说跟他不熟,两人座位不在一个方向。
在父母那吃晚饭的时候,老婆在饭桌上表扬了儿子,把默写全对的合影调出来给爷爷奶奶看。老两口看完异口同声:好孙子!妈妈说,台上一分钟台下十年功,抓紧吃饭,吃完刷两套十以内加法题。
第二天,米乐又在群里看到数学题全对的合影,儿子仍在里面,想必老婆也会看到。他把这张照片和昨天的照片做了对比,有十一个孩子昨天也出现了,另几张是新面孔。后来群里一直没有人说话,米乐想,也许那个孩子今天也在照片上,所以妈妈看到照片没有反对,或者知道说了没用,扭转不了老师的意愿,索性闭嘴。
隔天,晚上吃饭的时候,老婆突然问儿子,是不是班主任向你们承认错误了?儿子说他也不知道。老婆问,老师说话时你认真听了吗?儿子说认真听了,老婆说那老师说什么了,儿子说老师说了太多,想不起来。米乐问老婆,学校里怎么了?老婆说班里后来建了一个纯家长群,老师不在里面,有家长听孩子回家学舌,说老师主动承认了错误,再问承认了什么错误,孩子又学不到位,所以群里就动员所有家长都问问自己的孩子,看有没有能说清楚这事儿的。说罢,老婆给米乐拉到群里,让他“时刻准备着”。准备什么,米乐一头雾水,老婆说,跟班里同步就是准备着。
进群后,米乐查看了群成员。那个熟悉的却看不清是什么的头像安静地显示在列表中,不知道为什么,米乐看到后有种心安的感觉。然后又在群里看有没有这个名字男生的父亲,没有找到,之前在班级群里他也没有看到这孩子父亲的微信。大概是男性不愿意过多参与育儿的事情,就像自己也是刚刚加入这个家长群,米乐这样想。
后来都很晚了,一位女生的母亲在家长群里说,孩子睡觉前告诉他,班主任今天在课堂上向大家保证,以后不给大家拍合影了——老师承认的可能就是这个错误。于是家长们纷纷发言,找孩子确认老师是否说过这话,均得到肯定答复。有人说,难得遇到这么开通的老师,能主动向孩子承认错误。米乐想,肯定也有失落的家长,真不发照片了,就不知道自己孩子还是不是班里前十名了,比如他的老婆。但他没有问老婆是不是这样想的。
后来几天,果然没再看到班级群里出现满分孩子的合影。饭菜却又出了问题。
先是傍晚的时候,一位妈妈在家长群里说自己家孩子说今天某同学的菜里——学校用统一的食盘打餐——出现了蛐蛐。她艾特了那位同学的妈妈,请她问问孩子是不是有这么回事儿。没等当事人妈妈回复,别的妈妈就证实了这件事儿,她们的孩子也都看到那位同学的餐盘里出现蛐蛐。群里一下炸锅了,虽然蛐蛐出现在某一个人的餐盘里,但饭菜都是用大保温桶装盛的,这意味着大家的饭菜里都沾染了蛐蛐。其中一位爸爸分析——也可以说是火上浇油——蛐蛐都在石头缝儿里、草窠里,躲着人,能进到厨房的,只能是蟑螂。一时间,屏幕上出现不同妈妈发出的呕吐表情。
众人揭竿而起,各种对于学校饭菜的抱怨发在群里。有人说孩子的餐盘上出现过饭嘎呗儿,卫生不过关。有人说看着那些饭菜就难吃——老师会把每日饭菜拍照发到班级群——米饭暗沉,肉的颜色也浊浑,肯定是冷冻很久的。有人接话:是的,孩子说肉都嚼不动。另有一位妈妈说,有一次孩子跟她说,午餐吃的是蜗牛,她也没多想,还觉得伙食标准挺高,现在想想,肯定是菜没洗干净才出现蜗牛的。马上就有妈妈问,那孩子把蜗牛吃了吗?
这时候,那个头像不清的妈妈说话了,她问,退伙行吗?并艾特了群主。群主也是位妈妈,兼职班级家委会,算是家长们和学校沟通的代表,她说先私信跟班主任沟通下。
在家委会妈妈和老师沟通的当儿,蟑螂当事人的家长在群里回话了,已问过孩子,确有此事。孩子发现异物后,举手报告了班主任,班主任走过来,将异物取出,随口说了个“蛐蛐,给你换一份”,便将餐盘端走,又端来一份新的。有家长问,真的是端来一份新的吗,还是端走又端回来了?马上有家长说,这有什么区别,蟑螂和菜出自同一个保温桶。随后又有家长说,同事的孩子在别的年级,刚才问了下,那个年级的饭菜里也屡屡出现异物。于是群里达成共识:饭菜问题已根深蒂固。
家委会妈妈发来和班主任沟通的结果,班主任说这个问题各个班级都向学校反映过,但老师的职责有限,就是教课,无法插手餐饮管理,今天发生的事情,她会向学校汇报,其实老师们吃的也是这些饭菜,早想彻底改进。班主任同意不想在学校吃午饭的同学退伙,家长中午十二点把孩子接走,一点半前把孩子送回学校就行。米乐看到这里,问老婆接不接,午饭他可以提前备好,带孩子在房车上吃——虽然这样会耽误他去郊区钓鱼。老婆犹豫着,不知道接走合不合适。这时候,头像不清的妈妈先在群里说话了,我接,她说。
随后班委会妈妈做了一个接龙,让接孩子的家长报名,她会把名单转给班主任,明天学校安排老师把这些孩子送到学校门口,由家长带走吃午饭。看到有五位家长参与了接龙后,米乐老婆也报了名。作出这个决定后,孩子爷爷赶紧又熘了个肝尖,炖了锅牛肉胡萝卜——特意做八成熟——放凉后装进餐盒;明天中午米乐在房车上用电磁炉稍作加工,孩子的午饭就有了。
5
一位男老师带着二十几个高矮不一的孩子走出校门,二十几位横跨老中青的家长领走自己家孩子。米乐把儿子接上车问,不都是你们班的吧?儿子说就八个是他们班的,还有别的年级的。
米乐打开刚刚热好的炖牛肉和熘肝尖,现蒸的米饭给儿子盛了一碗,爷俩儿坐进卡座面对面吃起来。吃了几口,儿子说没有学校的饭好吃,明天还想在学校吃。小孩的好吃跟大人的好吃标准不一样,米乐也没纠正儿子,只是让他明天中午接着出来,爷爷会给他做更好吃的东西。对米乐来说,退伙是一种行动,是行动就要彻底,直到学校更换午餐供应商——目前提供午饭的是一家食品公司,从家长们收集到信息看,这家公司从原料到食品卫生、从烹饪到餐具洗刷,处处糊弄事,堪称恶劣,已不是需要改进的问题,必须解除合作。
吃到一半,儿子指着窗外的前方说,那是我们班的。米乐扭头望去,马路斜对面停了一辆吉普车,后备厢盖扬起,一个小男孩正坐在折叠座椅里,用后备厢靠近右尾灯的一边儿当餐桌。左尾灯那边儿坐着一个女的,估计是孩子的妈妈,戴着墨镜,头靠在车体上,晒着太阳。米乐问那同学叫什么,儿子说出名字,米乐听了心中像被火光闪了一下,正是他打听过的那个名字。
那个孩子刚好吃完饭,妈妈从保温杯里倒水给他喝,然后收好折叠椅,后备厢盖一扣,领着孩子过了马路。把孩子送进校门,妈妈又回到吉普车,掀开后备厢,站着把孩子没吃完的饭菜吃了,然后驾车离去,是辆老款吉普。全程戴着墨镜,米乐猜不出她长什么样。
儿子也吃饱了,老婆嘱咐过米乐,吃完就回学校,不要在车里逗留太久,尽量合群,别弄得跟和学校作对似的。送完儿子,米乐回到车里发了会儿呆,不到三个小时后又要接孩子了,他没有时间开着车再去别的地方了。儿子的“退伙”拴住了他,不过他也心甘情愿,为了“行动”而牺牲部分自我,是理所应当的。
第二天米乐把儿子接到车上后,看到男老师还带着儿子班的那孩子站在校门口,墨镜妈妈没来接他。天色暗沉,风也大了,说话就要下雨,米乐让儿子把那孩子叫车里来。男孩上了车,米乐给他拿来碗筷,叫他和儿子一起吃。小孩不见外,也确实饿了,拿起就吃。俩孩子还不太熟,各吃各的,米乐撮合两人认识,想让儿子在学校多交朋友,跟所有人打成一片才好。米乐问小孩叫什么,小孩报出名字,儿子说爸爸你不是知道他的名字吗?米乐赶紧接上话,说我问的是小名。男孩又说出小名,叫Sting。儿子笑了,说,你叫死拧吗?Sting说,英文,sting,不是死拧。米乐问这名字谁起的,Sting说我妈。米乐问你妈妈是做什么工作的,Sting说她是唱歌的,有乐队。米乐——知道美国有个著名摇滚歌手就叫Sting——问Sting,那你爸爸是做什么的?Sting说我爸工作忙,住在别的地方。米乐大概清楚为什么群里没有这孩子爸爸了。
雨点淅淅沥沥落下,打在房车顶棚上。昨天那辆吉普车这时候开到学校门口,墨镜妈妈下车找孩子,米乐打开防蚊虫拉门,孩子探出身子喊:“妈”。
墨镜女把吉普车开上马路牙子,停在房车旁。米乐跟她打招呼,说俩孩子一个班的,怕孩子等不到她着急,就把孩子带车上了。墨镜女摘下墨镜——一笑眼角已能看出鱼尾纹,脸上没有这个年龄女性过多人为干预的那种湿肿——赶忙致谢,见孩子已经吃上,更是不好意思。米乐说现成的粗茶淡饭,两人搭伙更有食欲。妈妈赶紧去吉普车里取来保温桶,摊开摆在桌上——米饭没有再往桌上放——让俩孩子一起吃。分体保温餐盘里分别盛着鸡蛋西红柿和牛肉炒芹菜,米乐能看出这是一位不擅厨艺或对吃没什么讲究的妈妈。Sting扫了一眼盘里说,我妈老做鸡蛋西红柿。妈说,你老点我才老做。米乐儿子率先㨤了一勺,说好吃。Sting说,没有你家的菜好吃。米乐儿子又㨤了一勺说,你家的才好吃。
米乐主动介绍了为什么会开着一辆房车出现在这里,以免Sting妈妈觉得奇怪,或认为他们一家子为孩子上个小学劳师动众。Sting妈听完说,都不容易,全为了孩子。米乐问她,昨天在吉普车后面吃饭的是Sting吧?Sting妈说,对。米乐问,你们住得远吗?Sting妈说,开车单程十五分钟,没必要把时间浪费在路上,现在天气也不冷,就让Sting先这么吃着,早点儿吃完还能回教室趴桌上睡会儿。米乐说,以后来我车上吃吧,反正我们天天在这,慢慢天也冷了。Sting妈说不用麻烦,米乐说不麻烦,俩孩子一起吃还能有个伴儿。Sting妈说那饭我做,我那用火比你在车上方便,米乐没有拒绝。
米乐也不好意思袖手旁观真让Sting妈做饭,所以第二天餐桌上特别丰富,已经摆不下了。Sting妈带来三菜一汤——不输学校的标准——米乐也备了两个菜,再来俩孩子都吃不完。米乐儿子和Sting吃完,两位父母给他们送进校门,然后两个大人回车打扫各自孩子的剩饭。Sting妈做的是牛排、蒜蓉粉丝蒸白菜还有盛了半只鸭子的老鸭汤,里面煮了萝卜,用心了。米乐吃着想,真要是这么客气下去,做饭也该内卷了。他夹了一块切好的牛排说,做这个挺费事儿吧?Sting妈说,用空气炸锅做的,肉放锅里,喷点儿油,扣好盖儿就行了。又说,其实自己不怎么会做饭,从网上现学的,以前都是姥姥姥爷给孩子做,现在上了学,儿子跟她住,她才把做饭一事纳入日常。Sting妈问米乐是做什么的,可以每天以这样的方式等儿子,挺带劲的。米乐说做设计,书、海报、产品logo、包装盒,都做,现在不能挑活儿了。Sting妈说,我是做乐队的,尤其生了孩子,有演出就去,也不挑活儿,说完笑了。
米乐问了乐队的名字,Sting妈说很小众,报出名字米乐果然没听过。Sting妈说做得不好,一直默默无闻,说完又自嘲地笑了。典型的北京女的。随着各自孩子的剩饭见了底儿,两人的闲聊也结束了,客气告别。
晚上爷爷又做了好几个菜,儿子没怎么吃,说中午吃顶了。爷爷很骄傲,说我做的饭有那么好吃吗?中午饭都是爷爷准备,米乐只负责最后一道工序,将八成熟变成彻底熟。孙子回答爷爷没那么好吃,是Sting妈做饭好吃,吃得下午上课直打嗝。米乐老婆听到,问米乐怎么吃起别人家的饭?米乐简单说了经过,还说,弄孩子都不容易,车上有地儿,互相方便一下。老婆立马说,她家的饭卫不卫生呀?米乐说,肯定卫生,人家自己孩子也吃。老婆又问,那孩子叫什么呀?开学不足一个月,家长和家长、家长对班里,尚都不熟。儿子说,叫Sting。老婆拿起手机,在群里翻这名字的家长,似乎要找到照片相相面,方决定能否继续搭伙。米乐知道老婆找不到,就让儿子告诉妈妈Sting的大名。儿子话音未落,妈妈就跟被点着了似的:“他妈呀!”
“他妈怎么了?”儿子不理解自己妈妈的反应。
“他妈做饭好吃!”米乐赶紧接过话,给老婆递眼色,示意打住,他知道老婆怎么想的。
话题被终止,事情在老婆那远没结束。就他俩的时候,老婆说不愿意让儿子跟那孩子接触,怕受影响。他妈群里质疑完老师,还去学校找校长给老师告状——所以班主任才会在班里向学生承认错误——这么怼老师,老师肯定对她孩子没好印象,老跟那孩子在一起,咱孩子也没好果子吃。米乐听到很多闻所未闻的信息,问找校长这事儿是哪儿听来的?老婆说,学校恁么一个小地方还能有不透风的墙?米乐觉得既然老师向孩子们承认了错误,说明这孩子的妈没做错。老婆说话不是这么说,对错单说,关键是做法太鲁。米乐对这事儿的理解不是“鲁”,是纯粹,Sting妈是搞摇滚的,直截了当,道出很多人的心声。这样的人理应受到呵护,现在却成了大伙“对面的人”——从老婆接下来的话里,米乐听出来,老婆和另几个妈妈似乎达成统一战线,认为Sting妈在拉着全班躺平,她们不接受自己的孩子这样,正商议对策力争让这个班的孩子跟上全国六岁半儿童的节奏。作为这个“不躺平”组织的人,米乐老婆认为不宜跟Sting妈走得太近。
米乐发现他和老婆想事情经常想不到一块儿去了。一个纯粹的人,哪怕不被尊重,至少不该被排挤,米乐是这么想的。他有点理解不了现在的世界,和现在的老婆,老婆后面的那些话,已让他听不进去。
直到老婆说了一句话,把米乐拉回到正在进行的对话中:“你要是不好意思谢客,就让儿子继续回学校吃饭,她也不可能还让她孩子去你车上吃吧?”
米乐没想到老婆能为此牺牲孩子的“食品安全”,更对老婆在“行动”上如此不彻底和是非观的错乱而扼腕。他觉得不能再佛系下去,该摆出态度了,说:“不怕儿子下回从学校的饭里吃出个灶马儿?”
“灶马儿是什么?”老婆小时候只知道书本和教室。
“以前北京的公共厕所里全是这玩意儿!”米乐说完,起身去叫儿子。该出发去学校门口睡觉了。
米乐打开一听啤酒,踏踏实实喝了一口,仰靠在房车的卡座里,一条腿搭到对面座椅上。这是他最舒服的姿势。其实不是姿势有多舒服,是爱一个人这么待着。
车外有蛐蛐叫,二环里都快没有老北京人了,竟然还有蛐蛐。儿子正在米乐身后的床上睡着觉,车里三张床,儿子想睡哪张看心情,米乐就睡儿子挑剩的那两张。到了这个岁数,米乐貌似对诸多事情已无所谓,其实很有原则,用内力控制着生活,以防沾染、滑离、坠落。
现在米乐调出Sting妈妈的歌,匹对上耳机,喝着酒听起来。刚才开来的路上,儿子睡前突然唱起歌,吐字不是很清,米乐听了一个大概,好像唱的是:1、2、3、4、5、6、7……do、re、mi、fa、sol、la、xi 什么的。米乐问儿子是音乐课教的吗,儿子说不是,跟Sting学的,他妈会写歌。现在儿子睡着了,米乐还记得Sting妈妈乐队的名字,在音乐平台搜到这个乐队。成员四人,Sting妈是主唱兼词曲创作,另外三位男性负责吉他贝斯鼓,有三千多粉丝——知名乐队的粉丝都好几十万——去过欧洲巡演,拿过两个独立音乐的奖,成立快十年了。米乐一算,组队的时候Sting还没出生,乐队到现在也没有出名,却还能搞下去,说明Sting妈靠这个能养活自己,也说明她是真喜欢干这个。
歌词多是英文的,曲调晦暗,伤惋迷蒙,适合晚上听,也和她头像挺搭。米乐以己度人,猜可能到了他这个年龄无论男女,都生活在迷离扑朔的日子里,因此从头到脚都跟通俗明朗无缘。听到一首像把人按进水里的歌,沉闷压抑,米乐不仅不觉得难听,还感觉情绪恰到好处。突然吉他亮音响起,像一只手伸进水里,把溺水的人拉了上来,世界豁然开朗。
听到这,米乐有些坐不住了,有种东西被唤醒。他来到车外,需要将这种东西释放,或在夜空下任它生长。随着乐曲的进行,鼓的韵律清晰起来,有种整装待发的感觉,米乐竟然跟着做起开合跳——平时他也常跳,心态和心率都不想过早衰老。
跳了不知道多少个,乐曲结束,米乐停下来,踱步深呼吸,平复心跳。往前走了十几步,又往回返,下一首歌已经开始。一转身,看到一个人推着自行车站在房车旁。米乐走近,看清是谁,吓一跳,Sting的妈妈。米乐摘掉耳机,说,是你呀,太黑没看清。Sting妈说,刚才喊了你两声,你戴着耳机没听见,听什么呢?米乐说,你们乐队的歌,说完停掉耳机,手机里果然传出她再熟悉不过的曲调。然后解释说,孩子睡前唱了你们的歌,Sting教的,我就正好找你们乐队的歌听听。
米乐意识到Sting妈这个时候出现在这里很意外,问她来这有事儿吗?Sting妈说她刚好排练结束,骑车回家,看到米乐在锻炼,就停下打个招呼。米乐说,你们的音乐挺耐听。Sting妈笑了。两人谁也不再说话,乐曲在夜色中放着,闪烁的路灯好像打在舞台的灯光。
Sting妈突然说,过几天国庆长假,乐队会在河北某城参加音乐节,邀请米乐带孩子来玩,她也带Sting去,音乐节在湿地公园,可以野营。米乐应诺。
6
老婆说不用订她的票,不想跟Sting家走太近,以免日后麻烦。但孩子想去,米乐就开着房车带儿子去了。
Sting跟着妈妈前一天就到了办音乐节的城市,组织者怕国庆假期路上拥堵,提早把参演的乐队接来。大型音乐节都不让露营,也不让带水进场,这个音乐节规模小,乐队名气都不大,为了吸引更多人来看,取消了这些限制。演出当天,组委会在每支乐队的休息处都搭起天幕,架好折叠桌椅,摆上吃的,场面工作做足,让乐手们发朋友圈,宣传音乐节,吸引更多乐队日后来演出。
米乐带儿子是演出当天下午赶到的,找到Sting妈妈所发照片上的紫色天幕。一路上,看到乐迷们五颜六色的头发、千姿百态的衣服,儿子跟米乐说,这些人“泰裤辣”——这是他上学后学到的一个流行词。米乐说,你长大了也可以这样。
儿子和Sting会师,还有一些乐队的亲友也带来孩子,小朋友们在草地上玩起“木头人”。大人们似乎刚吃完饭,桌面上摆着组委会派发的盒饭,已经吃空,还没收拾。Sting妈介绍了米乐和大家认识,吉他手递来一听啤酒,米乐打开,跟手里有酒的人都碰了一下。
天气已经不热,有人把椅子搬到天幕外面,找阳光晒。米乐用啤酒和在场的人打完招呼,也搬椅子找了片阳光,从这里能望到舞台,离演出还有一会儿。
大人们窝在沙滩椅里,说着无关紧要的话;孩子们在不远处玩耍,对游戏中的犯规者明察秋毫。如果几日后这些人不需要上班上学,生活简直无可挑剔。
一阵不小的风刮过,吹翻桌上的空餐盒,盒盖儿被卷走。Sting妈起身去捡,没等弯腰,塑料盖儿又被刮走几米,吹到孩子们脚下。一个男孩看Sting妈奔盒盖儿而来,他俯身去捡,刚伸手,盖儿又往前窜了窜。于是孩子们争前恐后去捡那盖儿,风似乎有意和他们做游戏,又卷起盖儿向前。孩子们的兴致更高涨了,像一群蜜蜂追讨敌人而去。终于,一个大点儿的孩子捡到了——或者说抢到了。Sting妈撑着营地的黑色大塑料垃圾袋来接,拿着盖儿的孩子扣篮一样将斩获物投入袋中,洋洋得意,仿佛球场上的MVP,其他孩子有些沮丧,吵着要再玩一次。Sting妈说,那咱们一起去捡垃圾,把地球上的垃圾都捡干净。
当儿子告诉米乐他要去捡垃圾的时候,米乐一开始没听懂,但儿子已经跑走,去追大部队。米乐就拿着那听啤酒,在后面跟着,看到Sting妈拖着大号黑色塑料袋,像个丐帮帮主,指挥着五六个孩子,把出现在草地上的垃圾一一捡起,汇总到她的袋子里。
这也太摇滚了吧?还是哗众取宠?米乐拿不准,保持着距离,跟在后面。
孩子们为了收获更多战利品,开始创造垃圾。儿子跑来,管米乐要啤酒罐,米乐一口喝完,孩子喜悦地拿过罐子去上缴。有孩子走到露营人面前,问吃了一半的食物要不要扔掉,被问者微笑着摇摇头。好在只带了一个黑色袋子,很快就装满了。Sting妈把袋子放到垃圾回收处,带孩子们去浇花的水龙头下洗手,然后回到营地。
组委会的工作者正举着小摄像机采访乐队其他成员,见主唱回来了,镜头冲向Sting妈。采访者是个小姑娘,问,刚才听乐手说,乐队解散过几年,前年又重组,都出于怎样的考虑?Sting妈反问,他们——看向三位男乐手——怎么说的?采访的小姑娘说,他们说听您召唤,他们就回来了。Sting妈笑了,说你听他们瞎掰呢,当年解散也不是我召唤的,还是散了。小姑娘追问,那您说是为什么呀?Sting妈说,当年觉得干这个没希望,挣不到什么钱,只能解散,后来该结婚的结婚,该生娃的有了娃,班也上了,折腾一圈发现还是干这个好,不用看人眼色,自己喜欢什么样的音乐就做什么,不用讨好任何人。现在靠乐队能养家吗,小姑娘又问。乐队的人听到这个问题都笑了,Sting妈说,那就看过什么日子了。小姑娘最后举着话筒问道,说来说去还是因为发自内心喜欢音乐喽?对,Sting妈说,离不开。
这时候几十米外的舞台上传来一声吉他的失真,演出即将开始。观众席已聚集了千把人,前排的乐迷舞动着几杆大旗,乐队主唱说着感谢音乐节和乐迷的话来暖场,鼓手在恰当时机搞了段solo,气氛被点燃。采访团队去拍摄演出现场。Sting妈乐队的乐手们拿出乐器,开始热身——具体就是热手热嘴——Sting妈咿呀嘿吼地开着嗓子,他们第四个出场。
随后Sting妈和吉他手合到一起,一个演奏一个唱。第二支乐队开始上场,舞台上没了动静,米乐能听到Sting妈唱的就是那天晚上儿子在房车里唱的歌:1、2、3、4、5、6、7……do、re、mi、fa、sol、la、xi。Sting和儿子跑过去,跟着他妈一起唱起来。唱着唱着,Sting妈灵机一动,添了两句词。新词在两个孩子的演唱下,出现一种美妙的效果,米乐听到也为之一动。旋律朗朗上口,另外几个孩子也加入进来,Sting妈闭了嘴,现场成了童声合唱团。
这时候来了组委会的人,让乐队去候场。Sting妈征求乐手们意见:要不然让孩子们也上场?鼓手说,靠谱!Sting妈让孩子们去征求各自家长意见。儿子跑来问米乐,米乐说,只要你愿意,当然行。
乐队的四个大人先上了场,第一首歌是展示乐队风格的英文歌。第二首歌换成中文的,唱至一半,Sting妈冲后台一招手,孩子们上场了。她领唱了几句,随后就将麦克风冲向孩子们。乐队降低了器乐演奏成分,只留下贝斯铺着节奏,孩子们的声音被突出,唱出:“1、2、3、4、5、6、7,不是你在班里考第几,1、2、3、4、5、6、7,它们是do、re、mi、fa、sol、la、xi……”听出米乐一身鸡皮疙瘩。在这种声音下,空气也仿佛被净化,观众发出和之前不一样的欢呼声。
Sting妈举着手机,站在Sting身旁,拍摄着这一幕。米乐也从台后呼哧带喘跑到观众区,挤不进去,就在最后一排,正面拍摄这个场面。
孩子们反复唱着那句歌词,乐迷们也跟着唱起来。乐队索性停止任何演奏,成了孩子的清唱,现场数千人挥舞着手,跟着孩子们一起唱。
这时候,米乐的手机响了一声,是微信,他没理会,继续拍摄。
随后不到一分钟,老婆电话进来,米乐没接,拍摄没停。响了十多声后断了,马上又打过来。孩子已唱完,鞠躬谢幕离场,米乐接了电话。
“你疯了吧!”老婆开口喷火。
“怎么了?”米乐以为家里出了什么事儿。
“你看看群里!赶紧给我把孩子拽下来!”老婆的声音盖过现场巨型音箱发出的声音,直撞耳膜。
米乐在房车里连住十天了,平时他只是晚上陪孩子睡在学校门口,周末和孩子还是会躺到家中的床上,现在他已经第十一天睡在车里了。那天他在儿子班级群里看到Sting妈妈发的视频,是她从台上拍的孩子们唱歌,只拍了Sting和其他孩子,有意避开米乐儿子。老师也在这个群里,显然,她想让老师和部分家长看到这一幕。米乐老婆看完后有种直觉:自己儿子也在台上。于是炸了。加上视频确实不小心扫到另一个孩子的胸口以下,露出有限的衣服,这让米乐老婆确认了那就是自己的儿子,于是被引爆了,给米乐打去电话。
米乐那天也被点着了。孩子们的童声如天籁,直钻心窝,辅以歌词,听得他热泪盈眶。加上现场数千人的合唱,让米乐觉得“这样才是对的”,然而老婆的电话在这个时候不合时宜地来了。不知道触碰到米乐的哪根神经,或者说击穿了他,窝在缝儿里的那个更真切的米乐钻了出来,选择拒绝错误的声音——比如老婆说出的那些话——让正确的事情变得更对,于是就把自己从正面拍的那条视频也发到了老师所在的班级群。视屏中,儿子和Sting与另几个孩子,坦荡地站在台上,唱着“1、2、3、4、5、6、7,不是你在班里考第几……它们是do、re、mi、fa、sol、la、xi……”台下上千双手跟着他俩的节奏挥舞。
然后米乐的电话和微信就被老婆打爆了,让他赶紧撤回视频。米乐没有撤,手机那头儿的老婆表现出比台下乐迷更疯狂的激情。
接下来,米乐就没再回家睡过觉。如果没有孩子,他会开着这辆车,去到一个什么地方,过上那么一段时间。但现在他做不到,因为孩子,他还要接送。他能做的,就是在车里先凑合一段时间;也幸好有了这辆车,让他在这样一种时刻里,能有个地方一个人待着,可以把前前后后的事情好好想一想了。
作者简介
孙睿,作家、编剧、导演,北京电影学院导演系硕士毕业,写小说为主,也写剧本。已在本刊发表中篇小说《斗地主》、《发明家》,获2019年《北京文学》优秀中篇作品、2022年《北京文学·中篇小说选刊》优秀中篇选载作品。
责任编辑 张颐雯
特约编辑 蓦 凡
Try to identify key plot points (e.g., exposition, rising action, climax, falling action, resolution).
Outline the overall conflict or driving tension in the narrative.
', error: Error code: 429 - {'error': {'message': 'You exceeded your current quota, please check your plan and billing details. For more information on this error, read the docs: https://platform.openai.com/docs/guides/error-codes/api-errors.', 'type': 'insufficient_quota', 'param': None, 'code': 'insufficient_quota'}}
2024-06-14 15:27:39 - httpx - INFO - HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 429 Too Many Requests"
2024-06-14 15:27:39 - AnalysisRunner - ERROR - Error running analysis 'Plot' using GPT4Model. Error type: RateLimitError. Error message: Error code: 429 - {'error': {'message': 'You exceeded your current quota, please check your plan and billing details. For more information on this error, read the docs: https://platform.openai.com/docs/guides/error-codes/api-errors.', 'type': 'insufficient_quota', 'param': None, 'code': 'insufficient_quota'}}
Traceback (most recent call last):
File "/Users/apple/editor-app-v10/analysis_runner.py", line 47, in run_analysis
result = model.invoke(prompt)
^^^^^^^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/language_models.py", line 78, in invoke
response = self.model.invoke([prompt])
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/langchain_core/language_models/chat_models.py", line 170, in invoke
self.generate_prompt(
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/langchain_core/language_models/chat_models.py", line 599, in generate_prompt
return self.generate(prompt_messages, stop=stop, callbacks=callbacks, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/langchain_core/language_models/chat_models.py", line 456, in generate
raise e
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/langchain_core/language_models/chat_models.py", line 446, in generate
self._generate_with_cache(
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/langchain_core/language_models/chat_models.py", line 671, in _generate_with_cache
result = self._generate(
^^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/langchain_openai/chat_models/base.py", line 537, in _generate
response = self.client.create(messages=message_dicts, **params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/openai/_utils/_utils.py", line 277, in wrapper
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/openai/resources/chat/completions.py", line 606, in create
return self._post(
^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/openai/_base_client.py", line 1240, in post
return cast(ResponseT, self.request(cast_to, opts, stream=stream, stream_cls=stream_cls))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/openai/_base_client.py", line 921, in request
return self._request(
^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/openai/_base_client.py", line 1005, in _request
return self._retry_request(
^^^^^^^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/openai/_base_client.py", line 1053, in _retry_request
return self._request(
^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/openai/_base_client.py", line 1005, in _request
return self._retry_request(
^^^^^^^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/openai/_base_client.py", line 1053, in _retry_request
return self._request(
^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/openai/_base_client.py", line 1020, in _request
raise self._make_status_error_from_response(err.response) from None
openai.RateLimitError: Error code: 429 - {'error': {'message': 'You exceeded your current quota, please check your plan and billing details. For more information on this error, read the docs: https://platform.openai.com/docs/guides/error-codes/api-errors.', 'type': 'insufficient_quota', 'param': None, 'code': 'insufficient_quota'}}
2024-06-14 15:27:39 - LanguageModels - ERROR - Failed to invoke GPT-4 with prompt: '
Discuss the main themes explored in this text (output in Simplified Chinese):
四轮学区房
孙 睿
1
刚开始没想到是吃麻辣烫的,太饿了,从外面看着像能吃饭的地方,米乐和老婆便推门往里走。一进来,就想打喷嚏,呛得,又打不出来。空气中,一个个香辣分子在翻滚。老婆一屁股坐到桌前,顾不得味道粘在衣服上将久久不散,扒拉着挑选。坐下后米乐意识到,他俩好久没有面对面坐下、像谈恋爱时候那样吃顿饭了。
店开在胡同口,狭长的桌子,其实也不长,多说四五米;当中间儿掏空,怼进去一溜长方形钢筋锅,彼此靠钢板隔开,做成两排,煮着穿好的串儿,荤素都有,五花八门,竹签冲外,伸手即取。这种店傍晚前做旁边学校中学生和逛胡同游客的生意,现在已经晚上九点多,除了看店伙计在墙角刷手机,店里没别人,是另一种缘分让米乐和他媳妇坐到了这里。
两人各守一锅,小火轻煮,空调吹出冷气,汽化的风肉眼可见。老婆一言不发地吃着,面前摆着撸下的签子,长短不一。长签三块一串,短签两块——米乐发觉自己扫一眼桌面大概就能乘出吃了多少钱的能力退化了。两人都太累了,下午来这边看房,东跑西颠,看了六套,快看吐了。
九月份孩子就要上小学了,还有一个多月。目前孩子跟着他俩住回龙观,幼儿园也是这边上的,家楼下。老婆觉得,幼儿园哪儿上无所谓,就当上着玩,小学不能再凑合,必须去城里。回龙观属于昌平,挨着朝阳和海淀,算不上远郊,但比起二环里的东城西城,叫城外也不为过,这边都快到六环了。什么时代的人都想当“城里人”,过腻城里日子往城外搬的那种另说,家长更是希望自己的娃能做个“城里孩子”,恰好米乐老婆和孩子的户口在城里,进城上学成了这个家庭的不二之选。
当然米乐也有别的想法,他不认为孩子去城里上学就高枕无忧。他敢这么认为是有充分依据的,他的小学到高中都是在西城区上的,也不是班里所有人都考上大学了,甚至有后来进了工读学校的,前途如何,更靠孩子自己。同样他也不觉得留在昌平上学就输在了起跑线,他的大学同学里,有一个就是昌平考上来的,学号一号,因为入校分数最高,后来年年奖学金,还保了研。但米乐不愿跟老婆掰持这些,他的不做主性格,让老婆成了当家的人。
说起来,其实他老婆连原汁原味的北京人都算不上,米乐才是北京的“城里人”。小时候在西城长大,家住西四胡同,后来那片拆了,父母在回龙观买了房,米乐跟着搬了家。户口随房子走,迁到了昌平,化身“城外人”。而他老婆,大学毕业留了京,幸运地进了给解决户口的单位,单位在东城,于是不仅成为新北京人,还拥有了令很多城外北京人羡慕的东城区户口,只不过是集体户。后来两人认识,结了婚,也在回龙观买了房——为了离米乐父母近更因为这里的房价还能接受——老婆仍把户口留在单位。一开始米乐以为老婆嫌麻烦,懒得挪,直到几年后生了娃,给孩子上户口的时候,才弄明白老婆的良苦用心:孩子户口不在昌平上,上东城的,跟她一起,落集体户,将来是东城学籍,可以上东城的学校。大家普遍认为北京的好学校都在东西城和海淀,所以这三个区的学籍格外珍贵,没有的心向往之,想辙往里钻,有学籍的则沾沾自喜不形于色。还有个插曲,备孕期间,老婆让米乐把他名下那套回龙观的房子卖掉,她研究过政策,必须父母双方都没有北京房产,孩子才能落集体户。就这么着,米乐把自己名下的那套房子卖了,租了两年房子,等到孩子在集体户里有了自己的户口页,才和老婆又在他父母的那个小区买了套二手房。那时候房价每年都在涨,为了孩子的户口,搭进去两人多年的积蓄,只因为老婆认为当个“城里人”洋气。
老婆七年前布好局,事态按预期发展着,上礼拜小学录取通知书下来了。儿子成了一名北京东城区的小学生,不出意外,将在东城接受九年义务教育。从回龙观到这所小学,二十公里出头,还有一段高速。不走高速的话,有三十三个红绿灯,早晚高峰开车少说要一个半小时,再遇上一起交通事故,时间就没谱了——若事故双方都是送孩子的家长,也是有麻利儿解决的可能。走高速倒是能避开些红绿灯,但进出高速口的时间不稳定,赶上没装ETC的车或手机忘带了无法扫码付费身上也无现金的车主,这条车道何时能通车就看他什么时候能变出过路费了……这些特殊情况暂且放置一旁,按八点到校计算,逆推,六点二十必须出家门了,刨去洗漱吃饭时间,不到六点就得起床,大人还要伺候孩子穿衣吃饭,只能起得更早。于是问题来了:住昌平的儿童和家长,每日该如何不这般辛劳地去东城上学?
老婆曾试想,卖了回龙观的房,在学校旁边买一套,然后把自己和孩子的户口从集体户里迁出来,落户东城,一劳永逸;米乐乐意的话,户口也能从父母的本儿上挪过来,四十岁了,早该独立出来了。想法很美好,现实被低估。同样新旧的房子,东城一平米的单价差不多是昌平的三倍。现在米乐一家三口住的是一百二十平米的小三居,换成东城同档次的房子,包括税费里里外外都算上,要添八百万。知难而退,老婆降低预期,不行就住老破小,窄点儿也认了,孩子的教育胜于一切。看了两套不到八十平的两居,一算差价,仍要添三百万。钱是一方面,关键是卖了自己住得顺心又舒服的房子,在陌生的地方买个不那么如意的房子,是不是风险有些大?没有哪个普通家庭能在买房卖房上像打麻将出牌那般随意,即便是在北京,也尤其是在北京。
加之房产市场突然低迷,房价走向扑朔迷离,成交周期变长,房子也不是说卖就能卖成的,肯花钱倒是容易买到,但很可能刚买到手就贬值。如此一来,换房的想法只能搁置。保险一些的做法是把自家房租出去,在学校旁边租套房。今天看的这些出租房,有中介联系的,也有老婆在闲鱼找到业主直租的。看房用眼睛看,身体和情感不免也会参与其中,幻想未来至少六年带着孩子生活在这里:三具肉身的安放是否恰当合理(卧室舒不舒服),三张嘴能否被满足(厨房能不能唤发烹饪食物的热情),三个灵魂栖居于此可否相安无事(几年后将迎来儿子的叛逆期)……六套看下来,身心俱疲。
小店墙上的货柜摆着各种饮料,老婆偏偏拿了一瓶红牛,拉开就喝。以前她从不碰这玩意儿,认为所谓的提神就是杀鸡取卵,把体内残存的能量榨取出来。那么,现在她是要把仅剩的一丝力气逼出来,然后还要干点儿什么吗?米乐猜不出老婆接下来还想干什么——再看一套房?或是仅仅为了有力气回家?还是不甘回家后就这样一无所获地睡去,夜深人静的时候仍要展开人生思考?
眼前的事实,让米乐确信了一件事情,这是近八年里他和老婆第一次吃麻辣烫。以前她特好这口,自打有了孩子,两人吃东西就不怎么考虑自己了,只吃适合孩子吃的东西,孩子现在六岁半,加上备孕和怀孕的时间,八年里两人渐渐没了“自己”。
此刻老婆两眼直愣愣地盯着锅里,嘴里机械地嚼着,一手握着红牛,一手搓捻着空签子,显然脑子里琢磨着什么。这神态让米乐陌生。老婆从小聪慧灵敏,在学习、考试、就业、升职的道路上,向来无须大动干戈便攻城拔寨,不说硕果累累,至少是一帆风顺。如今被卡住了,不是主观世界被难住的卡,是那种物质世界的卡——老婆想的可能是:自己的家庭为什么突然卡在底层中产向高阶中产进军的路上?
在不添钱的情况下,回龙观的房租只能在东城区租个六十平米的老破小。客厅小得转不过身,家里那台七十五寸电视搬过来都放不下——米乐和老婆都喜欢周末在家看个电影。为了让电视有地儿放,也得租个面积大的房子,那就只能添钱。添多少合适?无限制地添,好房子有的是,再大的电视也能搁进去,但这不是米乐家能过的日子。老婆虽说事业顺利,挣得也有限,在出版社上班,不是什么大社,做出爆款书的机率渺茫,年薪远没到过日子可以不算计。米乐至今自由职业,做平面设计,收入取决于活儿多活儿少,曾经红火过,这两年客户相继流失,不知道好好的一家公司怎么就做不下去了。米乐的活儿也随之减少,世界越来越新,他越来越老,在发展新客户上缺乏手段,已由只喝单一麦芽改为调和威士忌也觉得还不错了。
老婆定了一个标准:保证生活品质的情况下,房租尽可能地少添。尽可能地少,也有一个范围,所以连看了六套。连将将满意的都没有,首先就是感觉小。房子住惯了宽敞的,再换紧凑的就难了。米乐老婆以前没觉得三口人住五十多平有多挤,甚至还觉得敞亮,她自己家当初就是一套五十多平的房子,她还有一个自己的房间,让很多同学羡慕,但那是二十多年前。现在她和米乐看了一套九十平的两居都觉得窄,就这还要每月添四千多,若想租一套和回龙观的家一样面积的房子,少说要补八千块,超标了。也正应了那句话:一分钱一分货。越活越觉得这话的准,世界就是这么构成的。
六套里有一处平房令米乐夫妇印象深刻,房本面积三十多,号称能住五口人,两间十余平的房子打通了,加了挑高,做成复式,下面的三十多平隔出客厅、厨房和卫生间,客厅只留一条过道能站直身子,其余空间留给楼上复式,从沙发上起身都得猫腰。房主说,人多数时候在客厅里是坐着的,这么设计是合理利用顶部空间。楼上的复式部分,拆分成两间半,老两口一间,中年夫妇一间,半间留给上中学的孙子住。现在孙子考上大学,可以住校了,一家人没有必要挤在这里,准备往城外搬。看房的时候,米乐老婆盘算如果是自己家搬过来,先不说人能不能耍得开,就是家具都摆不下。这家的柜子有个特点,都直通房顶,极尽盛放之能事。经过楼梯的时候,米乐老婆不知道自己碰了哪里,一扇木板弹出来。原来这片看似楼梯支撑物的木板也是柜门,楼梯下面的空间从高到低依次被用作大衣柜、短衣柜、袜子柜和杂物柜,房间里见不得一立方厘米的浪费。连柜门上都没有把手儿,门是磁吸的,按下去则弹开,再按就吸上,刚才就是米乐老婆不小心顶到柜门。房主人笑着介绍说,面儿上什么都不露,省地儿。笑中透着说不上是得意还是无奈。这一刻,米乐老婆体会到住城外的好了。
但米乐知道,对老婆来说,东城学籍是更好的东西。现在终于等来这一刻——媳妇累了、也烦了的时刻——他可以把存在心中许久的那个想法说出来了。
“倒是还有个方案……”米乐不知为何话一出口感到一阵心虚。
“什么方案?”老婆翻起不抱希望的眼睛。
“弄辆房车。”
“现在卡在房子上,怎么还想着弄什么车!”老婆似乎觉得米乐把握不住重点,随后马上意识到房车是可以住人的,转而说,“弄了以后呢?”
2
大学毕业离校那天,米乐想,以后可他妈不用考试了。这么一想,步伐都轻盈了。现在四十岁,竟遭遇了哈姆雷特的困境:孩子的小学到底是去东城上,还是留在昌平?这道题没有补考,选错了就……就怎样并不知道,也没有人能告诉他。
做这同一道题,米乐和老婆的解题思路不一样。不同于老婆在跨城中寻求解决方案,米乐是先有方案,然后为这个方案在现实生活中找到有力支撑。方案就是他跟老婆所说的“弄辆房车”,直觉告诉他可以这样做。
米乐现在和父母住同一个小区,隔着几栋楼,相互都有个照应。幼儿园接送孩子,当米乐和老婆顾不上的时候,他父母可以代劳。老两口把孩子接回来,还能给孩子弄口饭,米乐他俩几点回家都无所谓了,孩子睡爷爷奶奶那也行,第二天老两口再给送去幼儿园。父母眼瞅着奔七十了,今天不是这个头晕,就是那个明天胸闷,米乐也能照顾到,去医院检查他开车接送方便。所以他不想打破现状,觉得孩子小学在家附近上也没什么,父母依然可以帮着接送。但老婆的底线是,别的怎么都行,学必须去东城上——尽当爹妈的最大努力成全孩子。因为她就是这么长大的,然后从一个四线城市考到北京,当初她妈不输孟母,为了她上学,也曾三迁。
让孩子住学校旁边,已是大势所趋,在这个“规定动作”下,米乐便想到了房车。他一直就想弄辆房车,可以开到哪儿玩到哪儿,需要工作了——他的工作有台笔记本电脑就能完成——车里就能干。有卡座和桌子,不比咖啡厅差,窗外还有风景。可以说,是孩子上学的新问题,正好撞上他的旧心愿。
然后今天看完房子,也可以说在看房过程中,甚至说在第一套老破小看到一半的时候,“时机到了”的想法就开始在米乐脑子里闪现。他想,与其在“砖窝”里睡觉,还不如在“铁桶”里睡,反正都是个小。不就是为了离学校近吗,把房车停学校门口,没有比这更近的睡觉的地方了。相当于给小平房装上轱辘。每天放学先开着房车接孩子回家,小学特别是低年级,三点多就放,这时候路上不堵,四十多分钟就能到家。在家写完作业吃完饭,玩够了,该睡觉的时候,就让孩子往房车上一躺,米乐把车开到学校门口——晚上不堵车,四十分钟用不了就能开到。孩子瓷瓷实实睡一晚上,米乐早起给孩子做饭,车上有电磁炉和冰箱,孩子妈愿意陪睡陪吃也行,车里三张床,足够睡下,比那复式平房的卧室更让人有想躺在枕头上的愿望。
如果是搬来东城,米乐不忍心只搬自己的小家,而把父母留在回龙观。这样一来,不仅开销翻倍,父母也得挤老破小。现在老两口住着百十平的两居室,在一层,不用爬楼,关键是窗前还有个小院子。院子算公共面积里的,因为搬来得早,那时候物业管得不严,老爷子在落地窗前开了个门,直通小院,方便打理草木,省了物业的事儿,这地界儿慢慢也就算自己的了。进入四月,院里的那株树仿佛懂得感恩,不用催就按时开花,白中泛粉,围住树冠密密一团,阳光下尽情盛放。引来蜜蜂,路人也在树前拍照,老爷子坐在窗前泡茶,得意地看着外面。打开窗,风吹过,花瓣会飘进窗里——三四月还不必关窗纱。米乐爸会特意让花瓣就那么散落在窗前的茶几和藤椅背儿上,放那么几天,等花瓣蔫瘪了再扫走。花期一个月,落光后小绿果就冒出来,一周后能看出是杏。到了五月中,杏的个头儿大了,坠弯枝条,有人摘着吃。米乐爸爸看到会拦下,让他们捡掉在地上的吃,这种杏熟透了,不酸。自打搬进这套房子,米乐家就没在吃杏上花过钱。等杏的热乎气儿过了,轮到杏树旁的那些灌木展示,开出一大朵一大朵的花,红彤彤不免艳俗,绽放的热情仍让人忍不住问问这是什么花,很多时候米乐爸故意站在院子里,等着回答:月季。真要搬了家,在北京二环里找到一处窗前有杏树的房子就难了。这是米乐给“弄辆房车”找到的理论支持。
但老婆听完米乐的计划后,第一反应就是不靠谱,这也是她的直觉。完全在米乐预料中,她这些年越来越保守。米乐当然也理解,这种保守从某个角度说,是母爱所致,本质出于对孩子安全的考虑。但米乐这么做——如果房车计划能成行——也不是说就没有父爱了。恰恰这是米乐要传递的父爱,不要被生活中那些貌似坚固的东西困死,如果甘于受困,那些东西会越来越坚固。老婆的保守从另一个角度看,跟对房车的不了解也有关系。
米乐从技术角度给老婆普及了房车知识,告诉她里面床的尺寸,如何取暖、洗澡、做饭,以及一些先行者已经在房车里过上怎样的日子。说着打开手机,调出几条短视频,让老婆看人家怎么在车上过日子,有游荡在城市中的,也有开到荒郊野地一住就是个把月的。
老婆敏锐觉察到蹊跷:“你不是为了孩子上学,你准备了半天,是你想弄辆房车玩吧?”
米乐承认他是爱看那几个房车播主的视频,正是因为平时关注着,关键时候就用上了:“人家成年累月在车里生活,咱们就是让孩子睡个觉、吃个饭,比换房简单多了,风险也小。”
老婆随之问了几个她关心的问题,包括车得多少钱、车牌好不好上,冬天睡觉怎么办,以及米乐能确保每天晚上和早上都像他说的那样守着房车吗?米乐张口就答,新房车从十几万到上百万的都有,开了两三年的二手房车是新车的六到七折,他觉得买辆二手的就行,甲醛味儿散干净了,孩子睡在里面踏实。车牌可以用家里这辆车的,把现在这辆ix35卖掉,开八年了,孩子都长大了,没有上学这事儿,也该换辆大点儿的车。冬天则还在家里睡,可以提早一个小时出门,让孩子在车上洗漱吃早饭,早高峰之前赶到学校。最后米乐保证道:“既然我提出这个方案,我肯定不会缺席。”
“万一呢,万一你有事儿,或者出差不在北京?”老婆像一位象棋大师,考虑的不光是眼前这步,还有很多步。
“你也可以开,练练就行,C本以上都能开。”米乐不是留后手,是鼓励老婆,他觉得这是一次机会——把老婆从盲目内卷的势头里拽出来。让她除了惦记“孩子不能输在起跑线上”,心里也装些别的事情进去,比如想想能开着房车去哪儿过个周末。
他早就对老婆的一些做法不认同了。孩子刚进入幼儿园小班,就被老婆送去轮滑和识字班,因为别的孩子都报了,不是报这个班就是报那个班,于是他们的孩子也不能在家傻玩了,搞得大人孩子都没了周末。和老婆相比,米乐比较佛系,他觉得怎么都行,他就是这么一路长大的——走一步说一步,没有肝脑涂地为一个明确目标过度燃烧自己。大学毕业后他一直自由职业,说不清是性格导致就业,还是就业方式塑造性格。总之就这么过来了,从毕业第一年能养活自己,到后来买了房、结了婚,老能接些活儿,也就没想过找个稳定工作。他和老婆就是接活儿认识的,那时候她刚毕业做实习编辑,需要找封面设计,没资源,就在网站上转,看到米乐的设计稿,给他留言。当时米乐已经做了三四年自由设计师,接了她的活儿。一来二去,见了面,谈起恋爱,常一起吃着麻辣烫聊图稿的完善方案,后来确立了关系。从一开始她就是甲方,所以最终意见都是她拿,慢慢地,这种模式渗透到生活中:蜜月旅行去哪儿、空调买几级能耗的、晚上吃什么……要孩子的事情上也是如此,老婆张罗,米乐配合。以及后来的卖房、给孩子落户,总设计师都是老婆。但设计来设计去,米乐愈发觉得她现在有点儿像参加场地自行车赛的运动员,进了赛道,不管不顾,一圈圈猛蹬,从场外看,仿佛用显微镜看一个不会停下来的电子,也像驴拉磨。
“我不开,那么大一玩意儿,摆弄不了。”老婆依然沉浸在低头猛蹬中,“万一撞了,耽误孩子上学——你这么说了,你就得保证接送。”
“我保证!”
老婆看着米乐,似乎不太相信。
米乐颇为正式地说:“咱们不能再一条道走到黑了,一直卷下去,没出路,越活越累。”
“你想说什么?”老婆没听出这话跟保证每天接送孩子有什么关系。
“有辆房车能让神经放松一下。”米乐又取了一瓶啤酒,打开给老婆倒了一杯,“学会让自己放松,享受一下生活。”
“一点儿不享受,开房车只能让我更紧张。”老婆的红牛已经喝完,似乎有了力气,没拒绝啤酒,端起喝了一口,回归主题,“先说你怎么保证接送孩子。”
人是需要阳光、空气和大自然的。如果有了房车,送完孩子可以把车开到一个自己愿意待下去的地方——估摸是五环外某处不那么现代的地方——泡杯茶或咖啡,在车里开始工作。每天接送孩子对米乐不是忍辱负重,是激动人心的新生活开始了,无需保证。他如此告诉老婆。
老婆考虑的已不止是好几步,是十好几步,问以后上中学怎么办,还睡车里?米乐说那是六年后的事情,现在的人连六天以后的事情都无法把握,用不着想那么远,没准三年后教育政策就变了,这几年生育政策已经发生重大变化,而且六年后房价指不定什么情况,摸着石头过河吧……老婆又有担忧,说要都这样,一家一辆房车上学,学校门口停得下吗?这种考虑米乐不是没想过,他现在自信地告诉老婆:想想咱们家得下多大的决心,才能用房车当学区房,而且我又不用上班,有时间这么干,别的家长里有这条件的少吧——真要是不得不参与竞争,得扬长避短,不是一起同频内卷。
两人很久没有这么聊过了,也或许是难得吃了一顿只有两个人的饭——还是年轻时最热爱、现今久违的食物——近半年压在老婆心头的烦闷消散了许多。她又起身拿了一瓶啤酒。
米乐也聊得浑身清爽,觉得老婆似乎已被说动,同时不忘肯定老婆:“不是每个住得远的孩子都有一个能让他们拥有城里户口的妈,放心吧,学校门口不会遍地是房车的。”
后来两人打车回的家。原因有二:累得不想多走一步;现在九点半了,正好可以考察一下这个时段从回龙观到这里的路还堵不堵。以后这个时间,就是儿子躺在房车里,从家出发的时间。
北二环路边的写字楼依然灯火通明,还能看到有人在窗口里移动。夜色下,这些楼体黑黢黢的,仿佛泥潭被竖立起来,还隔出一个个格子,像鸡蛋盒装鸡蛋一样,装下一个个人。坐在出租车的后排,米乐揽住老婆的肩,老婆顺势将头靠在他的肩上。两人很久没有这样过了。
脸颊感受着老婆的发丝,米乐觉得今天自己又进行了一场提案——关于房车的提案。他依然记得,十几年前,给老婆——那时候连女朋友还不是——的封面设计稿第三次提案成功后,两人一起吃了顿饭,饭后也是这样给老婆送回家的。
3
在正式“弄辆房车”前,米乐先租了一辆,拉着老婆孩子出去玩了一趟。这是老婆的主意,她需要获得足够的安全感,才认可这个方案——如果这趟出行令她不满意,米乐想,难道她还有别的备选方案而不是完善房车方案的不足之处吗——她做事习惯手拿把掐。
米乐照着日后想买的那种车型租了一辆:驾驶室头顶有一张床,车尾放置着一套上下铺,下铺一米三宽,上铺八十,卡座和茶桌那里放平也可以变成一张儿童床,俩大人一个孩子睡这车上绰绰有余。大人睡觉挑床,孩子不挑,进了房车,来不及脱鞋,就挨个床上打滚,还问:“以后可以永远不回家睡觉了吧?”
房车加柴油,自重也大,提速有顿挫感。米乐开了几公里后意识到这个问题,便不像开自己家车那样狠踩油门了,缓缓给油后平稳了许多,及时遮掩了这个可能会被老婆挑出来的瑕疵——车开在路上忽悠忽悠的,孩子能睡安稳吗,米乐想象得到老婆可能会这样说。
因为是体验车为主,米乐没有把车开到太远的地方,游山玩水不是此趟出行的主要目的。三口人在六环外的河边停下车,米乐支上车侧身的阳光棚,架好折叠椅和户外餐桌,摆出水和吃的,弄成室外小客厅。先给老婆营造出舒适惬意的感觉,是第一步。
房车不远处就是贯穿京津的一条河道,有人在河边钓鱼,河对岸停了几辆私家车——都是天津的牌照,看样子过了河就属于天津——大人孩子正在烤炉边生火,青烟冒出来,引得孩子们一阵欢呼。米乐也不甘示弱,拉出房车的燃气灶,拧开自带的油瓶,取出洗切好的半成菜品,准备给儿子和老婆——两人此刻已拿着捞鱼的笊篱到了北京这边的河边——炒俩菜。饿不着,还能吃得比家里好,是米乐的第二步。
吃完饭,米乐又为老婆展示了如何在车上用水——把碗刷了。然后自己在地上画出三个车位,练习了揉库倒库,将来在二环里并不宽敞的街道上他得频繁做这两件事情。老婆最关心的还是睡觉——休息得好坏,直接关系到孩子未来的身高乃至择偶——所以当晚米乐把车开到了儿子的学校门口,停在空车位上,老婆要实地考察此处是否适合睡觉。
当有车辆过往、老婆觉得噪音有点儿大的时候,孩子已经睡着,响起微弱的鼾声。米乐关掉车内照明灯,只留下氛围灯,和老婆面对面坐进卡座,仿佛置身小酒吧。米乐取出备好的威士忌,倒了两杯,放进冰块。
“怎么样?”一杯递给老婆,米乐觉得孩子上学的事儿就算搞定了。
“你确定晚上就睡这儿了吗,喝了酒可不能开车。”老婆仍不踏实。
米乐冲着孩子正在睡觉的床铺——驾驶座头顶的那张床配有安全防护人不会睡着睡着掉下来——一甩头说:“能睡着,已经说明一切,不需要挪窝了。”
说完,米乐起身,拉上那张床的遮帘,孩子隔在里面,车里顿时变成米乐和老婆的二人世界。
夜色深沉,晚风轻柔。威士忌的颜色跟焦糖色的环境光融为一体,冰块在杯里一点点消融,恰到好处没有音乐——如果背景里放着音乐,反而会提醒老婆此刻还有孩子在车里睡着觉。两人仿佛回到热恋,生活中的那些烦恼消失了。
喝到第二杯,米乐给老婆抱到床上。她没想到他依然抱得动她。
米乐欲要亲热,老婆拦下:“外面还过车呢!”
“它过它的,帘都拉上了。”米乐又喝了一口酒。
“万一有城管呢?”
“城管不管这个。”米乐拧亮床灯,关掉环境灯。
“那也不行!”
“怎么不行了?”
“不安全。”老婆及时坐起来,“再弄出个老二,我可崩溃了!”
“我带了。”米乐取出早已备好的东西。
第二天一早,孩子刚睁眼,老婆就问睡得怎么样,有没有感觉到过往的车声?孩子说梦到超级飞侠带他去火星执行任务了,今晚还想在这儿睡,火星上没玩够。米乐征求老婆意见,房车要不要多租一天,进一步体验。老婆说不用,也就这样了,没必要再多花一天租金。
随后,米乐快马加鞭卖了自己家的那辆车,在开学前接手了一位已放弃追求“诗和远方”的自媒体播主——此人曾靠着这辆车走遍新疆当过网红——精心改造过因而用起来更人性化的房车。老婆是文科女,除了最后把握价格——在米乐谈好价格的基础上又砍下两千块——也没怎么在选车的事情上过多参与。
车开到家后,老婆用酒精喷壶给车内边边角角都喷了一遍。儿子迫不及待要到车上睡觉,并在睡着前已将床铺的围板粘满奥特曼贴画。“四轮学区房”的生活就这么开始了。
4
开学两周了。升级为小学生的家长,米乐没怎么感觉到身份的变化,除去接送占用了一些时间。不过也乐在其中,孩子送进学校后,房车就成了他的世界,可以满怀激情地——他真的感觉到一种冲动——待在里面做无论什么事情,连带也会对工作重新产生热情。之前无论在家还是去咖啡馆工作,都让他厌倦,中年人更需要保鲜。
白天米乐会把车开到愿意驻足的地方,通常是城外。哪怕是早高峰,出城方向也不堵,用不了一个小时,一个有树有河看不到高楼大厦的世界就会出现在眼前;然后泡杯咖啡,靠在卡座上——虽然没有家里的沙发大,却能给人注入活力,仿佛充电桩——开始这一天属于自己的生活:坐久了可以下车去河边打水漂,顺便把肩膀也活动了;有一次他甚至做了一套广播体操——他有轻微的肾结石,大夫让他多喝水多蹦——一切在城里看来不合时宜、想象不到的事情,在这里都可以发生。包括他倾心已久的钓鱼活动,几年前置办的装备,终于派上用场,运气好的时候,午饭问题能靠着大自然的恩赐来解决。
生活节奏重新回到自己手里。享受到莫大的自由,也让米乐在下午三点接孩子的时候,是笑逐颜开的。
九月中旬是北京最好的季节。天空柔媚,风清云静。这天米乐刚完成一稿设计,准备钓会儿鱼,找到一片潮湿的土地,用树杈挖起蚯蚓,手机响了,连响两下。米乐站起身,掏手机,老婆叮嘱过他,听到手机响能看就第一时间看——刚从幼儿园进入小学的孩子还不习惯新环境的要求,容易出事儿。
米乐点开手机,果然是班级群的消息。教语文的班主任先发了一张十几个同学站在黑板前的合影,后发的是一段文字,解释合影内容:以上孩子在拼音声母默写中全部写对,希望再接再厉!米乐看到有自己儿子,挺满足,儿子也争气——在他妈那没有给开着房车上学的生活留下话柄。米乐想,要不要发个大拇指或庆祝的表情,进而觉得不妥,班里三十五个孩子,有一半多的孩子没在合影上,不能在别的家长面前太嘚瑟,便继续自己的事儿。
挖到蚯蚓,挂上鱼钩,竿往河里一甩,米乐心情欢畅。这时候班级的微信群又响了,米乐很想知道别的家长会作何反应,急忙点开。映入眼帘的并不是一个简单的表情,也不是类似“真棒”这种无关痛痒的话,是段只读一遍并不能全部体会其中用意的文字——米乐读了三遍。意思并不复杂,只是米乐又读了两遍,才确信是他第一遍读出的那个意思——他没想到,有人敢这么直截了当地和老师说话。
话的大意是:不应该公布做题全对的合影,某种程度上等于变相在给孩子排名,教委说了,不应该公布学生的成绩和排名,尤其小学生,一年级开学才三周,这么做不太合适。
群里每位家长都给微信名做了标注,不是这个妈妈,就是那个爸爸,说话的这位是个妈。米乐点开这位妈妈的头像——不像有些妈妈用孩子照片或个人游山玩水的照片做头像,她的头像暗昧不清——放大后依然是看不真著的一团东西,朋友圈也不可见。
米乐相信,很多家长将和他一样,等着看老师如何回复。虽然全对的孩子里有自己儿子,米乐仍觉得这位家长说得在理,甚至认为班里有位敢于呼吁的家长是这个班的幸运。
直到米乐收拾了鱼竿,准备开车去接孩子了,群里也没有班主任的回复。其他家长也没有发言的,这种事情,站哪边说都有点儿拱火的意思。米乐猜群里人多嘴杂,老师应该是跟那位家长私信沟通了。
在米乐往城里去的时候,手机响了,正好红灯,赶紧点开看,班主任在群里说话了。她说刚才在给别的班上课,抱歉回复晚了,发合照没有别的意思,就是想让家长们了解孩子在学校的情况,督促孩子从入学初始就养成当天学习内容当天消化的习惯,这次默写拼音有同学一个也没写出来,应该及时让孩子知道小学和幼儿园不一样了——有很多孩子上过幼小衔接,对学习已经有了准备,但仍有孩子不明白上学的目的——进了校园不是来玩的了,今天的合影远谈不上排名,也不是优劣对比,以后到了三年级功课量上来了,不用排名,学习差异自然会显现出来。
米乐知道,关心着群里对话的家长已经越来越多,虽然没有一个人说话。没过多久,那位妈妈又回复了,更希望老师发一些孩子在学校运动、吃饭、上课的照片。老师也很快回:会发的。
这时候米乐也开到学校门口,准备接孩子了。他记住了这位妈妈孩子的姓名,把儿子接上车后,让儿子指给他看,叫那名字的孩子是哪个。儿子对着学校围墙外杂乱的人群看了半天,说没找到。米乐把今天的合影给儿子看,儿子挨个叫出人名,没有那个名字的学生。往家开的路上,米乐问这同学在学校表现怎么样,儿子说跟他不熟,两人座位不在一个方向。
在父母那吃晚饭的时候,老婆在饭桌上表扬了儿子,把默写全对的合影调出来给爷爷奶奶看。老两口看完异口同声:好孙子!妈妈说,台上一分钟台下十年功,抓紧吃饭,吃完刷两套十以内加法题。
第二天,米乐又在群里看到数学题全对的合影,儿子仍在里面,想必老婆也会看到。他把这张照片和昨天的照片做了对比,有十一个孩子昨天也出现了,另几张是新面孔。后来群里一直没有人说话,米乐想,也许那个孩子今天也在照片上,所以妈妈看到照片没有反对,或者知道说了没用,扭转不了老师的意愿,索性闭嘴。
隔天,晚上吃饭的时候,老婆突然问儿子,是不是班主任向你们承认错误了?儿子说他也不知道。老婆问,老师说话时你认真听了吗?儿子说认真听了,老婆说那老师说什么了,儿子说老师说了太多,想不起来。米乐问老婆,学校里怎么了?老婆说班里后来建了一个纯家长群,老师不在里面,有家长听孩子回家学舌,说老师主动承认了错误,再问承认了什么错误,孩子又学不到位,所以群里就动员所有家长都问问自己的孩子,看有没有能说清楚这事儿的。说罢,老婆给米乐拉到群里,让他“时刻准备着”。准备什么,米乐一头雾水,老婆说,跟班里同步就是准备着。
进群后,米乐查看了群成员。那个熟悉的却看不清是什么的头像安静地显示在列表中,不知道为什么,米乐看到后有种心安的感觉。然后又在群里看有没有这个名字男生的父亲,没有找到,之前在班级群里他也没有看到这孩子父亲的微信。大概是男性不愿意过多参与育儿的事情,就像自己也是刚刚加入这个家长群,米乐这样想。
后来都很晚了,一位女生的母亲在家长群里说,孩子睡觉前告诉他,班主任今天在课堂上向大家保证,以后不给大家拍合影了——老师承认的可能就是这个错误。于是家长们纷纷发言,找孩子确认老师是否说过这话,均得到肯定答复。有人说,难得遇到这么开通的老师,能主动向孩子承认错误。米乐想,肯定也有失落的家长,真不发照片了,就不知道自己孩子还是不是班里前十名了,比如他的老婆。但他没有问老婆是不是这样想的。
后来几天,果然没再看到班级群里出现满分孩子的合影。饭菜却又出了问题。
先是傍晚的时候,一位妈妈在家长群里说自己家孩子说今天某同学的菜里——学校用统一的食盘打餐——出现了蛐蛐。她艾特了那位同学的妈妈,请她问问孩子是不是有这么回事儿。没等当事人妈妈回复,别的妈妈就证实了这件事儿,她们的孩子也都看到那位同学的餐盘里出现蛐蛐。群里一下炸锅了,虽然蛐蛐出现在某一个人的餐盘里,但饭菜都是用大保温桶装盛的,这意味着大家的饭菜里都沾染了蛐蛐。其中一位爸爸分析——也可以说是火上浇油——蛐蛐都在石头缝儿里、草窠里,躲着人,能进到厨房的,只能是蟑螂。一时间,屏幕上出现不同妈妈发出的呕吐表情。
众人揭竿而起,各种对于学校饭菜的抱怨发在群里。有人说孩子的餐盘上出现过饭嘎呗儿,卫生不过关。有人说看着那些饭菜就难吃——老师会把每日饭菜拍照发到班级群——米饭暗沉,肉的颜色也浊浑,肯定是冷冻很久的。有人接话:是的,孩子说肉都嚼不动。另有一位妈妈说,有一次孩子跟她说,午餐吃的是蜗牛,她也没多想,还觉得伙食标准挺高,现在想想,肯定是菜没洗干净才出现蜗牛的。马上就有妈妈问,那孩子把蜗牛吃了吗?
这时候,那个头像不清的妈妈说话了,她问,退伙行吗?并艾特了群主。群主也是位妈妈,兼职班级家委会,算是家长们和学校沟通的代表,她说先私信跟班主任沟通下。
在家委会妈妈和老师沟通的当儿,蟑螂当事人的家长在群里回话了,已问过孩子,确有此事。孩子发现异物后,举手报告了班主任,班主任走过来,将异物取出,随口说了个“蛐蛐,给你换一份”,便将餐盘端走,又端来一份新的。有家长问,真的是端来一份新的吗,还是端走又端回来了?马上有家长说,这有什么区别,蟑螂和菜出自同一个保温桶。随后又有家长说,同事的孩子在别的年级,刚才问了下,那个年级的饭菜里也屡屡出现异物。于是群里达成共识:饭菜问题已根深蒂固。
家委会妈妈发来和班主任沟通的结果,班主任说这个问题各个班级都向学校反映过,但老师的职责有限,就是教课,无法插手餐饮管理,今天发生的事情,她会向学校汇报,其实老师们吃的也是这些饭菜,早想彻底改进。班主任同意不想在学校吃午饭的同学退伙,家长中午十二点把孩子接走,一点半前把孩子送回学校就行。米乐看到这里,问老婆接不接,午饭他可以提前备好,带孩子在房车上吃——虽然这样会耽误他去郊区钓鱼。老婆犹豫着,不知道接走合不合适。这时候,头像不清的妈妈先在群里说话了,我接,她说。
随后班委会妈妈做了一个接龙,让接孩子的家长报名,她会把名单转给班主任,明天学校安排老师把这些孩子送到学校门口,由家长带走吃午饭。看到有五位家长参与了接龙后,米乐老婆也报了名。作出这个决定后,孩子爷爷赶紧又熘了个肝尖,炖了锅牛肉胡萝卜——特意做八成熟——放凉后装进餐盒;明天中午米乐在房车上用电磁炉稍作加工,孩子的午饭就有了。
5
一位男老师带着二十几个高矮不一的孩子走出校门,二十几位横跨老中青的家长领走自己家孩子。米乐把儿子接上车问,不都是你们班的吧?儿子说就八个是他们班的,还有别的年级的。
米乐打开刚刚热好的炖牛肉和熘肝尖,现蒸的米饭给儿子盛了一碗,爷俩儿坐进卡座面对面吃起来。吃了几口,儿子说没有学校的饭好吃,明天还想在学校吃。小孩的好吃跟大人的好吃标准不一样,米乐也没纠正儿子,只是让他明天中午接着出来,爷爷会给他做更好吃的东西。对米乐来说,退伙是一种行动,是行动就要彻底,直到学校更换午餐供应商——目前提供午饭的是一家食品公司,从家长们收集到信息看,这家公司从原料到食品卫生、从烹饪到餐具洗刷,处处糊弄事,堪称恶劣,已不是需要改进的问题,必须解除合作。
吃到一半,儿子指着窗外的前方说,那是我们班的。米乐扭头望去,马路斜对面停了一辆吉普车,后备厢盖扬起,一个小男孩正坐在折叠座椅里,用后备厢靠近右尾灯的一边儿当餐桌。左尾灯那边儿坐着一个女的,估计是孩子的妈妈,戴着墨镜,头靠在车体上,晒着太阳。米乐问那同学叫什么,儿子说出名字,米乐听了心中像被火光闪了一下,正是他打听过的那个名字。
那个孩子刚好吃完饭,妈妈从保温杯里倒水给他喝,然后收好折叠椅,后备厢盖一扣,领着孩子过了马路。把孩子送进校门,妈妈又回到吉普车,掀开后备厢,站着把孩子没吃完的饭菜吃了,然后驾车离去,是辆老款吉普。全程戴着墨镜,米乐猜不出她长什么样。
儿子也吃饱了,老婆嘱咐过米乐,吃完就回学校,不要在车里逗留太久,尽量合群,别弄得跟和学校作对似的。送完儿子,米乐回到车里发了会儿呆,不到三个小时后又要接孩子了,他没有时间开着车再去别的地方了。儿子的“退伙”拴住了他,不过他也心甘情愿,为了“行动”而牺牲部分自我,是理所应当的。
第二天米乐把儿子接到车上后,看到男老师还带着儿子班的那孩子站在校门口,墨镜妈妈没来接他。天色暗沉,风也大了,说话就要下雨,米乐让儿子把那孩子叫车里来。男孩上了车,米乐给他拿来碗筷,叫他和儿子一起吃。小孩不见外,也确实饿了,拿起就吃。俩孩子还不太熟,各吃各的,米乐撮合两人认识,想让儿子在学校多交朋友,跟所有人打成一片才好。米乐问小孩叫什么,小孩报出名字,儿子说爸爸你不是知道他的名字吗?米乐赶紧接上话,说我问的是小名。男孩又说出小名,叫Sting。儿子笑了,说,你叫死拧吗?Sting说,英文,sting,不是死拧。米乐问这名字谁起的,Sting说我妈。米乐问你妈妈是做什么工作的,Sting说她是唱歌的,有乐队。米乐——知道美国有个著名摇滚歌手就叫Sting——问Sting,那你爸爸是做什么的?Sting说我爸工作忙,住在别的地方。米乐大概清楚为什么群里没有这孩子爸爸了。
雨点淅淅沥沥落下,打在房车顶棚上。昨天那辆吉普车这时候开到学校门口,墨镜妈妈下车找孩子,米乐打开防蚊虫拉门,孩子探出身子喊:“妈”。
墨镜女把吉普车开上马路牙子,停在房车旁。米乐跟她打招呼,说俩孩子一个班的,怕孩子等不到她着急,就把孩子带车上了。墨镜女摘下墨镜——一笑眼角已能看出鱼尾纹,脸上没有这个年龄女性过多人为干预的那种湿肿——赶忙致谢,见孩子已经吃上,更是不好意思。米乐说现成的粗茶淡饭,两人搭伙更有食欲。妈妈赶紧去吉普车里取来保温桶,摊开摆在桌上——米饭没有再往桌上放——让俩孩子一起吃。分体保温餐盘里分别盛着鸡蛋西红柿和牛肉炒芹菜,米乐能看出这是一位不擅厨艺或对吃没什么讲究的妈妈。Sting扫了一眼盘里说,我妈老做鸡蛋西红柿。妈说,你老点我才老做。米乐儿子率先㨤了一勺,说好吃。Sting说,没有你家的菜好吃。米乐儿子又㨤了一勺说,你家的才好吃。
米乐主动介绍了为什么会开着一辆房车出现在这里,以免Sting妈妈觉得奇怪,或认为他们一家子为孩子上个小学劳师动众。Sting妈听完说,都不容易,全为了孩子。米乐问她,昨天在吉普车后面吃饭的是Sting吧?Sting妈说,对。米乐问,你们住得远吗?Sting妈说,开车单程十五分钟,没必要把时间浪费在路上,现在天气也不冷,就让Sting先这么吃着,早点儿吃完还能回教室趴桌上睡会儿。米乐说,以后来我车上吃吧,反正我们天天在这,慢慢天也冷了。Sting妈说不用麻烦,米乐说不麻烦,俩孩子一起吃还能有个伴儿。Sting妈说那饭我做,我那用火比你在车上方便,米乐没有拒绝。
米乐也不好意思袖手旁观真让Sting妈做饭,所以第二天餐桌上特别丰富,已经摆不下了。Sting妈带来三菜一汤——不输学校的标准——米乐也备了两个菜,再来俩孩子都吃不完。米乐儿子和Sting吃完,两位父母给他们送进校门,然后两个大人回车打扫各自孩子的剩饭。Sting妈做的是牛排、蒜蓉粉丝蒸白菜还有盛了半只鸭子的老鸭汤,里面煮了萝卜,用心了。米乐吃着想,真要是这么客气下去,做饭也该内卷了。他夹了一块切好的牛排说,做这个挺费事儿吧?Sting妈说,用空气炸锅做的,肉放锅里,喷点儿油,扣好盖儿就行了。又说,其实自己不怎么会做饭,从网上现学的,以前都是姥姥姥爷给孩子做,现在上了学,儿子跟她住,她才把做饭一事纳入日常。Sting妈问米乐是做什么的,可以每天以这样的方式等儿子,挺带劲的。米乐说做设计,书、海报、产品logo、包装盒,都做,现在不能挑活儿了。Sting妈说,我是做乐队的,尤其生了孩子,有演出就去,也不挑活儿,说完笑了。
米乐问了乐队的名字,Sting妈说很小众,报出名字米乐果然没听过。Sting妈说做得不好,一直默默无闻,说完又自嘲地笑了。典型的北京女的。随着各自孩子的剩饭见了底儿,两人的闲聊也结束了,客气告别。
晚上爷爷又做了好几个菜,儿子没怎么吃,说中午吃顶了。爷爷很骄傲,说我做的饭有那么好吃吗?中午饭都是爷爷准备,米乐只负责最后一道工序,将八成熟变成彻底熟。孙子回答爷爷没那么好吃,是Sting妈做饭好吃,吃得下午上课直打嗝。米乐老婆听到,问米乐怎么吃起别人家的饭?米乐简单说了经过,还说,弄孩子都不容易,车上有地儿,互相方便一下。老婆立马说,她家的饭卫不卫生呀?米乐说,肯定卫生,人家自己孩子也吃。老婆又问,那孩子叫什么呀?开学不足一个月,家长和家长、家长对班里,尚都不熟。儿子说,叫Sting。老婆拿起手机,在群里翻这名字的家长,似乎要找到照片相相面,方决定能否继续搭伙。米乐知道老婆找不到,就让儿子告诉妈妈Sting的大名。儿子话音未落,妈妈就跟被点着了似的:“他妈呀!”
“他妈怎么了?”儿子不理解自己妈妈的反应。
“他妈做饭好吃!”米乐赶紧接过话,给老婆递眼色,示意打住,他知道老婆怎么想的。
话题被终止,事情在老婆那远没结束。就他俩的时候,老婆说不愿意让儿子跟那孩子接触,怕受影响。他妈群里质疑完老师,还去学校找校长给老师告状——所以班主任才会在班里向学生承认错误——这么怼老师,老师肯定对她孩子没好印象,老跟那孩子在一起,咱孩子也没好果子吃。米乐听到很多闻所未闻的信息,问找校长这事儿是哪儿听来的?老婆说,学校恁么一个小地方还能有不透风的墙?米乐觉得既然老师向孩子们承认了错误,说明这孩子的妈没做错。老婆说话不是这么说,对错单说,关键是做法太鲁。米乐对这事儿的理解不是“鲁”,是纯粹,Sting妈是搞摇滚的,直截了当,道出很多人的心声。这样的人理应受到呵护,现在却成了大伙“对面的人”——从老婆接下来的话里,米乐听出来,老婆和另几个妈妈似乎达成统一战线,认为Sting妈在拉着全班躺平,她们不接受自己的孩子这样,正商议对策力争让这个班的孩子跟上全国六岁半儿童的节奏。作为这个“不躺平”组织的人,米乐老婆认为不宜跟Sting妈走得太近。
米乐发现他和老婆想事情经常想不到一块儿去了。一个纯粹的人,哪怕不被尊重,至少不该被排挤,米乐是这么想的。他有点理解不了现在的世界,和现在的老婆,老婆后面的那些话,已让他听不进去。
直到老婆说了一句话,把米乐拉回到正在进行的对话中:“你要是不好意思谢客,就让儿子继续回学校吃饭,她也不可能还让她孩子去你车上吃吧?”
米乐没想到老婆能为此牺牲孩子的“食品安全”,更对老婆在“行动”上如此不彻底和是非观的错乱而扼腕。他觉得不能再佛系下去,该摆出态度了,说:“不怕儿子下回从学校的饭里吃出个灶马儿?”
“灶马儿是什么?”老婆小时候只知道书本和教室。
“以前北京的公共厕所里全是这玩意儿!”米乐说完,起身去叫儿子。该出发去学校门口睡觉了。
米乐打开一听啤酒,踏踏实实喝了一口,仰靠在房车的卡座里,一条腿搭到对面座椅上。这是他最舒服的姿势。其实不是姿势有多舒服,是爱一个人这么待着。
车外有蛐蛐叫,二环里都快没有老北京人了,竟然还有蛐蛐。儿子正在米乐身后的床上睡着觉,车里三张床,儿子想睡哪张看心情,米乐就睡儿子挑剩的那两张。到了这个岁数,米乐貌似对诸多事情已无所谓,其实很有原则,用内力控制着生活,以防沾染、滑离、坠落。
现在米乐调出Sting妈妈的歌,匹对上耳机,喝着酒听起来。刚才开来的路上,儿子睡前突然唱起歌,吐字不是很清,米乐听了一个大概,好像唱的是:1、2、3、4、5、6、7……do、re、mi、fa、sol、la、xi 什么的。米乐问儿子是音乐课教的吗,儿子说不是,跟Sting学的,他妈会写歌。现在儿子睡着了,米乐还记得Sting妈妈乐队的名字,在音乐平台搜到这个乐队。成员四人,Sting妈是主唱兼词曲创作,另外三位男性负责吉他贝斯鼓,有三千多粉丝——知名乐队的粉丝都好几十万——去过欧洲巡演,拿过两个独立音乐的奖,成立快十年了。米乐一算,组队的时候Sting还没出生,乐队到现在也没有出名,却还能搞下去,说明Sting妈靠这个能养活自己,也说明她是真喜欢干这个。
歌词多是英文的,曲调晦暗,伤惋迷蒙,适合晚上听,也和她头像挺搭。米乐以己度人,猜可能到了他这个年龄无论男女,都生活在迷离扑朔的日子里,因此从头到脚都跟通俗明朗无缘。听到一首像把人按进水里的歌,沉闷压抑,米乐不仅不觉得难听,还感觉情绪恰到好处。突然吉他亮音响起,像一只手伸进水里,把溺水的人拉了上来,世界豁然开朗。
听到这,米乐有些坐不住了,有种东西被唤醒。他来到车外,需要将这种东西释放,或在夜空下任它生长。随着乐曲的进行,鼓的韵律清晰起来,有种整装待发的感觉,米乐竟然跟着做起开合跳——平时他也常跳,心态和心率都不想过早衰老。
跳了不知道多少个,乐曲结束,米乐停下来,踱步深呼吸,平复心跳。往前走了十几步,又往回返,下一首歌已经开始。一转身,看到一个人推着自行车站在房车旁。米乐走近,看清是谁,吓一跳,Sting的妈妈。米乐摘掉耳机,说,是你呀,太黑没看清。Sting妈说,刚才喊了你两声,你戴着耳机没听见,听什么呢?米乐说,你们乐队的歌,说完停掉耳机,手机里果然传出她再熟悉不过的曲调。然后解释说,孩子睡前唱了你们的歌,Sting教的,我就正好找你们乐队的歌听听。
米乐意识到Sting妈这个时候出现在这里很意外,问她来这有事儿吗?Sting妈说她刚好排练结束,骑车回家,看到米乐在锻炼,就停下打个招呼。米乐说,你们的音乐挺耐听。Sting妈笑了。两人谁也不再说话,乐曲在夜色中放着,闪烁的路灯好像打在舞台的灯光。
Sting妈突然说,过几天国庆长假,乐队会在河北某城参加音乐节,邀请米乐带孩子来玩,她也带Sting去,音乐节在湿地公园,可以野营。米乐应诺。
6
老婆说不用订她的票,不想跟Sting家走太近,以免日后麻烦。但孩子想去,米乐就开着房车带儿子去了。
Sting跟着妈妈前一天就到了办音乐节的城市,组织者怕国庆假期路上拥堵,提早把参演的乐队接来。大型音乐节都不让露营,也不让带水进场,这个音乐节规模小,乐队名气都不大,为了吸引更多人来看,取消了这些限制。演出当天,组委会在每支乐队的休息处都搭起天幕,架好折叠桌椅,摆上吃的,场面工作做足,让乐手们发朋友圈,宣传音乐节,吸引更多乐队日后来演出。
米乐带儿子是演出当天下午赶到的,找到Sting妈妈所发照片上的紫色天幕。一路上,看到乐迷们五颜六色的头发、千姿百态的衣服,儿子跟米乐说,这些人“泰裤辣”——这是他上学后学到的一个流行词。米乐说,你长大了也可以这样。
儿子和Sting会师,还有一些乐队的亲友也带来孩子,小朋友们在草地上玩起“木头人”。大人们似乎刚吃完饭,桌面上摆着组委会派发的盒饭,已经吃空,还没收拾。Sting妈介绍了米乐和大家认识,吉他手递来一听啤酒,米乐打开,跟手里有酒的人都碰了一下。
天气已经不热,有人把椅子搬到天幕外面,找阳光晒。米乐用啤酒和在场的人打完招呼,也搬椅子找了片阳光,从这里能望到舞台,离演出还有一会儿。
大人们窝在沙滩椅里,说着无关紧要的话;孩子们在不远处玩耍,对游戏中的犯规者明察秋毫。如果几日后这些人不需要上班上学,生活简直无可挑剔。
一阵不小的风刮过,吹翻桌上的空餐盒,盒盖儿被卷走。Sting妈起身去捡,没等弯腰,塑料盖儿又被刮走几米,吹到孩子们脚下。一个男孩看Sting妈奔盒盖儿而来,他俯身去捡,刚伸手,盖儿又往前窜了窜。于是孩子们争前恐后去捡那盖儿,风似乎有意和他们做游戏,又卷起盖儿向前。孩子们的兴致更高涨了,像一群蜜蜂追讨敌人而去。终于,一个大点儿的孩子捡到了——或者说抢到了。Sting妈撑着营地的黑色大塑料垃圾袋来接,拿着盖儿的孩子扣篮一样将斩获物投入袋中,洋洋得意,仿佛球场上的MVP,其他孩子有些沮丧,吵着要再玩一次。Sting妈说,那咱们一起去捡垃圾,把地球上的垃圾都捡干净。
当儿子告诉米乐他要去捡垃圾的时候,米乐一开始没听懂,但儿子已经跑走,去追大部队。米乐就拿着那听啤酒,在后面跟着,看到Sting妈拖着大号黑色塑料袋,像个丐帮帮主,指挥着五六个孩子,把出现在草地上的垃圾一一捡起,汇总到她的袋子里。
这也太摇滚了吧?还是哗众取宠?米乐拿不准,保持着距离,跟在后面。
孩子们为了收获更多战利品,开始创造垃圾。儿子跑来,管米乐要啤酒罐,米乐一口喝完,孩子喜悦地拿过罐子去上缴。有孩子走到露营人面前,问吃了一半的食物要不要扔掉,被问者微笑着摇摇头。好在只带了一个黑色袋子,很快就装满了。Sting妈把袋子放到垃圾回收处,带孩子们去浇花的水龙头下洗手,然后回到营地。
组委会的工作者正举着小摄像机采访乐队其他成员,见主唱回来了,镜头冲向Sting妈。采访者是个小姑娘,问,刚才听乐手说,乐队解散过几年,前年又重组,都出于怎样的考虑?Sting妈反问,他们——看向三位男乐手——怎么说的?采访的小姑娘说,他们说听您召唤,他们就回来了。Sting妈笑了,说你听他们瞎掰呢,当年解散也不是我召唤的,还是散了。小姑娘追问,那您说是为什么呀?Sting妈说,当年觉得干这个没希望,挣不到什么钱,只能解散,后来该结婚的结婚,该生娃的有了娃,班也上了,折腾一圈发现还是干这个好,不用看人眼色,自己喜欢什么样的音乐就做什么,不用讨好任何人。现在靠乐队能养家吗,小姑娘又问。乐队的人听到这个问题都笑了,Sting妈说,那就看过什么日子了。小姑娘最后举着话筒问道,说来说去还是因为发自内心喜欢音乐喽?对,Sting妈说,离不开。
这时候几十米外的舞台上传来一声吉他的失真,演出即将开始。观众席已聚集了千把人,前排的乐迷舞动着几杆大旗,乐队主唱说着感谢音乐节和乐迷的话来暖场,鼓手在恰当时机搞了段solo,气氛被点燃。采访团队去拍摄演出现场。Sting妈乐队的乐手们拿出乐器,开始热身——具体就是热手热嘴——Sting妈咿呀嘿吼地开着嗓子,他们第四个出场。
随后Sting妈和吉他手合到一起,一个演奏一个唱。第二支乐队开始上场,舞台上没了动静,米乐能听到Sting妈唱的就是那天晚上儿子在房车里唱的歌:1、2、3、4、5、6、7……do、re、mi、fa、sol、la、xi。Sting和儿子跑过去,跟着他妈一起唱起来。唱着唱着,Sting妈灵机一动,添了两句词。新词在两个孩子的演唱下,出现一种美妙的效果,米乐听到也为之一动。旋律朗朗上口,另外几个孩子也加入进来,Sting妈闭了嘴,现场成了童声合唱团。
这时候来了组委会的人,让乐队去候场。Sting妈征求乐手们意见:要不然让孩子们也上场?鼓手说,靠谱!Sting妈让孩子们去征求各自家长意见。儿子跑来问米乐,米乐说,只要你愿意,当然行。
乐队的四个大人先上了场,第一首歌是展示乐队风格的英文歌。第二首歌换成中文的,唱至一半,Sting妈冲后台一招手,孩子们上场了。她领唱了几句,随后就将麦克风冲向孩子们。乐队降低了器乐演奏成分,只留下贝斯铺着节奏,孩子们的声音被突出,唱出:“1、2、3、4、5、6、7,不是你在班里考第几,1、2、3、4、5、6、7,它们是do、re、mi、fa、sol、la、xi……”听出米乐一身鸡皮疙瘩。在这种声音下,空气也仿佛被净化,观众发出和之前不一样的欢呼声。
Sting妈举着手机,站在Sting身旁,拍摄着这一幕。米乐也从台后呼哧带喘跑到观众区,挤不进去,就在最后一排,正面拍摄这个场面。
孩子们反复唱着那句歌词,乐迷们也跟着唱起来。乐队索性停止任何演奏,成了孩子的清唱,现场数千人挥舞着手,跟着孩子们一起唱。
这时候,米乐的手机响了一声,是微信,他没理会,继续拍摄。
随后不到一分钟,老婆电话进来,米乐没接,拍摄没停。响了十多声后断了,马上又打过来。孩子已唱完,鞠躬谢幕离场,米乐接了电话。
“你疯了吧!”老婆开口喷火。
“怎么了?”米乐以为家里出了什么事儿。
“你看看群里!赶紧给我把孩子拽下来!”老婆的声音盖过现场巨型音箱发出的声音,直撞耳膜。
米乐在房车里连住十天了,平时他只是晚上陪孩子睡在学校门口,周末和孩子还是会躺到家中的床上,现在他已经第十一天睡在车里了。那天他在儿子班级群里看到Sting妈妈发的视频,是她从台上拍的孩子们唱歌,只拍了Sting和其他孩子,有意避开米乐儿子。老师也在这个群里,显然,她想让老师和部分家长看到这一幕。米乐老婆看完后有种直觉:自己儿子也在台上。于是炸了。加上视频确实不小心扫到另一个孩子的胸口以下,露出有限的衣服,这让米乐老婆确认了那就是自己的儿子,于是被引爆了,给米乐打去电话。
米乐那天也被点着了。孩子们的童声如天籁,直钻心窝,辅以歌词,听得他热泪盈眶。加上现场数千人的合唱,让米乐觉得“这样才是对的”,然而老婆的电话在这个时候不合时宜地来了。不知道触碰到米乐的哪根神经,或者说击穿了他,窝在缝儿里的那个更真切的米乐钻了出来,选择拒绝错误的声音——比如老婆说出的那些话——让正确的事情变得更对,于是就把自己从正面拍的那条视频也发到了老师所在的班级群。视屏中,儿子和Sting与另几个孩子,坦荡地站在台上,唱着“1、2、3、4、5、6、7,不是你在班里考第几……它们是do、re、mi、fa、sol、la、xi……”台下上千双手跟着他俩的节奏挥舞。
然后米乐的电话和微信就被老婆打爆了,让他赶紧撤回视频。米乐没有撤,手机那头儿的老婆表现出比台下乐迷更疯狂的激情。
接下来,米乐就没再回家睡过觉。如果没有孩子,他会开着这辆车,去到一个什么地方,过上那么一段时间。但现在他做不到,因为孩子,他还要接送。他能做的,就是在车里先凑合一段时间;也幸好有了这辆车,让他在这样一种时刻里,能有个地方一个人待着,可以把前前后后的事情好好想一想了。
作者简介
孙睿,作家、编剧、导演,北京电影学院导演系硕士毕业,写小说为主,也写剧本。已在本刊发表中篇小说《斗地主》、《发明家》,获2019年《北京文学》优秀中篇作品、2022年《北京文学·中篇小说选刊》优秀中篇选载作品。
责任编辑 张颐雯
特约编辑 蓦 凡
Identify and analyze the central ideas, messages, or insights the author seems to be conveying through the story.
Consider how these themes are developed and their significance.
', error: Error code: 429 - {'error': {'message': 'You exceeded your current quota, please check your plan and billing details. For more information on this error, read the docs: https://platform.openai.com/docs/guides/error-codes/api-errors.', 'type': 'insufficient_quota', 'param': None, 'code': 'insufficient_quota'}}
2024-06-14 15:27:39 - httpx - INFO - HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 429 Too Many Requests"
2024-06-14 15:27:39 - AnalysisRunner - ERROR - Error running analysis 'Themes' using GPT4Model. Error type: RateLimitError. Error message: Error code: 429 - {'error': {'message': 'You exceeded your current quota, please check your plan and billing details. For more information on this error, read the docs: https://platform.openai.com/docs/guides/error-codes/api-errors.', 'type': 'insufficient_quota', 'param': None, 'code': 'insufficient_quota'}}
Traceback (most recent call last):
File "/Users/apple/editor-app-v10/analysis_runner.py", line 47, in run_analysis
result = model.invoke(prompt)
^^^^^^^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/language_models.py", line 78, in invoke
response = self.model.invoke([prompt])
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/langchain_core/language_models/chat_models.py", line 170, in invoke
self.generate_prompt(
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/langchain_core/language_models/chat_models.py", line 599, in generate_prompt
return self.generate(prompt_messages, stop=stop, callbacks=callbacks, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/langchain_core/language_models/chat_models.py", line 456, in generate
raise e
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/langchain_core/language_models/chat_models.py", line 446, in generate
self._generate_with_cache(
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/langchain_core/language_models/chat_models.py", line 671, in _generate_with_cache
result = self._generate(
^^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/langchain_openai/chat_models/base.py", line 537, in _generate
response = self.client.create(messages=message_dicts, **params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/openai/_utils/_utils.py", line 277, in wrapper
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/openai/resources/chat/completions.py", line 606, in create
return self._post(
^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/openai/_base_client.py", line 1240, in post
return cast(ResponseT, self.request(cast_to, opts, stream=stream, stream_cls=stream_cls))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/openai/_base_client.py", line 921, in request
return self._request(
^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/openai/_base_client.py", line 1005, in _request
return self._retry_request(
^^^^^^^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/openai/_base_client.py", line 1053, in _retry_request
return self._request(
^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/openai/_base_client.py", line 1005, in _request
return self._retry_request(
^^^^^^^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/openai/_base_client.py", line 1053, in _retry_request
return self._request(
^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/openai/_base_client.py", line 1020, in _request
raise self._make_status_error_from_response(err.response) from None
openai.RateLimitError: Error code: 429 - {'error': {'message': 'You exceeded your current quota, please check your plan and billing details. For more information on this error, read the docs: https://platform.openai.com/docs/guides/error-codes/api-errors.', 'type': 'insufficient_quota', 'param': None, 'code': 'insufficient_quota'}}
2024-06-14 15:27:39 - LanguageModels - ERROR - Failed to invoke GPT-4 with prompt: '
Analyze the characters in this text (output in Simplified Chinese):
四轮学区房
孙 睿
1
刚开始没想到是吃麻辣烫的,太饿了,从外面看着像能吃饭的地方,米乐和老婆便推门往里走。一进来,就想打喷嚏,呛得,又打不出来。空气中,一个个香辣分子在翻滚。老婆一屁股坐到桌前,顾不得味道粘在衣服上将久久不散,扒拉着挑选。坐下后米乐意识到,他俩好久没有面对面坐下、像谈恋爱时候那样吃顿饭了。
店开在胡同口,狭长的桌子,其实也不长,多说四五米;当中间儿掏空,怼进去一溜长方形钢筋锅,彼此靠钢板隔开,做成两排,煮着穿好的串儿,荤素都有,五花八门,竹签冲外,伸手即取。这种店傍晚前做旁边学校中学生和逛胡同游客的生意,现在已经晚上九点多,除了看店伙计在墙角刷手机,店里没别人,是另一种缘分让米乐和他媳妇坐到了这里。
两人各守一锅,小火轻煮,空调吹出冷气,汽化的风肉眼可见。老婆一言不发地吃着,面前摆着撸下的签子,长短不一。长签三块一串,短签两块——米乐发觉自己扫一眼桌面大概就能乘出吃了多少钱的能力退化了。两人都太累了,下午来这边看房,东跑西颠,看了六套,快看吐了。
九月份孩子就要上小学了,还有一个多月。目前孩子跟着他俩住回龙观,幼儿园也是这边上的,家楼下。老婆觉得,幼儿园哪儿上无所谓,就当上着玩,小学不能再凑合,必须去城里。回龙观属于昌平,挨着朝阳和海淀,算不上远郊,但比起二环里的东城西城,叫城外也不为过,这边都快到六环了。什么时代的人都想当“城里人”,过腻城里日子往城外搬的那种另说,家长更是希望自己的娃能做个“城里孩子”,恰好米乐老婆和孩子的户口在城里,进城上学成了这个家庭的不二之选。
当然米乐也有别的想法,他不认为孩子去城里上学就高枕无忧。他敢这么认为是有充分依据的,他的小学到高中都是在西城区上的,也不是班里所有人都考上大学了,甚至有后来进了工读学校的,前途如何,更靠孩子自己。同样他也不觉得留在昌平上学就输在了起跑线,他的大学同学里,有一个就是昌平考上来的,学号一号,因为入校分数最高,后来年年奖学金,还保了研。但米乐不愿跟老婆掰持这些,他的不做主性格,让老婆成了当家的人。
说起来,其实他老婆连原汁原味的北京人都算不上,米乐才是北京的“城里人”。小时候在西城长大,家住西四胡同,后来那片拆了,父母在回龙观买了房,米乐跟着搬了家。户口随房子走,迁到了昌平,化身“城外人”。而他老婆,大学毕业留了京,幸运地进了给解决户口的单位,单位在东城,于是不仅成为新北京人,还拥有了令很多城外北京人羡慕的东城区户口,只不过是集体户。后来两人认识,结了婚,也在回龙观买了房——为了离米乐父母近更因为这里的房价还能接受——老婆仍把户口留在单位。一开始米乐以为老婆嫌麻烦,懒得挪,直到几年后生了娃,给孩子上户口的时候,才弄明白老婆的良苦用心:孩子户口不在昌平上,上东城的,跟她一起,落集体户,将来是东城学籍,可以上东城的学校。大家普遍认为北京的好学校都在东西城和海淀,所以这三个区的学籍格外珍贵,没有的心向往之,想辙往里钻,有学籍的则沾沾自喜不形于色。还有个插曲,备孕期间,老婆让米乐把他名下那套回龙观的房子卖掉,她研究过政策,必须父母双方都没有北京房产,孩子才能落集体户。就这么着,米乐把自己名下的那套房子卖了,租了两年房子,等到孩子在集体户里有了自己的户口页,才和老婆又在他父母的那个小区买了套二手房。那时候房价每年都在涨,为了孩子的户口,搭进去两人多年的积蓄,只因为老婆认为当个“城里人”洋气。
老婆七年前布好局,事态按预期发展着,上礼拜小学录取通知书下来了。儿子成了一名北京东城区的小学生,不出意外,将在东城接受九年义务教育。从回龙观到这所小学,二十公里出头,还有一段高速。不走高速的话,有三十三个红绿灯,早晚高峰开车少说要一个半小时,再遇上一起交通事故,时间就没谱了——若事故双方都是送孩子的家长,也是有麻利儿解决的可能。走高速倒是能避开些红绿灯,但进出高速口的时间不稳定,赶上没装ETC的车或手机忘带了无法扫码付费身上也无现金的车主,这条车道何时能通车就看他什么时候能变出过路费了……这些特殊情况暂且放置一旁,按八点到校计算,逆推,六点二十必须出家门了,刨去洗漱吃饭时间,不到六点就得起床,大人还要伺候孩子穿衣吃饭,只能起得更早。于是问题来了:住昌平的儿童和家长,每日该如何不这般辛劳地去东城上学?
老婆曾试想,卖了回龙观的房,在学校旁边买一套,然后把自己和孩子的户口从集体户里迁出来,落户东城,一劳永逸;米乐乐意的话,户口也能从父母的本儿上挪过来,四十岁了,早该独立出来了。想法很美好,现实被低估。同样新旧的房子,东城一平米的单价差不多是昌平的三倍。现在米乐一家三口住的是一百二十平米的小三居,换成东城同档次的房子,包括税费里里外外都算上,要添八百万。知难而退,老婆降低预期,不行就住老破小,窄点儿也认了,孩子的教育胜于一切。看了两套不到八十平的两居,一算差价,仍要添三百万。钱是一方面,关键是卖了自己住得顺心又舒服的房子,在陌生的地方买个不那么如意的房子,是不是风险有些大?没有哪个普通家庭能在买房卖房上像打麻将出牌那般随意,即便是在北京,也尤其是在北京。
加之房产市场突然低迷,房价走向扑朔迷离,成交周期变长,房子也不是说卖就能卖成的,肯花钱倒是容易买到,但很可能刚买到手就贬值。如此一来,换房的想法只能搁置。保险一些的做法是把自家房租出去,在学校旁边租套房。今天看的这些出租房,有中介联系的,也有老婆在闲鱼找到业主直租的。看房用眼睛看,身体和情感不免也会参与其中,幻想未来至少六年带着孩子生活在这里:三具肉身的安放是否恰当合理(卧室舒不舒服),三张嘴能否被满足(厨房能不能唤发烹饪食物的热情),三个灵魂栖居于此可否相安无事(几年后将迎来儿子的叛逆期)……六套看下来,身心俱疲。
小店墙上的货柜摆着各种饮料,老婆偏偏拿了一瓶红牛,拉开就喝。以前她从不碰这玩意儿,认为所谓的提神就是杀鸡取卵,把体内残存的能量榨取出来。那么,现在她是要把仅剩的一丝力气逼出来,然后还要干点儿什么吗?米乐猜不出老婆接下来还想干什么——再看一套房?或是仅仅为了有力气回家?还是不甘回家后就这样一无所获地睡去,夜深人静的时候仍要展开人生思考?
眼前的事实,让米乐确信了一件事情,这是近八年里他和老婆第一次吃麻辣烫。以前她特好这口,自打有了孩子,两人吃东西就不怎么考虑自己了,只吃适合孩子吃的东西,孩子现在六岁半,加上备孕和怀孕的时间,八年里两人渐渐没了“自己”。
此刻老婆两眼直愣愣地盯着锅里,嘴里机械地嚼着,一手握着红牛,一手搓捻着空签子,显然脑子里琢磨着什么。这神态让米乐陌生。老婆从小聪慧灵敏,在学习、考试、就业、升职的道路上,向来无须大动干戈便攻城拔寨,不说硕果累累,至少是一帆风顺。如今被卡住了,不是主观世界被难住的卡,是那种物质世界的卡——老婆想的可能是:自己的家庭为什么突然卡在底层中产向高阶中产进军的路上?
在不添钱的情况下,回龙观的房租只能在东城区租个六十平米的老破小。客厅小得转不过身,家里那台七十五寸电视搬过来都放不下——米乐和老婆都喜欢周末在家看个电影。为了让电视有地儿放,也得租个面积大的房子,那就只能添钱。添多少合适?无限制地添,好房子有的是,再大的电视也能搁进去,但这不是米乐家能过的日子。老婆虽说事业顺利,挣得也有限,在出版社上班,不是什么大社,做出爆款书的机率渺茫,年薪远没到过日子可以不算计。米乐至今自由职业,做平面设计,收入取决于活儿多活儿少,曾经红火过,这两年客户相继流失,不知道好好的一家公司怎么就做不下去了。米乐的活儿也随之减少,世界越来越新,他越来越老,在发展新客户上缺乏手段,已由只喝单一麦芽改为调和威士忌也觉得还不错了。
老婆定了一个标准:保证生活品质的情况下,房租尽可能地少添。尽可能地少,也有一个范围,所以连看了六套。连将将满意的都没有,首先就是感觉小。房子住惯了宽敞的,再换紧凑的就难了。米乐老婆以前没觉得三口人住五十多平有多挤,甚至还觉得敞亮,她自己家当初就是一套五十多平的房子,她还有一个自己的房间,让很多同学羡慕,但那是二十多年前。现在她和米乐看了一套九十平的两居都觉得窄,就这还要每月添四千多,若想租一套和回龙观的家一样面积的房子,少说要补八千块,超标了。也正应了那句话:一分钱一分货。越活越觉得这话的准,世界就是这么构成的。
六套里有一处平房令米乐夫妇印象深刻,房本面积三十多,号称能住五口人,两间十余平的房子打通了,加了挑高,做成复式,下面的三十多平隔出客厅、厨房和卫生间,客厅只留一条过道能站直身子,其余空间留给楼上复式,从沙发上起身都得猫腰。房主说,人多数时候在客厅里是坐着的,这么设计是合理利用顶部空间。楼上的复式部分,拆分成两间半,老两口一间,中年夫妇一间,半间留给上中学的孙子住。现在孙子考上大学,可以住校了,一家人没有必要挤在这里,准备往城外搬。看房的时候,米乐老婆盘算如果是自己家搬过来,先不说人能不能耍得开,就是家具都摆不下。这家的柜子有个特点,都直通房顶,极尽盛放之能事。经过楼梯的时候,米乐老婆不知道自己碰了哪里,一扇木板弹出来。原来这片看似楼梯支撑物的木板也是柜门,楼梯下面的空间从高到低依次被用作大衣柜、短衣柜、袜子柜和杂物柜,房间里见不得一立方厘米的浪费。连柜门上都没有把手儿,门是磁吸的,按下去则弹开,再按就吸上,刚才就是米乐老婆不小心顶到柜门。房主人笑着介绍说,面儿上什么都不露,省地儿。笑中透着说不上是得意还是无奈。这一刻,米乐老婆体会到住城外的好了。
但米乐知道,对老婆来说,东城学籍是更好的东西。现在终于等来这一刻——媳妇累了、也烦了的时刻——他可以把存在心中许久的那个想法说出来了。
“倒是还有个方案……”米乐不知为何话一出口感到一阵心虚。
“什么方案?”老婆翻起不抱希望的眼睛。
“弄辆房车。”
“现在卡在房子上,怎么还想着弄什么车!”老婆似乎觉得米乐把握不住重点,随后马上意识到房车是可以住人的,转而说,“弄了以后呢?”
2
大学毕业离校那天,米乐想,以后可他妈不用考试了。这么一想,步伐都轻盈了。现在四十岁,竟遭遇了哈姆雷特的困境:孩子的小学到底是去东城上,还是留在昌平?这道题没有补考,选错了就……就怎样并不知道,也没有人能告诉他。
做这同一道题,米乐和老婆的解题思路不一样。不同于老婆在跨城中寻求解决方案,米乐是先有方案,然后为这个方案在现实生活中找到有力支撑。方案就是他跟老婆所说的“弄辆房车”,直觉告诉他可以这样做。
米乐现在和父母住同一个小区,隔着几栋楼,相互都有个照应。幼儿园接送孩子,当米乐和老婆顾不上的时候,他父母可以代劳。老两口把孩子接回来,还能给孩子弄口饭,米乐他俩几点回家都无所谓了,孩子睡爷爷奶奶那也行,第二天老两口再给送去幼儿园。父母眼瞅着奔七十了,今天不是这个头晕,就是那个明天胸闷,米乐也能照顾到,去医院检查他开车接送方便。所以他不想打破现状,觉得孩子小学在家附近上也没什么,父母依然可以帮着接送。但老婆的底线是,别的怎么都行,学必须去东城上——尽当爹妈的最大努力成全孩子。因为她就是这么长大的,然后从一个四线城市考到北京,当初她妈不输孟母,为了她上学,也曾三迁。
让孩子住学校旁边,已是大势所趋,在这个“规定动作”下,米乐便想到了房车。他一直就想弄辆房车,可以开到哪儿玩到哪儿,需要工作了——他的工作有台笔记本电脑就能完成——车里就能干。有卡座和桌子,不比咖啡厅差,窗外还有风景。可以说,是孩子上学的新问题,正好撞上他的旧心愿。
然后今天看完房子,也可以说在看房过程中,甚至说在第一套老破小看到一半的时候,“时机到了”的想法就开始在米乐脑子里闪现。他想,与其在“砖窝”里睡觉,还不如在“铁桶”里睡,反正都是个小。不就是为了离学校近吗,把房车停学校门口,没有比这更近的睡觉的地方了。相当于给小平房装上轱辘。每天放学先开着房车接孩子回家,小学特别是低年级,三点多就放,这时候路上不堵,四十多分钟就能到家。在家写完作业吃完饭,玩够了,该睡觉的时候,就让孩子往房车上一躺,米乐把车开到学校门口——晚上不堵车,四十分钟用不了就能开到。孩子瓷瓷实实睡一晚上,米乐早起给孩子做饭,车上有电磁炉和冰箱,孩子妈愿意陪睡陪吃也行,车里三张床,足够睡下,比那复式平房的卧室更让人有想躺在枕头上的愿望。
如果是搬来东城,米乐不忍心只搬自己的小家,而把父母留在回龙观。这样一来,不仅开销翻倍,父母也得挤老破小。现在老两口住着百十平的两居室,在一层,不用爬楼,关键是窗前还有个小院子。院子算公共面积里的,因为搬来得早,那时候物业管得不严,老爷子在落地窗前开了个门,直通小院,方便打理草木,省了物业的事儿,这地界儿慢慢也就算自己的了。进入四月,院里的那株树仿佛懂得感恩,不用催就按时开花,白中泛粉,围住树冠密密一团,阳光下尽情盛放。引来蜜蜂,路人也在树前拍照,老爷子坐在窗前泡茶,得意地看着外面。打开窗,风吹过,花瓣会飘进窗里——三四月还不必关窗纱。米乐爸会特意让花瓣就那么散落在窗前的茶几和藤椅背儿上,放那么几天,等花瓣蔫瘪了再扫走。花期一个月,落光后小绿果就冒出来,一周后能看出是杏。到了五月中,杏的个头儿大了,坠弯枝条,有人摘着吃。米乐爸爸看到会拦下,让他们捡掉在地上的吃,这种杏熟透了,不酸。自打搬进这套房子,米乐家就没在吃杏上花过钱。等杏的热乎气儿过了,轮到杏树旁的那些灌木展示,开出一大朵一大朵的花,红彤彤不免艳俗,绽放的热情仍让人忍不住问问这是什么花,很多时候米乐爸故意站在院子里,等着回答:月季。真要搬了家,在北京二环里找到一处窗前有杏树的房子就难了。这是米乐给“弄辆房车”找到的理论支持。
但老婆听完米乐的计划后,第一反应就是不靠谱,这也是她的直觉。完全在米乐预料中,她这些年越来越保守。米乐当然也理解,这种保守从某个角度说,是母爱所致,本质出于对孩子安全的考虑。但米乐这么做——如果房车计划能成行——也不是说就没有父爱了。恰恰这是米乐要传递的父爱,不要被生活中那些貌似坚固的东西困死,如果甘于受困,那些东西会越来越坚固。老婆的保守从另一个角度看,跟对房车的不了解也有关系。
米乐从技术角度给老婆普及了房车知识,告诉她里面床的尺寸,如何取暖、洗澡、做饭,以及一些先行者已经在房车里过上怎样的日子。说着打开手机,调出几条短视频,让老婆看人家怎么在车上过日子,有游荡在城市中的,也有开到荒郊野地一住就是个把月的。
老婆敏锐觉察到蹊跷:“你不是为了孩子上学,你准备了半天,是你想弄辆房车玩吧?”
米乐承认他是爱看那几个房车播主的视频,正是因为平时关注着,关键时候就用上了:“人家成年累月在车里生活,咱们就是让孩子睡个觉、吃个饭,比换房简单多了,风险也小。”
老婆随之问了几个她关心的问题,包括车得多少钱、车牌好不好上,冬天睡觉怎么办,以及米乐能确保每天晚上和早上都像他说的那样守着房车吗?米乐张口就答,新房车从十几万到上百万的都有,开了两三年的二手房车是新车的六到七折,他觉得买辆二手的就行,甲醛味儿散干净了,孩子睡在里面踏实。车牌可以用家里这辆车的,把现在这辆ix35卖掉,开八年了,孩子都长大了,没有上学这事儿,也该换辆大点儿的车。冬天则还在家里睡,可以提早一个小时出门,让孩子在车上洗漱吃早饭,早高峰之前赶到学校。最后米乐保证道:“既然我提出这个方案,我肯定不会缺席。”
“万一呢,万一你有事儿,或者出差不在北京?”老婆像一位象棋大师,考虑的不光是眼前这步,还有很多步。
“你也可以开,练练就行,C本以上都能开。”米乐不是留后手,是鼓励老婆,他觉得这是一次机会——把老婆从盲目内卷的势头里拽出来。让她除了惦记“孩子不能输在起跑线上”,心里也装些别的事情进去,比如想想能开着房车去哪儿过个周末。
他早就对老婆的一些做法不认同了。孩子刚进入幼儿园小班,就被老婆送去轮滑和识字班,因为别的孩子都报了,不是报这个班就是报那个班,于是他们的孩子也不能在家傻玩了,搞得大人孩子都没了周末。和老婆相比,米乐比较佛系,他觉得怎么都行,他就是这么一路长大的——走一步说一步,没有肝脑涂地为一个明确目标过度燃烧自己。大学毕业后他一直自由职业,说不清是性格导致就业,还是就业方式塑造性格。总之就这么过来了,从毕业第一年能养活自己,到后来买了房、结了婚,老能接些活儿,也就没想过找个稳定工作。他和老婆就是接活儿认识的,那时候她刚毕业做实习编辑,需要找封面设计,没资源,就在网站上转,看到米乐的设计稿,给他留言。当时米乐已经做了三四年自由设计师,接了她的活儿。一来二去,见了面,谈起恋爱,常一起吃着麻辣烫聊图稿的完善方案,后来确立了关系。从一开始她就是甲方,所以最终意见都是她拿,慢慢地,这种模式渗透到生活中:蜜月旅行去哪儿、空调买几级能耗的、晚上吃什么……要孩子的事情上也是如此,老婆张罗,米乐配合。以及后来的卖房、给孩子落户,总设计师都是老婆。但设计来设计去,米乐愈发觉得她现在有点儿像参加场地自行车赛的运动员,进了赛道,不管不顾,一圈圈猛蹬,从场外看,仿佛用显微镜看一个不会停下来的电子,也像驴拉磨。
“我不开,那么大一玩意儿,摆弄不了。”老婆依然沉浸在低头猛蹬中,“万一撞了,耽误孩子上学——你这么说了,你就得保证接送。”
“我保证!”
老婆看着米乐,似乎不太相信。
米乐颇为正式地说:“咱们不能再一条道走到黑了,一直卷下去,没出路,越活越累。”
“你想说什么?”老婆没听出这话跟保证每天接送孩子有什么关系。
“有辆房车能让神经放松一下。”米乐又取了一瓶啤酒,打开给老婆倒了一杯,“学会让自己放松,享受一下生活。”
“一点儿不享受,开房车只能让我更紧张。”老婆的红牛已经喝完,似乎有了力气,没拒绝啤酒,端起喝了一口,回归主题,“先说你怎么保证接送孩子。”
人是需要阳光、空气和大自然的。如果有了房车,送完孩子可以把车开到一个自己愿意待下去的地方——估摸是五环外某处不那么现代的地方——泡杯茶或咖啡,在车里开始工作。每天接送孩子对米乐不是忍辱负重,是激动人心的新生活开始了,无需保证。他如此告诉老婆。
老婆考虑的已不止是好几步,是十好几步,问以后上中学怎么办,还睡车里?米乐说那是六年后的事情,现在的人连六天以后的事情都无法把握,用不着想那么远,没准三年后教育政策就变了,这几年生育政策已经发生重大变化,而且六年后房价指不定什么情况,摸着石头过河吧……老婆又有担忧,说要都这样,一家一辆房车上学,学校门口停得下吗?这种考虑米乐不是没想过,他现在自信地告诉老婆:想想咱们家得下多大的决心,才能用房车当学区房,而且我又不用上班,有时间这么干,别的家长里有这条件的少吧——真要是不得不参与竞争,得扬长避短,不是一起同频内卷。
两人很久没有这么聊过了,也或许是难得吃了一顿只有两个人的饭——还是年轻时最热爱、现今久违的食物——近半年压在老婆心头的烦闷消散了许多。她又起身拿了一瓶啤酒。
米乐也聊得浑身清爽,觉得老婆似乎已被说动,同时不忘肯定老婆:“不是每个住得远的孩子都有一个能让他们拥有城里户口的妈,放心吧,学校门口不会遍地是房车的。”
后来两人打车回的家。原因有二:累得不想多走一步;现在九点半了,正好可以考察一下这个时段从回龙观到这里的路还堵不堵。以后这个时间,就是儿子躺在房车里,从家出发的时间。
北二环路边的写字楼依然灯火通明,还能看到有人在窗口里移动。夜色下,这些楼体黑黢黢的,仿佛泥潭被竖立起来,还隔出一个个格子,像鸡蛋盒装鸡蛋一样,装下一个个人。坐在出租车的后排,米乐揽住老婆的肩,老婆顺势将头靠在他的肩上。两人很久没有这样过了。
脸颊感受着老婆的发丝,米乐觉得今天自己又进行了一场提案——关于房车的提案。他依然记得,十几年前,给老婆——那时候连女朋友还不是——的封面设计稿第三次提案成功后,两人一起吃了顿饭,饭后也是这样给老婆送回家的。
3
在正式“弄辆房车”前,米乐先租了一辆,拉着老婆孩子出去玩了一趟。这是老婆的主意,她需要获得足够的安全感,才认可这个方案——如果这趟出行令她不满意,米乐想,难道她还有别的备选方案而不是完善房车方案的不足之处吗——她做事习惯手拿把掐。
米乐照着日后想买的那种车型租了一辆:驾驶室头顶有一张床,车尾放置着一套上下铺,下铺一米三宽,上铺八十,卡座和茶桌那里放平也可以变成一张儿童床,俩大人一个孩子睡这车上绰绰有余。大人睡觉挑床,孩子不挑,进了房车,来不及脱鞋,就挨个床上打滚,还问:“以后可以永远不回家睡觉了吧?”
房车加柴油,自重也大,提速有顿挫感。米乐开了几公里后意识到这个问题,便不像开自己家车那样狠踩油门了,缓缓给油后平稳了许多,及时遮掩了这个可能会被老婆挑出来的瑕疵——车开在路上忽悠忽悠的,孩子能睡安稳吗,米乐想象得到老婆可能会这样说。
因为是体验车为主,米乐没有把车开到太远的地方,游山玩水不是此趟出行的主要目的。三口人在六环外的河边停下车,米乐支上车侧身的阳光棚,架好折叠椅和户外餐桌,摆出水和吃的,弄成室外小客厅。先给老婆营造出舒适惬意的感觉,是第一步。
房车不远处就是贯穿京津的一条河道,有人在河边钓鱼,河对岸停了几辆私家车——都是天津的牌照,看样子过了河就属于天津——大人孩子正在烤炉边生火,青烟冒出来,引得孩子们一阵欢呼。米乐也不甘示弱,拉出房车的燃气灶,拧开自带的油瓶,取出洗切好的半成菜品,准备给儿子和老婆——两人此刻已拿着捞鱼的笊篱到了北京这边的河边——炒俩菜。饿不着,还能吃得比家里好,是米乐的第二步。
吃完饭,米乐又为老婆展示了如何在车上用水——把碗刷了。然后自己在地上画出三个车位,练习了揉库倒库,将来在二环里并不宽敞的街道上他得频繁做这两件事情。老婆最关心的还是睡觉——休息得好坏,直接关系到孩子未来的身高乃至择偶——所以当晚米乐把车开到了儿子的学校门口,停在空车位上,老婆要实地考察此处是否适合睡觉。
当有车辆过往、老婆觉得噪音有点儿大的时候,孩子已经睡着,响起微弱的鼾声。米乐关掉车内照明灯,只留下氛围灯,和老婆面对面坐进卡座,仿佛置身小酒吧。米乐取出备好的威士忌,倒了两杯,放进冰块。
“怎么样?”一杯递给老婆,米乐觉得孩子上学的事儿就算搞定了。
“你确定晚上就睡这儿了吗,喝了酒可不能开车。”老婆仍不踏实。
米乐冲着孩子正在睡觉的床铺——驾驶座头顶的那张床配有安全防护人不会睡着睡着掉下来——一甩头说:“能睡着,已经说明一切,不需要挪窝了。”
说完,米乐起身,拉上那张床的遮帘,孩子隔在里面,车里顿时变成米乐和老婆的二人世界。
夜色深沉,晚风轻柔。威士忌的颜色跟焦糖色的环境光融为一体,冰块在杯里一点点消融,恰到好处没有音乐——如果背景里放着音乐,反而会提醒老婆此刻还有孩子在车里睡着觉。两人仿佛回到热恋,生活中的那些烦恼消失了。
喝到第二杯,米乐给老婆抱到床上。她没想到他依然抱得动她。
米乐欲要亲热,老婆拦下:“外面还过车呢!”
“它过它的,帘都拉上了。”米乐又喝了一口酒。
“万一有城管呢?”
“城管不管这个。”米乐拧亮床灯,关掉环境灯。
“那也不行!”
“怎么不行了?”
“不安全。”老婆及时坐起来,“再弄出个老二,我可崩溃了!”
“我带了。”米乐取出早已备好的东西。
第二天一早,孩子刚睁眼,老婆就问睡得怎么样,有没有感觉到过往的车声?孩子说梦到超级飞侠带他去火星执行任务了,今晚还想在这儿睡,火星上没玩够。米乐征求老婆意见,房车要不要多租一天,进一步体验。老婆说不用,也就这样了,没必要再多花一天租金。
随后,米乐快马加鞭卖了自己家的那辆车,在开学前接手了一位已放弃追求“诗和远方”的自媒体播主——此人曾靠着这辆车走遍新疆当过网红——精心改造过因而用起来更人性化的房车。老婆是文科女,除了最后把握价格——在米乐谈好价格的基础上又砍下两千块——也没怎么在选车的事情上过多参与。
车开到家后,老婆用酒精喷壶给车内边边角角都喷了一遍。儿子迫不及待要到车上睡觉,并在睡着前已将床铺的围板粘满奥特曼贴画。“四轮学区房”的生活就这么开始了。
4
开学两周了。升级为小学生的家长,米乐没怎么感觉到身份的变化,除去接送占用了一些时间。不过也乐在其中,孩子送进学校后,房车就成了他的世界,可以满怀激情地——他真的感觉到一种冲动——待在里面做无论什么事情,连带也会对工作重新产生热情。之前无论在家还是去咖啡馆工作,都让他厌倦,中年人更需要保鲜。
白天米乐会把车开到愿意驻足的地方,通常是城外。哪怕是早高峰,出城方向也不堵,用不了一个小时,一个有树有河看不到高楼大厦的世界就会出现在眼前;然后泡杯咖啡,靠在卡座上——虽然没有家里的沙发大,却能给人注入活力,仿佛充电桩——开始这一天属于自己的生活:坐久了可以下车去河边打水漂,顺便把肩膀也活动了;有一次他甚至做了一套广播体操——他有轻微的肾结石,大夫让他多喝水多蹦——一切在城里看来不合时宜、想象不到的事情,在这里都可以发生。包括他倾心已久的钓鱼活动,几年前置办的装备,终于派上用场,运气好的时候,午饭问题能靠着大自然的恩赐来解决。
生活节奏重新回到自己手里。享受到莫大的自由,也让米乐在下午三点接孩子的时候,是笑逐颜开的。
九月中旬是北京最好的季节。天空柔媚,风清云静。这天米乐刚完成一稿设计,准备钓会儿鱼,找到一片潮湿的土地,用树杈挖起蚯蚓,手机响了,连响两下。米乐站起身,掏手机,老婆叮嘱过他,听到手机响能看就第一时间看——刚从幼儿园进入小学的孩子还不习惯新环境的要求,容易出事儿。
米乐点开手机,果然是班级群的消息。教语文的班主任先发了一张十几个同学站在黑板前的合影,后发的是一段文字,解释合影内容:以上孩子在拼音声母默写中全部写对,希望再接再厉!米乐看到有自己儿子,挺满足,儿子也争气——在他妈那没有给开着房车上学的生活留下话柄。米乐想,要不要发个大拇指或庆祝的表情,进而觉得不妥,班里三十五个孩子,有一半多的孩子没在合影上,不能在别的家长面前太嘚瑟,便继续自己的事儿。
挖到蚯蚓,挂上鱼钩,竿往河里一甩,米乐心情欢畅。这时候班级的微信群又响了,米乐很想知道别的家长会作何反应,急忙点开。映入眼帘的并不是一个简单的表情,也不是类似“真棒”这种无关痛痒的话,是段只读一遍并不能全部体会其中用意的文字——米乐读了三遍。意思并不复杂,只是米乐又读了两遍,才确信是他第一遍读出的那个意思——他没想到,有人敢这么直截了当地和老师说话。
话的大意是:不应该公布做题全对的合影,某种程度上等于变相在给孩子排名,教委说了,不应该公布学生的成绩和排名,尤其小学生,一年级开学才三周,这么做不太合适。
群里每位家长都给微信名做了标注,不是这个妈妈,就是那个爸爸,说话的这位是个妈。米乐点开这位妈妈的头像——不像有些妈妈用孩子照片或个人游山玩水的照片做头像,她的头像暗昧不清——放大后依然是看不真著的一团东西,朋友圈也不可见。
米乐相信,很多家长将和他一样,等着看老师如何回复。虽然全对的孩子里有自己儿子,米乐仍觉得这位家长说得在理,甚至认为班里有位敢于呼吁的家长是这个班的幸运。
直到米乐收拾了鱼竿,准备开车去接孩子了,群里也没有班主任的回复。其他家长也没有发言的,这种事情,站哪边说都有点儿拱火的意思。米乐猜群里人多嘴杂,老师应该是跟那位家长私信沟通了。
在米乐往城里去的时候,手机响了,正好红灯,赶紧点开看,班主任在群里说话了。她说刚才在给别的班上课,抱歉回复晚了,发合照没有别的意思,就是想让家长们了解孩子在学校的情况,督促孩子从入学初始就养成当天学习内容当天消化的习惯,这次默写拼音有同学一个也没写出来,应该及时让孩子知道小学和幼儿园不一样了——有很多孩子上过幼小衔接,对学习已经有了准备,但仍有孩子不明白上学的目的——进了校园不是来玩的了,今天的合影远谈不上排名,也不是优劣对比,以后到了三年级功课量上来了,不用排名,学习差异自然会显现出来。
米乐知道,关心着群里对话的家长已经越来越多,虽然没有一个人说话。没过多久,那位妈妈又回复了,更希望老师发一些孩子在学校运动、吃饭、上课的照片。老师也很快回:会发的。
这时候米乐也开到学校门口,准备接孩子了。他记住了这位妈妈孩子的姓名,把儿子接上车后,让儿子指给他看,叫那名字的孩子是哪个。儿子对着学校围墙外杂乱的人群看了半天,说没找到。米乐把今天的合影给儿子看,儿子挨个叫出人名,没有那个名字的学生。往家开的路上,米乐问这同学在学校表现怎么样,儿子说跟他不熟,两人座位不在一个方向。
在父母那吃晚饭的时候,老婆在饭桌上表扬了儿子,把默写全对的合影调出来给爷爷奶奶看。老两口看完异口同声:好孙子!妈妈说,台上一分钟台下十年功,抓紧吃饭,吃完刷两套十以内加法题。
第二天,米乐又在群里看到数学题全对的合影,儿子仍在里面,想必老婆也会看到。他把这张照片和昨天的照片做了对比,有十一个孩子昨天也出现了,另几张是新面孔。后来群里一直没有人说话,米乐想,也许那个孩子今天也在照片上,所以妈妈看到照片没有反对,或者知道说了没用,扭转不了老师的意愿,索性闭嘴。
隔天,晚上吃饭的时候,老婆突然问儿子,是不是班主任向你们承认错误了?儿子说他也不知道。老婆问,老师说话时你认真听了吗?儿子说认真听了,老婆说那老师说什么了,儿子说老师说了太多,想不起来。米乐问老婆,学校里怎么了?老婆说班里后来建了一个纯家长群,老师不在里面,有家长听孩子回家学舌,说老师主动承认了错误,再问承认了什么错误,孩子又学不到位,所以群里就动员所有家长都问问自己的孩子,看有没有能说清楚这事儿的。说罢,老婆给米乐拉到群里,让他“时刻准备着”。准备什么,米乐一头雾水,老婆说,跟班里同步就是准备着。
进群后,米乐查看了群成员。那个熟悉的却看不清是什么的头像安静地显示在列表中,不知道为什么,米乐看到后有种心安的感觉。然后又在群里看有没有这个名字男生的父亲,没有找到,之前在班级群里他也没有看到这孩子父亲的微信。大概是男性不愿意过多参与育儿的事情,就像自己也是刚刚加入这个家长群,米乐这样想。
后来都很晚了,一位女生的母亲在家长群里说,孩子睡觉前告诉他,班主任今天在课堂上向大家保证,以后不给大家拍合影了——老师承认的可能就是这个错误。于是家长们纷纷发言,找孩子确认老师是否说过这话,均得到肯定答复。有人说,难得遇到这么开通的老师,能主动向孩子承认错误。米乐想,肯定也有失落的家长,真不发照片了,就不知道自己孩子还是不是班里前十名了,比如他的老婆。但他没有问老婆是不是这样想的。
后来几天,果然没再看到班级群里出现满分孩子的合影。饭菜却又出了问题。
先是傍晚的时候,一位妈妈在家长群里说自己家孩子说今天某同学的菜里——学校用统一的食盘打餐——出现了蛐蛐。她艾特了那位同学的妈妈,请她问问孩子是不是有这么回事儿。没等当事人妈妈回复,别的妈妈就证实了这件事儿,她们的孩子也都看到那位同学的餐盘里出现蛐蛐。群里一下炸锅了,虽然蛐蛐出现在某一个人的餐盘里,但饭菜都是用大保温桶装盛的,这意味着大家的饭菜里都沾染了蛐蛐。其中一位爸爸分析——也可以说是火上浇油——蛐蛐都在石头缝儿里、草窠里,躲着人,能进到厨房的,只能是蟑螂。一时间,屏幕上出现不同妈妈发出的呕吐表情。
众人揭竿而起,各种对于学校饭菜的抱怨发在群里。有人说孩子的餐盘上出现过饭嘎呗儿,卫生不过关。有人说看着那些饭菜就难吃——老师会把每日饭菜拍照发到班级群——米饭暗沉,肉的颜色也浊浑,肯定是冷冻很久的。有人接话:是的,孩子说肉都嚼不动。另有一位妈妈说,有一次孩子跟她说,午餐吃的是蜗牛,她也没多想,还觉得伙食标准挺高,现在想想,肯定是菜没洗干净才出现蜗牛的。马上就有妈妈问,那孩子把蜗牛吃了吗?
这时候,那个头像不清的妈妈说话了,她问,退伙行吗?并艾特了群主。群主也是位妈妈,兼职班级家委会,算是家长们和学校沟通的代表,她说先私信跟班主任沟通下。
在家委会妈妈和老师沟通的当儿,蟑螂当事人的家长在群里回话了,已问过孩子,确有此事。孩子发现异物后,举手报告了班主任,班主任走过来,将异物取出,随口说了个“蛐蛐,给你换一份”,便将餐盘端走,又端来一份新的。有家长问,真的是端来一份新的吗,还是端走又端回来了?马上有家长说,这有什么区别,蟑螂和菜出自同一个保温桶。随后又有家长说,同事的孩子在别的年级,刚才问了下,那个年级的饭菜里也屡屡出现异物。于是群里达成共识:饭菜问题已根深蒂固。
家委会妈妈发来和班主任沟通的结果,班主任说这个问题各个班级都向学校反映过,但老师的职责有限,就是教课,无法插手餐饮管理,今天发生的事情,她会向学校汇报,其实老师们吃的也是这些饭菜,早想彻底改进。班主任同意不想在学校吃午饭的同学退伙,家长中午十二点把孩子接走,一点半前把孩子送回学校就行。米乐看到这里,问老婆接不接,午饭他可以提前备好,带孩子在房车上吃——虽然这样会耽误他去郊区钓鱼。老婆犹豫着,不知道接走合不合适。这时候,头像不清的妈妈先在群里说话了,我接,她说。
随后班委会妈妈做了一个接龙,让接孩子的家长报名,她会把名单转给班主任,明天学校安排老师把这些孩子送到学校门口,由家长带走吃午饭。看到有五位家长参与了接龙后,米乐老婆也报了名。作出这个决定后,孩子爷爷赶紧又熘了个肝尖,炖了锅牛肉胡萝卜——特意做八成熟——放凉后装进餐盒;明天中午米乐在房车上用电磁炉稍作加工,孩子的午饭就有了。
5
一位男老师带着二十几个高矮不一的孩子走出校门,二十几位横跨老中青的家长领走自己家孩子。米乐把儿子接上车问,不都是你们班的吧?儿子说就八个是他们班的,还有别的年级的。
米乐打开刚刚热好的炖牛肉和熘肝尖,现蒸的米饭给儿子盛了一碗,爷俩儿坐进卡座面对面吃起来。吃了几口,儿子说没有学校的饭好吃,明天还想在学校吃。小孩的好吃跟大人的好吃标准不一样,米乐也没纠正儿子,只是让他明天中午接着出来,爷爷会给他做更好吃的东西。对米乐来说,退伙是一种行动,是行动就要彻底,直到学校更换午餐供应商——目前提供午饭的是一家食品公司,从家长们收集到信息看,这家公司从原料到食品卫生、从烹饪到餐具洗刷,处处糊弄事,堪称恶劣,已不是需要改进的问题,必须解除合作。
吃到一半,儿子指着窗外的前方说,那是我们班的。米乐扭头望去,马路斜对面停了一辆吉普车,后备厢盖扬起,一个小男孩正坐在折叠座椅里,用后备厢靠近右尾灯的一边儿当餐桌。左尾灯那边儿坐着一个女的,估计是孩子的妈妈,戴着墨镜,头靠在车体上,晒着太阳。米乐问那同学叫什么,儿子说出名字,米乐听了心中像被火光闪了一下,正是他打听过的那个名字。
那个孩子刚好吃完饭,妈妈从保温杯里倒水给他喝,然后收好折叠椅,后备厢盖一扣,领着孩子过了马路。把孩子送进校门,妈妈又回到吉普车,掀开后备厢,站着把孩子没吃完的饭菜吃了,然后驾车离去,是辆老款吉普。全程戴着墨镜,米乐猜不出她长什么样。
儿子也吃饱了,老婆嘱咐过米乐,吃完就回学校,不要在车里逗留太久,尽量合群,别弄得跟和学校作对似的。送完儿子,米乐回到车里发了会儿呆,不到三个小时后又要接孩子了,他没有时间开着车再去别的地方了。儿子的“退伙”拴住了他,不过他也心甘情愿,为了“行动”而牺牲部分自我,是理所应当的。
第二天米乐把儿子接到车上后,看到男老师还带着儿子班的那孩子站在校门口,墨镜妈妈没来接他。天色暗沉,风也大了,说话就要下雨,米乐让儿子把那孩子叫车里来。男孩上了车,米乐给他拿来碗筷,叫他和儿子一起吃。小孩不见外,也确实饿了,拿起就吃。俩孩子还不太熟,各吃各的,米乐撮合两人认识,想让儿子在学校多交朋友,跟所有人打成一片才好。米乐问小孩叫什么,小孩报出名字,儿子说爸爸你不是知道他的名字吗?米乐赶紧接上话,说我问的是小名。男孩又说出小名,叫Sting。儿子笑了,说,你叫死拧吗?Sting说,英文,sting,不是死拧。米乐问这名字谁起的,Sting说我妈。米乐问你妈妈是做什么工作的,Sting说她是唱歌的,有乐队。米乐——知道美国有个著名摇滚歌手就叫Sting——问Sting,那你爸爸是做什么的?Sting说我爸工作忙,住在别的地方。米乐大概清楚为什么群里没有这孩子爸爸了。
雨点淅淅沥沥落下,打在房车顶棚上。昨天那辆吉普车这时候开到学校门口,墨镜妈妈下车找孩子,米乐打开防蚊虫拉门,孩子探出身子喊:“妈”。
墨镜女把吉普车开上马路牙子,停在房车旁。米乐跟她打招呼,说俩孩子一个班的,怕孩子等不到她着急,就把孩子带车上了。墨镜女摘下墨镜——一笑眼角已能看出鱼尾纹,脸上没有这个年龄女性过多人为干预的那种湿肿——赶忙致谢,见孩子已经吃上,更是不好意思。米乐说现成的粗茶淡饭,两人搭伙更有食欲。妈妈赶紧去吉普车里取来保温桶,摊开摆在桌上——米饭没有再往桌上放——让俩孩子一起吃。分体保温餐盘里分别盛着鸡蛋西红柿和牛肉炒芹菜,米乐能看出这是一位不擅厨艺或对吃没什么讲究的妈妈。Sting扫了一眼盘里说,我妈老做鸡蛋西红柿。妈说,你老点我才老做。米乐儿子率先㨤了一勺,说好吃。Sting说,没有你家的菜好吃。米乐儿子又㨤了一勺说,你家的才好吃。
米乐主动介绍了为什么会开着一辆房车出现在这里,以免Sting妈妈觉得奇怪,或认为他们一家子为孩子上个小学劳师动众。Sting妈听完说,都不容易,全为了孩子。米乐问她,昨天在吉普车后面吃饭的是Sting吧?Sting妈说,对。米乐问,你们住得远吗?Sting妈说,开车单程十五分钟,没必要把时间浪费在路上,现在天气也不冷,就让Sting先这么吃着,早点儿吃完还能回教室趴桌上睡会儿。米乐说,以后来我车上吃吧,反正我们天天在这,慢慢天也冷了。Sting妈说不用麻烦,米乐说不麻烦,俩孩子一起吃还能有个伴儿。Sting妈说那饭我做,我那用火比你在车上方便,米乐没有拒绝。
米乐也不好意思袖手旁观真让Sting妈做饭,所以第二天餐桌上特别丰富,已经摆不下了。Sting妈带来三菜一汤——不输学校的标准——米乐也备了两个菜,再来俩孩子都吃不完。米乐儿子和Sting吃完,两位父母给他们送进校门,然后两个大人回车打扫各自孩子的剩饭。Sting妈做的是牛排、蒜蓉粉丝蒸白菜还有盛了半只鸭子的老鸭汤,里面煮了萝卜,用心了。米乐吃着想,真要是这么客气下去,做饭也该内卷了。他夹了一块切好的牛排说,做这个挺费事儿吧?Sting妈说,用空气炸锅做的,肉放锅里,喷点儿油,扣好盖儿就行了。又说,其实自己不怎么会做饭,从网上现学的,以前都是姥姥姥爷给孩子做,现在上了学,儿子跟她住,她才把做饭一事纳入日常。Sting妈问米乐是做什么的,可以每天以这样的方式等儿子,挺带劲的。米乐说做设计,书、海报、产品logo、包装盒,都做,现在不能挑活儿了。Sting妈说,我是做乐队的,尤其生了孩子,有演出就去,也不挑活儿,说完笑了。
米乐问了乐队的名字,Sting妈说很小众,报出名字米乐果然没听过。Sting妈说做得不好,一直默默无闻,说完又自嘲地笑了。典型的北京女的。随着各自孩子的剩饭见了底儿,两人的闲聊也结束了,客气告别。
晚上爷爷又做了好几个菜,儿子没怎么吃,说中午吃顶了。爷爷很骄傲,说我做的饭有那么好吃吗?中午饭都是爷爷准备,米乐只负责最后一道工序,将八成熟变成彻底熟。孙子回答爷爷没那么好吃,是Sting妈做饭好吃,吃得下午上课直打嗝。米乐老婆听到,问米乐怎么吃起别人家的饭?米乐简单说了经过,还说,弄孩子都不容易,车上有地儿,互相方便一下。老婆立马说,她家的饭卫不卫生呀?米乐说,肯定卫生,人家自己孩子也吃。老婆又问,那孩子叫什么呀?开学不足一个月,家长和家长、家长对班里,尚都不熟。儿子说,叫Sting。老婆拿起手机,在群里翻这名字的家长,似乎要找到照片相相面,方决定能否继续搭伙。米乐知道老婆找不到,就让儿子告诉妈妈Sting的大名。儿子话音未落,妈妈就跟被点着了似的:“他妈呀!”
“他妈怎么了?”儿子不理解自己妈妈的反应。
“他妈做饭好吃!”米乐赶紧接过话,给老婆递眼色,示意打住,他知道老婆怎么想的。
话题被终止,事情在老婆那远没结束。就他俩的时候,老婆说不愿意让儿子跟那孩子接触,怕受影响。他妈群里质疑完老师,还去学校找校长给老师告状——所以班主任才会在班里向学生承认错误——这么怼老师,老师肯定对她孩子没好印象,老跟那孩子在一起,咱孩子也没好果子吃。米乐听到很多闻所未闻的信息,问找校长这事儿是哪儿听来的?老婆说,学校恁么一个小地方还能有不透风的墙?米乐觉得既然老师向孩子们承认了错误,说明这孩子的妈没做错。老婆说话不是这么说,对错单说,关键是做法太鲁。米乐对这事儿的理解不是“鲁”,是纯粹,Sting妈是搞摇滚的,直截了当,道出很多人的心声。这样的人理应受到呵护,现在却成了大伙“对面的人”——从老婆接下来的话里,米乐听出来,老婆和另几个妈妈似乎达成统一战线,认为Sting妈在拉着全班躺平,她们不接受自己的孩子这样,正商议对策力争让这个班的孩子跟上全国六岁半儿童的节奏。作为这个“不躺平”组织的人,米乐老婆认为不宜跟Sting妈走得太近。
米乐发现他和老婆想事情经常想不到一块儿去了。一个纯粹的人,哪怕不被尊重,至少不该被排挤,米乐是这么想的。他有点理解不了现在的世界,和现在的老婆,老婆后面的那些话,已让他听不进去。
直到老婆说了一句话,把米乐拉回到正在进行的对话中:“你要是不好意思谢客,就让儿子继续回学校吃饭,她也不可能还让她孩子去你车上吃吧?”
米乐没想到老婆能为此牺牲孩子的“食品安全”,更对老婆在“行动”上如此不彻底和是非观的错乱而扼腕。他觉得不能再佛系下去,该摆出态度了,说:“不怕儿子下回从学校的饭里吃出个灶马儿?”
“灶马儿是什么?”老婆小时候只知道书本和教室。
“以前北京的公共厕所里全是这玩意儿!”米乐说完,起身去叫儿子。该出发去学校门口睡觉了。
米乐打开一听啤酒,踏踏实实喝了一口,仰靠在房车的卡座里,一条腿搭到对面座椅上。这是他最舒服的姿势。其实不是姿势有多舒服,是爱一个人这么待着。
车外有蛐蛐叫,二环里都快没有老北京人了,竟然还有蛐蛐。儿子正在米乐身后的床上睡着觉,车里三张床,儿子想睡哪张看心情,米乐就睡儿子挑剩的那两张。到了这个岁数,米乐貌似对诸多事情已无所谓,其实很有原则,用内力控制着生活,以防沾染、滑离、坠落。
现在米乐调出Sting妈妈的歌,匹对上耳机,喝着酒听起来。刚才开来的路上,儿子睡前突然唱起歌,吐字不是很清,米乐听了一个大概,好像唱的是:1、2、3、4、5、6、7……do、re、mi、fa、sol、la、xi 什么的。米乐问儿子是音乐课教的吗,儿子说不是,跟Sting学的,他妈会写歌。现在儿子睡着了,米乐还记得Sting妈妈乐队的名字,在音乐平台搜到这个乐队。成员四人,Sting妈是主唱兼词曲创作,另外三位男性负责吉他贝斯鼓,有三千多粉丝——知名乐队的粉丝都好几十万——去过欧洲巡演,拿过两个独立音乐的奖,成立快十年了。米乐一算,组队的时候Sting还没出生,乐队到现在也没有出名,却还能搞下去,说明Sting妈靠这个能养活自己,也说明她是真喜欢干这个。
歌词多是英文的,曲调晦暗,伤惋迷蒙,适合晚上听,也和她头像挺搭。米乐以己度人,猜可能到了他这个年龄无论男女,都生活在迷离扑朔的日子里,因此从头到脚都跟通俗明朗无缘。听到一首像把人按进水里的歌,沉闷压抑,米乐不仅不觉得难听,还感觉情绪恰到好处。突然吉他亮音响起,像一只手伸进水里,把溺水的人拉了上来,世界豁然开朗。
听到这,米乐有些坐不住了,有种东西被唤醒。他来到车外,需要将这种东西释放,或在夜空下任它生长。随着乐曲的进行,鼓的韵律清晰起来,有种整装待发的感觉,米乐竟然跟着做起开合跳——平时他也常跳,心态和心率都不想过早衰老。
跳了不知道多少个,乐曲结束,米乐停下来,踱步深呼吸,平复心跳。往前走了十几步,又往回返,下一首歌已经开始。一转身,看到一个人推着自行车站在房车旁。米乐走近,看清是谁,吓一跳,Sting的妈妈。米乐摘掉耳机,说,是你呀,太黑没看清。Sting妈说,刚才喊了你两声,你戴着耳机没听见,听什么呢?米乐说,你们乐队的歌,说完停掉耳机,手机里果然传出她再熟悉不过的曲调。然后解释说,孩子睡前唱了你们的歌,Sting教的,我就正好找你们乐队的歌听听。
米乐意识到Sting妈这个时候出现在这里很意外,问她来这有事儿吗?Sting妈说她刚好排练结束,骑车回家,看到米乐在锻炼,就停下打个招呼。米乐说,你们的音乐挺耐听。Sting妈笑了。两人谁也不再说话,乐曲在夜色中放着,闪烁的路灯好像打在舞台的灯光。
Sting妈突然说,过几天国庆长假,乐队会在河北某城参加音乐节,邀请米乐带孩子来玩,她也带Sting去,音乐节在湿地公园,可以野营。米乐应诺。
6
老婆说不用订她的票,不想跟Sting家走太近,以免日后麻烦。但孩子想去,米乐就开着房车带儿子去了。
Sting跟着妈妈前一天就到了办音乐节的城市,组织者怕国庆假期路上拥堵,提早把参演的乐队接来。大型音乐节都不让露营,也不让带水进场,这个音乐节规模小,乐队名气都不大,为了吸引更多人来看,取消了这些限制。演出当天,组委会在每支乐队的休息处都搭起天幕,架好折叠桌椅,摆上吃的,场面工作做足,让乐手们发朋友圈,宣传音乐节,吸引更多乐队日后来演出。
米乐带儿子是演出当天下午赶到的,找到Sting妈妈所发照片上的紫色天幕。一路上,看到乐迷们五颜六色的头发、千姿百态的衣服,儿子跟米乐说,这些人“泰裤辣”——这是他上学后学到的一个流行词。米乐说,你长大了也可以这样。
儿子和Sting会师,还有一些乐队的亲友也带来孩子,小朋友们在草地上玩起“木头人”。大人们似乎刚吃完饭,桌面上摆着组委会派发的盒饭,已经吃空,还没收拾。Sting妈介绍了米乐和大家认识,吉他手递来一听啤酒,米乐打开,跟手里有酒的人都碰了一下。
天气已经不热,有人把椅子搬到天幕外面,找阳光晒。米乐用啤酒和在场的人打完招呼,也搬椅子找了片阳光,从这里能望到舞台,离演出还有一会儿。
大人们窝在沙滩椅里,说着无关紧要的话;孩子们在不远处玩耍,对游戏中的犯规者明察秋毫。如果几日后这些人不需要上班上学,生活简直无可挑剔。
一阵不小的风刮过,吹翻桌上的空餐盒,盒盖儿被卷走。Sting妈起身去捡,没等弯腰,塑料盖儿又被刮走几米,吹到孩子们脚下。一个男孩看Sting妈奔盒盖儿而来,他俯身去捡,刚伸手,盖儿又往前窜了窜。于是孩子们争前恐后去捡那盖儿,风似乎有意和他们做游戏,又卷起盖儿向前。孩子们的兴致更高涨了,像一群蜜蜂追讨敌人而去。终于,一个大点儿的孩子捡到了——或者说抢到了。Sting妈撑着营地的黑色大塑料垃圾袋来接,拿着盖儿的孩子扣篮一样将斩获物投入袋中,洋洋得意,仿佛球场上的MVP,其他孩子有些沮丧,吵着要再玩一次。Sting妈说,那咱们一起去捡垃圾,把地球上的垃圾都捡干净。
当儿子告诉米乐他要去捡垃圾的时候,米乐一开始没听懂,但儿子已经跑走,去追大部队。米乐就拿着那听啤酒,在后面跟着,看到Sting妈拖着大号黑色塑料袋,像个丐帮帮主,指挥着五六个孩子,把出现在草地上的垃圾一一捡起,汇总到她的袋子里。
这也太摇滚了吧?还是哗众取宠?米乐拿不准,保持着距离,跟在后面。
孩子们为了收获更多战利品,开始创造垃圾。儿子跑来,管米乐要啤酒罐,米乐一口喝完,孩子喜悦地拿过罐子去上缴。有孩子走到露营人面前,问吃了一半的食物要不要扔掉,被问者微笑着摇摇头。好在只带了一个黑色袋子,很快就装满了。Sting妈把袋子放到垃圾回收处,带孩子们去浇花的水龙头下洗手,然后回到营地。
组委会的工作者正举着小摄像机采访乐队其他成员,见主唱回来了,镜头冲向Sting妈。采访者是个小姑娘,问,刚才听乐手说,乐队解散过几年,前年又重组,都出于怎样的考虑?Sting妈反问,他们——看向三位男乐手——怎么说的?采访的小姑娘说,他们说听您召唤,他们就回来了。Sting妈笑了,说你听他们瞎掰呢,当年解散也不是我召唤的,还是散了。小姑娘追问,那您说是为什么呀?Sting妈说,当年觉得干这个没希望,挣不到什么钱,只能解散,后来该结婚的结婚,该生娃的有了娃,班也上了,折腾一圈发现还是干这个好,不用看人眼色,自己喜欢什么样的音乐就做什么,不用讨好任何人。现在靠乐队能养家吗,小姑娘又问。乐队的人听到这个问题都笑了,Sting妈说,那就看过什么日子了。小姑娘最后举着话筒问道,说来说去还是因为发自内心喜欢音乐喽?对,Sting妈说,离不开。
这时候几十米外的舞台上传来一声吉他的失真,演出即将开始。观众席已聚集了千把人,前排的乐迷舞动着几杆大旗,乐队主唱说着感谢音乐节和乐迷的话来暖场,鼓手在恰当时机搞了段solo,气氛被点燃。采访团队去拍摄演出现场。Sting妈乐队的乐手们拿出乐器,开始热身——具体就是热手热嘴——Sting妈咿呀嘿吼地开着嗓子,他们第四个出场。
随后Sting妈和吉他手合到一起,一个演奏一个唱。第二支乐队开始上场,舞台上没了动静,米乐能听到Sting妈唱的就是那天晚上儿子在房车里唱的歌:1、2、3、4、5、6、7……do、re、mi、fa、sol、la、xi。Sting和儿子跑过去,跟着他妈一起唱起来。唱着唱着,Sting妈灵机一动,添了两句词。新词在两个孩子的演唱下,出现一种美妙的效果,米乐听到也为之一动。旋律朗朗上口,另外几个孩子也加入进来,Sting妈闭了嘴,现场成了童声合唱团。
这时候来了组委会的人,让乐队去候场。Sting妈征求乐手们意见:要不然让孩子们也上场?鼓手说,靠谱!Sting妈让孩子们去征求各自家长意见。儿子跑来问米乐,米乐说,只要你愿意,当然行。
乐队的四个大人先上了场,第一首歌是展示乐队风格的英文歌。第二首歌换成中文的,唱至一半,Sting妈冲后台一招手,孩子们上场了。她领唱了几句,随后就将麦克风冲向孩子们。乐队降低了器乐演奏成分,只留下贝斯铺着节奏,孩子们的声音被突出,唱出:“1、2、3、4、5、6、7,不是你在班里考第几,1、2、3、4、5、6、7,它们是do、re、mi、fa、sol、la、xi……”听出米乐一身鸡皮疙瘩。在这种声音下,空气也仿佛被净化,观众发出和之前不一样的欢呼声。
Sting妈举着手机,站在Sting身旁,拍摄着这一幕。米乐也从台后呼哧带喘跑到观众区,挤不进去,就在最后一排,正面拍摄这个场面。
孩子们反复唱着那句歌词,乐迷们也跟着唱起来。乐队索性停止任何演奏,成了孩子的清唱,现场数千人挥舞着手,跟着孩子们一起唱。
这时候,米乐的手机响了一声,是微信,他没理会,继续拍摄。
随后不到一分钟,老婆电话进来,米乐没接,拍摄没停。响了十多声后断了,马上又打过来。孩子已唱完,鞠躬谢幕离场,米乐接了电话。
“你疯了吧!”老婆开口喷火。
“怎么了?”米乐以为家里出了什么事儿。
“你看看群里!赶紧给我把孩子拽下来!”老婆的声音盖过现场巨型音箱发出的声音,直撞耳膜。
米乐在房车里连住十天了,平时他只是晚上陪孩子睡在学校门口,周末和孩子还是会躺到家中的床上,现在他已经第十一天睡在车里了。那天他在儿子班级群里看到Sting妈妈发的视频,是她从台上拍的孩子们唱歌,只拍了Sting和其他孩子,有意避开米乐儿子。老师也在这个群里,显然,她想让老师和部分家长看到这一幕。米乐老婆看完后有种直觉:自己儿子也在台上。于是炸了。加上视频确实不小心扫到另一个孩子的胸口以下,露出有限的衣服,这让米乐老婆确认了那就是自己的儿子,于是被引爆了,给米乐打去电话。
米乐那天也被点着了。孩子们的童声如天籁,直钻心窝,辅以歌词,听得他热泪盈眶。加上现场数千人的合唱,让米乐觉得“这样才是对的”,然而老婆的电话在这个时候不合时宜地来了。不知道触碰到米乐的哪根神经,或者说击穿了他,窝在缝儿里的那个更真切的米乐钻了出来,选择拒绝错误的声音——比如老婆说出的那些话——让正确的事情变得更对,于是就把自己从正面拍的那条视频也发到了老师所在的班级群。视屏中,儿子和Sting与另几个孩子,坦荡地站在台上,唱着“1、2、3、4、5、6、7,不是你在班里考第几……它们是do、re、mi、fa、sol、la、xi……”台下上千双手跟着他俩的节奏挥舞。
然后米乐的电话和微信就被老婆打爆了,让他赶紧撤回视频。米乐没有撤,手机那头儿的老婆表现出比台下乐迷更疯狂的激情。
接下来,米乐就没再回家睡过觉。如果没有孩子,他会开着这辆车,去到一个什么地方,过上那么一段时间。但现在他做不到,因为孩子,他还要接送。他能做的,就是在车里先凑合一段时间;也幸好有了这辆车,让他在这样一种时刻里,能有个地方一个人待着,可以把前前后后的事情好好想一想了。
作者简介
孙睿,作家、编剧、导演,北京电影学院导演系硕士毕业,写小说为主,也写剧本。已在本刊发表中篇小说《斗地主》、《发明家》,获2019年《北京文学》优秀中篇作品、2022年《北京文学·中篇小说选刊》优秀中篇选载作品。
责任编辑 张颐雯
特约编辑 蓦 凡
Provide a list of major characters with brief descriptions of their personality traits and roles in the story.
Try to identify relationships between characters (friends, enemies, family, etc.).
Comment on any significant character development or arcs.
', error: Error code: 429 - {'error': {'message': 'You exceeded your current quota, please check your plan and billing details. For more information on this error, read the docs: https://platform.openai.com/docs/guides/error-codes/api-errors.', 'type': 'insufficient_quota', 'param': None, 'code': 'insufficient_quota'}}
2024-06-14 15:27:39 - httpx - INFO - HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 429 Too Many Requests"
2024-06-14 15:27:39 - AnalysisRunner - ERROR - Error running analysis 'Characters' using GPT4Model. Error type: RateLimitError. Error message: Error code: 429 - {'error': {'message': 'You exceeded your current quota, please check your plan and billing details. For more information on this error, read the docs: https://platform.openai.com/docs/guides/error-codes/api-errors.', 'type': 'insufficient_quota', 'param': None, 'code': 'insufficient_quota'}}
Traceback (most recent call last):
File "/Users/apple/editor-app-v10/analysis_runner.py", line 47, in run_analysis
result = model.invoke(prompt)
^^^^^^^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/language_models.py", line 78, in invoke
response = self.model.invoke([prompt])
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/langchain_core/language_models/chat_models.py", line 170, in invoke
self.generate_prompt(
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/langchain_core/language_models/chat_models.py", line 599, in generate_prompt
return self.generate(prompt_messages, stop=stop, callbacks=callbacks, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/langchain_core/language_models/chat_models.py", line 456, in generate
raise e
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/langchain_core/language_models/chat_models.py", line 446, in generate
self._generate_with_cache(
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/langchain_core/language_models/chat_models.py", line 671, in _generate_with_cache
result = self._generate(
^^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/langchain_openai/chat_models/base.py", line 537, in _generate
response = self.client.create(messages=message_dicts, **params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/openai/_utils/_utils.py", line 277, in wrapper
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/openai/resources/chat/completions.py", line 606, in create
return self._post(
^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/openai/_base_client.py", line 1240, in post
return cast(ResponseT, self.request(cast_to, opts, stream=stream, stream_cls=stream_cls))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/openai/_base_client.py", line 921, in request
return self._request(
^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/openai/_base_client.py", line 1005, in _request
return self._retry_request(
^^^^^^^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/openai/_base_client.py", line 1053, in _retry_request
return self._request(
^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/openai/_base_client.py", line 1005, in _request
return self._retry_request(
^^^^^^^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/openai/_base_client.py", line 1053, in _retry_request
return self._request(
^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/openai/_base_client.py", line 1020, in _request
raise self._make_status_error_from_response(err.response) from None
openai.RateLimitError: Error code: 429 - {'error': {'message': 'You exceeded your current quota, please check your plan and billing details. For more information on this error, read the docs: https://platform.openai.com/docs/guides/error-codes/api-errors.', 'type': 'insufficient_quota', 'param': None, 'code': 'insufficient_quota'}}
2024-06-14 15:27:39 - LanguageModels - ERROR - Failed to invoke GPT-4 with prompt: '
Provide a concise summary of this text (output in Simplified Chinese):
四轮学区房
孙 睿
1
刚开始没想到是吃麻辣烫的,太饿了,从外面看着像能吃饭的地方,米乐和老婆便推门往里走。一进来,就想打喷嚏,呛得,又打不出来。空气中,一个个香辣分子在翻滚。老婆一屁股坐到桌前,顾不得味道粘在衣服上将久久不散,扒拉着挑选。坐下后米乐意识到,他俩好久没有面对面坐下、像谈恋爱时候那样吃顿饭了。
店开在胡同口,狭长的桌子,其实也不长,多说四五米;当中间儿掏空,怼进去一溜长方形钢筋锅,彼此靠钢板隔开,做成两排,煮着穿好的串儿,荤素都有,五花八门,竹签冲外,伸手即取。这种店傍晚前做旁边学校中学生和逛胡同游客的生意,现在已经晚上九点多,除了看店伙计在墙角刷手机,店里没别人,是另一种缘分让米乐和他媳妇坐到了这里。
两人各守一锅,小火轻煮,空调吹出冷气,汽化的风肉眼可见。老婆一言不发地吃着,面前摆着撸下的签子,长短不一。长签三块一串,短签两块——米乐发觉自己扫一眼桌面大概就能乘出吃了多少钱的能力退化了。两人都太累了,下午来这边看房,东跑西颠,看了六套,快看吐了。
九月份孩子就要上小学了,还有一个多月。目前孩子跟着他俩住回龙观,幼儿园也是这边上的,家楼下。老婆觉得,幼儿园哪儿上无所谓,就当上着玩,小学不能再凑合,必须去城里。回龙观属于昌平,挨着朝阳和海淀,算不上远郊,但比起二环里的东城西城,叫城外也不为过,这边都快到六环了。什么时代的人都想当“城里人”,过腻城里日子往城外搬的那种另说,家长更是希望自己的娃能做个“城里孩子”,恰好米乐老婆和孩子的户口在城里,进城上学成了这个家庭的不二之选。
当然米乐也有别的想法,他不认为孩子去城里上学就高枕无忧。他敢这么认为是有充分依据的,他的小学到高中都是在西城区上的,也不是班里所有人都考上大学了,甚至有后来进了工读学校的,前途如何,更靠孩子自己。同样他也不觉得留在昌平上学就输在了起跑线,他的大学同学里,有一个就是昌平考上来的,学号一号,因为入校分数最高,后来年年奖学金,还保了研。但米乐不愿跟老婆掰持这些,他的不做主性格,让老婆成了当家的人。
说起来,其实他老婆连原汁原味的北京人都算不上,米乐才是北京的“城里人”。小时候在西城长大,家住西四胡同,后来那片拆了,父母在回龙观买了房,米乐跟着搬了家。户口随房子走,迁到了昌平,化身“城外人”。而他老婆,大学毕业留了京,幸运地进了给解决户口的单位,单位在东城,于是不仅成为新北京人,还拥有了令很多城外北京人羡慕的东城区户口,只不过是集体户。后来两人认识,结了婚,也在回龙观买了房——为了离米乐父母近更因为这里的房价还能接受——老婆仍把户口留在单位。一开始米乐以为老婆嫌麻烦,懒得挪,直到几年后生了娃,给孩子上户口的时候,才弄明白老婆的良苦用心:孩子户口不在昌平上,上东城的,跟她一起,落集体户,将来是东城学籍,可以上东城的学校。大家普遍认为北京的好学校都在东西城和海淀,所以这三个区的学籍格外珍贵,没有的心向往之,想辙往里钻,有学籍的则沾沾自喜不形于色。还有个插曲,备孕期间,老婆让米乐把他名下那套回龙观的房子卖掉,她研究过政策,必须父母双方都没有北京房产,孩子才能落集体户。就这么着,米乐把自己名下的那套房子卖了,租了两年房子,等到孩子在集体户里有了自己的户口页,才和老婆又在他父母的那个小区买了套二手房。那时候房价每年都在涨,为了孩子的户口,搭进去两人多年的积蓄,只因为老婆认为当个“城里人”洋气。
老婆七年前布好局,事态按预期发展着,上礼拜小学录取通知书下来了。儿子成了一名北京东城区的小学生,不出意外,将在东城接受九年义务教育。从回龙观到这所小学,二十公里出头,还有一段高速。不走高速的话,有三十三个红绿灯,早晚高峰开车少说要一个半小时,再遇上一起交通事故,时间就没谱了——若事故双方都是送孩子的家长,也是有麻利儿解决的可能。走高速倒是能避开些红绿灯,但进出高速口的时间不稳定,赶上没装ETC的车或手机忘带了无法扫码付费身上也无现金的车主,这条车道何时能通车就看他什么时候能变出过路费了……这些特殊情况暂且放置一旁,按八点到校计算,逆推,六点二十必须出家门了,刨去洗漱吃饭时间,不到六点就得起床,大人还要伺候孩子穿衣吃饭,只能起得更早。于是问题来了:住昌平的儿童和家长,每日该如何不这般辛劳地去东城上学?
老婆曾试想,卖了回龙观的房,在学校旁边买一套,然后把自己和孩子的户口从集体户里迁出来,落户东城,一劳永逸;米乐乐意的话,户口也能从父母的本儿上挪过来,四十岁了,早该独立出来了。想法很美好,现实被低估。同样新旧的房子,东城一平米的单价差不多是昌平的三倍。现在米乐一家三口住的是一百二十平米的小三居,换成东城同档次的房子,包括税费里里外外都算上,要添八百万。知难而退,老婆降低预期,不行就住老破小,窄点儿也认了,孩子的教育胜于一切。看了两套不到八十平的两居,一算差价,仍要添三百万。钱是一方面,关键是卖了自己住得顺心又舒服的房子,在陌生的地方买个不那么如意的房子,是不是风险有些大?没有哪个普通家庭能在买房卖房上像打麻将出牌那般随意,即便是在北京,也尤其是在北京。
加之房产市场突然低迷,房价走向扑朔迷离,成交周期变长,房子也不是说卖就能卖成的,肯花钱倒是容易买到,但很可能刚买到手就贬值。如此一来,换房的想法只能搁置。保险一些的做法是把自家房租出去,在学校旁边租套房。今天看的这些出租房,有中介联系的,也有老婆在闲鱼找到业主直租的。看房用眼睛看,身体和情感不免也会参与其中,幻想未来至少六年带着孩子生活在这里:三具肉身的安放是否恰当合理(卧室舒不舒服),三张嘴能否被满足(厨房能不能唤发烹饪食物的热情),三个灵魂栖居于此可否相安无事(几年后将迎来儿子的叛逆期)……六套看下来,身心俱疲。
小店墙上的货柜摆着各种饮料,老婆偏偏拿了一瓶红牛,拉开就喝。以前她从不碰这玩意儿,认为所谓的提神就是杀鸡取卵,把体内残存的能量榨取出来。那么,现在她是要把仅剩的一丝力气逼出来,然后还要干点儿什么吗?米乐猜不出老婆接下来还想干什么——再看一套房?或是仅仅为了有力气回家?还是不甘回家后就这样一无所获地睡去,夜深人静的时候仍要展开人生思考?
眼前的事实,让米乐确信了一件事情,这是近八年里他和老婆第一次吃麻辣烫。以前她特好这口,自打有了孩子,两人吃东西就不怎么考虑自己了,只吃适合孩子吃的东西,孩子现在六岁半,加上备孕和怀孕的时间,八年里两人渐渐没了“自己”。
此刻老婆两眼直愣愣地盯着锅里,嘴里机械地嚼着,一手握着红牛,一手搓捻着空签子,显然脑子里琢磨着什么。这神态让米乐陌生。老婆从小聪慧灵敏,在学习、考试、就业、升职的道路上,向来无须大动干戈便攻城拔寨,不说硕果累累,至少是一帆风顺。如今被卡住了,不是主观世界被难住的卡,是那种物质世界的卡——老婆想的可能是:自己的家庭为什么突然卡在底层中产向高阶中产进军的路上?
在不添钱的情况下,回龙观的房租只能在东城区租个六十平米的老破小。客厅小得转不过身,家里那台七十五寸电视搬过来都放不下——米乐和老婆都喜欢周末在家看个电影。为了让电视有地儿放,也得租个面积大的房子,那就只能添钱。添多少合适?无限制地添,好房子有的是,再大的电视也能搁进去,但这不是米乐家能过的日子。老婆虽说事业顺利,挣得也有限,在出版社上班,不是什么大社,做出爆款书的机率渺茫,年薪远没到过日子可以不算计。米乐至今自由职业,做平面设计,收入取决于活儿多活儿少,曾经红火过,这两年客户相继流失,不知道好好的一家公司怎么就做不下去了。米乐的活儿也随之减少,世界越来越新,他越来越老,在发展新客户上缺乏手段,已由只喝单一麦芽改为调和威士忌也觉得还不错了。
老婆定了一个标准:保证生活品质的情况下,房租尽可能地少添。尽可能地少,也有一个范围,所以连看了六套。连将将满意的都没有,首先就是感觉小。房子住惯了宽敞的,再换紧凑的就难了。米乐老婆以前没觉得三口人住五十多平有多挤,甚至还觉得敞亮,她自己家当初就是一套五十多平的房子,她还有一个自己的房间,让很多同学羡慕,但那是二十多年前。现在她和米乐看了一套九十平的两居都觉得窄,就这还要每月添四千多,若想租一套和回龙观的家一样面积的房子,少说要补八千块,超标了。也正应了那句话:一分钱一分货。越活越觉得这话的准,世界就是这么构成的。
六套里有一处平房令米乐夫妇印象深刻,房本面积三十多,号称能住五口人,两间十余平的房子打通了,加了挑高,做成复式,下面的三十多平隔出客厅、厨房和卫生间,客厅只留一条过道能站直身子,其余空间留给楼上复式,从沙发上起身都得猫腰。房主说,人多数时候在客厅里是坐着的,这么设计是合理利用顶部空间。楼上的复式部分,拆分成两间半,老两口一间,中年夫妇一间,半间留给上中学的孙子住。现在孙子考上大学,可以住校了,一家人没有必要挤在这里,准备往城外搬。看房的时候,米乐老婆盘算如果是自己家搬过来,先不说人能不能耍得开,就是家具都摆不下。这家的柜子有个特点,都直通房顶,极尽盛放之能事。经过楼梯的时候,米乐老婆不知道自己碰了哪里,一扇木板弹出来。原来这片看似楼梯支撑物的木板也是柜门,楼梯下面的空间从高到低依次被用作大衣柜、短衣柜、袜子柜和杂物柜,房间里见不得一立方厘米的浪费。连柜门上都没有把手儿,门是磁吸的,按下去则弹开,再按就吸上,刚才就是米乐老婆不小心顶到柜门。房主人笑着介绍说,面儿上什么都不露,省地儿。笑中透着说不上是得意还是无奈。这一刻,米乐老婆体会到住城外的好了。
但米乐知道,对老婆来说,东城学籍是更好的东西。现在终于等来这一刻——媳妇累了、也烦了的时刻——他可以把存在心中许久的那个想法说出来了。
“倒是还有个方案……”米乐不知为何话一出口感到一阵心虚。
“什么方案?”老婆翻起不抱希望的眼睛。
“弄辆房车。”
“现在卡在房子上,怎么还想着弄什么车!”老婆似乎觉得米乐把握不住重点,随后马上意识到房车是可以住人的,转而说,“弄了以后呢?”
2
大学毕业离校那天,米乐想,以后可他妈不用考试了。这么一想,步伐都轻盈了。现在四十岁,竟遭遇了哈姆雷特的困境:孩子的小学到底是去东城上,还是留在昌平?这道题没有补考,选错了就……就怎样并不知道,也没有人能告诉他。
做这同一道题,米乐和老婆的解题思路不一样。不同于老婆在跨城中寻求解决方案,米乐是先有方案,然后为这个方案在现实生活中找到有力支撑。方案就是他跟老婆所说的“弄辆房车”,直觉告诉他可以这样做。
米乐现在和父母住同一个小区,隔着几栋楼,相互都有个照应。幼儿园接送孩子,当米乐和老婆顾不上的时候,他父母可以代劳。老两口把孩子接回来,还能给孩子弄口饭,米乐他俩几点回家都无所谓了,孩子睡爷爷奶奶那也行,第二天老两口再给送去幼儿园。父母眼瞅着奔七十了,今天不是这个头晕,就是那个明天胸闷,米乐也能照顾到,去医院检查他开车接送方便。所以他不想打破现状,觉得孩子小学在家附近上也没什么,父母依然可以帮着接送。但老婆的底线是,别的怎么都行,学必须去东城上——尽当爹妈的最大努力成全孩子。因为她就是这么长大的,然后从一个四线城市考到北京,当初她妈不输孟母,为了她上学,也曾三迁。
让孩子住学校旁边,已是大势所趋,在这个“规定动作”下,米乐便想到了房车。他一直就想弄辆房车,可以开到哪儿玩到哪儿,需要工作了——他的工作有台笔记本电脑就能完成——车里就能干。有卡座和桌子,不比咖啡厅差,窗外还有风景。可以说,是孩子上学的新问题,正好撞上他的旧心愿。
然后今天看完房子,也可以说在看房过程中,甚至说在第一套老破小看到一半的时候,“时机到了”的想法就开始在米乐脑子里闪现。他想,与其在“砖窝”里睡觉,还不如在“铁桶”里睡,反正都是个小。不就是为了离学校近吗,把房车停学校门口,没有比这更近的睡觉的地方了。相当于给小平房装上轱辘。每天放学先开着房车接孩子回家,小学特别是低年级,三点多就放,这时候路上不堵,四十多分钟就能到家。在家写完作业吃完饭,玩够了,该睡觉的时候,就让孩子往房车上一躺,米乐把车开到学校门口——晚上不堵车,四十分钟用不了就能开到。孩子瓷瓷实实睡一晚上,米乐早起给孩子做饭,车上有电磁炉和冰箱,孩子妈愿意陪睡陪吃也行,车里三张床,足够睡下,比那复式平房的卧室更让人有想躺在枕头上的愿望。
如果是搬来东城,米乐不忍心只搬自己的小家,而把父母留在回龙观。这样一来,不仅开销翻倍,父母也得挤老破小。现在老两口住着百十平的两居室,在一层,不用爬楼,关键是窗前还有个小院子。院子算公共面积里的,因为搬来得早,那时候物业管得不严,老爷子在落地窗前开了个门,直通小院,方便打理草木,省了物业的事儿,这地界儿慢慢也就算自己的了。进入四月,院里的那株树仿佛懂得感恩,不用催就按时开花,白中泛粉,围住树冠密密一团,阳光下尽情盛放。引来蜜蜂,路人也在树前拍照,老爷子坐在窗前泡茶,得意地看着外面。打开窗,风吹过,花瓣会飘进窗里——三四月还不必关窗纱。米乐爸会特意让花瓣就那么散落在窗前的茶几和藤椅背儿上,放那么几天,等花瓣蔫瘪了再扫走。花期一个月,落光后小绿果就冒出来,一周后能看出是杏。到了五月中,杏的个头儿大了,坠弯枝条,有人摘着吃。米乐爸爸看到会拦下,让他们捡掉在地上的吃,这种杏熟透了,不酸。自打搬进这套房子,米乐家就没在吃杏上花过钱。等杏的热乎气儿过了,轮到杏树旁的那些灌木展示,开出一大朵一大朵的花,红彤彤不免艳俗,绽放的热情仍让人忍不住问问这是什么花,很多时候米乐爸故意站在院子里,等着回答:月季。真要搬了家,在北京二环里找到一处窗前有杏树的房子就难了。这是米乐给“弄辆房车”找到的理论支持。
但老婆听完米乐的计划后,第一反应就是不靠谱,这也是她的直觉。完全在米乐预料中,她这些年越来越保守。米乐当然也理解,这种保守从某个角度说,是母爱所致,本质出于对孩子安全的考虑。但米乐这么做——如果房车计划能成行——也不是说就没有父爱了。恰恰这是米乐要传递的父爱,不要被生活中那些貌似坚固的东西困死,如果甘于受困,那些东西会越来越坚固。老婆的保守从另一个角度看,跟对房车的不了解也有关系。
米乐从技术角度给老婆普及了房车知识,告诉她里面床的尺寸,如何取暖、洗澡、做饭,以及一些先行者已经在房车里过上怎样的日子。说着打开手机,调出几条短视频,让老婆看人家怎么在车上过日子,有游荡在城市中的,也有开到荒郊野地一住就是个把月的。
老婆敏锐觉察到蹊跷:“你不是为了孩子上学,你准备了半天,是你想弄辆房车玩吧?”
米乐承认他是爱看那几个房车播主的视频,正是因为平时关注着,关键时候就用上了:“人家成年累月在车里生活,咱们就是让孩子睡个觉、吃个饭,比换房简单多了,风险也小。”
老婆随之问了几个她关心的问题,包括车得多少钱、车牌好不好上,冬天睡觉怎么办,以及米乐能确保每天晚上和早上都像他说的那样守着房车吗?米乐张口就答,新房车从十几万到上百万的都有,开了两三年的二手房车是新车的六到七折,他觉得买辆二手的就行,甲醛味儿散干净了,孩子睡在里面踏实。车牌可以用家里这辆车的,把现在这辆ix35卖掉,开八年了,孩子都长大了,没有上学这事儿,也该换辆大点儿的车。冬天则还在家里睡,可以提早一个小时出门,让孩子在车上洗漱吃早饭,早高峰之前赶到学校。最后米乐保证道:“既然我提出这个方案,我肯定不会缺席。”
“万一呢,万一你有事儿,或者出差不在北京?”老婆像一位象棋大师,考虑的不光是眼前这步,还有很多步。
“你也可以开,练练就行,C本以上都能开。”米乐不是留后手,是鼓励老婆,他觉得这是一次机会——把老婆从盲目内卷的势头里拽出来。让她除了惦记“孩子不能输在起跑线上”,心里也装些别的事情进去,比如想想能开着房车去哪儿过个周末。
他早就对老婆的一些做法不认同了。孩子刚进入幼儿园小班,就被老婆送去轮滑和识字班,因为别的孩子都报了,不是报这个班就是报那个班,于是他们的孩子也不能在家傻玩了,搞得大人孩子都没了周末。和老婆相比,米乐比较佛系,他觉得怎么都行,他就是这么一路长大的——走一步说一步,没有肝脑涂地为一个明确目标过度燃烧自己。大学毕业后他一直自由职业,说不清是性格导致就业,还是就业方式塑造性格。总之就这么过来了,从毕业第一年能养活自己,到后来买了房、结了婚,老能接些活儿,也就没想过找个稳定工作。他和老婆就是接活儿认识的,那时候她刚毕业做实习编辑,需要找封面设计,没资源,就在网站上转,看到米乐的设计稿,给他留言。当时米乐已经做了三四年自由设计师,接了她的活儿。一来二去,见了面,谈起恋爱,常一起吃着麻辣烫聊图稿的完善方案,后来确立了关系。从一开始她就是甲方,所以最终意见都是她拿,慢慢地,这种模式渗透到生活中:蜜月旅行去哪儿、空调买几级能耗的、晚上吃什么……要孩子的事情上也是如此,老婆张罗,米乐配合。以及后来的卖房、给孩子落户,总设计师都是老婆。但设计来设计去,米乐愈发觉得她现在有点儿像参加场地自行车赛的运动员,进了赛道,不管不顾,一圈圈猛蹬,从场外看,仿佛用显微镜看一个不会停下来的电子,也像驴拉磨。
“我不开,那么大一玩意儿,摆弄不了。”老婆依然沉浸在低头猛蹬中,“万一撞了,耽误孩子上学——你这么说了,你就得保证接送。”
“我保证!”
老婆看着米乐,似乎不太相信。
米乐颇为正式地说:“咱们不能再一条道走到黑了,一直卷下去,没出路,越活越累。”
“你想说什么?”老婆没听出这话跟保证每天接送孩子有什么关系。
“有辆房车能让神经放松一下。”米乐又取了一瓶啤酒,打开给老婆倒了一杯,“学会让自己放松,享受一下生活。”
“一点儿不享受,开房车只能让我更紧张。”老婆的红牛已经喝完,似乎有了力气,没拒绝啤酒,端起喝了一口,回归主题,“先说你怎么保证接送孩子。”
人是需要阳光、空气和大自然的。如果有了房车,送完孩子可以把车开到一个自己愿意待下去的地方——估摸是五环外某处不那么现代的地方——泡杯茶或咖啡,在车里开始工作。每天接送孩子对米乐不是忍辱负重,是激动人心的新生活开始了,无需保证。他如此告诉老婆。
老婆考虑的已不止是好几步,是十好几步,问以后上中学怎么办,还睡车里?米乐说那是六年后的事情,现在的人连六天以后的事情都无法把握,用不着想那么远,没准三年后教育政策就变了,这几年生育政策已经发生重大变化,而且六年后房价指不定什么情况,摸着石头过河吧……老婆又有担忧,说要都这样,一家一辆房车上学,学校门口停得下吗?这种考虑米乐不是没想过,他现在自信地告诉老婆:想想咱们家得下多大的决心,才能用房车当学区房,而且我又不用上班,有时间这么干,别的家长里有这条件的少吧——真要是不得不参与竞争,得扬长避短,不是一起同频内卷。
两人很久没有这么聊过了,也或许是难得吃了一顿只有两个人的饭——还是年轻时最热爱、现今久违的食物——近半年压在老婆心头的烦闷消散了许多。她又起身拿了一瓶啤酒。
米乐也聊得浑身清爽,觉得老婆似乎已被说动,同时不忘肯定老婆:“不是每个住得远的孩子都有一个能让他们拥有城里户口的妈,放心吧,学校门口不会遍地是房车的。”
后来两人打车回的家。原因有二:累得不想多走一步;现在九点半了,正好可以考察一下这个时段从回龙观到这里的路还堵不堵。以后这个时间,就是儿子躺在房车里,从家出发的时间。
北二环路边的写字楼依然灯火通明,还能看到有人在窗口里移动。夜色下,这些楼体黑黢黢的,仿佛泥潭被竖立起来,还隔出一个个格子,像鸡蛋盒装鸡蛋一样,装下一个个人。坐在出租车的后排,米乐揽住老婆的肩,老婆顺势将头靠在他的肩上。两人很久没有这样过了。
脸颊感受着老婆的发丝,米乐觉得今天自己又进行了一场提案——关于房车的提案。他依然记得,十几年前,给老婆——那时候连女朋友还不是——的封面设计稿第三次提案成功后,两人一起吃了顿饭,饭后也是这样给老婆送回家的。
3
在正式“弄辆房车”前,米乐先租了一辆,拉着老婆孩子出去玩了一趟。这是老婆的主意,她需要获得足够的安全感,才认可这个方案——如果这趟出行令她不满意,米乐想,难道她还有别的备选方案而不是完善房车方案的不足之处吗——她做事习惯手拿把掐。
米乐照着日后想买的那种车型租了一辆:驾驶室头顶有一张床,车尾放置着一套上下铺,下铺一米三宽,上铺八十,卡座和茶桌那里放平也可以变成一张儿童床,俩大人一个孩子睡这车上绰绰有余。大人睡觉挑床,孩子不挑,进了房车,来不及脱鞋,就挨个床上打滚,还问:“以后可以永远不回家睡觉了吧?”
房车加柴油,自重也大,提速有顿挫感。米乐开了几公里后意识到这个问题,便不像开自己家车那样狠踩油门了,缓缓给油后平稳了许多,及时遮掩了这个可能会被老婆挑出来的瑕疵——车开在路上忽悠忽悠的,孩子能睡安稳吗,米乐想象得到老婆可能会这样说。
因为是体验车为主,米乐没有把车开到太远的地方,游山玩水不是此趟出行的主要目的。三口人在六环外的河边停下车,米乐支上车侧身的阳光棚,架好折叠椅和户外餐桌,摆出水和吃的,弄成室外小客厅。先给老婆营造出舒适惬意的感觉,是第一步。
房车不远处就是贯穿京津的一条河道,有人在河边钓鱼,河对岸停了几辆私家车——都是天津的牌照,看样子过了河就属于天津——大人孩子正在烤炉边生火,青烟冒出来,引得孩子们一阵欢呼。米乐也不甘示弱,拉出房车的燃气灶,拧开自带的油瓶,取出洗切好的半成菜品,准备给儿子和老婆——两人此刻已拿着捞鱼的笊篱到了北京这边的河边——炒俩菜。饿不着,还能吃得比家里好,是米乐的第二步。
吃完饭,米乐又为老婆展示了如何在车上用水——把碗刷了。然后自己在地上画出三个车位,练习了揉库倒库,将来在二环里并不宽敞的街道上他得频繁做这两件事情。老婆最关心的还是睡觉——休息得好坏,直接关系到孩子未来的身高乃至择偶——所以当晚米乐把车开到了儿子的学校门口,停在空车位上,老婆要实地考察此处是否适合睡觉。
当有车辆过往、老婆觉得噪音有点儿大的时候,孩子已经睡着,响起微弱的鼾声。米乐关掉车内照明灯,只留下氛围灯,和老婆面对面坐进卡座,仿佛置身小酒吧。米乐取出备好的威士忌,倒了两杯,放进冰块。
“怎么样?”一杯递给老婆,米乐觉得孩子上学的事儿就算搞定了。
“你确定晚上就睡这儿了吗,喝了酒可不能开车。”老婆仍不踏实。
米乐冲着孩子正在睡觉的床铺——驾驶座头顶的那张床配有安全防护人不会睡着睡着掉下来——一甩头说:“能睡着,已经说明一切,不需要挪窝了。”
说完,米乐起身,拉上那张床的遮帘,孩子隔在里面,车里顿时变成米乐和老婆的二人世界。
夜色深沉,晚风轻柔。威士忌的颜色跟焦糖色的环境光融为一体,冰块在杯里一点点消融,恰到好处没有音乐——如果背景里放着音乐,反而会提醒老婆此刻还有孩子在车里睡着觉。两人仿佛回到热恋,生活中的那些烦恼消失了。
喝到第二杯,米乐给老婆抱到床上。她没想到他依然抱得动她。
米乐欲要亲热,老婆拦下:“外面还过车呢!”
“它过它的,帘都拉上了。”米乐又喝了一口酒。
“万一有城管呢?”
“城管不管这个。”米乐拧亮床灯,关掉环境灯。
“那也不行!”
“怎么不行了?”
“不安全。”老婆及时坐起来,“再弄出个老二,我可崩溃了!”
“我带了。”米乐取出早已备好的东西。
第二天一早,孩子刚睁眼,老婆就问睡得怎么样,有没有感觉到过往的车声?孩子说梦到超级飞侠带他去火星执行任务了,今晚还想在这儿睡,火星上没玩够。米乐征求老婆意见,房车要不要多租一天,进一步体验。老婆说不用,也就这样了,没必要再多花一天租金。
随后,米乐快马加鞭卖了自己家的那辆车,在开学前接手了一位已放弃追求“诗和远方”的自媒体播主——此人曾靠着这辆车走遍新疆当过网红——精心改造过因而用起来更人性化的房车。老婆是文科女,除了最后把握价格——在米乐谈好价格的基础上又砍下两千块——也没怎么在选车的事情上过多参与。
车开到家后,老婆用酒精喷壶给车内边边角角都喷了一遍。儿子迫不及待要到车上睡觉,并在睡着前已将床铺的围板粘满奥特曼贴画。“四轮学区房”的生活就这么开始了。
4
开学两周了。升级为小学生的家长,米乐没怎么感觉到身份的变化,除去接送占用了一些时间。不过也乐在其中,孩子送进学校后,房车就成了他的世界,可以满怀激情地——他真的感觉到一种冲动——待在里面做无论什么事情,连带也会对工作重新产生热情。之前无论在家还是去咖啡馆工作,都让他厌倦,中年人更需要保鲜。
白天米乐会把车开到愿意驻足的地方,通常是城外。哪怕是早高峰,出城方向也不堵,用不了一个小时,一个有树有河看不到高楼大厦的世界就会出现在眼前;然后泡杯咖啡,靠在卡座上——虽然没有家里的沙发大,却能给人注入活力,仿佛充电桩——开始这一天属于自己的生活:坐久了可以下车去河边打水漂,顺便把肩膀也活动了;有一次他甚至做了一套广播体操——他有轻微的肾结石,大夫让他多喝水多蹦——一切在城里看来不合时宜、想象不到的事情,在这里都可以发生。包括他倾心已久的钓鱼活动,几年前置办的装备,终于派上用场,运气好的时候,午饭问题能靠着大自然的恩赐来解决。
生活节奏重新回到自己手里。享受到莫大的自由,也让米乐在下午三点接孩子的时候,是笑逐颜开的。
九月中旬是北京最好的季节。天空柔媚,风清云静。这天米乐刚完成一稿设计,准备钓会儿鱼,找到一片潮湿的土地,用树杈挖起蚯蚓,手机响了,连响两下。米乐站起身,掏手机,老婆叮嘱过他,听到手机响能看就第一时间看——刚从幼儿园进入小学的孩子还不习惯新环境的要求,容易出事儿。
米乐点开手机,果然是班级群的消息。教语文的班主任先发了一张十几个同学站在黑板前的合影,后发的是一段文字,解释合影内容:以上孩子在拼音声母默写中全部写对,希望再接再厉!米乐看到有自己儿子,挺满足,儿子也争气——在他妈那没有给开着房车上学的生活留下话柄。米乐想,要不要发个大拇指或庆祝的表情,进而觉得不妥,班里三十五个孩子,有一半多的孩子没在合影上,不能在别的家长面前太嘚瑟,便继续自己的事儿。
挖到蚯蚓,挂上鱼钩,竿往河里一甩,米乐心情欢畅。这时候班级的微信群又响了,米乐很想知道别的家长会作何反应,急忙点开。映入眼帘的并不是一个简单的表情,也不是类似“真棒”这种无关痛痒的话,是段只读一遍并不能全部体会其中用意的文字——米乐读了三遍。意思并不复杂,只是米乐又读了两遍,才确信是他第一遍读出的那个意思——他没想到,有人敢这么直截了当地和老师说话。
话的大意是:不应该公布做题全对的合影,某种程度上等于变相在给孩子排名,教委说了,不应该公布学生的成绩和排名,尤其小学生,一年级开学才三周,这么做不太合适。
群里每位家长都给微信名做了标注,不是这个妈妈,就是那个爸爸,说话的这位是个妈。米乐点开这位妈妈的头像——不像有些妈妈用孩子照片或个人游山玩水的照片做头像,她的头像暗昧不清——放大后依然是看不真著的一团东西,朋友圈也不可见。
米乐相信,很多家长将和他一样,等着看老师如何回复。虽然全对的孩子里有自己儿子,米乐仍觉得这位家长说得在理,甚至认为班里有位敢于呼吁的家长是这个班的幸运。
直到米乐收拾了鱼竿,准备开车去接孩子了,群里也没有班主任的回复。其他家长也没有发言的,这种事情,站哪边说都有点儿拱火的意思。米乐猜群里人多嘴杂,老师应该是跟那位家长私信沟通了。
在米乐往城里去的时候,手机响了,正好红灯,赶紧点开看,班主任在群里说话了。她说刚才在给别的班上课,抱歉回复晚了,发合照没有别的意思,就是想让家长们了解孩子在学校的情况,督促孩子从入学初始就养成当天学习内容当天消化的习惯,这次默写拼音有同学一个也没写出来,应该及时让孩子知道小学和幼儿园不一样了——有很多孩子上过幼小衔接,对学习已经有了准备,但仍有孩子不明白上学的目的——进了校园不是来玩的了,今天的合影远谈不上排名,也不是优劣对比,以后到了三年级功课量上来了,不用排名,学习差异自然会显现出来。
米乐知道,关心着群里对话的家长已经越来越多,虽然没有一个人说话。没过多久,那位妈妈又回复了,更希望老师发一些孩子在学校运动、吃饭、上课的照片。老师也很快回:会发的。
这时候米乐也开到学校门口,准备接孩子了。他记住了这位妈妈孩子的姓名,把儿子接上车后,让儿子指给他看,叫那名字的孩子是哪个。儿子对着学校围墙外杂乱的人群看了半天,说没找到。米乐把今天的合影给儿子看,儿子挨个叫出人名,没有那个名字的学生。往家开的路上,米乐问这同学在学校表现怎么样,儿子说跟他不熟,两人座位不在一个方向。
在父母那吃晚饭的时候,老婆在饭桌上表扬了儿子,把默写全对的合影调出来给爷爷奶奶看。老两口看完异口同声:好孙子!妈妈说,台上一分钟台下十年功,抓紧吃饭,吃完刷两套十以内加法题。
第二天,米乐又在群里看到数学题全对的合影,儿子仍在里面,想必老婆也会看到。他把这张照片和昨天的照片做了对比,有十一个孩子昨天也出现了,另几张是新面孔。后来群里一直没有人说话,米乐想,也许那个孩子今天也在照片上,所以妈妈看到照片没有反对,或者知道说了没用,扭转不了老师的意愿,索性闭嘴。
隔天,晚上吃饭的时候,老婆突然问儿子,是不是班主任向你们承认错误了?儿子说他也不知道。老婆问,老师说话时你认真听了吗?儿子说认真听了,老婆说那老师说什么了,儿子说老师说了太多,想不起来。米乐问老婆,学校里怎么了?老婆说班里后来建了一个纯家长群,老师不在里面,有家长听孩子回家学舌,说老师主动承认了错误,再问承认了什么错误,孩子又学不到位,所以群里就动员所有家长都问问自己的孩子,看有没有能说清楚这事儿的。说罢,老婆给米乐拉到群里,让他“时刻准备着”。准备什么,米乐一头雾水,老婆说,跟班里同步就是准备着。
进群后,米乐查看了群成员。那个熟悉的却看不清是什么的头像安静地显示在列表中,不知道为什么,米乐看到后有种心安的感觉。然后又在群里看有没有这个名字男生的父亲,没有找到,之前在班级群里他也没有看到这孩子父亲的微信。大概是男性不愿意过多参与育儿的事情,就像自己也是刚刚加入这个家长群,米乐这样想。
后来都很晚了,一位女生的母亲在家长群里说,孩子睡觉前告诉他,班主任今天在课堂上向大家保证,以后不给大家拍合影了——老师承认的可能就是这个错误。于是家长们纷纷发言,找孩子确认老师是否说过这话,均得到肯定答复。有人说,难得遇到这么开通的老师,能主动向孩子承认错误。米乐想,肯定也有失落的家长,真不发照片了,就不知道自己孩子还是不是班里前十名了,比如他的老婆。但他没有问老婆是不是这样想的。
后来几天,果然没再看到班级群里出现满分孩子的合影。饭菜却又出了问题。
先是傍晚的时候,一位妈妈在家长群里说自己家孩子说今天某同学的菜里——学校用统一的食盘打餐——出现了蛐蛐。她艾特了那位同学的妈妈,请她问问孩子是不是有这么回事儿。没等当事人妈妈回复,别的妈妈就证实了这件事儿,她们的孩子也都看到那位同学的餐盘里出现蛐蛐。群里一下炸锅了,虽然蛐蛐出现在某一个人的餐盘里,但饭菜都是用大保温桶装盛的,这意味着大家的饭菜里都沾染了蛐蛐。其中一位爸爸分析——也可以说是火上浇油——蛐蛐都在石头缝儿里、草窠里,躲着人,能进到厨房的,只能是蟑螂。一时间,屏幕上出现不同妈妈发出的呕吐表情。
众人揭竿而起,各种对于学校饭菜的抱怨发在群里。有人说孩子的餐盘上出现过饭嘎呗儿,卫生不过关。有人说看着那些饭菜就难吃——老师会把每日饭菜拍照发到班级群——米饭暗沉,肉的颜色也浊浑,肯定是冷冻很久的。有人接话:是的,孩子说肉都嚼不动。另有一位妈妈说,有一次孩子跟她说,午餐吃的是蜗牛,她也没多想,还觉得伙食标准挺高,现在想想,肯定是菜没洗干净才出现蜗牛的。马上就有妈妈问,那孩子把蜗牛吃了吗?
这时候,那个头像不清的妈妈说话了,她问,退伙行吗?并艾特了群主。群主也是位妈妈,兼职班级家委会,算是家长们和学校沟通的代表,她说先私信跟班主任沟通下。
在家委会妈妈和老师沟通的当儿,蟑螂当事人的家长在群里回话了,已问过孩子,确有此事。孩子发现异物后,举手报告了班主任,班主任走过来,将异物取出,随口说了个“蛐蛐,给你换一份”,便将餐盘端走,又端来一份新的。有家长问,真的是端来一份新的吗,还是端走又端回来了?马上有家长说,这有什么区别,蟑螂和菜出自同一个保温桶。随后又有家长说,同事的孩子在别的年级,刚才问了下,那个年级的饭菜里也屡屡出现异物。于是群里达成共识:饭菜问题已根深蒂固。
家委会妈妈发来和班主任沟通的结果,班主任说这个问题各个班级都向学校反映过,但老师的职责有限,就是教课,无法插手餐饮管理,今天发生的事情,她会向学校汇报,其实老师们吃的也是这些饭菜,早想彻底改进。班主任同意不想在学校吃午饭的同学退伙,家长中午十二点把孩子接走,一点半前把孩子送回学校就行。米乐看到这里,问老婆接不接,午饭他可以提前备好,带孩子在房车上吃——虽然这样会耽误他去郊区钓鱼。老婆犹豫着,不知道接走合不合适。这时候,头像不清的妈妈先在群里说话了,我接,她说。
随后班委会妈妈做了一个接龙,让接孩子的家长报名,她会把名单转给班主任,明天学校安排老师把这些孩子送到学校门口,由家长带走吃午饭。看到有五位家长参与了接龙后,米乐老婆也报了名。作出这个决定后,孩子爷爷赶紧又熘了个肝尖,炖了锅牛肉胡萝卜——特意做八成熟——放凉后装进餐盒;明天中午米乐在房车上用电磁炉稍作加工,孩子的午饭就有了。
5
一位男老师带着二十几个高矮不一的孩子走出校门,二十几位横跨老中青的家长领走自己家孩子。米乐把儿子接上车问,不都是你们班的吧?儿子说就八个是他们班的,还有别的年级的。
米乐打开刚刚热好的炖牛肉和熘肝尖,现蒸的米饭给儿子盛了一碗,爷俩儿坐进卡座面对面吃起来。吃了几口,儿子说没有学校的饭好吃,明天还想在学校吃。小孩的好吃跟大人的好吃标准不一样,米乐也没纠正儿子,只是让他明天中午接着出来,爷爷会给他做更好吃的东西。对米乐来说,退伙是一种行动,是行动就要彻底,直到学校更换午餐供应商——目前提供午饭的是一家食品公司,从家长们收集到信息看,这家公司从原料到食品卫生、从烹饪到餐具洗刷,处处糊弄事,堪称恶劣,已不是需要改进的问题,必须解除合作。
吃到一半,儿子指着窗外的前方说,那是我们班的。米乐扭头望去,马路斜对面停了一辆吉普车,后备厢盖扬起,一个小男孩正坐在折叠座椅里,用后备厢靠近右尾灯的一边儿当餐桌。左尾灯那边儿坐着一个女的,估计是孩子的妈妈,戴着墨镜,头靠在车体上,晒着太阳。米乐问那同学叫什么,儿子说出名字,米乐听了心中像被火光闪了一下,正是他打听过的那个名字。
那个孩子刚好吃完饭,妈妈从保温杯里倒水给他喝,然后收好折叠椅,后备厢盖一扣,领着孩子过了马路。把孩子送进校门,妈妈又回到吉普车,掀开后备厢,站着把孩子没吃完的饭菜吃了,然后驾车离去,是辆老款吉普。全程戴着墨镜,米乐猜不出她长什么样。
儿子也吃饱了,老婆嘱咐过米乐,吃完就回学校,不要在车里逗留太久,尽量合群,别弄得跟和学校作对似的。送完儿子,米乐回到车里发了会儿呆,不到三个小时后又要接孩子了,他没有时间开着车再去别的地方了。儿子的“退伙”拴住了他,不过他也心甘情愿,为了“行动”而牺牲部分自我,是理所应当的。
第二天米乐把儿子接到车上后,看到男老师还带着儿子班的那孩子站在校门口,墨镜妈妈没来接他。天色暗沉,风也大了,说话就要下雨,米乐让儿子把那孩子叫车里来。男孩上了车,米乐给他拿来碗筷,叫他和儿子一起吃。小孩不见外,也确实饿了,拿起就吃。俩孩子还不太熟,各吃各的,米乐撮合两人认识,想让儿子在学校多交朋友,跟所有人打成一片才好。米乐问小孩叫什么,小孩报出名字,儿子说爸爸你不是知道他的名字吗?米乐赶紧接上话,说我问的是小名。男孩又说出小名,叫Sting。儿子笑了,说,你叫死拧吗?Sting说,英文,sting,不是死拧。米乐问这名字谁起的,Sting说我妈。米乐问你妈妈是做什么工作的,Sting说她是唱歌的,有乐队。米乐——知道美国有个著名摇滚歌手就叫Sting——问Sting,那你爸爸是做什么的?Sting说我爸工作忙,住在别的地方。米乐大概清楚为什么群里没有这孩子爸爸了。
雨点淅淅沥沥落下,打在房车顶棚上。昨天那辆吉普车这时候开到学校门口,墨镜妈妈下车找孩子,米乐打开防蚊虫拉门,孩子探出身子喊:“妈”。
墨镜女把吉普车开上马路牙子,停在房车旁。米乐跟她打招呼,说俩孩子一个班的,怕孩子等不到她着急,就把孩子带车上了。墨镜女摘下墨镜——一笑眼角已能看出鱼尾纹,脸上没有这个年龄女性过多人为干预的那种湿肿——赶忙致谢,见孩子已经吃上,更是不好意思。米乐说现成的粗茶淡饭,两人搭伙更有食欲。妈妈赶紧去吉普车里取来保温桶,摊开摆在桌上——米饭没有再往桌上放——让俩孩子一起吃。分体保温餐盘里分别盛着鸡蛋西红柿和牛肉炒芹菜,米乐能看出这是一位不擅厨艺或对吃没什么讲究的妈妈。Sting扫了一眼盘里说,我妈老做鸡蛋西红柿。妈说,你老点我才老做。米乐儿子率先㨤了一勺,说好吃。Sting说,没有你家的菜好吃。米乐儿子又㨤了一勺说,你家的才好吃。
米乐主动介绍了为什么会开着一辆房车出现在这里,以免Sting妈妈觉得奇怪,或认为他们一家子为孩子上个小学劳师动众。Sting妈听完说,都不容易,全为了孩子。米乐问她,昨天在吉普车后面吃饭的是Sting吧?Sting妈说,对。米乐问,你们住得远吗?Sting妈说,开车单程十五分钟,没必要把时间浪费在路上,现在天气也不冷,就让Sting先这么吃着,早点儿吃完还能回教室趴桌上睡会儿。米乐说,以后来我车上吃吧,反正我们天天在这,慢慢天也冷了。Sting妈说不用麻烦,米乐说不麻烦,俩孩子一起吃还能有个伴儿。Sting妈说那饭我做,我那用火比你在车上方便,米乐没有拒绝。
米乐也不好意思袖手旁观真让Sting妈做饭,所以第二天餐桌上特别丰富,已经摆不下了。Sting妈带来三菜一汤——不输学校的标准——米乐也备了两个菜,再来俩孩子都吃不完。米乐儿子和Sting吃完,两位父母给他们送进校门,然后两个大人回车打扫各自孩子的剩饭。Sting妈做的是牛排、蒜蓉粉丝蒸白菜还有盛了半只鸭子的老鸭汤,里面煮了萝卜,用心了。米乐吃着想,真要是这么客气下去,做饭也该内卷了。他夹了一块切好的牛排说,做这个挺费事儿吧?Sting妈说,用空气炸锅做的,肉放锅里,喷点儿油,扣好盖儿就行了。又说,其实自己不怎么会做饭,从网上现学的,以前都是姥姥姥爷给孩子做,现在上了学,儿子跟她住,她才把做饭一事纳入日常。Sting妈问米乐是做什么的,可以每天以这样的方式等儿子,挺带劲的。米乐说做设计,书、海报、产品logo、包装盒,都做,现在不能挑活儿了。Sting妈说,我是做乐队的,尤其生了孩子,有演出就去,也不挑活儿,说完笑了。
米乐问了乐队的名字,Sting妈说很小众,报出名字米乐果然没听过。Sting妈说做得不好,一直默默无闻,说完又自嘲地笑了。典型的北京女的。随着各自孩子的剩饭见了底儿,两人的闲聊也结束了,客气告别。
晚上爷爷又做了好几个菜,儿子没怎么吃,说中午吃顶了。爷爷很骄傲,说我做的饭有那么好吃吗?中午饭都是爷爷准备,米乐只负责最后一道工序,将八成熟变成彻底熟。孙子回答爷爷没那么好吃,是Sting妈做饭好吃,吃得下午上课直打嗝。米乐老婆听到,问米乐怎么吃起别人家的饭?米乐简单说了经过,还说,弄孩子都不容易,车上有地儿,互相方便一下。老婆立马说,她家的饭卫不卫生呀?米乐说,肯定卫生,人家自己孩子也吃。老婆又问,那孩子叫什么呀?开学不足一个月,家长和家长、家长对班里,尚都不熟。儿子说,叫Sting。老婆拿起手机,在群里翻这名字的家长,似乎要找到照片相相面,方决定能否继续搭伙。米乐知道老婆找不到,就让儿子告诉妈妈Sting的大名。儿子话音未落,妈妈就跟被点着了似的:“他妈呀!”
“他妈怎么了?”儿子不理解自己妈妈的反应。
“他妈做饭好吃!”米乐赶紧接过话,给老婆递眼色,示意打住,他知道老婆怎么想的。
话题被终止,事情在老婆那远没结束。就他俩的时候,老婆说不愿意让儿子跟那孩子接触,怕受影响。他妈群里质疑完老师,还去学校找校长给老师告状——所以班主任才会在班里向学生承认错误——这么怼老师,老师肯定对她孩子没好印象,老跟那孩子在一起,咱孩子也没好果子吃。米乐听到很多闻所未闻的信息,问找校长这事儿是哪儿听来的?老婆说,学校恁么一个小地方还能有不透风的墙?米乐觉得既然老师向孩子们承认了错误,说明这孩子的妈没做错。老婆说话不是这么说,对错单说,关键是做法太鲁。米乐对这事儿的理解不是“鲁”,是纯粹,Sting妈是搞摇滚的,直截了当,道出很多人的心声。这样的人理应受到呵护,现在却成了大伙“对面的人”——从老婆接下来的话里,米乐听出来,老婆和另几个妈妈似乎达成统一战线,认为Sting妈在拉着全班躺平,她们不接受自己的孩子这样,正商议对策力争让这个班的孩子跟上全国六岁半儿童的节奏。作为这个“不躺平”组织的人,米乐老婆认为不宜跟Sting妈走得太近。
米乐发现他和老婆想事情经常想不到一块儿去了。一个纯粹的人,哪怕不被尊重,至少不该被排挤,米乐是这么想的。他有点理解不了现在的世界,和现在的老婆,老婆后面的那些话,已让他听不进去。
直到老婆说了一句话,把米乐拉回到正在进行的对话中:“你要是不好意思谢客,就让儿子继续回学校吃饭,她也不可能还让她孩子去你车上吃吧?”
米乐没想到老婆能为此牺牲孩子的“食品安全”,更对老婆在“行动”上如此不彻底和是非观的错乱而扼腕。他觉得不能再佛系下去,该摆出态度了,说:“不怕儿子下回从学校的饭里吃出个灶马儿?”
“灶马儿是什么?”老婆小时候只知道书本和教室。
“以前北京的公共厕所里全是这玩意儿!”米乐说完,起身去叫儿子。该出发去学校门口睡觉了。
米乐打开一听啤酒,踏踏实实喝了一口,仰靠在房车的卡座里,一条腿搭到对面座椅上。这是他最舒服的姿势。其实不是姿势有多舒服,是爱一个人这么待着。
车外有蛐蛐叫,二环里都快没有老北京人了,竟然还有蛐蛐。儿子正在米乐身后的床上睡着觉,车里三张床,儿子想睡哪张看心情,米乐就睡儿子挑剩的那两张。到了这个岁数,米乐貌似对诸多事情已无所谓,其实很有原则,用内力控制着生活,以防沾染、滑离、坠落。
现在米乐调出Sting妈妈的歌,匹对上耳机,喝着酒听起来。刚才开来的路上,儿子睡前突然唱起歌,吐字不是很清,米乐听了一个大概,好像唱的是:1、2、3、4、5、6、7……do、re、mi、fa、sol、la、xi 什么的。米乐问儿子是音乐课教的吗,儿子说不是,跟Sting学的,他妈会写歌。现在儿子睡着了,米乐还记得Sting妈妈乐队的名字,在音乐平台搜到这个乐队。成员四人,Sting妈是主唱兼词曲创作,另外三位男性负责吉他贝斯鼓,有三千多粉丝——知名乐队的粉丝都好几十万——去过欧洲巡演,拿过两个独立音乐的奖,成立快十年了。米乐一算,组队的时候Sting还没出生,乐队到现在也没有出名,却还能搞下去,说明Sting妈靠这个能养活自己,也说明她是真喜欢干这个。
歌词多是英文的,曲调晦暗,伤惋迷蒙,适合晚上听,也和她头像挺搭。米乐以己度人,猜可能到了他这个年龄无论男女,都生活在迷离扑朔的日子里,因此从头到脚都跟通俗明朗无缘。听到一首像把人按进水里的歌,沉闷压抑,米乐不仅不觉得难听,还感觉情绪恰到好处。突然吉他亮音响起,像一只手伸进水里,把溺水的人拉了上来,世界豁然开朗。
听到这,米乐有些坐不住了,有种东西被唤醒。他来到车外,需要将这种东西释放,或在夜空下任它生长。随着乐曲的进行,鼓的韵律清晰起来,有种整装待发的感觉,米乐竟然跟着做起开合跳——平时他也常跳,心态和心率都不想过早衰老。
跳了不知道多少个,乐曲结束,米乐停下来,踱步深呼吸,平复心跳。往前走了十几步,又往回返,下一首歌已经开始。一转身,看到一个人推着自行车站在房车旁。米乐走近,看清是谁,吓一跳,Sting的妈妈。米乐摘掉耳机,说,是你呀,太黑没看清。Sting妈说,刚才喊了你两声,你戴着耳机没听见,听什么呢?米乐说,你们乐队的歌,说完停掉耳机,手机里果然传出她再熟悉不过的曲调。然后解释说,孩子睡前唱了你们的歌,Sting教的,我就正好找你们乐队的歌听听。
米乐意识到Sting妈这个时候出现在这里很意外,问她来这有事儿吗?Sting妈说她刚好排练结束,骑车回家,看到米乐在锻炼,就停下打个招呼。米乐说,你们的音乐挺耐听。Sting妈笑了。两人谁也不再说话,乐曲在夜色中放着,闪烁的路灯好像打在舞台的灯光。
Sting妈突然说,过几天国庆长假,乐队会在河北某城参加音乐节,邀请米乐带孩子来玩,她也带Sting去,音乐节在湿地公园,可以野营。米乐应诺。
6
老婆说不用订她的票,不想跟Sting家走太近,以免日后麻烦。但孩子想去,米乐就开着房车带儿子去了。
Sting跟着妈妈前一天就到了办音乐节的城市,组织者怕国庆假期路上拥堵,提早把参演的乐队接来。大型音乐节都不让露营,也不让带水进场,这个音乐节规模小,乐队名气都不大,为了吸引更多人来看,取消了这些限制。演出当天,组委会在每支乐队的休息处都搭起天幕,架好折叠桌椅,摆上吃的,场面工作做足,让乐手们发朋友圈,宣传音乐节,吸引更多乐队日后来演出。
米乐带儿子是演出当天下午赶到的,找到Sting妈妈所发照片上的紫色天幕。一路上,看到乐迷们五颜六色的头发、千姿百态的衣服,儿子跟米乐说,这些人“泰裤辣”——这是他上学后学到的一个流行词。米乐说,你长大了也可以这样。
儿子和Sting会师,还有一些乐队的亲友也带来孩子,小朋友们在草地上玩起“木头人”。大人们似乎刚吃完饭,桌面上摆着组委会派发的盒饭,已经吃空,还没收拾。Sting妈介绍了米乐和大家认识,吉他手递来一听啤酒,米乐打开,跟手里有酒的人都碰了一下。
天气已经不热,有人把椅子搬到天幕外面,找阳光晒。米乐用啤酒和在场的人打完招呼,也搬椅子找了片阳光,从这里能望到舞台,离演出还有一会儿。
大人们窝在沙滩椅里,说着无关紧要的话;孩子们在不远处玩耍,对游戏中的犯规者明察秋毫。如果几日后这些人不需要上班上学,生活简直无可挑剔。
一阵不小的风刮过,吹翻桌上的空餐盒,盒盖儿被卷走。Sting妈起身去捡,没等弯腰,塑料盖儿又被刮走几米,吹到孩子们脚下。一个男孩看Sting妈奔盒盖儿而来,他俯身去捡,刚伸手,盖儿又往前窜了窜。于是孩子们争前恐后去捡那盖儿,风似乎有意和他们做游戏,又卷起盖儿向前。孩子们的兴致更高涨了,像一群蜜蜂追讨敌人而去。终于,一个大点儿的孩子捡到了——或者说抢到了。Sting妈撑着营地的黑色大塑料垃圾袋来接,拿着盖儿的孩子扣篮一样将斩获物投入袋中,洋洋得意,仿佛球场上的MVP,其他孩子有些沮丧,吵着要再玩一次。Sting妈说,那咱们一起去捡垃圾,把地球上的垃圾都捡干净。
当儿子告诉米乐他要去捡垃圾的时候,米乐一开始没听懂,但儿子已经跑走,去追大部队。米乐就拿着那听啤酒,在后面跟着,看到Sting妈拖着大号黑色塑料袋,像个丐帮帮主,指挥着五六个孩子,把出现在草地上的垃圾一一捡起,汇总到她的袋子里。
这也太摇滚了吧?还是哗众取宠?米乐拿不准,保持着距离,跟在后面。
孩子们为了收获更多战利品,开始创造垃圾。儿子跑来,管米乐要啤酒罐,米乐一口喝完,孩子喜悦地拿过罐子去上缴。有孩子走到露营人面前,问吃了一半的食物要不要扔掉,被问者微笑着摇摇头。好在只带了一个黑色袋子,很快就装满了。Sting妈把袋子放到垃圾回收处,带孩子们去浇花的水龙头下洗手,然后回到营地。
组委会的工作者正举着小摄像机采访乐队其他成员,见主唱回来了,镜头冲向Sting妈。采访者是个小姑娘,问,刚才听乐手说,乐队解散过几年,前年又重组,都出于怎样的考虑?Sting妈反问,他们——看向三位男乐手——怎么说的?采访的小姑娘说,他们说听您召唤,他们就回来了。Sting妈笑了,说你听他们瞎掰呢,当年解散也不是我召唤的,还是散了。小姑娘追问,那您说是为什么呀?Sting妈说,当年觉得干这个没希望,挣不到什么钱,只能解散,后来该结婚的结婚,该生娃的有了娃,班也上了,折腾一圈发现还是干这个好,不用看人眼色,自己喜欢什么样的音乐就做什么,不用讨好任何人。现在靠乐队能养家吗,小姑娘又问。乐队的人听到这个问题都笑了,Sting妈说,那就看过什么日子了。小姑娘最后举着话筒问道,说来说去还是因为发自内心喜欢音乐喽?对,Sting妈说,离不开。
这时候几十米外的舞台上传来一声吉他的失真,演出即将开始。观众席已聚集了千把人,前排的乐迷舞动着几杆大旗,乐队主唱说着感谢音乐节和乐迷的话来暖场,鼓手在恰当时机搞了段solo,气氛被点燃。采访团队去拍摄演出现场。Sting妈乐队的乐手们拿出乐器,开始热身——具体就是热手热嘴——Sting妈咿呀嘿吼地开着嗓子,他们第四个出场。
随后Sting妈和吉他手合到一起,一个演奏一个唱。第二支乐队开始上场,舞台上没了动静,米乐能听到Sting妈唱的就是那天晚上儿子在房车里唱的歌:1、2、3、4、5、6、7……do、re、mi、fa、sol、la、xi。Sting和儿子跑过去,跟着他妈一起唱起来。唱着唱着,Sting妈灵机一动,添了两句词。新词在两个孩子的演唱下,出现一种美妙的效果,米乐听到也为之一动。旋律朗朗上口,另外几个孩子也加入进来,Sting妈闭了嘴,现场成了童声合唱团。
这时候来了组委会的人,让乐队去候场。Sting妈征求乐手们意见:要不然让孩子们也上场?鼓手说,靠谱!Sting妈让孩子们去征求各自家长意见。儿子跑来问米乐,米乐说,只要你愿意,当然行。
乐队的四个大人先上了场,第一首歌是展示乐队风格的英文歌。第二首歌换成中文的,唱至一半,Sting妈冲后台一招手,孩子们上场了。她领唱了几句,随后就将麦克风冲向孩子们。乐队降低了器乐演奏成分,只留下贝斯铺着节奏,孩子们的声音被突出,唱出:“1、2、3、4、5、6、7,不是你在班里考第几,1、2、3、4、5、6、7,它们是do、re、mi、fa、sol、la、xi……”听出米乐一身鸡皮疙瘩。在这种声音下,空气也仿佛被净化,观众发出和之前不一样的欢呼声。
Sting妈举着手机,站在Sting身旁,拍摄着这一幕。米乐也从台后呼哧带喘跑到观众区,挤不进去,就在最后一排,正面拍摄这个场面。
孩子们反复唱着那句歌词,乐迷们也跟着唱起来。乐队索性停止任何演奏,成了孩子的清唱,现场数千人挥舞着手,跟着孩子们一起唱。
这时候,米乐的手机响了一声,是微信,他没理会,继续拍摄。
随后不到一分钟,老婆电话进来,米乐没接,拍摄没停。响了十多声后断了,马上又打过来。孩子已唱完,鞠躬谢幕离场,米乐接了电话。
“你疯了吧!”老婆开口喷火。
“怎么了?”米乐以为家里出了什么事儿。
“你看看群里!赶紧给我把孩子拽下来!”老婆的声音盖过现场巨型音箱发出的声音,直撞耳膜。
米乐在房车里连住十天了,平时他只是晚上陪孩子睡在学校门口,周末和孩子还是会躺到家中的床上,现在他已经第十一天睡在车里了。那天他在儿子班级群里看到Sting妈妈发的视频,是她从台上拍的孩子们唱歌,只拍了Sting和其他孩子,有意避开米乐儿子。老师也在这个群里,显然,她想让老师和部分家长看到这一幕。米乐老婆看完后有种直觉:自己儿子也在台上。于是炸了。加上视频确实不小心扫到另一个孩子的胸口以下,露出有限的衣服,这让米乐老婆确认了那就是自己的儿子,于是被引爆了,给米乐打去电话。
米乐那天也被点着了。孩子们的童声如天籁,直钻心窝,辅以歌词,听得他热泪盈眶。加上现场数千人的合唱,让米乐觉得“这样才是对的”,然而老婆的电话在这个时候不合时宜地来了。不知道触碰到米乐的哪根神经,或者说击穿了他,窝在缝儿里的那个更真切的米乐钻了出来,选择拒绝错误的声音——比如老婆说出的那些话——让正确的事情变得更对,于是就把自己从正面拍的那条视频也发到了老师所在的班级群。视屏中,儿子和Sting与另几个孩子,坦荡地站在台上,唱着“1、2、3、4、5、6、7,不是你在班里考第几……它们是do、re、mi、fa、sol、la、xi……”台下上千双手跟着他俩的节奏挥舞。
然后米乐的电话和微信就被老婆打爆了,让他赶紧撤回视频。米乐没有撤,手机那头儿的老婆表现出比台下乐迷更疯狂的激情。
接下来,米乐就没再回家睡过觉。如果没有孩子,他会开着这辆车,去到一个什么地方,过上那么一段时间。但现在他做不到,因为孩子,他还要接送。他能做的,就是在车里先凑合一段时间;也幸好有了这辆车,让他在这样一种时刻里,能有个地方一个人待着,可以把前前后后的事情好好想一想了。
作者简介
孙睿,作家、编剧、导演,北京电影学院导演系硕士毕业,写小说为主,也写剧本。已在本刊发表中篇小说《斗地主》、《发明家》,获2019年《北京文学》优秀中篇作品、2022年《北京文学·中篇小说选刊》优秀中篇选载作品。
责任编辑 张颐雯
特约编辑 蓦 凡
', error: Error code: 429 - {'error': {'message': 'You exceeded your current quota, please check your plan and billing details. For more information on this error, read the docs: https://platform.openai.com/docs/guides/error-codes/api-errors.', 'type': 'insufficient_quota', 'param': None, 'code': 'insufficient_quota'}}
2024-06-14 15:27:39 - httpx - INFO - HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 429 Too Many Requests"
2024-06-14 15:27:39 - AnalysisRunner - ERROR - Error running analysis 'Summary' using GPT4Model. Error type: RateLimitError. Error message: Error code: 429 - {'error': {'message': 'You exceeded your current quota, please check your plan and billing details. For more information on this error, read the docs: https://platform.openai.com/docs/guides/error-codes/api-errors.', 'type': 'insufficient_quota', 'param': None, 'code': 'insufficient_quota'}}
Traceback (most recent call last):
File "/Users/apple/editor-app-v10/analysis_runner.py", line 47, in run_analysis
result = model.invoke(prompt)
^^^^^^^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/language_models.py", line 78, in invoke
response = self.model.invoke([prompt])
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/langchain_core/language_models/chat_models.py", line 170, in invoke
self.generate_prompt(
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/langchain_core/language_models/chat_models.py", line 599, in generate_prompt
return self.generate(prompt_messages, stop=stop, callbacks=callbacks, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/langchain_core/language_models/chat_models.py", line 456, in generate
raise e
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/langchain_core/language_models/chat_models.py", line 446, in generate
self._generate_with_cache(
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/langchain_core/language_models/chat_models.py", line 671, in _generate_with_cache
result = self._generate(
^^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/langchain_openai/chat_models/base.py", line 537, in _generate
response = self.client.create(messages=message_dicts, **params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/openai/_utils/_utils.py", line 277, in wrapper
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/openai/resources/chat/completions.py", line 606, in create
return self._post(
^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/openai/_base_client.py", line 1240, in post
return cast(ResponseT, self.request(cast_to, opts, stream=stream, stream_cls=stream_cls))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/openai/_base_client.py", line 921, in request
return self._request(
^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/openai/_base_client.py", line 1005, in _request
return self._retry_request(
^^^^^^^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/openai/_base_client.py", line 1053, in _retry_request
return self._request(
^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/openai/_base_client.py", line 1005, in _request
return self._retry_request(
^^^^^^^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/openai/_base_client.py", line 1053, in _retry_request
return self._request(
^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/openai/_base_client.py", line 1020, in _request
raise self._make_status_error_from_response(err.response) from None
openai.RateLimitError: Error code: 429 - {'error': {'message': 'You exceeded your current quota, please check your plan and billing details. For more information on this error, read the docs: https://platform.openai.com/docs/guides/error-codes/api-errors.', 'type': 'insufficient_quota', 'param': None, 'code': 'insufficient_quota'}}
2024-06-14 15:27:39 - LanguageModels - ERROR - Failed to invoke GPT-4 with prompt: '
Analyze the writing techniques used in this text (output in Simplified Chinese):
四轮学区房
孙 睿
1
刚开始没想到是吃麻辣烫的,太饿了,从外面看着像能吃饭的地方,米乐和老婆便推门往里走。一进来,就想打喷嚏,呛得,又打不出来。空气中,一个个香辣分子在翻滚。老婆一屁股坐到桌前,顾不得味道粘在衣服上将久久不散,扒拉着挑选。坐下后米乐意识到,他俩好久没有面对面坐下、像谈恋爱时候那样吃顿饭了。
店开在胡同口,狭长的桌子,其实也不长,多说四五米;当中间儿掏空,怼进去一溜长方形钢筋锅,彼此靠钢板隔开,做成两排,煮着穿好的串儿,荤素都有,五花八门,竹签冲外,伸手即取。这种店傍晚前做旁边学校中学生和逛胡同游客的生意,现在已经晚上九点多,除了看店伙计在墙角刷手机,店里没别人,是另一种缘分让米乐和他媳妇坐到了这里。
两人各守一锅,小火轻煮,空调吹出冷气,汽化的风肉眼可见。老婆一言不发地吃着,面前摆着撸下的签子,长短不一。长签三块一串,短签两块——米乐发觉自己扫一眼桌面大概就能乘出吃了多少钱的能力退化了。两人都太累了,下午来这边看房,东跑西颠,看了六套,快看吐了。
九月份孩子就要上小学了,还有一个多月。目前孩子跟着他俩住回龙观,幼儿园也是这边上的,家楼下。老婆觉得,幼儿园哪儿上无所谓,就当上着玩,小学不能再凑合,必须去城里。回龙观属于昌平,挨着朝阳和海淀,算不上远郊,但比起二环里的东城西城,叫城外也不为过,这边都快到六环了。什么时代的人都想当“城里人”,过腻城里日子往城外搬的那种另说,家长更是希望自己的娃能做个“城里孩子”,恰好米乐老婆和孩子的户口在城里,进城上学成了这个家庭的不二之选。
当然米乐也有别的想法,他不认为孩子去城里上学就高枕无忧。他敢这么认为是有充分依据的,他的小学到高中都是在西城区上的,也不是班里所有人都考上大学了,甚至有后来进了工读学校的,前途如何,更靠孩子自己。同样他也不觉得留在昌平上学就输在了起跑线,他的大学同学里,有一个就是昌平考上来的,学号一号,因为入校分数最高,后来年年奖学金,还保了研。但米乐不愿跟老婆掰持这些,他的不做主性格,让老婆成了当家的人。
说起来,其实他老婆连原汁原味的北京人都算不上,米乐才是北京的“城里人”。小时候在西城长大,家住西四胡同,后来那片拆了,父母在回龙观买了房,米乐跟着搬了家。户口随房子走,迁到了昌平,化身“城外人”。而他老婆,大学毕业留了京,幸运地进了给解决户口的单位,单位在东城,于是不仅成为新北京人,还拥有了令很多城外北京人羡慕的东城区户口,只不过是集体户。后来两人认识,结了婚,也在回龙观买了房——为了离米乐父母近更因为这里的房价还能接受——老婆仍把户口留在单位。一开始米乐以为老婆嫌麻烦,懒得挪,直到几年后生了娃,给孩子上户口的时候,才弄明白老婆的良苦用心:孩子户口不在昌平上,上东城的,跟她一起,落集体户,将来是东城学籍,可以上东城的学校。大家普遍认为北京的好学校都在东西城和海淀,所以这三个区的学籍格外珍贵,没有的心向往之,想辙往里钻,有学籍的则沾沾自喜不形于色。还有个插曲,备孕期间,老婆让米乐把他名下那套回龙观的房子卖掉,她研究过政策,必须父母双方都没有北京房产,孩子才能落集体户。就这么着,米乐把自己名下的那套房子卖了,租了两年房子,等到孩子在集体户里有了自己的户口页,才和老婆又在他父母的那个小区买了套二手房。那时候房价每年都在涨,为了孩子的户口,搭进去两人多年的积蓄,只因为老婆认为当个“城里人”洋气。
老婆七年前布好局,事态按预期发展着,上礼拜小学录取通知书下来了。儿子成了一名北京东城区的小学生,不出意外,将在东城接受九年义务教育。从回龙观到这所小学,二十公里出头,还有一段高速。不走高速的话,有三十三个红绿灯,早晚高峰开车少说要一个半小时,再遇上一起交通事故,时间就没谱了——若事故双方都是送孩子的家长,也是有麻利儿解决的可能。走高速倒是能避开些红绿灯,但进出高速口的时间不稳定,赶上没装ETC的车或手机忘带了无法扫码付费身上也无现金的车主,这条车道何时能通车就看他什么时候能变出过路费了……这些特殊情况暂且放置一旁,按八点到校计算,逆推,六点二十必须出家门了,刨去洗漱吃饭时间,不到六点就得起床,大人还要伺候孩子穿衣吃饭,只能起得更早。于是问题来了:住昌平的儿童和家长,每日该如何不这般辛劳地去东城上学?
老婆曾试想,卖了回龙观的房,在学校旁边买一套,然后把自己和孩子的户口从集体户里迁出来,落户东城,一劳永逸;米乐乐意的话,户口也能从父母的本儿上挪过来,四十岁了,早该独立出来了。想法很美好,现实被低估。同样新旧的房子,东城一平米的单价差不多是昌平的三倍。现在米乐一家三口住的是一百二十平米的小三居,换成东城同档次的房子,包括税费里里外外都算上,要添八百万。知难而退,老婆降低预期,不行就住老破小,窄点儿也认了,孩子的教育胜于一切。看了两套不到八十平的两居,一算差价,仍要添三百万。钱是一方面,关键是卖了自己住得顺心又舒服的房子,在陌生的地方买个不那么如意的房子,是不是风险有些大?没有哪个普通家庭能在买房卖房上像打麻将出牌那般随意,即便是在北京,也尤其是在北京。
加之房产市场突然低迷,房价走向扑朔迷离,成交周期变长,房子也不是说卖就能卖成的,肯花钱倒是容易买到,但很可能刚买到手就贬值。如此一来,换房的想法只能搁置。保险一些的做法是把自家房租出去,在学校旁边租套房。今天看的这些出租房,有中介联系的,也有老婆在闲鱼找到业主直租的。看房用眼睛看,身体和情感不免也会参与其中,幻想未来至少六年带着孩子生活在这里:三具肉身的安放是否恰当合理(卧室舒不舒服),三张嘴能否被满足(厨房能不能唤发烹饪食物的热情),三个灵魂栖居于此可否相安无事(几年后将迎来儿子的叛逆期)……六套看下来,身心俱疲。
小店墙上的货柜摆着各种饮料,老婆偏偏拿了一瓶红牛,拉开就喝。以前她从不碰这玩意儿,认为所谓的提神就是杀鸡取卵,把体内残存的能量榨取出来。那么,现在她是要把仅剩的一丝力气逼出来,然后还要干点儿什么吗?米乐猜不出老婆接下来还想干什么——再看一套房?或是仅仅为了有力气回家?还是不甘回家后就这样一无所获地睡去,夜深人静的时候仍要展开人生思考?
眼前的事实,让米乐确信了一件事情,这是近八年里他和老婆第一次吃麻辣烫。以前她特好这口,自打有了孩子,两人吃东西就不怎么考虑自己了,只吃适合孩子吃的东西,孩子现在六岁半,加上备孕和怀孕的时间,八年里两人渐渐没了“自己”。
此刻老婆两眼直愣愣地盯着锅里,嘴里机械地嚼着,一手握着红牛,一手搓捻着空签子,显然脑子里琢磨着什么。这神态让米乐陌生。老婆从小聪慧灵敏,在学习、考试、就业、升职的道路上,向来无须大动干戈便攻城拔寨,不说硕果累累,至少是一帆风顺。如今被卡住了,不是主观世界被难住的卡,是那种物质世界的卡——老婆想的可能是:自己的家庭为什么突然卡在底层中产向高阶中产进军的路上?
在不添钱的情况下,回龙观的房租只能在东城区租个六十平米的老破小。客厅小得转不过身,家里那台七十五寸电视搬过来都放不下——米乐和老婆都喜欢周末在家看个电影。为了让电视有地儿放,也得租个面积大的房子,那就只能添钱。添多少合适?无限制地添,好房子有的是,再大的电视也能搁进去,但这不是米乐家能过的日子。老婆虽说事业顺利,挣得也有限,在出版社上班,不是什么大社,做出爆款书的机率渺茫,年薪远没到过日子可以不算计。米乐至今自由职业,做平面设计,收入取决于活儿多活儿少,曾经红火过,这两年客户相继流失,不知道好好的一家公司怎么就做不下去了。米乐的活儿也随之减少,世界越来越新,他越来越老,在发展新客户上缺乏手段,已由只喝单一麦芽改为调和威士忌也觉得还不错了。
老婆定了一个标准:保证生活品质的情况下,房租尽可能地少添。尽可能地少,也有一个范围,所以连看了六套。连将将满意的都没有,首先就是感觉小。房子住惯了宽敞的,再换紧凑的就难了。米乐老婆以前没觉得三口人住五十多平有多挤,甚至还觉得敞亮,她自己家当初就是一套五十多平的房子,她还有一个自己的房间,让很多同学羡慕,但那是二十多年前。现在她和米乐看了一套九十平的两居都觉得窄,就这还要每月添四千多,若想租一套和回龙观的家一样面积的房子,少说要补八千块,超标了。也正应了那句话:一分钱一分货。越活越觉得这话的准,世界就是这么构成的。
六套里有一处平房令米乐夫妇印象深刻,房本面积三十多,号称能住五口人,两间十余平的房子打通了,加了挑高,做成复式,下面的三十多平隔出客厅、厨房和卫生间,客厅只留一条过道能站直身子,其余空间留给楼上复式,从沙发上起身都得猫腰。房主说,人多数时候在客厅里是坐着的,这么设计是合理利用顶部空间。楼上的复式部分,拆分成两间半,老两口一间,中年夫妇一间,半间留给上中学的孙子住。现在孙子考上大学,可以住校了,一家人没有必要挤在这里,准备往城外搬。看房的时候,米乐老婆盘算如果是自己家搬过来,先不说人能不能耍得开,就是家具都摆不下。这家的柜子有个特点,都直通房顶,极尽盛放之能事。经过楼梯的时候,米乐老婆不知道自己碰了哪里,一扇木板弹出来。原来这片看似楼梯支撑物的木板也是柜门,楼梯下面的空间从高到低依次被用作大衣柜、短衣柜、袜子柜和杂物柜,房间里见不得一立方厘米的浪费。连柜门上都没有把手儿,门是磁吸的,按下去则弹开,再按就吸上,刚才就是米乐老婆不小心顶到柜门。房主人笑着介绍说,面儿上什么都不露,省地儿。笑中透着说不上是得意还是无奈。这一刻,米乐老婆体会到住城外的好了。
但米乐知道,对老婆来说,东城学籍是更好的东西。现在终于等来这一刻——媳妇累了、也烦了的时刻——他可以把存在心中许久的那个想法说出来了。
“倒是还有个方案……”米乐不知为何话一出口感到一阵心虚。
“什么方案?”老婆翻起不抱希望的眼睛。
“弄辆房车。”
“现在卡在房子上,怎么还想着弄什么车!”老婆似乎觉得米乐把握不住重点,随后马上意识到房车是可以住人的,转而说,“弄了以后呢?”
2
大学毕业离校那天,米乐想,以后可他妈不用考试了。这么一想,步伐都轻盈了。现在四十岁,竟遭遇了哈姆雷特的困境:孩子的小学到底是去东城上,还是留在昌平?这道题没有补考,选错了就……就怎样并不知道,也没有人能告诉他。
做这同一道题,米乐和老婆的解题思路不一样。不同于老婆在跨城中寻求解决方案,米乐是先有方案,然后为这个方案在现实生活中找到有力支撑。方案就是他跟老婆所说的“弄辆房车”,直觉告诉他可以这样做。
米乐现在和父母住同一个小区,隔着几栋楼,相互都有个照应。幼儿园接送孩子,当米乐和老婆顾不上的时候,他父母可以代劳。老两口把孩子接回来,还能给孩子弄口饭,米乐他俩几点回家都无所谓了,孩子睡爷爷奶奶那也行,第二天老两口再给送去幼儿园。父母眼瞅着奔七十了,今天不是这个头晕,就是那个明天胸闷,米乐也能照顾到,去医院检查他开车接送方便。所以他不想打破现状,觉得孩子小学在家附近上也没什么,父母依然可以帮着接送。但老婆的底线是,别的怎么都行,学必须去东城上——尽当爹妈的最大努力成全孩子。因为她就是这么长大的,然后从一个四线城市考到北京,当初她妈不输孟母,为了她上学,也曾三迁。
让孩子住学校旁边,已是大势所趋,在这个“规定动作”下,米乐便想到了房车。他一直就想弄辆房车,可以开到哪儿玩到哪儿,需要工作了——他的工作有台笔记本电脑就能完成——车里就能干。有卡座和桌子,不比咖啡厅差,窗外还有风景。可以说,是孩子上学的新问题,正好撞上他的旧心愿。
然后今天看完房子,也可以说在看房过程中,甚至说在第一套老破小看到一半的时候,“时机到了”的想法就开始在米乐脑子里闪现。他想,与其在“砖窝”里睡觉,还不如在“铁桶”里睡,反正都是个小。不就是为了离学校近吗,把房车停学校门口,没有比这更近的睡觉的地方了。相当于给小平房装上轱辘。每天放学先开着房车接孩子回家,小学特别是低年级,三点多就放,这时候路上不堵,四十多分钟就能到家。在家写完作业吃完饭,玩够了,该睡觉的时候,就让孩子往房车上一躺,米乐把车开到学校门口——晚上不堵车,四十分钟用不了就能开到。孩子瓷瓷实实睡一晚上,米乐早起给孩子做饭,车上有电磁炉和冰箱,孩子妈愿意陪睡陪吃也行,车里三张床,足够睡下,比那复式平房的卧室更让人有想躺在枕头上的愿望。
如果是搬来东城,米乐不忍心只搬自己的小家,而把父母留在回龙观。这样一来,不仅开销翻倍,父母也得挤老破小。现在老两口住着百十平的两居室,在一层,不用爬楼,关键是窗前还有个小院子。院子算公共面积里的,因为搬来得早,那时候物业管得不严,老爷子在落地窗前开了个门,直通小院,方便打理草木,省了物业的事儿,这地界儿慢慢也就算自己的了。进入四月,院里的那株树仿佛懂得感恩,不用催就按时开花,白中泛粉,围住树冠密密一团,阳光下尽情盛放。引来蜜蜂,路人也在树前拍照,老爷子坐在窗前泡茶,得意地看着外面。打开窗,风吹过,花瓣会飘进窗里——三四月还不必关窗纱。米乐爸会特意让花瓣就那么散落在窗前的茶几和藤椅背儿上,放那么几天,等花瓣蔫瘪了再扫走。花期一个月,落光后小绿果就冒出来,一周后能看出是杏。到了五月中,杏的个头儿大了,坠弯枝条,有人摘着吃。米乐爸爸看到会拦下,让他们捡掉在地上的吃,这种杏熟透了,不酸。自打搬进这套房子,米乐家就没在吃杏上花过钱。等杏的热乎气儿过了,轮到杏树旁的那些灌木展示,开出一大朵一大朵的花,红彤彤不免艳俗,绽放的热情仍让人忍不住问问这是什么花,很多时候米乐爸故意站在院子里,等着回答:月季。真要搬了家,在北京二环里找到一处窗前有杏树的房子就难了。这是米乐给“弄辆房车”找到的理论支持。
但老婆听完米乐的计划后,第一反应就是不靠谱,这也是她的直觉。完全在米乐预料中,她这些年越来越保守。米乐当然也理解,这种保守从某个角度说,是母爱所致,本质出于对孩子安全的考虑。但米乐这么做——如果房车计划能成行——也不是说就没有父爱了。恰恰这是米乐要传递的父爱,不要被生活中那些貌似坚固的东西困死,如果甘于受困,那些东西会越来越坚固。老婆的保守从另一个角度看,跟对房车的不了解也有关系。
米乐从技术角度给老婆普及了房车知识,告诉她里面床的尺寸,如何取暖、洗澡、做饭,以及一些先行者已经在房车里过上怎样的日子。说着打开手机,调出几条短视频,让老婆看人家怎么在车上过日子,有游荡在城市中的,也有开到荒郊野地一住就是个把月的。
老婆敏锐觉察到蹊跷:“你不是为了孩子上学,你准备了半天,是你想弄辆房车玩吧?”
米乐承认他是爱看那几个房车播主的视频,正是因为平时关注着,关键时候就用上了:“人家成年累月在车里生活,咱们就是让孩子睡个觉、吃个饭,比换房简单多了,风险也小。”
老婆随之问了几个她关心的问题,包括车得多少钱、车牌好不好上,冬天睡觉怎么办,以及米乐能确保每天晚上和早上都像他说的那样守着房车吗?米乐张口就答,新房车从十几万到上百万的都有,开了两三年的二手房车是新车的六到七折,他觉得买辆二手的就行,甲醛味儿散干净了,孩子睡在里面踏实。车牌可以用家里这辆车的,把现在这辆ix35卖掉,开八年了,孩子都长大了,没有上学这事儿,也该换辆大点儿的车。冬天则还在家里睡,可以提早一个小时出门,让孩子在车上洗漱吃早饭,早高峰之前赶到学校。最后米乐保证道:“既然我提出这个方案,我肯定不会缺席。”
“万一呢,万一你有事儿,或者出差不在北京?”老婆像一位象棋大师,考虑的不光是眼前这步,还有很多步。
“你也可以开,练练就行,C本以上都能开。”米乐不是留后手,是鼓励老婆,他觉得这是一次机会——把老婆从盲目内卷的势头里拽出来。让她除了惦记“孩子不能输在起跑线上”,心里也装些别的事情进去,比如想想能开着房车去哪儿过个周末。
他早就对老婆的一些做法不认同了。孩子刚进入幼儿园小班,就被老婆送去轮滑和识字班,因为别的孩子都报了,不是报这个班就是报那个班,于是他们的孩子也不能在家傻玩了,搞得大人孩子都没了周末。和老婆相比,米乐比较佛系,他觉得怎么都行,他就是这么一路长大的——走一步说一步,没有肝脑涂地为一个明确目标过度燃烧自己。大学毕业后他一直自由职业,说不清是性格导致就业,还是就业方式塑造性格。总之就这么过来了,从毕业第一年能养活自己,到后来买了房、结了婚,老能接些活儿,也就没想过找个稳定工作。他和老婆就是接活儿认识的,那时候她刚毕业做实习编辑,需要找封面设计,没资源,就在网站上转,看到米乐的设计稿,给他留言。当时米乐已经做了三四年自由设计师,接了她的活儿。一来二去,见了面,谈起恋爱,常一起吃着麻辣烫聊图稿的完善方案,后来确立了关系。从一开始她就是甲方,所以最终意见都是她拿,慢慢地,这种模式渗透到生活中:蜜月旅行去哪儿、空调买几级能耗的、晚上吃什么……要孩子的事情上也是如此,老婆张罗,米乐配合。以及后来的卖房、给孩子落户,总设计师都是老婆。但设计来设计去,米乐愈发觉得她现在有点儿像参加场地自行车赛的运动员,进了赛道,不管不顾,一圈圈猛蹬,从场外看,仿佛用显微镜看一个不会停下来的电子,也像驴拉磨。
“我不开,那么大一玩意儿,摆弄不了。”老婆依然沉浸在低头猛蹬中,“万一撞了,耽误孩子上学——你这么说了,你就得保证接送。”
“我保证!”
老婆看着米乐,似乎不太相信。
米乐颇为正式地说:“咱们不能再一条道走到黑了,一直卷下去,没出路,越活越累。”
“你想说什么?”老婆没听出这话跟保证每天接送孩子有什么关系。
“有辆房车能让神经放松一下。”米乐又取了一瓶啤酒,打开给老婆倒了一杯,“学会让自己放松,享受一下生活。”
“一点儿不享受,开房车只能让我更紧张。”老婆的红牛已经喝完,似乎有了力气,没拒绝啤酒,端起喝了一口,回归主题,“先说你怎么保证接送孩子。”
人是需要阳光、空气和大自然的。如果有了房车,送完孩子可以把车开到一个自己愿意待下去的地方——估摸是五环外某处不那么现代的地方——泡杯茶或咖啡,在车里开始工作。每天接送孩子对米乐不是忍辱负重,是激动人心的新生活开始了,无需保证。他如此告诉老婆。
老婆考虑的已不止是好几步,是十好几步,问以后上中学怎么办,还睡车里?米乐说那是六年后的事情,现在的人连六天以后的事情都无法把握,用不着想那么远,没准三年后教育政策就变了,这几年生育政策已经发生重大变化,而且六年后房价指不定什么情况,摸着石头过河吧……老婆又有担忧,说要都这样,一家一辆房车上学,学校门口停得下吗?这种考虑米乐不是没想过,他现在自信地告诉老婆:想想咱们家得下多大的决心,才能用房车当学区房,而且我又不用上班,有时间这么干,别的家长里有这条件的少吧——真要是不得不参与竞争,得扬长避短,不是一起同频内卷。
两人很久没有这么聊过了,也或许是难得吃了一顿只有两个人的饭——还是年轻时最热爱、现今久违的食物——近半年压在老婆心头的烦闷消散了许多。她又起身拿了一瓶啤酒。
米乐也聊得浑身清爽,觉得老婆似乎已被说动,同时不忘肯定老婆:“不是每个住得远的孩子都有一个能让他们拥有城里户口的妈,放心吧,学校门口不会遍地是房车的。”
后来两人打车回的家。原因有二:累得不想多走一步;现在九点半了,正好可以考察一下这个时段从回龙观到这里的路还堵不堵。以后这个时间,就是儿子躺在房车里,从家出发的时间。
北二环路边的写字楼依然灯火通明,还能看到有人在窗口里移动。夜色下,这些楼体黑黢黢的,仿佛泥潭被竖立起来,还隔出一个个格子,像鸡蛋盒装鸡蛋一样,装下一个个人。坐在出租车的后排,米乐揽住老婆的肩,老婆顺势将头靠在他的肩上。两人很久没有这样过了。
脸颊感受着老婆的发丝,米乐觉得今天自己又进行了一场提案——关于房车的提案。他依然记得,十几年前,给老婆——那时候连女朋友还不是——的封面设计稿第三次提案成功后,两人一起吃了顿饭,饭后也是这样给老婆送回家的。
3
在正式“弄辆房车”前,米乐先租了一辆,拉着老婆孩子出去玩了一趟。这是老婆的主意,她需要获得足够的安全感,才认可这个方案——如果这趟出行令她不满意,米乐想,难道她还有别的备选方案而不是完善房车方案的不足之处吗——她做事习惯手拿把掐。
米乐照着日后想买的那种车型租了一辆:驾驶室头顶有一张床,车尾放置着一套上下铺,下铺一米三宽,上铺八十,卡座和茶桌那里放平也可以变成一张儿童床,俩大人一个孩子睡这车上绰绰有余。大人睡觉挑床,孩子不挑,进了房车,来不及脱鞋,就挨个床上打滚,还问:“以后可以永远不回家睡觉了吧?”
房车加柴油,自重也大,提速有顿挫感。米乐开了几公里后意识到这个问题,便不像开自己家车那样狠踩油门了,缓缓给油后平稳了许多,及时遮掩了这个可能会被老婆挑出来的瑕疵——车开在路上忽悠忽悠的,孩子能睡安稳吗,米乐想象得到老婆可能会这样说。
因为是体验车为主,米乐没有把车开到太远的地方,游山玩水不是此趟出行的主要目的。三口人在六环外的河边停下车,米乐支上车侧身的阳光棚,架好折叠椅和户外餐桌,摆出水和吃的,弄成室外小客厅。先给老婆营造出舒适惬意的感觉,是第一步。
房车不远处就是贯穿京津的一条河道,有人在河边钓鱼,河对岸停了几辆私家车——都是天津的牌照,看样子过了河就属于天津——大人孩子正在烤炉边生火,青烟冒出来,引得孩子们一阵欢呼。米乐也不甘示弱,拉出房车的燃气灶,拧开自带的油瓶,取出洗切好的半成菜品,准备给儿子和老婆——两人此刻已拿着捞鱼的笊篱到了北京这边的河边——炒俩菜。饿不着,还能吃得比家里好,是米乐的第二步。
吃完饭,米乐又为老婆展示了如何在车上用水——把碗刷了。然后自己在地上画出三个车位,练习了揉库倒库,将来在二环里并不宽敞的街道上他得频繁做这两件事情。老婆最关心的还是睡觉——休息得好坏,直接关系到孩子未来的身高乃至择偶——所以当晚米乐把车开到了儿子的学校门口,停在空车位上,老婆要实地考察此处是否适合睡觉。
当有车辆过往、老婆觉得噪音有点儿大的时候,孩子已经睡着,响起微弱的鼾声。米乐关掉车内照明灯,只留下氛围灯,和老婆面对面坐进卡座,仿佛置身小酒吧。米乐取出备好的威士忌,倒了两杯,放进冰块。
“怎么样?”一杯递给老婆,米乐觉得孩子上学的事儿就算搞定了。
“你确定晚上就睡这儿了吗,喝了酒可不能开车。”老婆仍不踏实。
米乐冲着孩子正在睡觉的床铺——驾驶座头顶的那张床配有安全防护人不会睡着睡着掉下来——一甩头说:“能睡着,已经说明一切,不需要挪窝了。”
说完,米乐起身,拉上那张床的遮帘,孩子隔在里面,车里顿时变成米乐和老婆的二人世界。
夜色深沉,晚风轻柔。威士忌的颜色跟焦糖色的环境光融为一体,冰块在杯里一点点消融,恰到好处没有音乐——如果背景里放着音乐,反而会提醒老婆此刻还有孩子在车里睡着觉。两人仿佛回到热恋,生活中的那些烦恼消失了。
喝到第二杯,米乐给老婆抱到床上。她没想到他依然抱得动她。
米乐欲要亲热,老婆拦下:“外面还过车呢!”
“它过它的,帘都拉上了。”米乐又喝了一口酒。
“万一有城管呢?”
“城管不管这个。”米乐拧亮床灯,关掉环境灯。
“那也不行!”
“怎么不行了?”
“不安全。”老婆及时坐起来,“再弄出个老二,我可崩溃了!”
“我带了。”米乐取出早已备好的东西。
第二天一早,孩子刚睁眼,老婆就问睡得怎么样,有没有感觉到过往的车声?孩子说梦到超级飞侠带他去火星执行任务了,今晚还想在这儿睡,火星上没玩够。米乐征求老婆意见,房车要不要多租一天,进一步体验。老婆说不用,也就这样了,没必要再多花一天租金。
随后,米乐快马加鞭卖了自己家的那辆车,在开学前接手了一位已放弃追求“诗和远方”的自媒体播主——此人曾靠着这辆车走遍新疆当过网红——精心改造过因而用起来更人性化的房车。老婆是文科女,除了最后把握价格——在米乐谈好价格的基础上又砍下两千块——也没怎么在选车的事情上过多参与。
车开到家后,老婆用酒精喷壶给车内边边角角都喷了一遍。儿子迫不及待要到车上睡觉,并在睡着前已将床铺的围板粘满奥特曼贴画。“四轮学区房”的生活就这么开始了。
4
开学两周了。升级为小学生的家长,米乐没怎么感觉到身份的变化,除去接送占用了一些时间。不过也乐在其中,孩子送进学校后,房车就成了他的世界,可以满怀激情地——他真的感觉到一种冲动——待在里面做无论什么事情,连带也会对工作重新产生热情。之前无论在家还是去咖啡馆工作,都让他厌倦,中年人更需要保鲜。
白天米乐会把车开到愿意驻足的地方,通常是城外。哪怕是早高峰,出城方向也不堵,用不了一个小时,一个有树有河看不到高楼大厦的世界就会出现在眼前;然后泡杯咖啡,靠在卡座上——虽然没有家里的沙发大,却能给人注入活力,仿佛充电桩——开始这一天属于自己的生活:坐久了可以下车去河边打水漂,顺便把肩膀也活动了;有一次他甚至做了一套广播体操——他有轻微的肾结石,大夫让他多喝水多蹦——一切在城里看来不合时宜、想象不到的事情,在这里都可以发生。包括他倾心已久的钓鱼活动,几年前置办的装备,终于派上用场,运气好的时候,午饭问题能靠着大自然的恩赐来解决。
生活节奏重新回到自己手里。享受到莫大的自由,也让米乐在下午三点接孩子的时候,是笑逐颜开的。
九月中旬是北京最好的季节。天空柔媚,风清云静。这天米乐刚完成一稿设计,准备钓会儿鱼,找到一片潮湿的土地,用树杈挖起蚯蚓,手机响了,连响两下。米乐站起身,掏手机,老婆叮嘱过他,听到手机响能看就第一时间看——刚从幼儿园进入小学的孩子还不习惯新环境的要求,容易出事儿。
米乐点开手机,果然是班级群的消息。教语文的班主任先发了一张十几个同学站在黑板前的合影,后发的是一段文字,解释合影内容:以上孩子在拼音声母默写中全部写对,希望再接再厉!米乐看到有自己儿子,挺满足,儿子也争气——在他妈那没有给开着房车上学的生活留下话柄。米乐想,要不要发个大拇指或庆祝的表情,进而觉得不妥,班里三十五个孩子,有一半多的孩子没在合影上,不能在别的家长面前太嘚瑟,便继续自己的事儿。
挖到蚯蚓,挂上鱼钩,竿往河里一甩,米乐心情欢畅。这时候班级的微信群又响了,米乐很想知道别的家长会作何反应,急忙点开。映入眼帘的并不是一个简单的表情,也不是类似“真棒”这种无关痛痒的话,是段只读一遍并不能全部体会其中用意的文字——米乐读了三遍。意思并不复杂,只是米乐又读了两遍,才确信是他第一遍读出的那个意思——他没想到,有人敢这么直截了当地和老师说话。
话的大意是:不应该公布做题全对的合影,某种程度上等于变相在给孩子排名,教委说了,不应该公布学生的成绩和排名,尤其小学生,一年级开学才三周,这么做不太合适。
群里每位家长都给微信名做了标注,不是这个妈妈,就是那个爸爸,说话的这位是个妈。米乐点开这位妈妈的头像——不像有些妈妈用孩子照片或个人游山玩水的照片做头像,她的头像暗昧不清——放大后依然是看不真著的一团东西,朋友圈也不可见。
米乐相信,很多家长将和他一样,等着看老师如何回复。虽然全对的孩子里有自己儿子,米乐仍觉得这位家长说得在理,甚至认为班里有位敢于呼吁的家长是这个班的幸运。
直到米乐收拾了鱼竿,准备开车去接孩子了,群里也没有班主任的回复。其他家长也没有发言的,这种事情,站哪边说都有点儿拱火的意思。米乐猜群里人多嘴杂,老师应该是跟那位家长私信沟通了。
在米乐往城里去的时候,手机响了,正好红灯,赶紧点开看,班主任在群里说话了。她说刚才在给别的班上课,抱歉回复晚了,发合照没有别的意思,就是想让家长们了解孩子在学校的情况,督促孩子从入学初始就养成当天学习内容当天消化的习惯,这次默写拼音有同学一个也没写出来,应该及时让孩子知道小学和幼儿园不一样了——有很多孩子上过幼小衔接,对学习已经有了准备,但仍有孩子不明白上学的目的——进了校园不是来玩的了,今天的合影远谈不上排名,也不是优劣对比,以后到了三年级功课量上来了,不用排名,学习差异自然会显现出来。
米乐知道,关心着群里对话的家长已经越来越多,虽然没有一个人说话。没过多久,那位妈妈又回复了,更希望老师发一些孩子在学校运动、吃饭、上课的照片。老师也很快回:会发的。
这时候米乐也开到学校门口,准备接孩子了。他记住了这位妈妈孩子的姓名,把儿子接上车后,让儿子指给他看,叫那名字的孩子是哪个。儿子对着学校围墙外杂乱的人群看了半天,说没找到。米乐把今天的合影给儿子看,儿子挨个叫出人名,没有那个名字的学生。往家开的路上,米乐问这同学在学校表现怎么样,儿子说跟他不熟,两人座位不在一个方向。
在父母那吃晚饭的时候,老婆在饭桌上表扬了儿子,把默写全对的合影调出来给爷爷奶奶看。老两口看完异口同声:好孙子!妈妈说,台上一分钟台下十年功,抓紧吃饭,吃完刷两套十以内加法题。
第二天,米乐又在群里看到数学题全对的合影,儿子仍在里面,想必老婆也会看到。他把这张照片和昨天的照片做了对比,有十一个孩子昨天也出现了,另几张是新面孔。后来群里一直没有人说话,米乐想,也许那个孩子今天也在照片上,所以妈妈看到照片没有反对,或者知道说了没用,扭转不了老师的意愿,索性闭嘴。
隔天,晚上吃饭的时候,老婆突然问儿子,是不是班主任向你们承认错误了?儿子说他也不知道。老婆问,老师说话时你认真听了吗?儿子说认真听了,老婆说那老师说什么了,儿子说老师说了太多,想不起来。米乐问老婆,学校里怎么了?老婆说班里后来建了一个纯家长群,老师不在里面,有家长听孩子回家学舌,说老师主动承认了错误,再问承认了什么错误,孩子又学不到位,所以群里就动员所有家长都问问自己的孩子,看有没有能说清楚这事儿的。说罢,老婆给米乐拉到群里,让他“时刻准备着”。准备什么,米乐一头雾水,老婆说,跟班里同步就是准备着。
进群后,米乐查看了群成员。那个熟悉的却看不清是什么的头像安静地显示在列表中,不知道为什么,米乐看到后有种心安的感觉。然后又在群里看有没有这个名字男生的父亲,没有找到,之前在班级群里他也没有看到这孩子父亲的微信。大概是男性不愿意过多参与育儿的事情,就像自己也是刚刚加入这个家长群,米乐这样想。
后来都很晚了,一位女生的母亲在家长群里说,孩子睡觉前告诉他,班主任今天在课堂上向大家保证,以后不给大家拍合影了——老师承认的可能就是这个错误。于是家长们纷纷发言,找孩子确认老师是否说过这话,均得到肯定答复。有人说,难得遇到这么开通的老师,能主动向孩子承认错误。米乐想,肯定也有失落的家长,真不发照片了,就不知道自己孩子还是不是班里前十名了,比如他的老婆。但他没有问老婆是不是这样想的。
后来几天,果然没再看到班级群里出现满分孩子的合影。饭菜却又出了问题。
先是傍晚的时候,一位妈妈在家长群里说自己家孩子说今天某同学的菜里——学校用统一的食盘打餐——出现了蛐蛐。她艾特了那位同学的妈妈,请她问问孩子是不是有这么回事儿。没等当事人妈妈回复,别的妈妈就证实了这件事儿,她们的孩子也都看到那位同学的餐盘里出现蛐蛐。群里一下炸锅了,虽然蛐蛐出现在某一个人的餐盘里,但饭菜都是用大保温桶装盛的,这意味着大家的饭菜里都沾染了蛐蛐。其中一位爸爸分析——也可以说是火上浇油——蛐蛐都在石头缝儿里、草窠里,躲着人,能进到厨房的,只能是蟑螂。一时间,屏幕上出现不同妈妈发出的呕吐表情。
众人揭竿而起,各种对于学校饭菜的抱怨发在群里。有人说孩子的餐盘上出现过饭嘎呗儿,卫生不过关。有人说看着那些饭菜就难吃——老师会把每日饭菜拍照发到班级群——米饭暗沉,肉的颜色也浊浑,肯定是冷冻很久的。有人接话:是的,孩子说肉都嚼不动。另有一位妈妈说,有一次孩子跟她说,午餐吃的是蜗牛,她也没多想,还觉得伙食标准挺高,现在想想,肯定是菜没洗干净才出现蜗牛的。马上就有妈妈问,那孩子把蜗牛吃了吗?
这时候,那个头像不清的妈妈说话了,她问,退伙行吗?并艾特了群主。群主也是位妈妈,兼职班级家委会,算是家长们和学校沟通的代表,她说先私信跟班主任沟通下。
在家委会妈妈和老师沟通的当儿,蟑螂当事人的家长在群里回话了,已问过孩子,确有此事。孩子发现异物后,举手报告了班主任,班主任走过来,将异物取出,随口说了个“蛐蛐,给你换一份”,便将餐盘端走,又端来一份新的。有家长问,真的是端来一份新的吗,还是端走又端回来了?马上有家长说,这有什么区别,蟑螂和菜出自同一个保温桶。随后又有家长说,同事的孩子在别的年级,刚才问了下,那个年级的饭菜里也屡屡出现异物。于是群里达成共识:饭菜问题已根深蒂固。
家委会妈妈发来和班主任沟通的结果,班主任说这个问题各个班级都向学校反映过,但老师的职责有限,就是教课,无法插手餐饮管理,今天发生的事情,她会向学校汇报,其实老师们吃的也是这些饭菜,早想彻底改进。班主任同意不想在学校吃午饭的同学退伙,家长中午十二点把孩子接走,一点半前把孩子送回学校就行。米乐看到这里,问老婆接不接,午饭他可以提前备好,带孩子在房车上吃——虽然这样会耽误他去郊区钓鱼。老婆犹豫着,不知道接走合不合适。这时候,头像不清的妈妈先在群里说话了,我接,她说。
随后班委会妈妈做了一个接龙,让接孩子的家长报名,她会把名单转给班主任,明天学校安排老师把这些孩子送到学校门口,由家长带走吃午饭。看到有五位家长参与了接龙后,米乐老婆也报了名。作出这个决定后,孩子爷爷赶紧又熘了个肝尖,炖了锅牛肉胡萝卜——特意做八成熟——放凉后装进餐盒;明天中午米乐在房车上用电磁炉稍作加工,孩子的午饭就有了。
5
一位男老师带着二十几个高矮不一的孩子走出校门,二十几位横跨老中青的家长领走自己家孩子。米乐把儿子接上车问,不都是你们班的吧?儿子说就八个是他们班的,还有别的年级的。
米乐打开刚刚热好的炖牛肉和熘肝尖,现蒸的米饭给儿子盛了一碗,爷俩儿坐进卡座面对面吃起来。吃了几口,儿子说没有学校的饭好吃,明天还想在学校吃。小孩的好吃跟大人的好吃标准不一样,米乐也没纠正儿子,只是让他明天中午接着出来,爷爷会给他做更好吃的东西。对米乐来说,退伙是一种行动,是行动就要彻底,直到学校更换午餐供应商——目前提供午饭的是一家食品公司,从家长们收集到信息看,这家公司从原料到食品卫生、从烹饪到餐具洗刷,处处糊弄事,堪称恶劣,已不是需要改进的问题,必须解除合作。
吃到一半,儿子指着窗外的前方说,那是我们班的。米乐扭头望去,马路斜对面停了一辆吉普车,后备厢盖扬起,一个小男孩正坐在折叠座椅里,用后备厢靠近右尾灯的一边儿当餐桌。左尾灯那边儿坐着一个女的,估计是孩子的妈妈,戴着墨镜,头靠在车体上,晒着太阳。米乐问那同学叫什么,儿子说出名字,米乐听了心中像被火光闪了一下,正是他打听过的那个名字。
那个孩子刚好吃完饭,妈妈从保温杯里倒水给他喝,然后收好折叠椅,后备厢盖一扣,领着孩子过了马路。把孩子送进校门,妈妈又回到吉普车,掀开后备厢,站着把孩子没吃完的饭菜吃了,然后驾车离去,是辆老款吉普。全程戴着墨镜,米乐猜不出她长什么样。
儿子也吃饱了,老婆嘱咐过米乐,吃完就回学校,不要在车里逗留太久,尽量合群,别弄得跟和学校作对似的。送完儿子,米乐回到车里发了会儿呆,不到三个小时后又要接孩子了,他没有时间开着车再去别的地方了。儿子的“退伙”拴住了他,不过他也心甘情愿,为了“行动”而牺牲部分自我,是理所应当的。
第二天米乐把儿子接到车上后,看到男老师还带着儿子班的那孩子站在校门口,墨镜妈妈没来接他。天色暗沉,风也大了,说话就要下雨,米乐让儿子把那孩子叫车里来。男孩上了车,米乐给他拿来碗筷,叫他和儿子一起吃。小孩不见外,也确实饿了,拿起就吃。俩孩子还不太熟,各吃各的,米乐撮合两人认识,想让儿子在学校多交朋友,跟所有人打成一片才好。米乐问小孩叫什么,小孩报出名字,儿子说爸爸你不是知道他的名字吗?米乐赶紧接上话,说我问的是小名。男孩又说出小名,叫Sting。儿子笑了,说,你叫死拧吗?Sting说,英文,sting,不是死拧。米乐问这名字谁起的,Sting说我妈。米乐问你妈妈是做什么工作的,Sting说她是唱歌的,有乐队。米乐——知道美国有个著名摇滚歌手就叫Sting——问Sting,那你爸爸是做什么的?Sting说我爸工作忙,住在别的地方。米乐大概清楚为什么群里没有这孩子爸爸了。
雨点淅淅沥沥落下,打在房车顶棚上。昨天那辆吉普车这时候开到学校门口,墨镜妈妈下车找孩子,米乐打开防蚊虫拉门,孩子探出身子喊:“妈”。
墨镜女把吉普车开上马路牙子,停在房车旁。米乐跟她打招呼,说俩孩子一个班的,怕孩子等不到她着急,就把孩子带车上了。墨镜女摘下墨镜——一笑眼角已能看出鱼尾纹,脸上没有这个年龄女性过多人为干预的那种湿肿——赶忙致谢,见孩子已经吃上,更是不好意思。米乐说现成的粗茶淡饭,两人搭伙更有食欲。妈妈赶紧去吉普车里取来保温桶,摊开摆在桌上——米饭没有再往桌上放——让俩孩子一起吃。分体保温餐盘里分别盛着鸡蛋西红柿和牛肉炒芹菜,米乐能看出这是一位不擅厨艺或对吃没什么讲究的妈妈。Sting扫了一眼盘里说,我妈老做鸡蛋西红柿。妈说,你老点我才老做。米乐儿子率先㨤了一勺,说好吃。Sting说,没有你家的菜好吃。米乐儿子又㨤了一勺说,你家的才好吃。
米乐主动介绍了为什么会开着一辆房车出现在这里,以免Sting妈妈觉得奇怪,或认为他们一家子为孩子上个小学劳师动众。Sting妈听完说,都不容易,全为了孩子。米乐问她,昨天在吉普车后面吃饭的是Sting吧?Sting妈说,对。米乐问,你们住得远吗?Sting妈说,开车单程十五分钟,没必要把时间浪费在路上,现在天气也不冷,就让Sting先这么吃着,早点儿吃完还能回教室趴桌上睡会儿。米乐说,以后来我车上吃吧,反正我们天天在这,慢慢天也冷了。Sting妈说不用麻烦,米乐说不麻烦,俩孩子一起吃还能有个伴儿。Sting妈说那饭我做,我那用火比你在车上方便,米乐没有拒绝。
米乐也不好意思袖手旁观真让Sting妈做饭,所以第二天餐桌上特别丰富,已经摆不下了。Sting妈带来三菜一汤——不输学校的标准——米乐也备了两个菜,再来俩孩子都吃不完。米乐儿子和Sting吃完,两位父母给他们送进校门,然后两个大人回车打扫各自孩子的剩饭。Sting妈做的是牛排、蒜蓉粉丝蒸白菜还有盛了半只鸭子的老鸭汤,里面煮了萝卜,用心了。米乐吃着想,真要是这么客气下去,做饭也该内卷了。他夹了一块切好的牛排说,做这个挺费事儿吧?Sting妈说,用空气炸锅做的,肉放锅里,喷点儿油,扣好盖儿就行了。又说,其实自己不怎么会做饭,从网上现学的,以前都是姥姥姥爷给孩子做,现在上了学,儿子跟她住,她才把做饭一事纳入日常。Sting妈问米乐是做什么的,可以每天以这样的方式等儿子,挺带劲的。米乐说做设计,书、海报、产品logo、包装盒,都做,现在不能挑活儿了。Sting妈说,我是做乐队的,尤其生了孩子,有演出就去,也不挑活儿,说完笑了。
米乐问了乐队的名字,Sting妈说很小众,报出名字米乐果然没听过。Sting妈说做得不好,一直默默无闻,说完又自嘲地笑了。典型的北京女的。随着各自孩子的剩饭见了底儿,两人的闲聊也结束了,客气告别。
晚上爷爷又做了好几个菜,儿子没怎么吃,说中午吃顶了。爷爷很骄傲,说我做的饭有那么好吃吗?中午饭都是爷爷准备,米乐只负责最后一道工序,将八成熟变成彻底熟。孙子回答爷爷没那么好吃,是Sting妈做饭好吃,吃得下午上课直打嗝。米乐老婆听到,问米乐怎么吃起别人家的饭?米乐简单说了经过,还说,弄孩子都不容易,车上有地儿,互相方便一下。老婆立马说,她家的饭卫不卫生呀?米乐说,肯定卫生,人家自己孩子也吃。老婆又问,那孩子叫什么呀?开学不足一个月,家长和家长、家长对班里,尚都不熟。儿子说,叫Sting。老婆拿起手机,在群里翻这名字的家长,似乎要找到照片相相面,方决定能否继续搭伙。米乐知道老婆找不到,就让儿子告诉妈妈Sting的大名。儿子话音未落,妈妈就跟被点着了似的:“他妈呀!”
“他妈怎么了?”儿子不理解自己妈妈的反应。
“他妈做饭好吃!”米乐赶紧接过话,给老婆递眼色,示意打住,他知道老婆怎么想的。
话题被终止,事情在老婆那远没结束。就他俩的时候,老婆说不愿意让儿子跟那孩子接触,怕受影响。他妈群里质疑完老师,还去学校找校长给老师告状——所以班主任才会在班里向学生承认错误——这么怼老师,老师肯定对她孩子没好印象,老跟那孩子在一起,咱孩子也没好果子吃。米乐听到很多闻所未闻的信息,问找校长这事儿是哪儿听来的?老婆说,学校恁么一个小地方还能有不透风的墙?米乐觉得既然老师向孩子们承认了错误,说明这孩子的妈没做错。老婆说话不是这么说,对错单说,关键是做法太鲁。米乐对这事儿的理解不是“鲁”,是纯粹,Sting妈是搞摇滚的,直截了当,道出很多人的心声。这样的人理应受到呵护,现在却成了大伙“对面的人”——从老婆接下来的话里,米乐听出来,老婆和另几个妈妈似乎达成统一战线,认为Sting妈在拉着全班躺平,她们不接受自己的孩子这样,正商议对策力争让这个班的孩子跟上全国六岁半儿童的节奏。作为这个“不躺平”组织的人,米乐老婆认为不宜跟Sting妈走得太近。
米乐发现他和老婆想事情经常想不到一块儿去了。一个纯粹的人,哪怕不被尊重,至少不该被排挤,米乐是这么想的。他有点理解不了现在的世界,和现在的老婆,老婆后面的那些话,已让他听不进去。
直到老婆说了一句话,把米乐拉回到正在进行的对话中:“你要是不好意思谢客,就让儿子继续回学校吃饭,她也不可能还让她孩子去你车上吃吧?”
米乐没想到老婆能为此牺牲孩子的“食品安全”,更对老婆在“行动”上如此不彻底和是非观的错乱而扼腕。他觉得不能再佛系下去,该摆出态度了,说:“不怕儿子下回从学校的饭里吃出个灶马儿?”
“灶马儿是什么?”老婆小时候只知道书本和教室。
“以前北京的公共厕所里全是这玩意儿!”米乐说完,起身去叫儿子。该出发去学校门口睡觉了。
米乐打开一听啤酒,踏踏实实喝了一口,仰靠在房车的卡座里,一条腿搭到对面座椅上。这是他最舒服的姿势。其实不是姿势有多舒服,是爱一个人这么待着。
车外有蛐蛐叫,二环里都快没有老北京人了,竟然还有蛐蛐。儿子正在米乐身后的床上睡着觉,车里三张床,儿子想睡哪张看心情,米乐就睡儿子挑剩的那两张。到了这个岁数,米乐貌似对诸多事情已无所谓,其实很有原则,用内力控制着生活,以防沾染、滑离、坠落。
现在米乐调出Sting妈妈的歌,匹对上耳机,喝着酒听起来。刚才开来的路上,儿子睡前突然唱起歌,吐字不是很清,米乐听了一个大概,好像唱的是:1、2、3、4、5、6、7……do、re、mi、fa、sol、la、xi 什么的。米乐问儿子是音乐课教的吗,儿子说不是,跟Sting学的,他妈会写歌。现在儿子睡着了,米乐还记得Sting妈妈乐队的名字,在音乐平台搜到这个乐队。成员四人,Sting妈是主唱兼词曲创作,另外三位男性负责吉他贝斯鼓,有三千多粉丝——知名乐队的粉丝都好几十万——去过欧洲巡演,拿过两个独立音乐的奖,成立快十年了。米乐一算,组队的时候Sting还没出生,乐队到现在也没有出名,却还能搞下去,说明Sting妈靠这个能养活自己,也说明她是真喜欢干这个。
歌词多是英文的,曲调晦暗,伤惋迷蒙,适合晚上听,也和她头像挺搭。米乐以己度人,猜可能到了他这个年龄无论男女,都生活在迷离扑朔的日子里,因此从头到脚都跟通俗明朗无缘。听到一首像把人按进水里的歌,沉闷压抑,米乐不仅不觉得难听,还感觉情绪恰到好处。突然吉他亮音响起,像一只手伸进水里,把溺水的人拉了上来,世界豁然开朗。
听到这,米乐有些坐不住了,有种东西被唤醒。他来到车外,需要将这种东西释放,或在夜空下任它生长。随着乐曲的进行,鼓的韵律清晰起来,有种整装待发的感觉,米乐竟然跟着做起开合跳——平时他也常跳,心态和心率都不想过早衰老。
跳了不知道多少个,乐曲结束,米乐停下来,踱步深呼吸,平复心跳。往前走了十几步,又往回返,下一首歌已经开始。一转身,看到一个人推着自行车站在房车旁。米乐走近,看清是谁,吓一跳,Sting的妈妈。米乐摘掉耳机,说,是你呀,太黑没看清。Sting妈说,刚才喊了你两声,你戴着耳机没听见,听什么呢?米乐说,你们乐队的歌,说完停掉耳机,手机里果然传出她再熟悉不过的曲调。然后解释说,孩子睡前唱了你们的歌,Sting教的,我就正好找你们乐队的歌听听。
米乐意识到Sting妈这个时候出现在这里很意外,问她来这有事儿吗?Sting妈说她刚好排练结束,骑车回家,看到米乐在锻炼,就停下打个招呼。米乐说,你们的音乐挺耐听。Sting妈笑了。两人谁也不再说话,乐曲在夜色中放着,闪烁的路灯好像打在舞台的灯光。
Sting妈突然说,过几天国庆长假,乐队会在河北某城参加音乐节,邀请米乐带孩子来玩,她也带Sting去,音乐节在湿地公园,可以野营。米乐应诺。
6
老婆说不用订她的票,不想跟Sting家走太近,以免日后麻烦。但孩子想去,米乐就开着房车带儿子去了。
Sting跟着妈妈前一天就到了办音乐节的城市,组织者怕国庆假期路上拥堵,提早把参演的乐队接来。大型音乐节都不让露营,也不让带水进场,这个音乐节规模小,乐队名气都不大,为了吸引更多人来看,取消了这些限制。演出当天,组委会在每支乐队的休息处都搭起天幕,架好折叠桌椅,摆上吃的,场面工作做足,让乐手们发朋友圈,宣传音乐节,吸引更多乐队日后来演出。
米乐带儿子是演出当天下午赶到的,找到Sting妈妈所发照片上的紫色天幕。一路上,看到乐迷们五颜六色的头发、千姿百态的衣服,儿子跟米乐说,这些人“泰裤辣”——这是他上学后学到的一个流行词。米乐说,你长大了也可以这样。
儿子和Sting会师,还有一些乐队的亲友也带来孩子,小朋友们在草地上玩起“木头人”。大人们似乎刚吃完饭,桌面上摆着组委会派发的盒饭,已经吃空,还没收拾。Sting妈介绍了米乐和大家认识,吉他手递来一听啤酒,米乐打开,跟手里有酒的人都碰了一下。
天气已经不热,有人把椅子搬到天幕外面,找阳光晒。米乐用啤酒和在场的人打完招呼,也搬椅子找了片阳光,从这里能望到舞台,离演出还有一会儿。
大人们窝在沙滩椅里,说着无关紧要的话;孩子们在不远处玩耍,对游戏中的犯规者明察秋毫。如果几日后这些人不需要上班上学,生活简直无可挑剔。
一阵不小的风刮过,吹翻桌上的空餐盒,盒盖儿被卷走。Sting妈起身去捡,没等弯腰,塑料盖儿又被刮走几米,吹到孩子们脚下。一个男孩看Sting妈奔盒盖儿而来,他俯身去捡,刚伸手,盖儿又往前窜了窜。于是孩子们争前恐后去捡那盖儿,风似乎有意和他们做游戏,又卷起盖儿向前。孩子们的兴致更高涨了,像一群蜜蜂追讨敌人而去。终于,一个大点儿的孩子捡到了——或者说抢到了。Sting妈撑着营地的黑色大塑料垃圾袋来接,拿着盖儿的孩子扣篮一样将斩获物投入袋中,洋洋得意,仿佛球场上的MVP,其他孩子有些沮丧,吵着要再玩一次。Sting妈说,那咱们一起去捡垃圾,把地球上的垃圾都捡干净。
当儿子告诉米乐他要去捡垃圾的时候,米乐一开始没听懂,但儿子已经跑走,去追大部队。米乐就拿着那听啤酒,在后面跟着,看到Sting妈拖着大号黑色塑料袋,像个丐帮帮主,指挥着五六个孩子,把出现在草地上的垃圾一一捡起,汇总到她的袋子里。
这也太摇滚了吧?还是哗众取宠?米乐拿不准,保持着距离,跟在后面。
孩子们为了收获更多战利品,开始创造垃圾。儿子跑来,管米乐要啤酒罐,米乐一口喝完,孩子喜悦地拿过罐子去上缴。有孩子走到露营人面前,问吃了一半的食物要不要扔掉,被问者微笑着摇摇头。好在只带了一个黑色袋子,很快就装满了。Sting妈把袋子放到垃圾回收处,带孩子们去浇花的水龙头下洗手,然后回到营地。
组委会的工作者正举着小摄像机采访乐队其他成员,见主唱回来了,镜头冲向Sting妈。采访者是个小姑娘,问,刚才听乐手说,乐队解散过几年,前年又重组,都出于怎样的考虑?Sting妈反问,他们——看向三位男乐手——怎么说的?采访的小姑娘说,他们说听您召唤,他们就回来了。Sting妈笑了,说你听他们瞎掰呢,当年解散也不是我召唤的,还是散了。小姑娘追问,那您说是为什么呀?Sting妈说,当年觉得干这个没希望,挣不到什么钱,只能解散,后来该结婚的结婚,该生娃的有了娃,班也上了,折腾一圈发现还是干这个好,不用看人眼色,自己喜欢什么样的音乐就做什么,不用讨好任何人。现在靠乐队能养家吗,小姑娘又问。乐队的人听到这个问题都笑了,Sting妈说,那就看过什么日子了。小姑娘最后举着话筒问道,说来说去还是因为发自内心喜欢音乐喽?对,Sting妈说,离不开。
这时候几十米外的舞台上传来一声吉他的失真,演出即将开始。观众席已聚集了千把人,前排的乐迷舞动着几杆大旗,乐队主唱说着感谢音乐节和乐迷的话来暖场,鼓手在恰当时机搞了段solo,气氛被点燃。采访团队去拍摄演出现场。Sting妈乐队的乐手们拿出乐器,开始热身——具体就是热手热嘴——Sting妈咿呀嘿吼地开着嗓子,他们第四个出场。
随后Sting妈和吉他手合到一起,一个演奏一个唱。第二支乐队开始上场,舞台上没了动静,米乐能听到Sting妈唱的就是那天晚上儿子在房车里唱的歌:1、2、3、4、5、6、7……do、re、mi、fa、sol、la、xi。Sting和儿子跑过去,跟着他妈一起唱起来。唱着唱着,Sting妈灵机一动,添了两句词。新词在两个孩子的演唱下,出现一种美妙的效果,米乐听到也为之一动。旋律朗朗上口,另外几个孩子也加入进来,Sting妈闭了嘴,现场成了童声合唱团。
这时候来了组委会的人,让乐队去候场。Sting妈征求乐手们意见:要不然让孩子们也上场?鼓手说,靠谱!Sting妈让孩子们去征求各自家长意见。儿子跑来问米乐,米乐说,只要你愿意,当然行。
乐队的四个大人先上了场,第一首歌是展示乐队风格的英文歌。第二首歌换成中文的,唱至一半,Sting妈冲后台一招手,孩子们上场了。她领唱了几句,随后就将麦克风冲向孩子们。乐队降低了器乐演奏成分,只留下贝斯铺着节奏,孩子们的声音被突出,唱出:“1、2、3、4、5、6、7,不是你在班里考第几,1、2、3、4、5、6、7,它们是do、re、mi、fa、sol、la、xi……”听出米乐一身鸡皮疙瘩。在这种声音下,空气也仿佛被净化,观众发出和之前不一样的欢呼声。
Sting妈举着手机,站在Sting身旁,拍摄着这一幕。米乐也从台后呼哧带喘跑到观众区,挤不进去,就在最后一排,正面拍摄这个场面。
孩子们反复唱着那句歌词,乐迷们也跟着唱起来。乐队索性停止任何演奏,成了孩子的清唱,现场数千人挥舞着手,跟着孩子们一起唱。
这时候,米乐的手机响了一声,是微信,他没理会,继续拍摄。
随后不到一分钟,老婆电话进来,米乐没接,拍摄没停。响了十多声后断了,马上又打过来。孩子已唱完,鞠躬谢幕离场,米乐接了电话。
“你疯了吧!”老婆开口喷火。
“怎么了?”米乐以为家里出了什么事儿。
“你看看群里!赶紧给我把孩子拽下来!”老婆的声音盖过现场巨型音箱发出的声音,直撞耳膜。
米乐在房车里连住十天了,平时他只是晚上陪孩子睡在学校门口,周末和孩子还是会躺到家中的床上,现在他已经第十一天睡在车里了。那天他在儿子班级群里看到Sting妈妈发的视频,是她从台上拍的孩子们唱歌,只拍了Sting和其他孩子,有意避开米乐儿子。老师也在这个群里,显然,她想让老师和部分家长看到这一幕。米乐老婆看完后有种直觉:自己儿子也在台上。于是炸了。加上视频确实不小心扫到另一个孩子的胸口以下,露出有限的衣服,这让米乐老婆确认了那就是自己的儿子,于是被引爆了,给米乐打去电话。
米乐那天也被点着了。孩子们的童声如天籁,直钻心窝,辅以歌词,听得他热泪盈眶。加上现场数千人的合唱,让米乐觉得“这样才是对的”,然而老婆的电话在这个时候不合时宜地来了。不知道触碰到米乐的哪根神经,或者说击穿了他,窝在缝儿里的那个更真切的米乐钻了出来,选择拒绝错误的声音——比如老婆说出的那些话——让正确的事情变得更对,于是就把自己从正面拍的那条视频也发到了老师所在的班级群。视屏中,儿子和Sting与另几个孩子,坦荡地站在台上,唱着“1、2、3、4、5、6、7,不是你在班里考第几……它们是do、re、mi、fa、sol、la、xi……”台下上千双手跟着他俩的节奏挥舞。
然后米乐的电话和微信就被老婆打爆了,让他赶紧撤回视频。米乐没有撤,手机那头儿的老婆表现出比台下乐迷更疯狂的激情。
接下来,米乐就没再回家睡过觉。如果没有孩子,他会开着这辆车,去到一个什么地方,过上那么一段时间。但现在他做不到,因为孩子,他还要接送。他能做的,就是在车里先凑合一段时间;也幸好有了这辆车,让他在这样一种时刻里,能有个地方一个人待着,可以把前前后后的事情好好想一想了。
作者简介
孙睿,作家、编剧、导演,北京电影学院导演系硕士毕业,写小说为主,也写剧本。已在本刊发表中篇小说《斗地主》、《发明家》,获2019年《北京文学》优秀中篇作品、2022年《北京文学·中篇小说选刊》优秀中篇选载作品。
责任编辑 张颐雯
特约编辑 蓦 凡
Look for notable examples of literary devices, narrative strategies, or stylistic choices the author employs.
Consider how these techniques contribute to the overall effect or meaning of the work.
', error: Error code: 429 - {'error': {'message': 'You exceeded your current quota, please check your plan and billing details. For more information on this error, read the docs: https://platform.openai.com/docs/guides/error-codes/api-errors.', 'type': 'insufficient_quota', 'param': None, 'code': 'insufficient_quota'}}
2024-06-14 15:27:39 - AnalysisRunner - ERROR - Error running analysis 'Techniques' using GPT4Model. Error type: RateLimitError. Error message: Error code: 429 - {'error': {'message': 'You exceeded your current quota, please check your plan and billing details. For more information on this error, read the docs: https://platform.openai.com/docs/guides/error-codes/api-errors.', 'type': 'insufficient_quota', 'param': None, 'code': 'insufficient_quota'}}
Traceback (most recent call last):
File "/Users/apple/editor-app-v10/analysis_runner.py", line 47, in run_analysis
result = model.invoke(prompt)
^^^^^^^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/language_models.py", line 78, in invoke
response = self.model.invoke([prompt])
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/langchain_core/language_models/chat_models.py", line 170, in invoke
self.generate_prompt(
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/langchain_core/language_models/chat_models.py", line 599, in generate_prompt
return self.generate(prompt_messages, stop=stop, callbacks=callbacks, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/langchain_core/language_models/chat_models.py", line 456, in generate
raise e
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/langchain_core/language_models/chat_models.py", line 446, in generate
self._generate_with_cache(
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/langchain_core/language_models/chat_models.py", line 671, in _generate_with_cache
result = self._generate(
^^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/langchain_openai/chat_models/base.py", line 537, in _generate
response = self.client.create(messages=message_dicts, **params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/openai/_utils/_utils.py", line 277, in wrapper
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/openai/resources/chat/completions.py", line 606, in create
return self._post(
^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/openai/_base_client.py", line 1240, in post
return cast(ResponseT, self.request(cast_to, opts, stream=stream, stream_cls=stream_cls))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/openai/_base_client.py", line 921, in request
return self._request(
^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/openai/_base_client.py", line 1005, in _request
return self._retry_request(
^^^^^^^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/openai/_base_client.py", line 1053, in _retry_request
return self._request(
^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/openai/_base_client.py", line 1005, in _request
return self._retry_request(
^^^^^^^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/openai/_base_client.py", line 1053, in _retry_request
return self._request(
^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/openai/_base_client.py", line 1020, in _request
raise self._make_status_error_from_response(err.response) from None
openai.RateLimitError: Error code: 429 - {'error': {'message': 'You exceeded your current quota, please check your plan and billing details. For more information on this error, read the docs: https://platform.openai.com/docs/guides/error-codes/api-errors.', 'type': 'insufficient_quota', 'param': None, 'code': 'insufficient_quota'}}
2024-06-14 15:27:40 - httpx - INFO - HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 429 Too Many Requests"
2024-06-14 15:27:40 - LanguageModels - ERROR - Failed to invoke GPT-4 with prompt: '
Discuss the emotional core of this text (output in Simplified Chinese):
四轮学区房
孙 睿
1
刚开始没想到是吃麻辣烫的,太饿了,从外面看着像能吃饭的地方,米乐和老婆便推门往里走。一进来,就想打喷嚏,呛得,又打不出来。空气中,一个个香辣分子在翻滚。老婆一屁股坐到桌前,顾不得味道粘在衣服上将久久不散,扒拉着挑选。坐下后米乐意识到,他俩好久没有面对面坐下、像谈恋爱时候那样吃顿饭了。
店开在胡同口,狭长的桌子,其实也不长,多说四五米;当中间儿掏空,怼进去一溜长方形钢筋锅,彼此靠钢板隔开,做成两排,煮着穿好的串儿,荤素都有,五花八门,竹签冲外,伸手即取。这种店傍晚前做旁边学校中学生和逛胡同游客的生意,现在已经晚上九点多,除了看店伙计在墙角刷手机,店里没别人,是另一种缘分让米乐和他媳妇坐到了这里。
两人各守一锅,小火轻煮,空调吹出冷气,汽化的风肉眼可见。老婆一言不发地吃着,面前摆着撸下的签子,长短不一。长签三块一串,短签两块——米乐发觉自己扫一眼桌面大概就能乘出吃了多少钱的能力退化了。两人都太累了,下午来这边看房,东跑西颠,看了六套,快看吐了。
九月份孩子就要上小学了,还有一个多月。目前孩子跟着他俩住回龙观,幼儿园也是这边上的,家楼下。老婆觉得,幼儿园哪儿上无所谓,就当上着玩,小学不能再凑合,必须去城里。回龙观属于昌平,挨着朝阳和海淀,算不上远郊,但比起二环里的东城西城,叫城外也不为过,这边都快到六环了。什么时代的人都想当“城里人”,过腻城里日子往城外搬的那种另说,家长更是希望自己的娃能做个“城里孩子”,恰好米乐老婆和孩子的户口在城里,进城上学成了这个家庭的不二之选。
当然米乐也有别的想法,他不认为孩子去城里上学就高枕无忧。他敢这么认为是有充分依据的,他的小学到高中都是在西城区上的,也不是班里所有人都考上大学了,甚至有后来进了工读学校的,前途如何,更靠孩子自己。同样他也不觉得留在昌平上学就输在了起跑线,他的大学同学里,有一个就是昌平考上来的,学号一号,因为入校分数最高,后来年年奖学金,还保了研。但米乐不愿跟老婆掰持这些,他的不做主性格,让老婆成了当家的人。
说起来,其实他老婆连原汁原味的北京人都算不上,米乐才是北京的“城里人”。小时候在西城长大,家住西四胡同,后来那片拆了,父母在回龙观买了房,米乐跟着搬了家。户口随房子走,迁到了昌平,化身“城外人”。而他老婆,大学毕业留了京,幸运地进了给解决户口的单位,单位在东城,于是不仅成为新北京人,还拥有了令很多城外北京人羡慕的东城区户口,只不过是集体户。后来两人认识,结了婚,也在回龙观买了房——为了离米乐父母近更因为这里的房价还能接受——老婆仍把户口留在单位。一开始米乐以为老婆嫌麻烦,懒得挪,直到几年后生了娃,给孩子上户口的时候,才弄明白老婆的良苦用心:孩子户口不在昌平上,上东城的,跟她一起,落集体户,将来是东城学籍,可以上东城的学校。大家普遍认为北京的好学校都在东西城和海淀,所以这三个区的学籍格外珍贵,没有的心向往之,想辙往里钻,有学籍的则沾沾自喜不形于色。还有个插曲,备孕期间,老婆让米乐把他名下那套回龙观的房子卖掉,她研究过政策,必须父母双方都没有北京房产,孩子才能落集体户。就这么着,米乐把自己名下的那套房子卖了,租了两年房子,等到孩子在集体户里有了自己的户口页,才和老婆又在他父母的那个小区买了套二手房。那时候房价每年都在涨,为了孩子的户口,搭进去两人多年的积蓄,只因为老婆认为当个“城里人”洋气。
老婆七年前布好局,事态按预期发展着,上礼拜小学录取通知书下来了。儿子成了一名北京东城区的小学生,不出意外,将在东城接受九年义务教育。从回龙观到这所小学,二十公里出头,还有一段高速。不走高速的话,有三十三个红绿灯,早晚高峰开车少说要一个半小时,再遇上一起交通事故,时间就没谱了——若事故双方都是送孩子的家长,也是有麻利儿解决的可能。走高速倒是能避开些红绿灯,但进出高速口的时间不稳定,赶上没装ETC的车或手机忘带了无法扫码付费身上也无现金的车主,这条车道何时能通车就看他什么时候能变出过路费了……这些特殊情况暂且放置一旁,按八点到校计算,逆推,六点二十必须出家门了,刨去洗漱吃饭时间,不到六点就得起床,大人还要伺候孩子穿衣吃饭,只能起得更早。于是问题来了:住昌平的儿童和家长,每日该如何不这般辛劳地去东城上学?
老婆曾试想,卖了回龙观的房,在学校旁边买一套,然后把自己和孩子的户口从集体户里迁出来,落户东城,一劳永逸;米乐乐意的话,户口也能从父母的本儿上挪过来,四十岁了,早该独立出来了。想法很美好,现实被低估。同样新旧的房子,东城一平米的单价差不多是昌平的三倍。现在米乐一家三口住的是一百二十平米的小三居,换成东城同档次的房子,包括税费里里外外都算上,要添八百万。知难而退,老婆降低预期,不行就住老破小,窄点儿也认了,孩子的教育胜于一切。看了两套不到八十平的两居,一算差价,仍要添三百万。钱是一方面,关键是卖了自己住得顺心又舒服的房子,在陌生的地方买个不那么如意的房子,是不是风险有些大?没有哪个普通家庭能在买房卖房上像打麻将出牌那般随意,即便是在北京,也尤其是在北京。
加之房产市场突然低迷,房价走向扑朔迷离,成交周期变长,房子也不是说卖就能卖成的,肯花钱倒是容易买到,但很可能刚买到手就贬值。如此一来,换房的想法只能搁置。保险一些的做法是把自家房租出去,在学校旁边租套房。今天看的这些出租房,有中介联系的,也有老婆在闲鱼找到业主直租的。看房用眼睛看,身体和情感不免也会参与其中,幻想未来至少六年带着孩子生活在这里:三具肉身的安放是否恰当合理(卧室舒不舒服),三张嘴能否被满足(厨房能不能唤发烹饪食物的热情),三个灵魂栖居于此可否相安无事(几年后将迎来儿子的叛逆期)……六套看下来,身心俱疲。
小店墙上的货柜摆着各种饮料,老婆偏偏拿了一瓶红牛,拉开就喝。以前她从不碰这玩意儿,认为所谓的提神就是杀鸡取卵,把体内残存的能量榨取出来。那么,现在她是要把仅剩的一丝力气逼出来,然后还要干点儿什么吗?米乐猜不出老婆接下来还想干什么——再看一套房?或是仅仅为了有力气回家?还是不甘回家后就这样一无所获地睡去,夜深人静的时候仍要展开人生思考?
眼前的事实,让米乐确信了一件事情,这是近八年里他和老婆第一次吃麻辣烫。以前她特好这口,自打有了孩子,两人吃东西就不怎么考虑自己了,只吃适合孩子吃的东西,孩子现在六岁半,加上备孕和怀孕的时间,八年里两人渐渐没了“自己”。
此刻老婆两眼直愣愣地盯着锅里,嘴里机械地嚼着,一手握着红牛,一手搓捻着空签子,显然脑子里琢磨着什么。这神态让米乐陌生。老婆从小聪慧灵敏,在学习、考试、就业、升职的道路上,向来无须大动干戈便攻城拔寨,不说硕果累累,至少是一帆风顺。如今被卡住了,不是主观世界被难住的卡,是那种物质世界的卡——老婆想的可能是:自己的家庭为什么突然卡在底层中产向高阶中产进军的路上?
在不添钱的情况下,回龙观的房租只能在东城区租个六十平米的老破小。客厅小得转不过身,家里那台七十五寸电视搬过来都放不下——米乐和老婆都喜欢周末在家看个电影。为了让电视有地儿放,也得租个面积大的房子,那就只能添钱。添多少合适?无限制地添,好房子有的是,再大的电视也能搁进去,但这不是米乐家能过的日子。老婆虽说事业顺利,挣得也有限,在出版社上班,不是什么大社,做出爆款书的机率渺茫,年薪远没到过日子可以不算计。米乐至今自由职业,做平面设计,收入取决于活儿多活儿少,曾经红火过,这两年客户相继流失,不知道好好的一家公司怎么就做不下去了。米乐的活儿也随之减少,世界越来越新,他越来越老,在发展新客户上缺乏手段,已由只喝单一麦芽改为调和威士忌也觉得还不错了。
老婆定了一个标准:保证生活品质的情况下,房租尽可能地少添。尽可能地少,也有一个范围,所以连看了六套。连将将满意的都没有,首先就是感觉小。房子住惯了宽敞的,再换紧凑的就难了。米乐老婆以前没觉得三口人住五十多平有多挤,甚至还觉得敞亮,她自己家当初就是一套五十多平的房子,她还有一个自己的房间,让很多同学羡慕,但那是二十多年前。现在她和米乐看了一套九十平的两居都觉得窄,就这还要每月添四千多,若想租一套和回龙观的家一样面积的房子,少说要补八千块,超标了。也正应了那句话:一分钱一分货。越活越觉得这话的准,世界就是这么构成的。
六套里有一处平房令米乐夫妇印象深刻,房本面积三十多,号称能住五口人,两间十余平的房子打通了,加了挑高,做成复式,下面的三十多平隔出客厅、厨房和卫生间,客厅只留一条过道能站直身子,其余空间留给楼上复式,从沙发上起身都得猫腰。房主说,人多数时候在客厅里是坐着的,这么设计是合理利用顶部空间。楼上的复式部分,拆分成两间半,老两口一间,中年夫妇一间,半间留给上中学的孙子住。现在孙子考上大学,可以住校了,一家人没有必要挤在这里,准备往城外搬。看房的时候,米乐老婆盘算如果是自己家搬过来,先不说人能不能耍得开,就是家具都摆不下。这家的柜子有个特点,都直通房顶,极尽盛放之能事。经过楼梯的时候,米乐老婆不知道自己碰了哪里,一扇木板弹出来。原来这片看似楼梯支撑物的木板也是柜门,楼梯下面的空间从高到低依次被用作大衣柜、短衣柜、袜子柜和杂物柜,房间里见不得一立方厘米的浪费。连柜门上都没有把手儿,门是磁吸的,按下去则弹开,再按就吸上,刚才就是米乐老婆不小心顶到柜门。房主人笑着介绍说,面儿上什么都不露,省地儿。笑中透着说不上是得意还是无奈。这一刻,米乐老婆体会到住城外的好了。
但米乐知道,对老婆来说,东城学籍是更好的东西。现在终于等来这一刻——媳妇累了、也烦了的时刻——他可以把存在心中许久的那个想法说出来了。
“倒是还有个方案……”米乐不知为何话一出口感到一阵心虚。
“什么方案?”老婆翻起不抱希望的眼睛。
“弄辆房车。”
“现在卡在房子上,怎么还想着弄什么车!”老婆似乎觉得米乐把握不住重点,随后马上意识到房车是可以住人的,转而说,“弄了以后呢?”
2
大学毕业离校那天,米乐想,以后可他妈不用考试了。这么一想,步伐都轻盈了。现在四十岁,竟遭遇了哈姆雷特的困境:孩子的小学到底是去东城上,还是留在昌平?这道题没有补考,选错了就……就怎样并不知道,也没有人能告诉他。
做这同一道题,米乐和老婆的解题思路不一样。不同于老婆在跨城中寻求解决方案,米乐是先有方案,然后为这个方案在现实生活中找到有力支撑。方案就是他跟老婆所说的“弄辆房车”,直觉告诉他可以这样做。
米乐现在和父母住同一个小区,隔着几栋楼,相互都有个照应。幼儿园接送孩子,当米乐和老婆顾不上的时候,他父母可以代劳。老两口把孩子接回来,还能给孩子弄口饭,米乐他俩几点回家都无所谓了,孩子睡爷爷奶奶那也行,第二天老两口再给送去幼儿园。父母眼瞅着奔七十了,今天不是这个头晕,就是那个明天胸闷,米乐也能照顾到,去医院检查他开车接送方便。所以他不想打破现状,觉得孩子小学在家附近上也没什么,父母依然可以帮着接送。但老婆的底线是,别的怎么都行,学必须去东城上——尽当爹妈的最大努力成全孩子。因为她就是这么长大的,然后从一个四线城市考到北京,当初她妈不输孟母,为了她上学,也曾三迁。
让孩子住学校旁边,已是大势所趋,在这个“规定动作”下,米乐便想到了房车。他一直就想弄辆房车,可以开到哪儿玩到哪儿,需要工作了——他的工作有台笔记本电脑就能完成——车里就能干。有卡座和桌子,不比咖啡厅差,窗外还有风景。可以说,是孩子上学的新问题,正好撞上他的旧心愿。
然后今天看完房子,也可以说在看房过程中,甚至说在第一套老破小看到一半的时候,“时机到了”的想法就开始在米乐脑子里闪现。他想,与其在“砖窝”里睡觉,还不如在“铁桶”里睡,反正都是个小。不就是为了离学校近吗,把房车停学校门口,没有比这更近的睡觉的地方了。相当于给小平房装上轱辘。每天放学先开着房车接孩子回家,小学特别是低年级,三点多就放,这时候路上不堵,四十多分钟就能到家。在家写完作业吃完饭,玩够了,该睡觉的时候,就让孩子往房车上一躺,米乐把车开到学校门口——晚上不堵车,四十分钟用不了就能开到。孩子瓷瓷实实睡一晚上,米乐早起给孩子做饭,车上有电磁炉和冰箱,孩子妈愿意陪睡陪吃也行,车里三张床,足够睡下,比那复式平房的卧室更让人有想躺在枕头上的愿望。
如果是搬来东城,米乐不忍心只搬自己的小家,而把父母留在回龙观。这样一来,不仅开销翻倍,父母也得挤老破小。现在老两口住着百十平的两居室,在一层,不用爬楼,关键是窗前还有个小院子。院子算公共面积里的,因为搬来得早,那时候物业管得不严,老爷子在落地窗前开了个门,直通小院,方便打理草木,省了物业的事儿,这地界儿慢慢也就算自己的了。进入四月,院里的那株树仿佛懂得感恩,不用催就按时开花,白中泛粉,围住树冠密密一团,阳光下尽情盛放。引来蜜蜂,路人也在树前拍照,老爷子坐在窗前泡茶,得意地看着外面。打开窗,风吹过,花瓣会飘进窗里——三四月还不必关窗纱。米乐爸会特意让花瓣就那么散落在窗前的茶几和藤椅背儿上,放那么几天,等花瓣蔫瘪了再扫走。花期一个月,落光后小绿果就冒出来,一周后能看出是杏。到了五月中,杏的个头儿大了,坠弯枝条,有人摘着吃。米乐爸爸看到会拦下,让他们捡掉在地上的吃,这种杏熟透了,不酸。自打搬进这套房子,米乐家就没在吃杏上花过钱。等杏的热乎气儿过了,轮到杏树旁的那些灌木展示,开出一大朵一大朵的花,红彤彤不免艳俗,绽放的热情仍让人忍不住问问这是什么花,很多时候米乐爸故意站在院子里,等着回答:月季。真要搬了家,在北京二环里找到一处窗前有杏树的房子就难了。这是米乐给“弄辆房车”找到的理论支持。
但老婆听完米乐的计划后,第一反应就是不靠谱,这也是她的直觉。完全在米乐预料中,她这些年越来越保守。米乐当然也理解,这种保守从某个角度说,是母爱所致,本质出于对孩子安全的考虑。但米乐这么做——如果房车计划能成行——也不是说就没有父爱了。恰恰这是米乐要传递的父爱,不要被生活中那些貌似坚固的东西困死,如果甘于受困,那些东西会越来越坚固。老婆的保守从另一个角度看,跟对房车的不了解也有关系。
米乐从技术角度给老婆普及了房车知识,告诉她里面床的尺寸,如何取暖、洗澡、做饭,以及一些先行者已经在房车里过上怎样的日子。说着打开手机,调出几条短视频,让老婆看人家怎么在车上过日子,有游荡在城市中的,也有开到荒郊野地一住就是个把月的。
老婆敏锐觉察到蹊跷:“你不是为了孩子上学,你准备了半天,是你想弄辆房车玩吧?”
米乐承认他是爱看那几个房车播主的视频,正是因为平时关注着,关键时候就用上了:“人家成年累月在车里生活,咱们就是让孩子睡个觉、吃个饭,比换房简单多了,风险也小。”
老婆随之问了几个她关心的问题,包括车得多少钱、车牌好不好上,冬天睡觉怎么办,以及米乐能确保每天晚上和早上都像他说的那样守着房车吗?米乐张口就答,新房车从十几万到上百万的都有,开了两三年的二手房车是新车的六到七折,他觉得买辆二手的就行,甲醛味儿散干净了,孩子睡在里面踏实。车牌可以用家里这辆车的,把现在这辆ix35卖掉,开八年了,孩子都长大了,没有上学这事儿,也该换辆大点儿的车。冬天则还在家里睡,可以提早一个小时出门,让孩子在车上洗漱吃早饭,早高峰之前赶到学校。最后米乐保证道:“既然我提出这个方案,我肯定不会缺席。”
“万一呢,万一你有事儿,或者出差不在北京?”老婆像一位象棋大师,考虑的不光是眼前这步,还有很多步。
“你也可以开,练练就行,C本以上都能开。”米乐不是留后手,是鼓励老婆,他觉得这是一次机会——把老婆从盲目内卷的势头里拽出来。让她除了惦记“孩子不能输在起跑线上”,心里也装些别的事情进去,比如想想能开着房车去哪儿过个周末。
他早就对老婆的一些做法不认同了。孩子刚进入幼儿园小班,就被老婆送去轮滑和识字班,因为别的孩子都报了,不是报这个班就是报那个班,于是他们的孩子也不能在家傻玩了,搞得大人孩子都没了周末。和老婆相比,米乐比较佛系,他觉得怎么都行,他就是这么一路长大的——走一步说一步,没有肝脑涂地为一个明确目标过度燃烧自己。大学毕业后他一直自由职业,说不清是性格导致就业,还是就业方式塑造性格。总之就这么过来了,从毕业第一年能养活自己,到后来买了房、结了婚,老能接些活儿,也就没想过找个稳定工作。他和老婆就是接活儿认识的,那时候她刚毕业做实习编辑,需要找封面设计,没资源,就在网站上转,看到米乐的设计稿,给他留言。当时米乐已经做了三四年自由设计师,接了她的活儿。一来二去,见了面,谈起恋爱,常一起吃着麻辣烫聊图稿的完善方案,后来确立了关系。从一开始她就是甲方,所以最终意见都是她拿,慢慢地,这种模式渗透到生活中:蜜月旅行去哪儿、空调买几级能耗的、晚上吃什么……要孩子的事情上也是如此,老婆张罗,米乐配合。以及后来的卖房、给孩子落户,总设计师都是老婆。但设计来设计去,米乐愈发觉得她现在有点儿像参加场地自行车赛的运动员,进了赛道,不管不顾,一圈圈猛蹬,从场外看,仿佛用显微镜看一个不会停下来的电子,也像驴拉磨。
“我不开,那么大一玩意儿,摆弄不了。”老婆依然沉浸在低头猛蹬中,“万一撞了,耽误孩子上学——你这么说了,你就得保证接送。”
“我保证!”
老婆看着米乐,似乎不太相信。
米乐颇为正式地说:“咱们不能再一条道走到黑了,一直卷下去,没出路,越活越累。”
“你想说什么?”老婆没听出这话跟保证每天接送孩子有什么关系。
“有辆房车能让神经放松一下。”米乐又取了一瓶啤酒,打开给老婆倒了一杯,“学会让自己放松,享受一下生活。”
“一点儿不享受,开房车只能让我更紧张。”老婆的红牛已经喝完,似乎有了力气,没拒绝啤酒,端起喝了一口,回归主题,“先说你怎么保证接送孩子。”
人是需要阳光、空气和大自然的。如果有了房车,送完孩子可以把车开到一个自己愿意待下去的地方——估摸是五环外某处不那么现代的地方——泡杯茶或咖啡,在车里开始工作。每天接送孩子对米乐不是忍辱负重,是激动人心的新生活开始了,无需保证。他如此告诉老婆。
老婆考虑的已不止是好几步,是十好几步,问以后上中学怎么办,还睡车里?米乐说那是六年后的事情,现在的人连六天以后的事情都无法把握,用不着想那么远,没准三年后教育政策就变了,这几年生育政策已经发生重大变化,而且六年后房价指不定什么情况,摸着石头过河吧……老婆又有担忧,说要都这样,一家一辆房车上学,学校门口停得下吗?这种考虑米乐不是没想过,他现在自信地告诉老婆:想想咱们家得下多大的决心,才能用房车当学区房,而且我又不用上班,有时间这么干,别的家长里有这条件的少吧——真要是不得不参与竞争,得扬长避短,不是一起同频内卷。
两人很久没有这么聊过了,也或许是难得吃了一顿只有两个人的饭——还是年轻时最热爱、现今久违的食物——近半年压在老婆心头的烦闷消散了许多。她又起身拿了一瓶啤酒。
米乐也聊得浑身清爽,觉得老婆似乎已被说动,同时不忘肯定老婆:“不是每个住得远的孩子都有一个能让他们拥有城里户口的妈,放心吧,学校门口不会遍地是房车的。”
后来两人打车回的家。原因有二:累得不想多走一步;现在九点半了,正好可以考察一下这个时段从回龙观到这里的路还堵不堵。以后这个时间,就是儿子躺在房车里,从家出发的时间。
北二环路边的写字楼依然灯火通明,还能看到有人在窗口里移动。夜色下,这些楼体黑黢黢的,仿佛泥潭被竖立起来,还隔出一个个格子,像鸡蛋盒装鸡蛋一样,装下一个个人。坐在出租车的后排,米乐揽住老婆的肩,老婆顺势将头靠在他的肩上。两人很久没有这样过了。
脸颊感受着老婆的发丝,米乐觉得今天自己又进行了一场提案——关于房车的提案。他依然记得,十几年前,给老婆——那时候连女朋友还不是——的封面设计稿第三次提案成功后,两人一起吃了顿饭,饭后也是这样给老婆送回家的。
3
在正式“弄辆房车”前,米乐先租了一辆,拉着老婆孩子出去玩了一趟。这是老婆的主意,她需要获得足够的安全感,才认可这个方案——如果这趟出行令她不满意,米乐想,难道她还有别的备选方案而不是完善房车方案的不足之处吗——她做事习惯手拿把掐。
米乐照着日后想买的那种车型租了一辆:驾驶室头顶有一张床,车尾放置着一套上下铺,下铺一米三宽,上铺八十,卡座和茶桌那里放平也可以变成一张儿童床,俩大人一个孩子睡这车上绰绰有余。大人睡觉挑床,孩子不挑,进了房车,来不及脱鞋,就挨个床上打滚,还问:“以后可以永远不回家睡觉了吧?”
房车加柴油,自重也大,提速有顿挫感。米乐开了几公里后意识到这个问题,便不像开自己家车那样狠踩油门了,缓缓给油后平稳了许多,及时遮掩了这个可能会被老婆挑出来的瑕疵——车开在路上忽悠忽悠的,孩子能睡安稳吗,米乐想象得到老婆可能会这样说。
因为是体验车为主,米乐没有把车开到太远的地方,游山玩水不是此趟出行的主要目的。三口人在六环外的河边停下车,米乐支上车侧身的阳光棚,架好折叠椅和户外餐桌,摆出水和吃的,弄成室外小客厅。先给老婆营造出舒适惬意的感觉,是第一步。
房车不远处就是贯穿京津的一条河道,有人在河边钓鱼,河对岸停了几辆私家车——都是天津的牌照,看样子过了河就属于天津——大人孩子正在烤炉边生火,青烟冒出来,引得孩子们一阵欢呼。米乐也不甘示弱,拉出房车的燃气灶,拧开自带的油瓶,取出洗切好的半成菜品,准备给儿子和老婆——两人此刻已拿着捞鱼的笊篱到了北京这边的河边——炒俩菜。饿不着,还能吃得比家里好,是米乐的第二步。
吃完饭,米乐又为老婆展示了如何在车上用水——把碗刷了。然后自己在地上画出三个车位,练习了揉库倒库,将来在二环里并不宽敞的街道上他得频繁做这两件事情。老婆最关心的还是睡觉——休息得好坏,直接关系到孩子未来的身高乃至择偶——所以当晚米乐把车开到了儿子的学校门口,停在空车位上,老婆要实地考察此处是否适合睡觉。
当有车辆过往、老婆觉得噪音有点儿大的时候,孩子已经睡着,响起微弱的鼾声。米乐关掉车内照明灯,只留下氛围灯,和老婆面对面坐进卡座,仿佛置身小酒吧。米乐取出备好的威士忌,倒了两杯,放进冰块。
“怎么样?”一杯递给老婆,米乐觉得孩子上学的事儿就算搞定了。
“你确定晚上就睡这儿了吗,喝了酒可不能开车。”老婆仍不踏实。
米乐冲着孩子正在睡觉的床铺——驾驶座头顶的那张床配有安全防护人不会睡着睡着掉下来——一甩头说:“能睡着,已经说明一切,不需要挪窝了。”
说完,米乐起身,拉上那张床的遮帘,孩子隔在里面,车里顿时变成米乐和老婆的二人世界。
夜色深沉,晚风轻柔。威士忌的颜色跟焦糖色的环境光融为一体,冰块在杯里一点点消融,恰到好处没有音乐——如果背景里放着音乐,反而会提醒老婆此刻还有孩子在车里睡着觉。两人仿佛回到热恋,生活中的那些烦恼消失了。
喝到第二杯,米乐给老婆抱到床上。她没想到他依然抱得动她。
米乐欲要亲热,老婆拦下:“外面还过车呢!”
“它过它的,帘都拉上了。”米乐又喝了一口酒。
“万一有城管呢?”
“城管不管这个。”米乐拧亮床灯,关掉环境灯。
“那也不行!”
“怎么不行了?”
“不安全。”老婆及时坐起来,“再弄出个老二,我可崩溃了!”
“我带了。”米乐取出早已备好的东西。
第二天一早,孩子刚睁眼,老婆就问睡得怎么样,有没有感觉到过往的车声?孩子说梦到超级飞侠带他去火星执行任务了,今晚还想在这儿睡,火星上没玩够。米乐征求老婆意见,房车要不要多租一天,进一步体验。老婆说不用,也就这样了,没必要再多花一天租金。
随后,米乐快马加鞭卖了自己家的那辆车,在开学前接手了一位已放弃追求“诗和远方”的自媒体播主——此人曾靠着这辆车走遍新疆当过网红——精心改造过因而用起来更人性化的房车。老婆是文科女,除了最后把握价格——在米乐谈好价格的基础上又砍下两千块——也没怎么在选车的事情上过多参与。
车开到家后,老婆用酒精喷壶给车内边边角角都喷了一遍。儿子迫不及待要到车上睡觉,并在睡着前已将床铺的围板粘满奥特曼贴画。“四轮学区房”的生活就这么开始了。
4
开学两周了。升级为小学生的家长,米乐没怎么感觉到身份的变化,除去接送占用了一些时间。不过也乐在其中,孩子送进学校后,房车就成了他的世界,可以满怀激情地——他真的感觉到一种冲动——待在里面做无论什么事情,连带也会对工作重新产生热情。之前无论在家还是去咖啡馆工作,都让他厌倦,中年人更需要保鲜。
白天米乐会把车开到愿意驻足的地方,通常是城外。哪怕是早高峰,出城方向也不堵,用不了一个小时,一个有树有河看不到高楼大厦的世界就会出现在眼前;然后泡杯咖啡,靠在卡座上——虽然没有家里的沙发大,却能给人注入活力,仿佛充电桩——开始这一天属于自己的生活:坐久了可以下车去河边打水漂,顺便把肩膀也活动了;有一次他甚至做了一套广播体操——他有轻微的肾结石,大夫让他多喝水多蹦——一切在城里看来不合时宜、想象不到的事情,在这里都可以发生。包括他倾心已久的钓鱼活动,几年前置办的装备,终于派上用场,运气好的时候,午饭问题能靠着大自然的恩赐来解决。
生活节奏重新回到自己手里。享受到莫大的自由,也让米乐在下午三点接孩子的时候,是笑逐颜开的。
九月中旬是北京最好的季节。天空柔媚,风清云静。这天米乐刚完成一稿设计,准备钓会儿鱼,找到一片潮湿的土地,用树杈挖起蚯蚓,手机响了,连响两下。米乐站起身,掏手机,老婆叮嘱过他,听到手机响能看就第一时间看——刚从幼儿园进入小学的孩子还不习惯新环境的要求,容易出事儿。
米乐点开手机,果然是班级群的消息。教语文的班主任先发了一张十几个同学站在黑板前的合影,后发的是一段文字,解释合影内容:以上孩子在拼音声母默写中全部写对,希望再接再厉!米乐看到有自己儿子,挺满足,儿子也争气——在他妈那没有给开着房车上学的生活留下话柄。米乐想,要不要发个大拇指或庆祝的表情,进而觉得不妥,班里三十五个孩子,有一半多的孩子没在合影上,不能在别的家长面前太嘚瑟,便继续自己的事儿。
挖到蚯蚓,挂上鱼钩,竿往河里一甩,米乐心情欢畅。这时候班级的微信群又响了,米乐很想知道别的家长会作何反应,急忙点开。映入眼帘的并不是一个简单的表情,也不是类似“真棒”这种无关痛痒的话,是段只读一遍并不能全部体会其中用意的文字——米乐读了三遍。意思并不复杂,只是米乐又读了两遍,才确信是他第一遍读出的那个意思——他没想到,有人敢这么直截了当地和老师说话。
话的大意是:不应该公布做题全对的合影,某种程度上等于变相在给孩子排名,教委说了,不应该公布学生的成绩和排名,尤其小学生,一年级开学才三周,这么做不太合适。
群里每位家长都给微信名做了标注,不是这个妈妈,就是那个爸爸,说话的这位是个妈。米乐点开这位妈妈的头像——不像有些妈妈用孩子照片或个人游山玩水的照片做头像,她的头像暗昧不清——放大后依然是看不真著的一团东西,朋友圈也不可见。
米乐相信,很多家长将和他一样,等着看老师如何回复。虽然全对的孩子里有自己儿子,米乐仍觉得这位家长说得在理,甚至认为班里有位敢于呼吁的家长是这个班的幸运。
直到米乐收拾了鱼竿,准备开车去接孩子了,群里也没有班主任的回复。其他家长也没有发言的,这种事情,站哪边说都有点儿拱火的意思。米乐猜群里人多嘴杂,老师应该是跟那位家长私信沟通了。
在米乐往城里去的时候,手机响了,正好红灯,赶紧点开看,班主任在群里说话了。她说刚才在给别的班上课,抱歉回复晚了,发合照没有别的意思,就是想让家长们了解孩子在学校的情况,督促孩子从入学初始就养成当天学习内容当天消化的习惯,这次默写拼音有同学一个也没写出来,应该及时让孩子知道小学和幼儿园不一样了——有很多孩子上过幼小衔接,对学习已经有了准备,但仍有孩子不明白上学的目的——进了校园不是来玩的了,今天的合影远谈不上排名,也不是优劣对比,以后到了三年级功课量上来了,不用排名,学习差异自然会显现出来。
米乐知道,关心着群里对话的家长已经越来越多,虽然没有一个人说话。没过多久,那位妈妈又回复了,更希望老师发一些孩子在学校运动、吃饭、上课的照片。老师也很快回:会发的。
这时候米乐也开到学校门口,准备接孩子了。他记住了这位妈妈孩子的姓名,把儿子接上车后,让儿子指给他看,叫那名字的孩子是哪个。儿子对着学校围墙外杂乱的人群看了半天,说没找到。米乐把今天的合影给儿子看,儿子挨个叫出人名,没有那个名字的学生。往家开的路上,米乐问这同学在学校表现怎么样,儿子说跟他不熟,两人座位不在一个方向。
在父母那吃晚饭的时候,老婆在饭桌上表扬了儿子,把默写全对的合影调出来给爷爷奶奶看。老两口看完异口同声:好孙子!妈妈说,台上一分钟台下十年功,抓紧吃饭,吃完刷两套十以内加法题。
第二天,米乐又在群里看到数学题全对的合影,儿子仍在里面,想必老婆也会看到。他把这张照片和昨天的照片做了对比,有十一个孩子昨天也出现了,另几张是新面孔。后来群里一直没有人说话,米乐想,也许那个孩子今天也在照片上,所以妈妈看到照片没有反对,或者知道说了没用,扭转不了老师的意愿,索性闭嘴。
隔天,晚上吃饭的时候,老婆突然问儿子,是不是班主任向你们承认错误了?儿子说他也不知道。老婆问,老师说话时你认真听了吗?儿子说认真听了,老婆说那老师说什么了,儿子说老师说了太多,想不起来。米乐问老婆,学校里怎么了?老婆说班里后来建了一个纯家长群,老师不在里面,有家长听孩子回家学舌,说老师主动承认了错误,再问承认了什么错误,孩子又学不到位,所以群里就动员所有家长都问问自己的孩子,看有没有能说清楚这事儿的。说罢,老婆给米乐拉到群里,让他“时刻准备着”。准备什么,米乐一头雾水,老婆说,跟班里同步就是准备着。
进群后,米乐查看了群成员。那个熟悉的却看不清是什么的头像安静地显示在列表中,不知道为什么,米乐看到后有种心安的感觉。然后又在群里看有没有这个名字男生的父亲,没有找到,之前在班级群里他也没有看到这孩子父亲的微信。大概是男性不愿意过多参与育儿的事情,就像自己也是刚刚加入这个家长群,米乐这样想。
后来都很晚了,一位女生的母亲在家长群里说,孩子睡觉前告诉他,班主任今天在课堂上向大家保证,以后不给大家拍合影了——老师承认的可能就是这个错误。于是家长们纷纷发言,找孩子确认老师是否说过这话,均得到肯定答复。有人说,难得遇到这么开通的老师,能主动向孩子承认错误。米乐想,肯定也有失落的家长,真不发照片了,就不知道自己孩子还是不是班里前十名了,比如他的老婆。但他没有问老婆是不是这样想的。
后来几天,果然没再看到班级群里出现满分孩子的合影。饭菜却又出了问题。
先是傍晚的时候,一位妈妈在家长群里说自己家孩子说今天某同学的菜里——学校用统一的食盘打餐——出现了蛐蛐。她艾特了那位同学的妈妈,请她问问孩子是不是有这么回事儿。没等当事人妈妈回复,别的妈妈就证实了这件事儿,她们的孩子也都看到那位同学的餐盘里出现蛐蛐。群里一下炸锅了,虽然蛐蛐出现在某一个人的餐盘里,但饭菜都是用大保温桶装盛的,这意味着大家的饭菜里都沾染了蛐蛐。其中一位爸爸分析——也可以说是火上浇油——蛐蛐都在石头缝儿里、草窠里,躲着人,能进到厨房的,只能是蟑螂。一时间,屏幕上出现不同妈妈发出的呕吐表情。
众人揭竿而起,各种对于学校饭菜的抱怨发在群里。有人说孩子的餐盘上出现过饭嘎呗儿,卫生不过关。有人说看着那些饭菜就难吃——老师会把每日饭菜拍照发到班级群——米饭暗沉,肉的颜色也浊浑,肯定是冷冻很久的。有人接话:是的,孩子说肉都嚼不动。另有一位妈妈说,有一次孩子跟她说,午餐吃的是蜗牛,她也没多想,还觉得伙食标准挺高,现在想想,肯定是菜没洗干净才出现蜗牛的。马上就有妈妈问,那孩子把蜗牛吃了吗?
这时候,那个头像不清的妈妈说话了,她问,退伙行吗?并艾特了群主。群主也是位妈妈,兼职班级家委会,算是家长们和学校沟通的代表,她说先私信跟班主任沟通下。
在家委会妈妈和老师沟通的当儿,蟑螂当事人的家长在群里回话了,已问过孩子,确有此事。孩子发现异物后,举手报告了班主任,班主任走过来,将异物取出,随口说了个“蛐蛐,给你换一份”,便将餐盘端走,又端来一份新的。有家长问,真的是端来一份新的吗,还是端走又端回来了?马上有家长说,这有什么区别,蟑螂和菜出自同一个保温桶。随后又有家长说,同事的孩子在别的年级,刚才问了下,那个年级的饭菜里也屡屡出现异物。于是群里达成共识:饭菜问题已根深蒂固。
家委会妈妈发来和班主任沟通的结果,班主任说这个问题各个班级都向学校反映过,但老师的职责有限,就是教课,无法插手餐饮管理,今天发生的事情,她会向学校汇报,其实老师们吃的也是这些饭菜,早想彻底改进。班主任同意不想在学校吃午饭的同学退伙,家长中午十二点把孩子接走,一点半前把孩子送回学校就行。米乐看到这里,问老婆接不接,午饭他可以提前备好,带孩子在房车上吃——虽然这样会耽误他去郊区钓鱼。老婆犹豫着,不知道接走合不合适。这时候,头像不清的妈妈先在群里说话了,我接,她说。
随后班委会妈妈做了一个接龙,让接孩子的家长报名,她会把名单转给班主任,明天学校安排老师把这些孩子送到学校门口,由家长带走吃午饭。看到有五位家长参与了接龙后,米乐老婆也报了名。作出这个决定后,孩子爷爷赶紧又熘了个肝尖,炖了锅牛肉胡萝卜——特意做八成熟——放凉后装进餐盒;明天中午米乐在房车上用电磁炉稍作加工,孩子的午饭就有了。
5
一位男老师带着二十几个高矮不一的孩子走出校门,二十几位横跨老中青的家长领走自己家孩子。米乐把儿子接上车问,不都是你们班的吧?儿子说就八个是他们班的,还有别的年级的。
米乐打开刚刚热好的炖牛肉和熘肝尖,现蒸的米饭给儿子盛了一碗,爷俩儿坐进卡座面对面吃起来。吃了几口,儿子说没有学校的饭好吃,明天还想在学校吃。小孩的好吃跟大人的好吃标准不一样,米乐也没纠正儿子,只是让他明天中午接着出来,爷爷会给他做更好吃的东西。对米乐来说,退伙是一种行动,是行动就要彻底,直到学校更换午餐供应商——目前提供午饭的是一家食品公司,从家长们收集到信息看,这家公司从原料到食品卫生、从烹饪到餐具洗刷,处处糊弄事,堪称恶劣,已不是需要改进的问题,必须解除合作。
吃到一半,儿子指着窗外的前方说,那是我们班的。米乐扭头望去,马路斜对面停了一辆吉普车,后备厢盖扬起,一个小男孩正坐在折叠座椅里,用后备厢靠近右尾灯的一边儿当餐桌。左尾灯那边儿坐着一个女的,估计是孩子的妈妈,戴着墨镜,头靠在车体上,晒着太阳。米乐问那同学叫什么,儿子说出名字,米乐听了心中像被火光闪了一下,正是他打听过的那个名字。
那个孩子刚好吃完饭,妈妈从保温杯里倒水给他喝,然后收好折叠椅,后备厢盖一扣,领着孩子过了马路。把孩子送进校门,妈妈又回到吉普车,掀开后备厢,站着把孩子没吃完的饭菜吃了,然后驾车离去,是辆老款吉普。全程戴着墨镜,米乐猜不出她长什么样。
儿子也吃饱了,老婆嘱咐过米乐,吃完就回学校,不要在车里逗留太久,尽量合群,别弄得跟和学校作对似的。送完儿子,米乐回到车里发了会儿呆,不到三个小时后又要接孩子了,他没有时间开着车再去别的地方了。儿子的“退伙”拴住了他,不过他也心甘情愿,为了“行动”而牺牲部分自我,是理所应当的。
第二天米乐把儿子接到车上后,看到男老师还带着儿子班的那孩子站在校门口,墨镜妈妈没来接他。天色暗沉,风也大了,说话就要下雨,米乐让儿子把那孩子叫车里来。男孩上了车,米乐给他拿来碗筷,叫他和儿子一起吃。小孩不见外,也确实饿了,拿起就吃。俩孩子还不太熟,各吃各的,米乐撮合两人认识,想让儿子在学校多交朋友,跟所有人打成一片才好。米乐问小孩叫什么,小孩报出名字,儿子说爸爸你不是知道他的名字吗?米乐赶紧接上话,说我问的是小名。男孩又说出小名,叫Sting。儿子笑了,说,你叫死拧吗?Sting说,英文,sting,不是死拧。米乐问这名字谁起的,Sting说我妈。米乐问你妈妈是做什么工作的,Sting说她是唱歌的,有乐队。米乐——知道美国有个著名摇滚歌手就叫Sting——问Sting,那你爸爸是做什么的?Sting说我爸工作忙,住在别的地方。米乐大概清楚为什么群里没有这孩子爸爸了。
雨点淅淅沥沥落下,打在房车顶棚上。昨天那辆吉普车这时候开到学校门口,墨镜妈妈下车找孩子,米乐打开防蚊虫拉门,孩子探出身子喊:“妈”。
墨镜女把吉普车开上马路牙子,停在房车旁。米乐跟她打招呼,说俩孩子一个班的,怕孩子等不到她着急,就把孩子带车上了。墨镜女摘下墨镜——一笑眼角已能看出鱼尾纹,脸上没有这个年龄女性过多人为干预的那种湿肿——赶忙致谢,见孩子已经吃上,更是不好意思。米乐说现成的粗茶淡饭,两人搭伙更有食欲。妈妈赶紧去吉普车里取来保温桶,摊开摆在桌上——米饭没有再往桌上放——让俩孩子一起吃。分体保温餐盘里分别盛着鸡蛋西红柿和牛肉炒芹菜,米乐能看出这是一位不擅厨艺或对吃没什么讲究的妈妈。Sting扫了一眼盘里说,我妈老做鸡蛋西红柿。妈说,你老点我才老做。米乐儿子率先㨤了一勺,说好吃。Sting说,没有你家的菜好吃。米乐儿子又㨤了一勺说,你家的才好吃。
米乐主动介绍了为什么会开着一辆房车出现在这里,以免Sting妈妈觉得奇怪,或认为他们一家子为孩子上个小学劳师动众。Sting妈听完说,都不容易,全为了孩子。米乐问她,昨天在吉普车后面吃饭的是Sting吧?Sting妈说,对。米乐问,你们住得远吗?Sting妈说,开车单程十五分钟,没必要把时间浪费在路上,现在天气也不冷,就让Sting先这么吃着,早点儿吃完还能回教室趴桌上睡会儿。米乐说,以后来我车上吃吧,反正我们天天在这,慢慢天也冷了。Sting妈说不用麻烦,米乐说不麻烦,俩孩子一起吃还能有个伴儿。Sting妈说那饭我做,我那用火比你在车上方便,米乐没有拒绝。
米乐也不好意思袖手旁观真让Sting妈做饭,所以第二天餐桌上特别丰富,已经摆不下了。Sting妈带来三菜一汤——不输学校的标准——米乐也备了两个菜,再来俩孩子都吃不完。米乐儿子和Sting吃完,两位父母给他们送进校门,然后两个大人回车打扫各自孩子的剩饭。Sting妈做的是牛排、蒜蓉粉丝蒸白菜还有盛了半只鸭子的老鸭汤,里面煮了萝卜,用心了。米乐吃着想,真要是这么客气下去,做饭也该内卷了。他夹了一块切好的牛排说,做这个挺费事儿吧?Sting妈说,用空气炸锅做的,肉放锅里,喷点儿油,扣好盖儿就行了。又说,其实自己不怎么会做饭,从网上现学的,以前都是姥姥姥爷给孩子做,现在上了学,儿子跟她住,她才把做饭一事纳入日常。Sting妈问米乐是做什么的,可以每天以这样的方式等儿子,挺带劲的。米乐说做设计,书、海报、产品logo、包装盒,都做,现在不能挑活儿了。Sting妈说,我是做乐队的,尤其生了孩子,有演出就去,也不挑活儿,说完笑了。
米乐问了乐队的名字,Sting妈说很小众,报出名字米乐果然没听过。Sting妈说做得不好,一直默默无闻,说完又自嘲地笑了。典型的北京女的。随着各自孩子的剩饭见了底儿,两人的闲聊也结束了,客气告别。
晚上爷爷又做了好几个菜,儿子没怎么吃,说中午吃顶了。爷爷很骄傲,说我做的饭有那么好吃吗?中午饭都是爷爷准备,米乐只负责最后一道工序,将八成熟变成彻底熟。孙子回答爷爷没那么好吃,是Sting妈做饭好吃,吃得下午上课直打嗝。米乐老婆听到,问米乐怎么吃起别人家的饭?米乐简单说了经过,还说,弄孩子都不容易,车上有地儿,互相方便一下。老婆立马说,她家的饭卫不卫生呀?米乐说,肯定卫生,人家自己孩子也吃。老婆又问,那孩子叫什么呀?开学不足一个月,家长和家长、家长对班里,尚都不熟。儿子说,叫Sting。老婆拿起手机,在群里翻这名字的家长,似乎要找到照片相相面,方决定能否继续搭伙。米乐知道老婆找不到,就让儿子告诉妈妈Sting的大名。儿子话音未落,妈妈就跟被点着了似的:“他妈呀!”
“他妈怎么了?”儿子不理解自己妈妈的反应。
“他妈做饭好吃!”米乐赶紧接过话,给老婆递眼色,示意打住,他知道老婆怎么想的。
话题被终止,事情在老婆那远没结束。就他俩的时候,老婆说不愿意让儿子跟那孩子接触,怕受影响。他妈群里质疑完老师,还去学校找校长给老师告状——所以班主任才会在班里向学生承认错误——这么怼老师,老师肯定对她孩子没好印象,老跟那孩子在一起,咱孩子也没好果子吃。米乐听到很多闻所未闻的信息,问找校长这事儿是哪儿听来的?老婆说,学校恁么一个小地方还能有不透风的墙?米乐觉得既然老师向孩子们承认了错误,说明这孩子的妈没做错。老婆说话不是这么说,对错单说,关键是做法太鲁。米乐对这事儿的理解不是“鲁”,是纯粹,Sting妈是搞摇滚的,直截了当,道出很多人的心声。这样的人理应受到呵护,现在却成了大伙“对面的人”——从老婆接下来的话里,米乐听出来,老婆和另几个妈妈似乎达成统一战线,认为Sting妈在拉着全班躺平,她们不接受自己的孩子这样,正商议对策力争让这个班的孩子跟上全国六岁半儿童的节奏。作为这个“不躺平”组织的人,米乐老婆认为不宜跟Sting妈走得太近。
米乐发现他和老婆想事情经常想不到一块儿去了。一个纯粹的人,哪怕不被尊重,至少不该被排挤,米乐是这么想的。他有点理解不了现在的世界,和现在的老婆,老婆后面的那些话,已让他听不进去。
直到老婆说了一句话,把米乐拉回到正在进行的对话中:“你要是不好意思谢客,就让儿子继续回学校吃饭,她也不可能还让她孩子去你车上吃吧?”
米乐没想到老婆能为此牺牲孩子的“食品安全”,更对老婆在“行动”上如此不彻底和是非观的错乱而扼腕。他觉得不能再佛系下去,该摆出态度了,说:“不怕儿子下回从学校的饭里吃出个灶马儿?”
“灶马儿是什么?”老婆小时候只知道书本和教室。
“以前北京的公共厕所里全是这玩意儿!”米乐说完,起身去叫儿子。该出发去学校门口睡觉了。
米乐打开一听啤酒,踏踏实实喝了一口,仰靠在房车的卡座里,一条腿搭到对面座椅上。这是他最舒服的姿势。其实不是姿势有多舒服,是爱一个人这么待着。
车外有蛐蛐叫,二环里都快没有老北京人了,竟然还有蛐蛐。儿子正在米乐身后的床上睡着觉,车里三张床,儿子想睡哪张看心情,米乐就睡儿子挑剩的那两张。到了这个岁数,米乐貌似对诸多事情已无所谓,其实很有原则,用内力控制着生活,以防沾染、滑离、坠落。
现在米乐调出Sting妈妈的歌,匹对上耳机,喝着酒听起来。刚才开来的路上,儿子睡前突然唱起歌,吐字不是很清,米乐听了一个大概,好像唱的是:1、2、3、4、5、6、7……do、re、mi、fa、sol、la、xi 什么的。米乐问儿子是音乐课教的吗,儿子说不是,跟Sting学的,他妈会写歌。现在儿子睡着了,米乐还记得Sting妈妈乐队的名字,在音乐平台搜到这个乐队。成员四人,Sting妈是主唱兼词曲创作,另外三位男性负责吉他贝斯鼓,有三千多粉丝——知名乐队的粉丝都好几十万——去过欧洲巡演,拿过两个独立音乐的奖,成立快十年了。米乐一算,组队的时候Sting还没出生,乐队到现在也没有出名,却还能搞下去,说明Sting妈靠这个能养活自己,也说明她是真喜欢干这个。
歌词多是英文的,曲调晦暗,伤惋迷蒙,适合晚上听,也和她头像挺搭。米乐以己度人,猜可能到了他这个年龄无论男女,都生活在迷离扑朔的日子里,因此从头到脚都跟通俗明朗无缘。听到一首像把人按进水里的歌,沉闷压抑,米乐不仅不觉得难听,还感觉情绪恰到好处。突然吉他亮音响起,像一只手伸进水里,把溺水的人拉了上来,世界豁然开朗。
听到这,米乐有些坐不住了,有种东西被唤醒。他来到车外,需要将这种东西释放,或在夜空下任它生长。随着乐曲的进行,鼓的韵律清晰起来,有种整装待发的感觉,米乐竟然跟着做起开合跳——平时他也常跳,心态和心率都不想过早衰老。
跳了不知道多少个,乐曲结束,米乐停下来,踱步深呼吸,平复心跳。往前走了十几步,又往回返,下一首歌已经开始。一转身,看到一个人推着自行车站在房车旁。米乐走近,看清是谁,吓一跳,Sting的妈妈。米乐摘掉耳机,说,是你呀,太黑没看清。Sting妈说,刚才喊了你两声,你戴着耳机没听见,听什么呢?米乐说,你们乐队的歌,说完停掉耳机,手机里果然传出她再熟悉不过的曲调。然后解释说,孩子睡前唱了你们的歌,Sting教的,我就正好找你们乐队的歌听听。
米乐意识到Sting妈这个时候出现在这里很意外,问她来这有事儿吗?Sting妈说她刚好排练结束,骑车回家,看到米乐在锻炼,就停下打个招呼。米乐说,你们的音乐挺耐听。Sting妈笑了。两人谁也不再说话,乐曲在夜色中放着,闪烁的路灯好像打在舞台的灯光。
Sting妈突然说,过几天国庆长假,乐队会在河北某城参加音乐节,邀请米乐带孩子来玩,她也带Sting去,音乐节在湿地公园,可以野营。米乐应诺。
6
老婆说不用订她的票,不想跟Sting家走太近,以免日后麻烦。但孩子想去,米乐就开着房车带儿子去了。
Sting跟着妈妈前一天就到了办音乐节的城市,组织者怕国庆假期路上拥堵,提早把参演的乐队接来。大型音乐节都不让露营,也不让带水进场,这个音乐节规模小,乐队名气都不大,为了吸引更多人来看,取消了这些限制。演出当天,组委会在每支乐队的休息处都搭起天幕,架好折叠桌椅,摆上吃的,场面工作做足,让乐手们发朋友圈,宣传音乐节,吸引更多乐队日后来演出。
米乐带儿子是演出当天下午赶到的,找到Sting妈妈所发照片上的紫色天幕。一路上,看到乐迷们五颜六色的头发、千姿百态的衣服,儿子跟米乐说,这些人“泰裤辣”——这是他上学后学到的一个流行词。米乐说,你长大了也可以这样。
儿子和Sting会师,还有一些乐队的亲友也带来孩子,小朋友们在草地上玩起“木头人”。大人们似乎刚吃完饭,桌面上摆着组委会派发的盒饭,已经吃空,还没收拾。Sting妈介绍了米乐和大家认识,吉他手递来一听啤酒,米乐打开,跟手里有酒的人都碰了一下。
天气已经不热,有人把椅子搬到天幕外面,找阳光晒。米乐用啤酒和在场的人打完招呼,也搬椅子找了片阳光,从这里能望到舞台,离演出还有一会儿。
大人们窝在沙滩椅里,说着无关紧要的话;孩子们在不远处玩耍,对游戏中的犯规者明察秋毫。如果几日后这些人不需要上班上学,生活简直无可挑剔。
一阵不小的风刮过,吹翻桌上的空餐盒,盒盖儿被卷走。Sting妈起身去捡,没等弯腰,塑料盖儿又被刮走几米,吹到孩子们脚下。一个男孩看Sting妈奔盒盖儿而来,他俯身去捡,刚伸手,盖儿又往前窜了窜。于是孩子们争前恐后去捡那盖儿,风似乎有意和他们做游戏,又卷起盖儿向前。孩子们的兴致更高涨了,像一群蜜蜂追讨敌人而去。终于,一个大点儿的孩子捡到了——或者说抢到了。Sting妈撑着营地的黑色大塑料垃圾袋来接,拿着盖儿的孩子扣篮一样将斩获物投入袋中,洋洋得意,仿佛球场上的MVP,其他孩子有些沮丧,吵着要再玩一次。Sting妈说,那咱们一起去捡垃圾,把地球上的垃圾都捡干净。
当儿子告诉米乐他要去捡垃圾的时候,米乐一开始没听懂,但儿子已经跑走,去追大部队。米乐就拿着那听啤酒,在后面跟着,看到Sting妈拖着大号黑色塑料袋,像个丐帮帮主,指挥着五六个孩子,把出现在草地上的垃圾一一捡起,汇总到她的袋子里。
这也太摇滚了吧?还是哗众取宠?米乐拿不准,保持着距离,跟在后面。
孩子们为了收获更多战利品,开始创造垃圾。儿子跑来,管米乐要啤酒罐,米乐一口喝完,孩子喜悦地拿过罐子去上缴。有孩子走到露营人面前,问吃了一半的食物要不要扔掉,被问者微笑着摇摇头。好在只带了一个黑色袋子,很快就装满了。Sting妈把袋子放到垃圾回收处,带孩子们去浇花的水龙头下洗手,然后回到营地。
组委会的工作者正举着小摄像机采访乐队其他成员,见主唱回来了,镜头冲向Sting妈。采访者是个小姑娘,问,刚才听乐手说,乐队解散过几年,前年又重组,都出于怎样的考虑?Sting妈反问,他们——看向三位男乐手——怎么说的?采访的小姑娘说,他们说听您召唤,他们就回来了。Sting妈笑了,说你听他们瞎掰呢,当年解散也不是我召唤的,还是散了。小姑娘追问,那您说是为什么呀?Sting妈说,当年觉得干这个没希望,挣不到什么钱,只能解散,后来该结婚的结婚,该生娃的有了娃,班也上了,折腾一圈发现还是干这个好,不用看人眼色,自己喜欢什么样的音乐就做什么,不用讨好任何人。现在靠乐队能养家吗,小姑娘又问。乐队的人听到这个问题都笑了,Sting妈说,那就看过什么日子了。小姑娘最后举着话筒问道,说来说去还是因为发自内心喜欢音乐喽?对,Sting妈说,离不开。
这时候几十米外的舞台上传来一声吉他的失真,演出即将开始。观众席已聚集了千把人,前排的乐迷舞动着几杆大旗,乐队主唱说着感谢音乐节和乐迷的话来暖场,鼓手在恰当时机搞了段solo,气氛被点燃。采访团队去拍摄演出现场。Sting妈乐队的乐手们拿出乐器,开始热身——具体就是热手热嘴——Sting妈咿呀嘿吼地开着嗓子,他们第四个出场。
随后Sting妈和吉他手合到一起,一个演奏一个唱。第二支乐队开始上场,舞台上没了动静,米乐能听到Sting妈唱的就是那天晚上儿子在房车里唱的歌:1、2、3、4、5、6、7……do、re、mi、fa、sol、la、xi。Sting和儿子跑过去,跟着他妈一起唱起来。唱着唱着,Sting妈灵机一动,添了两句词。新词在两个孩子的演唱下,出现一种美妙的效果,米乐听到也为之一动。旋律朗朗上口,另外几个孩子也加入进来,Sting妈闭了嘴,现场成了童声合唱团。
这时候来了组委会的人,让乐队去候场。Sting妈征求乐手们意见:要不然让孩子们也上场?鼓手说,靠谱!Sting妈让孩子们去征求各自家长意见。儿子跑来问米乐,米乐说,只要你愿意,当然行。
乐队的四个大人先上了场,第一首歌是展示乐队风格的英文歌。第二首歌换成中文的,唱至一半,Sting妈冲后台一招手,孩子们上场了。她领唱了几句,随后就将麦克风冲向孩子们。乐队降低了器乐演奏成分,只留下贝斯铺着节奏,孩子们的声音被突出,唱出:“1、2、3、4、5、6、7,不是你在班里考第几,1、2、3、4、5、6、7,它们是do、re、mi、fa、sol、la、xi……”听出米乐一身鸡皮疙瘩。在这种声音下,空气也仿佛被净化,观众发出和之前不一样的欢呼声。
Sting妈举着手机,站在Sting身旁,拍摄着这一幕。米乐也从台后呼哧带喘跑到观众区,挤不进去,就在最后一排,正面拍摄这个场面。
孩子们反复唱着那句歌词,乐迷们也跟着唱起来。乐队索性停止任何演奏,成了孩子的清唱,现场数千人挥舞着手,跟着孩子们一起唱。
这时候,米乐的手机响了一声,是微信,他没理会,继续拍摄。
随后不到一分钟,老婆电话进来,米乐没接,拍摄没停。响了十多声后断了,马上又打过来。孩子已唱完,鞠躬谢幕离场,米乐接了电话。
“你疯了吧!”老婆开口喷火。
“怎么了?”米乐以为家里出了什么事儿。
“你看看群里!赶紧给我把孩子拽下来!”老婆的声音盖过现场巨型音箱发出的声音,直撞耳膜。
米乐在房车里连住十天了,平时他只是晚上陪孩子睡在学校门口,周末和孩子还是会躺到家中的床上,现在他已经第十一天睡在车里了。那天他在儿子班级群里看到Sting妈妈发的视频,是她从台上拍的孩子们唱歌,只拍了Sting和其他孩子,有意避开米乐儿子。老师也在这个群里,显然,她想让老师和部分家长看到这一幕。米乐老婆看完后有种直觉:自己儿子也在台上。于是炸了。加上视频确实不小心扫到另一个孩子的胸口以下,露出有限的衣服,这让米乐老婆确认了那就是自己的儿子,于是被引爆了,给米乐打去电话。
米乐那天也被点着了。孩子们的童声如天籁,直钻心窝,辅以歌词,听得他热泪盈眶。加上现场数千人的合唱,让米乐觉得“这样才是对的”,然而老婆的电话在这个时候不合时宜地来了。不知道触碰到米乐的哪根神经,或者说击穿了他,窝在缝儿里的那个更真切的米乐钻了出来,选择拒绝错误的声音——比如老婆说出的那些话——让正确的事情变得更对,于是就把自己从正面拍的那条视频也发到了老师所在的班级群。视屏中,儿子和Sting与另几个孩子,坦荡地站在台上,唱着“1、2、3、4、5、6、7,不是你在班里考第几……它们是do、re、mi、fa、sol、la、xi……”台下上千双手跟着他俩的节奏挥舞。
然后米乐的电话和微信就被老婆打爆了,让他赶紧撤回视频。米乐没有撤,手机那头儿的老婆表现出比台下乐迷更疯狂的激情。
接下来,米乐就没再回家睡过觉。如果没有孩子,他会开着这辆车,去到一个什么地方,过上那么一段时间。但现在他做不到,因为孩子,他还要接送。他能做的,就是在车里先凑合一段时间;也幸好有了这辆车,让他在这样一种时刻里,能有个地方一个人待着,可以把前前后后的事情好好想一想了。
作者简介
孙睿,作家、编剧、导演,北京电影学院导演系硕士毕业,写小说为主,也写剧本。已在本刊发表中篇小说《斗地主》、《发明家》,获2019年《北京文学》优秀中篇作品、2022年《北京文学·中篇小说选刊》优秀中篇选载作品。
责任编辑 张颐雯
特约编辑 蓦 凡
Identify the primary emotions evoked by the story and how the author elicits these feelings in the reader.
Consider the emotional journey of the characters and the reader's empathetic response.
', error: Error code: 429 - {'error': {'message': 'You exceeded your current quota, please check your plan and billing details. For more information on this error, read the docs: https://platform.openai.com/docs/guides/error-codes/api-errors.', 'type': 'insufficient_quota', 'param': None, 'code': 'insufficient_quota'}}
2024-06-14 15:27:40 - AnalysisRunner - ERROR - Error running analysis 'Emotional Core' using GPT4Model. Error type: RateLimitError. Error message: Error code: 429 - {'error': {'message': 'You exceeded your current quota, please check your plan and billing details. For more information on this error, read the docs: https://platform.openai.com/docs/guides/error-codes/api-errors.', 'type': 'insufficient_quota', 'param': None, 'code': 'insufficient_quota'}}
Traceback (most recent call last):
File "/Users/apple/editor-app-v10/analysis_runner.py", line 47, in run_analysis
result = model.invoke(prompt)
^^^^^^^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/language_models.py", line 78, in invoke
response = self.model.invoke([prompt])
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/langchain_core/language_models/chat_models.py", line 170, in invoke
self.generate_prompt(
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/langchain_core/language_models/chat_models.py", line 599, in generate_prompt
return self.generate(prompt_messages, stop=stop, callbacks=callbacks, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/langchain_core/language_models/chat_models.py", line 456, in generate
raise e
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/langchain_core/language_models/chat_models.py", line 446, in generate
self._generate_with_cache(
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/langchain_core/language_models/chat_models.py", line 671, in _generate_with_cache
result = self._generate(
^^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/langchain_openai/chat_models/base.py", line 537, in _generate
response = self.client.create(messages=message_dicts, **params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/openai/_utils/_utils.py", line 277, in wrapper
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/openai/resources/chat/completions.py", line 606, in create
return self._post(
^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/openai/_base_client.py", line 1240, in post
return cast(ResponseT, self.request(cast_to, opts, stream=stream, stream_cls=stream_cls))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/openai/_base_client.py", line 921, in request
return self._request(
^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/openai/_base_client.py", line 1005, in _request
return self._retry_request(
^^^^^^^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/openai/_base_client.py", line 1053, in _retry_request
return self._request(
^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/openai/_base_client.py", line 1005, in _request
return self._retry_request(
^^^^^^^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/openai/_base_client.py", line 1053, in _retry_request
return self._request(
^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/openai/_base_client.py", line 1020, in _request
raise self._make_status_error_from_response(err.response) from None
openai.RateLimitError: Error code: 429 - {'error': {'message': 'You exceeded your current quota, please check your plan and billing details. For more information on this error, read the docs: https://platform.openai.com/docs/guides/error-codes/api-errors.', 'type': 'insufficient_quota', 'param': None, 'code': 'insufficient_quota'}}
2024-06-14 15:27:40 - httpx - INFO - HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 429 Too Many Requests"
2024-06-14 15:27:40 - LanguageModels - ERROR - Failed to invoke GPT-4 with prompt: '
Analyze the narrative perspective used in this text (output in Simplified Chinese):
四轮学区房
孙 睿
1
刚开始没想到是吃麻辣烫的,太饿了,从外面看着像能吃饭的地方,米乐和老婆便推门往里走。一进来,就想打喷嚏,呛得,又打不出来。空气中,一个个香辣分子在翻滚。老婆一屁股坐到桌前,顾不得味道粘在衣服上将久久不散,扒拉着挑选。坐下后米乐意识到,他俩好久没有面对面坐下、像谈恋爱时候那样吃顿饭了。
店开在胡同口,狭长的桌子,其实也不长,多说四五米;当中间儿掏空,怼进去一溜长方形钢筋锅,彼此靠钢板隔开,做成两排,煮着穿好的串儿,荤素都有,五花八门,竹签冲外,伸手即取。这种店傍晚前做旁边学校中学生和逛胡同游客的生意,现在已经晚上九点多,除了看店伙计在墙角刷手机,店里没别人,是另一种缘分让米乐和他媳妇坐到了这里。
两人各守一锅,小火轻煮,空调吹出冷气,汽化的风肉眼可见。老婆一言不发地吃着,面前摆着撸下的签子,长短不一。长签三块一串,短签两块——米乐发觉自己扫一眼桌面大概就能乘出吃了多少钱的能力退化了。两人都太累了,下午来这边看房,东跑西颠,看了六套,快看吐了。
九月份孩子就要上小学了,还有一个多月。目前孩子跟着他俩住回龙观,幼儿园也是这边上的,家楼下。老婆觉得,幼儿园哪儿上无所谓,就当上着玩,小学不能再凑合,必须去城里。回龙观属于昌平,挨着朝阳和海淀,算不上远郊,但比起二环里的东城西城,叫城外也不为过,这边都快到六环了。什么时代的人都想当“城里人”,过腻城里日子往城外搬的那种另说,家长更是希望自己的娃能做个“城里孩子”,恰好米乐老婆和孩子的户口在城里,进城上学成了这个家庭的不二之选。
当然米乐也有别的想法,他不认为孩子去城里上学就高枕无忧。他敢这么认为是有充分依据的,他的小学到高中都是在西城区上的,也不是班里所有人都考上大学了,甚至有后来进了工读学校的,前途如何,更靠孩子自己。同样他也不觉得留在昌平上学就输在了起跑线,他的大学同学里,有一个就是昌平考上来的,学号一号,因为入校分数最高,后来年年奖学金,还保了研。但米乐不愿跟老婆掰持这些,他的不做主性格,让老婆成了当家的人。
说起来,其实他老婆连原汁原味的北京人都算不上,米乐才是北京的“城里人”。小时候在西城长大,家住西四胡同,后来那片拆了,父母在回龙观买了房,米乐跟着搬了家。户口随房子走,迁到了昌平,化身“城外人”。而他老婆,大学毕业留了京,幸运地进了给解决户口的单位,单位在东城,于是不仅成为新北京人,还拥有了令很多城外北京人羡慕的东城区户口,只不过是集体户。后来两人认识,结了婚,也在回龙观买了房——为了离米乐父母近更因为这里的房价还能接受——老婆仍把户口留在单位。一开始米乐以为老婆嫌麻烦,懒得挪,直到几年后生了娃,给孩子上户口的时候,才弄明白老婆的良苦用心:孩子户口不在昌平上,上东城的,跟她一起,落集体户,将来是东城学籍,可以上东城的学校。大家普遍认为北京的好学校都在东西城和海淀,所以这三个区的学籍格外珍贵,没有的心向往之,想辙往里钻,有学籍的则沾沾自喜不形于色。还有个插曲,备孕期间,老婆让米乐把他名下那套回龙观的房子卖掉,她研究过政策,必须父母双方都没有北京房产,孩子才能落集体户。就这么着,米乐把自己名下的那套房子卖了,租了两年房子,等到孩子在集体户里有了自己的户口页,才和老婆又在他父母的那个小区买了套二手房。那时候房价每年都在涨,为了孩子的户口,搭进去两人多年的积蓄,只因为老婆认为当个“城里人”洋气。
老婆七年前布好局,事态按预期发展着,上礼拜小学录取通知书下来了。儿子成了一名北京东城区的小学生,不出意外,将在东城接受九年义务教育。从回龙观到这所小学,二十公里出头,还有一段高速。不走高速的话,有三十三个红绿灯,早晚高峰开车少说要一个半小时,再遇上一起交通事故,时间就没谱了——若事故双方都是送孩子的家长,也是有麻利儿解决的可能。走高速倒是能避开些红绿灯,但进出高速口的时间不稳定,赶上没装ETC的车或手机忘带了无法扫码付费身上也无现金的车主,这条车道何时能通车就看他什么时候能变出过路费了……这些特殊情况暂且放置一旁,按八点到校计算,逆推,六点二十必须出家门了,刨去洗漱吃饭时间,不到六点就得起床,大人还要伺候孩子穿衣吃饭,只能起得更早。于是问题来了:住昌平的儿童和家长,每日该如何不这般辛劳地去东城上学?
老婆曾试想,卖了回龙观的房,在学校旁边买一套,然后把自己和孩子的户口从集体户里迁出来,落户东城,一劳永逸;米乐乐意的话,户口也能从父母的本儿上挪过来,四十岁了,早该独立出来了。想法很美好,现实被低估。同样新旧的房子,东城一平米的单价差不多是昌平的三倍。现在米乐一家三口住的是一百二十平米的小三居,换成东城同档次的房子,包括税费里里外外都算上,要添八百万。知难而退,老婆降低预期,不行就住老破小,窄点儿也认了,孩子的教育胜于一切。看了两套不到八十平的两居,一算差价,仍要添三百万。钱是一方面,关键是卖了自己住得顺心又舒服的房子,在陌生的地方买个不那么如意的房子,是不是风险有些大?没有哪个普通家庭能在买房卖房上像打麻将出牌那般随意,即便是在北京,也尤其是在北京。
加之房产市场突然低迷,房价走向扑朔迷离,成交周期变长,房子也不是说卖就能卖成的,肯花钱倒是容易买到,但很可能刚买到手就贬值。如此一来,换房的想法只能搁置。保险一些的做法是把自家房租出去,在学校旁边租套房。今天看的这些出租房,有中介联系的,也有老婆在闲鱼找到业主直租的。看房用眼睛看,身体和情感不免也会参与其中,幻想未来至少六年带着孩子生活在这里:三具肉身的安放是否恰当合理(卧室舒不舒服),三张嘴能否被满足(厨房能不能唤发烹饪食物的热情),三个灵魂栖居于此可否相安无事(几年后将迎来儿子的叛逆期)……六套看下来,身心俱疲。
小店墙上的货柜摆着各种饮料,老婆偏偏拿了一瓶红牛,拉开就喝。以前她从不碰这玩意儿,认为所谓的提神就是杀鸡取卵,把体内残存的能量榨取出来。那么,现在她是要把仅剩的一丝力气逼出来,然后还要干点儿什么吗?米乐猜不出老婆接下来还想干什么——再看一套房?或是仅仅为了有力气回家?还是不甘回家后就这样一无所获地睡去,夜深人静的时候仍要展开人生思考?
眼前的事实,让米乐确信了一件事情,这是近八年里他和老婆第一次吃麻辣烫。以前她特好这口,自打有了孩子,两人吃东西就不怎么考虑自己了,只吃适合孩子吃的东西,孩子现在六岁半,加上备孕和怀孕的时间,八年里两人渐渐没了“自己”。
此刻老婆两眼直愣愣地盯着锅里,嘴里机械地嚼着,一手握着红牛,一手搓捻着空签子,显然脑子里琢磨着什么。这神态让米乐陌生。老婆从小聪慧灵敏,在学习、考试、就业、升职的道路上,向来无须大动干戈便攻城拔寨,不说硕果累累,至少是一帆风顺。如今被卡住了,不是主观世界被难住的卡,是那种物质世界的卡——老婆想的可能是:自己的家庭为什么突然卡在底层中产向高阶中产进军的路上?
在不添钱的情况下,回龙观的房租只能在东城区租个六十平米的老破小。客厅小得转不过身,家里那台七十五寸电视搬过来都放不下——米乐和老婆都喜欢周末在家看个电影。为了让电视有地儿放,也得租个面积大的房子,那就只能添钱。添多少合适?无限制地添,好房子有的是,再大的电视也能搁进去,但这不是米乐家能过的日子。老婆虽说事业顺利,挣得也有限,在出版社上班,不是什么大社,做出爆款书的机率渺茫,年薪远没到过日子可以不算计。米乐至今自由职业,做平面设计,收入取决于活儿多活儿少,曾经红火过,这两年客户相继流失,不知道好好的一家公司怎么就做不下去了。米乐的活儿也随之减少,世界越来越新,他越来越老,在发展新客户上缺乏手段,已由只喝单一麦芽改为调和威士忌也觉得还不错了。
老婆定了一个标准:保证生活品质的情况下,房租尽可能地少添。尽可能地少,也有一个范围,所以连看了六套。连将将满意的都没有,首先就是感觉小。房子住惯了宽敞的,再换紧凑的就难了。米乐老婆以前没觉得三口人住五十多平有多挤,甚至还觉得敞亮,她自己家当初就是一套五十多平的房子,她还有一个自己的房间,让很多同学羡慕,但那是二十多年前。现在她和米乐看了一套九十平的两居都觉得窄,就这还要每月添四千多,若想租一套和回龙观的家一样面积的房子,少说要补八千块,超标了。也正应了那句话:一分钱一分货。越活越觉得这话的准,世界就是这么构成的。
六套里有一处平房令米乐夫妇印象深刻,房本面积三十多,号称能住五口人,两间十余平的房子打通了,加了挑高,做成复式,下面的三十多平隔出客厅、厨房和卫生间,客厅只留一条过道能站直身子,其余空间留给楼上复式,从沙发上起身都得猫腰。房主说,人多数时候在客厅里是坐着的,这么设计是合理利用顶部空间。楼上的复式部分,拆分成两间半,老两口一间,中年夫妇一间,半间留给上中学的孙子住。现在孙子考上大学,可以住校了,一家人没有必要挤在这里,准备往城外搬。看房的时候,米乐老婆盘算如果是自己家搬过来,先不说人能不能耍得开,就是家具都摆不下。这家的柜子有个特点,都直通房顶,极尽盛放之能事。经过楼梯的时候,米乐老婆不知道自己碰了哪里,一扇木板弹出来。原来这片看似楼梯支撑物的木板也是柜门,楼梯下面的空间从高到低依次被用作大衣柜、短衣柜、袜子柜和杂物柜,房间里见不得一立方厘米的浪费。连柜门上都没有把手儿,门是磁吸的,按下去则弹开,再按就吸上,刚才就是米乐老婆不小心顶到柜门。房主人笑着介绍说,面儿上什么都不露,省地儿。笑中透着说不上是得意还是无奈。这一刻,米乐老婆体会到住城外的好了。
但米乐知道,对老婆来说,东城学籍是更好的东西。现在终于等来这一刻——媳妇累了、也烦了的时刻——他可以把存在心中许久的那个想法说出来了。
“倒是还有个方案……”米乐不知为何话一出口感到一阵心虚。
“什么方案?”老婆翻起不抱希望的眼睛。
“弄辆房车。”
“现在卡在房子上,怎么还想着弄什么车!”老婆似乎觉得米乐把握不住重点,随后马上意识到房车是可以住人的,转而说,“弄了以后呢?”
2
大学毕业离校那天,米乐想,以后可他妈不用考试了。这么一想,步伐都轻盈了。现在四十岁,竟遭遇了哈姆雷特的困境:孩子的小学到底是去东城上,还是留在昌平?这道题没有补考,选错了就……就怎样并不知道,也没有人能告诉他。
做这同一道题,米乐和老婆的解题思路不一样。不同于老婆在跨城中寻求解决方案,米乐是先有方案,然后为这个方案在现实生活中找到有力支撑。方案就是他跟老婆所说的“弄辆房车”,直觉告诉他可以这样做。
米乐现在和父母住同一个小区,隔着几栋楼,相互都有个照应。幼儿园接送孩子,当米乐和老婆顾不上的时候,他父母可以代劳。老两口把孩子接回来,还能给孩子弄口饭,米乐他俩几点回家都无所谓了,孩子睡爷爷奶奶那也行,第二天老两口再给送去幼儿园。父母眼瞅着奔七十了,今天不是这个头晕,就是那个明天胸闷,米乐也能照顾到,去医院检查他开车接送方便。所以他不想打破现状,觉得孩子小学在家附近上也没什么,父母依然可以帮着接送。但老婆的底线是,别的怎么都行,学必须去东城上——尽当爹妈的最大努力成全孩子。因为她就是这么长大的,然后从一个四线城市考到北京,当初她妈不输孟母,为了她上学,也曾三迁。
让孩子住学校旁边,已是大势所趋,在这个“规定动作”下,米乐便想到了房车。他一直就想弄辆房车,可以开到哪儿玩到哪儿,需要工作了——他的工作有台笔记本电脑就能完成——车里就能干。有卡座和桌子,不比咖啡厅差,窗外还有风景。可以说,是孩子上学的新问题,正好撞上他的旧心愿。
然后今天看完房子,也可以说在看房过程中,甚至说在第一套老破小看到一半的时候,“时机到了”的想法就开始在米乐脑子里闪现。他想,与其在“砖窝”里睡觉,还不如在“铁桶”里睡,反正都是个小。不就是为了离学校近吗,把房车停学校门口,没有比这更近的睡觉的地方了。相当于给小平房装上轱辘。每天放学先开着房车接孩子回家,小学特别是低年级,三点多就放,这时候路上不堵,四十多分钟就能到家。在家写完作业吃完饭,玩够了,该睡觉的时候,就让孩子往房车上一躺,米乐把车开到学校门口——晚上不堵车,四十分钟用不了就能开到。孩子瓷瓷实实睡一晚上,米乐早起给孩子做饭,车上有电磁炉和冰箱,孩子妈愿意陪睡陪吃也行,车里三张床,足够睡下,比那复式平房的卧室更让人有想躺在枕头上的愿望。
如果是搬来东城,米乐不忍心只搬自己的小家,而把父母留在回龙观。这样一来,不仅开销翻倍,父母也得挤老破小。现在老两口住着百十平的两居室,在一层,不用爬楼,关键是窗前还有个小院子。院子算公共面积里的,因为搬来得早,那时候物业管得不严,老爷子在落地窗前开了个门,直通小院,方便打理草木,省了物业的事儿,这地界儿慢慢也就算自己的了。进入四月,院里的那株树仿佛懂得感恩,不用催就按时开花,白中泛粉,围住树冠密密一团,阳光下尽情盛放。引来蜜蜂,路人也在树前拍照,老爷子坐在窗前泡茶,得意地看着外面。打开窗,风吹过,花瓣会飘进窗里——三四月还不必关窗纱。米乐爸会特意让花瓣就那么散落在窗前的茶几和藤椅背儿上,放那么几天,等花瓣蔫瘪了再扫走。花期一个月,落光后小绿果就冒出来,一周后能看出是杏。到了五月中,杏的个头儿大了,坠弯枝条,有人摘着吃。米乐爸爸看到会拦下,让他们捡掉在地上的吃,这种杏熟透了,不酸。自打搬进这套房子,米乐家就没在吃杏上花过钱。等杏的热乎气儿过了,轮到杏树旁的那些灌木展示,开出一大朵一大朵的花,红彤彤不免艳俗,绽放的热情仍让人忍不住问问这是什么花,很多时候米乐爸故意站在院子里,等着回答:月季。真要搬了家,在北京二环里找到一处窗前有杏树的房子就难了。这是米乐给“弄辆房车”找到的理论支持。
但老婆听完米乐的计划后,第一反应就是不靠谱,这也是她的直觉。完全在米乐预料中,她这些年越来越保守。米乐当然也理解,这种保守从某个角度说,是母爱所致,本质出于对孩子安全的考虑。但米乐这么做——如果房车计划能成行——也不是说就没有父爱了。恰恰这是米乐要传递的父爱,不要被生活中那些貌似坚固的东西困死,如果甘于受困,那些东西会越来越坚固。老婆的保守从另一个角度看,跟对房车的不了解也有关系。
米乐从技术角度给老婆普及了房车知识,告诉她里面床的尺寸,如何取暖、洗澡、做饭,以及一些先行者已经在房车里过上怎样的日子。说着打开手机,调出几条短视频,让老婆看人家怎么在车上过日子,有游荡在城市中的,也有开到荒郊野地一住就是个把月的。
老婆敏锐觉察到蹊跷:“你不是为了孩子上学,你准备了半天,是你想弄辆房车玩吧?”
米乐承认他是爱看那几个房车播主的视频,正是因为平时关注着,关键时候就用上了:“人家成年累月在车里生活,咱们就是让孩子睡个觉、吃个饭,比换房简单多了,风险也小。”
老婆随之问了几个她关心的问题,包括车得多少钱、车牌好不好上,冬天睡觉怎么办,以及米乐能确保每天晚上和早上都像他说的那样守着房车吗?米乐张口就答,新房车从十几万到上百万的都有,开了两三年的二手房车是新车的六到七折,他觉得买辆二手的就行,甲醛味儿散干净了,孩子睡在里面踏实。车牌可以用家里这辆车的,把现在这辆ix35卖掉,开八年了,孩子都长大了,没有上学这事儿,也该换辆大点儿的车。冬天则还在家里睡,可以提早一个小时出门,让孩子在车上洗漱吃早饭,早高峰之前赶到学校。最后米乐保证道:“既然我提出这个方案,我肯定不会缺席。”
“万一呢,万一你有事儿,或者出差不在北京?”老婆像一位象棋大师,考虑的不光是眼前这步,还有很多步。
“你也可以开,练练就行,C本以上都能开。”米乐不是留后手,是鼓励老婆,他觉得这是一次机会——把老婆从盲目内卷的势头里拽出来。让她除了惦记“孩子不能输在起跑线上”,心里也装些别的事情进去,比如想想能开着房车去哪儿过个周末。
他早就对老婆的一些做法不认同了。孩子刚进入幼儿园小班,就被老婆送去轮滑和识字班,因为别的孩子都报了,不是报这个班就是报那个班,于是他们的孩子也不能在家傻玩了,搞得大人孩子都没了周末。和老婆相比,米乐比较佛系,他觉得怎么都行,他就是这么一路长大的——走一步说一步,没有肝脑涂地为一个明确目标过度燃烧自己。大学毕业后他一直自由职业,说不清是性格导致就业,还是就业方式塑造性格。总之就这么过来了,从毕业第一年能养活自己,到后来买了房、结了婚,老能接些活儿,也就没想过找个稳定工作。他和老婆就是接活儿认识的,那时候她刚毕业做实习编辑,需要找封面设计,没资源,就在网站上转,看到米乐的设计稿,给他留言。当时米乐已经做了三四年自由设计师,接了她的活儿。一来二去,见了面,谈起恋爱,常一起吃着麻辣烫聊图稿的完善方案,后来确立了关系。从一开始她就是甲方,所以最终意见都是她拿,慢慢地,这种模式渗透到生活中:蜜月旅行去哪儿、空调买几级能耗的、晚上吃什么……要孩子的事情上也是如此,老婆张罗,米乐配合。以及后来的卖房、给孩子落户,总设计师都是老婆。但设计来设计去,米乐愈发觉得她现在有点儿像参加场地自行车赛的运动员,进了赛道,不管不顾,一圈圈猛蹬,从场外看,仿佛用显微镜看一个不会停下来的电子,也像驴拉磨。
“我不开,那么大一玩意儿,摆弄不了。”老婆依然沉浸在低头猛蹬中,“万一撞了,耽误孩子上学——你这么说了,你就得保证接送。”
“我保证!”
老婆看着米乐,似乎不太相信。
米乐颇为正式地说:“咱们不能再一条道走到黑了,一直卷下去,没出路,越活越累。”
“你想说什么?”老婆没听出这话跟保证每天接送孩子有什么关系。
“有辆房车能让神经放松一下。”米乐又取了一瓶啤酒,打开给老婆倒了一杯,“学会让自己放松,享受一下生活。”
“一点儿不享受,开房车只能让我更紧张。”老婆的红牛已经喝完,似乎有了力气,没拒绝啤酒,端起喝了一口,回归主题,“先说你怎么保证接送孩子。”
人是需要阳光、空气和大自然的。如果有了房车,送完孩子可以把车开到一个自己愿意待下去的地方——估摸是五环外某处不那么现代的地方——泡杯茶或咖啡,在车里开始工作。每天接送孩子对米乐不是忍辱负重,是激动人心的新生活开始了,无需保证。他如此告诉老婆。
老婆考虑的已不止是好几步,是十好几步,问以后上中学怎么办,还睡车里?米乐说那是六年后的事情,现在的人连六天以后的事情都无法把握,用不着想那么远,没准三年后教育政策就变了,这几年生育政策已经发生重大变化,而且六年后房价指不定什么情况,摸着石头过河吧……老婆又有担忧,说要都这样,一家一辆房车上学,学校门口停得下吗?这种考虑米乐不是没想过,他现在自信地告诉老婆:想想咱们家得下多大的决心,才能用房车当学区房,而且我又不用上班,有时间这么干,别的家长里有这条件的少吧——真要是不得不参与竞争,得扬长避短,不是一起同频内卷。
两人很久没有这么聊过了,也或许是难得吃了一顿只有两个人的饭——还是年轻时最热爱、现今久违的食物——近半年压在老婆心头的烦闷消散了许多。她又起身拿了一瓶啤酒。
米乐也聊得浑身清爽,觉得老婆似乎已被说动,同时不忘肯定老婆:“不是每个住得远的孩子都有一个能让他们拥有城里户口的妈,放心吧,学校门口不会遍地是房车的。”
后来两人打车回的家。原因有二:累得不想多走一步;现在九点半了,正好可以考察一下这个时段从回龙观到这里的路还堵不堵。以后这个时间,就是儿子躺在房车里,从家出发的时间。
北二环路边的写字楼依然灯火通明,还能看到有人在窗口里移动。夜色下,这些楼体黑黢黢的,仿佛泥潭被竖立起来,还隔出一个个格子,像鸡蛋盒装鸡蛋一样,装下一个个人。坐在出租车的后排,米乐揽住老婆的肩,老婆顺势将头靠在他的肩上。两人很久没有这样过了。
脸颊感受着老婆的发丝,米乐觉得今天自己又进行了一场提案——关于房车的提案。他依然记得,十几年前,给老婆——那时候连女朋友还不是——的封面设计稿第三次提案成功后,两人一起吃了顿饭,饭后也是这样给老婆送回家的。
3
在正式“弄辆房车”前,米乐先租了一辆,拉着老婆孩子出去玩了一趟。这是老婆的主意,她需要获得足够的安全感,才认可这个方案——如果这趟出行令她不满意,米乐想,难道她还有别的备选方案而不是完善房车方案的不足之处吗——她做事习惯手拿把掐。
米乐照着日后想买的那种车型租了一辆:驾驶室头顶有一张床,车尾放置着一套上下铺,下铺一米三宽,上铺八十,卡座和茶桌那里放平也可以变成一张儿童床,俩大人一个孩子睡这车上绰绰有余。大人睡觉挑床,孩子不挑,进了房车,来不及脱鞋,就挨个床上打滚,还问:“以后可以永远不回家睡觉了吧?”
房车加柴油,自重也大,提速有顿挫感。米乐开了几公里后意识到这个问题,便不像开自己家车那样狠踩油门了,缓缓给油后平稳了许多,及时遮掩了这个可能会被老婆挑出来的瑕疵——车开在路上忽悠忽悠的,孩子能睡安稳吗,米乐想象得到老婆可能会这样说。
因为是体验车为主,米乐没有把车开到太远的地方,游山玩水不是此趟出行的主要目的。三口人在六环外的河边停下车,米乐支上车侧身的阳光棚,架好折叠椅和户外餐桌,摆出水和吃的,弄成室外小客厅。先给老婆营造出舒适惬意的感觉,是第一步。
房车不远处就是贯穿京津的一条河道,有人在河边钓鱼,河对岸停了几辆私家车——都是天津的牌照,看样子过了河就属于天津——大人孩子正在烤炉边生火,青烟冒出来,引得孩子们一阵欢呼。米乐也不甘示弱,拉出房车的燃气灶,拧开自带的油瓶,取出洗切好的半成菜品,准备给儿子和老婆——两人此刻已拿着捞鱼的笊篱到了北京这边的河边——炒俩菜。饿不着,还能吃得比家里好,是米乐的第二步。
吃完饭,米乐又为老婆展示了如何在车上用水——把碗刷了。然后自己在地上画出三个车位,练习了揉库倒库,将来在二环里并不宽敞的街道上他得频繁做这两件事情。老婆最关心的还是睡觉——休息得好坏,直接关系到孩子未来的身高乃至择偶——所以当晚米乐把车开到了儿子的学校门口,停在空车位上,老婆要实地考察此处是否适合睡觉。
当有车辆过往、老婆觉得噪音有点儿大的时候,孩子已经睡着,响起微弱的鼾声。米乐关掉车内照明灯,只留下氛围灯,和老婆面对面坐进卡座,仿佛置身小酒吧。米乐取出备好的威士忌,倒了两杯,放进冰块。
“怎么样?”一杯递给老婆,米乐觉得孩子上学的事儿就算搞定了。
“你确定晚上就睡这儿了吗,喝了酒可不能开车。”老婆仍不踏实。
米乐冲着孩子正在睡觉的床铺——驾驶座头顶的那张床配有安全防护人不会睡着睡着掉下来——一甩头说:“能睡着,已经说明一切,不需要挪窝了。”
说完,米乐起身,拉上那张床的遮帘,孩子隔在里面,车里顿时变成米乐和老婆的二人世界。
夜色深沉,晚风轻柔。威士忌的颜色跟焦糖色的环境光融为一体,冰块在杯里一点点消融,恰到好处没有音乐——如果背景里放着音乐,反而会提醒老婆此刻还有孩子在车里睡着觉。两人仿佛回到热恋,生活中的那些烦恼消失了。
喝到第二杯,米乐给老婆抱到床上。她没想到他依然抱得动她。
米乐欲要亲热,老婆拦下:“外面还过车呢!”
“它过它的,帘都拉上了。”米乐又喝了一口酒。
“万一有城管呢?”
“城管不管这个。”米乐拧亮床灯,关掉环境灯。
“那也不行!”
“怎么不行了?”
“不安全。”老婆及时坐起来,“再弄出个老二,我可崩溃了!”
“我带了。”米乐取出早已备好的东西。
第二天一早,孩子刚睁眼,老婆就问睡得怎么样,有没有感觉到过往的车声?孩子说梦到超级飞侠带他去火星执行任务了,今晚还想在这儿睡,火星上没玩够。米乐征求老婆意见,房车要不要多租一天,进一步体验。老婆说不用,也就这样了,没必要再多花一天租金。
随后,米乐快马加鞭卖了自己家的那辆车,在开学前接手了一位已放弃追求“诗和远方”的自媒体播主——此人曾靠着这辆车走遍新疆当过网红——精心改造过因而用起来更人性化的房车。老婆是文科女,除了最后把握价格——在米乐谈好价格的基础上又砍下两千块——也没怎么在选车的事情上过多参与。
车开到家后,老婆用酒精喷壶给车内边边角角都喷了一遍。儿子迫不及待要到车上睡觉,并在睡着前已将床铺的围板粘满奥特曼贴画。“四轮学区房”的生活就这么开始了。
4
开学两周了。升级为小学生的家长,米乐没怎么感觉到身份的变化,除去接送占用了一些时间。不过也乐在其中,孩子送进学校后,房车就成了他的世界,可以满怀激情地——他真的感觉到一种冲动——待在里面做无论什么事情,连带也会对工作重新产生热情。之前无论在家还是去咖啡馆工作,都让他厌倦,中年人更需要保鲜。
白天米乐会把车开到愿意驻足的地方,通常是城外。哪怕是早高峰,出城方向也不堵,用不了一个小时,一个有树有河看不到高楼大厦的世界就会出现在眼前;然后泡杯咖啡,靠在卡座上——虽然没有家里的沙发大,却能给人注入活力,仿佛充电桩——开始这一天属于自己的生活:坐久了可以下车去河边打水漂,顺便把肩膀也活动了;有一次他甚至做了一套广播体操——他有轻微的肾结石,大夫让他多喝水多蹦——一切在城里看来不合时宜、想象不到的事情,在这里都可以发生。包括他倾心已久的钓鱼活动,几年前置办的装备,终于派上用场,运气好的时候,午饭问题能靠着大自然的恩赐来解决。
生活节奏重新回到自己手里。享受到莫大的自由,也让米乐在下午三点接孩子的时候,是笑逐颜开的。
九月中旬是北京最好的季节。天空柔媚,风清云静。这天米乐刚完成一稿设计,准备钓会儿鱼,找到一片潮湿的土地,用树杈挖起蚯蚓,手机响了,连响两下。米乐站起身,掏手机,老婆叮嘱过他,听到手机响能看就第一时间看——刚从幼儿园进入小学的孩子还不习惯新环境的要求,容易出事儿。
米乐点开手机,果然是班级群的消息。教语文的班主任先发了一张十几个同学站在黑板前的合影,后发的是一段文字,解释合影内容:以上孩子在拼音声母默写中全部写对,希望再接再厉!米乐看到有自己儿子,挺满足,儿子也争气——在他妈那没有给开着房车上学的生活留下话柄。米乐想,要不要发个大拇指或庆祝的表情,进而觉得不妥,班里三十五个孩子,有一半多的孩子没在合影上,不能在别的家长面前太嘚瑟,便继续自己的事儿。
挖到蚯蚓,挂上鱼钩,竿往河里一甩,米乐心情欢畅。这时候班级的微信群又响了,米乐很想知道别的家长会作何反应,急忙点开。映入眼帘的并不是一个简单的表情,也不是类似“真棒”这种无关痛痒的话,是段只读一遍并不能全部体会其中用意的文字——米乐读了三遍。意思并不复杂,只是米乐又读了两遍,才确信是他第一遍读出的那个意思——他没想到,有人敢这么直截了当地和老师说话。
话的大意是:不应该公布做题全对的合影,某种程度上等于变相在给孩子排名,教委说了,不应该公布学生的成绩和排名,尤其小学生,一年级开学才三周,这么做不太合适。
群里每位家长都给微信名做了标注,不是这个妈妈,就是那个爸爸,说话的这位是个妈。米乐点开这位妈妈的头像——不像有些妈妈用孩子照片或个人游山玩水的照片做头像,她的头像暗昧不清——放大后依然是看不真著的一团东西,朋友圈也不可见。
米乐相信,很多家长将和他一样,等着看老师如何回复。虽然全对的孩子里有自己儿子,米乐仍觉得这位家长说得在理,甚至认为班里有位敢于呼吁的家长是这个班的幸运。
直到米乐收拾了鱼竿,准备开车去接孩子了,群里也没有班主任的回复。其他家长也没有发言的,这种事情,站哪边说都有点儿拱火的意思。米乐猜群里人多嘴杂,老师应该是跟那位家长私信沟通了。
在米乐往城里去的时候,手机响了,正好红灯,赶紧点开看,班主任在群里说话了。她说刚才在给别的班上课,抱歉回复晚了,发合照没有别的意思,就是想让家长们了解孩子在学校的情况,督促孩子从入学初始就养成当天学习内容当天消化的习惯,这次默写拼音有同学一个也没写出来,应该及时让孩子知道小学和幼儿园不一样了——有很多孩子上过幼小衔接,对学习已经有了准备,但仍有孩子不明白上学的目的——进了校园不是来玩的了,今天的合影远谈不上排名,也不是优劣对比,以后到了三年级功课量上来了,不用排名,学习差异自然会显现出来。
米乐知道,关心着群里对话的家长已经越来越多,虽然没有一个人说话。没过多久,那位妈妈又回复了,更希望老师发一些孩子在学校运动、吃饭、上课的照片。老师也很快回:会发的。
这时候米乐也开到学校门口,准备接孩子了。他记住了这位妈妈孩子的姓名,把儿子接上车后,让儿子指给他看,叫那名字的孩子是哪个。儿子对着学校围墙外杂乱的人群看了半天,说没找到。米乐把今天的合影给儿子看,儿子挨个叫出人名,没有那个名字的学生。往家开的路上,米乐问这同学在学校表现怎么样,儿子说跟他不熟,两人座位不在一个方向。
在父母那吃晚饭的时候,老婆在饭桌上表扬了儿子,把默写全对的合影调出来给爷爷奶奶看。老两口看完异口同声:好孙子!妈妈说,台上一分钟台下十年功,抓紧吃饭,吃完刷两套十以内加法题。
第二天,米乐又在群里看到数学题全对的合影,儿子仍在里面,想必老婆也会看到。他把这张照片和昨天的照片做了对比,有十一个孩子昨天也出现了,另几张是新面孔。后来群里一直没有人说话,米乐想,也许那个孩子今天也在照片上,所以妈妈看到照片没有反对,或者知道说了没用,扭转不了老师的意愿,索性闭嘴。
隔天,晚上吃饭的时候,老婆突然问儿子,是不是班主任向你们承认错误了?儿子说他也不知道。老婆问,老师说话时你认真听了吗?儿子说认真听了,老婆说那老师说什么了,儿子说老师说了太多,想不起来。米乐问老婆,学校里怎么了?老婆说班里后来建了一个纯家长群,老师不在里面,有家长听孩子回家学舌,说老师主动承认了错误,再问承认了什么错误,孩子又学不到位,所以群里就动员所有家长都问问自己的孩子,看有没有能说清楚这事儿的。说罢,老婆给米乐拉到群里,让他“时刻准备着”。准备什么,米乐一头雾水,老婆说,跟班里同步就是准备着。
进群后,米乐查看了群成员。那个熟悉的却看不清是什么的头像安静地显示在列表中,不知道为什么,米乐看到后有种心安的感觉。然后又在群里看有没有这个名字男生的父亲,没有找到,之前在班级群里他也没有看到这孩子父亲的微信。大概是男性不愿意过多参与育儿的事情,就像自己也是刚刚加入这个家长群,米乐这样想。
后来都很晚了,一位女生的母亲在家长群里说,孩子睡觉前告诉他,班主任今天在课堂上向大家保证,以后不给大家拍合影了——老师承认的可能就是这个错误。于是家长们纷纷发言,找孩子确认老师是否说过这话,均得到肯定答复。有人说,难得遇到这么开通的老师,能主动向孩子承认错误。米乐想,肯定也有失落的家长,真不发照片了,就不知道自己孩子还是不是班里前十名了,比如他的老婆。但他没有问老婆是不是这样想的。
后来几天,果然没再看到班级群里出现满分孩子的合影。饭菜却又出了问题。
先是傍晚的时候,一位妈妈在家长群里说自己家孩子说今天某同学的菜里——学校用统一的食盘打餐——出现了蛐蛐。她艾特了那位同学的妈妈,请她问问孩子是不是有这么回事儿。没等当事人妈妈回复,别的妈妈就证实了这件事儿,她们的孩子也都看到那位同学的餐盘里出现蛐蛐。群里一下炸锅了,虽然蛐蛐出现在某一个人的餐盘里,但饭菜都是用大保温桶装盛的,这意味着大家的饭菜里都沾染了蛐蛐。其中一位爸爸分析——也可以说是火上浇油——蛐蛐都在石头缝儿里、草窠里,躲着人,能进到厨房的,只能是蟑螂。一时间,屏幕上出现不同妈妈发出的呕吐表情。
众人揭竿而起,各种对于学校饭菜的抱怨发在群里。有人说孩子的餐盘上出现过饭嘎呗儿,卫生不过关。有人说看着那些饭菜就难吃——老师会把每日饭菜拍照发到班级群——米饭暗沉,肉的颜色也浊浑,肯定是冷冻很久的。有人接话:是的,孩子说肉都嚼不动。另有一位妈妈说,有一次孩子跟她说,午餐吃的是蜗牛,她也没多想,还觉得伙食标准挺高,现在想想,肯定是菜没洗干净才出现蜗牛的。马上就有妈妈问,那孩子把蜗牛吃了吗?
这时候,那个头像不清的妈妈说话了,她问,退伙行吗?并艾特了群主。群主也是位妈妈,兼职班级家委会,算是家长们和学校沟通的代表,她说先私信跟班主任沟通下。
在家委会妈妈和老师沟通的当儿,蟑螂当事人的家长在群里回话了,已问过孩子,确有此事。孩子发现异物后,举手报告了班主任,班主任走过来,将异物取出,随口说了个“蛐蛐,给你换一份”,便将餐盘端走,又端来一份新的。有家长问,真的是端来一份新的吗,还是端走又端回来了?马上有家长说,这有什么区别,蟑螂和菜出自同一个保温桶。随后又有家长说,同事的孩子在别的年级,刚才问了下,那个年级的饭菜里也屡屡出现异物。于是群里达成共识:饭菜问题已根深蒂固。
家委会妈妈发来和班主任沟通的结果,班主任说这个问题各个班级都向学校反映过,但老师的职责有限,就是教课,无法插手餐饮管理,今天发生的事情,她会向学校汇报,其实老师们吃的也是这些饭菜,早想彻底改进。班主任同意不想在学校吃午饭的同学退伙,家长中午十二点把孩子接走,一点半前把孩子送回学校就行。米乐看到这里,问老婆接不接,午饭他可以提前备好,带孩子在房车上吃——虽然这样会耽误他去郊区钓鱼。老婆犹豫着,不知道接走合不合适。这时候,头像不清的妈妈先在群里说话了,我接,她说。
随后班委会妈妈做了一个接龙,让接孩子的家长报名,她会把名单转给班主任,明天学校安排老师把这些孩子送到学校门口,由家长带走吃午饭。看到有五位家长参与了接龙后,米乐老婆也报了名。作出这个决定后,孩子爷爷赶紧又熘了个肝尖,炖了锅牛肉胡萝卜——特意做八成熟——放凉后装进餐盒;明天中午米乐在房车上用电磁炉稍作加工,孩子的午饭就有了。
5
一位男老师带着二十几个高矮不一的孩子走出校门,二十几位横跨老中青的家长领走自己家孩子。米乐把儿子接上车问,不都是你们班的吧?儿子说就八个是他们班的,还有别的年级的。
米乐打开刚刚热好的炖牛肉和熘肝尖,现蒸的米饭给儿子盛了一碗,爷俩儿坐进卡座面对面吃起来。吃了几口,儿子说没有学校的饭好吃,明天还想在学校吃。小孩的好吃跟大人的好吃标准不一样,米乐也没纠正儿子,只是让他明天中午接着出来,爷爷会给他做更好吃的东西。对米乐来说,退伙是一种行动,是行动就要彻底,直到学校更换午餐供应商——目前提供午饭的是一家食品公司,从家长们收集到信息看,这家公司从原料到食品卫生、从烹饪到餐具洗刷,处处糊弄事,堪称恶劣,已不是需要改进的问题,必须解除合作。
吃到一半,儿子指着窗外的前方说,那是我们班的。米乐扭头望去,马路斜对面停了一辆吉普车,后备厢盖扬起,一个小男孩正坐在折叠座椅里,用后备厢靠近右尾灯的一边儿当餐桌。左尾灯那边儿坐着一个女的,估计是孩子的妈妈,戴着墨镜,头靠在车体上,晒着太阳。米乐问那同学叫什么,儿子说出名字,米乐听了心中像被火光闪了一下,正是他打听过的那个名字。
那个孩子刚好吃完饭,妈妈从保温杯里倒水给他喝,然后收好折叠椅,后备厢盖一扣,领着孩子过了马路。把孩子送进校门,妈妈又回到吉普车,掀开后备厢,站着把孩子没吃完的饭菜吃了,然后驾车离去,是辆老款吉普。全程戴着墨镜,米乐猜不出她长什么样。
儿子也吃饱了,老婆嘱咐过米乐,吃完就回学校,不要在车里逗留太久,尽量合群,别弄得跟和学校作对似的。送完儿子,米乐回到车里发了会儿呆,不到三个小时后又要接孩子了,他没有时间开着车再去别的地方了。儿子的“退伙”拴住了他,不过他也心甘情愿,为了“行动”而牺牲部分自我,是理所应当的。
第二天米乐把儿子接到车上后,看到男老师还带着儿子班的那孩子站在校门口,墨镜妈妈没来接他。天色暗沉,风也大了,说话就要下雨,米乐让儿子把那孩子叫车里来。男孩上了车,米乐给他拿来碗筷,叫他和儿子一起吃。小孩不见外,也确实饿了,拿起就吃。俩孩子还不太熟,各吃各的,米乐撮合两人认识,想让儿子在学校多交朋友,跟所有人打成一片才好。米乐问小孩叫什么,小孩报出名字,儿子说爸爸你不是知道他的名字吗?米乐赶紧接上话,说我问的是小名。男孩又说出小名,叫Sting。儿子笑了,说,你叫死拧吗?Sting说,英文,sting,不是死拧。米乐问这名字谁起的,Sting说我妈。米乐问你妈妈是做什么工作的,Sting说她是唱歌的,有乐队。米乐——知道美国有个著名摇滚歌手就叫Sting——问Sting,那你爸爸是做什么的?Sting说我爸工作忙,住在别的地方。米乐大概清楚为什么群里没有这孩子爸爸了。
雨点淅淅沥沥落下,打在房车顶棚上。昨天那辆吉普车这时候开到学校门口,墨镜妈妈下车找孩子,米乐打开防蚊虫拉门,孩子探出身子喊:“妈”。
墨镜女把吉普车开上马路牙子,停在房车旁。米乐跟她打招呼,说俩孩子一个班的,怕孩子等不到她着急,就把孩子带车上了。墨镜女摘下墨镜——一笑眼角已能看出鱼尾纹,脸上没有这个年龄女性过多人为干预的那种湿肿——赶忙致谢,见孩子已经吃上,更是不好意思。米乐说现成的粗茶淡饭,两人搭伙更有食欲。妈妈赶紧去吉普车里取来保温桶,摊开摆在桌上——米饭没有再往桌上放——让俩孩子一起吃。分体保温餐盘里分别盛着鸡蛋西红柿和牛肉炒芹菜,米乐能看出这是一位不擅厨艺或对吃没什么讲究的妈妈。Sting扫了一眼盘里说,我妈老做鸡蛋西红柿。妈说,你老点我才老做。米乐儿子率先㨤了一勺,说好吃。Sting说,没有你家的菜好吃。米乐儿子又㨤了一勺说,你家的才好吃。
米乐主动介绍了为什么会开着一辆房车出现在这里,以免Sting妈妈觉得奇怪,或认为他们一家子为孩子上个小学劳师动众。Sting妈听完说,都不容易,全为了孩子。米乐问她,昨天在吉普车后面吃饭的是Sting吧?Sting妈说,对。米乐问,你们住得远吗?Sting妈说,开车单程十五分钟,没必要把时间浪费在路上,现在天气也不冷,就让Sting先这么吃着,早点儿吃完还能回教室趴桌上睡会儿。米乐说,以后来我车上吃吧,反正我们天天在这,慢慢天也冷了。Sting妈说不用麻烦,米乐说不麻烦,俩孩子一起吃还能有个伴儿。Sting妈说那饭我做,我那用火比你在车上方便,米乐没有拒绝。
米乐也不好意思袖手旁观真让Sting妈做饭,所以第二天餐桌上特别丰富,已经摆不下了。Sting妈带来三菜一汤——不输学校的标准——米乐也备了两个菜,再来俩孩子都吃不完。米乐儿子和Sting吃完,两位父母给他们送进校门,然后两个大人回车打扫各自孩子的剩饭。Sting妈做的是牛排、蒜蓉粉丝蒸白菜还有盛了半只鸭子的老鸭汤,里面煮了萝卜,用心了。米乐吃着想,真要是这么客气下去,做饭也该内卷了。他夹了一块切好的牛排说,做这个挺费事儿吧?Sting妈说,用空气炸锅做的,肉放锅里,喷点儿油,扣好盖儿就行了。又说,其实自己不怎么会做饭,从网上现学的,以前都是姥姥姥爷给孩子做,现在上了学,儿子跟她住,她才把做饭一事纳入日常。Sting妈问米乐是做什么的,可以每天以这样的方式等儿子,挺带劲的。米乐说做设计,书、海报、产品logo、包装盒,都做,现在不能挑活儿了。Sting妈说,我是做乐队的,尤其生了孩子,有演出就去,也不挑活儿,说完笑了。
米乐问了乐队的名字,Sting妈说很小众,报出名字米乐果然没听过。Sting妈说做得不好,一直默默无闻,说完又自嘲地笑了。典型的北京女的。随着各自孩子的剩饭见了底儿,两人的闲聊也结束了,客气告别。
晚上爷爷又做了好几个菜,儿子没怎么吃,说中午吃顶了。爷爷很骄傲,说我做的饭有那么好吃吗?中午饭都是爷爷准备,米乐只负责最后一道工序,将八成熟变成彻底熟。孙子回答爷爷没那么好吃,是Sting妈做饭好吃,吃得下午上课直打嗝。米乐老婆听到,问米乐怎么吃起别人家的饭?米乐简单说了经过,还说,弄孩子都不容易,车上有地儿,互相方便一下。老婆立马说,她家的饭卫不卫生呀?米乐说,肯定卫生,人家自己孩子也吃。老婆又问,那孩子叫什么呀?开学不足一个月,家长和家长、家长对班里,尚都不熟。儿子说,叫Sting。老婆拿起手机,在群里翻这名字的家长,似乎要找到照片相相面,方决定能否继续搭伙。米乐知道老婆找不到,就让儿子告诉妈妈Sting的大名。儿子话音未落,妈妈就跟被点着了似的:“他妈呀!”
“他妈怎么了?”儿子不理解自己妈妈的反应。
“他妈做饭好吃!”米乐赶紧接过话,给老婆递眼色,示意打住,他知道老婆怎么想的。
话题被终止,事情在老婆那远没结束。就他俩的时候,老婆说不愿意让儿子跟那孩子接触,怕受影响。他妈群里质疑完老师,还去学校找校长给老师告状——所以班主任才会在班里向学生承认错误——这么怼老师,老师肯定对她孩子没好印象,老跟那孩子在一起,咱孩子也没好果子吃。米乐听到很多闻所未闻的信息,问找校长这事儿是哪儿听来的?老婆说,学校恁么一个小地方还能有不透风的墙?米乐觉得既然老师向孩子们承认了错误,说明这孩子的妈没做错。老婆说话不是这么说,对错单说,关键是做法太鲁。米乐对这事儿的理解不是“鲁”,是纯粹,Sting妈是搞摇滚的,直截了当,道出很多人的心声。这样的人理应受到呵护,现在却成了大伙“对面的人”——从老婆接下来的话里,米乐听出来,老婆和另几个妈妈似乎达成统一战线,认为Sting妈在拉着全班躺平,她们不接受自己的孩子这样,正商议对策力争让这个班的孩子跟上全国六岁半儿童的节奏。作为这个“不躺平”组织的人,米乐老婆认为不宜跟Sting妈走得太近。
米乐发现他和老婆想事情经常想不到一块儿去了。一个纯粹的人,哪怕不被尊重,至少不该被排挤,米乐是这么想的。他有点理解不了现在的世界,和现在的老婆,老婆后面的那些话,已让他听不进去。
直到老婆说了一句话,把米乐拉回到正在进行的对话中:“你要是不好意思谢客,就让儿子继续回学校吃饭,她也不可能还让她孩子去你车上吃吧?”
米乐没想到老婆能为此牺牲孩子的“食品安全”,更对老婆在“行动”上如此不彻底和是非观的错乱而扼腕。他觉得不能再佛系下去,该摆出态度了,说:“不怕儿子下回从学校的饭里吃出个灶马儿?”
“灶马儿是什么?”老婆小时候只知道书本和教室。
“以前北京的公共厕所里全是这玩意儿!”米乐说完,起身去叫儿子。该出发去学校门口睡觉了。
米乐打开一听啤酒,踏踏实实喝了一口,仰靠在房车的卡座里,一条腿搭到对面座椅上。这是他最舒服的姿势。其实不是姿势有多舒服,是爱一个人这么待着。
车外有蛐蛐叫,二环里都快没有老北京人了,竟然还有蛐蛐。儿子正在米乐身后的床上睡着觉,车里三张床,儿子想睡哪张看心情,米乐就睡儿子挑剩的那两张。到了这个岁数,米乐貌似对诸多事情已无所谓,其实很有原则,用内力控制着生活,以防沾染、滑离、坠落。
现在米乐调出Sting妈妈的歌,匹对上耳机,喝着酒听起来。刚才开来的路上,儿子睡前突然唱起歌,吐字不是很清,米乐听了一个大概,好像唱的是:1、2、3、4、5、6、7……do、re、mi、fa、sol、la、xi 什么的。米乐问儿子是音乐课教的吗,儿子说不是,跟Sting学的,他妈会写歌。现在儿子睡着了,米乐还记得Sting妈妈乐队的名字,在音乐平台搜到这个乐队。成员四人,Sting妈是主唱兼词曲创作,另外三位男性负责吉他贝斯鼓,有三千多粉丝——知名乐队的粉丝都好几十万——去过欧洲巡演,拿过两个独立音乐的奖,成立快十年了。米乐一算,组队的时候Sting还没出生,乐队到现在也没有出名,却还能搞下去,说明Sting妈靠这个能养活自己,也说明她是真喜欢干这个。
歌词多是英文的,曲调晦暗,伤惋迷蒙,适合晚上听,也和她头像挺搭。米乐以己度人,猜可能到了他这个年龄无论男女,都生活在迷离扑朔的日子里,因此从头到脚都跟通俗明朗无缘。听到一首像把人按进水里的歌,沉闷压抑,米乐不仅不觉得难听,还感觉情绪恰到好处。突然吉他亮音响起,像一只手伸进水里,把溺水的人拉了上来,世界豁然开朗。
听到这,米乐有些坐不住了,有种东西被唤醒。他来到车外,需要将这种东西释放,或在夜空下任它生长。随着乐曲的进行,鼓的韵律清晰起来,有种整装待发的感觉,米乐竟然跟着做起开合跳——平时他也常跳,心态和心率都不想过早衰老。
跳了不知道多少个,乐曲结束,米乐停下来,踱步深呼吸,平复心跳。往前走了十几步,又往回返,下一首歌已经开始。一转身,看到一个人推着自行车站在房车旁。米乐走近,看清是谁,吓一跳,Sting的妈妈。米乐摘掉耳机,说,是你呀,太黑没看清。Sting妈说,刚才喊了你两声,你戴着耳机没听见,听什么呢?米乐说,你们乐队的歌,说完停掉耳机,手机里果然传出她再熟悉不过的曲调。然后解释说,孩子睡前唱了你们的歌,Sting教的,我就正好找你们乐队的歌听听。
米乐意识到Sting妈这个时候出现在这里很意外,问她来这有事儿吗?Sting妈说她刚好排练结束,骑车回家,看到米乐在锻炼,就停下打个招呼。米乐说,你们的音乐挺耐听。Sting妈笑了。两人谁也不再说话,乐曲在夜色中放着,闪烁的路灯好像打在舞台的灯光。
Sting妈突然说,过几天国庆长假,乐队会在河北某城参加音乐节,邀请米乐带孩子来玩,她也带Sting去,音乐节在湿地公园,可以野营。米乐应诺。
6
老婆说不用订她的票,不想跟Sting家走太近,以免日后麻烦。但孩子想去,米乐就开着房车带儿子去了。
Sting跟着妈妈前一天就到了办音乐节的城市,组织者怕国庆假期路上拥堵,提早把参演的乐队接来。大型音乐节都不让露营,也不让带水进场,这个音乐节规模小,乐队名气都不大,为了吸引更多人来看,取消了这些限制。演出当天,组委会在每支乐队的休息处都搭起天幕,架好折叠桌椅,摆上吃的,场面工作做足,让乐手们发朋友圈,宣传音乐节,吸引更多乐队日后来演出。
米乐带儿子是演出当天下午赶到的,找到Sting妈妈所发照片上的紫色天幕。一路上,看到乐迷们五颜六色的头发、千姿百态的衣服,儿子跟米乐说,这些人“泰裤辣”——这是他上学后学到的一个流行词。米乐说,你长大了也可以这样。
儿子和Sting会师,还有一些乐队的亲友也带来孩子,小朋友们在草地上玩起“木头人”。大人们似乎刚吃完饭,桌面上摆着组委会派发的盒饭,已经吃空,还没收拾。Sting妈介绍了米乐和大家认识,吉他手递来一听啤酒,米乐打开,跟手里有酒的人都碰了一下。
天气已经不热,有人把椅子搬到天幕外面,找阳光晒。米乐用啤酒和在场的人打完招呼,也搬椅子找了片阳光,从这里能望到舞台,离演出还有一会儿。
大人们窝在沙滩椅里,说着无关紧要的话;孩子们在不远处玩耍,对游戏中的犯规者明察秋毫。如果几日后这些人不需要上班上学,生活简直无可挑剔。
一阵不小的风刮过,吹翻桌上的空餐盒,盒盖儿被卷走。Sting妈起身去捡,没等弯腰,塑料盖儿又被刮走几米,吹到孩子们脚下。一个男孩看Sting妈奔盒盖儿而来,他俯身去捡,刚伸手,盖儿又往前窜了窜。于是孩子们争前恐后去捡那盖儿,风似乎有意和他们做游戏,又卷起盖儿向前。孩子们的兴致更高涨了,像一群蜜蜂追讨敌人而去。终于,一个大点儿的孩子捡到了——或者说抢到了。Sting妈撑着营地的黑色大塑料垃圾袋来接,拿着盖儿的孩子扣篮一样将斩获物投入袋中,洋洋得意,仿佛球场上的MVP,其他孩子有些沮丧,吵着要再玩一次。Sting妈说,那咱们一起去捡垃圾,把地球上的垃圾都捡干净。
当儿子告诉米乐他要去捡垃圾的时候,米乐一开始没听懂,但儿子已经跑走,去追大部队。米乐就拿着那听啤酒,在后面跟着,看到Sting妈拖着大号黑色塑料袋,像个丐帮帮主,指挥着五六个孩子,把出现在草地上的垃圾一一捡起,汇总到她的袋子里。
这也太摇滚了吧?还是哗众取宠?米乐拿不准,保持着距离,跟在后面。
孩子们为了收获更多战利品,开始创造垃圾。儿子跑来,管米乐要啤酒罐,米乐一口喝完,孩子喜悦地拿过罐子去上缴。有孩子走到露营人面前,问吃了一半的食物要不要扔掉,被问者微笑着摇摇头。好在只带了一个黑色袋子,很快就装满了。Sting妈把袋子放到垃圾回收处,带孩子们去浇花的水龙头下洗手,然后回到营地。
组委会的工作者正举着小摄像机采访乐队其他成员,见主唱回来了,镜头冲向Sting妈。采访者是个小姑娘,问,刚才听乐手说,乐队解散过几年,前年又重组,都出于怎样的考虑?Sting妈反问,他们——看向三位男乐手——怎么说的?采访的小姑娘说,他们说听您召唤,他们就回来了。Sting妈笑了,说你听他们瞎掰呢,当年解散也不是我召唤的,还是散了。小姑娘追问,那您说是为什么呀?Sting妈说,当年觉得干这个没希望,挣不到什么钱,只能解散,后来该结婚的结婚,该生娃的有了娃,班也上了,折腾一圈发现还是干这个好,不用看人眼色,自己喜欢什么样的音乐就做什么,不用讨好任何人。现在靠乐队能养家吗,小姑娘又问。乐队的人听到这个问题都笑了,Sting妈说,那就看过什么日子了。小姑娘最后举着话筒问道,说来说去还是因为发自内心喜欢音乐喽?对,Sting妈说,离不开。
这时候几十米外的舞台上传来一声吉他的失真,演出即将开始。观众席已聚集了千把人,前排的乐迷舞动着几杆大旗,乐队主唱说着感谢音乐节和乐迷的话来暖场,鼓手在恰当时机搞了段solo,气氛被点燃。采访团队去拍摄演出现场。Sting妈乐队的乐手们拿出乐器,开始热身——具体就是热手热嘴——Sting妈咿呀嘿吼地开着嗓子,他们第四个出场。
随后Sting妈和吉他手合到一起,一个演奏一个唱。第二支乐队开始上场,舞台上没了动静,米乐能听到Sting妈唱的就是那天晚上儿子在房车里唱的歌:1、2、3、4、5、6、7……do、re、mi、fa、sol、la、xi。Sting和儿子跑过去,跟着他妈一起唱起来。唱着唱着,Sting妈灵机一动,添了两句词。新词在两个孩子的演唱下,出现一种美妙的效果,米乐听到也为之一动。旋律朗朗上口,另外几个孩子也加入进来,Sting妈闭了嘴,现场成了童声合唱团。
这时候来了组委会的人,让乐队去候场。Sting妈征求乐手们意见:要不然让孩子们也上场?鼓手说,靠谱!Sting妈让孩子们去征求各自家长意见。儿子跑来问米乐,米乐说,只要你愿意,当然行。
乐队的四个大人先上了场,第一首歌是展示乐队风格的英文歌。第二首歌换成中文的,唱至一半,Sting妈冲后台一招手,孩子们上场了。她领唱了几句,随后就将麦克风冲向孩子们。乐队降低了器乐演奏成分,只留下贝斯铺着节奏,孩子们的声音被突出,唱出:“1、2、3、4、5、6、7,不是你在班里考第几,1、2、3、4、5、6、7,它们是do、re、mi、fa、sol、la、xi……”听出米乐一身鸡皮疙瘩。在这种声音下,空气也仿佛被净化,观众发出和之前不一样的欢呼声。
Sting妈举着手机,站在Sting身旁,拍摄着这一幕。米乐也从台后呼哧带喘跑到观众区,挤不进去,就在最后一排,正面拍摄这个场面。
孩子们反复唱着那句歌词,乐迷们也跟着唱起来。乐队索性停止任何演奏,成了孩子的清唱,现场数千人挥舞着手,跟着孩子们一起唱。
这时候,米乐的手机响了一声,是微信,他没理会,继续拍摄。
随后不到一分钟,老婆电话进来,米乐没接,拍摄没停。响了十多声后断了,马上又打过来。孩子已唱完,鞠躬谢幕离场,米乐接了电话。
“你疯了吧!”老婆开口喷火。
“怎么了?”米乐以为家里出了什么事儿。
“你看看群里!赶紧给我把孩子拽下来!”老婆的声音盖过现场巨型音箱发出的声音,直撞耳膜。
米乐在房车里连住十天了,平时他只是晚上陪孩子睡在学校门口,周末和孩子还是会躺到家中的床上,现在他已经第十一天睡在车里了。那天他在儿子班级群里看到Sting妈妈发的视频,是她从台上拍的孩子们唱歌,只拍了Sting和其他孩子,有意避开米乐儿子。老师也在这个群里,显然,她想让老师和部分家长看到这一幕。米乐老婆看完后有种直觉:自己儿子也在台上。于是炸了。加上视频确实不小心扫到另一个孩子的胸口以下,露出有限的衣服,这让米乐老婆确认了那就是自己的儿子,于是被引爆了,给米乐打去电话。
米乐那天也被点着了。孩子们的童声如天籁,直钻心窝,辅以歌词,听得他热泪盈眶。加上现场数千人的合唱,让米乐觉得“这样才是对的”,然而老婆的电话在这个时候不合时宜地来了。不知道触碰到米乐的哪根神经,或者说击穿了他,窝在缝儿里的那个更真切的米乐钻了出来,选择拒绝错误的声音——比如老婆说出的那些话——让正确的事情变得更对,于是就把自己从正面拍的那条视频也发到了老师所在的班级群。视屏中,儿子和Sting与另几个孩子,坦荡地站在台上,唱着“1、2、3、4、5、6、7,不是你在班里考第几……它们是do、re、mi、fa、sol、la、xi……”台下上千双手跟着他俩的节奏挥舞。
然后米乐的电话和微信就被老婆打爆了,让他赶紧撤回视频。米乐没有撤,手机那头儿的老婆表现出比台下乐迷更疯狂的激情。
接下来,米乐就没再回家睡过觉。如果没有孩子,他会开着这辆车,去到一个什么地方,过上那么一段时间。但现在他做不到,因为孩子,他还要接送。他能做的,就是在车里先凑合一段时间;也幸好有了这辆车,让他在这样一种时刻里,能有个地方一个人待着,可以把前前后后的事情好好想一想了。
作者简介
孙睿,作家、编剧、导演,北京电影学院导演系硕士毕业,写小说为主,也写剧本。已在本刊发表中篇小说《斗地主》、《发明家》,获2019年《北京文学》优秀中篇作品、2022年《北京文学·中篇小说选刊》优秀中篇选载作品。
责任编辑 张颐雯
特约编辑 蓦 凡
Identify the point of view (e.g., first-person, third-person limited, omniscient) and consider how this perspective shapes the reader's understanding of events and characters.
', error: Error code: 429 - {'error': {'message': 'You exceeded your current quota, please check your plan and billing details. For more information on this error, read the docs: https://platform.openai.com/docs/guides/error-codes/api-errors.', 'type': 'insufficient_quota', 'param': None, 'code': 'insufficient_quota'}}
2024-06-14 15:27:40 - AnalysisRunner - ERROR - Error running analysis 'Narrative Perspective' using GPT4Model. Error type: RateLimitError. Error message: Error code: 429 - {'error': {'message': 'You exceeded your current quota, please check your plan and billing details. For more information on this error, read the docs: https://platform.openai.com/docs/guides/error-codes/api-errors.', 'type': 'insufficient_quota', 'param': None, 'code': 'insufficient_quota'}}
Traceback (most recent call last):
File "/Users/apple/editor-app-v10/analysis_runner.py", line 47, in run_analysis
result = model.invoke(prompt)
^^^^^^^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/language_models.py", line 78, in invoke
response = self.model.invoke([prompt])
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/langchain_core/language_models/chat_models.py", line 170, in invoke
self.generate_prompt(
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/langchain_core/language_models/chat_models.py", line 599, in generate_prompt
return self.generate(prompt_messages, stop=stop, callbacks=callbacks, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/langchain_core/language_models/chat_models.py", line 456, in generate
raise e
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/langchain_core/language_models/chat_models.py", line 446, in generate
self._generate_with_cache(
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/langchain_core/language_models/chat_models.py", line 671, in _generate_with_cache
result = self._generate(
^^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/langchain_openai/chat_models/base.py", line 537, in _generate
response = self.client.create(messages=message_dicts, **params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/openai/_utils/_utils.py", line 277, in wrapper
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/openai/resources/chat/completions.py", line 606, in create
return self._post(
^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/openai/_base_client.py", line 1240, in post
return cast(ResponseT, self.request(cast_to, opts, stream=stream, stream_cls=stream_cls))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/openai/_base_client.py", line 921, in request
return self._request(
^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/openai/_base_client.py", line 1005, in _request
return self._retry_request(
^^^^^^^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/openai/_base_client.py", line 1053, in _retry_request
return self._request(
^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/openai/_base_client.py", line 1005, in _request
return self._retry_request(
^^^^^^^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/openai/_base_client.py", line 1053, in _retry_request
return self._request(
^^^^^^^^^^^^^^
File "/Users/apple/editor-app-v10/venv/lib/python3.12/site-packages/openai/_base_client.py", line 1020, in _request
raise self._make_status_error_from_response(err.response) from None
openai.RateLimitError: Error code: 429 - {'error': {'message': 'You exceeded your current quota, please check your plan and billing details. For more information on this error, read the docs: https://platform.openai.com/docs/guides/error-codes/api-errors.', 'type': 'insufficient_quota', 'param': None, 'code': 'insufficient_quota'}}
2024-06-14 15:34:37 - httpx - INFO - HTTP Request: GET https://api.gradio.app/gradio-messaging/en "HTTP/1.1 200 OK"
2024-06-14 15:34:38 - httpx - INFO - HTTP Request: GET http://127.0.0.1:7860/startup-events "HTTP/1.1 200 OK"
2024-06-14 15:34:38 - httpx - INFO - HTTP Request: HEAD http://127.0.0.1:7860/ "HTTP/1.1 200 OK"
2024-06-14 15:35:09 - GetAnalysisPrompts - INFO - Creating analysis prompts.
2024-06-14 15:35:09 - GetAnalysisPrompts - INFO - Analysis prompts created successfully.
2024-06-14 15:35:09 - ModelSelector - INFO - Token count for input: 7403
2024-06-14 15:35:10 - ModelSelector - INFO - Selected ClaudeModel for analysis with token count of 7403
2024-06-14 15:35:10 - ModelSelector - INFO - Token count for input: 7403
2024-06-14 15:35:10 - ModelSelector - INFO - Selected ClaudeModel for analysis with token count of 7403
2024-06-14 15:35:10 - ModelSelector - INFO - Token count for input: 7403
2024-06-14 15:35:10 - ModelSelector - INFO - Selected ClaudeModel for analysis with token count of 7403
2024-06-14 15:35:10 - ModelSelector - INFO - Token count for input: 7403
2024-06-14 15:35:10 - ModelSelector - INFO - Selected ClaudeModel for analysis with token count of 7403
2024-06-14 15:35:10 - ModelSelector - INFO - Token count for input: 7403
2024-06-14 15:35:10 - ModelSelector - INFO - Selected ClaudeModel for analysis with token count of 7403
2024-06-14 15:35:10 - ModelSelector - INFO - Token count for input: 7403
2024-06-14 15:35:10 - ModelSelector - INFO - Selected ClaudeModel for analysis with token count of 7403
2024-06-14 15:35:10 - ModelSelector - INFO - Token count for input: 7403
2024-06-14 15:35:10 - ModelSelector - INFO - Selected ClaudeModel for analysis with token count of 7403
2024-06-14 15:35:32 - httpx - INFO - HTTP Request: POST https://api.anthropic.com/v1/messages "HTTP/1.1 200 OK"
2024-06-14 15:35:33 - LanguageModels - INFO - Invocation successful in 22.34 seconds.
2024-06-14 15:35:33 - AnalysisRunner - INFO - Analysis 'Summary' completed successfully using ClaudeModel.
2024-06-14 15:35:33 - httpx - INFO - HTTP Request: POST https://api.anthropic.com/v1/messages "HTTP/1.1 200 OK"
2024-06-14 15:35:33 - LanguageModels - INFO - Invocation successful in 23.02 seconds.
2024-06-14 15:35:33 - AnalysisRunner - INFO - Analysis 'Narrative Perspective' completed successfully using ClaudeModel.
2024-06-14 15:35:37 - httpx - INFO - HTTP Request: POST https://api.anthropic.com/v1/messages "HTTP/1.1 200 OK"
2024-06-14 15:35:37 - LanguageModels - INFO - Invocation successful in 27.11 seconds.
2024-06-14 15:35:37 - AnalysisRunner - INFO - Analysis 'Themes' completed successfully using ClaudeModel.
2024-06-14 15:35:41 - httpx - INFO - HTTP Request: POST https://api.anthropic.com/v1/messages "HTTP/1.1 200 OK"
2024-06-14 15:35:41 - LanguageModels - INFO - Invocation successful in 30.49 seconds.
2024-06-14 15:35:41 - AnalysisRunner - INFO - Analysis 'Emotional Core' completed successfully using ClaudeModel.
2024-06-14 15:35:43 - httpx - INFO - HTTP Request: POST https://api.anthropic.com/v1/messages "HTTP/1.1 200 OK"
2024-06-14 15:35:43 - LanguageModels - INFO - Invocation successful in 32.86 seconds.
2024-06-14 15:35:43 - AnalysisRunner - INFO - Analysis 'Plot' completed successfully using ClaudeModel.
2024-06-14 15:35:46 - httpx - INFO - HTTP Request: POST https://api.anthropic.com/v1/messages "HTTP/1.1 200 OK"
2024-06-14 15:35:46 - LanguageModels - INFO - Invocation successful in 35.56 seconds.
2024-06-14 15:35:46 - AnalysisRunner - INFO - Analysis 'Techniques' completed successfully using ClaudeModel.
2024-06-14 15:35:46 - httpx - INFO - HTTP Request: POST https://api.anthropic.com/v1/messages "HTTP/1.1 200 OK"
2024-06-14 15:35:46 - LanguageModels - INFO - Invocation successful in 35.63 seconds.
2024-06-14 15:35:46 - AnalysisRunner - INFO - Analysis 'Characters' completed successfully using ClaudeModel.
2024-06-14 10:21:54 - httpx - INFO - HTTP Request: GET http://127.0.0.1:7880/startup-events "HTTP/1.1 200 OK"
2024-06-14 10:21:54 - httpx - INFO - HTTP Request: HEAD http://127.0.0.1:7880/ "HTTP/1.1 200 OK"
2024-06-14 10:26:49 - httpx - INFO - HTTP Request: GET http://127.0.0.1:7880/startup-events "HTTP/1.1 200 OK"
2024-06-14 10:26:49 - httpx - INFO - HTTP Request: HEAD http://127.0.0.1:7880/ "HTTP/1.1 200 OK"
2024-06-14 10:26:50 - httpx - INFO - HTTP Request: GET https://api.gradio.app/v2/tunnel-request "HTTP/1.1 200 OK"
2024-06-14 10:26:50 - httpx - INFO - HTTP Request: GET https://cdn-media.huggingface.co/frpc-gradio-0.2/frpc_linux_amd64 "HTTP/1.1 200 OK"