• 周末复盘 把事情做完+练习钢琴

    这周英国超级冷,温度已经降到零下了。早上出门时,车窗经常被冻上,需要化霜后才能开。虽然还没下雪,但绿植和房顶上都覆盖了一层白色的冰霜,也算是有一点White Christmas的感觉了。

    本周工作还算顺利,把明年团队的计划完成了。但是团队的年终总结Post没写完,因为花了很多时间来处理Oncall的任务和修Bug。原本打算从下周一开始休假直到明年,但下礼拜至少还需要再上两天班才能完成剩下的工作。

    把事情做完

    马上到年底了,看着自己长长的Todo list很无奈。打算下周开始要努力完成一些中途停滞的项目,争取不要把它们带到明年。

    1. 完成和小布丁的第二个编程项目,存钱罐APP。这个项目已经拖了快三周,小布丁的编程部分基本完成了。主要是我还需要抽时间收一下尾,支持一下数据保存和实现小布丁设计的logo。 争取下周作完。

    2. 把宝可梦阿尔宙斯打完。之所以把这件事优先级提高,主要是因为我和小布丁都很想开始玩宝可梦朱紫。但我估计如果直接开始玩新游戏,以后就再也不会回来把阿尔宙斯打完了。我不希望给她树立一个不把事情做完的榜样。

    我打算加快速度把剩下的部分玩完。刚才看了一下攻略,现在的进度大概是75%左右,刚刚获得了可以骑乘的雄鹰,之后要镇抚最后一直冰系宝可梦王,完成三湖考验,最后打Boss抓神兽。计算了一下时间,一周玩三次,每次三十分钟的话,应该两周可以打完。

    3. 读完《Google软件工程》并完成读书笔记。之前假期开始读这本书,后来改去学Unity带小布丁做游戏,就把它放下了。今天重新过了一遍目录,感觉书后面的内容比较散,可以分成软件工程,文化,流程和工具四个方面来写读书笔记。争取新年前读完。

    练习钢琴

    上一周尝试用零散时间来练习钢琴,但是发现没办法实现。在家的时候可以在工作间隙去练习一小段钢琴。但是在公司平时一个会接着下一个,很难有时间跑到楼下的音乐室去练琴。

    改进:我想了一下,觉得还是需要留出一个固定的时间来练习钢琴,要不然很难坚持下来。下周固定每晚10点左右,用15-20分钟练习。争取在圣诞节前可以弹会两首简单的圣诞歌曲。

    之前的复盘行动

    1. 坚持写博客
      • 已经写了30篇博客,基本上每天写一篇,完成了第一个Milestone。
      • 下一个目标是坚持3个月,到明年三月底。
      • 初步养成了每天定时思考写东西的习惯。
      • 工作忙的时候,每天写东西还是有点压力。估计明年忙起来可能需要调整一下节奏。
    2. 画画
      • 只学了一次画画,但是做了两次练习,并开始练习画圆。
  • 小镇上的新餐厅

    小镇上的新餐厅

    这周四小布丁晚上参加小童军活动,七点才完。我们打算在外面随便吃点,无意中发现了一家新开的餐厅。于是试吃了一下,超级惊喜。目前它在我心中的排名可以排在镇上餐馆的前三了。

    我们小镇的Highstreet长期被比较传统的餐厅霸占,比如英国酒吧,意大利和法国餐厅。虽然都可以吃,但不像伦敦,没什么比较新鲜的菜品。这次终于迎来了一家走创新路线的餐厅来打破僵局。

    这家餐厅应该算是炭火烧烤店,但主打西班牙和日式料理混合风。虽然菜量不是很大(估计是走Tapas的路线),但是每一样菜品都很精致。不是简单把日料西化,而是尝试把双方的特色结合起来。我们尝试了下面几个菜,做的都很有特色。

    1. 炭火烤牛骨髓配干鲣鱼片:单吃牛骨髓很容易被腻到,配鲣鱼片又提鲜又去腻,非常好的搭配。

    2. 日式照烧茄子配煎豆腐和干红薯片:下面是用铁板做的照烧茄子。感觉酱汁是自己配的,不是偏甜照烧汁,有点中餐酱烧茄子的感觉,小丸子很喜欢。

    3. 西班牙蛋饼配羽衣甘蓝和日式猪排酱:蛋饼外面很软,里面土豆软硬正合适。小布丁很喜欢吃。

    4. 牛尾羽衣甘蓝刈包:牛尾是slow cook,炖的超级烂,而且有很香浓的牛肉汁。比平时吃的猪肉和鸡肉版刈包好吃多了。

    5. 炭火烤扇贝:扇贝很鲜很嫩,配餐厅自制的姜酱黄油。不过扇贝个头偏小。

    6. 西班牙墨鱼汁饭配烤鱿鱼和红椒:饭做的夹生程度很合适,烤鱿鱼烤的也很香。应该算是个特别版西班牙海鲜饭。

    7. 抹茶法式焦糖布丁:没有一般的Crème brûlée那么甜,配上清淡抹茶的风味简直是完美。

    发现这家新餐厅是这礼拜我最开心的一件事之一了,因为又多了一个不用跑去伦敦就能尝到美食的地方。不过这家餐厅的地址之前开过两家其它的餐厅,但之前都倒闭了。希望这件新餐厅可以挺住。

  • 我的学琴经历

    今天下午有钢琴课。上周我答应老师选一首圣诞歌曲好好练习,因为老师想在这周上课时给每个学生录一小段视频,之后剪辑在一起做一个的圣诞钢琴曲合集。

    可惜这周一直很忙,没有时间练习。今天在家工作,打算上课前突击一下。我练了大概一个小时,但还是弹的磕磕巴巴的,最后只能硬着头皮去上课了😓。人生中的很多考试我都是靠临时抱佛脚混过去的,可惜练习钢琴真的是没法短时间突击速成。

    我大概断断续续的学了三年钢琴。感觉自己应该算是在成人学琴中速度比较慢的,可能是因为没有很好的音乐基础。小时侯我没学过任何键盘乐器,离钢琴最近的活动应该是玩电脑上的音乐游戏VOS。记得在女儿两岁时的一天,我突然想如果自己可以给女儿弹些摇篮曲或儿歌就好了。于是我就下了个学习钢琴的APP(Simply Piano)在家自己练习。

    过了半年后,我终于可以跟着APP弹一些比较好听的歌曲了。可问题是如果旁边没有APP伴奏,我就什么都弹不了了(我感觉这是使用APP学习的一个弊端)。之后我下定决心找了第一个钢琴老师,每周三利用上班休息的时间,跑出来学一个小时琴。

    这个老师是俄国人,教学方法和中国模式很接近。比如她很强调技术练习,经常让我练高抬指。我和这个老师学了大概有一年时间,她帮我打下了很好的基础。但我还是没实现我的心愿,自己来演奏自己喜欢的乐曲。后来赶上疫情在家工作,就没继续学了。

    在家工作的日子里,我又改回了自学钢琴。这次选了经典的拜厄教材,坚持弹了半年左右,大概完成了前一半的练习。但后来我发现这样效率不是很高,因为没有老师的反馈,我不知道自己弹的哪里有问题。于是又在家附近找了第二个钢琴老师。

    这个老师是英国人,和之前的俄国老师教学方法很不一样,比如她强调放松,不建议我抬手指弹琴。我和她学习有一年多了,终于可以演奏一两首自己喜欢的乐曲了😄。可惜我每周能坐在钢琴前练习的时间不多,平均一周只有两三次,每次也就30分钟。所以进度很慢,一般要两三周才能练熟一首曲子。

    正好女儿也到了开始学习钢琴的年龄,现在也在和这个老师学习。今年三月分我考过了Trinity College London的钢琴一级考试,虽然不是很难,但我超有成就感。之所以选择去考级,是想给女儿做个榜样,希望她将来可以赶上我,超过我。

    我觉得虽然演奏自己喜欢的乐曲是一件很开心的事,但每天练钢琴数个小时也的确是很辛苦很枯燥的。我想与其去要求女儿每天坚持练琴,不如坐在她旁边,一起练习,一起痛苦,一起坚持。

  • 秘密圣诞老人(Secret Santa)

    因为很多同事下周就开始休假了,所以大家打算今天下午开圣诞节party,每个人带一个礼物,来玩“秘密圣诞老人”。

    我这周一直没抽出时间来准备礼物,只能今天中午趁着吃饭时跑出去买。我打算去Tottenham Court Road,那里有家小丸子很喜欢的文具店和几家很好的家具商店,上大学时经常去。

    中午走在Tottenham Court Road上,一边走一边想着最好买个实用的礼物。 每个人规定花费15-20镑,我想可以先去PaperChase看看有没有好看的文具,如果没有在去Habitat 和 Heal’s 买个圣诞节的小礼品。不过一边想着,不知不觉就走过了。

    于是开始往回走,但居然又走过了。这时我停下脚步,看着马路对面的地产大亨体验店有点恍惚。然后我突然意识到PaperChase已经没有了!小丸子知道一定会很遗憾吧,毕竟曾经是伦敦最大的PaperChase。

    之后又掉头往回走,后来发现街角的Habitat也没有了。突然觉着自己对这条路的记忆还停留在疫情前,有种时过境迁的感觉。不过还好中间的Heal’s还在,但看上眼的圣诞礼物都在20以上。最后在街角找了一家小礼品店,看上了一个宇航员形状的小台灯,正好20镑。看外观很喜欢,一下子买了三个,打算自己留一个,备一个圣诞节礼物送邻居或客人以防万一。

    下午在玩秘密圣诞老人时,我换到了一个投篮的小游戏。小布丁晚上撇了一眼包装盒说:“爸爸,我觉得你亏了…”。当然这还不是最郁闷的,我买的宇航员日落小台灯接着又被小丸子吐槽了,“20镑就买了个有线Led台灯…”。

    的确,这个宇航员台灯真的没我想象中的好(好吧,我又被商品包装骗了)。不过摆在桌上,也不算难看。打开灯后,虽然没有像包装上写的那样,有进入“World of Relaxation”的感觉,但从宇航员后面看,却有一种很美的孤独感。

  • 第一棵真·圣诞树🎄

    第一棵真·圣诞树🎄

    这周末我们买了一棵真的树作为今年的圣诞树。回想刚来英国的时候,在大学里似乎没有真正地庆祝过圣诞节,因为每年12月一般都在忙着赶一个学术论文的截稿日期😓。后来有了女儿,为了给她创造一些圣诞气氛,才买了家里的第一棵塑料圣诞树。

    之所以没考虑过买真的圣诞树,一方面是因为之前在伦敦的公寓都很小,买一棵圣诞树不仅占地方,而且搬上搬下的也很麻烦。另一方面我一直觉得真正的树应该很贵,想想一盆好看的兰花都要20多镑,要是买棵大树回来还不要个一二百镑(认知偏差)。

    这周末在家门口的超市买东西时,我们看见路边有卖圣诞树的。小一点的树直接就放在路边上,大一点的树被绑起来立在旁边,看起来很像是圣诞树大甩卖。正好之前小丸子说想给家人拍一组圣诞照,考虑是不是要换一棵大点的圣诞树做背景,于是我们就过去问了一下。

    圣诞树的价格比我想的要便宜得多,好一些的大概60镑左右,便宜的(小一些)甚至20~30镑就能买到。我们先选择了树的类型(Nordman Fir)和大小,店员帮忙解开了几棵捆绑的树,让我们查看树的形状,最后选了一棵价格适中的,让店员绑好后直接送到家。

    我以为买完圣诞树送来时会带个底座,回来直接放家里就行了。后来才知道还需要再去买一个圣诞树底座,用来固定圣诞树和盛水。买回来的树需要从根部锯下一小段后放到底座上,这样树可以更好地吸收水分,继续生长。

    当我们把这棵树放在客厅后,家里一下子就充满了圣诞节的气氛。虽然远看与之前那棵塑料圣诞树差不多,但冷杉树的香气和叶子的绿色却让房间多了一种生机勃勃的感觉。我很喜欢用手去摸绿油油的叶子,摸起来有一种凉凉的感觉很舒服,不像塑料的树枝那样刺手。而且房间的空气和湿度似乎也变得好了很多。

    小布丁从始至终都非常兴奋,一直在忙着画圣诞树的装饰挂件。这周有空再去买一些圣诞树的装饰品,把它好好地打扮一下。希望这棵树会给我们带来一个温馨快乐的圣诞节。

  • 使用ChatGPT的一些感想

    周末朋友圈里大家都在晒用ChatGPT生成的文字。我今天玩了一早上,真心被震撼到了。ChatGPT是OpenAI上周刚刚开放的人工智能聊天应用。它不是一个简单的聊天机器人用来回答你一些在Google上可以搜索到的问题。ChatGPT使用了最新的人工智能模型来“理解”用户提出的问题,并生成高质量且具有创意的内容。这是我第一次使用ChatGPT后的一些感想。

    生成创意内容

    在下面的例子中,我首先让ChatGPT写一篇描述心情不好的日记。这里我没有提到任何心情不好的原因,但人工智能自动生成了一系列值得郁闷的事件,并很有调理地融合到了一起,形成了一篇逻辑很自洽的日记。而且我不得不承认,里面很多的细节写得很有趣,如果让我写,我还真没它写得好😳。

    高效的AI助手

    也许GPT模型的创造性还并不那么完美,但它绝对是一个超级实用的AI助手,可以高效地完成日常的工作琐事。比如今天我要给一个刚生小孩的同事代表团队定一个礼物。以前写卡片时要在Google上搜一下模版,再改一改,估计要花费个5-10分钟。下面是用ChatGPT生成的邮件,基本上可以直接使用了。

    另一个例子是最近我担任了一个会议的Program Chair,昨天评审review到期。今天我要写一封催促评审提交评review的邮件。以前我会搜索一下原来在学校时用的模板,然后改一改。下面是ChatGPT生成的新邮件,也是非常接近可以直接使用的水平。

    虽然Admin可以把这些琐事做得更好,但我觉得AI生成的版本已经足够日常工作使用了。在平时工作中使用AI可以帮助我节省很多时间,从而去关注更重要的事情。

    很好的老师

    第三个优点是在回答问题时,ChatGPT会给出很好的上下文来循序渐进地解答,这样有助于更好地学习。比如今天我写总结时需要很快的用Pandas生成一些metrics,但是忘记了df的split和join的用法😓。我在Google搜了一下,直接跳到Stack Overflow就找到答案了。而下面是我向ChatGPT提出问题得到的答案,比较起来,人工智能比人(Stack Overflow)给出了更详细的解释和步骤。

    未来的文字内容产业

    现在互联网上已经充斥着大量的自动生成内容。可以想象,随着ChatGPT这类更强的内容生成AI入场,网上会出现更多的人工智能文章。而且这些文章不仅很难分辨是否为自动生成,内容甚至还有可能已经超越了一般人的写作水平。我相信这一定给写作内容产业带来一次动荡。在这场动荡中,那些善于利用人工智能,懂得数据分析并对问题具有独到见解的人因该会走的更平稳些。

    最后,我还是忍不住让它自己来写一篇介绍自己的博客。

  • 周末复盘 写代码+控制体重

    这周天黑的很早, 下午4点就有晚上8点多的感觉。周末走在大街上,周围充满了圣诞节的氛围。我们也开始布置家和筹备圣诞节礼物了。

    写代码

    这周工作基本上又都在写文档,只写了几行代码(估计要在Tweeter可能就要被开了吧😊)。我跟同事开玩笑说,我的IDE现在已经变成gdoc了。虽然我现在已经不需要通过写代码来表现工作产出和影响力了,但作为软件工程师,还是应该每天都坚持输出一些代码。

    改进:想了一下,其中一个原因是之前修了一个长假,回来后一直在写东西,没有怎么碰开发环境。下周写总结的同时,可以把Devserver和常用工具都更新一下,看看最进同事land的代码,找一些可以重构的小任务开始慢慢回复每天写一些代码的节奏。

    控制体重

    这里拜体重开始直线上升。一个主要原因是最近晚上经常加班。到了12:00,(出于对自己的鼓励)我都给自己补一轮夜宵。由于天气比较冷,最近吃的都是热碳水,比如最近三次夜宵分别是辛拉面,肥肠粉和乌冬面。

    改进:争取下周不要太晚睡。如果熬夜的话,还是把夜宵换的稍微健康一点,比如麦片粥,鸡蛋羹,或坚果什么的。

    之间复盘的行动

    1. 练习钢琴
      • 把练习换成了简单一级的Sight-Reading,每个小练习可以在5-10分钟练完
      • 放下了现在练习的比较难的乐曲了,换成了简单的圣诞歌曲
    2. 画画
      • 按照新计划,本周学了两次画画
    3. 坚持写博客
      • 又坚持了一周,75%的milestone。
      • 感觉自己打中文速度有点慢,在考虑是不是练下双拼🤔。

    其他

    本周我和女儿的画画练习(龙猫是女儿画的)。

  • 教女儿学会五个基本编程概念

    最近和女儿一起做存钱罐App时,我发现有一些基本编程概念很难给她解释清楚。关键是我找不出足够简单的词汇来描述一些相对抽象的编程概念。

    于是我找了一些专门写给小朋友的编程教材来参考。下面这本是我找到针对年龄层最低小朋友的编程书。它介绍了一些非常简单的编程概念并附以抽拉卡片的形式让小朋友互动练习。

    基于这书中概念的定义,我又做了进一步的简化。今天我在女儿身上实验了一下,介绍了编程中的五个基本概念:算法、顺序、条件(分支)、循环和变量。感觉她基本上都掌握了。我们是从讨论什么是算法开始的。

    Algoirhtm(算法):List of steps for completing a task.

    在谈到算法时,我尝试让她理解算法的本质是解决问题的步骤,并不一定需要使用计算机或编程来实现。这时我邀请她一起来做一个麦当劳汉堡的“算法”。小布丁描述的步骤如下:

    1. 放面包
    2. 放肉饼
    3. 放奶酪片
    4. 放面包

    我告诉她这就是最基本的算法了。在这里我又顺便提到了顺序的重要性,让她意识到我们需要按照顺序来执行steps,不能先放两片面包,再放肉饼。

    Sequence(顺序):The order of the steps to follow.

    下面我问小布丁,如果她很饿需要吃三个汉堡怎么办?她说就按照这个步骤重复三遍,于是这里我们就顺势引入了循环的概念。我强调了一下,如果没有循环结构,我们需要写出12个steps,而使用循环后我们只需要写一遍。

    Loop(循环):Steps that repeat many times.

    下一个问题是如果我们还需要给妈妈做一个呢?她知道妈妈不喜欢吃奶酪片,就说如果是妈妈就不放奶酪了。于是我们就引入了选择分支的概念。

    Conditional (条件分支):Steps to run if something is true (of false).

    这里我想测试一下她是否理解了,问她如何给爸爸做一个汉堡。她说使用Conditional如果是爸爸就多加一个肉饼😏。

    我接着又问她,如果爸爸很饿要吃三个汉堡怎么办?她说就用Loop三次。我说如果你之前不知道爸爸多饿怎么办,你就不知道需要几个汉堡了?最后我在这里引入了变量的概念。

    Variable(变量):A box that stores numbers(or words) that can change.

    这里我们定义一个名为”饥饿度”的变量,爸爸运行算法时会告诉你一个“饥饿度数字”,如果饥饿度为3就做3个汉堡,为5就做5个。

    希望通过我的讲解,下一次小布丁在和我编游戏时可以用到一些今天学会的概念。

    注:上面的英文概念并不是很准确,我主要的目的是尝试使用最简单的单词帮助小朋友理解这些编程概念。

  • 如何写好O和KR?

    如何写好O和KR?

    这周五我终于把团队的OKR计划做完了。其实周一我已经写好了Draft,但是大家提了很多建议,来回来去改了四遍。这里我拿弹钢琴作为例子,来总结一下写好OKR的心得。假设我是CEO,小布丁是我的员工,我要写OKR让她有效的执行“学习钢琴”的战略思想。

    写目标(O)

    1. 目标:努力学习钢琴。

    小布丁会问我:“为什么要学?”。这个目标只写清楚了要做什么,而没写清楚为什么要做。这样不能有效的让下属理解你的战略思考。

    2. 目标:努力学习钢琴,明年考过钢琴2级。

    这个目标比第一个更清晰,写出学习钢琴是为了考级。但是小布丁并不一定会好好练习,因为她会说:“我又不想考级”。这个目标的问题是,它不能传递出方向感和使命感。这样虽然你的下属知道为什么要做,但并不一定会充满激情的来执行你的战略。

    3. 目标: 努力学习钢琴,明年可以演凑龙猫2级难度的乐曲

    我想小布丁看到这个目标后她一定会去主动练习。这个目标已经很好了,但还可以进一步改进(Optional),1)这个目标时间不明确,2)弹一首龙猫的曲子不一定能帮助她考过钢琴2级。

    4. 目标: 半年内提升钢琴水平至可以演奏3首自己喜欢的乐曲2级难度

    这个目标更加的具体,不但告诉小布丁做什么,为什么要做,而且传达出了是为弹自己喜欢的歌曲而努力。

    写关键结果(KR)

    小布丁想要练习钢琴了,那么怎么做呢?这里以练习一首曲子为例。

    关键结果1慢慢练习把曲子的音符弹对。
    关键结果2:反复练习把曲子弹熟

    这个版本有点像Todo,写出了第一步做什么,第二步做什么。但执行的结果完全取决与下属的能力。要想更好传递完成目标的思想,需要给出明确的路径。

    关键结果 1:左右手分开练习,以60%速度把曲子的音符弹对”
    关键结果 2:双手合手练习,以80%速度把曲子弹熟”

    这个版本指出了如何练习,但是没有给出如何来衡量结果。我们怎么知道小布丁弹没弹对或弹熟没有呢?

    关键结果 1:左右手分开练习,以60%速度弹奏乐曲,音符错误率<5%”
    关键结果 2:双手合手练习,以80%速度弹奏乐曲,节奏错误率<10%”

    关键结果 3:双手合手练习,以90%速度弹奏乐曲,处理好60%的音符强弱力度”

    这个版本已经很好了,不但指出了如何练习,更定义了如何衡量练习的效果,但还可以继续改进。在写KR时应该仔细思考,如果我实现了这些KR就能达到我的目标吗?

    记得我今年三月考1级时,当时要演奏的乐曲已经准备的很好了,可是到了考场手却紧张的发抖,一开始弹的断断续续的,好在后来慢慢的放松了些。那么怎么能够减轻在新环境下弹琴紧张的问题呢?

    关键结果 4:在3个不同的陌生场景下(比如教堂、火车站、步行街)演奏乐曲,并确保以上关键结果的准确率”

    我相信如果小布丁在练习时做到了这4个关键结果,她应该可以很自信的在考场演奏练习的曲目。在我看来书写OKR只是一种形式,真正重要的是在写好O和KR的过程中实现对目标(战略)的深度思考和推演,从而帮助你更大概率朝着正确的方向前进。

    参考资料《得到:管理者OKR实战课》

  • 圣诞节倒计时开始

    圣诞节倒计时开始

    记得上学时,每当路过SOMERSET HOUSE,看到滑冰场前漂亮的圣诞树,我就会感受到圣诞节的氛围。上班后圣诞节的氛围是从看到牛津街点亮彩灯开始的。而对于女儿来说,圣诞节应该是从打开圣诞日历(Advent Calender)开始的。

    这种日历一般会有24个小格子,根据日历的主题,每个格子里都会有一个相应的小惊喜,比如糖果,巧克力或小玩具。小朋友从12月1日起每天可以打开一个小格子,全部打开完了,就到圣诞节了。

    今年小布丁有四个圣诞节日历。两个普通的巧克力日历,一个Candy Kittens的日历,这个日历的设计是打开后就变成了一个小圣诞树。还有一个很特别的宝可梦卡牌圣诞节日历,主要是祝贺她之前赢了我一盘。

    记得去年一不留神,她一天就拆了好几个巧克力吃😓。今年一定要监控好她,一天只能打开一个小格子。

    晒一下小布丁妈妈今天的大项目,给小童军制服缝徽章!

    这学期女儿参加了英国的小童军,前两天刚刚宣誓,就算正式入队了。我叫它英国少先队(绿领巾),因为他们的Motto是Be Prepared (时刻准备着)。这学期小布丁一共得了两个Activity徽章和一个女皇纪念章。很期待将来左手袖子被缝满的样子。