From Hebei to Wuhan · 1000km blessing packet

琦琦,20岁生日快乐

虽然相隔千里,但在遥远的河北,我依然真诚用心地祝你生日快乐。

打开生日信
20
17岁 · 第一声祝福
18岁 · 提前半年挑礼物
19岁 · 高考后昆明
第4个青春

The timeline we quietly cached

这是我参与的第4个青春

17

第一次认真记住你的生日

那时还不算熟悉,只是从QQ空间知道了这一天,于是送出一声发自内心的祝福。

18

提前很久开始挑礼物

原来为很在乎的人准备礼物,繁琐也会变成郑重,甚至带着一点幸福的小心。

19

高考后那趟昆明

我们高考结束的那一次,我去了昆明,把相机和罐头送给你;那趟路,也被我记成青春里很亮的一格。

20

一个很重要的大生日

不能真的跨过千里去见你,至少让这个网页替我抵达,郑重参与你的20岁。

A sealed birthday letter

有些话,适合藏进一封信里

那些关于距离、生日、礼物、身份和想念的话,都被认真折好,放进这封给你的生日信。

Birthday Letter 2026

琦琦20岁啦!

虽然相隔千里但是在遥远的河北我依然真诚用心的祝你生日快乐!

这是你的第20岁也是我参与的你的第4个青春,想想你17岁的时候并不熟悉的我们,那时通过QQ空间得知你的生日,只有一声发自内心的祝福。坦白说在你出现之前我一直认为送礼物准备礼物是一件十分繁琐麻烦的事情(虽然现在也是),但是和你熟了之后未来迎接你的18岁甚至提前了半年多就开始为你挑选礼物,我第一次没觉得挑选礼物是件很烦的事情。我也是第一次知道有一个无比在乎的人是一种什么样的感觉,幸福、开心、小心......

这一次我知道自己并没有一个合理的身份来祝福你,不过没关系,你就当是一个仰慕你的陌生人对你的祝福吧。20岁在我们湖南称作“大生日”,意义非凡也尤其重要,所以不管怎么样我都想形式上的参与一下你的20岁。

要是可以的话我真想瞒着所有人就算逃课也一定会去武汉陪你过生日。总之生日快乐!

What should I wish for you?

琦琦:你说我该祝你什么呢?

想祝你平顺,可漫漫长路并非皆是坦途,崎岖险峰不在少数;想祝你快乐,但未来之路并非都是欢欣,失意低谷在所难免。

那就祝你有披荆斩棘的勇气吧!
01

祝你勇敢且坚强,乐观且豁达。

02

能经受住成长道路的磕磕碰碰。

03

也能坦然面对人生旅途中的曲曲折折。

04

祝你经历万万千,仍持初心,光彩依旧,兴趣盎然。

Computer science romance

希望计算机的浪漫能够感动到你

birthday_wish.js
const qiqi = {
  name: "琦琦",
  age: 20,
  location: "武汉",
  wishes: ["平安", "勇气", "幸福", "光彩依旧"]
};

const me = {
  location: "河北",
  sincerity: Infinity
};

function sendBirthdayPacket(from, to) {
  return {
    route: `${from.location} -> ${to.location}`,
    payload: "生日快乐",
    checksum: "真诚用心",
    timeout: "永不过期"
  };
}

sendBirthdayPacket(me, qiqi);
OUTPUT

等待发送生日祝福包...

河北 武汉

Final commit

以此网页献给在千里之外的琦琦

祝她生日快乐,祝她长久幸福,更愿她平平安安。

再看一遍星河