Reflections on the Tech Stack of Flux

In the early days of Flux, I often sent a link to our tech stack to candidates. In my mind, a big draw of working at a startup is the freedom to assemble a tech stack from the beginning, experiment with it, and learn from the experiences. Now is my time to say goodbye to the stack and write some thoughts.

Background: Flux is an HR Tech startup with six engineers for the first three years, acquired by Beamery in 2021, and grew to 16 engineers in 2022. The product consists of a web application and a recommender system (matching engine).

Published
Categorized as blog

离职小记

从三周前给notice到昨天离职,终于给Flux这段旅程划上句点。对过去几年的总结这题目太大也有点难写。现在就先随便写一下最后这几周的事情好了。

Published
Categorized as blog

魁北克观鲸之旅

前一阵子与人说起来蒙特利尔只有一小时飞机的路程我们却还从没去过,又是法语区听起来有点好玩,就定了八月初找了个周末去玩一下。行程大约是一半在蒙特利尔和魁北克城这两个城市,另一半在Tadoussac这个以观鲸著名的小村。

去蒙特利尔的航班确实很快,小飞机,飞行时间不到一小时。落地之后果然是遍地法语优先,但英语也可以畅通无阻。因为预感到这趟旅行的内容比较少,我租了辆特斯拉来让路上有些事做。拿到车就一路开到了海边旧城地带,转了转这个城最游客向的一部分。大约相当于在纽约去逛时代广场吧。。游客密度比想象的高不少。吃了顿一般般的午餐,看了一些店和某教堂。然后xw表示累了就近找了个运动按摩去按了半天,按得还很不错。我一天喝了三四杯咖啡,觉得这儿的咖啡做得还行。

晚上开去了魁北克城。感觉是一个比蒙特利尔要更悠闲一点的城市,从上菜速度就可以看出来,吃的前几个饭馆都超慢。。不过食物水准很不错,基本都是法餐。抵达当晚吃了家厨师很有想法的新店,后院种了很多植物和蔬菜,拉了星星一样的满天小灯,夜景很好,每道菜都是小小一点东西摆在大盘子里,端上来要讲半天那种,用xw的话说是螺蛳壳里做道场。在魁北克这几天吃了三次珍珠鸡,确实有点野味,但又好像普通鸡肉不配端上来似的。这边讲究一点的餐馆上菜都是极慢的,一道菜撤了盘子等个十分钟才上下一道很正常,不时让我想起在巴黎从八点吃到午夜之后那顿。。另外这儿餐馆用本地食材也很多,各种只有法语名字的花花草草,还有鳗鱼居然也是本地产品。

魁北克的旧城相比蒙特利尔来说要更有趣一点,河边沿着山崖分成高低两层,中心有一座著名的古堡改建的大酒店Fairmont Le Château Frontenac很气派。酒店里面像极了去年在班夫逛了一下的那个大酒店,周边修剪整齐的园艺,气派的城堡塔尖,餐馆酒吧购物一应俱全,几乎可以算是个小购物中心。魁北克/加拿大的特产除了常见的枫糖冰酒,还有皮毛制品和各种因纽特人的手工制品,比较原生态。

我们在魁北克旧城逛到下午两三点离开的时候有点惊讶于游客的密度,已经和纽约SOHO这种地方节假日的情况不相上下了。我觉得可能是因为景点很集中所以全城的游客都在这一带转悠。之后我又去了个博物馆Musée national des beaux-arts du Québec人就稀少了很多,大部分展馆里都只有个位数的游客。有个Alexander McQueen的特展,还有很多本地艺术家的奇异作品。有一个馆是因纽特人的各种工艺品,有一些是雕在鲸鱼骨,海豹牙,还有独角鲸的角上的,有点开眼界。

魁北克城之后原本是打算一路开去Tadoussac,然而跟Ginny聊天的时候我才意识到Saguenay这个峡湾公园的中心是有个叫Saguenay的小镇的,旅行做的计划太少也是有点问题。。于是我们花了一天开去Saguenay玩了一下再绕去Tadoussac。

我对加拿大这个“峡湾”的景色其实是有点失望的,跟挪威差别太远,两边的山势完全不够瞧,也就是一个正常河景,得脑补下面是海水这个事实来意会。这个镇还是挺nice的,我们去了一个很随机的景点Musee de la Petite Maison Blanche,是旧木浆厂改建的博物馆。里面的内容出乎意料的丰富,除了各种当年的设备和历史之外,还有一个很大的当地著名艺术家Arthur Villeneuve的展。这个人很有意思,40岁开始画画自己走出一条野路子,画的东西很有风格,有点小孩涂鸦的感觉又有些阴郁怪异,后来成了世界闻名的画家。他当年把自己的一座小房子里里外外的墙上天花板地板都画满了东西,一度被邻里街坊包括市长嘲讽,但后来他成名之后这个房子就成了他早年最大的作品。整座小房子被铲起来运进了这个博物馆,可以进去看。

从Saguenay开去Tadoussac大约两小时的车程,出发之前我看了下车的剩余电量比地图导航的距离还多个三四十公里,就没在Saguenay充电。毕竟充电一般至少要等个十几分钟,坐在那儿等也挺无聊。结果开起来走了一个小小的岔路看了个景点之后电量就吃紧了。开始导航的时候车提示说保持速度在95公里以下才能开到。。于是关了空调用巡航保持尽量匀速开。好不容易开到Tesla地图说的村口第一个充电站,拐下公路一看只有个公厕完全没有充电桩的影子啊!后来查了一下Google Map才知道Tesla对这个第三方充电站的定位定错了差了几百米。开到村里第二个充电站,总算看到俩充电桩,然而和车里的插头适配器对不上!这时候已经到了观鲸tour的时间了。我们把车放在那儿跑去先观了鲸,回来去酒店check in顺便问了问前台,前台跟我们说还有第三个充电桩就在我们停的地方街对面。于是我赶紧摸黑去挪车,找到了第三个充电桩并且发现这个插头和我的适配器work,在仅剩20公里电量的情况下终于充上电了!在接下来的两晚里我的车插头还被人拔掉过两次。。这个村里充电争夺战还挺激烈。

Tadoussac这个800来人的小村观鲸确实名不虚传。Saguenay和St. Lawrence两条河的交汇处常年住着几百条白鲸(Beluga),所以这儿出海看见白鲸就跟在植物园的水池里看见锦鲤的概率差不多。。都是老朋友了。我们乘坐的小船一出发就看到几条白鲸,还有小小的白鲸宝宝看起来跟xw也就差不多大小。继续开下去看到一群海豹在海里欢快的结队行进。海豹有时候还会停下来好奇的探头张望,很像小狗又很像草原上的土拨鼠之类。看过海豹之后我们遇到了一条座头鲸(Humpback Whale),这条鲸不紧不慢的跟船一起游了很久,得有一二十分钟,隔两分钟就浮上来喷一下水。大家就掐着表等它出现。有几次出水离船已经近到只有几米了,近处看真得会感到鲸鱼很巨大。游了一阵之后这条鲸鱼终于决定下潜,做了个经典的尾巴出水的动作就消失了,大家一阵欢呼然后纷纷互相开始传拍到的视频。这个tour的导游还拿出一块鲸须来给大家观赏,超硬,闻起来腥腥的。

Tadoussac这个村虽小,吃到的饭却是这趟行程里面最fancy的。看完鲸鱼给车充上电之后我们随便走进了路边的一家餐馆,居然跟我们说这儿只有tasting menu一般要吃两个来小时。我们当然还是坐下吃了,味道相当不错,各种使用本地特产也花了心思。第二天吃的两顿没有这么复杂但也都很好。这个村的饭馆感觉一共也就不到二十家,质量有点出乎意料。

在Tadoussac待的第二天下了一天雨,基本就没什么事做。小村的两条街三五个礼品店一会儿就逛完了。于是就还是去了村里的鲸鱼博物馆。这个博物馆里面鲸鱼的资料确实很多,有的还很劲爆,比如白鲸求偶的视频,还有下面这个“如果人的睾丸像鲸鱼比例那么大的话到底会有多大”的互动多媒体教学。。

这个博物馆其实主要的特色还是鲸鱼的骨架多。魁北克这儿经常有鲸鱼搁浅什么的,估计处理完了骨架也没什么用,就都送来这种博物馆了。小小的一个展厅里面恨不得要塞满鲸鱼骨架的架势,天上地下摆得满满当当。有一根独角鲸的角可以举,还有带着鲸须的标本。鲸鱼爱好者的话推荐一看。

最后一天主要的内容是开车回Montreal。。这次吸取教训计划了给车充电。停的第一个超充点是个超有现代感的SPA酒店,在这儿转了一下看了看建筑吃了顿很不错的午饭。查了一下居然只要300多一晚,感觉好值。

魁北克之旅就这么圆满结束了。总体印象中上吧,离得近是主要优势,可以再去。

Published
Categorized as blog

Diablo 4

今年期待的游戏除了塞尔达就是Diablo 4了。D4可以联机,demo的时候试玩了一下感觉还不错。Demo的暗金掉率很高,xw那会儿一两天就配了一套德鲁伊的变熊装打得很爽,动不动就双手往下一拍大喊“Pulverize!” 所以可能我们对D4的期待度还更高一点。

然而这俩游戏发售日几乎撞车。塞尔达又太神。于是我们选择了先玩塞尔达,直到我通关封盘xw打到懒得打。在D4发售一个来月之后我们终于开始玩D4。D4很好的一点是一上来就支持跨平台联机,我用PS5因为省事且不累肩膀,xw为此还买了个mini gaming PC因为她喜欢用那些可以远程需要鼠标操作的角色。于是我们的野蛮人+Rogue就踏上了屠杀妖魔鬼怪的征途。

D4手感不错,有点当年玩D2可以纯欣赏砍小怪砍半天的意思。技能树相比D3来说做了简化,有几个明确的build思路,我甚至觉得掉落装备的属性也是倾向于在用的build的。好处是比较简单省心,照着游戏设计意图去拼一拼就能搞个八九不离十;坏处就是就是少了点自己探索配装的乐趣了。

半开放世界加上动态难度的设定还是挺好的,想乱打可以见怪就上,只想走主线也可以骑马一路冲。场景和剧情都做得挺好看,但D4这种游戏打着打着也就不太介意这些了只盯着血条在看。

两人团战还是比较有趣的,可以搞一些配合,场面也不会混乱到只能瞎打。xw很长时间都是在搞一套陷阱尸爆流,我早期用一些吼叫技能加buff,后来感觉配合最有效的技能还是用铁链把怪拉到陷阱上。

野蛮人的几个build里旋风手感最好,在敌人堆里穿来穿去,生存力强,但输出一般;出血流看起来很酷炫,但团战有点墨迹,往往等怪出血的时候队友就去打了;双挥看起来很简单粗暴但反倒是我感觉明显强力好用的流派。双挥打眩晕的敌人可以不耗能量,又可以延长狂暴时间以致于几乎可以一直维持狂暴状态。

D4吸取了上次D3的教训,首发当天服务器没崩太厉害,以及做了一些endgame内容。对于我们这些休闲玩家来说endgame内容还挺多的,够打一阵子,通关之后很长一段时间还会有种一直有进展的感觉,可以升级,有paragon点数,可以挑战更高等级的地牢,60/70级会解锁sacred/ancestor装备有点像怪物猎人的上位和G级。至于到了80级还有没有东西可打我就不知道了,以我们的速度要打到那儿还得几周吧。。其他还有一些杂七杂八的内容类似Helltide,world boss之类,可以减少一些重复感。

Diablo 3就是作为一个长期游戏来运营的,今天看到新闻说D3刚刚公布了最后一个season,即将落幕了。D4应该也是这个打算。想想当年D3刚出来的时候打了一小阵就没东西可打了,一年之后出了DLC再玩体验好了不少。D4这次出来的完成度还算不错,虽然还是有一些不足但也还可以忍。希望过个半年一年会做得更好吧。

Published
Categorized as blog

Rented a Tesla for a road trip

Car rental hasn’t been the same since Covid. It was sold out everywhere for a while, then the price basically doubled. When planning my Montreal-Quebec City-Tadoussac trip, I found most car rental agencies at the Montreal airport were sold out, so the remaining options were either small agencies for ~$100 per day, or Turo. Turo had some interesting options including a Tesla Model Y 2022 for about $160 per day. I always wanted to try a Tesla on an actual road trip, so I took the plunge. It’s also the first time I rent from Turo.

The pickup process surprised me a bit. The owner (or more like a car manager?) was waiting for me at the airport arrival curbside when I landed. I don’t know how he managed to park there for so long, lol, but it couldn’t be more convenient for me. He also gave me a brief of the car. Definitely felt more “white glove” than a usual car rental.

The fun began when I started driving. I’m not really a fan of car “performance”. But man there are so many configurations to fiddle with, on a huge screen and as a phone app! It felt more like a huge tech gadget. The single-pedal driving control took me an hour or two to get used to, but was not a problem at all. It was really nice to use phone as key, and to have lights/wipers all automated. As a rental I didn’t have access to autopilot, but I probably wouldn’t really trust my life on it yet…

Now, on charging. For the first two nights in Quebec City, I stayed at a hotel with two Tesla chargers in the parking lot, so it was very easy to fully charge the car overnight. The third day I drove from Quebec City to Saguenay then Tadoussac. I didn’t charge the car during lunch at Saguenay, and took some side trips and stops along the way. So when I finally started driving to Tadoussac, an 800-person village, I found the battery would drop to 1% when I arrive, and the car warned me to stay below 95 km/h to “reach the destination”. There were no charging stations whatsoever until Tadoussac. So I turned off AC and used cruise control to maintain the speed constant… when we rolled into the first charging station, there were no charging poles! Later on I found Tesla navigation located that non-Tesla charging station a few hundred meters off. We drove to the second charging station in the village and found two charging poles, but the power plug doesn’t fit the adapter I had in the car! I called the car owner, he assured me I could at least use a usual power plug to slow charge… I then asked the hotel front desk and found there was another charging station right across the road at where I parked, which couldn’t be found on Google Maps.. thank god this one worked with the adapter I had. It was slow but enough to prevent the car from becoming a dead weight… I parked my car there charging. Two hours later someone unplugged it… I guess they need the charging station more.

I used Tesla superchargers a few times on the way back. It was impressively fast, 20 times faster than the one that saved me in Tadoussac. The locations of superchargers also seem to be nice so you have something to do while charging. One of the chargers we stopped at was at an ultra-modern SPA hotel. We appreciated the hotel design and had a great lunch there.

A notable shortcoming I noticed while driving was the loud tire noise. It wasn’t unacceptably loud, but was definitely louder than SUVs and some sedans. The car doors also felt a little flimsy when shut. Overall it’s a fancy car, but doesn’t feel high-class or luxurious.

I was a little surprised to find Tesla doesn’t work with Apple CarPlay or Google Maps. Tesla navigation was ok, and shines at planning charging stops. But it’s not as good as Google maps. It located a third-party charging station wrong for me, and sometimes gave dubious directions with “unnamed roads”. I also couldn’t “add a restaurant along the way while checking their detour time and reviews” like what I often did on Google Maps.

Summary:

  • Pro: feature-rich
  • Pro: power
  • Pro: driving range is pretty good (400km)
  • Pro: supercharger was nice, and cheaper than gas
  • Con: tire noise
  • Con: no Google Maps or Apple CarPlay
  • Con: charging requires more planning and forces some idle time when stopping for charging, and it becomes a challenge in remote destinations

Verdict: I’d consider a Tesla if I’m staying at a hotel with chargers. For road trips to remote places, I will stick to gas for now.