博客 | Blog

我的 DNS 解析策略

2023-06-15 有更新,不再使用个人部署的 DoH 服务,因为采用 Fake-IP 模式没有必要了。

家庭 #

Clash 网关,TProxy 模式,Fake-IP 模式,DNS 上游为 Adguardhome

Adguardhome 只负责去广告,主要解析依靠 smartDNS,依靠 dnsmasq-china-list 进行分流,其中中国域名解析使用测速模式,其他域名解析不采用,smartDNS 不用过多复杂的配置,添加国内常用的公网 DNS 服务器和运营商 DNS 服务器即可,具体可参考 我有特别的 DNS 配置和使用技巧

手机 iOS #

使用 Surge,DNS 服务器使用公网 DoH 服务器

手机 Android #

原生安卓:设置 - 网络和互联网 - 高级 - 私人 DNS(Private DNS),手动输入 DoT(注意这里只支持 DoT),例如阿里的 dns.alidns.com

小米 MIUI:设置 - 连接与共享 - 私人 DNS,手动输入 DoT(注意这里只支持 DoT),例如阿里的 dns.alidns.com

华为 EMUI:设置 - 无线和网络 - 加密 DNS,手动输入 DoT(注意这里只支持 DoT),例如阿里的 dns.alidns.com

...

【译】关于《渴望》的分享

原文地址:https://twitter.com/awilkinson/status/1451256182329548802

我读了一本有点让我震惊的书,我忍不住要把它分享给别人。

它解释了为什么这么多人把他们的生命献给了让他们痛苦的事情。

这听起来可能很疯狂,但有一种看不见的力量在推动你实现空虚和不能令人满足的目标……

不,我没有读过戴尼提学;-) (译注:戴尼提(Dianetics)是一套精神、心灵和身体之间关系的伪科学理论,由美国科幻小说作家L·罗恩·贺伯特所研究发展出。 是山达基理论基石。 希腊语dia 的含义是穿越,nous 的含义是心灵。)

这本书叫《渴望》,作者是一个叫Luke Burgis的人。

它是关于模仿欲望的。这是一个由Peter Thiel推广的学术理论。

从表面上看,这听起来几乎不值得一提。

当你周围的人想要某样东西时,我们也想要它……

比方说,你在一个酒吧。你准备点一杯啤酒,但你的朋友点了一杯马提尼。

“其实我也要一杯”–你想喝啤酒,但你被影响了,要换掉。

好吧,那又怎样?

但现在让我们把它带到下一个层次……

比方说,你的朋友为她的创业公司融了资。

你开始比较。你很高兴地进行了下面的自我引导。

“为什么她能融到更多的钱?”

“她是如何让红杉加入的?”

“哇,那个估值…”

“我真的应该也进行一轮融资”

  • 比方说,你的朋友为她的创业公司融了资。

你开始比较。你很高兴地进行了自我引导。

“为什么她能融到更多的钱?”

“她是如何让红杉加入的?”

“哇,那个估值…”

“我真的应该也进行一轮融资”

  • 你没有意识到你因为朋友而开始为融资赋予价值。

它推动了你进行新一轮融资。你甚至不需要这些钱。

你不仅想模仿她,而且想比她做得更好。

突然间,你被锁定在一场模仿性竞争中。

  • 特别是如果你的世界里所有的同龄人都在融资。

这很快就会变成一场争强好胜的游戏……

  • 例如,如果你住在旧金山,融资、估值、你的投资人是谁、雇员人数。这些都是你的同龄人定义成功的标准。

但是,假设你住在洛杉矶而不是旧金山……

  • 也许你会在电影成就上进行竞争。获奖情况、你认识哪些名人、你在哪里获得餐厅预订、你的车。

每个同龄人都想得到并竞争同样的东西,这只是取决于你所处的泡沫。

  • 和喜剧演员在一起,你会想要一个Netflix特别节目。

和作家们在一起,你会想在《纽约客》上发表文章。

和运动员在一起,你就会想要奥运奖牌。

诸如此类,不一而足。

  • 当然,这些欲望与你的个人幸福或真正的欲望没有任何关系。

你不知道意识到这一点,但你想要这些东西是因为其他人想要它们。

你可能在一组朋友中看到这种模式。

  • 一个人买了特斯拉,就会像病毒一样。

Model Y 成为成功的名片。

渐渐地,小组中的每个人都慢慢转到了特斯拉上。

  • 有时,群体中的叛逆成员反而会反映出这些愿望。

他们反其道而行之,试图让自己显得独特或特别。

如果一个朋友买了特斯拉,另一个则买了一辆老爷车,并大谈发动机的隆隆声,以及他们多么喜欢在周末修理它。

尽管试图区分,但他们仍然陷入了这种模式,他们对新车的渴望被群体所定义。

这些渴望的浪潮不断溅到我们所有人身上。几乎不可能不受其影响,即使你知道要寻找什么。

关键是要确定你真正的、内在的厚实欲望,并将它们与你虚假的、外在的薄薄的欲望分开。

比如说。

薄的欲望是外在的(来自他人):

你想买一块昂贵的手表,因为你的朋友给你看了他们的手表,尽管你对手表或时尚从来没有任何兴趣。

厚重的欲望是内在的(来自内心):

你喜欢在周末静静地做园艺,因为你喜欢它。即使你永远无法在社交媒体上告诉别人,你也会这么做。你是为自己而做。

因此,问题是。

是谁让你想要那些你想要的东西?

而且更重要的是。

你真的想要这些东西吗?它们是薄还是厚的欲望?

用错误的模式包围自己,你就会被人为的、不满足的目标所束缚。

...

Ubuntu 20.04 安装 WRF 流程及 Docker 镜像

前几天受人之托在 Ubuntu 服务器上安装 WRF,研究了一整天搞定,下面记录一下流程以及推荐据此整理出来的 Docker 镜像。 WRF(Weather Research and Forecasting Model) 模式是有美国环境预报中心 (NCEP), 美国国家大气研究中心(NCAR)以及多个大学、研究所和业务部门联合研发的一种统一的中尺度天气预报模式。WRF 模式适用范围很广,从中小尺度到全球尺度的数值预报和模拟都有广泛的应用。(偷懒摘录自上海交大超算平台用户手册文档) 依据的流程主要是官方编译手册,已经算是非常详细。中文方面参考的主要是这篇文章。最后整理的 Docker 仓库为wrf-docker

你可以采用以下几种方式安装使用 WRF:

  1. 如果你是 Ubuntu 20.04 用户,可以直接根据我整理的 Dockerfile进行逐步的安装。除了环境变量设置地方的差异,几乎可以逐条复制 Dockerfile 中的命令(去除 RUN)。在命令行中进行环境变量设置的方法是 export DIR=/Build_WRF
  2. 如果你希望使用 Docker 方式,但是有一些自己个性化的需求(例如采用不同版本),那么下载 Dockerfile 修改后构建即可。
  3. 如果你希望使用 Docker 方式,且直接使用原始 Dockerfile 中构建特性,那么直接 docker pull wogong/wrf:latest 即可,后续使用docker run -ti wogong/wrf:latest /bin/bash 进入容器,可直接使用 real.exe wrf.exe 等命令。

说明 #

  1. 为什么不采用现有的 Docker 方式安装?我在 Github 上确实发现了两个仓库,但是版本比较陈旧,且基于 centos,不太方便修改,故自己重新整理了基于 ubuntu 的镜像。
  2. 为什么不采用 Ubuntu 22.04?Ubuntu 22.04 的 gcc 版本过高,在编译 WRF 中会报错,故采用 Ubuntu 20.04
  3. Dockerfile 中 WPS 的 .configure 会报依赖缺少的错误(其实并不缺,我没仔细检查脚本报错的原因),导致最后生成的 configure.wps无法使用,这一行是手动编辑生成的 configure.wps 文件避免这个问题。

参考链接 #

《生命是什么》中文译本比较

《生命是什么?》是20世纪最有影响的科学经典著作之一,其作者奥地利物理学家埃尔温·薛定谔(1887—1961)是量子力学的奠基人之一,曾于1933年获得诺贝尔物理学奖。该书源于薛定谔1943年2月在都柏林三一学院所做的演讲,1944年由剑桥大学出版社出版,其副标题为“活细胞的物理观”,后多次再版和重印。剑桥大学出版的版本除了去掉四幅插图和相关文字,以及不再对各节连续编号,对正文未作更改。但是从1967年版开始,它把薛定谔的另一个讲演 Mind and Matter 和一个自传也包含在内。

本书中译本按照时间顺序简单介绍如下。

  1. 上海人民出版社1973年版,译者为“上海外国自然科学哲学著作编译组”[傅季重、赵寿元、胡寄南等译、校];豆瓣链接 https://book.douban.com/subject/2061887/ 内容为原始版本,不包含 Mind and Matter 部分。
  2. 湖南科技出版社2003年版,译者为罗来鸥、罗辽复。该版本译文是由上海人民版修改而来,但在译后记中未作说明。在这些改动中,虽然有一些是正确的,但有些译法甚至还不如上海人民版,还有不少明显的错误未予改正。(参考张卜天版本译后记)内容包含了 Mind and Matter 和一个自传。豆瓣链接为 https://book.douban.com/subject/1317485/
  3. 世界图书出版公司2016年版,译者为吉宗祥,豆瓣链接为 https://book.douban.com/subject/26775711/ ,翻译极差,译者不知名,无译后记。
  4. 商务印书馆2018年版本,译者为张卜天,北京大学科学哲学博士,国内杰出的中青年翻译家,译有著作40余部。该译本在原著发表70周年(译后记2014年落笔,该书2018年出版)之际商务印书馆出的新译本,对旧译本加以修正和改进,主要参考上海人民版的译文。内容为原始版本,不包含 Mind and Matter 部分。豆瓣链接为 https://book.douban.com/subject/30278178/
  5. 北京大学出版社2018年版本,译者为周程 / 胡万亨,豆瓣链接为 https://book.douban.com/subject/30345616/ 此版本为北大出版社出版的科学素养文库·科学元典丛书系列中的一本。内容包括原始版本和薛定谔晚年出版的我的世界观 My View of the World。无译后记。

目前比较推荐的是商务印书馆2018年版本,至于北京大学出版社2018年版本我尚未细读,无法给出意见,也无译后记可参考,如果对我的世界观部分内容感兴趣可选择该版。

如何部署私人 DoH 服务器

DNS

DNS 是一个古老的协议,在互联网诞生之初的纯真年代便已出现,自然也有有古老协议的通病:不设防,或者说不安全。为了解决明文传输的问题,加密 DNS 的方案有很多,DoH 是其中之一,DoH 全称是 DNS Queries over HTTPS,其协议设计参考 RFC8484

在正常国家应该不太需要考虑自己部署 DoH 服务,但是中国大陆存在的 DNS 污染以及对国外公共 DoH 服务器的阻断导致了本文描述的这个需求。我的使用场景主要是作为 Adguard Home 的上游 DNS,提供无污染的/加密的境外服务域名解析。本文采用的技术方案是 coredns,下面简述步骤。

  1. 需要一台境外服务器,一个域名[^1],建议使用 acme.sh 项目申请 https 证书

  2. coredns 官网下载二进制文件,配置文件如下,注意该配置文件只启用了 DoH 服务。

    https://.:443 {
        tls ./acme/fullchain.pem ./acme/key.pem ./acme/ca.pem
        whoami
        forward . tls://1.1.1.1
        log
        errors
    }
    
  3. 使用 DoH 测试工具 https://github.com/curl/doh 进行测试

当然你也可以采用 docker 方式部署。

参考链接

脚注

  • [^1] Cloudflare 的 DoH 地址是 https://1.1.1.1 ,自然是可能给 IP 颁发 https 证书的,只是更罕见,限制更多。至少 Let’s Encrypt 不允许。

数字生活 2022

  • 发现进行增量更新并不方便,还是在进行增量更新后附上一份最新的工具库清单。
  • 输入
    • 微博因为组织审查注销
    • 因为审查的原因还是放弃了小宇宙,overcast 总是出问题貌似和代理规则有关,目前已经解决,重新用上。
    • 阅读方面购买了 [[Kindle paperwhite 5 电子书阅读器 电纸书 墨水屏 经典版 8G 墨黑色]],epub 格式的电子书开始用 Kindle 阅读,逐步放弃使用微信读书
    • tg 关注了一些新闻的频道
  • 输出
    • 几乎没有输出,所以也就没有变化
  • 工具
    • 引入了 Cubox,试图取代 Pinboard 的存档功能,毕竟付费的价格感人(又涨价了)
    • 使用 Google Keep 作为小票管理工具
    • 使用 Readwise 作为回顾工具
    • 使用 fastmail 托管邮件服务,Google Suite 虚晃一枪让我付费了,不过为了添加新域名付费也是不可避免
    • iCloud 2T 用于照片和备份
  • 硬件
    • 计算机 [[MacBook Air M1]]
    • 鼠标 [[鼠标 罗技(G)G304 LIGHTSPEED无线鼠标]] [[鼠标 罗技(G)G102 有线鼠标 黑色]],[[MX Anywhere 2s]]退役了,因为错在点击无法触发的问题,估计是进了灰尘诸如此类,可以考虑挂闲鱼
  • 信息流
    • 主要是添加了 cubox 的内容
    • Inoreader stared → Pinboard (IFTTT)
    • Douban RSS -> Pinboard (IFTTT)
    • Instapaper/Twitter → Pinboard (self)
    • Twitter liked + 书评 + etc -> Readwise -> Roam Research
    • Inoreader stared -> Cubox (IFTTT)
    • Instapaper -> Cubox (IFTTT)
    • Web -> Cubox (manual)
  • 最后,完整版本的工具库抄录如下
    • 输入
      • 社交网络:Twitter,朋友圈
      • 论坛:V2EX, [[hacker news]]
      • RSS 订阅 (Inoreader),主要信息来源,订阅了包括博客、newsletter、微信公众号、微博时间线等内容
      • 视频:Youtube, Netflix, BiliBili
      • 音乐:Spotify
      • 播客:Spotify,Overcast
      • 书籍:Kindle 墨案 微信读书
    • 输出
    • 工具
      • 即时通信 [[telegram]], Wechat
      • Dropbox, Google Drive 文件同步与备份,在线文档
      • Pinboard 网络书签
      • Cubox 作为个人网络收藏内容仓库
      • Toggl 时间记录
      • Anki 背诵
      • Instapaper 稍后阅读
      • Bitwarden 自建的密码管理及两步验证管理工具
      • RSSHub 自建 RSS 辅助工具
      • Surge 代理
      • 滴答清单 待办管理工具
      • Google Calendar 个人日程管理
      • Beanocunt 个人金融数据
      • Airtable 个人物资管理 [[inventory]]
      • Google Keep 作为扫描小票收纳仓库
      • fastmail 托管邮件服务
      • Readwise 作为回顾工具
      • iCloud 2T 用于照片和备份
    • 硬件
      • 计算机 [[MacBook Air M1]]
      • 鼠标 [[鼠标 罗技(G)G304 LIGHTSPEED无线鼠标]] [[鼠标 罗技(G)G102 有线鼠标 黑色]]
      • 键盘 PFU HHKB Professional HYBRID Type-S
      • iPhone 12, 128G
      • Apple Watch series 5
      • AirPods Pro
    • 信息流
      • Inoreader stared → Pinboard (IFTTT)
      • Douban RSS -> Pinboard (IFTTT)
      • Instapaper/Twitter → Pinboard (self)
      • Twitter liked + 书评 + etc -> Readwise -> Roam Research
      • Inoreader stared -> Cubox (IFTTT)
      • Instapaper -> Cubox (IFTTT)
      • Web -> Cubox (manual)

Fitbit Ionic 召回事件

最近 Fitbit Ionic 大规模召回告一段落,由于第一次体验这种产品召回,经历比较神奇,特此记录一下。 Fitbit 是 2007 年在加州成立的一家公司,主营产品是运动追踪器和智能手环手表等。与这家公司结缘是在2016年4月17日,当时在京东购买了 Fitbit Surge,一款运动手表。2016 年 Apple Watch 已经非常成熟了。当时在选购运动手表的时候,不选择 Apple Watch 的原因主要有两点,首先是价格昂贵,其次是一天一充当时的我无法想象。因此作为试水尝试在京东购买了时价 1398 CNY 的 Fitbit Surge,显然价格便宜多了,而且由于是黑白屏幕和功能简单,Surge 的续航应该有接近一周,远远超过 Apple Watch 了。

接下来的两年里,这支运动手表主要是陪伴我跑步,记录睡眠,续航够长,功能也满足我的需求,整体体验还是非常满意的。因此,在2018年2月的时候发现 Fitbit 发布了新一代产品 Fitbit Ionic 的时候,略作犹豫便在美国亚马逊海淘了这款产品。由于时间过于久远,当时记得买之前最大的期待是更新了防水功能,因此 Ionic 是支持游泳的,作为偶尔会游泳的 Surge 用户,对此颇为激动。2018年那个时间点没有买 Apple Watch 的原因同样是续航问题。 然而这次的使用体验并不佳,首先是游泳记录功能,界面丑陋就算了,功能本身的准确度也低的可怜,记录的数据几乎没办法用,此时我是非常羡慕 Apple Watch 用户的,准确度不谈,至少页面好看啊。最重要的是,这款产品在1年多后就变砖了,无法开机,无法充电。此后犹豫了一段时间便在 2019年9月的时候买了 Apple Watch S5,前几年担心的续航问题根本没有成为烦恼,游泳记录功能也准确多了,这些都是后话,暂且不表。

2019年中便成为尸体的 Fitbit Ionic 我并没有第一时间扔掉,而是静静躺在抽屉角落,直到去年的时候才挂上闲鱼几十元出掉了。是的,你没看错,没有没人要的垃圾,只是定价不够低,变砖的智能手表也有需要它的人。 几个月前在社交媒体上看到了Fitbit Ionic 由于电池问题导致损害人身安全的报道,因为官方决定召回。当时并未细想。直到今年3月5日收到这样一封邮件:

点击链接跳转到一个登记网页,应该只需确认一下,不需要提供任何资料,召回形式是全额退款,此时有点惊喜了。刚好一个月之后,4月5日,又收到了 Fitbit 官方发来的 Payoneer 注册链接,本次退款是和 Payoneer 合作进行的。输入个人基本信息和银行卡信息完成注册,4月8日我的国内银行卡便收到了退款,301.26 USD,折合 1873.72 CNY,手续费只有 6.02 CNY,大大低于我的预期。

整个退款的周期一个月,总体体验还是不错的。没想到一个4年前买的电子产品,还能全额退款。作为一名没有因为安全问题受到损失的消费者,我倍感幸运。但是那些因此受到人身伤害的,可能退款并不足以覆盖医疗成本,我也没有去确认是否有另外的赔偿。

虽然现在已经不再使用任何 Fitbit 的产品,甚至最后一段时间的使用体验也谈不上好,但是这次产品召回至少说明这是一家有勇气承担责任的公司。反观 Apple 公司的 [Flexgate]({% post_url 2020-12-07-flexgate %}) 事件,令人非常失望了。 对了,2021年Fitbit已经被 Google 收购。所以 Google 这回赢了 :)

...

数字生活 2021Q4

  • 介绍2021年第4季度个人工具库方面发生的变更。其他未变更部分参考前文 [[post/赛博 2021]]。
  • ADDED TO INVENTORY
    • 硬件:
      • 年底购入了 [[MacBook Air M1]],为何在 M1 Pro 和 M1 Max 发布后还购买上一代产品呢?对我来说,购买 Mac 最大的需求是续航和便携,至于性能,大部分时候都是 Web 和 终端,M1 足够满足需求了。此外,新款 MBP 的外观太过 Pro (不好看),相比更喜欢 MBA 的轻薄,(我知道是视觉效果而已)。
  • TESTING
  • 启发自 https://julian.digital/activity/increasing-productivity/
  • This is a quarterly update and review of new tools and products I have recently added to my personal productivity stack.

使用 Docker 进行深度学习环境配置

  • 如何跑旧版本的 tf 代码?这个问题的产生就是值得思考的,但是总有这样那样的需求场景,导致我们确实要跑远古的代码。
  • 旧版本代码最大的问题就是环境配置。tf 1.4.0 版本依赖 cuda 8,但是 cuda 8 只有 Ubuntu 16.04 的安装包,没有任何代码能够做到硬件上向前兼容,因为未来不可预测。难道我们要重装系统为 Ubuntu 16.04 吗?对于使用 3080 等全新硬件的人来说,cuda 8 可能根本无法兼容新显卡,对于这类用户难道就无法跑旧版本代码了么?
  • 针对这个问题,有两个解决方案,从层次上来说分别介绍。
    1. 使用 nvidia 维护的 tensorflow 版本
    • nvidia 显然早就意识到了这个问题,tf 从 1.x 到 2.x 的更新,API 发生了重大变化。如何让尊贵的 3090 用户用上 tf 1.x 呢?NVIDIA 和 Google 合作,维护了一个支持最新硬件的 tf 1.5.0 版本。
    • 使用请参考官方仓库 nvidia/tensorflow
    1. 使用 Docker
    • Docker 是一个开源的应用容器引擎,简单来说可以把它当作一个轻量的虚拟机。由于使用的是 Linux 容器技术,Docker 优于虚拟机的一个重要方面是几乎没有性能损失,相当于主机的一个进程。
    • 也就是我们可以使用 Docker 虚拟一个 Ubuntu 16.04 的环境,安装 cuda 8 和 tf 1.4.0,这样就提供了一个远古环境用来跑远古的 tf 版本代码。
    • 具体使用需要用到 nvidia-docker 和 tensorflow 两个镜像,安装方法参考 https://www.tensorflow.org/install/dockerhttps://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html#docker
    • 步骤
      • 安装docker
        curl https://get.docker.com | sh \
        && sudo systemctl --now enable docker
        
      • 安装 nvidia-docker2
        distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
           && curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - \
           && curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
        sudo apt-get update
        sudo apt-get install -y nvidia-docker2
        sudo systemctl restart docker
        sudo docker run --rm --gpus all nvidia/cuda:11.0-base nvidia-smi
        
      • 拉取对应版本的 docker image,并安装 pip 依赖
        docker pull tensorflow/tensorflow:tags
        
        docker run --gpus all -it -v tensorflow/tensorflow:tags bash
        # in docker
        pip install -r requirements
        
        docker ps # find the container_id
        docker commit <container_id> dsin:v1 # save the configed docker container as a new image
        
      • 如何将一台机器的docker 镜像复制到其他机器?
        docker save -o <path for generated tar file> <image name>
        docker load -i <path to image tar file>
        
  • 下面介绍如何使用 Docker 进行深度学习训练
    • 我们首先安装获得了 tensorflow 的镜像,之后使用 pip 安装项目相关依赖,获得了 DSIN 镜像
    • 进入虚拟机的 bash 环境
      docker run --gpus all -it -v ~/DSIN:/DSIN dsin:v1 bash
      
      -v host_path:vm_path
      
    • 进入 /DSIN 路径,可以看到映射过来的代码目录,在该 bash 环境中运行 python 即可进行训练
  • 其他参考链接
docker run --gpus "0" --ipc=host --ulimit memlock=-1 --ulimit stack=67108864 -it --rm nvcr.io/nvidia/pytorch:23.05-py3

docker run --gpus "0" -p 8888:8888 -v ~/datasets:/datasets -v ~/Dropbox/Inbox:/workspace/inbox --ipc=host --ulimit memlock=-1 --ulimit stack=67108864  -it --rm nvcr.io/nvidia/pytorch:23.05-py3
  • [[基于Docker的深度学习环境]]
  • [[dl-env]]

数字生活 2021Q3

  • 介绍2021年第三季度个人工具库方面发生的变更。其他未变更部分参考前文 [[post/赛博 2021]]。
  • ADDED TO INVENTORY
    • 工具
      • 使用 Google Keep 作为小票存档记录,相应地替换掉了 Evernote 发挥的作用。原因主要在于 Evernote 臃肿缓慢,且使用 Google Keep 后可以彻底告别 Evernote,从精简的角度来看也有收益。
    • 硬件:
      • 联想台式机 [[电脑 联想刃7000P主机]],使用 Windows 系统
      • [[小米 10s]],手机国产化要求,添加一部性能还不错的 Android 手机
      • [[电脑 ThinkPad X230]] 其实是非常老旧的电脑了,但是因为在办公室要求电子产品国产化,这部2012年购买的笔记本再次发挥余热,目前的文字就是在这台设备上输入的。
  • REMOVED FROM INVENTORY
    • 工具:Evernote
    • 硬件:[[Apple Macbook Pro 15‘ 2016]] 送给 [[张培]]
    • 断舍离的一堆闲置的物品,不过这些物品本来也没添加在我的工具库当中。故这里不再具体记录。
  • TESTING
  • 启发自 https://julian.digital/activity/increasing-productivity/
  • This is a quarterly update and review of new tools and products I have recently added to my personal productivity stack.