Windows, Long Time No See

After working from home for a few months, we decided not to renew Flux’s office lease. So I brought a monitor back for my home work station. A problem soon surfaced: my 2017 13-inch Macbook Pro got annoying noisy when connected to a 4K monitor. Its fan speed shot up to maximum frequently and the whole system got slightly sluggish. So I started thinking: since there is little need to travel with a work laptop now, why not get a desktop?

Mac Mini is not powerful enough, Mac Pro feels like an expensive toy, and I don’t need another screen at home so iMac is out, too. It has been 10+ years since I used Windows. And I heard this new WSL2 (Windows Subsystem for Linux) thing was great. Let’s give it a try! The last time I used Windows for work was more than 10 years ago.

I wasn’t really in the mood of assembling a PC, and kind of want to get it to work asap. So I ordered a Dell XPS desktop. It arrived in a few days with Win 10 pre-installed. I connected it to monitor, my Apple mouse/keyboard. All worked! Great, but…

The single biggest challenge right off the bat was the shortcut keys… With ⌘ replaced by ⊞ Win and my strong muscle memory of using ⌘ shortcuts, it took me quite a while to map all these shortcut keys… PowerToys from Microsoft include a “Keyboard Manager” which can do most of them. (I later found PowerToys is not very reliable and the shortcut keys stop functioning from tiem to time). But then I need to use AutoHotKey to map out a few weird ones, such as disabling that “ctrl+scroll” zoom. Last but not least, a bunch of application-specific shortcut keys needs to be tweaked, e.g. VS Code. It was no fun. My biggest suggestion is to use a PC keyboard other than Apple’s Magic Keyboard.

Adjusting and getting used to the display was another pain in the butt. It took me a while to realize the “recommended” 150% zoom level on a 4K monitor was still way too small for me. I adjusted it to 200% and it looked much better. Fonts look different but generally OK in those popular apps (browser, code editor, terminal, etc).

The fun part started with WSL. It was actually really easy to install WSL, install a Linux in it, and get it to work with VS Code. Windows Terminal and Docker on Windows are two other things that integrate well with WSL. Basically, I installed dev tools in WSL: Git, Brew (yeah I was surprised Homebrew actually has a Linux version), Postgres, node, etc; checked out codes into WSL; use VS Code Remote WSL to connect to WSL. Then it’s a good combination of the two systems: all GUI run in Windows and all commands/servers run in Linux. Auto port forwarding makes it pretty seamless to use the two environments together, meaning you can start a server at port 3000 in WSL then open http://localhost:3000 in Chrome on Windows and it automatically works.

This desktop’s performance is as expected. For starter, It runs our API tests twice faster than my laptop… This one single reason justifies the hassle of switching. And I threw another 32G ram to the gig, now it runs any usual web dev workload without breaking a sweat. #peace

Common applications were easier to replace than I thought. Fortunately, most day-to-day tasks can be done in a browser now, or Electron-based apps that look the same as their Mac version. I don’t want to pick up another set of Mail/Calendar shortcuts, so I just use pinned tabs in Chrome for mail and calendar. Other apps that stay on the taskbar during worktime are Windows Terminal, VS Codes, File Explorer, Slack. Other apps I open from time to time for work are Zoom, Firefox. TablePlus, and Postman. After spending a day or two to get used to the Windows system and fonts, things are not bad.

There were definitely some tough issues. It took me about a day to figure out how to run Cypress testing… The solution was to run web servers (front-end and backend) in WSL and Cypress in Windows, and web servers need to bind IPv4 0.0.0.0 instead of IPv6… which showsWSL’s port forwarding doesn’t magically work for everything.

And one last benefit of using Windows is I can play some games on PC now. I bought Terraforming Mars on Steam the other day and found it only supported Mac :/ And maybe I’ll play Civilization 6 sometime? Anyway, nothing in mind right now.

Vermont in Summer

Wen and I did an “escape trip” to Vermont last week. Rented a house in Killington, a small ski town. Wen kept working throughout weekdays, while I did some hiking and excursions nearby. We did some kayaking on the first day and it was nice. Saw a loon up close on the water.

Summer is definitely not a popular season for Vermont. I imagine the town will see many more tourists during the foliage and snow seasons. There isn’t much to see in summer, and COVID doesn’t help. Half of the town was closed when we were there, so dining options were kind of limited. Several times I drove half to one hour to Woodstock and even Waterbury just for a nice dinner.

Hiking trails in Vermont all feel similar. The mountains are green, really green, covered by countless tree canopies with almost no openings. That means a hiking trail is often 99% walking in the woods until you reach some peak. Walking in the woods means windless and humid, sometimes buggy, not the best hiking atmosphere I’ve had. Appalachian Trail crosses through Vermont, so there are still some nice parts. But overall I’d recommend waiting until the foliage season to hike here. We rode a ski gondola to reach Killington Peak one day, which I think it’s a nicer option.

Vermont has a lot of farms. When driving around, the most often seen signs by the road are for all kinds of farms. I went to Billings Farm and Museum in Woodstock, which is apparently managed by NPS and is a designated national historical park. I quite enjoyed this place because I haven’t had much chance to visit museums this year, and this place also has cute farm animals like cows, horses, and sheep. I also went to a maple syrup farm called Baird Farm. They offered a nice little tour to show how they produce maple syrup, and syrup tasting for 6 different kinds!

We actually don’t do overnight/multi-day trip near New York often, so I’m much more used to a lean travel pack with only essentials. This time we rented a big jeep, and Wen actually plan to work for the most time as a “workation”, so the stuff we brought was a bit over the board:

  • A 27-inch monitor
  • Two Nintendo Switches. We played Streets of Rage 4 and Moving Out at night.
  • A big board game (Gaia Project), which we ended up not playing at all.
  • A big massage pillow, which we actually used a lot
  • My Celestron telescope. It was rainy and cloudy for the second half of our trip, so this huge telescope wasn’t used either…

A driving trip does give a different feeling than flying. I’d do more if there are nicer views to see around New York.

Two Years in Flux

I just had my two-year anniversary in Flux. Time really flies by so fast. I do find myself using the phrase “I’m doing a startup” more than “I started a company” a bit more these days.

Looking back, one biggest feeling is how we have been accelerating. My first few months in Flux was to set up some foundation work and recruit the initial team members. By Oct 2018, we had the initial two engineers Rachel and JB onboard, and the production actually started. I think we had our first version prototype website by Jan 2019 and shipped our 1.0 version by Apr, and the first client started using our product by Jun. That’s almost my first anniversary. There were just a lot of things to do at the beginning, between setting up a company, recruiting, and building the product.

Then things moved a lot faster. In the 2nd year, we’ve shipped so many more features, done a redesign of the website, built out new components like reporting and matching engine. It feels kind of like a rollercoaster, the first year was to slowly crawl to a high point, then we gain speed and rush! A lot of early time investment has paid off and helped us keep momentum when we shift to the product-building phase: development workflow and standards, code conventions, CI/CD pipelines, infra as codes, familiarity with our tech stack, team member collaboration styles, etc. These things need leadership to define and calibrate, and more importantly, they need time to grow and ingrain in the team. It is what defines a team.

With the COVID situation, we swiftly changed the work style. It was tough to make sales when the whole system was in shock, but it looks like people are adapting and companies are recovering. This period also allows us to further solidify our product and adjust our market strategy. We’re putting our name out there on the market and seeing more opportunities. I’m very confident about our product. Now we need more eyes on it, need some people who can appreciate our idea and product, and maybe a little luck.

Onwards and upwards, Flux!

Ghost of Tsushima

刚刚通关了对马岛之鬼,算算居然只玩了两周,感觉却好像玩了很久。本作作为Sony本家在PS4上的收官大作,算是相当的合格了。

对马岛之鬼这个游戏发布之前颇受争议的一点是游戏机制上极为保守。所有的玩法对于经常玩此类游戏的玩家来说都是再熟悉不过或者似曾相识。玩完之后我基本同意这点,所以我觉得这游戏不能封神,离荒野之息/马里奥奥德赛这样满满都是创意又制作精良的神作还是有一定距离。然而就是这么一盘冷饭,SuckerPunch还是把它炒出了真香的味道,也实属不易。

对马岛最出彩的地方我认为有两点:一是图像,二是流畅度。此游戏的画面精细程度让我有那种我已经“玩上了下个世代的主机”的感觉,这感觉在历代主机末期往往会有那么几个吃透了当代主机性能的制作组做到,很厉害。另一方面讲,剧情画面的运镜,每个任务开头和结尾的取景,爬神社和做俳句时候的取景,都很有水准,做出了电影感,玩的时候不时来这么一点风光eye candy还是很爽的。游戏里的拍照模式功能极丰富,玩着玩着我就意识到可能“浮世草”那些镜头就是拿这个拍照模式的工具弄出来的。平时策马奔驰的时候也随时像在看风光片。技术力和美工的完美结合造就了本世代最强风光系图像。

流畅度主要体现在大地图fast travel超快,基本上任何地方只要三秒!无缝换区之类的已经是标配了,各种操作也极为流畅毫无卡顿。想想我玩Xbox 360上Skyrim的时候,动辄读盘要一分钟,简直是读盘地狱。现在PS4 Pro加SSD硬盘,硬件是提升了,制作方面的技术优化也是功不可没。

绕回来谈谈玩法。对马岛的核心玩法是潜行加战斗和开放世界。潜行的部分基本就还是常见的那些套路,可以听敌人位置,可以扔东西吸引注意,可以背刺可以高处跃下,可以连锁暗杀三个在一起的敌人,总的来说潜行部分中规中矩,做得很精致。战斗方面是试图做出那种“真剑决胜”的感觉,普通难度下敌我都是两三刀就血槽见底。弹反和回避的手感让我想起了当年的鬼武者。跟敌人拼刀的时候那种利落的斩击感做得很棒,结果敌人的那一刀效果做得相当到位。由于对每种敌人都有克制的架势,加上大量的鬼武器(苦无,炸弹之类)使得战斗并不难。进程中有很多不能用鬼武器的一对一决斗,刺激感更强,但也都没有难到哪里去。加上还可以事先攒好气槽,进决斗开鬼模式一下砍掉一小半血。。对玩家是相当友好了,并没有在难度上为难人的意思。我玩的时候早期暗杀居多,后期装备好了一般就见面standoff然后硬砍了,感觉还是战斗更好玩一点。

开放世界的大容量还是会造成一些量产感。遇到的各种据点都大同小异,玩到后来会觉得是用素材自动生成的。狐狸窝每次跟着狐狸跑,神社沿着规划好的路线攀爬的时候,往往会有自己是只小白鼠在钻只有一条路线的迷宫的感觉,好看是好看,🦊萌也是萌,但玩法上比较无聊。这个跟荒野之息的差距还是很明显的,一个是充满灵气的神作,一个是工厂大工程高水平流水线打磨到极致的产品。都好玩,但我还是更想玩前者。

对马岛的剧情其实还不错,比较有真实感。我还查了查蒙古入侵日本的wikipedia,大致重温了下元朝的光辉历史。游戏里的几个同伴剧情线写得还有点意思,演出水平不错。主线跌宕起伏,攻城战加boss单挑的传统剧本挺激动人心的。

做个总结的话我认为对马岛之鬼游戏可以给九分。力荐。比TLOU2好玩不少。在老任下一拨发力之前,这个应该是很好的选择了。

TikTok Ban

Trump表示要ban TikTok。字节试图把TikTok美国运营部分卖给微软来丢车保帅。Trump仍然表示要ban,这样还ban的话估计微软也不会买了。不知道会怎么发展。Trump政府的行为难以预测。但态度和趋势是一定的了。

我对这个新闻没有任何愤愤不平的感觉。中国GFW的一套现在被建墙爱好者Trump拿来用了,继续鼓吹民族主义情绪,拉拉选票。远有10年Google撤出;近有AWS,iCloud的中国区。两个大国之间你来我往,谁也别说谁不够fairplay。只是时间上相差了十几年。

我更多的是对美国政府已经要用到这种下三路的手段来对抗竞争感到忧伤。美国IT业的领导地位已经不稳到这个程度了,需要靠政策来抵御中国吗?还是只是Trump的政治日程驱动?换个角度想,如果现在美国总统不是Trump而是Obama/Biden,美国政府会不会做出这样的动作?我希望不会。

从另一个角度讲,这是中国IT产品达到世界领先的标志事件。值得庆祝。