通过之前几篇文章的介绍,相信大部分人已经入门了基本的 Beancount 的使用,也能理解[[复式记账]]的魅力。
使用 Beancount 记账篇零:Beancount 入门使用
使用 Beancount 记账篇一:给账户命名
使用 Beancount 记账篇二:各类账单导入
这一篇文章就接着之前的内容,来讲讲如何在 Beancount 下记录期权(或者限制性股票)交易的记账。
RSU(restricted stock units),又被称为限制性股票,restricted 意味着当前无法获得,一般经过特定的时间周期,当其成熟时才
Read more ...
RETE 算法是卡内基梅隆大学的 [[Charles L.Forgy]] 博士在 1974 年发表的论文中实现的算法,是一种[[模式匹配算法]]。简易版本的论文发表于 1982 年 (http://citeseer.ist.psu.edu/context/505087/0)。拉丁语的 rete 表示 ”net” 和 “network”。
这个算法设计的目的是为了在大量的规则,Objects(或者说 Facts)中寻找匹配的规则。其核心思想是通过分离的匹配项,根据内容动态的构造匹配树,缓存中间结果,以空间换取时间,降低计算量。
RETE 算法主要可以分
Read more ...
在上一篇如何给 Beancount 账户命名 的文章中,我们已经迈出了 Beancount 使用的第一步,建立一套属于自己的账户系统,之后所有的资金就会在这些账户之间流转。复式记账讲求账户的流入与流出。
那接下来就是 Beancount 真正关键的地方,熟悉并导入以前的帐本。使用 Beancount 就会想着如何将之前的账单导入到 Beancount。
但人的惰性总是让我们不会每一笔交易都事无巨细的记录下来,所以我的方式便是固定一个时间,然后对上一个周期内的账单进行一次性批量处理,比如在信用卡账单日对信用卡消费做处理,或者在月末对微信账单进行处理。
Read more ...
在之前整理复式记账 的文章中曾短暂的提及过 Beancount,上一篇文章简单介绍了一下 Beancount,现在经过一段时间的使用,也正好回顾总结一下自己的使用经历和经验。
要入门 Beancount 的使用,其中最重要的第一步便是充分的认识 Beancount 中的账户概念,在复式记账中资金都是在账户与账户之间流转,因此账户就非常重要。但是因为 Beancount 的入门难度要远远超过其他的记账软件,所以迈出第一步就变得至关重要,迈出了这第一步后面就会发现 Beancount 能带来远超预期的收益。
在 Beancount 中内置类几类账户,这几
Read more ...
这两天 Clubhouse 非常火热,又使得「声音」这一载体被放到了台前,但听了多个 Room,并没有收获太多,反而是相对较大的「杂音」影响了收听,并且大部分的观点并没有让人眼前一亮的感觉。
而从去年读[[洛克]], [[密尔]]开始,我就在思考什么叫做「有效讨论」,这些先贤们在写下他们流传百世的著作之前,当然有其自身深入地思考,但也绝不是将自己关在小黑屋与世隔绝而诞生了其思想,往往在他们形成自己的思想之前,他们会阅读大量比他们时代更早的作品,也会与他们同时代的伟大思想家进行书信,甚至直接的交流。在这样的思辩和讨论之中,他们最终才会形成自己的思想,这些
Read more ...
说起 Beancount,就不得不提复式记账,在之前的文章里面已经完整的叙述过复式记账是比单式记帐更加科学的记账方法,但是复式记账在目前只被大多数企业所采用,并没有被大众所接受,市面上也依然缺少复式记账的工具。而 Beancount 就是其中比较好用的一个工具。
为什么要用 Beancount 记账
为什么要用 Beancount 记账? 要回答这个问题需要从两个方面说起,一方面是为什么要记账,另一方面是在这么多的记账软件中为什么要用 Beancount。
首先回答为什么要记账,在之前的文章中也提到过,通过记账是认识自己的一种方式,通过周期性的记账
Read more ...
今天看 maven-embedder 中定义的引用 [[Google Guice 轻量级依赖注入]] 依赖时,定义了 classifier 标签。故来学习一下 Maven 配置中 classifier 的含义。
首先来看两个例子:
<dependency>
<groupId>net.sf.json-lib</groupId>
<artifactId>json-lib</artifactId>
<version>2.2.2</version>
Read more ...
问题的出现
在使用 Java Instrumentation API 的时候,因为在应用启动的时候加载了一个 Java Agent,然后在 Java Agent 中依赖的包,和应用内依赖的包产生了冲突,同时使用了 commons.lang3 这个包,但是依赖的版本不一致。导致使用 FieldUtils 的时候出现了 NoSuchMethodError:
Caused by: java.lang.NoSuchMethodError: org.apache.commons.lang3.reflect.FieldUtils.getFieldsWithAnno
Read more ...
一年多以前购买 MacBook Pro 的时候安装了一款叫做 WhatPulse 的应用。WhatPulse 是一个记录键盘以及外设使用的工具,可以观察到使用了多少次键盘,触摸板,鼠标等等数据。
官网地址:https://whatpulse.org/
这一年多以来也并没有主力使用这一台 MacBook Pro, 但之前就是想记录一下键盘的按键次数,从而想要更换一下键盘布局的,看到很多人说更换成 Dvorak 之后会大大的减少手指的移动,但是这几年来虽然切换了中文输入法使用小鹤双拼,但键盘布局还是没有尝试更换过,切换的成本还是非常大。本来想使用科学的方
Read more ...
之前在折腾 [[AdGuard Home]] 的时候偶然间了解到了 NextDNS,简单了解一下 NextDNS 能做的事情相当于把 AdGuard Home 在本地的 DNS 处理给部分搬到了云端。虽然提升了一定的可用度,毕竟不是所有的设备都在 AdGuard Home 的网络中。然后看到 NextDNS 还支持 Web3,看设置界面就已经支持了 ENS,HNS 等等。
但之所以没有深入使用就是因为 DNS 还是一个非常基础的服务,但是 NextDNS 在国内并没有节点,所以导致连接经常出问题,要不就是连接不上,要不就是拖慢了解析速度。
NextD
Read more ...