MacOS English terminal Chinese garbled characters solution (MacOS英文环境终端中文内容乱码问题解决)

MacOS English terminal Chinese garbled characters solution (MacOS英文环境终端中文内容乱码问题解决)

Problem presentation

1
2
3
4
5
6
LANGUAGE = "en_US:en",
LC_ALL = (unset),
LC_CTYPE = "UTF-8",
LANG = "en_US.UTF-8"

warning: Falling back to a fallback locale ("en_US.UTF-8").

此问题常见于MacOS系统升级、OpenSSL升级后,terminal终端ssh远程链接时发出警告。

Solution

在MacOS本地终端:

1
sudo vi /etc/ssh/ssh_config

注释默认配置:

1
SendEnv LANG LC_*

重启终端即可。

References

参考

Eight Fallacies of Distributed Systems (分布式八大谬论)

Eight Fallacies of Distributed Systems (分布式八大谬论)

Eight Fallacies of Distributed Systems

The network is reliable

网络可靠。

Latency is zero

延迟为零。

Bandwidth is infinite

带宽是无限的。

The network is secure

网络是安全的。

Topology doesn’t change

拓扑不会改变。

There is one administrator

只有一个管理员。

Transport cost is zero

运输成本为零。

The network is homogeneous

网络是同质的。

GitHub以及其他GIT平台中启用GPG2认证基本使用流程(MacOS),增强身份识别和安全性

GitHub以及其他GIT平台中启用GPG2认证基本使用流程(MacOS),增强身份识别和安全性

base gnupg(version >= 2.1.17,版本gnupg已包含gpg-agent)

注意事项:gpg2默认交互式输入密码,有相应的解决方案。

brew install(推荐):
1
brew install gnupg
版本信息(截至2022.06.19)
1
2
3
4
5
6
7
gnupg: stable 2.3.6 (bottled)
GNU Pretty Good Privacy (PGP) package
https://gnupg.org/
/usr/local/Cellar/gnupg/2.3.6 (149 files, 13.3MB) *
Poured from bottle on 2022-05-04 at 00:14:15
From: https://mirrors.ustc.edu.cn/homebrew-core.git/Formula/gnupg.rb
License: GPL-3.0-or-later
Read more
Hexo cdn.jsdelivr.net A low cost solution for CDN invalidation(Hexo cdn.jsdelivr.net 等部分CDN引用无效的一种低成本解决方案)

Hexo cdn.jsdelivr.net A low cost solution for CDN invalidation(Hexo cdn.jsdelivr.net 等部分CDN引用无效的一种低成本解决方案)

原因:cdn.jsdelivr.net在2021年12月20号国内已经无法使用,导致部分引用此引用此cdn资源的hexo生成站点js依赖和错误页面功能异常。

临时低成本解决方案:

考虑到不同的hexo站点使用的插件各有不同,且引用的第三方js库存在差异,故考虑采用低成本的方式解决。大概思路是在生成的部分文件里,替换相应的站点域名,实现在deploy之前完成文件路径的转换。

Read more
JavaScript map function grammatical sugar trap

JavaScript map function grammatical sugar trap

Don’t pursue techniques that seem too fancy, or they may backfire
(不要追求看似过于花哨的技巧,否则可能适得其反)

1
2
let m = [10, 10, 10].map(parseInt);
document.write(m);
Read more