#1050 Git 配置的建议

2025-05-26

看了 《How Core Git Developers Configure Git》,作者建议配置应该尽可能简单一些,不要使用 alias 定义别名。

最后作者也提供了一些他建议配置的条目,如下:

# clearly makes git better

[column]
        # 自动分栏(比如列出分支的时候,会按照屏幕宽度自动分栏显示)
        ui = auto
[branch]
        # 按照最新提交时间排序
        sort = -committerdate
[tag]
        # 默认按字母排序不是好的选择,比如:
        # v0.1
        # v0.10
        # v0.2
        sort = version:refname
[init]
        defaultBranch = main
[diff]
        algorithm = histogram
        colorMoved = plain
        mnemonicPrefix = true
        renames = true
[push]
        default = simple
        autoSetupRemote = true
        followTags = true
[fetch]
        prune = true
        pruneTags = true
        all = true

# why the hell not?

[help]
        autocorrect = prompt
[commit]
        verbose = true
[rerere]
        enabled = true
        autoupdate = true
[core]
        excludesfile = ~/.gitignore
[rebase]
        autoSquash = true
        autoStash = true
        updateRefs = true

# a matter of taste (uncomment if you dare)

[core]
        # fsmonitor = true
        # untrackedCache = true
[merge]
        # (just 'diff3' if git version < 2.3)
        # conflictstyle = zdiff3
[pull]
        # rebase = true

#1048 网络工具:sunny

2025-05-24

几年前就用过 sunny,这次因为一些特殊场景又要用到网络穿透,又捡起来了。

  1. 先在他们官网上创建隧道(选择本地地址,还有远程端口)
  2. 下载 sunny 程序(他们定制的 ngrok 客户端)
  3. 执行他们隧道管理页面提供的命令 sunny --server=free.idcfengye.com:4443 --key=xxxx 就行了

如果临时使用一下的话,nuhup + & 就够:

nuhup sunny --server=free.idcfengye.com:4443 --key=xxx &

如果要求更高,那就用 systemd 保活:

sudo vim /etc/systemd/system/sunny-eqr.service
sudo chmod 644 /etc/systemd/system/sunny-eqr.service
sudo systemctl enable sunny-eqr.service
sudo systemctl start sunny-eqr.service
sudo systemctl status sunny-eqr.service

需要吧把注删除
[Service]
ExecStart=/home/catroll/Documents/Mine/sunny --server=free.idcfengye.com:4443 --key=xxx
Restart=always
RestartSec=3
# 每10秒检查一次 (程序不支持 watchdog 协议)
# WatchdogSec=10
# 启动前等待2秒
ExecStartPre=/bin/sleep 2
# 自定义停止命令
ExecStop=/usr/bin/pkill -f sunny
# 限制最大内存使用
MemoryMax=512M
# 限制CPU使用率
CPUQuota=80%

先配置 ssh 证书信任,然后就关闭密码登录,后续就通过证书认证。

# 将自己的公钥配置到服务器上(在本地执行)
ssh-copy-id -i /path/to/id_rsa -p 10022 admin@free.idcfengye.com

# 修改服务器 ssh 配置(在服务器执行)
# PermitRootLogin no
# PasswordAuthentication no
sudo vim /etc/ssh/sshd_config
sudo systemctl restart sshd

# 测试链接情况(在本地执行)
ssh -i /path/to/id_rsa -p 10022 admin@free.idcfengye.com

#1046 第一原理

2025-05-19

抖音上刷到一个视频(心理医生老秦):

家庭的第一原理是经济,而不是感情
职场的第一原理是功劳,而不是苦劳
人脉的第一原理是资源互换,而不是卑微讨好
爱情的第一原理是筛选,而不是培养
健康的第一原理是自我管理,而不是医疗
养老的第一原理是金钱,而不是医疗

我又搜索到了这一篇 人性的第一性原理

结合我自己的认知,总结如下:

最重要的事:

  1. 家庭 -> 经济基础 + 感情经营
  2. 爱情 -> 互相尊重、互相理解
  3. 职场 -> 功劳 + 苦劳,我的定位是什么,我为团队带来了什么,我是不是不可替代
  4. 人脉 -> 价值互换(可能有点功利,但是确实比真诚、善良等优秀品质更可靠、更持久)
  5. 养老 -> 提前规划(财务储备) + 健康管理 + 心态调整(知足常乐)
  6. 健康 -> 自律 + 医疗
  7. 教育 -> 不迷信(独立思考) + 知识积累 + 实践迭代(实践->总结->改进 循环)

我认为好的做事方法:

  1. 用心做事,以诚待人。
  2. 要深入思考事情的核心,不要被表面上不那么重要的事情所蒙蔽。
  3. 方法论:
    1. 制度设计:要能够围绕一个目标形成一个正向循环,而不是指望单方面持续投入。
    2. 优先级管理。

第一原理

又叫第一性原理,希腊哲学家亚里士多德提出,指那些不言而喻的真理,整个理论系统的基础。

希腊哲学家亚里士多德提出。

马斯克在采访中提到“第一原理思维”(first principle thinking),是一种从根本出发,追问事物本质的思维方式。
大概是指人们做事总是习惯看着前人的脚步,在其基础之上做一些小的创新。
而在做革命性事业时,需要抛开前人的经验,不要被那些“前提条件”所阻碍,从最根本的问题开始思考。

“电池组太贵了,每千瓦时要 600 美元。但如果根据构成电池的原料价格计算成本,你会发现其实只需每千瓦时 80 美元。那么一定有办法把这些材料组合成电池,并大幅降低成本。”

“火箭是由什么材料组成的?航空级铝合金、钛、铜、碳纤维… 如果把这些材料按市场价计算,成本只有传统火箭价格的 2%。所以问题在于,如何将这些材料组装成一枚火箭。”

#1044 苹果 M4 芯片有什么不一样

2025-04-18

苹果电脑的芯片发展可以分成三个阶段:

  • 1994 年到 2005 年:使用 IBM 的 PowerPC 架构
  • 2006 年到 2020 年:改用 Intel 的 x86 架构
  • 2020 年底开始:全面转向自研的 ARM 架构 M 系列芯片(M1 ~ M4)
    苹果肯定是觉得 Intel 做的不好,然后选择更加开放的 ARM 标准做魔改。
    看到网上的评价,应该是非常成功的,移动设备的功耗 + 桌面设备的性能,并且比传统的 CPU 更加面向未来。

1. 架构不同:ARM vs x86

M 系列基于 ARM 架构,强调低功耗高效能;而传统 Intel / AMD 芯片是 x86 架构,更强调通用计算能力。
ARM 原本是移动端主流架构,苹果通过深度优化,做出了媲美甚至超越传统 PC 的性能,同时拥有更长续航。

拓展阅读:网易号,Apple M4 成为新单核性能冠军,击败英特尔的 Core i9-14900KS

2. SoC 设计:高度集成

M 系列采用 SoC(System on a Chip)设计,把 CPU、GPU、NPU(神经网络引擎)、内存控制器等都集成在一颗芯片中,减少延迟、提高带宽。传统 PC 芯片大多是分散式设计,效率和功耗控制上不如 SoC。

3. 统一内存架构(UMA)

M 系列的 CPU 和 GPU 共享同一套高速内存,数据无需来回搬运,适合图形、视频、AI 场景。传统 PC 中,CPU 和 GPU 使用不同内存,需要频繁复制数据。

阮一峰的《科技爱好者周刊(第 345 期)》中是这么说的:

大芯片指的是 CPU、GPU、内存封装在一块芯片里面,典型代表是苹果的 M 系列芯片。
这种设计使得 CPU 和 GPU 共享内存,并且有极大的内存带宽,这就是为什么苹果电脑不需要 Nvidia 显卡,也能运行 AI 模型。

4. 软件生态的适配和进化

苹果在 2020 年 M1 发布时推出了 Rosetta 2 翻译层,用于兼容旧的 x86 应用。现在,大量主流 macOS 应用已经原生适配 ARM,性能更强、能耗更低。开发者也逐步转向以 ARM 为主的架构优化。

5. M4 的新特性

M4 是第五代 Apple Silicon,主要升级包括:

  • 采用台积电第二代 3nm 工艺,性能与能效进一步提升
  • 神经网络引擎更强,面向 AI 原生支持(如生成式模型、照片处理)
  • 新一代 GPU 架构,支持动态缓存和光线追踪
  • 加强视频编解码引擎,更适合 4K/8K 视频处理

#1043 brew 自动更新的提示

2025-04-11

brew 执行命令的时候总是提醒这个:

Adjust how often this is run with HOMEBREW_AUTO_UPDATE_SECS or disable with
HOMEBREW_NO_AUTO_UPDATE. Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).
  1. 关闭自动更新:环境变量中添加:

    export HOMEBREW_NO_AUTO_UPDATE=1
    
  2. 忽略提示:环境变量中添加:

    export HOMEBREW_NO_ENV_HINTS=1
    
  3. 调整更新频率:环境变量中添加:

    # 改成每周一次
    export HOMEBREW_AUTO_UPDATE_SECS=604800
    

我就是在 ~/.zshrc 文件中添加:

# brew 自动更新配置
# 自动更新时不在终端打印提示信息
export HOMEBREW_NO_ENV_HINTS=1
# 频率每周检查一次
export HOMEBREW_AUTO_UPDATE_SECS=604800

手动更新:

# update brew
brew update

# upgrade all installed packages
brew upgrade

#1042 开发环境电脑配置

2025-04-05

我又开始思考如何替换公司的那台老 Dell 笔记本了。

现有机器

家里:

  • Dell 光影精灵

    i7-12700H
    8G 4800MHz * 2
    500G SSD
    RTX 3050 (4 GB GDDR6)
    Windows 11
    

公司:

  • MacBook Pro 13″
  • Dell Inspiron 14R (5437)(i5-4200U / 8G DDR3 1600MHz / 500G HDD)

替换机器

零刻 EQR6(国补之后大约 2200)

  • AMD 锐龙 R9 6900HX(8 核 16 线程,4.9 GHz)
  • 16GB DDR5 4800MHz * 2
  • 1TB (M.2 2280 PCIe 4.0 X4)
  • AMD Radeon 680M 显卡(12CUs,2400 MHz)
  • 双千兆网卡 + WIFI 6 + 蓝牙 5.2 + 85W 电源

作用:

  1. Linxu 环境(Ubuntu 24.04)
    1. 定时任务
  2. 网络环境(OpenVPN 等)
  Mac Mini M4 零刻 EQR6
价格 4499 2799
价格(优惠后) 4499 - 750 - 750 = 2999 2799 - 560 = 2239
CPU M4
10 核(4 + 6)
AMD Ryzen 9 6900HX
8 核 16 线程, 3.3GHz
内存 16GB 16GB x 2
硬盘 256GB 1TB M.2 SSD
显卡 - AMD Radeon 680M (12CUs, 2400MHz)

苹果优惠:教育优惠 750,国家补贴 750(20%)
零刻优惠:国家补贴 560(20%)

参考资料与拓展阅读