• 使用Tailscale组网

    前段时间无意中了解到了Tailscale这个产品。Tailscale是一个基于WireGuard的Mesh组网工具,可以将所有设备连接起来,组成一个大内网。Tailscale是商业软件,免费版最多支持20个设备和一个子网路由,对大多数家用需求来说应该够用了。

    我的需求主要有如下几点:

    外出时访问NAS

    家里的Spectrum网络虽然有公网IP,但是我并没有将NAS的文件服务暴露到公网。我目前使用的是通过端口转发暴露的群晖上自带的OpenVPN,能用但是体验并不好。

    安全访问

    在不安全的网络(如酒店/机场)中加密通讯以保证安全。

    地理位置

    用于访问一些有地域限制的网络服务,比如网易云或B站。

    (more…)
    Read more
  • F-1 NRA炒股的税务身份及报税问题

    Disclaimer: 本文仅作为经验分享,不构成任何税务或法律建议。

    大家都知道F1身份的前五年属于非税务居民(Non-resident Alien, NRA)。但是在券商那里,对于NRA身份往往处理得很混乱。尤其是居住在美国,但又不是税务上的居民,就成了一个很tricky的点,需要在开户和报税时正确处理。

    开户

    通常来说,NRA不能在券商或银行在线开户,必须要去线下。如果在线开户的话,券商通常会默认你是税务居民(Resident Alien, RA),并要求你填写W9表格,所有税表也都会按照RA来处理。

    正确的做法应该是去线下开户,或线上开户后提交W8-BEN表格声明自己的NRA身份。有少量DP表示有些券商不给有美国地址的NRA开户,但是实际执行起来YMMV,如果一家不行,可以换一家。提交W9来“冒充“自己是RA虽然理论上不合规,但实际操作起来也没什么问题。[1]

    对于Robinhood这样的纯线上券商,我们显然没有线下开户的选项。Robinhood一开始注册的时候只需SSN即可,不需要确认税务身份,Robinhood同样会默认你是RA。可能由于Robinhood上市之后的合规需要,去年8月我收到了来自Robinhood的邮件要求确认税务身份,如果是NRA则需要填写W8-BEN表格。[2]

    (more…)
    Read more
  • 一次P0171/P0174燃油系统过稀(System too lean)故障的诊断过程

    前一段时间因为年检要due了,花了一些时间在试图troubleshoot我的2009 Hyundai Santa Fe上的P0171/P0174故障。在这个过程中查找了一些资料,了解了一些发动机燃油系统的工作原理。

    问题

    去年年底,我在用OBDII Scanner检查EVAP问题(图中的P0442)时,发现出现了另外两个故障码P0171和P0174,除了故障码本身之外没有任何症状。这两个故障码表示引擎中燃烧的混合气过稀,也就是空气太多,或汽油太少。

    在开始解决问题之前,我们首先需要了解一些背景知识。

    (more…)
    Read more
  • GitHub Pull Request Diff中的诡异行为

    去年我负责开发了产品中的一个大型feature,这个feature被分解成了A, B两个小feature。大致的工作流程是这样的:

    我从master branch out出分支feature-a,在分支feature-a上开发;然后从feature-a branch out出feature-b,在feature-b上开发;最后创建feature-b -> feature-afeature-a -> master 两个PR分别进行code review并依次合并进master。

    当我在开发feature-b时由于master上有了很多更新,于是我将master分别merge进了feature-afeature-b。整个流程的简化版大致如下:

    (more…)
    Read more
  • 2021年终总结

    2021年,虽然疫情并没有像大家期望的那样随着疫苗接种而消失,但是生活多少走上了正轨。

    学业

    二月,我开始了在雪城大学的最后一学期,我最后一学期只需要修一门课,并且因为系里的选课限制把我可选的课压缩到近乎没有,于是最后一学期在一门水课加每周20小时的实习中度过。

    今年学校恢复了线下的毕业典礼,在铺天盖地的Congratulations中感到有些恍惚,在居家隔离和网课中,两年时间似乎一转眼就过去了。

    (more…)
    Read more
  • 如何更换锈死的雨刷臂(Wiper Arm)

    今年3月,我在清理车顶上的积雪的时候,一大块结成冰的积雪顺着后挡风玻璃滑下来,把后玻璃的雨刷臂砸断了。

    雨刷臂的更换其实很简单,雨刷只有一个螺母固定,只需要把螺母拧掉,把旧的雨刷臂拿下来,再把新的装上去即可。但是问题是,经过纽约上州的大雪加上融雪剂的十几年的洗礼,雨刷臂的金属部分已经完全锈死在spindle上面了。我一开始按照YouTube上的视频,购买了一个如下图所示的工具试图把旧雨刷拔下来。

    然而雨刷的剩余部分实在锈得太死了,加上工具本身不好用并且操作不当(没有把螺母装在螺丝上),导致雨刷的塑料部分下来了,但金属部分还在上面,还把螺丝的螺纹搞坏了(大无语)。

    (more…)
    Read more
  • 2020秋招美国SDE New Grad面试总结

    经过大半年的时间,紧张刺激的秋招终于告一段落了。对于New Grad来说,2020年的秋招实在很艰难,我在中间也经历了很多波折,终于成功上岸。整个秋招一共收获了9个面试,4个offer,其中也包括一些比较冷门的公司或职位。本文会介绍我面过的比较有意思的公司或职位,以及我个人在找工过程中的一些体会和经验。

    Citrix Software Engineer — Rejected

    体验:★★★★☆

    Citrix是一家toB的虚拟机公司,主要给企业提供基于虚拟机的IT解决方案。Citrix有Florida,North Carolina,湾区和Boston4个Office,每个Office的面试风格都各不相同,比如有的可能更注重OS,有的更注重网络。总体来说相比其他大厂更注重工程能力,沟通能力和behavior,算法上相对简单一些。

    MasterCard Software Engineer — Rejected

    体验:★★★★☆

    MasterCard是大家都很熟悉的信用卡公司,他家主要有两个location,一个位于OFallen, MO,主要负责支付业务,而Arlington, VA的办公室叫MasterCard Data&Services,是一家被MasterCard收购的startup,原名叫Applied Predictive Technologies。我拿到的面试是位于Arlington的Data&Services。面试风格还是沿用了APT时期的风格,毕竟是startup,题目还是有些难度。除了最后一轮HM面之外的体验都还算不错,就不展开讲了。

    Google Cloud Technical Residency — Rejected

    体验:★★★☆☆

    因为今年Google New Grad没有开,于是投了这个CTR职位。CTR是2018年才开的,在Residency里也算是比较新的。而且CTR并不是一个普通的SDE Residency,而是Google Cloud下面的一个更偏向Customer Support和Solution Engineering的职位。转正后的职位可以是Customer Engineer, Cloud Engineer或Solution Engineer。

    (more…)
    Read more
  • 汽车维修101——如何自己动手换机油

    去年有一段时间沉迷YouTube上的修车视频,最近终于有些时间了,也想自己动手试一试。换机油其实并不难,但是会有一些潜在的坑,比如很多人都遇到过的螺丝拧不动的问题,我基本上已经遇到了大部分新手可能遇到的坑。第一次录视频,做得有些粗糙,之后有空也会再更新文字版。

    如果你方便访问YouTube,也可以前往:https://youtu.be/s4sEJ7rjcTE 观看。

    (more…)
    Read more
  • 我的2020年终总结

    2020年对所有人都是特殊的一年,年初本来有一个很好的开始,结果被疫情打乱了一切。

    一月份我回到学校,经过一周的紧张的面试之后终于拿到了Ancestry的实习offer。搞定了找实习这个小boss之后,我开始了理想中的留学生活:我买了车,开始在学校食堂打工,同时计划着春假的旅游计划,女朋友拿到了SU的20Fall offer,除了正在国内肆虐的COVID之外,看起来似乎一切都很好。

    二月的时候加州和华州已经开始零散出现一些COVID确诊,纽约这边还是一派祥和,但是大家心里都很清楚纽约市的人口密度和发达的公共交通几乎就是个巨大的培养皿。那时候中国学生已经开始采购口罩和采取防护措施,不过生活还是一切照常。我打工的食堂最初禁止带口罩工作,但后来也默许了。有一次我和带我的老爷子聊了一下,我感觉他们其实也是在关注这个事情的,只不过也没有采取任何的措施。

    这样看似正常的生活持续到了三月中,随着纽约的Westchester County出现了社区传播,情况开始急转直下。3月10日学校发了邮件,宣布春假之后开始网课。当时朋友问我春假有什么计划,我苦笑说只能在家自闭了。

    (more…)
    Read more
  • Summer Internship at Ancestry

    中文版:Ancestry暑期实习记

    Shortly after I got the internship offer from Ancestry, the COVID outbreak flamed across the US. A number of companies rescinded their offers or switched to remote working. However, because of the Nexus Tax restrictions to companies that provide digital subscription products, we are not allowed to work remotely out-of-state (in states other than UT and CA). Finally, the company let us fly to Utah and remote onboard in the corporate housing.

    In early June, I departed from Syracuse and headed for SLC. Lehi is a small but bustling town near SLC. There are quite a lot of tech companies, there are big names like Cisco and Adobe, there’re also small companies and start-ups. The Uber driver told me lots of companies moved here from California, Facebook is also going to build a new datacenter around here.

    (more…)
    Read more