2019

2019-2020的跨年时刻,莫名其妙的喝迷糊睡了过去。醒来还发现给一个大家纷纷在发Happy New Year的群里回了条不着边际的德文消息,估计是因为戴着表睡觉误回的。也是比较诡异的一次跨年了。

回想2019年最主要的主题一定是Flux。从年初三个founder加两个工程师的minimal team,到年末十一个人和两个待入职。年初的时候产品看起来还像个课程作业,年末的时候产品已经像模像样经历了无数次sales demo。创业的一年跟想象中差不多,ship东西很快,有点辛苦,但整个公司的节奏保持了开头所定的“养生”基调。It’s a marathon, not a sprint. 可惜的是大客户的合同还没最后签下来,希望2020开年不久有惊喜。

今年生活的最主要变化是搬了新家。搬了之后这一年住得挺爽的。之前找房子的时候我总是不太确定高层有风景有多大价值,住了一年之后觉得对我来说很有价值。。搬了之后xw又开始enjoy她缓慢的选购家具之旅,桌子买了四个月,窗帘买了十个月。下一步是椅子!

今年的旅行比往年少一点,从自己的bucket list上划掉了ArchesNorth Cascades, Virgin Islands,Niagara Falls这几个地方。用掉了前司馈赠的机票跟爸妈去了趟张家界。Flux在同一个airbnb搞了两次offsite,lol。总的来说也算不错。

游戏方面今年的基调是少而精。毕竟没有太多时间去试雷。。

  • 年初几乎完美了DQ11
  • 鬼泣5随意通关了事。
  • 只狼半途而废,确认了我实在不怎么买魂系游戏的帐。
  • 为了怪物猎人世界Iceborne又搭起两台PS4玩了许久。
  • Astral Chain打到最终boss停下了一直还没拾起来。
  • 过去这几周在进行火纹风花雪月二周目,很快就通。

今年的桌游也是一样的调调。年初两个人Gloomhaven在桌子上铺了得有一个月,天天在地下城里踢门。年中买今年大热游戏Wingspan的时候凑单买了Gaia Project。Wingspan玩了一阵子就觉得中看不中用丢下了,反倒是Gaia Project很快就玩出了醍醐味,半年怒开了三十局。按照一局四小时算,也是个白金游戏的时间投入了。此物是我们今年的年度桌游无疑。

2020希望达成的几件事:

  • Flux继续做下去。做好。
  • 养猫。
  • 去冰岛或者阿拉斯加。

US Virgin Islands

月初的时候突然很想休假,于是就订了一周来US Virgin Islands的行程。这地方从纽约来很方便,四小时的直飞,不需要签证。除了汽车靠左行驶之外其他都跟美国一样。两年前这儿被飓风破坏得很厉害,还好现在重建的已经差不多了,旅游起来并没有什么不便。我是感恩节之前这周来的,刚刚开始进入这儿的旅游季,但游客还是挺少的,各种地方都不怎么需要预约,停车也很容易。这儿的游客感觉一多半都是游轮停靠一日游的,我在的这周有一天有三四条游轮靠港,于是那天就感觉到处都忙一些。

停靠的游轮

国家公园

我来这儿是住在机场所在的St. Thomas岛,这个岛有个城市,居民比较多,商业也比较多。旁边的St. John岛则大部分都属于Virgin Islands国家公园。我来的第二天就乘汽车轮渡去了St. John岛。这个国家公园主要就是一条路,沿途有各个海滩和观景点,hiking trail并不多。我去了这几个海滩:

  • Trunk Bay:可以租浮潜装备。拍出来很好看。有个浮潜的”underwater trail”但其实一般。
  • Hawknest Beach:可以浮潜。珊瑚和鱼还可以。
  • Francis Beach:这个地方我走了一个小trail才到海滩,不推荐这个trail。。路上除了一个修了一半废弃的房子之外没太多好看的。这儿也可以浮潜,据说是一个有可能看到海龟的点因为海底的水草比较多。然而我并没有看到,只看到一大群黄色的小鱼。
  • Maho Beach:这儿是另一个比较有可能看到海龟的地方,我在这儿看到了两只!先是一只小的,还不时浮上水面换气。然后又看到一只大的,背上还吸着两条看起来像小鲨鱼的”suckerfish”。
Trunk Bay

去完这些海滩之后我便一路开到了最东边的Salt Pond走之前查到的一个徒步路线(Salt Pond to Ram Head)。这个路线总共往返2.5英里,我去之前以为是小菜一碟,结果走得异常艰苦。这个trail大多是在海边走,几乎没有什么阴影。在30度的天气里晒着太阳hiking还是有点可怕的。更恐怖的是沿着海边走的时候旁边的海水还会反射阳光,有种被双面烘烤的感觉。

这个trail会路过一片散落着很多白色珊瑚的海滩,还会看到各种本地动植物。有一种红色个头很大的寄居蟹,会在路上走来走去,见到人就装死。还有长得有点少儿不宜的仙人掌。Trail最后爬上一个叫Ram Head的小山头,第二天我在博物馆看历史的时候看到说St. John曾经奴隶和奴隶主打仗,最后很多奴隶被逼到这个山头自杀了。。地方虽小历史却很real。

寄居蟹
珊瑚

St. Thomas

我之后的两天行程基本就在St. Thomas盘桓,比较空。。很多时候都是坐在海滩上看书。有一天搞了一次Scuba潜水,是我第一次潜水还蛮激动的。试过之后觉得还不错,在珊瑚礁不那么浅的地方可以离要看的东西更近一些。不过控制上浮下潜什么的还是有点难的。。好几次莫名其妙的就浮起来或者沉下去了。相比之下浮潜容易掌握许多。在St. Thomas我去过的这几个海滩里面强烈推荐Coki Beach,很多大鱼,而且会游得很靠岸边。基本上在齐腰深的水里就可以看成群的鱼了。我潜水也是在这里玩的。Sunset Harbor Beach在一个resort里面,是个不错的看日落的地方,旁边吃饭的Sunset Grill也不错。

去了一个TripAdvisor上review很好的海盗博物馆,看起来很游客向。看完之后出乎意料的觉得还不错。里面讲了一堆US Virgin Islands当年是如何成为海盗乐园的。还有现代如何打捞这附近的沉船里的文物。有个模拟打捞硬币的机器就是个大型抓娃娃机。

这儿两年前那次飓风还是很严重的。有几个大酒店直接就完全毁掉了。现在去玩最明显的痕迹是路边随处可见遗弃的车辆。有的车窗被砸,有的长满藤蔓,还是有点独特的。

另外这几个岛上到处都是野生的鸡。一开始我是在一个炸鸡店旁边看到,还以为是他们散养的。后来在各种地方看到,才确认这些就是野生的。。我在Sapphire Beanch躺着的时候有几只鸡在旁边绕来绕去的,还啄了我脚一下。

岛上的local food种类不多。一个是pate,大概就是大个儿的炸饺子,一个是炸鸡便宜好吃。餐馆倒是很多,好一点的基本都在各个度假酒店里,去吃吃也不错。

岛上的蚊子很多,很凶猛。作为一个很招蚊子的人我在这儿这几天基本是靠两种药过活:蚊不叮和叮不怕。。即使deet喷雾不离身,蚊子也总会见缝插针的叮到我,隔着衣服叮也已经是家常便饭。我感觉后来去海滩的一大动力就是可以跳进海水止痒。这岛上好多地方都标榜是Paradise,要我说,得没有蚊子才是天堂。。。

很多人都说BVI (British Virgin Islands)更好一些。我这次折腾了一趟轮渡去St. John之后不想再折腾轮渡了就没去。下次好了。

最后提一句US VI的亚裔游客奇少。。我来的几天虽然看到了几个中日泰餐馆,但一个亚裔游客都没看见,也是有点稀奇了。其实这儿对美国东部的人来说挺不错的,比夏威夷方便,比坎昆nice,不妨一来。

Born Remote

Cross-posting a blog post I wrote for Flux Engineering Blog.

Flux started as a remote company, with Max and Nick in California and me in New York. We had known each other for a long time and decided to build Flux as a distributed company from day one. Now Flux has three offices: San Francisco, New York, and Portland.

We are often asked how we handle the remote situation because it’s not very common to see an early-stage startup so distributed. My one-sentence answer is to see it as an advantage.

There are some benefits we can easily see in distribution:

  • Bigger talent pool. So you can hire people from multiple locations without needing them to move.
  • Lower cost, to company and to individuals. Bay Area and NYC are notoriously expensive. Portland is much more affordable. One of our team members actually moved from SF to Portland. We are all glad Flux can provide such an opportunity for him.

But what about the shortcomings? Communication gaps? Hard to bond? Below I’ll talk about what we do to make a distributed teamwork. Some shortcomings can actually be turned to advantages if handled well. That’s why I say we should see distribution as an advantage.

Asynchronous By Default

As a tech company, a majority of our production activities are software development, which is usually done better when people can focus without too much “tapping on the shoulder”. A distributed team structure makes “asynchronous communication” our default mode.

One signature of asynchronous communication is to do daily standup on Slack. We use a bot from Standuply and named it “Standup Steve”. Everyone answers questions from the bot, and compiled answers are posted on a channel. In this way, we get the basic caught-up without the hassle of dialing in a crowded call for 15 minutes.

For a given development task, an initial discussion usually happens in a weekly meeting, which is the only default synchronous communication step that circulates info to get everyone up to speed. Most following work happens asynchronously: writing design documents, coding, reviewing, testing, shipping.

We still do quick calls spontaneously from time to time, but the default way is to communicate in non-interrupting ways such as comments on tickets, wiki, and pull requests.

The default asynchronous communication pattern also enables more flexible work hours. We tend to do more communication and real-time collaboration during the overlapping hours between east and west coasts, and treat non-overlapping hours (morning ET and late afternoon PT) as unofficial “quiet hours”. If someone wants to travel somewhere (like Hawaii) and work remotely, or someone sometimes has an odd cycle (like a real night owl), it can work well as long as they follow the rhythm and people know when to expect them online and open for calls.

A side bonus of asynchronous communication is more knowledge gets written down. It’s natural to write a self-explanatory document to initiate a discussion, which naturally becomes the document and keeps records of some considerations. For deeper tech design discussions, it’s often more efficient that way, because people need time to digest and think things through.

Connect as Human

Human is social. People build initial trust more easily by seeing each other and feel they spend time together. This is true for remote/distributed teams and is probably the biggest “obstacle” people have in mind for remote working. There are a few things we do in Flux to make sure we connect in a more human way, besides codes and documents.

For example, we always turn videos on when having meetings. Face time, even through video, is precious. And it helps convey emotion better and reduce misunderstanding. That’s why we often see intense arguments, sometimes irrational, happen in emails or comment threads, but video or in-person discussions rarely escalate as quickly. We also grow more aware of this “phenomenon” and would switch to video calls whenever some discussion on Slack gets complicated.

You can actually have fun on video calls. Last month we did our first “board game afternoon” on Zoom! We played Avalon with the help of a brilliant website Avalon.fun. It was an absolute blast! Games flew smoothly, so many funny moments and laughters!

We also do whole-company offsite! This week is the second time we gather from three cities to one place to spend a few days together. It’s useful to build initial connections and trust. And some “downtime” to connect outside work is invaluable in the long run. Flux is still small enough we can get everyone together and literally stay under one roof (a moderate house rental from Airbnb).

Last but not least, we have a few channels on Slack as our “water cooler” place, where we post funny stuff from internet or have casual chats. At this “family” stage, everyone knows everyone outside work. Personal details bond people together.

Toronto and Niagara Falls

这些年在美国境内玩了不少地方,但一直没去东部著名的尼亚加拉大瀑布。原因是听说加拿大那边的视角比较好,于是就一直等到拿了绿卡去加拿大比较容易了再去。今年终于找到了个合适的时间去了一趟。

周末一共去了四天。前两天在多伦多,基本上就是吃吃喝喝。逛了一天兼具自然历史和艺术的ROM博物馆(Royal Ontario Museum)。第二天则是去了当年抵抗美军打了一小仗的Fort York和十分touristy的Distillery步行街。个人感觉这几个地方比起来Distillery还不错,很惊奇的发现了一家清酒坊,还有live表演的水平很棒。

但总的来说多伦多的主要亮点还是中餐。。到达之后第一顿就开到中国城随便找了家馆子吃午饭,店里都没什么人,水平却很是可以,很现代,跟国内的馆子基本是接轨的,不像纽约的三个中国城分别给人时光倒流10/30/50年的感觉。于是这两天基本就在一直吃中餐。。还开车大老远跑去东边郊区去吃了家早茶,也很不错还有一些在纽约没吃过的早茶菜式。这两天只有一顿晚饭吃了个本地主打海鲜的法餐,海鲜做的不过不失,倒是额外点的一碟西班牙火腿十分惊艳。两天吃下来我们对多伦多的食物印象很不错。

后两天便是驱车前往尼亚加拉瀑布。这个瀑布坐落在美加边境,一路过去路边无数酒庄的招牌。瀑布旁边是一个酒店林立的小城,还有赌场,某些路口有几分Vegas的味道。我们住的是Marriott Fallsview,窗外俯瞰整个瀑布的view确实对得起这个名字(还有价钱)。在瀑布旁边的路上遛了一趟,然后坐了个几乎人人都要坐的轮渡到近处感受了一下马蹄瀑布的气势。两个小时之后就发觉这地方也没什么其他太多好玩的。据说在航空业不发达之前,尼亚加拉瀑布曾经是美东最大的蜜月胜地。然而飞机旅行兴起之后这儿就没有那么热门了。想想也的确如是,看到这等自然奇观,赞叹和被打动的心总是有的。巨大的瀑布又不花什么功夫就能得到最佳体验(站在边上看),是很适合蜜月这种场合。

晚上瀑布被射灯照成各种颜色,甚是妖异。还有十来分钟的烟花。第二天我们闲得无聊去了一下路上看到的一个寺庙,还有对门的一个沿着河看white water的景点,之后就打道回府了。

这趟加拿大之行还是比较满意的。首先终于去了一下这个从美国最容易去的国家,其次看了尼亚加拉大瀑布算是打了个卡。以后私人旅游应该不会特意再去这片儿了,去办别的事顺便玩玩还可以考虑。

火焰纹章:风花雪月

前一阵子通关了Switch上的火纹新作,英文名是很朴实的Three Houses,中文名却是很神奇的“风花雪月”。玩起来之后发现中文名还挺恰当。

这一作一上来就跟哈利波特似的,主角被扔在一个学校里,有三个学院每个学院的领袖都是一个家族的继承人,然后就可以选择这三条故事线中的一条来打。我选了黑鹫线。每个学院有八个角色,于是一上来就有二十四个角色可以对话互动,让人眼花缭乱。好在战斗的时候只有自己选定的学院的八个人,外加挖角挖来的人。早期能挖来一两个最多,之后如果认真送礼物培养好感度的话能挖来很多。但我也没仔细研究好感度这部分,于是基本就用早期阵容一直打完了。

本作不是战棋游戏常见的那种一关一关的结构,而是有个月历,然后每个月结束的时候打一个主线剧情的关卡,其他时候每周自己可以选择做一些不同的事情。基本上每个月一定会做至少一次的事情是散步,也就是在学院里跑来跑去跟所有人对话。对话量相当之大,而且还是全程语音。本作战斗其实又比较简单(我选了困难难度但还是挺简单的),于是感觉对话的时间比战斗的时间还多,很容易错觉在玩galgame。好处是人物塑造确实不错,角色虽多,但每个人都有很多细节,形象很立体。坏处是感觉不够hardcore,估计DLC新加的疯狂难度会补足一下这一点。

三条故事线使得这游戏的可重玩性很强。剧情里还有数次选择感觉会影响主线剧情的分支。我只所以没怎么努力挖角也是觉得如果重玩的话还会用到那些别的学院的角色。但是最近好游戏很多(Astral Chain和Monster Hunter World),所以通关之后也就搁置了。回头游戏荒或者想玩战棋的时候拿出来二周目好了。


2020年第一天更新二周目通关感想。

之前通关之后试了试困难难度,感觉跟普通难度差别不大。前一阵子听说DLC更新了极难难度,于是开了个经典模式极难难度的二周目。

极难难度还是有些挑战的。前面几关打得很小心,很龟。好处是继承之前的指导等级,所以一上来主角散步的行动力就是满的,可以疯狂的请人吃饭刷好感度。还可以花点数解锁一些之前队员的好感度和技能熟练度。

本次我选的是金鹿线。起初的想法是搞一个十杰阵容。后来的主力队员大部分是有十杰纹章的,加上几个看着顺眼的(玛莉安奴白魔加上基本也算十杰,雷奥妮小师妹转弓骑之后很好用,佩特拉后期挖来之后高速高必杀转了飞龙领主之后也很好用)。二周目刷好感比较容易,到最后只有费尔南德和帕斯卡没招到。

极难难度的一点心得:

  • 挖人容易但不能彻底板凳本学院的人!五年后第一仗居然强制本学院的人出战。。一周目我打的是黑鹫线不知道这回事。于是这绝对是我打得最艰苦的一关,重启了四次才过去。
  • 高难度下命中很重要。。很多时候打不中就是死。所以加命中的战技都很有用。
  • 魔法的命中率很高。所以我队伍里后期有四五个魔法型角色。莉丝缇亚和雅妮特是两个主力。
  • 射程加2法杖极好用。金鹿学院二把手洛廉兹看起来实在有点招人烦,是我队里唯一一个板凳的十杰后人。但是他还是得带着升升级,外传拿的魔法射程加2的法杖给莉丝缇亚,配合舞娘再动就是一个移动炮台。
  • 理学和信仰升到S级分别有射程+1的特技。
  • 英谷莉特杀魔法师基本上是一下一个,反击要么回避掉,要么打中也不太痛。后期学会警戒姿态+之后可以把回避堆到很高,靠迎击态势(五回合不限距离反击)来反击掉远处的炮台或者魔法师。
  • 一周目的时候觉得白魔带神速态势很好用。二周目开始觉得重甲带铁壁态势也很好用,很多时候可以用来救人或者卡位。赋予祝福在某几个强力boss的时候可以用用。迎击态势只有在特定几关反击超远程的时候好用。
  • 骑士团的攻击力并不是太重要,更重要的是命中率和属性加成。被打中的敌人下回合不能移动是最主要的作用。
  • 骑乘型兵种善用下马。有时候可以避免被弱点克制。还有楼梯沙漠这些地方下马走路可能还快些。
  • 由于主角指导等级上来就解锁到A+了,于是散步请吃饭加好感度和干劲都很快。基本上就是在散步和出击之间循环。休息和指导这两个选项都没怎么用过。
  • 英雄遗产武器到大后期是可以用黑暗金属修理的。。我之前看了个攻略说不能修于是一直没敢用,直到挺晚才发现。

二周目很多剧情和外传关打得都很爽。五年后第一战虽然被搞了个措手不及但最后成功不死人过关的时候还是觉得很high的。大乌龟和呼风者这两个九格大魔兽的关也是很有挑战。最终关基本就是真伪十杰对战也很热血。