普通视图

发现新文章,点击刷新页面。
昨天以前小胡子哥的个人网站

Load 持续飙高的原理讲解和应急机制

2024年5月15日 20:57

网上有很多描述 Load 的例子,将单核处理器比喻成一座桥,将 Load 比作车流,当桥上没有车的时候,Load = 0,当桥上塞满车的时候,Load = 1,当桥上塞满车甚至开始排队等候的时候,Load > 1,当 Load > 5 的时候,整座桥基本就是瘫痪状态了。

Load 中的 R 和 D

也有非常专业的研究,比如这个项目,平时我们关注比较多的是 Load1,Load5 和 Load15,表示一分钟、五分钟和十五分钟内系统的平均拥塞情况,为了更好地理解和分析 Load,作者开发了一个 Load5s 工具,能够感知系统 5s 内的 Load 情况。

对 Load 比较准确的描述是:
loadavg 文件中前三个字段是平均负载值,分别代表 1、5 和 15 分钟的作业数量的平均值,作业包括运行队列 (state R) 或者等待磁盘 I/O (state D) 两种类型

对于 State R 和 State D 的解释,可以这样去理解:

  • State R:正在使用 CPU 或者等待使用 CPU 的 Job
  • State D:正在等待 IO 的 Job,例如磁盘 IO、网络 IO 等等

由于这两种状态的存在,加上我们服务大多是多核多线程的,因此分析问题的时候就出现了如下几种情况:

  1. 单个线程中 R 状态的 Job 很多
  2. 多个线程中 R 状态的 Job 很多
  3. 单个线程中 D 状态的 Job 很多
  4. 多个线程中 D 状态的 Job 很多

接下来我们的分析也是围绕这几种情况来讨论。

不同 R 和 D 情况导致的 Load 飙高

1. 单线程中 R 状态的 Job 很多

单线程中 R 状态的 Job 比较多,往往是程序出问题了,比如写了一个死循环,循环中频繁地进行业务处理,再比如业务没有控制好并发,大批量地处理业务逻辑等等。这个时候使用 top 命令查看各 CPU 的情况,会发现,只有一个 CPU 是繁忙的,其他的都很空闲。

其实这类情况是最好定位和排查的,通常 CPU 也会跟着 Load 一起飙升。还有一种常见的诱因,比如业务将一个超大的 YAML 文本解析成 JSON,这个时候会导致十分频繁的 GC,频繁的 GC 会导致 CPU、内存全部暴涨,对应的 Load 也会上涨。极端的情况,这个进程会因为内存溢出而 Crash。

2. 多个线程中 R 状态的 Job 很多

这说明业务中出现了大量导致计算密集型的请求,落在了不同的进程上,这种情况容易出现在产品迭代后刚上线的时候,比如某个业务频繁请求的接口出现了异常的逻辑没有处理好。

针对大型系统的变更,上线之前一般会进行压力测试,在压测过程中可以暴露这种问题。

3. 单个线程中 D 状态的 Job 很多

这种情况出现的可能性比较多,需要具体情况具体分析。大家知道我们的系统时刻都在处理各种各样业务逻辑,一个请求过来会随机落在机器的任何一个进程上处理,很容易出现某个特殊的请求执行的逻辑十分繁重,比如执行了一个导入任务,将上百篇文档储存到 OSS,每次储存都有一次网络 IO,瞬间发起的大量网络 IO 对系统负载挑战也是比较大的。

4. 多个线程中 D 状态的 Job 很多

基本上可以断定是业务在做超频繁的 IO 操作,或者每次 IO 操作的成本巨大,比如从磁盘中读取一个大文件到内存,或者挂载的是远程磁盘,IO 操作十分缓慢,再比如网络异常,导致宿主机上的所有网络 IO 都 pending,从而导致 Load 飙高。

遇到 Load 飙高如何定位

CPU 是系统的一个瞬时状态,而 Load 代表的是系统一段时间内的负载情况,如果 Load1、Load5、Load15 陆续开始报警,那就比较危险了,这说明系统长时间内(至少 15 分钟)都有点喘不过气来了,这个时候必须结合 CPU、内存、GC 等指标去排查业务问题,否则下一秒可能系统就会出现瘫痪状态,业务站点假死,一直 loading 加载不出页面。

从前面的分析可以看出,Load 飙高主要是因为 D 状态和 R 状态的 Job 过多导致的,但是我们的分析工具又没有把各个进程的 D 和 R Job 数打印出来,即便是打印出来,相信很多同学也不一定看得懂。这个时候还是要去观察两类指标:

1. 系统是不是有很多 IO 操作

一般的业务系统很少出现频繁的磁盘 IO,这种在数据库服务器上出现的比较多,比如执行了一条没有加索引的 SQL,导致扫全表,这个时候磁盘 IO 就特别大,会出现超频繁的磁盘读写操作。

top 命令中有一个指标是用来衡量磁盘 IO 的:

Top

截图中的 wa,如果这个值比较高,那就要注意,是不是存在什么异常的读写操作,在 npm registry 这样的系统中可能会经常出现此类问题导致的 Load 飙高。

这种情况大概率还是出现在业务请求之中,看到最多的是一些宿主机网络不稳当,导致宿主机内容器的所有请求都超时,这个时候系统的表现是 CPU 良好,Load 持续报警。也可能因为上游系统吞吐量降低,响应迟钝,比如平时 100ms 就能响应,结果某段时间内需要 2~3s 才会响应,也会导致系统 Load 飙高。

2. 观察 CPU 的走向

CPU 高没啥问题,只要低于 70% 基本上都属于比较正常的水位,但是 CPU 高导致 Load 也跟随变高,那就有问题了,这意味着业务可能出现了死循环或者正在处理非常复杂的计算逻辑,比较常见的情况是,使用正则对长字符串做匹配,如果你的业务出现这种问题,赶紧去做一下 CPU Profile,看看一段时间内程序核心运行的是哪些逻辑,在 Node.js 中火焰图是针对这类问题的排查好助手。在做 Profile 之前也可以去看一下 GC 的特征,如果 GC 很频繁而且时间很长,基本上可以断定业务在做复杂的数据处理。

如果 Load 很高,但是 CPU 很低,这种情况基本是因为业务的 D 状态 Job 过多导致的,去看一看业务的超时日志,以及函数执行的时长。也可以去看看自己的服务响应时长,如果依赖的系统出现了网络卡顿,那么自己的系统响应地整体响应也会被拉长。

应急机制

Load 飙高可用的应急手段并不多,常见的应急有两类:

  • 确定是宿主机网络问题,赶紧去置换机器,换到其他机房或者地区
  • 确定是单进程中的 R 或 D 问题,可以考虑等他自己缓慢恢复,确定了无法恢复,比如遇到了死循环,可以考虑将进程直接杀死

总之,还是需要结合 CPU、GC、Memory 和业务日志综合分析,定位到最精确的问题再对症下药。

海外 App Store 账号和礼品卡

2024年5月15日 20:57

AI 盛行的当下,很多人都满怀好奇心,想一头扎进去看个究竟,而国内因为政策原因,AI 产品几乎已全被下架,未来需要经历类似备案流程才有机会重新上架自己的产品,因此大量开发者把自己的 AI 服务瞄向了海外市场,在 App Store 上也只在非中国大陆区上架自己的产品。

如果你要在非中国大陆区下载和体验产品,躲不过的第一个门槛是,你得有对应国家或地区的 App Store 账号,很多年前我在某宝上买了一个美区账号,用了几年之后,突然不可登录了,由于没有及时修改账号绑定的邮箱和手机号码,目前已经无法完成风险验证,相当于这个账号就没了。

事实上,申请一个其他国家或地区的 App Store 账号并不麻烦,本文的目的就是带你自助申请一个属于自己的账号,同时教你如何完成付费软件的下载。

账号创建流程

以申请一个台湾省的 Apple Id 为例,首先打开 appleid.apple.com,进入到创建流程,你会看到一张 Apple Id 的申请表单,

Apple ID Create Form

App Store 账号的申请需要有手机号码验证,让人释怀的是,它并没有强制要求你使用当地的手机号码来验证信息,因此使用你的 +86 就行了。

要知道很多软件(例如 ChatGPT/Claude 等)的注册和使用,不仅要求你的 IP 是非中国区的,还要求你注册时用于验证的手机号码也是非中国区的,如遇到这类问题,可参阅前文 《接码平台与海外手机卡》 进行操作。

填写完成后,会要求你验证邮箱和手机号码,验证完成,账号就到手了。此时的账号在登录到手机进行软件下载时,会出现如下提醒:

APP Store Attention

首次使用 Apple ID 下载软件,苹果要求你填写两个信息:

  1. 同意所在国家或者地区的协议,勾选下就好了
  2. 补充和完善你的地址信息,因为在 APP Store 购物是需要账单地址的,虽然现在基本都是走电子账单,你也是可以要求它提供纸质账单的

如下图所示:

APP Store Check

很显然,你是没有其他国家或者地区的居住地址的,不过这里可以随便填写,去 Google 上搜一下「地址生成器」,能找到很多辅助工具。完成这个配置以后,你就可以顺利下载软件了。

在上方填写账单地址信息时,无需配置付款方式,因为你没有对应国家或地区的付款工具的,置空就好,填写账单地址时确保地址+邮编是匹配的就行了,如果不匹配,那说明你的地址生成器有问题,或者填写的邮编位数不对,例如我测试的时候,地址生成器给出的台湾省邮编是 6 位数,可 App Store 只需要你填写前 3 位就够了。

礼品卡:付费软件下载

App Store 在不同国家和地区支持的付款方式有所差异,例如在中国支持银行卡、微信和支付宝等进行支付,在台湾省支持的方式就是银行卡或者电话代付,在美国还支持 Paypal。不是所有的银行卡都可以直接完成绑定的,必须是所在国家或地区的申请的,例如你在美区绑定中国的 Visa/MasterCard 就会失败。

我没有 Paypal,没有对应地区的银行卡,也没有对应地区的手机号码,怎么办?有两条路径可以解决这个问题,一个是你去申请对应国家或者地区的银行卡,例如之前有一篇文章提到,使用全部大陆身份信息就能免费申请一张 新加坡华侨银行 OCBC 的银行卡,有了新加坡区的 App Store 账号,又有了新加坡的银行卡,自然就可以完成付费绑定了,这条路很折腾。

另外一个方式也比较简单,你可以使用礼品卡(Gift Card)进行付款,礼品卡相当于一张定额的充值卡,可以给你的 Apple ID 充值金额,它的购买渠道也比较多,大多数人都会选择直接从淘宝咸鱼上购买。下面我告诉你两个其他的通道,也十分便捷。

在 Apple 官网购买礼品卡

Apple 的官网是 apple.com,点击进入到官网后,下拉到最底部,将地区切换到你 Apple ID 账号所在的区域,然后在底部找到 Gift Card 的购买入口:

Gift Card Entry

依次按照流程进行购买即可。需要注意的是,不同区域的流程略有差异,例如美国就是直接选择礼品卡,然后付费;而在台湾省,则是让你将礼品卡赠送给其他人,你需要填写金额然后填写邮箱信息,最后会给你定制成一封包含礼品卡信息的邮件:

Gift Card Send

上图中,你全部都填自己的电子邮件就好了。填写完之后下单,也会进入到支付流程:

Gift Card Checkout

这里支持中国的 Visa/MasterCard 信用卡进行支付,支付完成就会立刻给你的邮箱发送礼品卡的信息啦。

在支付宝上直接购买

目前我只找到了美区的礼品卡购买渠道,其他渠道,例如土耳其,还是建议直接上官网或者找淘宝咸鱼购买。这是网友给我留言提供的操作路径,我走过这个流程,是可以成功购买的:

支付宝地区改成美国城市,点击底部 “出境” tab 的 “折扣礼卡” 里,滑到最底部 “更多大牌折扣礼卡” ,点击打开后,找到 App store & itune,点击购买后会给你兑换码然后复制下,点击app store顶部右上角里的兑换充值码,充值就行了

不过今天去看的时候,发现支付宝的 UI 已经改版了,为了避免大家找不到,我还是截了个图,它藏的实在有点深:

1. 切换到美区地址后,往下拉,在汇率卡片下面,有一个礼品卡入口

Gift Card Alipay Entry

2. 点击进去后,拉倒最底部,找到「更多大牌折扣礼卡」入口

Alipay More Gift card

3. 点击进去后找到苹果礼品卡入口,在列表中,比价醒目

Alipay More Gift card

它支持 2 到 500 美金的任意额度进行充值,存在支付失败的可能,多尝试几次就好了,大概会在付款结束后的 15min 内在当前账户的个人页里头发卡号给你,交易前多看看文字提醒。

付费失败???

成功购买了 Gift Card,在尝试购买软件的时候,却失败了,提示「Your Purchase Could Not Be Completed」相关异常?

Gift Card Pay Failed

这也是比较正常的现象,如果你是新账号,然后立马充值了礼品卡,在点击付费软件下载的时候,会触发风控,一天后重新尝试就好了,如果持续失败,你倒是可以联系下客服,告诉他你购买礼品卡后付费持续失败,要求退款,他们肯定会帮你处理好的。

另外,如果绑定了对应地区的银行卡或者其他付款方式,风控会立即解除。

小结

你看看,够不够折腾,下载个软件,又是要申请 App Store 账号,又是要购买礼品卡,到最后还来一个风控无法完成付费。不过这些工作,也就是折腾一次,前前后后快的话,半个小时内可以搞定,倒也是可以接受的。

不知道未来苹果在整个流程上会不会再增加门槛,如果需要经常在境外 App Store 上下载软件,不妨找个时间,折腾下,先备着吧。

接码平台与海外手机卡

2024年5月15日 20:57

如果你注册和使用过 ChatGPT,那你对这篇文章要解决的问题就会深有感触,注册时使用邮箱登录后,OpenAI 会要求你绑定一个手机号码,而这个手机号码不允许是中国大陆区的,很多人都会卡在这一步。

有两条路径来解决这个问题,1)使用接码平台,临时租一个非大陆手机号码,用来接收验证码;2)你可以直接购买一张非大陆区的手机卡。本文会告诉你,这两条路径分别该怎么走。

接码平台

接码平台,顾名思义,就是能够接收手机验证码的平台,事实上,在中国,搭建接码平台是存在巨大法律风险的,这里有一篇由检察院出具的《接码平台相关方行为的刑事定性》,可以参阅,摘要如下:

接码平台相关方通过接码平台大量获取手机号和验证码,并据此批量注册转化成互联网账号,源源不断地为下游黑灰产业“输血供粮”,为黑灰产从业者筑起了隐匿身份的巨大屏障,具有较大的社会危害性和法益侵害性。现阶段对接码平台相关方行为的刑事规制仍待加强,可通过分析接码所涉主体、运行过程等,区分实名卡和非实名卡,以对接码平台相关方行为予以精准刑事定性。

本文提到的接码平台,都是国外的平台,接码范围是全球手机号码,作为使用方,主要用途在于注册海外的产品或者应用。

市面上接码平台不胜枚举,我平时用得比较多的主要是两个,一个是 5sim.net,另外一个是 sms-activate.org,它们支持全球 170+ 个国家的手机验证码。这两个平台都支持使用信用卡或者支付宝进行充值,也支持其他超丰富的支付方式:

SMS Active Pay

如果你经常使用的话,可以考虑充个 5~10 美金进去,省得未来需要经常打开支付宝进行充值。使用也是比较简单的,先选择服务然后选择国家,例如你要注册 ChatGPT 就选择 OpenAI 服务,然后选择一个国家的号码,不同国家的费用差异较大,例如美国就比印度要贵很多,

SMS Active Usage

号码选好之后,就可以看到一个等待接受验证码的界面了,你可以在验证码发过来之前取消选号,这个时候是不收费的。整体交互很容易看懂,这里不再赘述。

唯一需要注意的是,只要平台接收到了验证码,就会完成扣费动作,无论你的注册或者登录是否成功,而且你无法长期租用同一个手机号码,所有的接码都是一次性使用,因此,对于较为敏感的需要长期固定手机号码来验证的账户,不要使用接码平台。

海外手机卡

对于跟资金、信用等相关的平台,更建议使用长期不变的号码。有研究过 Google Voice,但是网上看到好多保号失败的案例,加上近期 Google 对这一块做了更严格的调整,号码丢失的概率偏大,因此更建议购买实体卡。

去网上搜到比较多的是美国 Paygo、英国 giffgaff 和新西兰 Skinny,详情可以戳 这个帖子

美国卡

美国卡分好几种,有最便宜的 Paygo,一个月 3 刀的基础费用;也有橙卡,橙卡的优势是无限通话、无限短信和流量上网,需要注意的是,通话过程要开启 WiFi-Calling,否则费用会比较贵,它的另外一个优势是,上网的时候出口 IP 是美国本地 IP,部分场景下比较有用。

橙卡月租最低 10 美元,需要一年充值 120 美元或者每月 15 美元。我发现挺多网友都选择了 Paygo。

英国卡

英国卡也分好多种,除了 giffgaff,还有 Three/EE/O2 卡,giffgaff 是这几种里头卖的最火的。

Giffgaff card

简单介绍下这张卡,因为我刚好买的就是这样:

  1. giffgaff 有多种套餐,不同套餐存在不同时效性,例如 30/90/180 天,一般适合旅游使用,到期了号码就被回收了
  2. 购买可以选择套餐,有几个套餐是不会被回收,不过要求定期消费,超过 180 天不消费,号码仍然会被回收掉,消费后会继续延长 180 天,所谓的消费:发一条短信或者打一个电话
  3. 有些套餐买卡的时候,卡里头会有几英镑的余额,用完了就得充值,可以去它的官网 giffgaff.com 进行充值,但是需要有国际信用卡或者国际 PayPal,这条路一般人都走不通;但是有网友反馈,中国的卡也行

giffgaff 的最大优点就是零月租,缺点是保号费劲。我是在某宝上购买的,98 块的卡,第二天就到了,里头有 15 英镑,每半年内消费一次(发短信打电话都行)便可继续保号半年,感觉可以用个五年八年的了……关于保号,官方的说明:

To stop deactivation do any one of the following actions at least once every 6 months:

  • Make at least one call, SMS or MMS to another number
  • Make at least one connection to the internet using your mobile data

不在某宝购买也可以获得,你可以去它的官网申请一张,会平邮寄过来,差不多一两周能到。

新西兰卡

新西兰的 Skinny 我没有具体研究,看网友说,海购 200 左右,零月租,一年充值一次,可保号。因为先看到 giffgaff,而且有同事在用,就没有过多研究其他卡种了。

小结

总体来看,美国卡成本略高一点,如果你是一个数字游民,在做出海的业务,且市场人群主要在美国,那还是比较建议你搞一张美国手机卡;但如果你只是想在网上消费一些海外产品,英国卡、新西兰卡等,都是够用的,成本也不算高。

构建你自己的信息流

2024年5月15日 20:57

我在社交媒体上给读者推荐了一位宝藏博主,

宝藏博主

很多人觉得内容还不错,但也开始犯愁了,原因是这个博主人在微博上,可自己的微博却已尘封多年,不想去关注。那有没有办法在不打开微博的同时,又能够获取到这位博主的输出呢?要知道,在互联网上,类似微博的平台还有很多很多,我们会无数次错过这样的宝藏博主。

不可控的信息流

其实大家对信息流这个概念已经再熟悉不过了,点开淘宝,首屏就是一个调和了你胃口的商品信息流,点开今日头条、点开抖音,映入眼帘的均是信息流,只不过承载信息的载体略有不同,有的是一个图文列表,而有的是一个视频列表,我们无时无刻不沉浸在各式各样的信息流之中。值得一提的是朋友圈,它是一个较为特殊的信息流,由你关注的朋友所产生的内容所构成,但随着微信成长了十年,大多数人的朋友圈也早已泛滥。

如果你跟我一样,不想安装太多的客户端,不想被太多无关的信息干扰,又想把自己关心的信息聚集到一处,那么接下来就是你关心的内容了。

构建属于自己的信息流

如何把散落在各个平台的「宝藏」信息给聚合起来,放到一块儿关注呢?长话短说,我来提供一点工具和线索,下图是构建的效果图:

Timeline

1)你需要一个 RSS 阅读器,我推荐 Reeder 5,Mac/iPhone/iPad 三端体验都没有太多可挑剔的地方,关键是它支持滚动代替已读,有些看了标题就不想点进去的内容,只要滚动条滚过去,就会自动标记为已读,如果你是一个经常上千未读的订阅者,这个功能很减压,它是收费的;有一个体验稍微弱一点的免费产品,NetNewsWire,我也体验过一段时间,还不错;

2)你需要一个将任意内容转换成 RSS 的工具,我推荐 RSSHub,https://docs.rsshub.app,它目前已经把主流媒体和渠道的内容转化成了 RSS;你也可以自己去定制,将互联网上喜欢的内容转换成 RSS;

3)我建议你找一个 RSS 平台,注册一个账号,来管理 RSS 集合,一方面可以方便你在多个平台之间同步数据,包括订阅源的增删改查,以及已读、未读、收藏等状态的同步,另一方面也可以很好地支持多人协同,例如分享你的订阅给他人,或者将他人的订阅转为自己的订阅等等;我调研了不少类似的产品,最后选择的是 Inoreader,https://inoreader.com,虽然也是收费产品,但免费额度足够使用;

接下来需要做的事情,就是去寻找自己喜欢的内容啦,这是一件长期的工作,不断去扩充自己的阅读边界;更重要的是,需要时常维护自己的订阅源,例如某些长期被略过的内容,即便偶尔出现一点点好的内容,也应该果断放弃,因为筛选成本太高了。

关于构建过程中的一些疑惑

RSS 可以说是上个互联网时代的产物,随着 Google Reader 的下线,RSS 也已宣布死亡,在国内,类 RSS 工具甚至在 APP Store 上都找不到了,具体缘由本文不继续拓展。

找到一个自己用的趁手的 RSS 阅读器会是一个首选命题,很多 RSS 聚合平台,例如 Feedly/Inoreader/NewsBlur 等等,都会研发自己的 RSS 阅读器,如果你用得习惯,觉得体验上完全可以满足自己的需求,那么上述构建过程的第一步是可以省略的。

大多数的 RSS 阅读器都可以变成一个 Local Only 的工具,再利用类似 iCloud 作为数据中介便可以实现 RSS 源的多端同步,那为啥我还推荐你找一个平台注册一个账号来管理 RSS 呢?前文已经做出了简单的解释,其实除了体验以外,最重要的还是平台会有更多的优势,例如它会帮你探索内容,当你找到了 A 时,借助平台你可以找到更多 A';再例如,平台提供了智能监测和过滤的能力,有读者提到

我之前用的 Inoreader ,核心功能是关键词监控,非常喜欢;其次是关键词过滤,设置规则后可以自定义动作。今年换了 NetNewsWire 这个免费客户端,似乎也够用。我的源是动态更新的,主要是博客、newsletters 、政务信息、媒体等。
Reader Comment

RSSHub 这个项目已经开源了很多年了,它内置了大量平台的信息源订阅能力,例如 Bilibili/Twitter/Weibo/Youtube 等等:

RSSHub Bilibili

你需要做的,就是上去找到自己需要的博主,然后把对应的 ID 给扒拉下来,拼接成 RSS 源,加入到你的 RSS List 就行了。

去行动

或许你十分享受沉浸在不同社交媒体带来的信息流体验之中,那这个工具可能也不会适合你。有的人会觉得这个操作有点硬核,上手成本略高,我只能说,所有的一切都在那里,有的人看到以后会去实践,而有的人只是把本文收藏起来,然后尘封。🐶

工具的构建只不过是起步,关键在于持续挖掘对自己有益的信息源,不断拓展自己的阅读边界。再次强调,在构建信息源的过程中,需要长期保持对信息源结构和内容的更新,确保获得的信息是对自己有效且能够产生认知增强的,否则,所有的行动,只不过是给自己构建了另外一个信息蚕房罢了。

新加坡华侨银行 OCBC 开户小记

2024年5月15日 20:57

最近看到好多人推荐开通新加坡华侨银行 OCBC,这是我目前为止看到唯一一个,使用全部大陆身份信息就可以安全开通且没啥后顾之忧的境外银行卡,之前尝试开通 Wise,获得了一张英国 Visa 卡,但没有英国境外地址一直让我担忧被风控,而 ZA Bank 需要肉身去香港才能开通,因为它要求你提供出境记录,而且本质还是一张虚拟卡。

OCBC

境外银行卡

如果你平时炒美股或者港股,此刻手里头肯定已经有了一张境外银行卡,至少香港卡是有一张的,几乎所有的美股港股的证券入金都要求你使用境外银行卡。我手里头就有一张招行香港一卡通,办了差不多十年了,这张卡有两个毛病,一是不能线上消费,它没有 CVV(Card Verification Value),例如给 Github 续费,购买 Twitter 会员等,这张卡就使不上劲,另外一个问题是管理费较高,其实大多数的境外卡都是有管理费的,如果卡里钱比较少的话,它的扣费就比较恐怖了,这是官方客服的回复:

账户管理费收费标准:每月5号扣款,扣款当月审核前3个月日均资产

  • 前3个月日均资产达到等值10万港币及以上不收;
  • 前3个月日均资产在等值5000港币至10万港币之间,每月50港币,电子账单优惠至10港币每月;
  • 前3个月日均资产低于等值5000港币,每月150港币,电子账单优惠至100港币每月

所以简单来说,如果你有海外的购物、消费场景,或者有炒股需求,搞一张具有 CVV 的银行卡(信用卡、储蓄卡都可)是不可避免的。香港很多银行的卡片在大陆就可以办理,例如民生香港、汇丰香港等,不过他们都有一定的门槛,要求你在卡里存 10w~30w,放一到三个月,或者购买他们的投资理财产品才允许申请,还得去网点柜台。

那有没有低管理费,又可以方便快捷办理的境外银行卡呢?其实还挺多的,本文要介绍的就是新加坡华侨银行,OCBC。

OCBC 的在线开通和踩坑记录

OCBC 是新加坡第二大行,完全有保障,其账户的开通全程都可以使用大陆 IP 操作,还是比较便捷的。我按照网上的教程走了一遍流程,已经成功开通,简单介绍下踩过的几个坑:

1)使用 OCBC Digital 这个 APP 就可以完成开通,过程中它会要求你使用手机的 NFC 功能扫描护照芯片信息,所以你的护照本、身份证要准备好;申请时需要注意,公众人物要填否、是否自雇要填否,另外你的大陆税号就是你的身份证号。我遇到的两个坑:刚开始税号填的是无,结果一周后审批没通过,审批失败它不会告诉你任何原因,你得自己斟酌;申请通过后还需要做一次 kyc 认证,我认证了十几次才通过,原因是减肥以后长相发生了变化,后来找到一个技巧,拍照的时候手机稍微倾斜可以显得我的脸比较大,更容易通过😅

2)申请完成后会获得两个账户,一个是新币种账户 SSA,一个是多币种账户 GSA,在半年内入金 1000 新币就可以激活账户;关于入金,国内的工行、招行等软件上都有跨境汇款入口,可以将你的人民币兑换成新币现汇,然后走跨境汇款转入 OCBC 账户即可,一般一两天可以到账;我是先通过香港银行转 Wise,然后使用 Wise 转 OCBC 完成的激活,手续费 20 美金,耗时四五天,如果你 Wise 上有钱的话,可以直接走 Wise 新加坡账户的 fast 转账,它是最快的,瞬间到账,还免手续费

3)SSA 和 GSA 是两个虚拟账户,不会发放实体卡,如果你只是炒美股港股,有这两个账号就可以顺利入金了,但如果要进行线上消费,例如给 Twitter/ChatGPT/MJ/APP Store 等充值,还是需要搞一张具有 CVV、过期时间等信息的卡片;在 OCBC 的 APP 里头可以开通一个 360 账号,申请完成会获得一张 Visa 虚拟卡,你可以选择邮寄对应的实体卡,也可以不要实体卡,有没有实体卡唯一的区别应该就是可以在 ATM/POS 机上消费吧😄。这里的一个坑是,实体卡和虚拟卡的 CVV 是不一样的,激活了实体卡之后,虚拟卡的 CVV 就作废了

4)获得了 360 账户的 Visa 虚拟卡以后,就可以绑定 Apple Pay,也可以在苹果商店进行消费了,这里的两个坑是:我在添加 Apple Wallet 的时候一直失败,正确的姿势应该是将手机的地区、时区都切换成新加坡,语言也切换成英文,看起来这应该是苹果自身的限制;另外一个坑是,在 APP Store 真实消费的时候会报错,报错原因应该跟实体卡 CVV 变化有关,我的实体卡还在邮寄的路上,等到了再验证下

5)OCBC 账户第一年是不需要年费的,一年后,账户低于 1000 新币,每月收取 2 新币的管理费——这比招行香港要便宜,招行香港低于 5000 港币时,每月收 150 港币的管理费——而高于 1000 新币则不收管理费,门槛还是比较低的

网上看到有人说自己秒开通账户,而我因为首次没有填税号,前前后后申请了两周才成功,看看大家的运气如何吧😄,OCBC 的开户有一个推荐码 IER9FDOS,使用的话,你我都会获得 15 新币的奖励,这个是可选项,随意就好。

关于开通细节,相关讨论的帖子在 这里

申请一段时间后的一个踩坑

新加坡华侨银行 OCBC 的安全校验做的实在是太严格了,密码输错三次,直接账户限制登录,OneToken 限制使用。解除登录限制需要给新加坡客服打电话,会有人工询问一堆账户相关信息,包括卡号、账户数量、护照、余额等,确认后可以重新登陆,但依然无法使用 OneToken,也就是无法添加收款人,无法完成转账,不影响收款。OneToken 的激活方式是一个 6 位数的激活码,它竟然要通过邮寄的方式寄过来😂,之前的首次激活是短信认证的,难怪有读者留言说,换手机时要谨慎,原来重新激活 OneToken 这么麻烦……

网友提醒:“可以打客服,让他们发到app里的安全邮箱里面。邮寄信件就不用等了”,我电话确认了下,支持两天后给我的安全邮箱发送激活码,但是需要继续打电话过去,当场操作。另外,原来安全邮箱不是我的 Email,而是手机软件里头的「安全邮箱」。
OCBC 银行的客服在早上九点之前只有英文客服,第一次用英语连续交谈超过十分钟,过程中不停确认对方说的话。我又多了一个足够的动力好好练英语了🥲

另外一个小提醒,跨国信件一定要在地址栏中把手机号码给带上,他们发出来的信件可能不包含手机号码栏,而地址写的要么是英文,要么是拼音,快递小哥很容易看迷糊然后送丢😂

Q&A

在发布到社交媒体的时候,有网友指出,我说的不太对,正确的信息是:

国外人开通 Statement Savings Account (SSA) 默认第一年账户管理费免除,一年后如果余额达不到S$20,000,手续费为S$10/月。可以只保留 360 account,最低结余3000即可,否则手续费S$2/月。SSA账户6个月无余额自动关掉。

大家在开通之前,也可以再去阅读一下官方文档,管理费是比较值得关注的一个问题。按照网友的提醒,SSA 和 GSA 都是可以考虑关闭的,最后只保留 360 账户,这样卡里头放 3000 新币就可以免手续费了,即便低于这个门槛,一个月 2 新币的管理,个人也是可以接受的。

Q: 想问一下那个手机NFC扫描护照,一直没有扫描成功是什么原因

找准姿势,芯片应该在护照偏上方的位置,放着不要动,等那几个点都变绿色就成功了,我也试了好几次。貌似有些手机型号 NFC 就是有问题的,具体型号不知,我的是 iPhone 14 pro Max,正常。如果一直失败,需要确认下,你的护照芯片是不是损坏了,或者过期了😂

Q: 看了一下 是申请成功后要转入1000美元

是 1000 新币,不是美金,美金单位是 $,新币是 S$,不要看错了。

Q: 抱歉暂时无法处理您的请求

换一个时机,再重新尝试下吧,不能处理你的请求,不一定是你的问题,也可能是银行自身服务的问题,还有可能是申请的人有点多导致的,银行可不会告诉你具体原因。

网友回复:换个时间,我失败了几十次,过了几天一次过

Q: 税号是什么?

税号就是你作为纳税人的编号,你可能拥有多个税号,例如在中国,你的税号是身份证,在香港工作,你的税号是护照或者香港身份证,在美国工作,你的税号是 SSN/ITIN。个人有税号,企业也会有税号。在申请的时候填大陆身份证就行了,填多了没啥好处。

Q: 你每次转账都给20刀手续费吗

如果你有其他新加坡账户,或者开通了 Wise,可以使用 Fast 转账,这是新加坡国内账户间转账最快的方式,一般情况都是免费的。花 20 刀、100 多港币等基本都是 Global Swift 转账,跨境收取手续费比较高。

Q: 一般都是国内卡转出去阿 wise 是否能绑国卡或港卡后免费转账呢

Wise 不存在绑卡,但是可以申请 Wise Debit Card,目前还没有大陆和香港的储蓄卡可以申请,因此无论是向 Wise 转账,还是向新加坡银行转账,都只能走跨境转账,手续费应该免不了。你也可以尝试下使用熊猫速汇,跨境转账手续费要低不少,比较靠谱。

最后,温馨提示,使用 OCBC 邀请码 IER9FDOS,可获得 15 新币的奖励哦,银行卡办理过程中如遇到了问题,可在文章底部留言,我会定期过来解答。

还写博客么?

2024年5月15日 20:57

随着云计算和人工智能的发展,Web 3.0 悄然来袭,没有哪个标志性的事件宣布 Web 2.0 走进了尾声,但可以这么说,在发展不均衡的时代背景下,Web 2.0 很长一段时间都不会消失,它只不过不再是这个时代的主角了。

本博客从 2013 年开始,基本上 每年 都会输出一点东西,就这么写着写着,写了十年,最近两年在推特上活跃多一些,长内容就写的很少了。还写博客么?我最近也在思考这个问题。

十年前,刚走进职场,构建个人影响力可以说是写博客的最大动力,学习-分享-交流-再学习,按照这个模式走了多年,也让我养成了热爱分享的习惯。过去的表达大多带有功利心,希望文章能够有更多曝光,获得更多影响力;也带有虚荣心,希望文章有更多人点赞、转发,获得他人的认可。随着职场逐渐成熟,这种功利心和虚荣心的表达逐渐减少——当然,不可能完全没有——很多东西写了,都是给自己看的,开始把写作当成了一种记忆转存的手段。

在技术学习阶段,我对自己的写作提出了一个基本要求,那就是写搜索引擎没有的东西,如果搜索引擎有,那我就写最全的内容,否则写作就没有太多的价值,互联网从来不缺一篇重复的水文。后来自己获取信息的能力变强了,发现几乎所有的问题,互联网都给出了答案,写作的动力持续在减退。最近一年多,ChatGPT 横空出世,别说技术问题,就连生活上的问题,找它问上几句,它都可以清清楚楚、明明白白地把内容写的特别好,因此写作的动力又下降了一波。

在这个被短视频主导的信息时代,文字的力量显得越来越弱,可我始终相信文字的生命力。在 2019 年我就卸载了短视频软件,后来微博、微信、Twitter 又陆续搞了短视频,每次点进去就会消耗半个多小时,可看完关闭屏幕,再去回味,却好像啥也没看;约莫在 2020 年我卸载了所有社交媒体软件,微信也关闭了消息通知能力,手机的使用时长从每天 6+ 小时,缓慢降低到 1+ 小时。这个变化带来的影响一定是有正面价值的,我把多出来的时间都放到了读书和陪伴家人上,当然啦,也干了很多其他无意义的事情。

那还写博客么?似乎这个问题也不是那么重要。如果为了记录而记录,那记录这件事情也变得没有价值了。人的一生都在跟空虚和无聊对抗,写作不外乎也是其中一种。

此刻的写作就是为了记录。
记录自己心理的变化,记录生活的变化,记录工作的心得,记录我对这个世界认知的变化。
如果在记录的过程中可以带来外在的声量,获得一些有趣或无趣的反馈,那都是一件值得庆幸的事情。

完)

读书笔记《当呼吸化为空气》

2024年5月15日 20:57

作者:保罗·卡拉尼什
image
保罗一生都在追寻生命的意义。

“I can’t go on, I’ll go on”,看到最后才明白,我无法前行——没有办法继续从事热衷的事业;我仍将前行——因为还活着,还在追寻生命的意义,弃(转)医从文可以帮助我继续前行。

到底是什么让人类的生命充满意义?保罗说,“要么去研究生命的意义,要么就去亲自经历和体验生命的意义。”

东边已是青天白日,阳光扑面而来,西边的黑夜却毫无屈服之意。黑夜与白天的分界,这景象如此崇高伟大,大概也没有哲学家能很好地用言语来解释。每当此时,就仿佛上帝在说:“要有光!”在高山、大地、宇宙这无限的辽远广阔之中,你情不自禁地觉得自己是渺小的一粒微尘,然而还是能感觉自己的双脚踩在大地上,确信自己存在于这庄严宏伟的天地之间。
在浩瀚的宇宙面前,人从来都是渺小的,不及一粒尘埃。但是从内心去看自己,又是那么的强大而包容,大到可以容纳整个宇宙。

我选择医疗事业,部分原因是想追寻死神:抓住他,掀开他神秘的斗篷,与他坚定地四目相对。神经外科对我的吸引力,不仅仅在于大脑与意识的交缠,更在于生与死的纠葛。我以为,在生与死的空间中,我一定能找到一个舞台,不仅能凭怜悯和同情来采取行动,自身还能得到升华,尽可能地远离所谓的物质追求,远离自我那些微不足道的小事,直达生命的核心,直面生死的抉择与挣扎……
在医院,保罗每天都在跟命悬一线的病人打交道,死神为生命开启了一场拉锯赛,保罗在这场赛事中,在无数次生与死的较量之中,从参与者到亲历者,从未停止战斗,甚至一度转换自己的角色,转医从文,继续抒写生命的意义。
我意识到,在给病人的脑部做手术之前,我必须首先了解他的思想:他的个性,他的价值观,他为了什么活着,要遭遇什么样的灾难,才能合理地终止这条生命。我是如此渴望成功,也为此付出了很大的代价,有些无法避免的失败让我感到几乎无法承受的负疚感。正是这些包袱,让行医变得神圣而完全无法想象:背负起别人的十字架,你总有时候会被重负压垮。

“别因为你要死了才去做或者不去做某件事情,而是要找到自己认为重要的事情,不管什么时候,只要去做”,当死亡驾临之时,已经没有了内心的束缚,眼前所看到的一切都已发生变化,也正是哪个时候的自己,才是凭着自己的内心过活,拿捏得清楚什么是最重要的事情。

云服务使用过程的问题小记

2024年5月15日 20:57

记录最近使用基础云设施的过程中遇到的几个有意思的问题:

1、OceanBase 数据库锁问题
给业务数据模型扩充了一个远程方法调用,利用 ORM 的 hooks 特性加到了 afterCreate 中,导致偶发数据库锁。原因是业务存在事务处理批量调用,新增的 RPC 操作让事务整体时长变得十分漫长,过程中出现了对同一实体的操作被锁。

2、RocketMQ 消息不消费产生堆积
开发环境和测试环境复用了同一个 MQ 消息 Group,为了区分不同的环境,消息在提交和消费的时候都增加了 env Tag,结果在消费的时候,始终丢消息。原因是同一个 Group 对应的 Consumer,其 Topic 和 Tag 必须保持完全一致,否则会因为 RocketMQ 储存模型和消息拉取模型的设计问题导致消息消费不了。

3、MongoDB CPU 暴涨
为了查询更快,给一张表增加了复合索引,突然在某段时间,MongoDB 的 CPU 上涨,飙高到 100%。原因是表体积增长过快,插入一条数据时,需要完成大量的索引更新,每次更新耗时会超过 100ms,服务器不堪重负,最终导致吞吐量变成零。

业务规模扩大之后,类似的云服务使用问题会出现的越来越频繁,也正因如此,事情变得越来越有意思了。感知这些问题,需要对服务的使用和原理有比较全面的了解,同时也需要掌握相应的工具和方法,把核心问题的监控做到位,才有可能避免线上故障。

孩子出生第一天的一些点滴

2024年5月15日 20:57

今天是个特别的日子,家中又迎来了一位小公主,生第一胎的时候,懵懵懂懂,啥也不会,孩子哭了,就等着月嫂过来照顾,看着学着,也没摸出多少门道,等月嫂走了,连忙又签约了一名家庭医生,闲暇之余,就是各种阅读育儿说明书,忙起来的时候也是一地鸡毛。
image

二娃多多少少有了一点经验,依稀还记得四年前,也是在手术室前,焦急地等着,担心孩子,担心老婆,担心自己的身份即将发生变化。今天早上守在手术室前,些许的紧张自然也是免不了的,不过想到现代医学之成熟,时间流失也快了不少,在等待的那一个多小时里,屁股竟没有离开过板凳。很快,就看到医生推着老婆和娃出来了。

孩子离开母体,来到这个世界,感受最多的是孤独和陌生,而表达这种情绪的唯一方式就是哭闹。在病房,四处皆是孩子啼哭之声,一天二十四个小时,从未停歇。第一胎的时候,完全听不得孩子哭,稍有响动,便会跑过去,拍一拍,安抚安抚,若安抚不好,还会抱起来摇一摇、哼一哼,让她感受到自己在被关怀。

刚出生的孩子,会被医生抓出来做各项检查,直到离开产房进入病房,在这段时间里,孩子的体温会有所下降。因此,新生儿回到病房的第一个小时,就是贴着母亲的身体,取暖,这也是一剂赶走孤独感的良药。看着此刻的娃,整蜷缩在母亲的怀里,大人悬着的心也塞回去了一大半。

新手爸妈最担心的不是孩子哭闹,而是面对孩子的哭闹,不知所措。刚出生一天的孩子,胃容量只有 6~8ml,在奶嘴边嘬两下,肚子就会鼓鼓的了,但这对于还没有开奶的妈妈来说,却是一件让人头疼的事情,孩子半天嘬不出奶,刹那间,便闷红着小脸,皱眯着双眼,张大嘴巴,哭喊起来,偶尔还能看到眼角噙着泪水,甚是惹人怜爱。

刚出生孩子的吮吸是条件反射,她以为自己还游荡在母体内,咕噜咕噜地,羊水一口一口进肚子,无论饿不饿,吮吸是不会停的,所以也会看到,孩子在无聊之时,抓到什么便吮吸什么,实在没啥可抓,就把自己的小手指头塞进嘴里,嘬得正经有味。

孩子每隔两个多小时,就要准时吃上两口,标准时长是十五分钟,能把奶嘬出来那是最好,若嘬不出来,接下来便是声嘶力竭、雷霆怒啸。还记得一胎刚出生的当天夜里,因为嘬不出初奶,转身就成为了整个楼层的啼哭比赛冠军,搞得护士不得不整点其他奶给孩子止止馋。

以前在新生儿身上听的最多的是黄疸,直到今天才正儿八经搞明白它是个啥,孩子刚出生,代谢很快,红细胞在代谢过程中会产生胆红素,而新生儿的肾脏还没有发育完全,对胆红素的处理能力不足,因此会看到孩子皮肤开始泛黄,怎么办呢,其实很简单,多吃多拉。说起来是简单,做起来就需要靠妈妈和孩子的良好配合了,奶要备足,而且孩子要准时喝、顺利拉,需要细致的照顾。

所以呀,养孩子,就是这么点事儿,吃、喝、拉、撒。
今晚肯定是个不眠夜,😄

读书笔记《乌合之众》

2024年5月15日 20:57

作者:[法] 古斯塔夫·勒庞
image
一本几万字的心理学著作,两个小时读完了。读的太快,好多内容没有消化完,又花了大概半个小时去回味自己感兴趣的部分。

作者把群体当做一个特定的研究对象,如同研究一个具体的人一般,去分析这个对象的性格、行为和特征,通过对历史事件的解读,持续论证自己抽象和归纳的内容。例如群体是如何获得思想的,先从思想的特征开始,将思想概况为两类,一类是瞬间的内容,一种是稳定性很强的内容,“对群众灌输任何思想,器表现形式必须是很绝对、很强硬、很直白,不然就不起作用。所以任何思想都必须化装成形象,才能传递给民众。”,思想会变成一种情感,最后深入人心。

作者的文风十分跳脱,即便是重新跑回去回味,也没有抓住作者对大众心理进行分析的基本逻辑和推演过程,反正就是看着看着,作者就会突然冒出一个结论,即便是把之前写的几页铺垫再读个两三遍,也无法得知这个结论的推理过程是怎样的。这或许跟作者所说是自洽的,“对于渴望理想的心灵来说,科学是不够的,因为科学不敢承诺太多,因为它不会撒谎。”

这本书也是通过迎合乌合之众的方式,把读者带进了“群体”之中,让读者学会用群体的思维来思考。还是值得再精读一遍的。

回味是苦药

2024年5月15日 20:57

有什么法子可以快速从一段失败的恋爱中走出来?有人说,是马上进入到下一段。

回味是苦药,在过去停留的越久,脑子里就不会有多余的空间去思考未来的事情,我们的思考也是有带宽的。同样的道理,每天都会遇到各种让人不愉快的事情——这取决于心情,这些糟心事如果不能快速从眼前消失,那么注定就会迎来痛苦的一天。

我从一位脊椎受伤下半身瘫痪的残疾人身上学到两点:

  1. 每天遇到最多的事情就是从椅子上摔落,如果沉浸在摔落的疼痛和与过去健全自己的对比之中,那么这一天就废了,如果一直这样,那这一辈子都废了
  2. 坐着轮椅参加了七次马拉松,走在路上,都会跟人喊一声“麻烦让一让路”,腿最大的作用还是行走,当轮椅上的自己“行走”速度已经超过了大多数人,那就不用再纠结残疾的问题了

无论是悲伤还是喜悦,这种情绪就像麻醉剂一样,让人停滞不前。收拾收拾心情,马上投入到下一件事情之中,才能尝到苦药的甘甜。

不活成他人眼中的自己

2024年5月15日 20:57

听一个分享,有一段内容比较有意思:
What people say about you and what people think about you, it comes from their view of the world, It’s from their opinions and their values and their experiences. Maybe they having a bad day, or they’re very insecure or unhappy. It has nothing to do with you. And the way other people treat you is not reflection of who you are, it’s reflection of who they are. So now when someone says somethings hurtful to me, it still hurts, but not as much, because i know it probably has nothing to do with me.

有的时候,人们就是太在意别人的评价,因此不敢表达,不敢做真实的自己。别人的话重要么?毫无疑问也是重要的,尤其是在离开父母和学校以后,不会再有人对自己做过多的评价,一旦感知不到自己的全貌——好的和不好的点,也就无法快速识别和改进自身的问题。

别人对自己的评价,反应出来的不一定是真实的自己,因为每个人看待这个世界的方式受到他此刻的心情、认知和经验的影响,如果对自己没有深刻的认知,就很容易误认为自己就是别人眼中的自己,要知道,活成他人眼中的自己很累,也永远都活不好。

别人说的话或许也不重要,但自己对别人说的话所做出的反应,一定是重要的,所有的反应都是最真实的自己。

东风不来

2024年5月15日 20:57

万事俱备,只欠东风,但东风往往就是不来。
不能总想着把所有的准备工作全部做好再把脚踏出去,身体不往前倾,就永远不会有迈开腿的念想。
事情太难,往往是心里觉得它难。都没有去践行,甚至没有去思考如何破解难题,如何就知道这一步踏不出去呢?退一步想,即便行差踏错,也就是损失些时间罢了,有太多重头再来的机会。

行左右之事

2024年5月15日 20:57

能左右之事,寥寥无几,能投入的时间,亦是极其有限;缩小关注的圈子,才有机会让聚焦的事情占据更多的时间;保持好奇心,但也别让好奇心把自己带进了迷宫;时间是最大的成本,放平心态,戴上耳机,暂时性地忘记一切,迈好眼前的步子。

核酸数据通大难题

2024年5月15日 20:57

在湖南做了核酸,只有湖南的健康卡能看到核酸记录,浙江的看不到,原因好像是湖南做的没有上传到国家平台。
数据通还真是一个国家难题。打了一个多小时的电话,联系了八个部门和单位,有几个结论:

  1. 省级数据需要上传到国家平台,数据才能互通
  2. 湖南核酸平台的数据跟国家平台不通,但好像又能通,这里有细节技术问题,但找不到具体接口人,没有明确的信息告知哪里做核酸数据一定能通
  3. 疾控中心现在只关心红黄码问题,不关注核酸检测报告问题,公共卫生系统和各级疫情防控部门都不关注,上级部门不了解下级部门的执行细节,下级部门不处理涉及上级部门的问题,所以如果是下级部门用到了上级部门的系统,并且出了问题,就会发生死锁
  4. 省级和市级对区级的核酸检测没有做任何数据上报的规范,在湖南就统一用湖南健康卡流通数据,流通范围也只在湖南,之所以不用身份证是担心个人信息泄露

生在这个问题很多同时也意味着机遇很多的时代,只能寄希望于国家政府部门能做的更好了。另外,市长热线好评,问的很详细,记录的也很全面,希望能够推动问题的解决。

一切都是最好的安排

2024年5月15日 20:57

端午回老家,五点起床,飞机转高铁,也算是够折腾的,本以为飞机会晚点,没料想非常准时。可千算万算没算到最后单程仅两刻钟的高铁竟然晚点两个小时,耽误了回家吃午饭。更悲催的是,看到火车晚点后,立马又改签到另外一班,结果晚点时间变得更长。瞬间就有了一种出门踩到狗屎的无奈。

外头的天气也是见鬼一般跟人做对,一场雨在头顶上迟疑了大半个上午,要下不下,高铁站内摩肩擦踵,整个人汗涔涔的,仿佛跟闷热的空气粘在了一起,甚是焦躁。

在麦当劳找了一个角落坐了下来,打开音乐,挂上耳机,木讷地注视着前方。恍惚中看到,坐在隔壁的小孩在喧闹,一对中年夫妇对视着交谈,女孩举着手机在看小说……叮铃铃,孩子妈妈的手机响了,恍惚中听到一句:“火车晚点了,一个小时,正好,中午在火车站吃个午饭”。

是的,正好。火车正好晚点了,我正好坐在这里,正好看到了眼前的一切,正好我可以回去赶晚饭了,正好在百忙之中回一趟家……

那,我刚才在焦躁什么?是因为晚点的高铁让我滞留在火车站么?是因为人潮汹涌的火车站让我感到窒息么?不知道是不是想通了些什么,那种感觉不见了。

诚然,火车的晚点是我无法控制的,就好像疫情也无法阻止大家回家过节一样,我能做的就是放平心态,去感受此刻自己的内心。想一想,我在哪里,我在做什么,我将要去往何方。或许我们所遭遇的一切都是最好的安排。

点了一杯冰镇的饮料,一口下去,心也凉快了。

2022年06月02日22:18:04

平静、智慧和勇气

2024年5月15日 20:57

朋友准备离开杭州,一起吃饭,畅聊了四个多小时。

生活都会驱使我们去追求很多东西,“放下”二字说起来是轻松的,但真的去放下时,又变得百般困难。所以我们需要有足够的智慧,去看清楚哪些是自己能够改变的,哪些是不能被自己所左右的。

掰着手指头盘下来,自己能改变的最多的便是自己——心理、态度、行为、性格、习惯,改变一二,就会影响我们看待这个世界的方式。最无奈的是,无数次看到自己的问题,却没有勇气去改变它。

想起来了尼布尔说的那句祷告词:
上帝,请赐予我平静,去接受我无法改变的;给予我勇气,去改变我能改变的;赐我智慧,分辨这两者的区别。

那些难以撼动的,可以去感受它、理解它,平静地对待他。内观自己,看清楚哪些是情绪的波动,哪些是真正驱动自己的东西。

放下身段,变成孩子

2024年5月15日 20:57

今天跟同事讨论养孩子,他家的十来岁,我家的四岁。我说四岁的孩子调皮捣蛋,干啥都不专注,得像个办法治一治,不然长大了就治不了了。

最后讨论下来,问题的根源还是在家长,想让孩子专注,首先自己得有耐心,自己能保持专注。放下大人的身段,以一个孩子的心态跟她一起玩、一起学。心里的认知需要先跟上,以前总想着用最经济、最省事的方式陪孩子,结果适得其反。

如果想让孩子喜欢上一件事情,就需要让她感受到喜欢这件事情带来的乐趣,最起码要让孩子感觉家长对这件事情也是有兴趣的。我期望孩子能够爱上阅读。

让孩子爱上阅读有一个天大的好处,她未来会把自己大把的时间都泡在书里,爱上梦幻的王国和丛林的松鼠,爱上书里的人和事。读书的时间多了,玩手机的时间也就少了,上房揭瓦的时间也会变少。我只需要在她四岁的时候花一到三年时间带她找到读书的乐趣,就有机会在未来十年收获一只有书香的闺女,这笔时间投资想想都不亏。

接下来,我打算多购买一些“无用”的儿童书籍,各式各样的,跟她一起学习,这件事情可以先做三年。“有用”的书我已经不打算买了,孩子越学越抵制。

是权利,也有义务

2024年5月15日 20:57

MIT 协议是一个宽松的协议,它允许使用者对内容做几乎所有的操作,不做限制,唯有一点,必须保留版权声明,什么叫做保留版权声明?就是把 MIT 协议的这个文件或者链接保留在你引用源内容的地方。对于文章类可以采用 CC-BY 协议。

有人说,我在网站上用了别人的开源产品,如何保留版权声明呢?有两种方式,一是在代码引入处保留协议,有些代码压缩工具能够识别协议内容的;另外一种可以如图所示参考 Chrome,在产品的关于页,清清楚楚地把所有用到的开源产品及其协议展示出来。
image
image

那些只行使权利不履行义务的使用者,拿自己不知道、不懂作为由头,欲撇开所有责任,不仅仅是不道德,其实已经触碰了法律的边界。

❌
❌