文明是一个有点介于桌游和电脑游戏之间的游戏。一方面我贴有六角形棋盘的桌游照片经常被不玩桌游的人评论像文明，另一方面文明自己也有很著名的桌游版Through the Ages。我玩过新版和旧版Through the Ages，都不怎么喜欢玩，总觉得这游戏太拖沓；但电脑版的文明系列我却从来没玩过，可能因为文明系列流行的时候我已经只玩主机游戏了。这次玩了玩文明6，确实感到这里面很多资源管理的机制都是和桌游共通的，然而维护复杂度远远超过了一般桌游的程度，只适合做成电脑游戏让电脑去算了。
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.
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.
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.