Form 8949

Form 8949 “Sales and Other Dispositions of Capital Assets” 是Form 1040 “U.S. Individual Income Tax Return”里D部分Capital Gains and Losses的一个附件

 

下面这篇文章介绍了关于adjust cost basis(其实最后是直接调整收益)

Adjust cost basis for ESPP/RSU tax return

有一点要注意,以Charles Schwab公司的1099B为例,现在金融机构每年一月底都会发布去年的1099B或者1099 composite,里面包含1099Div(Dividends) 1099 Int(Interests) 和1099B(Brokerage?) 虽然电子版的1099B是已经包括了填8949时应该选的Box (A-F选一个),但是它会明确说明这笔交易的Cost Basis是否已经上报给IRS,如果已经上报,但是上报的却又是错误的值,就需要调整。而调整的根据是平时收到的纸质的Statement(系统太烂), 纸质的Statement里居然有真正的包含税的Cost,这个Cost比它上报给IRS的要高(因为含税),所以可以把收益调低一点。毕竟,所有收益都要交百分之十几的税。

不过这种投资里Cost已经交税,而且上报了错误的Cost的情况不多,主要就是ESPP, 工资里作为W2收入已经扣税。

还有一个是RSU,在Vesting的时候也已经作为W2扣税,所以在Lapse的时候可以看到Cost已经被加上了税,但是Charles Schwab并没有将其上报IRS,所以填8949的时候不需要调整,直接填正确的含税的Cost就行,和纸质的Statement比较过,1099B里的Cost是已含税的。但是ETrade的1099B,无论是RSU还是ESPP,是否能正确含税就不知道了,卖出后报税时要和之前的纸质Statement再核对一遍。

Box A到F的选择,再报税软件里都有,Credit Karma Tax里用的是short(long) term covered/uncovered的说法,基本上,Cover就是report给IRS了的意思。

remote desktop session中使用本地micro phone

  1. 右键点击rdp文件,编辑,在local resource, remote audio setting中确保如下设置。

2. 从start输入group policy,找到并Enable the Allow audio recording redirection Group Policy setting:

you must enable the Allow audio recording redirection Group Policy setting. The Allow audio recording redirection Group Policy setting is located in Computer Configuration\Policies\Administrative Templates\Windows Components\Remote Desktop Services\Remote Desktop Session Host\Device and Resource Redirection

ref:https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/dd759231(v=ws.11)?redirectedfrom=MSDN

dumb view and smart view model

https://blog.bitsrc.io/building-reusable-angular-components-best-practices-744fff49e0d

这是一篇从SOLID principal中的SRP(单一职责原则)出发,描述把Component细分的过程的文章。

抛开它的主题,里面有些附带的思想也值得一记:

Presentational Component, 也就是View的唯一的Concern就是当输入的数据进来的时候展示出来,从这个conern来看,数据甚至应该是比较静态的,至少类型是不变,应对唯一的这种类型,View该如何展示,这就是它唯一的Concern。框架提供的tag很好地帮助了展示,底层基础仍是html。在wpf中,xaml就是这种Component,应该尽可能地dump.

而Container Component(这个名字不是很好)其实就是ViewModel,其实也包括了MVC里的Controller,或者MVP里的Presenter。现在则是Angular里的Component.ts.这是个Smart的Component

不过现代程序里的Component往往要和别的Component交互,所以Angular才定义了Output(事件EventEmitter),而这也影响到了View(Presentational Component)里,以attribute的形式。其实我觉得影响展示的attribute应该和用于事件交互的Attribute分开才对。一个简单的html template不是一个很好的载体。仍然有点违反SRP,还可以进一步细分。如果把事件描述从tag中抽出来放到一个专门的文件(类似designer.cs)并可以给一个html template apply多个事件描述集,就好比apply css style一样就好了。

另外,直接在Angular中设计一个Component应该也是有可能的,就是直接放到App.Component里,IDE如果有一个专门用于Desinger的Component,在双击某一个Component的时候打开Designer就好了。