肇鑫的日常博客

日常

为了咖啡!我的淡炼乳寻觅之旅…

一直以来都是速溶黑咖啡➕方糖,偶尔用牛奶替换开水,再加入一些可可粉。但是牛奶每次都要单独加热,喝起来不方便。

偶然想到快餐店提供的咖啡有提供小盒的奶油,可以放到咖啡里。上网查了一下,原来那个东西叫炼乳。于是打算下单体验一下。

首先相当的还是优先支持国货。查到熊猫是国货炼乳的大品牌。于是在京东下了一单,买了少量试试。

结果一试就发现了问题。这个熊猫的炼乳是含糖的。而且喝起来感觉味道不够纯正。

上网继续查,原来炼乳又分甜炼乳和淡炼乳。于是又去搜淡炼乳。一开始没有找到小包装的。于是买了号称香港大排档都在用的荷兰产淡炼乳。

这个荷兰产的淡炼乳让我一言难尽。它的确是我在香港大排档喝到过的那种。不过,它恰恰是我最讨厌的那个味道。当年我去参加同学在深圳的婚礼,提前去了几天,先去的香港,离开香港之前,去了一个大排档吃午餐,附送的有可乐和奶茶可选。我没喝过奶茶,就选择了奶茶。结果那个奶茶特别膻。我喝了一口就放下了。之后的很多年,我都没有喝奶茶的欲望。而这个荷兰的淡炼乳就是那个味道。

咬牙喝光了这三罐荷兰产的淡炼乳。我又在淘宝上搜索。这次找到了新的品牌,还是小包装的。雀巢的。货到了。使用的时候我尝了一下,有甜味儿。看配料表,有白砂糖。中招了,这款还是含糖的。

也许炼乳这种东西在我国不常见。用淡炼乳搜索,还是会搜到很多甜炼乳的商品。需要看配料才知道它是哪种。

不过还好,这款放到咖啡之后,咖啡基本还是没啥甜味儿,和快餐店的差不多。所以,如果价格合适,我还是会回购的。

当然,下次我也许还会尝试再找真正淡炼乳。寻觅之旅尚未结束……

奶茶

这款炼乳用来做奶茶也不错。只需要红茶+开水+雀巢炼乳即可。成果如图:
IMG_0329-1512

路由安装ShellClash后,设置方面的一些小结

这段时间一直使用路由翻墙,重中之重是ShellClash的各种设置。设置好了,一切正常,设置冲突,可能就上不了网了。我并没有所有的设置都尝试过,因此,这只是我体验过的部分设置。

ShellClash的能力和限制

ShellClash可以代理TCP和UDP的流量。TCP的流量可以通过转发和TUN的方式,UDP的流量只能通过TUN的方式,但UDP必须是通过域名访问,直接通过IP访问的ShellClash会略过不处理。

模式、内核和设置

ShellClash的模式、内核和设置,是彼此相关的,你在设置时需要仔细阅读说明,考虑到他们之间的匹配性。

Redirect模式、官方内核、redirect DNS运行模式

官方内核占用的资源最小,但是功能也最精简。仅支持redirect模式和redirect DNS,能够代理TCP流量,对于UDP流量不做处理。

混合模式、Pre内核、fake-ip DNS运行模式

Pre内核功能更多一些,因此也占用更多的内存。除了可以代理TCP流量,UDP流量也可以通过TUN的方式进行代理。需要注意的是,此时必须选择fake-ip的DNS运行模式,不然UDP的流量还是无法代理。

TUN模式、Pre内核、fake-ip DNS运行模式

和上面的类似,但是TCP流量也不再使用转发,而是同样适用TUN的方式。

使用这个模式的时候,Telegram会上不了网。这是因为它是采用IP直连,会被TUN给略过。可以在Telegram的设置里,手动指定代理,方法就按照原的socks5的方式进行设置就可以。
此模式下,如果Firefox无法上网,可能是因为你同时安装了AdGuard应用。可以在AdGuard中,将Firefox设置为不过滤,然后在Firefox中使用AdGuard插件即可。

定时设置

刚开始启动时,ShellClash占用的内存是最小的,随着代理的增多,消耗内存逐渐变大。我们可以通过重启ShellClash的服务来释放内存,以免内存占用过多导致路由出现问题。我设置为每天3点自动重启ShellClash服务,因为那时我一般都在睡觉。

其他

ShellClash还有其他的一些模式和内核,但是由于我都没有尝试过,就不进行说明了。另外,本文针对的是1.6.8内测版。

Mac睡眠时经常异常唤醒问题的处理

问题

最近从英特尔芯片的iMac 5K,换成了苹果芯片的Mac mini。一切都好,就是电脑在睡眠之后,经常会异常唤醒。表现为显示器由黑转亮,同时显示为无信号;键盘背景灯变亮;外置机械硬盘启动,发出噪音。然后几秒后,电脑又睡眠了。这个过程在电脑睡眠不久就会出现,而且会连续多次出现。

这个问题对于Mac mini这种无电池的台式机还算是小问题,最多就是有点儿烦人,费些电。但是如果是使用电池的Macbook,问题就严重多了。论坛上甚至有人反馈说,自己的电脑的电池电量,一小时就耗光了。

处理

确定了问题,就要研究如何处理。网上有很多种说法。甚至苹果自己也专门为这个问题开了技术说明。

如果 Mac 意外睡眠或唤醒

你可以先尝试使用苹果的提供的方法,如果还是没能解决你的问题。你再来使用我的方式。不过,我更建议你先使用我的方式进行调查,确定原因了之后,再使用苹果的或我的方式进行处理。

分析问题

网上对于这个问题的分析有多个思路。比如利用各种日志,通过命令行过滤来查询是什么原因唤醒了系统之类的。这些方法能查到原因,但是那些原因,一般都写得很技术,往往需要上网去查是什么意思,而且指向虽然有了,但是好多却不具备可操作性。

这里,我们采取更直接的方式,直接使用pmset来进行电源设置的查询。

我注意到Ventura下M1芯片的Mac min的节能设置中,并没有Power Nap的选项。我以为是Ventura的原因,毕竟我用M1不久。但是后来我在论坛上看到,有网友指出,苹果在M1芯片的Mac,移除了Power Nap的选项。我猜测,苹果大概是认为M1芯片的Mac足够省电,所以就把这个选项移除了。保持默认开启状态。

这个是我目前正常,没有异常唤醒状态的电源设置

zhaoxin@zhaoxins-Mac-mini-M1 ~ % pmset -g
System-wide power settings:
Currently in use:
 disksleep            10
 powernap             0
 womp                 1
 networkoversleep     0
 sleep                1 (sleep prevented by powerd, mds_stores)
 Sleep On Power Button 1
 ttyskeepawake        1
 tcpkeepalive         0
 autorestart          0
 standby              0
 displaysleep         10

每个选项的具体含义,可以参考下面的链接。

pmset
另外提一下第8行的sleep项,如果你的系统无法睡眠。那可能是有应用阻止了它睡眠。你可以看看这一行括号里的应用。这些应用都是可能阻止系统睡眠的。注意,是可能,而不是一定。所以你可以先尝试将能关闭的应用先关闭了,然后再来重新执行pmset -g这个命令,看看是不是生效了。然后再次尝试睡眠。

我的Mac mini,因为是从英特尔平台的系统迁移过来的,所以powernap默认时关闭的,如果是全新安装的系统,这一项应该是开启的。此外tcpkeepalive默认是开启的。在我的系统中,这一项的开启是导致系统的在睡眠后还被频繁唤醒的主要原因。

我的理解是,当系统睡眠后,如果tcpkeepalive还开着,那么系统就会因为各种通知唤醒。同时,由于苹果系统中的一些bug,一些可能具备网卡功能设备,比如各种USB设备(因为存在USB网卡这种设备),也能将系统唤醒。比如,我就在日志中发现,系统被我的M.2的外置移动硬盘唤醒过。

sudo pmset -a tcpkeepalive 0
sudo pmset -a powernap 0 // 如果有需要的话

现在再睡眠你的电脑,应该就不会有异常唤醒了。

New macbook Pro M1 chip waking when asleep with log "SMC.OutboxNotEmpty" wake reason