In this project, we designed a mobile app for parents to track their kids' safety on the way home, and I worked on the front end development of the app using Android Studio, as well as integrating other parts done by the other team members.
This projected was created during HackPrinceton 2016, and our team was selected to present it at the final showcase (about 10 teams in total).
Safety of kids on their way to school and on their way home has always been a big concern for parents. Our app provides a way for parents to track kids’ safety on their way using location of kids provided by the Google Maps API.
We implemented the app using Android Studio and made use of the Google Maps API to retrive real-time location of users. Whenever a child starts walking home from school, they can click on the “start” button and we will send the location information of user to our back-end database. Based on the destination location entered by the user, we use the Google Maps API to provide an estimate of how much time is needed along the way. Our backend will send the parent an email when the walk starts or when the walk takes much longer than expected. We also designed a “help” button on the main page so that the kid can click on the button in case of emergency and our backend will immediately send an email to the parents to notify them.
Android Studio, Google Maps API, JSON.
Felix Merk, Shaan Menon, John Bucknam
In this project, I designed and prototyped a wearable musical instrument with Arduino - instead of pressing physical keys, you simply need to tap on finger tips to play music.
### Motivation Music has always been an vital part of many people's lives. However, as many musical instruments such as guitars and pianos are always huge in volumn, it's always cumbersome to carry them around. ### Introduction  Invisible Piano is a project that allows users to "play music in the air", by using one's finger tips as the "piano keys". When you tap on different fingers using your thumb, the device recognizes which finger was touched, and thus you can play wonderful music without using any huge musical instrument, but instead just with your body. ### Implementation This project was developed with an Arduino Nano. The ten "rings" to wear on a user's fingers are each connected to the Arduino, with each thumb connected to ground and all other fingers each connected to a different analog input pin. The controller identifys which finger has been touched by looking at the different input voltage from all the fingers, and with some smoothing to avoid jumping around, plays the key corresponding to that finger.  ### Tools & Technologies Arduino ### Code [Invisible Piano](https://github.com/judykong97/InvisiblePiano)I took a big part in this 2-year long project as the second author of the paper, and contributed substantially in every phase of the project - from brainstorming, to the ideation and implementation of the computer vision pipeline, then to iterations and refinements, and finally technical evaluations and user study.
### Motivation Blind people frequently encounter inaccessible dynamic touchscreens in their everyday lives that are difficult, frustrating, and often impossible to use independently. Touchscreens are often the only way to control everything from coffee machines and payment terminals, to subway ticket machines and in-flight entertainment systems. We identified two major challenges in using dynamic touchscreen interfaces for visually-impaired users: - As the visual user interfaces change, interactions often occur over multiple different screens, and it's always hard for users to label certain parts of the interface using traditional methods. - It is easy to accidentally trigger interface actions while exploring the screen. ### System Design  ##### **Constructing state diagram** StateLens uses a combination of Screen Detection, SURF and OCR to match the current video frame with reference states and decide whether to send to crowdsourcing pipeline and add it as new state. ##### **Generating path from user-specified task** With user-specified task through conversational agent, StateLens generates a target (state, button) sequence to achieve the task. ##### **Identifying current screen** StateLens uses SURF combined with detected user interaction points from camera to identify which state the user is currently on. ##### **Providing guidance to complete task** Based on the detected state, StateLens reads out screen description and guide users to move their finger towards the target button.  #### Conversational Agent The agent can be automatically generated from the state diagram of the interface and allows users to pre-specify the task to perform.  #### 3D-Printed Accessories The 3D-printed accessories allow users to explore touchscreen interfaces without accidentally triggering touches and then touch when they need to.  ### Results In our technical evaluation, StateLens achieved a relatively stable error rate of 5% in identifying the current state. The matching time is also fairly stable for different sizes of interfaces around 0.2 seconds. In our user study, users spent an average of 110.1 seconds to complete a task and the overall task completion rate was 94.7%. In subjective rating, users reported the StateLens app to be easy to learn (5.5/7), comfortable to use (5.6/7), and very useful (6.1/7). They also found the audio feedback was in real-time and accurate (6.1/7). #### State diagram construction accuracy by interface  #### Matching scalability and robustness In this project, we designed and prototyped a heat-sensitive drag queen camping technology with morphing materials. With both advocacy of inclusion and consideration for practical use in our design, we made a prototype of Rain Queen, which transforms from a regular cloth shape into a more dramatic look when the environment temperature increated.
### Background We got our inspiration from the drag queen persona Pattie Gonia [@pattiegonia](https://instagram.com/pattiegonia?igshid=nzkte9iy8eok) on Instagram, played by artist and photographer Wyn Wiley [@wynwileyphoto](https://instagram.com/wynwileyphoto?igshid=1gtrd2exihhmf). While most queer communities nowadays are concentrated in big cities, Pattie Gonia brings drags and advocacy from cities to outdoors and in the wild.  ### Introduction When the environment temperature increases, a simple tendon structure turns this poncho dress into a more dramatically regal structure. The pulley system is reactive to a mechanical circuit, driven by our heat-responsive linear and bending actuators.  This rain queen design is not just a drag queen camping technology, but also an act of placing LGBTQ+ groups at the center of design through compassionate attention. ### Water Collection In addition to the drag queen camping idea, we also hoped to add some practical camping functionalities to this design - water collection. As the shape transformation is triggered, the morphing system changes from a dormant shirt’s shape to a regal water collecting vessel.  ### Morphing Mechanism We hoped the drag queen "second skin" to have automatic shape transformation in response to the surrounding environment, thus we designed two types of morphing mechanisms responsive to temerature change - a linear actuator and a bending actuator. The idea behind both actuators is that the state of the actuator is dependent on the amount of air in it. The the actuator is heated with the increas of temperature in the surrounding environment, the liquid sealed inside the actuator becomes vapor, thus increasing the amount of air inside of it, triggering the shape change of the actuator.  The **bending actuator** has a small air bag on each of the hinges, and each air bag contains a small amount of Novec 7100, an alcohol-similar liquid with a very low boiling temperature. When heated, the air bags are "blown up", thus triggering the bending of the actuator.  Under the similar idea but with a different geometry, the **linear actuator** shrinks in length when more air is contained in the actuator. ### Team Members [David Perry](https://www.linkedin.com/in/david-b-perry), [Jasio Santillan](https://www.linkedin.com/in/jasio-santillan-72a98610b), [Johanna McAllister](https://www.linkedin.com/in/johanna-mcallister-960b6a163)I initiated and started leading this project this summer at the beginning of my master's program, and have been actively working on it since then.
Please feel free to check out our [poster](https://junhankong.com/assets/files/cognitiveassistant.pdf) at ASSETS 2019, our [full paper](https://junhankong.com/assets/files/tutoriallens.pdf) at SUI 2021 and my [master's thesis](http://reports-archive.adm.cs.cmu.edu/anon/2020/CMU-CS-20-116.pdf).Lorem ipsum dolor sit amet, usu cu alterum nominavi lobortis. At duo novum diceret. Tantas apeirian vix et, usu sanctus postulant inciderint ut, populo diceret necessitatibus in vim. Cu eum dicam feugiat noluisse.
In this project, my teammates and I conducted extensive user research at the UPMC Falk clinic with patients after Mohr's Surgery, among which were mostly older adults. By understanding users' needs during the post-operative care process and in older adults using technologies in general, we came up with the design of a mobile post-operative care asssistant, Hebo 2.0.
Try out our interactive prototype!
### Background After a patient undergoes Mohs surgery, they typically have questions and concerns about their postoperative treatment. Before and after surgery they are given explicit instructions on how to care for themselves and also provided with an instruction sheet to take home with them. Unfortunately, many patients struggle to remember and to interpret the basic instructions that are provided to them. Therefore, patients require support from clinical staff over the phone or in the clinic to address common concerns. Moreover, staff members often have to dedicate significant portions of time to communicate information already provided to the patients. ### Stakeholders We created a stakeholder map dividing our stakeholders into several parties, based on their interactions with patients in post-operative care. The surgeon who carries out the surgery; UPMC staff who help patients change dressing, call patients for check-up and answer questions; patients’ immediate family, extended family, and friends and community who might take care of them during the post-operative process.  ### User Research We did job shadowing and conducted interviews with both clinic staff and patients to better understand their needs and existing challenges in the process. To better understand their feelings, we included activities such as card sorting in our interview process.  We then came up with a journey map for nurses and patients, which helped us better understand the goals and needs of these stakeholders. We looked at the surgery procedure by the six phases: diagnosis, pre-surgery, during surgery, right after surgery, 48-hour post-surgery, one-week check-up and later. For each phase, we discussed patients’ emotions and thoughts, their tasks and touchpoints, in order to better understand each part of the surgery process and discover opportunities. Based on that, we used sticky notes to discover existing pain points in different phases of surgery, especially the post surgery phases.  To better understand patients' experiences during post-operative care at home, specifically during the dressing change process, we did further empirical research and tried to change wound dressing for ourselves like patients after the Mohr's surgery.  ### Takeaways from User Research We summarized our takeaways from user research into the following key insights: - Patients need more help when they start with hands-on post-operative care on their own. - Patients need to be assured that what they are doing / feeling is normal. - Patients' feelings and emotions affect their post-op decisions. - Patients want personalized care. - Visual representations and written out text are important for post-operative care for the predominant demographic of skin cancer patients. - Some patients hesitate to seek for help from family/staff due to personal reasons. (e.g. being too independent, not wanting to burden family, thinking they are probably fine) - Patients want immediate response to their questions while clinic staff don’t want their workflow to be interrupted. - Patients require simpler ways to find post-operative care dos and don’ts. ### Storyboards  ### Lo-Fi Prototype  ### Mid-Fi Prototype     ### Iterations & Refinements To test out our mid-fi prototype and improve the design, our team conducted three rounds of user testing in the UPMC Falk clinic. We tested the prototype with various different potential user groups of the assistant, including clinic staff (residential doctors, physician assistants, and nurses) as well as patients. During user testing, we set different scenarios for our users, including being discharged from the clinic, changing dressing at home for the first time, concerned about bleeding, and feeling pain. Overall, we received very positive feedback during the three rounds of user testing in the clinic. Except for feedbacks on the design of the assistant, we’ve also put a lot of focus on the accuracy of medical terms and processes to ensure that the assistant gives correct instructions and suggestions, and received valuable feedback during user testing. Based the feedback we received during user testing, our refinements mainly focused on: - Improving usability and accessibility of the app - Adding more feedforward and feedback to make the app more intuitive - Adding conversational features to allow hands-free interactions - Changing certain wordings to make sure medical terms and demonstrations are accurate - Having detailed stepwise breakdown of processes to guide users step by step, with explanations on each step - Establishing trust by giving encouraging feedback to users - Making action terms clearer and adding more error prevention features ### User Testing Quotes  For more details, please check out our [research report]({{site.baseurl}}/files/projects/hebo/Research%20Report.pdf) and [final report]({{site.baseurl}}/files/projects/hebo/Final%20Report.pdf). ### Team Members [Nadia Razek](https://www.linkedin.com/in/nadia-razek), [Anyi Diao](https://www.linkedin.com/in/anyi-diao-8a7544130), [Ying Chen](https://www.linkedin.com/in/yingc1)Lorem ipsum dolor sit amet, usu cu alterum nominavi lobortis. At duo novum diceret. Tantas apeirian vix et, usu sanctus postulant inciderint ut, populo diceret necessitatibus in vim. Cu eum dicam feugiat noluisse.
In this project, we explored the speedup of parallalizing the LDA algorithm for text classification, by implementing multiple different versions of parallel LDA using OpenMPI, and testing out the performance with different synchronization policies and different numbers of processes.
### Background Latent Dirichlet Allocation (LDA) is a widely used algorithm in text classification, which clusters word occurrences into latent classes (i.e. topics) after iterations of parameter learning. As the sampling process is extremely computation-heavy for large data sets, we implemented parallel LDA in this project and experimented with its performance. ### LDA at a Glance  ### Method Parallel LDA workflow: - Split corpus by document - Each process runs local Gibbs sampling - Master gathers updates and send back to each process  ### Implementation We implemented two variations of parallelism LDA using the OpenMPI library - the synchronous version and the asynchronous version. We also added staleness in our implementation. **Synchronous Parallel LDA**: updates broadcasted to all processes **Asynchronous Parallel LDA**: each process send local updates to master after a few iters, keep on sampling, and updates upon receiving new table ### Results  ### Discussion #### How does the parallelism scale? Close to linear speedup until up to 6 procs, and gets smaller after but still achieves 9x with 16 procs. #### What's the tradeoff between log-likelihood & speed? Learned parameters will be more “stale” as the staleness gets larger. This gets us faster speed, but sometimes might decrease the objective function (log-likelihood) as a tradeoff. #### Speedup comparison of sync vs. async We expected async version to be faster, but since there’s not much work imbalance in sync version, and for async the master takes on more work updating the tables based on messages from each process, the speedup for both are about the same. ### Conclusion Our implementation of parallel Latent Dirichlet Allocation achieves an overall good speedup compared to the sequential version. For future work, better asynchronous update rules might be designed for better work balance to further improve performance. ### Useful Links [Source Code](https://github.com/judykong97/Parallel_LDA) \| [Project Report]({{site.baseurl}}/files/projects/parallellda/Project%20Report.pdf) \| [Project Poster]({{site.baseurl}}/files/projects/parallellda/Project%20Poster.pdf) ### Team Members [Zhixin(Angelica) Feng](https://www.linkedin.com/in/zhixin-angelica-feng)In this project, we explored means to "tell the story behind the scene" through AR. Developed using VuforiaSDK and Unity, this mobile app recognizes art works in the camera view and displays text descriptions of it, such as title, author, background, etc.
### Motivation When you walk into a museum, it may be very hard to understand the art works, especially if you don't have much of an art background. The short descriptions by the art works are sometimes too small to read from far away, but you don't want to block other people. What to do then? ### Introduction Scene is a project that helps users understand art works with simple and straightforward augmented reality assistance. It helps you understand art works by storing a big number of art work descriptions in the database. Whenever you point your phone camera to an art work, it matches with the art works in our database, and displays the descriptions as text floating above the art work on your screen. In this way, you can have a full view of the art work without having to walk very close to look at the descriptions on the wall.  ### Implementation This project was developed using the Vuforia AR SDK. The on-screen interactions were created in Unity and C#. We used the Vuforia built-in image recognition feature to match with the pictures of art works we store in the database, and then display relevant text we grabbed from Wikipedia to the users. ### Tools & Technologies Google Cloud Platform, Unity, Vuforia SDK, C# ### Team Members [Oshadha Gunasekara](https://www.linkedin.com/in/oshadhagunasekara), [Peter (Wenze) Shi](https://www.linkedin.com/in/wenze-shi-15920b15b/), [Ziyang Wang](https://www.linkedin.com/in/ziyang-wang-cmu/)In this project, my teammates and I designed a mobile app for the local non-profit warehouse Construction Junction. Through preliminary research and after identifying values and needs, utilizing multiple interactions design techniques to help with our brainstorming, we came up with a smart furniture retail app using augmented reality.
 ### Background Construction Junction is a large, non-profit warehouse in Pittsburgh, PA supplying surplus construction materials & appliances at reduced prices. Our goal for this project was to design a mobile app for Construction Junction utilizing unique features of smartphones such as camera and sensing. ### Research We found that Construction Junction was listed as one of only three reuse/recycle centers in Western PA. Thus, we learned that our app did not need to introduce a competitive edge to the business, but could focus on enhancing and promoting its core values of sustainability and education. This would become a key component of our long-term road map moving forward. Our preliminary research also looked at who was involved with Construction Junction and how these different groups interacted with each other. We isolated employees/volunteers, customers/donors, and community/environmental groups. We noted that the primary thing these groups all had in common was the mission of promoting reusability of products and sustainability, and this helped guide the general theme of our design and our overall idea of forming a community around Construction Junction.  ### Ideation #### Establishing Value Flows Using the research we collected about Construction Junction, we began to investigate the interactions between different users and stakeholders to isolate opportunities for our intervention by creating value flow diagrams. We noticed that there are various different ways users can interact with the company (as donors, buyers, volunteers) and started to focus in on how we could improve users’ interactions with Construction Junction.  #### Challenging Assumptions We started looking at what assumptions might exist around construction material shopping, and explored possible interventions our app could make by breaking these assumptions to improve the user experience. One important assumption we identified was that customers had to view the products in person to get an accurate idea of how they might fit into their space, which would become key to our proposed app.  ### Narrowing Problem Space Based off our ideation process, our team isolated a huge opportunity in addressing how user’s browse for products online, and decided to approach the problem starting first with space and style constraints. This way, we can maximize the utility of the tool for users by filtering options by what can actually fit in their rooms and what will fit their style, rather than showing users the entire catalog. ### Iteration and Refinements To visualize how a CJ buyer would use our app, we each drew a complete flow of the app from creating a project to the wishlist. We focused on two native app features: the AR measuring tool and horizontal swipe to browse. Interestingly, we each had different visual style and emphasis in our low-fi prototype. We then chose screens from each design and combined them to become our final low-fi prototype. From the low-fi prototype sketches, we narrowed down to 5 screens that highlight the flow of our app. Then we digitized the wireframe sketches and determined the details of the in-between steps. The process of digitizing our sketches helped us identify details we did not consider before. Because our app show inventory results based on user input, we realized a logical sequence is crucial to creating a smooth user experience and to generating useful, insightful data. #### Lo-Fi Prototype  #### Mid-Fi Prototype  ### Final Design ### Team Members [Angela Huang](https://www.linkedin.com/in/angelahuang12), [Cathy Fang](https://cathy-fang.com/), [Corey Emery](https://www.linkedin.com/in/corey-emery)In this project, we researched on existing challenges in peer-to-peer furniture exchange, and designed a cross-platform application to address shipping problems during the process. My teammates and I first brainstormed ideas through collaborative sketching and storyboarding, then iteratively improved the design through various rounds of design critique and refinements.
In this project, my teammates and I designed a conversational user interface for meal ordering for a group of people, and can support various scenarios such as home parties, company meetings, field trips, etc.
### Introduction The name of our CUI product is “Kara“, which sounds like a name of a friend and is easy to pronounce. To design a CUI that simplifies group ordering process, we first researched on existing CUIs on the market and explored various scenarios that people might use them. With our initial version of our group ordering CUI, we kept on doing experience prototyping and made storyboards to explore more user needs and added more features to our design. ### Concept Video ### Ecosystem Collection & Competitive Analysis To better understand the current market, we did a competitive analysis by looked at four existing conversational UI products currently on the market: Google Home, Microsoft Cortana, Apple Siri, and Amazon Alexa. We created a competitive analysis matrix that compares the unique features, strengths, weaknesses, speech recognition performance, and voice friendliness of the four CUI products. More closely related to our project, we also checked whether or not the four products support food ordering, and where do they order from. It turned out that Microsoft Cortana and Apple Siri do not take food ordering at all, and Google Home and Amazon Alexa both only support a very limited range of restaurants, such as Domino’s. We also looked at the currently existing CUIs and listed out their user flow as a reference for our food ordering CUI design.  ### Scenarios We brainstormed on different scenarios where people might be needing our CUI to order food, and wrote a short story to describe the context for each of the scenarios. The scenarios we discussed about are as below. - A student working on his/her homework at school at midnight - A person working late at home - A party where a lot of people order to- gether - People working at a startup in a meeting ordering food - Patients in a hospital hoping to get food - Sick people who cannot get up easily - A person on a diet trying to control his/ her calories intake everyday - A person with a healthy lifestyle always asking for calories before eating - Someone allergic to a type of food who wants to avoid that ingredient - Someone craving for a certain type of dish, like Japanese food or Korean food - A person ordering food while in a car With the information we got from our research, we decided to work on a CUI that takes group orders. We name our CUI Kara, since it sounds like a name of a friend and is very easy to pronounce. We then listed out some activities that we want Kara to support. ### Experience Prototyping We went through experience prototyping to figure out more user needs that we didn’t discover in our design process. We asked a few other groups to act in our scenario and recorded what questions they asked and what confusion they had. During experience prototypring, some people were confused about the food options - “Does it only have pizza ordering, or does it have something else?“; some people raised allergy problems and asked Kara to check for ingredients of food; some people asked for suggestions, like “How should I order?“ or more specific concerns like “I think there are too many chickens in the group meal.“  ### Critique & Refinements Based on class critique, we refined our design and added some features that we didn’t consider. - Personality (being sassy, hahaha, that’s what I do) - Users not pronouncing correctly and Kara trying to find what they actually mean - Vegetarion option; allergy stuffs - More prompts when users are confused or forget what they are doing - Asking for something not on the menu causes Kara to look for other restaurants - Remind user after a minute in case they forget (hey, are you still there? Let me know when you want to continue with it, etc.) - If user doesn’t know exactly how many people are in the group, she uses the upper bound - Prepared to answer “stupid questions” (how do I pay) - Searching on Google for general questions (what is Yelp)/One-sentence description (what is this place) Summarizing our findings in the experience protyping and during critique, we revised the range of activities we want Kara to support, added small talks to our design to make Kara more humorous, and included error handling in case Kara has difficulty handling user input. ### Storyboard   ### Flowchart To get prepared for the flowchart of our final design, we went through our refined pre-attentives and attentives, and listed out the utterances and responses for each attentive using stickers. In the “order food“ attentive, we included multiple features of setting delivery time, recommending food types and restaurants, reminding of utensils, reminding of drinks, detecting change in location using GPS, etc.  ### Concept Video Making  ### Team Members [Bobbie Soques](https://www.bobbie.soques.net/), [Qin Bian](http://qinbian.info/)In this project, we designed a mobile app for parents to track their kids' safety on the way home, and I worked on the front end development of the app using Android Studio, as well as integrating other parts done by the other team members.
Safety of kids on their way to school and on their way home has always been a big concern for parents. Our app provides a way for parents to track kids’ safety on their way using location of kids provided by the Google Maps API.
We implemented the app using Android Studio and made use of the Google Maps API to retrive real-time location of users. Whenever a child starts walking home from school, they can click on the “start” button and we will send the location information of user to our back-end database. Based on the destination location entered by the user, we use the Google Maps API to provide an estimate of how much time is needed along the way. Our backend will send the parent an email when the walk starts or when the walk takes much longer than expected. We also designed a “help” button on the main page so that the kid can click on the button in case of emergency and our backend will immediately send an email to the parents to notify them.
Android Studio, Google Maps API, JSON.
往往喜欢写总结或是因为生活精彩得不得不细心梳理,恨不得出一本书吹嘘自己的一点点成绩。生活不尽如人意的时候不爱多说,懒得说懒得写,多么想找一片海把所有烦恼不痛快一股脑儿扔进去,从此再也不见。
跑题了。我的2016,多半是这样的调调。换言之,经历这么多顺风顺水的日子,这样幸运的中学时代,挑战挫折总需要多一点时间和耐性去消化。
这一年我做了什么呢。细细想来并不是一事无成的,甚至太多我自以为陈芝麻烂谷子的成绩,也不过是今年新的尝试。
从二月的第一次hackathon,懵懵懂懂在TartanHacks和HackPrinceton连拿了两个top10的奖,又懵懵懂懂到现在虽说PennApps颗粒无收,到底也是随便想申哪一个hackathon不用为参赛资格犯愁的了。遇见很多很多发着光的人,他们让我觉得自己所学于这个世界而言充满意义,让我真真实实地感到自己的存在。
第一次当助教,站在讲台上的时候仿佛拥有一整个世界。这不是夸张。想到lab里的孩子们,幸福得总是再烦心的事都不见。从暑假给教授打工到现在断断续续也拿了好几万人民币的薪水,倒不是张扬炫耀——异国他乡,高额学费;只有花着自己的钱的时候,无比踏实。
开始试着找实习,面试大大小小不下20场。虽然至今还没能拿到实打实的offer,相比于上一年的倦怠和自我放弃,积累着经验,慢慢也好起来很多。
完完全全打破过去的自己。否定再多成绩也好荣誉也好的泡沫虚影,终于承认自己太多不足,大概也来不及一一改进完,剩下的部分,就交给2017吧。那时候,该让我用一个完完整整的20岁的灵魂和勇气面对这个很大很大的世界了。
也有很多很多不顺利,很多很多烦心事。因为第一学期吃着高中竞赛老本的缘故膨胀的自信,课业不十分顺利,摔了很多跟头;实习屡屡被拒,依然在寻找;室友矛盾,鸡毛蒜皮的争执;难以自拔的自我怀疑,对过去这十多年来所有成绩的怀疑推敲,逼问和审视自己一直以来究竟是否真的足够努力。
更多是困惑。
我的双专业和辅修究竟该如何选择?我该如何准备我的未来?我所爱的究竟是什么?愿意为之奋斗一生的又是什么?
我是谁?过去的我究竟是否有我自以为的优秀?我的勇气又是否足以面对这么多接踵而至的困难挑战?我该如何才能成为一个更好的自己?
我究竟该与什么样的人成为朋友?那些我所珍视的东西是否与我所要适应的东西冲突?我面对这些全新的事物是否足够开放?我有没有用我百分之百的努力去尝试这一切?
这些问题我反反复复问过自己不下上百遍,在匹兹堡空无一人的大街上,在黑漆漆的卧室天花板面前,在喧嚷的人来人往的大楼里。有一些我找到了答案,有一些还没有。所幸在2016年的尾巴上找到了一点头绪,剩余的也就交给2017和未来去慢慢解答,倒也不着急求一个切切实实的答案。
破天荒地疯狂喜欢一些过往不会喜欢的艺人,花钱买专打榜,很多很多难以启齿的迷妹行为。真的很幸运,在已经自觉接近抑郁的关口被这些美好的事物拯救。后来卸下一整年的负担回到家里之后,再看看自己,有点明白,“兴儿和茶蛋是我的吗啡。”
这些或困难或灿烂的日子里,所幸还不是完完全全孤身一人。很多所珍视的关系依旧如初,老朋友们也不好意思一一点名,大约你们看到的时候能够会心一笑;去北京聚会的时候见面嬉笑打闹一如几年前;以及在白天或是深夜被我打扰仍然不厌其烦的某几个你们,真的真的很谢谢你们,在我最脆弱的时刻,愿意收留茫然失措的我。
2017,是该放开手去尝试去努力去寻找的一年。愿每一天每一件事都能踏踏实实地做到最好,愿每一件新鲜事物都能无所畏惧地尝试。愿每一分每一秒都认真努力,问心无愧。愿用开放乐观的眼光去看待一切,小小的成就也好,挫折困难也罢。愿能够热烈地去爱,哪怕只有万分之一的希望。最好再瘦一点。
祝你们的2017都特别幸福。
愿在2017这一年拼尽全力。
零 很长很长的观后感与题外话
周六下午四点场的《北京遇上西雅图2》,匹兹堡电影院偌大的放映厅里零星的六七个中国人,多半成双成对。明明是普通得不行的电影,散场的时候,擦了擦流泪流得有些懵然的眼睛,坐在座位上直到全片的最后,久久不能平复。
学期末的匹兹堡比平日里更加几近荒芜。毕业生们提着行李穿着学位服和家人三两在校门口留念,其余的学生大都早已陆陆续续地或跨过美国的整片大陆或是一整个太平洋回到阔别已久的家。平日里最热闹的Gates大楼,也没有人来人往。
朋友圈里,张三张罗着和老朋友们一波接一波的聚会,李四的状态地点写着国内某个熟悉的地名,王五不说话默默地发出九张精挑细选色彩缤纷的食物照片。
而我们在一个临时暂住终于稍有些温馨的家,挑选着冷冻柜里未曾谋面的蔬菜,或是中国超市里仅有的一种海鲜干贝。
晚上和爸妈外公外婆视频聊天的时候,一向健谈到啰嗦的外婆有些局促地重复了一遍又一遍,你们说,我听着。于是一家人对着屏幕呆呆地傻笑,竟沉默了几秒钟谁也说不出一句话。我忽地有些心疼。我那风风火火的外婆,何时在我的面前,也过得如此小心翼翼了。
电影院大屏幕上的林家爷爷奶奶,一脸淡然又无奈地对吴秀波唠叨,孙儿有出息,在NASA工作,只是他们中文的书信要翻成英文,不然孙儿看不懂。
他们说,在国内好歹是个知书达理的人,到了美国倒好像变得像个文盲似的;他们又说,八十多岁了还得开车是因为,在美国要是没有车,连出门买个菜都买不成;他们还说,现在什么都欺负我们这些老年人。
于是听老爷爷念出“去国怀乡”这翻来覆去背了百十遍的字眼的时候,一行泪还是止不住地从眼角滚落下来。我隐约听见放映厅里前后左右,轻微的哽咽啜泣。
于是他们这样调侃孔夫子的言论,“从前是父母在,不远游;现在是儿女在,父母不远游”,笑得无比自然,亦无比心酸。
于是片尾林家老奶奶终于将老爷爷的骨灰带回湖北秭归时说,“亲人在哪里,家就在哪里”,我想起那时偶然和妈妈谈论起将来是否回国是否定居时,她也曾与我说过一模一样的一句。
于是银幕上的吴秀波十四岁时只身来到美国,独自一人拎着数个半人多高的行李箱与身后的父母告别,那一步三回头的模样与身后翘首恋恋不舍的神情,与八月和一月时上海浦东的我们,如出一辙。
我曾是那样自以为坚强,那样向往自由的孩子。过去的十八年来,那些想家的说法大都是与妈妈通话时一句玩笑般的敷衍。直到春节我张灯结彩呼朋唤友把自己人生第一个海外的春节过得热热闹闹的时候,打开视频聊天听见父母终于得见而激动到近乎沙哑的声音时,我才明白,我的自私,甚至冷漠。
我不在乎有人说,这是一部与上一部毫无关联、毫无故事情节与新意的烂片。即便故事的架构有数不清的逻辑硬伤,即便撇去那所谓致敬查令十字路八十四号里海莲的情怀,它依然如此细微且真实到,让每一个身在异乡的旅人生出起码一丝切肤的疼痛或感动。
我也几乎不敢承认它那样直接而不留情面地揭开了我内心深处埋藏的恐惧。我想起我日渐年迈的外公外婆与这一年到头回不了=家的日子,甚至不敢去想我最怕最怕的事,我最怕的那句,子欲养,亲不在;我也知道爸妈不愿给我任何经济上的压力,即便我惹尽了麻烦,还是倾其所有地供我在这里追寻我未来的任何一种可能。
对不起,我真的很爱很爱你们。
一
这些个略显混乱慌张的日子里,遇见一些人,路过一些人,忘记一些人。身边许多的人们每天卿卿我我甜甜蜜蜜地表演着连自己都无法信服的爱情故事,演的人自在陶醉,看的人不假思索,直到某一日繁华落尽演出散场,再多出一则彼此辜负的茶余饭后的闲话。
四月份的时候接到教授录取我暑期实习的消息,激动、遗憾,五味陈杂。我甚至从未预料到,在这个离开家乡的第一个夏天,就无可避免地陷入了各自天涯杳无音讯的戏码。我依然清晰地记得在2016年的伊始写下这样的愿望,好好组织一次3+3的聚会,却未料到自己会是最早缺席的其中一个。
老朋友们,虽然我或许无法回家无法与你们甚至只是见上一面,然而我对你们的感情,并不比上一个六月我们挥手告别的时候,少一分一毫。
二
我时常听人抱怨,“今天心情不好,因为上次的作业TA给我扣了两分不该扣的分”,抑或,“I did so bad in this exam and I’m dying with 251.” 大家在朋友圈里津津乐道那些所谓全美作业量最大最辛苦的大学排名,炫耀着卡梅无一例外地上榜,像是某种光宗耀祖值得称道的荣誉。
我知道但凡对人生有所助益的大学时代,都不该是轻轻松松含混过去的。然而在这个封闭的城市封闭的象牙塔里,于太多太多的人而言,作业考试代码成为生活的主旋律,与世隔绝,不问世事,那么就算是最顶尖的计算机学科都要被闭门造车的设限所束缚了手脚,最后如穷酸书生一般抱紧“编程之美”的信仰,写着自得其乐不知所云的代码,成为脚踏实地的搬砖工终其一生。
三
在这实用主义盛行,美其名曰面向就业,说得不好听些急功近利的所谓技校,有太多金钱相关的东西成为衡量的标杆。招聘会上,一片西装领带套裙高跟鞋的人山人海,人们迫不及待地把简历殷勤地塞给面试的雇主,用无比逼真的真诚眼神重复着倒背如流的自我推销的台词。
找到好的实习,找到好的工作,即为成功。有那么多那么多的聪明的脑袋,挤破了头热切的盼望着成为谷歌或是微软中一颗默默无闻的小小螺丝钉。
我时常想不通这些活法的意义。平庸地来,平庸地去。我多么想在这样一个聪明脑袋云集的地方,重温当年“即使不能得到诺贝尔奖,也甘愿做一枚垫脚石”那震撼的透彻心扉的感动。
但我们无法将希望寄托于渺茫不可依的“但愿”。于是唯一的解法,只有自救。
四
这一个学期,走过很多路,遇见过很多人,经历过很多事。被六门大课虐得每日只得与凌晨四五点微白的天色为伴,末了成绩也未尽如人意;在Hackathon上通宵未眠最后还是三张椅子拼了一张窄窄的床盖着几件借来的免费文化衫将就地睡了稍许;申请实习被拒,面试助教,费尽周折找到了跟着教授打工的机会;认识了很多朋友,去年秋天时空空如也的简历添了又添,改了又改。
中二病的少年往往对于闯荡的概念有着近乎深入灵魂的执念。我欢喜于自己可以那样热烈地向往并用力地拥抱这样冒险一般的生活,那即使譬如在费城错过大巴一路打车回匹兹堡,或是在陌生的火车站辗转换车一路颠簸来到普林斯顿的曲折经历,也成为了这激动人心的冒险中惊艳而难忘的片段。
假若我们的一生都在追逐冒险与远方,那一定是件很酷的事情。那就至少可以拍着胸脯毫不谦虚地说,我这微不足道的生命,没有白白来到这个世上,没有白活。
五
终于搬进了新家,即便是这个差不多不回国的暑假寄人篱下四人挤着一卧一厅的暂住的小家。从超市买回了一整捆的鲜花折腾了一晚上,又挤挤攘攘地将速冻的食物和生鲜的食材塞进冰箱,锅碗瓢盆置办齐全,总算有了家的意味。
几瓶偷买的酒,几只高脚的马天尼杯,一片杯沿刀工极不熟练的苹果片。
一锅炖熟的鸡腿,一碗番茄汤面,几只看剧时心血来潮煎了解馋的溏心荷包蛋。
倒进一滴柠檬味的洗洁精擦着满池子的油锅碗筷哼着熟悉的调调,是谁来自山川湖海,却囿于昼夜厨房与爱。一个学期与代码作业考试为战的日子过后,这家长里短的幸福,深刻到难以言说。原来我们对如是的幸福,爱得不比真实紧张热烈的未来要少。
柴米油盐,人间烟火。
二零一六年五月十五日下午六时四十一分于匹兹堡
这四个月的尾声,应当有个交代。只是想说的话太多,不知不觉写了五千多字,却又文不对题。
一
每天夜晚十一二点从Gates,也就是计算机院的大楼走出来的时候,可以在流光溢彩的桥上看见头顶满天灿烂的星光。
自申请季那时起就不喜欢卡梅的建筑,那些土灰色的方盒子,像极了二三十年的老房子,新也不足以新得光彩夺目,旧也旧不出一两分民国的情味来,僵硬地杵在冬日光秃秃的山丘上。一眼望过去,写满尴尬。
Gates充满现代感的设计和大大的落地玻璃窗,在这尴尬的校园里显得格格不入。我却喜欢,大抵是因为某一日转头望向落地窗时那种被夜色拥入怀里淹没其中的透彻快感。极孤独,又极畅快。那时候几乎爱上这里。
某一日做题做得开心不愿回寝室,索性在楼里看书直到困时,在Gates六楼落地窗前的摇椅上睡了一整夜。那时觉得无比心安,彻夜明灯倒是比恋人更加温柔的陪伴。
这个校园,又小,又丑。所幸校园的中心是一片偌大的草坪,更所幸这些土灰色的方盒子大都只有六层楼那么高,于是夜幕低垂的时候,草坪的面积大约等同于一整个世界。有时我把整个脸朝向漆黑色的天空和满天的星辰,一瞬间心生以天为盖地为庐的宽广。
我常常倚着一棵树在这漫天的星辰底下在草坪之上坐很久,很久。想一些不该想的人与事,做一些荒唐的梦。有的时候耳机里放着的歌在唱,“时光一逝永不回,往事只能回味”,又或是在唱,“我知道那些夏天,就像你一样回不来,我也不会再对谁满怀期待”,便在这一天一地的星辰的众目睽睽之下鼻子一酸,泪如雨下,也并不太孤独。
二
作业多,考试难。北美留学生们对于CMU的一贯评价。
第一学期总还算一帆风顺,并没有太多的波折。也习惯了这里作业和考试的节奏,觉得无何不妥。也或许是因为大一上学期的缘故,大多数课程还在基础阶段。我向来不喜欢在自己牢骚矫情的文字中包含关于学习的内容,所以也懒得多说。
下学期应该会选六门课,而后双学位/辅修,实习,本科科研,接踵而至。
最大的愿望是下学期可以过得更有规划一些。带去的GRE词汇红宝书只翻开了第一个词汇列表,带去的中文书除了飞机上看完的《局外人》其他早已在书架上落了薄薄的一层灰。相比于安于课业社团,我更喜欢过去六年里常态式的奔波忙碌,不那么安逸的日子。那种生活让人觉得幸福。
那么不得不说的废话,就到此为止吧。向来厌恶自我标榜,奋斗与目标云云,本就是一件冷暖自知的事情。
三
前一阵子南外的哥大学妹一篇中英混杂的录取感言火遍了整个微博知乎朋友圈。
吐槽时没有分毫嫉妒或是看热闹的心态,只是愤怒,鄙夷,心痛,掺杂在一起,极其微妙。
不是不该说英文。也曾在社团的party上偷蹭了学长们家里的桃子利口酒,一分轻微的醉意之间与同伴高谈阔论,被惊讶地称赞天哪你是从中国来的吗一点口音都没有,颇感得意。
我原本可以选择让学校随机分配一个外国室友,于是逼迫自己一天二十四小时在英文的环境中浸染,然后突飞猛进——这是素来被人们称赞为上进的北美留学生们的作为。然而我还是执拗地选了一个中国的室友,在一天的课业与活动结束之后强迫自己用尽量准确的中文表达我所要表达的一切。
所以在某些英文交谈时骤然卡壳不知道如何表达的尴尬瞬间,难免是委屈的。我自知我放弃了练习英文的某些大好机会。虽然并非没有提高。只是英文进步得再慢再艰难,总会日积月累地长进,但从小念着床前明月光长大的我们,假若某一天弄丢了自己血脉里的曾经熟谙的东西,只怕,再也捡不回来了。
人不能忘本。
我偶尔透过窗户看见天边绯红色的云霞晕染出的一天一地,忽然觉得如果某一日看见那些美得令人沉醉的事物,再也记不起“落霞与孤鹜齐飞,秋水共长天一色”的句子,却只能憋出一句“Holy shit this is beautiful!”来,该是怎样的一种悲哀。
因而我有时觉得这个陌生国度的人可怜。他们无法领会某种对这个世界绝美的注解。
四
某一日清晨走过光秃秃的树枝时,突然想起贾铁在高一地理课上的那句“北方有踏青的习俗,是因为他们已经一个冬天都没有看到绿色了。”我们嗤笑,说南师附中的学生一定不需要,只需日日看着校服便可。我于是沉浸在回忆中,在这光秃秃的枝干和路人匪夷所思的目光面前兀自笑成了一个疯子。
笑罢方才觉得有点凄凉,忽然多么希望如同歌里所唱,“前一天早上,我睁开眼已是江南”,一闭了眼便可以回到那个钟灵毓秀的故乡。我打心底里厌恶那些充斥这土灰色的粗糙建筑,有如地摊货般五颜六色的简易霓虹灯,而想念我那温婉的南京,想念那时郁郁寡欢时穿过楼下的南图绕过总统府,在长江路出奇安详的大街上闲庭信步,抑或一怒之下走到夫子庙钻进乌衣巷里散心解闷的日子。相比之下这个被称为宜居的美国城市显得粗鄙而不修边幅,说黯然失色大概都有些勉强。
南京在我心里原本是个再平凡不过的二线城市,然而如今我笃定,这世上,再没有比我的家乡更令人钟情的地方了。这世上没有什么比它更好。这是真心话。
我很少用华丽的辞藻堆砌给我的家乡。但是这一次,情之所至,也顾不得那么多。
五
我也说不上这些日子我是否想家。
大概发烧的那天想过,想起若是在家里,妈妈应该会请一天假在家里为我冲藕粉熬鸡汤,喂我吃药;而我可以心安理得地在床上躺一整天,在傍晚时分宣称自己胃口略微好些于是再以此骗取些平日里耍赖而不得的美味,顺便厚着脸皮依仗着老徐以及诸位老师的仁慈翘掉一天的作业。
权衡利弊,最终咬了咬牙,爬下床一个人吃了药去上课,考试。
我也说不上来我是否正如所有把留学吹得神乎其神的文章里所说,变得独立坚强,百毒不侵。只是那天和妈妈说起回国时的计划,方才意识到从上海回南京那段的高铁票和地铁线路全然不用我操心,竟然为此幸福了大半天。
我时常在校园里、在匹兹堡的大街上,想起自己曾经四海为家豪情满怀的许诺。出国时我偏把《生活在别处》这一本书带在身旁,并私以为书名所说的本义如果按照“La vie est ailluer”更不引得歧义的翻译,大概是要说,真正的生活在远方。就好像我在出发时写,“说他的家在未知的地平线开启之际”。
只是偶尔在冷风中瑟瑟发抖一个人裹紧棉袄的时候,望着满街行色匆匆互不相干的人,觉得有个家亦好。
不记得是哪天在计算机课上和身边另一个中国妹子说起为何学计算机数学诸如此类的女生格外少,学到顶尖的又格外少,又是否是因为确然存在智商差异。
我说我举一个不太恰当的例子,如果男朋友和写代码/做科研只能任选其一,你一定会选男朋友,对不对?
妹子认真地点了点头。若有所思。
当然,只是因人而异,就事论事,倒不是说全世界的女孩子都爱爱情胜过代码和科研。
走在陌生城市的陌生校园里,我不止一次地告诉自己,这未来四年近两百万的花销不是为了挥霍光阴与钱财来粗浅地看一看世界然后转身囿于昼夜厨房与爱,不是为了平淡地走到二十五三十的关卡然后平淡地嫁人生子,平淡地过一辈子。
我何尝不爱鸿鹄之志,又何尝不想有燕雀的幸福。
只是这二者无法兼得,或者说太难。更重要的是源于这笔巨额的亏欠,就算仅出于愧疚,我的许多抉择也或许已经由不得我放肆胡来。
六
临行前爸妈给了不少现金,都存进了我自己在美国的借记卡,对我说说需要用时别省着。
爸爸原是说,如果有大的开销就刷他的信用卡,免得我在这里手头拮据。然而数次站在收银台面前看着付款的数额,将钱包里的两张卡攥在手里犹豫踌躇很久,总是心力忽地一疼,叹一口气,最终还是刷了自己在这里的生活费,想着省一顿饭钱其实也无妨。
与我一起长大的你们,一定了解,我的家庭也只是在国内的这万千个仅仅衣食无忧却并不算富裕的普通家庭中的一个。
刷卡的时候,看着银子流水一样地花出去,下意识地乘上六点四的汇率,觉得心疼父母;网上学生账户上的三万多美金的学费账单,触目惊心。来这里之后方才对钱有了逐渐清晰的概念,才从小到大第一次感觉心疼,钱捏在手里舍不得花,只因觉得父母在国内,甚是不容易。
我的父母对我不像那些非富即贵的人家一样,大手笔地信用卡随便刷管够,甚至我在美国这四个月来的生活,有时不得不精打细算,如履薄冰;虽然十八年来他们从未让我过过一天穷日子之后,我不得不在这个陌生的地方适应人们往往称之为”穷留学生“的身份。
但是。
我知道我拥有这世界上最好的父母,他们爱我,并且愿意倾其所有让我去看一看外面的世界。
七
这些日子里发生了很多事。
巴黎恐袭的那天晚上,朋友圈里除了祈福和报平安以外,就是流传着关于ISIS的攻击目标的传言,“Rome, London, and Washington DC will be next.” 紧接着是新闻说,ISIS在美国十五个州有潜伏的人手。正当大家强颜欢笑地安慰自己,匹兹堡这样没有存在感的小城市大约不会有人在意,匹兹堡市长又突然宣布继续接受叙利亚难民并愿意接受从宾州其他城市转移来的原有难民;德州警方发现疑似ISIS恐怖组织携枪进入某栋大楼被当场拦下。如此种种。
整个匹兹堡,整个美东,人心惶惶。大家讨论着要不要为保安全取消感恩节去纽约玩的计划,或者是退掉好不容易抢来的饥饿游戏首映票,以至于不把自己困在一个小小的电影放映厅里任凭宰割。
那天晚上我们揪着同宿舍美高的妹子,详详细细地讲了一遍在美国高中里所教的如何应对枪击案的每一个细节。
对着电脑屏幕,久久不能眠。
这是我人生第一次这样近距离地感受死亡,以及关于这个充斥着枪声的国家的一切。我本以为那是一种“把脑袋拎在手上走江湖”的豪气,切身体会时才知,那原是一种“把脑袋拎在手上惶惶终日”的胆战心惊。因为清晰地知道,即便是在匹兹堡这样治安相对好的城市,你无法知晓下一刻是否枪声就在身边响起。
我们笑说,这时候才发觉出天朝的好处来。在国内,应该是不用担心宗教极端主义跨过一整个中亚跑到这个和他们不太相干的态度总不太激进的地方来挑事端。
巴黎恐袭后那些真实而触手可及的恐惧,应该是我们认识世界的某一个起点。
原来,这个世界,并不和平,并不安宁。
那些日子里我想过死亡。我想起数年前那个关于世界末日的玩笑。甚至有一瞬间的念头,假若当年真的拥有足够的勇气实现,排除人力不可为的因素之后应该也就可以对于死亡完全坦然无惧。
明日,管他的虚无缥缈的明日!今时今日遂了自己的心愿,把每一分每一秒都过得无愧于心。始觉这日子的过法,应该有向前看十年的远见,亦要有明日即是生命最后一日的风度。
那一刻忽然对自己彷徨纠结过的一切,有了一个明晰的答案。
八
这十八年里,爱过一个人,喜欢过一些人,辜负过不止一个人,做过不止一件错事。
我总是自负地以为可以掌控自己全部的情感与思绪;总是自负地以为在这茫茫人海中找到一个我爱的亦爱我的人,何其容易。
在某一次和对门妹子深夜的聊天时,我笑说,我是被年幼时的经历惯坏了,觉得一切皆是理所应当。然而这偌大的世界上,想要一段称心如意的爱情,哪有这等容易。又另一日和妹子说起过往的故事时,讲着讲着竟无意间发现三四年前的某一次亲吻是左脸颊还是右脸颊的记忆依然清晰,忽地心里一疼。
假若回到六年前的此刻,那年我十二岁,拥有大把大把的光阴可以挥霍,我可以肆无忌惮地喜欢一个人,我可以用六年的时光肆意妄为;一年前的我碍于未来种种不确定的担忧与恐惧,选择了退缩,继而就是我做梦也未曾想到过的错过;如今的我十八了,再有个六年八年,也该是身边的同伴陆陆续续开始嫁人的年龄了。
我每日在Gates大楼里看到来来往往的留学生们,那些长着三十岁面孔的中国来的PhD们,心惊胆战,觉得变老也是咫尺的事。
时光何其飞快,何其残忍。
我多么想在我长大老去或许某一天不得不屈服于现实之前,再赌一次,赌一次年少轻狂时候的童话,会不会真的实现。
不记得是什么时候在知乎上看到关于“读书读着忘着又有何意义”的提问下,有个回答说,就如你幼年时候吃过的食物,这些食物最终长成了你的骨骼血肉,成为你生命的一部分。这很有道理,而且用于很多其他事物亦然。
我无法预知未来会怎样。可我该是有多么庆幸,在我年少曾如同白纸一般的时光里,拥有过了一些刻骨铭心的完美无瑕的东西。这些过去,假若让我用一生来回忆,都不算太长。
“如果我不曾见过太阳,我本可以忍受黑暗。”
九
十二月是下一届出国生早申请陆陆续续放结果的月份。这几日朋友圈和Facebook里充斥着各种喜讯与祝贺,一片喜气洋洋。
我也曾有一闪念间想过,假若那时没有因为分手而下定决心出国,如今我将身在何处。或许不出意外地考上清华或北大一个还行的专业,却也断断进不了诸如清华计科和北大数院物院之类的大神们的去处,或许学着一个我自己也并不十分清楚的专业,或许还可以和旧时的朋友们常常出来相聚,或许某些心之所系还有万分之一的可能。或许。
平心而论,向来心高气傲的我,在一个并不占优势的竞争环境中与隔壁早早准备出国的学生们相争,最终被前十的学校全拒,靠着那四年里半吊子的信息学竞赛功夫和舌灿莲花捞得了一个CMU计算机院的录取,选择了这所综排不到北美前二十的学校,总还是心有不甘的。却又常常试图说服自己,假若是放在国内,定不会有机会进到这样好的CS院,在这样好的平台上往更大的世界去努力。
人们都说高考是独木桥,可是出国申请岂不更甚。这偌大的中国,一年能进哈佛耶鲁这等神校的人,区区十来个而已。
初二那年的我觉得技压群雄是轻而易举的事情;初三那年的我觉得胆敢有人屡次比我考试名次高那简直就是造反。若真的留在国内一帆风顺地去了我所想去的地方,大概还是会在大四结束某个申请的失意或得意的瞬间,明白世界之大,我之渺小。
而更早明白这个道理,无何不好。
更早一些明白,事有人力之不可为也。
可是这并不妨碍,我仍然愿意尽力一试,就像我那时还是在文书老师保守稳妥考虑的阻拦之下执拗地申请了我所想申请的所有学校;就像我即便再难也至少坚持一边写文书一边拼了命地刷题把SAT刷到两千三;就像我一月所有人提交完申请之后放松的日子里,还是拼了命地把托福刷到一百一十九。
我还是得把我能做的做到最好。明白“事有人力之不可为也”的意义,不在于听天命,而在于尽人事。
我也但愿在这未来的数年时间,在被现实强x了无数次之后,依然可以我行我素地热爱我所热爱的一切,依然怀有一颗赤子之心。
十
我向来是个读书太少却情感太过丰富的人。因而止不住写一些文不对题的东西来污染视听。
此刻在旧金山机场的大厅里等待转机,再有十多个小时就会回到我四个月都未回的家。
耳机里在放好妹妹的歌,平日里总是拿来写作业的时候凝神静气,只因为曲调歌词简单,粗略含糊地放过去不细听来不会触动什么情肠。此时此刻唱得却莫名地惹人眼泪,“西窗的雨,归来的你,醉在故乡斜月里”。
往上海的航班快要登机了。说不上是狂喜,说不上是紧张,大约是某种极其微妙的情绪。
近乡情更怯,不敢问来人。
二零一五年十二月十八日十一点四十四分于旧金山机场