Skip to main content

Restarting Life Abroad at 30: A Quest for Choice and Freedom

· 3 min read

Hangout in a dutch town

Time has flown by, and it's already been nine months since I arrived in the Netherlands for work at the end of April 2023. I'm still eagerly awaiting my appointment with the GP and trying to decipher the Dutch signs on the streets. But finally, I can pause to reflect on the early part of 2024.

From the moment I decided to try working overseas, I began preparing in every aspect. Back then, ChatGPT wasn't as widely used, so I used Google Translate to complete my English resume. With courage, I sent applications to various companies and stumbled through interviews in broken English. Thankfully, my previous job supported WFH, allowing me to continue practicing, applying for jobs, preparing for interviews, and discussing life with my Cambly tutor in my free time. I also followed Xiaohongshu bloggers like Huanzhuzhu Run, even changing my name to something similar, drawing inspiration from their daily updates. It felt as though I didn't go through such a lengthy and arduous preparation process. Despite solving 100 LeetCode problems and practicing spoken English for over two months, after receiving almost countless rejection letters, I was fortunate, perhaps, to receive a few job offers from Japan and the Netherlands. After some thought, I chose the Netherlands.

So, at the end of April, I quickly resigned, packed up eight years of belongings, sold nearly two hundred books, and bid farewell to my parents and old friends before boarding the direct flight from Beijing to Amsterdam. I was so exhausted that I couldn't even think about what was to come next. Upon landing, I was stunned for a moment by the vast grasslands and blue skies. After resting for four or five days, I started my new job. Just yesterday, it seemed I was a busy worker among the high-rises and traffic of Beijing; the next moment, I found myself in a picturesque, sparsely populated Dutch town. Having never studied abroad, this was my first time fully immersing myself in an environment where English, and even a mix of other languages, was spoken. The freshness, cultural shock, jet lag, and completely incomprehensible Dutch overwhelmed me. Smiling and saying "Oh, the taste is not bad" to colleagues while eating cold sandwiches, and feeling the curious glances on the street, I remember my first month being a blur of fragments. Suddenly becoming the "foreigner" in others' eyes, tearing up over hot food – that's when I truly realized the importance of my iron-clad Chinese stomach and language skills for integration and belonging.

Looking back, my decision was partly driven by a longing for the outside world and partly by a fear of certain oppressive aspects of life. During the pandemic, I discussed goals and dreams with my language tutor. I told her that I always wanted the right to "choose at any time," which is something I've been pursuing all along.

Welcome

· 2 min read

Hello, I started writing again.

This time, I used Docusaurus, and it worked pretty good.

This is my personal website; I hope I can continue to ponder and summarize since I believe it is a good habit.

Goal

So I want to accomplish the following:

  • organize my knowledge and keep track of what I've lately learned;
  • experiment with new productivity strategies, stay motivated and avoid burnout;
  • improve my English(as a non-native English speaker);
  • become more self-disciplined so that I have more time for the activities listed above.

Uber 高性能 Web App 优化实践

· 11 min read

原文 - Building m.uber: ENGINEERING A HIGH-PERFORMANCE WEB APP FOR THE GLOBAL MARKET

Performance matters on mobile.

又是一篇关于性能优化的实践。

m.uber 团队对 m.uber - 即他们的超级轻量 web app 做了一些性能优化的工作。

范围全面,从代码到打包到部署到缓存,都有涉及。

TL;DR

Performance Tools

从十个 React 迷你设计模式谈开去

· 19 min read

很早之前就一直在读的一篇文章,10 个React Mini 设计模式,一边做 Creator 项目,也一边终于把它精读完。

结合自己的开发时候的项目经验,做了点笔记。

Creator 项目是一个多端(Web + Mobile)React SPA,且有一些表单填写和复杂的交互组件。

自己单独封装了一个很简单的基于 Node EventEmitterStore,开发过程中收获很大,这些细节之后可以细说。 产品那边后来又加了「置顶」功能,类似双向数据通信的 EventEmitter 逻辑有点太乱了,所以还是狠心花时间升级成了 Redux + Immutable.js + Normalizr 技术栈,果然省心很多。

原文作者说你是不是天天写 React, 写着写着发现自己可能经常用来实现需求的,也总是那么几个方法,往大了讲其实就是开发中的 设计模式。在这里我们称为 Mini Patterns

Bug makers or bug fixers

· 10 min read

世界上只有两种人: Bug makers or bug fixers.

​ —— 郫县豆瓣

可能是周一不宜上线吧。

下午在做某个需求的时候,突然收到了一个之前修过但却并没有修好的小 Bug。

接着又收到了一个刚上线的新需求报过来的线上 Bug 反馈,然后紧接着同一个需求的两个、三个 Bug… 一大片,炸开了。

最后, PM 说,”这次 Bug 太多了,都先回滚吧。”

只是突然觉得,已经工作了一年多近两年的我,写代码的时候依然不走心。

其实作为程序员,被人指出你代码的 bug 是难受的,除了尴尬,有时候甚至真的会感到羞耻,会有点看不起自己也觉得会被人看不起。

我只希望自己能够在每次写代码的时候永远记住这种感觉。

之前也是遇到过各种奇奇怪怪的线上 Bug,其实大部分都是自己写的时候不用心、测试时候不上心导致。

而最近,写的时候居然总有种匆匆忙忙急着完成任务的感觉,可结果却是既没有快速完成,也没有保证质量,既不好也不快,反而耽误了很多时间在 Debug 上。

十足的 Bug Maker.

其实仔细反思一下,我是知道原因的。

可能我们都有病

· 14 min read

焦虑、抑郁?

昨天在朋友圈偶然看到了一个关于「成电延时摄影」视频,突然很好奇地点进去看了下。伴随背景音乐响起,晨雾中的主楼,晨光中的银杏大道,蓝天下的宿舍楼,黄昏下的品学楼,夜幕降临的图书馆,灯光辉煌的体育馆,还有一直没机会上过课的新教学楼,碧波荡漾的东湖西湖…
以成都的天气,作者肯定是花了很多心血的,虽然不排除后期,但是一共七千五百张照片,一帧帧下来,每一幅都是曝光完美,好像从来没有见过那么美的成电。 仔细想想,毕业离开学校近两年,从来没有很认真地怀念过自己的大学。
每次跟人提起,就只能用一个词来形容,黑暗。
那段时间,我经历了入学的迷茫、苦闷,无疾而终的异地感情和孤立,梦想与现实差距带来的焦虑、抑郁,人际关系紧张的被忽视、被抛弃、被不理解,以及进入大学就再没有好过的睡眠。特别严重的一段时间,白天如行尸走肉,不想读书,也无法集中注意力,晚上必须服用安眠药才能入睡,走在路上还有着被害妄想症心理。 同时我也很疑惑,为什么身边的那些人就可以那么无忧无虑,那么轻易得到自己想要的东西。

Fun with Codemod & AST

· 19 min read

TL;DR

  • Facebook 为了解决「大型代码库」迁移,基于 AST 造了个工具 Codemod
  • 基于 Codemod 又构建了 JavaScript 代码迁移专用的工具 jscodeshiftReact-codemod
  • 理解这些工具背后的原理有助于从一个单纯的「API 使用者」变成一个工程师般的「创造者」
  • Demo Time!Let's write a codemod
  • 一些有价值的参考

豆瓣、北京、工作,及终于与自己握手言和的 2016

· 36 min read

在隆冬,我终于知道,我身上有一个不可战胜的夏天。 — 加缪

豆瓣

在 2015 年末,我在笔记本上这样写着:

有时候在想,能加入豆瓣也真的算是一种幸运。豆瓣这家公司,之前或现在,算是由复旦和华科这两所我很喜欢的学校的人组成,所以有些时候,对于这里的各种相似人生观、世界观及价值观会特别认同。就算偶尔也会对自己现在的能力与效率感到一点焦虑,不过不管怎么说,只要不退步,总是会前进。

15 年夏天,我加入了豆瓣。
对,就是这个文艺得出了名的互联网公司。
还记得 14 年底我正上大四,尴尬的时间,面临找工作选公司的窘境。
而当时的我,喜欢拍照听歌,弹弹吉他,看些好玩的杂书,见到迷人的设计会兴奋不已,所以在那所死板沉寂绩点为王的工科学校,自认为算是个文艺青年。但是我也一直喜欢硬件,喜欢消费电子,喜欢拆装,享受通过自己动手创造出东西的过程,喜欢 Web,也能写点代码,人生某个阶段曾把成为一名 Geek 作为理想之一。于是不想浪费自己的底子,想着还是可以干点有技术含量的活,那么就去文艺气质的公司做点技术活吧,在不毁自己三观的同时还能养活自己,我是这么想的。 幸运的是,在我做决定的四个月后,我收到了来自豆瓣的 Offer。

跟随前进者的步伐

· 5 min read

每个人,在人生不同阶段,或多或少是需要一些鸡血的。

自从工作以来,也确实觉得自己懒癌,且很多事情缺乏自控力和自律。

只记得乔老爷子说过,

自由从何而来?从自信来,而自信则是从自律来!先学会克制自己,用严格的日程表控制生活,才能在这种自律中不断磨练出自信。自信是对事情的控制能力,如果你连最基本的时间都做控制不了,还谈什么自信?

是不是真的出自乔老爷子之口还没有经过求证,但当时看到这句话的时候,确实是突然会心一击。

一直想做起来的个人博客,无论是实实在在的文章内容,到表面的 UI / 主题 / 页面,再到更底层的网络优化 / VPS 配置 / 自动运维,这块真是在一拖再拖。

其实自己一直有在关注一些有意思的同行,这里先贴几个自己缺乏灵感的时候会去光临的个人网站清单。

一个人没有音乐是可以生存,但他可能生活得不太好

· 38 min read

这是一篇关于指尖下的音乐 Music at Your Fingertips书评


没想到,一本谈论「钢琴演奏」的书,居然充满了如此多的哲理。上升到的高度,就连并不是钢琴演奏者(比如我),都受益良多。

大师之所以成为大师,除了有过人的天赋外,一定与他们那些富有方法和技巧的刻意练习分不开关系。

这是在朝阳图书馆偶然发现的一本小书,内侧封面介绍说,作者是世界著名钢琴家 Ruth Slenczynska ,四岁就以音乐神童的身份演出,从艺七十多年以来已在世界各地举办了 3000 场以上的独奏会。Slenczynska 同时也是一位备受欢迎的音乐评审和音乐教育大师,一针见血地解决许多钢琴演奏上的问题,所以这本书算是习琴者必备参考书之一。

借了很久,今天终于抽出半天时间一口气看完,做了一晚上的笔记。

当时也正好自己是在学吉他的劲头上,对于现场演奏这块比较苦恼,想着各种器乐的学习和演奏都是通的,同时作为一个音乐爱好者,一直想对钢琴有所了解,于是翻开随意读了几页,渐渐发现,正如这本书的代序所说,这本书真的不仅仅是讲「如何练琴」这么简单,Slenczynska 对音乐的认识和见解,已经把普通的悉谱、练琴、演奏过程,小至分解到一个个音符、一段段乐句,大至上升到了音乐的高度,甚至于演奏者的生活方式及人生态度,或者更宽泛地说,三观。

总的来说,本书给我的最大感触有三点。