雪铁龙 C3 XR 车机升级 – 航睿 / 兜风帮 TS7

8c65b9ae5af3f44872f108ed6d718945

在拿到驾照后的几次租车里,我基本上都在租一些带 CarPlay 的汽车,所以这次自己买车,车机上不带 CarPlay,让我觉得非常不爽,再加上这个车的原装车机竟然是 Windows CE,所以决定买一个第三方车机换上去。

d2b5ca33bd970f64a6301fa75ae2eb22 22
d2b5ca33bd970f64a6301fa75ae2eb22 23

选择车机

我的主要诉求是 CarPlay,所以对我来说这个事情就十分简单,我只要买一个支持 CarPlay 的车机即可。至于原装车机,因为我没有打算使用,所以够用就行。

处于上述的条件,我有几个选项:

  1. 只需要带 Wi-Fi 的车机即可:因为我并不会使用车机自带的高德导航,而是使用 CarPlay 的高德导航。所以车机是否能够 4G 联网并不重要,我定期使用手机热点给车机系统升级即可。
  2. 配置够用就行,不追求高配:因为我对于车机的预期是开机就进入 CarPlay,所以只要其性能足够运转 CarPlay 即可。结合市场上的车机基本的配置,1G 内存的车机已经足够我跑 CarPlay 了。

综上所属,再加上一些基本的搜索,我选择了航睿的车机,最后 1089 拿下了一个包含行车记录仪 + 倒车影像+ CarPlay 的车机。

d2b5ca33bd970f64a6301fa75ae2eb22 24

具体的流程

1. 淘宝采购

当你有了基础的预算和目标以后,就可以在淘宝上选择合适的车机了。记得搜的时候,搜你自己的车型,然后加上你需要的配置。如果你不知道具体的配置的话,就加上 CarPlay、CarLife 这样的关键词,找到合适的、眼缘不错的车机以后,问问客服是否支持你的车型即可。

2. 等待发货 & 验货

一般来说,如果你的车机本身不是 Android 的,你需要购买一个包含 Android 平板的车机。如果已经是 Android 的,则可以直接购买 CarPlay 盒子。盒子主要的作用是提供 CarPlay 芯片。

如果是车机,则要注意是否给你带了协议盒子,以及前面板。协议盒子用于兼容你的汽车的方向盘控制,而前面板则是为了替换默认车机的看板。

3. 联系安装服务

一般来说,现在的车机厂商都会有一些合作的修理厂,你可以和车机客服沟通,了解到具体的安装服务。由于是第三方,我还是推荐先用车机合作的店铺去安装,这样才能在后续遇到问题时,方便维护保修。

这里有一个吐槽点:所谓的车机厂商有可能只是临时合作,而非长期合作。因为我自己实际安装时,遇到了车机店老板也是第一次和航睿车机合作的情况(当时老板给我看了航睿的客服找他支持的微信,本质上就是航睿帮你找了个安装厂,替你支付了安装费用)。

4. 进行安装

等你联系好安装厂之后,提前预约时间,进行安装,就可以完成车机的安装了。大概需要 1 ~ 2 个小时,速度整体还是可以的。安装完成,你就可以上车验收你的新车机了。

验车时,我建议你验证的几个模块(划重点):

  1. GPS 模块:一般车机上都会带有 GPS 模块,用于高德地图的导航,所以要验证你的 GPS 模块,从而确保这个模块本身是可以正常工作的。根据实际情况,有可能你买的车机是不包含的,则看看其是否可以使用车身自带的 GPS 模块。可以通过打开高德导航,或者使用 GPS Test 软件来查看是否可以获取到卫星信号。
  2. 行车记录仪、倒车影像:这个模块也是很多人加装的原因,所以你在验车的时候,一定要注意观察这个是否可用,避免安装好了到家才发现没得用。
  3. 方向盘控制:有些车机会送一个协议盒,用于在车机和汽车之间对齐协议,从而让你安装的第三方车机可用使用自带的方向盘控制,所以你在验车的时候,也一定要验证方向盘控制模块。
  4. 音箱:毕竟买车机是为了听歌、听导航,所以一定要验证音箱是否一切正常。有些车机还提供了音频调整的模块,可以一并试试看。

安装后效果

8c65b9ae5af3f44872f108ed6d718945
19338730afee5ff77e714c27f7679181

心得

整体来说,我买了以后是比较满意的。毕竟这个车机自带了无线 CarPlay,比之前我租车时的有线 CarPlay 要好得多,我的核心目标是已经达成了。不过因为雪铁龙本身的车系的原因,方控不是很好使了,还在找卖家沟通售后。

但在这个安装、使用过一段时间后,我又开始反思,我是否真的需要 CarPlay?用 CarPlay 是一个执念,因为我希望可以在 CarPlay 一个更大的屏幕当中,来使用我的手机操作,包括使用 Pocketcasts 听播客、用高德和苹果自带的导航界面看界面。但另一方面,似乎我也只用到这些,这些一个更好用的车机(而不一定是 CarPlay)是不是也可以达成目标?

从这个角度来看,似乎我也不一定需要 CarPlay,只要是个好用的车机就行。这个好用的车机有即时的高德导航、反应灵敏,能够很好的与手机蓝牙结合,或许就可以满足我的需要了。

这些经历,让我开始慢慢放下对于 CarPlay 的执念。或许下辆车,我可以接受一个没有 CarPlay 的汽车呢(Tesla,说的就是你,自带的百度导航太挫了)。

总结

总的来说,目前的车机系统比我想象的要方便,提供的能力也很强。如果你的车机太老,又想升级,那么淘宝买个设备,装上来,绝对可以提升你的开车爽感。不过,需要注意的是,如果你要购买车机厂商的 4G 设备,一定要关注厂商的规模,太小的厂商可能后续升级乏力,或者是倒闭,都有可能让你无法继续使用 4G,影响较大。Wi-Fi 的因为不依赖厂商,所以当成一个定期升级的设备,预期不一样,也就对于厂商的依赖更小。

当然,如果可以的话,希望每个车机厂商都可以长长久久的活下去,这样我们的车机才能越来越好用。

雪铁龙 C3 XR – 自配钥匙记录

8a039f276957d1a5d669999651ba1154

由于我买的是一台二手的雪铁龙,只有一把钥匙,但我和女朋友都能开车,为了方便分别开车,也为了方便留一把钥匙做一个备份,我决定再配置一把钥匙,以便不时之需。

汽车配钥匙原理

现在的汽车钥匙往往采用的是 300Mhz ~ 400 Mhz 的射频信号,由汽车上的信号接收器接收到相应的信号,并执行后续的操作。

d2b5ca33bd970f64a6301fa75ae2eb22 17

而汽车配钥匙的原理也如此,将新的信号规则(暂且称之为规则,实际上有比较复杂的信号设计)写入到新的钥匙当中,即可完成钥匙的配对。

d2b5ca33bd970f64a6301fa75ae2eb22 19

根据车企的安全配置不同,可能存在一些安全流程,比如我的雪铁龙是不能后补钥匙的,要配置,就必须把旧的钥匙刷机,重新写入新的,不支持 append 模式。

需要准备什么?

  1. 去淘宝下单,购买一把和你车型相同的钥匙,并把你的车钥匙的齿拍照给对方,方便其帮你在钥匙上开齿。
  2. 找淘宝客服,租用一个配置钥匙的设备。

具体步骤

1. 收货,轻点物资

你收到货以后,应该收到如下东西:

  1. 一把全新的已经开好齿的钥匙,可以用其打开你的车门(插入钥匙孔的方式),但无法启动车辆。
  2. 一个基于 OBD 接口的读写设备,如下所示。
8a039f276957d1a5d669999651ba1154

2. 将设备插入到汽车的 OBD 接口当中。

将 OBD 设备连接好,并将 OBD 接口与汽车连接好。不同的车位置不同,但大多在司机侧。

d2b5ca33bd970f64a6301fa75ae2eb22 18

3. 启动设备配对的 App

你收到货时,可以联系买家,了解相关设备的对接 App,卖家会给你 App 信息,下载安装相关的 App,并在 App 当中连接你当前的设备。

4. 进行防盗匹配

App 当中会有不同的功能,我这里选择的是【防盗匹配】,选择后下载资源包,即可进行相应的防盗匹配。这里根据不同的 App ,操作会有所不同,具体的操作以店家的指南说明为准。

cd9399ede8af5fa688b0696f907fd04c
e6de56dad3e3d4b9cfcee7809ddd521d

总结

之前我自己以为汽车配钥匙是一件十分复杂的事情,不过自己实际配置以后,我觉得整体来说,难度还好,特别是现在的淘宝卖家都有现成的工具借给你用,对于新手来说,成本大大降低。而且自己配置的一个好处是不用担心有风险,异地的卖家,再给你留存的可能性大大降低,如果有诉求,完全可以自己试试。

瓜子二手车买车全纪实

1d37b249846f0eca3d68e7e10826f320

为什么是二手车?

天津摇号的文章我提到,我其实是想买电动车(Tesla)的,但 Tesla 的车价较高,对于我来说,属于超前消费了,所以我就暂时不考虑买 Tesla 了,等后续各项条件齐备了再购买(比如在天津买完房了、也有自己的家桩了)。

而从我自己目前的现金来看,买一个二手车是最靠谱的。毕竟低端的合资车我看不上,高端的买不起(高尔夫有点小贵),买个二手车即可以降低当下资产的减少,也可以满足我用车的需求。

买了什么车?

最后我买的是一辆 2017 年的雪铁龙 C3XR 1.6L 自动先锋版。车龄 6 年,刚好在年检的年限附近,车龄虽不算短,但完全算不得长,里程 8.8万公里,里程在这个车龄里也不算多。

怎么买的?

1. 确定预算

对于我来说,当下可以买的车在 10 万以内,其中 5 万以内可以现金全款;10万以内,则需要首付 + 按揭。考虑到我的目标是低成本获得一个还可以开几年的车,所以我最终定下的预算就是 5 万元以内。

2. 看网上的分享贴,大致确定车型

我看了抖音、Youtube、小红书、知乎、懂车帝、汽车之家等一系列论坛和平台,大致知道了这个价位的车有哪些可选的(比如起亚的 K2、K3、铃木雨燕、10年左右的高尔夫)。

在看这些分享贴的时候,还需要注意你所在城市的迁入标准,比如天津是允许异地的国五标准车迁入,所以如果是国四的车,就不能买了,一些老车可能会因为环保标准达不到要求,而不得不放弃选择。

3. 了解一些核心的问题点

在看这些车的时候,其实网上有不少可以选的车,只要年限够久,总能找到便宜的好车。但年限久意味着问题多,不同的车系也有自己的问题,你需要根据自己的实际情况来选择是否认可这些核心点。

比如以我为例:

  • 这辆车我大概会开几年后续还会换车,不管是买 tesla 还是买新的油车,总归是要换车的,所以我需要确保我买的这辆车后续还能卖的出去。
  • 年限超过 10 年的车需要每年年检一次,我嫌麻烦,所以最好年限短一点,这样我可以少去年检几次。
  • 我没有太多的修车预算,所以一些年限特别久的豪车不在考虑范围内(修不起)
  • 我有日常开车出去玩的需求,也会装一些东西, SUV 会比轿车更适合我。

结合这些问题分析,已经大致知道我自己想要什么样的车型了。接下来就可以进入到具体的选车的过程了。

4. 使用 App 选车

我是使用瓜子来选车的,当然,你也可以用任何你喜欢的 App,比如懂车帝、汽车之家之类的。作为一个第一次买车的人,我需要规避重大的事故车、水泡车,而这些问题,这些二手车平台都提供了保障,更适合我。

打开 App ,选择你需要上牌的城市(涉及到需要筛选你所在城市能够迁入的环保标准)

d2b5ca33bd970f64a6301fa75ae2eb22 5

然后根据自己的需要,圈定范围,然后等平台帮你筛选出符合你范围的车。

d2b5ca33bd970f64a6301fa75ae2eb22 6

选完这些基础的细节以后,平台就会给你推荐一批符合你要求的车了,接下来你就可以再细筛选具体的车系、颜色之类的,来选择一个适合你自己的车,比如看看照片、看看视频啥的。瓜子还提供了预约讲车的服务,你可以预约时间让卖家给你讲一下车的情况。

在选车的时候,除了看拍好的视频和图片,我个人还会比较看平台提供的几个信息,具体包括:

  1. 是否是事故车或水泡车
d2b5ca33bd970f64a6301fa75ae2eb22 7
  1. 是否有你需要的智能化能力?我是比较喜欢用 CarPlay 的,所以我会比较关注汽车的亮点配置(当然, Carplay 可以后装)。我建议你购买有定速巡航(开高速实用)、倒车影像和倒车雷达(日常很实用)、无钥匙启动(主要是省的插钥匙了,不过也不复杂,不需要特别纠结)、遥控钥匙(只要不是特别老的车,基本都有了)
d2b5ca33bd970f64a6301fa75ae2eb22 8
  1. 如果你关注的车能查到保险记录,则一定要看一下保险记录,保险记录展示了这个车历史上经历过的事故,对于你判断车库可以提供一些基本的判断。
d2b5ca33bd970f64a6301fa75ae2eb22 9

5. 下订金买车

当你选好了车之后,下一步就是支付一笔 1000 元左右的订金,来让卖家运车给你(这里的订金是可退的,如果你试车完成后,觉得不喜欢,是可以退款的)。

下订金时,会让你填写一些基本的信息。等你填写完基本的信息,平台会对汽车进行二次的复检,从而确保车况和描述一致。

支付完订金,平台会通过板车等方式,将车从车源地,送到你所在的城市,等你来提车。

6. 提车

当车辆送到你所在的城市后,平台会二次复检,并邀请你到当地的交付中心来提车。此时,你需要带上你的指标,以及银行卡,来现场支付费用,并提车体验。支付完费用后,此时先不会让你过户,而是会把车给你,让你拿走开一周。这一周里,你可以尽情的开(但别超过 450KM,会影响退车),体验和磨合,确保这辆车符合你的预期。如果期间你发现不符合预期,这个车还可以退掉,你只需要支付相关的基础费用即可,车款会原封不动的退给你。

这里我没有体验退款的流程,因为我后续体验不错,就做过户了。你在实际买车的时候,建议找客服二次确认。

在这一周里,你可以使用这个车上自带的号牌,但等一周后,就需要启动过户手续,过户到你自己的名下了。

在提车时,瓜子提供了短期的试驾险,你可以根据自己的需要购买试驾险(我的建议是购买,避免有更大的风险),试驾险在你后续通过瓜子购买了车险的时候,会退回一半的钱, 并送你道路救援之类的服务。

7. 过户 & 选号

当你一周后,觉得这个车不错,打算继续走后续的流程,你需要将车开到交付中心,和交付中心的人一起办理过户手续。

这里根据车所在的车源地会有所不同,如果是异地车源,可能需要等 3-4 个工作日,将车辆的资料从异地迁出当地迁入,然后才能过户。如果是当地车源,可能当前就可以过户了。

过完户之后,你就可以进行选号了,下载 12123 app,在其中找到「在用车选号」,选择一个你满意的车牌号即可。

d2b5ca33bd970f64a6301fa75ae2eb22 10
d2b5ca33bd970f64a6301fa75ae2eb22 11

选号完成,你的车过户、上牌就算整体完成了,此时车管所会给你一个临时牌照,用于你短期的开车驾驶(毕竟没牌照不能上路)。

d2b5ca33bd970f64a6301fa75ae2eb22 12

8. 购买车险

一般来说,你买车的时候,车是会自带交强险的,但没有第三方的商业险。你可以根据自己的需要购买第三方的商业险。此外,车身自带的交强险可能时间比较短,很快就过期了,记得检查你的车险的到期时间,及时补购车险。

这里我是直接用瓜子合作的平安车险购买了商业险和交强险,主要是图个省心。

9. 结束

到这里,你整个车的购买过程就算结束了,只需要等待车管所将你的新车牌发送给你,你再自己安装上新的车牌,就算整个流程都结束了。

d2b5ca33bd970f64a6301fa75ae2eb22 13
流程的 Overview

总结

作为一个新手买车人,瓜子给我提供的最大的价值莫过于非事故车的保障,以及试车可退的保障,这让我可以规避掉一些二手车买卖的常见问题 — 事故车、水泡车,也无需担心买到的车不合心意。

最后看一下总体我提车的成本,一共花了 43900 ,没有超出预算。

d2b5ca33bd970f64a6301fa75ae2eb22 14

天津汽车摇号攻略

d2b5ca33bd970f64a6301fa75ae2eb22 3

来到天津以后,考了驾照,下一步自然考虑的是买车了。不过天津作为一个直辖市,汽油车指标还是要摇号的,所以我便开始了自己的摇号之旅。今天也分享一下自己的摇号经历

为什么要摇号?

我家是河南的,女朋友家是湖北的,考虑到以后少不了开车回家的场景,所以还是需要一个汽油车指标,用于应急。此外,天津的好处是汽油车指标可以用来买电动车和汽油车。但新能源指标不能反过来购买,所以摇号还是必要的。

此外,我自己整体来说是比较喜欢新能源汽车的(具体指 Tesla),但说实话,车价太贵,且天津所处的北方冬天气温是在 0 度以下的,对于电车来说不太友好(容易打骨折),所以暂时先不买电车,等等电池的容量进一步提升了再购买。

什么样的人可以参与天津摇号?

需要你是居住在天津的人(有天津户籍/居住证)、名下无车、个人有驾驶证。我因为前几年已经办理了天津的户口,所以可以直接参与天津摇号。

d2b5ca33bd970f64a6301fa75ae2eb22 4

在哪参与摇号?

天津市小客车调控管理信息系统

摇号摇了多久?

我一共摇了 13 次,一年出头,还行。坚持每 3 个月去更新一下状态,始终参与摇号就行。

相关政策

可以参考天津市人民政府关于印发天津市小客车总量调控管理办法的通知

具体的步骤

1. 访问天津市小客车调控管理信息系统,注册并登录

想要参与摇号,你首先需要注册一个天津市小客车调控管理系统的账号,用来后续持续登录。这个账号也和天津市的其他一些政务系统的账号打通,所以注册的时候要记得账号密码,以便于后续使用

2. 填写申请表

当你登录完成后,会让你填写申请表,根据你的个人信息填写申请表即可。

3. 等待资质审核

当你填写完成后,需要等待资质审核,一般来说是每个月 8 号 ~ 23 号审核完成,26 号摇号,你填写完成后, 记得去看自己的资质是否审核通过。如果审核通过,接下来就是等着摇号了。

4. 定期更新状态

由于每次你的申请表只在 3 个月内有效,所以你在资质通过申请之后,可以每个月上去看一次,或者每两个月上去看一次,并更新一下自己的指标,确保自己的指标信息始终是可用的,从而避免忘记了,导致指标失效了,实际上并没有参与摇号。

5. 等待摇号成功

在一段漫长的等待和摇号成功后,你会看到如下这样的界面,提示你已经中签。(同期还会有短信提醒,所以不用担心会遗漏)。

在下方的【我的指标】里,就是你摇号摇到的指标,后续买车的时候打印出来,带到买车的地方就行。

d2b5ca33bd970f64a6301fa75ae2eb22 3

为 Next.js 加上 Git Commit 版本号

text

在开发服务端应用的时候,由于服务端应用本身的特性,其实是没有一个明确的版本的概念。毕竟不需要专门下载,理论上每次都是最新的,所以也没有版本的概念。

但在实际开发调试过程中,我们又的确需要关注版本的概念,因为会影响具体的表现形态,所以就需要有一个前后端协调的版本号概念,来帮助我们更好的定位问题,避免前后端之间的扯皮。

一个比较好的思路是,虽然服务端没有版本号概念,但大部分时候会有一个对应的 Commit ID(毕竟现在开发项目完全不用版本控制工具的还是挺少见的)。所以,你可以选择将 Commit ID 作为版本号,进行输出,从而让协作者知道当前线上跑的版本,便于 debug。

在具体实现时,有两种方式:

1. 将 Commit ID 放在 Header 里

我自己平时会把 Vercel 和 Next.js 提供的 API Route 作为一个简单的 Serverless FaaS 环境来使用,因此一个诉求便是在 API Route 当中返回具体的 Commit ID。而为了避免对代码的侵入,将其放在 Response Header 当中是比较合适的。

d2b5ca33bd970f64a6301fa75ae2eb22 2
添加完成的效果。

而如果你希望和我一样,达成对特定路由下的返回结果添加特定的 Header(比如上面截图中 x-build-sha 就是我添加的 Commit ID 的 Header),则需要借助于 Next.js 提供的自定义 Header 能力

通过在 next.config.js 当中的 header 属性中添加具体的配置,来实现对特定的路径下添加自定义 Header。

module.exports = {
  async headers() {
    return [
      {
        source: '/about',
        headers: [
          {
            key: 'x-custom-header',
            value: 'my custom header value',
          },
          {
            key: 'x-another-custom-header',
            value: 'my other custom header value',
          },
        ],
      },
    ];
  },
};
Code language: JavaScript (javascript)

这里面比较关键的是 source 字段,这个字段定义了究竟哪些路由下会返回特定的 Header。比如上面的这段配置就是只给 /about 添加具体的 Header。你可以使用 /:path* 来匹配所有路由,从而实现给所有路由都添加上具体的 Header。

以我为例,我在线上跑的配置实际上是下面这段配置:

/** @type {import('next').NextConfig} */
const nextConfig = {
  reactStrictMode: true,
  async headers() {
    return [
      {
        source: '/:path*',
        headers: [{ key: 'X-Build-SHA', value: process.env.VERCEL_GIT_COMMIT_SHA }]
      }
    ];
  }
}

module.exports = nextConfig
Code language: JavaScript (javascript)

在上面这段配置中,我给所有的路径都配置了一个 x-build-sha 的 header ,并从进程的变量中提取出 VERCEL_GIT_COMMIT_SHA 变量(这个变量在 Vercel 的部署环境中指向具体的 Commit ID)的值,将其返回。

2. 将 Commit ID 放在 UI 里

除了在 Header 中返回,如果你是需要去 Debug UI 的话,版本号同样重要,这个时候,你可以选择将 Commit ID 放在界面上,从而实现快速找到 Commit ID。

在 Vercel 部署的 Next.js 上,有一批 Next.js 框架所属的环境变量, 可以直接在 UI 当中引用(上面的 VERCEL_GIT_COMMIT_SHA 是不能在 UI 中直接引用的)。

只需要在特定的位置,加入SHA: {process.env.NEXT_PUBLIC_VERCEL_GIT_COMMIT_SHA} ,就可以展示具体的 Commit ID。

(除了 Next.js,其他框架也有类似的框架变量可以使用,你可以根据自己的需求来选择)。

总结

在服务端 Debug 时,将你的 Commit ID 以某种方式返回可以有效的帮助快速定位问题,试着给你的 Next.js 添加上这个 Commit ID,来加速你的问题排查吧~

疑问,是更好的提问方式

question mark neon signage

我是一个比较反感“反问”的人。

总的来说,是因为我对于反问的感观不太好,特别是反问背后所表现出的挑战(这可能源自我是一个不那么自信的人)。反问带给我的感受更多的是“不认可”、“不信任”,从而激起我的反抗。反问,拥有一定的攻击性。

而疑问,则是一个更好的选择,特别是在人多、鱼龙混杂的时候,能够更好的隐藏自己的意图,将自己保护起来。反问则会更加暴露出你的倾向,并不适合自我保护,过于锋芒毕露。

提醒自己,不要做一个总是”反问“的人。

南街村之旅

de11ec653bfd12ef4ddd4c76c7aff835

五一因为一些私事,提前回了河南,也有空去了趟南街村,一个很有意思的地方。

为什么要去南街村

我知道南街村还是因为南街村方便面,作为一个回族,其实能吃的东西不多。南街村在历史上曾推出清真的方便面 —— 北京方便面。

北京方便面

不过,这次去南街村,倒不是因为北京方便面,而是我妈提到,如今的南街村的定位是”共产主义第一村“

这个定位很有意思,我国是社会主义国家,而其中有一个村子是以“共产主义第一村“为其宣传口号的,而且还宣称自己一直是一个非常不错的福利村子,令我十分惊讶,所以,在去之前,我就做了一些基本的研究。

南街村的一些历史

以下一些内容,是我在调研南街村时,关注到的一些我认为有意思的点:

  • 在南街村,村民完全依附于集体经济,如果不在集体内劳动,就丧失一切收入和福利待遇。为了体现建设“共产主义小社区”的优越性,南街村修起了城墙,将自己与其他村庄隔开。
百度百科,南街村

南街村的村民完全依赖集体经济,这就要求这个村庄完全能够经济自给自足,这个是很高的要求,需要有一个独立的经济型。此外,他还把自己和其他村隔离起来,有点独立社区、国中之国的意味了。

南街村与其他村有一个巨大的区别,那就是他们以基于毛泽东思想的集体主义为理念,提出建设“共产主义小社会”的目标。毛泽东式的集体主义因80年代取消人民公社而失去了影响力。但是,南街村却把毛泽东的集体主义树为旗帜。已经富裕起来的南街村被称为“南街村现象”,并引起了全国的关注。 南街村“共产主义的要素”的核心是独特的平均主义的经济体制。村民们在村的行政机构及村营企业上班,根据工作内容,每月付给150元到200元的固定工资。 工资虽然很低,但是村民免费享受粮食、肉、油等配给。住宅、教育、医疗、办红白喜事也一概不收费。如果村民上大学,学费也由村里负担。村民享受的福利费用每年每人平均6700元。

百度百科,南街村

南街村的村民必须在村办企业当中才能享受福利,而享受福利之后,只能享受到 150 ~ 200 元的固定工资,在如今这个物欲横流的时代,感觉生活是比较难的。实际上一年的福利也并不多,仅有人均 6700 元(这里有个背景,南街村是村级单位,村民只能享受村一级的低保标准,按照漯河市 2023 年的标准,农村低保大概是 5280元/年)。考虑到一年的工资,实际上一年的收入不足万元。

这个钱对于我来说是无所谓的,但对于河南的农民来说,应该还是一个不错的选择,特别是村里本来其实干农业就不赚钱,经过这么一搞,至少还能享受一定的福利,至少比种地是划算的。

而对于南街村来说,这样的福利成本其实也还好。南街村如今有 1000 户,3000人,人均福利 6700 元,加上 2400 的工资,一年单人的成本是 9100 ,全村的福利 + 工资的成本大概是 27,300,000 ,2700 万,对于一些大型国企来说,并不困难。而分配的房产,属于集团的资产,不属于个人,无需单独计算。

我对于南街村的一些疑问 & 到南街村旅行之后的结论

1. 南街村模式真的是共产主义么?是否有可以推广的可能性?

在南街村游览时,导游在讲解时说的一句话,引起了我的注意:

在南街村,所有的生产资料都姓“公”

如果说,所有生产资料都姓公,那这个模式其实并不特殊,即使在改革开放以后,我国也有大量的生产资料都姓公的存在 —— 比如各种国企。而如果你把他理解为国企,那这个模式也就不存在所谓的推广可行性,实际上我国历史上有很多类似的尝试 —— 比如公私合营。

南街村唯一不同的,便是他提供了更多的福利。但这些福利如果我们回想八九十年代的国企,其实也是类似的:

  • 提供了粮、油、肉 ?八九十年代直接吃工厂食堂。
  • 提供了住宿?八九十年代分房子。
  • 提供了教育医疗?以前的国企是有自己的幼儿园、小学的。

南街村相比于以前的国企,只是分配了更多的资源给大家来满足生活的基础需求,而不是持续投产上,从而表现出了更加的“共产主义”,其实质还是一个国企罢了。

而南街村的模式,如果希望推广,其实只要让我们现在的国企把利润更多的放在福利上,其实就可以大面积推广,并没有什么特殊的。

2. 南极村模式似乎和改革开放背道而驰,推翻家庭联产承包责任制所带来的生产力解放?

这也是我困惑南街村模式的问题。在我看来,南街村模式有两个问题:

  1. 南街村的产品没有溢价,不够知名,无法长期支持这种福利模式。
  2. 南街村的产品模式对于留住优秀的人才没有帮助。

南街村的产品没有溢价,不够知名

导游带着游览时,带我们逛了南街村的酱厂,推广南街村的酱料。同组的小朋友提了一个问题:“为什么我在外面看不到这个酱”

ad44wf
南街村的京东自营旗舰店也没有南街村的酱。
d2b5ca33bd970f64a6301fa75ae2eb22

很显然,南街村的酱在全局来看,并不出名。而南街村的大部分产品,也都没有那么出名。这种不出名决定了他很难做出高利润的产品,产品的附加值相对较少,赚的是个辛苦钱,就很难长期的支持一个高福利社会(就像社保)。

南街村模式对于留住优秀的人才没有帮助

这个问题是比较严重的,甚至可以影响上一个问题。南街村的福利并不多,对于人才来说,他的选择必然是出走,不享受村里的福利。这种选择机制,使得最终留在南街村的人相对偏平庸,长期很难保持增长。

这种情况下需要一个极具前瞻性和极具领导力的人来带领整个村子持续往前走,那么南街村的老党委书记王宏斌可能是这样的一个人,但他之后,谁来引领整个南街村继续向前?还是南街村终将迎来又一次国企改革,员工下岗?

总结

南街村只不过是国企的一个福利加大版,并没有什么特别的。如果真的有什么特别的,大概就是南街村在当年的那个一穷二白的时代,能够提供给村民不错的分红,让村民享受更好的待遇。但南街村终究不是共产主义的答案,我们还是需要继续探索。

南街村的一些照片

kw2s4o
南街村大大的“毛主席思想永放光芒”,然鹅旁边是马克思主义、恩格斯注意、列宁和斯大林像。

南街村的“毛主席像”

de11ec653bfd12ef4ddd4c76c7aff835
南街村的“科技工作者之家”
j0u233
南街村的“红专路”
颇具时代特色的“接待条”
8rqjmn
南街村随处可见的标语
843ics
南街村的朝阳门,据说之前是小天安门,有僭越之嫌,改成了朝阳门。但挂一个孙中山像也略显出戏。

胜率优先和赔率优先

Investment Scrabble text

我们在投资过程中,会有不同的投资风格,有的人追求的是胜率优先,重点关注的是获胜的几率,则会选择一些长期更可能获胜的投资方式 — 比如购买指数基金。而也有一些人,追求的是赔率优先,通过扩大赔率,提升收益的上限,从而实现快速的获得收益。

对于我们绝大多数的普通人来说,应该选择“胜率优先”的模式,因为人生是无限的,虽然一方面我们感叹人生苦短,但另一方面,我们不得不要面对现代人平均寿命不断增长的事实。

在一个几十年的游戏当中,我们可以短暂的选择赔率优先,但终究来说,我们需要选择胜率优先的模式,以在一个近乎无限的游戏中生存下去。

Tha’s Why I Investment & Investment to Index Fund.

参考阅读

https://mp.weixin.qq.com/s/BpajqqOEp9KMsbkHhjSWng

白宦成 使用说明书 2023

适用范围

此说明书用于更好地和白宦成协作。

我感兴趣且长期关注的领域

我个人关注的领域较多,但底层的核心逻辑是我关注的领域大多和个人的自我实现有关。

在此基础之上,可以细分为:

  • AGI:AGI 令人惊艳。虽然能力有范围,但依然远超我个人的能力范围,我希望理解和利用 AGI ,并以此来优化我自己的执行逻辑和路径。
  • Web3:Web3 作为现实中金融体系的无监管版本,对于我来说,是一个学习的好地方,并且可以和现实生活中的金融进行对比,更好地理解金融。
  • 内容创作产业:帮助更多人走上内容创作的道路
  • 面向中小开发者的开发者服务:帮助更多的人可以开发出自己的产品
  • 自动化工具:解放生产力,让每个人可以去做自己想做的事情。

我会长时间关注上述领域,如果你和我沟通上述领域的内容,我会非常高兴和你详细聊一聊。

今年重点项目

  • 基于 AGI 的播客 SaaS 产品:AGI 的出现,让独立开发者可以更加的强大,对于我来说,也是让我可以更好的做到我自己想做的事情。所以,Just Do IT。
  • 自己的写作项目:写作是我的终身职业,所以我会持续,且一直投入时间和精力在我自己的写作项目上。

我的性格特质

我的 MBTI 类型:INTJ

我的排名前10位的盖洛普优势才干为:理念、专注、行动、沟通、完美、搜集、积极、分析、关联、取悦。

我是什么样的人

我既可以与人沟通,也可以与自己沟通,且我大部分时间都与自己沟通。如果我们见面沟通,那么,我会希望你我可以有不一样的观点可以分享。

初次见面聊什么好?

我很喜欢和别人聊一些不一样的体验。如果是第一次见面,不妨聊一聊最近看的书,最近去过的地方,我都很有兴趣听你分享你的故事。

喜欢的合作伙伴

  • 比起同步沟通更喜欢异步沟通的人
  • 比起语音更喜欢文字的人
  • 有逻辑有条理的人
  • 不拖欠款项(特殊情况除外)

工作/学习偏好

  • 习惯深夜工作/学习
  • 习惯在安静的地方工作,或者自带白噪音的环境
  • 不喜欢在家工作(写代码时除外,因为需要双屏)

我喜欢的沟通模式

对于细节问题,我会更倾向异步的沟通方式,你可以将问题的细节整理好,发送邮件给我,我在看到邮件后会和你具体的沟通。

对于宏观问题,我会更倾向同步的沟通方式,我们可以在这种同步的沟通方式中,探索出新的可能。

喜欢的办公场所

  • 咖啡馆:小众咖啡厅最佳,在背景音下工作体验非常好。
  • 书店:聊完可以一起逛一下书店,带两本喜欢的书回去。

活跃时间

  • 9:00 AM ~ 12:00AM:读书时间,勿扰。
  • 2:00 PM ~ 9:00PM:阅读互联网信息/查收邮件,可联系。
  • 9:00 PM ~ 11:00PM: 读书时间,勿扰。

Base 地

天津市

不喜欢什么样的人

  • 不尊重专业的人:既然不尊重专业,那何须来找我呢?
  • 抗拒将问题细节化的人:细节意味着上下文,只有充足的上下文,我们才能更好的将任务

如何付费

  • 我的咨询报价为 $1000/h(折合人民币约 6,885.70 元/小时).
  • 开始咨询,你需要支付至少 1 小时的费用;实际费用按照小时为单位进行结算。
  • 咨询时长按照向上取整计算。

你和我沟通过程中可能会遇到的问题?

某条消息很久没有回你不一定是因为我不想回,很有可能是我没注意。现在看书比较多,所以看微信相对就会少一些。不妨再 Ping 我一次。

其他

如果你看了上述信息,仍然认为有必要与我建立联系,达成沟通,那么你可以扫描下方二维码和我取得联系。

cyp8ff

《鞋狗》阅读书摘

d2b5ca33bd970f64a6301fa75ae2eb22 6
  • 创办一家企业,绝不只是简简单单的生意,诚信、信誉、正气、契约,这是商业伦理的基础和要求。一家企业只顾自己活着还是不够的,还得帮助其他人活得更加充实,在这方面《鞋狗》是一个标杆。
  • 创业机会无所不在,创业成功却会有一个周期。想要成功,一方面在于企业本身能够坚持、并能正确地坚持,而另一方面则是创投资本的发展是否能够为此提供更好的支持。《
  • 《旁观者》一书中,德鲁克写到自己曾观察那些杰出领导者,发现他们都有一个共同特点,就是充满着对世界的好奇,通过洞察、把握,总是能发现出每个人、每一处与每件事儿的独特趣味。
  • 培根在《习惯论》中的观点可以很好地解释菲尔·奈特的一生:思想决定行为,行为决定习惯,习惯决定性格,性格决定命运。
  • 我们的个性、命运,甚至是我们的基因。“懦夫从不启程,”他对我说,“弱者死于路中,只剩我们前行。”
  • 每个跑者都清楚这一点。你不停地跑步,一段接着一段,却不太清楚为什么而跑。你告诉自己跑步是为了某个目标,追求某种刺激,但你跑步的真正原因却是停下来会让你感觉到对死亡的恐惧。
  • 想起《裸体午餐》作者威廉·巴勒斯的话:垃圾商人根本不是向消费者卖产品,而是把消费者卖给自己的产品。
  • 禅学认为现实不是线性的,没有未来,没有过去,有的只是现在。
  • 日本的文化不推崇直截了当。没有人会直接拒绝你,没人会直接说不,但他们也未必会说是。他们会兜着圈子说话,既不主观也不客观。你不要觉得沮丧,但也不要扬扬自得。你可能在离开时觉得自己搞砸了一切,但实际上对方已经准备进行交易;你也可能在离开时觉得这笔生意肯定跑不掉,但实际上你已经被拒绝。你根本无法猜测对方的想法。”
  • 日本伟大的诗人曾写道:“无欲无求,放下一切。”这句话似乎已经过千锤百炼,就像日本武士刀的刀刃或山川溪流之石一样散发光芒。
  • 麦克阿瑟也有不完美之处,但他清楚这一点,他曾经说过:“打破常规者,人恒敬之。”
  • 最后一天,我在爱丽舍宫闲逛,追寻自由之路,时刻想着巴顿将军,想着他那句“不要跟人们说如何做事,而是告诉他们该做什么,让他们创造你所惊叹的结果”。
  • “每个人,几乎每个人,至少会换三次工作。所以如果你现在就职于一家投资公司,你最后还是会离开的,而你的下一份工作可能就需要从头开始。
  • 传播信念,我决定。信念才是不可抵抗的。
  • 我所学到的理念就是,销售额持续增长,有赢利能力,再加上无限的上涨空间,就等于高品质的公司。
  • 人们有种错误的想法,那就是只有杰出的奥运会运动员才称得上是运动员,但他觉得每个人都是运动员。只要你身体无碍,就可以运动。
  • 智慧似乎是无形的资产,但资产都是一样的,是充分的理由值得为之冒险。创业就是唯一让生活中的其他风险——婚姻、财富、地位,变得更有可能的事情。
  • 多页,《慢跑》(Jogging)却在向全国“传道”,它是一本之前鲜见的关于身体锻炼的“福音书”。
  • “因为,”伍德尔的母亲说,“如果你对自己儿子为之奋斗的公司都无法信任,你还能信任谁呢?”
  • 我希望自己更加自信,我希望我可以借来一些自信。但自信就好比金钱,你必须有了一部分才能获得更多。人们通常都不情愿借给你。
  • “懦夫从不启程,弱者死于路中,只剩我们前行。”
  • 很明显,“恶棍”们喜欢我营造的氛围。我完全信任他们,不会严密监视他们,这就形成了一种强有力的互相信任。我的管理方式对那些每一步都需要引导的人是没有效力的,但这个团队会觉得自由和被充分授权。我让他们做真实的自己,让他们自己动手,让他们自己犯错,因为我一直就想要别人这样对待我。
  • 很显然,他们喜欢我们的故事:一群俄勒冈体育怪人的发家史。很显然,他们喜欢耐克代言人对我们产品的看法。我们不仅是个品牌,我们还是一种态度。
  • 当一名电话维修工都觉得自己有必要教训你时,我告诉自己,也许你的行为可能真的需要改正。那一天,我对自己许下承诺,我发誓从那时起我要学会冥想,深思熟虑,每晚跑20公里,尽我所能使自己不要过分情绪化。
  • 把这个叫作“生意”好像也不对。所有忙碌的日子和无眠的夜晚,所有伟大的成功和绝望的挣扎,好像无法用这个平淡无奇的词语“生意”来概括。我们实际做的要远远超出这个范畴。每当新一天到来时,都会有50个新问题出现在我们面前,50个艰难的决定需要我们立即做出。我们都十分清楚,一次轻率的举动、一个错误的决定都会让我们走到尽头。容许犯错误的余地从来都是越来越小,但利益却从来都是在慢慢增加。我们都坚信这里的“利益”不仅仅是“金钱”。
  • 懦夫从不启程,弱者死于路中,只剩我们前行。
  • 这绝不只是生意,将来也绝不会。如果这演变成只是生意的话,这说明生意真的做得很糟糕。
  • 当然,工资的问题一直都存在。第三世界国家工人的工资相较于美国人来说低得不可思议,这一点我理解。但是,我们在每个国家和经济体的范围和体系内运营,所以不能随心所欲地付薪水。在某一个国家,这里就不具体说哪里了,当我们想提高工资时,却受到了斥责,被传唤到某政府高官的办公室,要求我们停止。我们破坏了这个国家的经济系统,高官说道。这样做是不对的,他坚持道,也是不合理的,制鞋工人的工资竟然比医师的要高。
  • 能帮助人们避开一般挫折是很好的事情。我想告诉大家要按下暂停键,花时间努力思考一下要如何度过一生,想要和谁一起度过剩余的40年。我会告诉20岁左右的青年不要因为一份工作、专业甚至职业而安定下来,一定要寻求内心的冲动。即使你不知道其中的含义,也要坚持追寻。如果你追随自己内心的冲动,将会更能忍受疲惫,每一次失望都会成为你的动力,需要攀登的高峰也会变得微不足道起来。
  • 那些破除陈规者、创新者和反叛者后背上都有一个靶子,他们越是成功,就越容易受到别人攻击。这并不是一家之言,而是自然规律。
  • 相信自己,也要相信命运。不是别人的命运,不是你自己定义的命运,而是在你内心,对命运的自我定义。

大部分中国人没有信仰

selective focus photography of monk at corridor

大部分中国人是没有信仰的。

你可能会问,中国人不是也去寺庙去拜佛,也到教堂去做礼拜。为什么说中国人没有信仰呢?

d2b5ca33bd970f64a6301fa75ae2eb22 5

维基百科中,对于信仰的定义是“人事物或概念的坚定信念或信任。”,但对于那些去寺庙拜佛、去教堂礼拜的人来说,他们可能并不坚定的认为这些“神”的存在的,他们关注的也不是自己对于“神”的信仰,而是关注神到底能为自己解决多少问题?

这也是为什么我们发现,财神庙总是香火最旺。

到底多少个错误码才是合理的?

text

在对外开放 OpenAPI 的时候,错误的设计也是一个极为影响开发者开发体验的设计点。今天我们简单聊聊关于错误码和错误处理

为什么需要错误码?

由于我们不能保证系统可以完全处理用户的请求,因此我们需要通过错误码来告诉开发者发生了不符合预期的情况。不符合预期的情况可能由用户输入错误导致,也可能由内部微服务故障导致。为了建设一个健壮(Robust)的系统,我们需要通过对外暴露一批错误码,帮助开发者更好地处理各种异常情况。

避免错误码数量过少

既然我们的目的是帮助开发者解决异常情况,那么一个合理的答案是:和异常情况匹配的错误码数量是一个好的错误码数量。

如果在某个 API 接口上提供了一个错误码,则意味着我们认为这个接口只会出现一种情况导致的错误。而实际上,很可能会有多种情况导致错误发生。这种情况经常在 OpenAPI 评审过程中被提出来,也是用户在使用 OpenAPI 时常遇到的问题:为什么我找不到这个错误码?对于开发者来说,无论输入何种错误,都会得到相同的错误码,难以定位和解决问题。同一个错误码也意味着你无法提供足够的错误信息来进行排查。例如,常见的 “400 Bad Request” 错误,如果参数很多,排查错误可能是一个极其痛苦的过程。

避免错误码数量过多

另一方面,错误码数量过多也会导致问题。有些 OpenAPI 接口提供了几十个不同的错误码,看起来感觉很不错。但是仔细一看,就会发现这些错误码实际上只是针对不同的字段错误而已,导致错误码数量快速增长。而实际上,可以将参数错误放在同一个错误码中,并通过动态的参数和原因来解决,而不是返回一堆类似的错误码。大量的错误码对于开发者来说,存在记忆困难的问题,在实际编写代码的过程中,也需要编写大量的错误处理逻辑,来兼容我们对外抛出的错误处理逻辑。

换一种思路来组织错误码

如果你无法很好的掌握拆分和组织错误码的粒度,那我可以给你一个建议:按照用户处理错误的手段来拆分错误码。过去从内部视角来组织和错误码,很容易出现错误码过多或过少的情况,而从外部视角来梳理错误码,则可以帮助我们更好的厘清错误码的分类和组织。

用户并不关注我们的系统到底因为什么出现了错误,他们只关心出现了什么样的错误?我应该如何处理这些错误?那错误码可以非常快速的收敛为以下几类:

  • 本资源参数校验错误,对应的处理策略往往是开发者需要查看文档,了解资源参数的限制, 修改参数重新调用。
  • 跨资源参数校验错误,对应的处理策略往往是开发者需要通过其他 API 获取关连资源的 ID 等信息,以便于重新调用。
  • 请求频率太高,对应的处理策略是优化调用的接口和方法,调低并发量。
  • 服务端错误,对应的处理策略是重试,并在重试无效时联系官方人员。

通过上述的分类方式,我们可以快速的将错误码归类到几个大的分类,从而实现合并同类项,收敛错误码但不至于让开发者不知道下一步 Action 的情况。

错误码不重要,错误处理才重要

看到这里,相信你对于文章中提出的什么才是好的错误码设计已经有了答案。但我想说的是,错误码从来都不是核心。实际上,如果我们回看各种编程语言的范式,大多没有错误码这种设计,而是选择将更多的信息通过 exception 这样的形式暴露给开发者。错误码的设计虽然给到开发者一个可以用来做唯一判定的数据,但可以做唯一判定的不一定非要是数字。数字错误码的设计严格来说,并不是一个好的设计,因为他使得你的代码中必然会存在某些特定的 Magic Number,你需要小心的维护这些 Magic Number 来确保向开发者返回错误时不至于返回错误的错误类型和错误码。

对于一个已经存在的 OpenAPI 系统来说,错误码已经成为既定事实,则要做的是让这套系统可以更好的运转下来。但如果你要设计一套全新的错误系统,那么类似 Slack 这样的返回形式,可能是一个更好的选择,既可以规避掉 Magic Number 的问题,又可以确保每一个错误有其对应唯一的枚举值。

p3nta3

总结

好的错误码设计是适度的,你需要学会平衡错误码和对应错误信息的数量,不要太多干扰开发者,但也不可太少,不足以支撑实际的接口调用。好的错误码可以帮助我们和开发者建设更加健壮的系统,减少不必要的沟通成本,也可以让我们每一个使用这个 API 的人,都更加的幸福。

使用 DSL 管理你的正则表达式

9ac4e9081f7d880526f74a5c114d3369

最近在写 LCTT 译文的解析工具,写正则、调试正则的过程非常的痛苦。

比如,下面的这个正则表达式就是我用来提取文章的英文标题的正则。由于 LCTT 的文章元信息存储历史上出现过多次,所以我不得不写一个比较复杂的正则来匹配出想要的结果。

比如,下面的这段代码是我用来从文件路径当中提取出不同内容的正则,看起来十分复杂,对吧?

/(?<collectDate>(?<type>(?<path>\.\/)(?:published))\/(?<yearOrSeries>(?:.+)?)\/(?<month>(?<=\d+)\.(?=\d+))?)(?:⭐️|⭐️⭐️)?(?<title>.+)\.md/

相比于看起来复杂,更加麻烦的是可维护性。正则表达式的可维护性相比于正常我们熟悉的编程语言来说,是差了一大截。基本上如果要对上述这段正则表达式进行修改或者二次开发,难度极高。但借助一些工具,我们可以使用类似 DSL 的方式来管理正则表达式,则可以以一个更友好的方式来维护你的正则表达式。

d2b5ca33bd970f64a6301fa75ae2eb22

比如,以我为例,上面这张图片中的定义,便是上方正则的等价替换。虽然写了更多的代码,但确实可读性、易于理解性和易于维护性,有了显著的提升。

想要使用,也不复杂,只需要使用对应的 DSL 语法来完成定义,即可完成正则表达式的构建。以我上面的这段正则为例,我使用的是 javascript 的 magic-regexp 包,实际使用时,大概是这样的,定义出对应的正则,直接基于其进行匹配即可。

const magicRegxp = require('magic-regexp');
const { createRegExp, exactly, oneOrMore, char, anyOf, carriageReturn, global, multiline, linefeed, maybe, digit } = magicRegxp;

const regExp = createRegExp(
            exactly("./").groupedAs("path")
            .and(anyOf("published")).groupedAs("type")
            .and(exactly("/"))
            .and(maybe(oneOrMore(char)).groupedAs("yearOrSeries"))
            .and(exactly("/"))
            .and(maybe(
           exactly(".").after(oneOrMore(digit)).before(oneOrMore(digit)).groupedAs("month")
            )).as("collectDate")
            .and(maybe(
                exactly("⭐️").or(exactly("⭐️⭐️"))
            ))
            .and(exactly(oneOrMore(char)).groupedAs("title"))
            .and(exactly(".md")
        ));
let result = regExp.exec(file_content);
console.log(result.groups.title);
Code language: JavaScript (javascript)

当然,这样的维护方式,在不同的语言下有着类似的实现,如果你使用 Golang ,那么 Rex,也是一个不错的选择。

推荐一个最近发现的好东西 — Save To Notion

d2b5ca33bd970f64a6301fa75ae2eb22 2

这个工具是我在研究别人的的 Notion 工作流时发现的,一个支持从网页中提取核心数据的 Notion Saver 插件 —— Save To Notion官网

d2b5ca33bd970f64a6301fa75ae2eb22 2
d2b5ca33bd970f64a6301fa75ae2eb22 1

和绝大多数 Notion Saver 类似,Save To Notion 也支持直接存储一个书签到 Notion 当中,对于平时需要大量阅读的人来说,这是一个和其他产品无法形成差异化的 Feature。

但 Save To Notion 一个非常厉害的功能,是你可以在你的保存表单中,设置从网页中提取数据,它应该是采用了 XPath 来实现这个 Feature,你可以根据自己的需求,从页面中选择数据来提取,从而可以基于 Notion 完全实现一套自己的数据库。相比于其他 Saver,多了一步解析数据的能力,而这个能力,可以帮助你节约许多的时间。

d2b5ca33bd970f64a6301fa75ae2eb22 3

Just Use IT!

复盘:买好资产和好价格

red and blue light streaks

我的美股持仓里有两支股票,MSFT 和 AAPL,应该说是互联网人常买的了。而正是这两支股票,让我真正理解了买好资产和好价格

从资产的视角来看,这两家企业都是值得购买的,至少 5 年内,微软不会崩盘(Windows/Office 的实力你一无所知),苹果得益于其订阅生态,也不是那么容易被干掉的公司。因此,至少在我的认知内,他们都还算是好公司。

而好价格,在我购买的这两家公司的过程中,则体现出了不同的风格。这两支股票我都几乎购买在了顶点。苹果的平均持仓价格为 $156,而微软的平均持仓价格则是 295 美元。

4yydfo
4uc7pu

从 K 线图上可以看到,我几乎是都买在了山顶,但因为实际购买的时机来看,距离山顶的距离又有所差异,苹果是左侧购买,而 MSFT 则是右侧购买。

我购买的价格平心而论,都不算是特别好的价格,MSFT 的52周最高价格是 312 美元,距离我的价格只有 10 美元左右的空间,可以预测到,这一笔投资我大概率没有什么收益。AAPL 类似,52 周最高价格为 177 美元,稍微好点有大概 20 美元的空间,盈利的机会相比于 MSFT 都要更高一点,但相对也有限。

好在是美股当中投的钱本来对我来说,也属于闲钱,不太依赖他求生,所以这笔钱大概率我可以等到它回本以后卖出,甚至是重新涨回到高点卖出,我的实际损失可能不多。

但这两笔投资还是值得复盘:

  1. 这两家公司是好公司
  2. 但我购买的价格不一定是个好价格

如何选择一个好的价格?这个就需要我们心中对其有个定价。之前我关注的主要是愿景,但确实没有仔细算过这个到底是不是一个值得购买的价格,从而导致这两笔不成功的投资。

如果基于现在我的认知,再买股票我应该做的:

  1. 计算估值:一个企业的估值的具体数值是比较难算的,但其长期的量级是相对明确的。所以我需要关注的是他到他应该有的量级的空间还有多大,这个空间便是留给我的盈利空间。
  2. 关注 52 周最高价格和最低价格:关注最近一年的价格未必是一个好的参考,但至少是一个参考。如果当时关注了 52 周最高价格和最低价格,可以看到,我其实离最高点没有多远,留给我的盈利空间非常的少,后续在实际购买时,还是应当注意我自己的盈利空间。

《无人知晓》《知行小酒馆》给我带来的反思还是挺多的。至于关于「好资产和好价格」,我推荐你看看有知有行的投资第一课,在第 9 课中的:好公司等于好股票,就提出过类似的话题。

d2b5ca33bd970f64a6301fa75ae2eb22 4

复盘:别急着上牌桌

Investment

我的美股里常年放着一些闲钱,在上一轮大的暴涨、暴跌的时候,我做了一把韭菜,把这些钱全部都投入到了股市当中。

现在回看起来,我觉得最大的问题还是当时犯了 FOMO(Fear of Missing Out) 的毛病,导致自己盲目出手,买了一些不是好价格的好资产。

但实际上,现金是最重要的,我不应该因为担心没有及时将钱投入到股市当中而带来的货币贬值,而选择盲目的购买资产。虽然通过购买资产,让我短暂的心安,但实际上可能带来更加长期的亏损。

作为持有现金的人,一方面要警惕现金的贬值(但贬值其实没有那么快),另一方面,也是更加重要的,便是不要将现金投入到错误的资产当中,带给自己更加长期的贬值的可能。

Flomo 收购幕布 – Win-Win Game

a person stacking coins on top of a table

Flomo 收购了幕布,这是个我难以相信的事情。但仔细想想,其实很合理,也很有价值。

作为幕布的原持有方,字节跳动面临着业务需要收缩,战略需要聚焦的现状,养着一个幕布团队没有太大的意义,只不过是因为之前和用户的协议所迫,不得不继续维护。能过将幕布卖出去,对于字节跳动来说,是利大于弊的。且字节跳动收购产品一般是来收购团队的,而在字节跳动的产品飞书当中,已经实现了类似幕布的能力,对于字节跳动来说,幕布的历史使命已经完成,继续留着只不过是鸡肋,刚好 Flomo 要收购幕布,就可以顺利成章的将其出售出去。

而作为幕布的收购方 Flomo,则更是一个好的选择,Flomo 本身的调性和幕布十分匹配,对于 Flomo 的用户来说是利好,对于幕布的用户来说,也不算差。而对于 Flomo 团队来说,Flomo + 幕布的组合,可以让其在知识管理上进一步拓展,挺好。

一个难得的 Win-Win 的收购。当然,对于我来说还是难以想象的,毕竟,都是字节收购别人家的产品,第一次碰到从字节收购产品的。

少楠厉害!👍。

2023, 松弛

photo of silhouette photo of man standing on rock

2022 年,为了保持对自己的压力,我保持了为期一年的高密度更新。回过头去看,我觉得这些更新有价值,将我思维中的碎片都展现出来了。但同样的,这些碎片过于简单和不集中,可能对于绝大多数人来说,其实很难有比较大的帮助。对于我自己来说,也只是将我的思维碎片提前拿出来,而不是在我自己的脑海里发酵一下。

在 2023 年,我对自己的定位是松弛,不再逼自己去做一些事情(即使这些事情的确很好),而是更加随性,不强求,看命,看运。