Logo

site iconManatee LazyCat

懒猫微服CEO,Linux, Emacs开源社区从业二十余载。
请复制 RSS 到你的阅读器,或快速订阅到 :

Inoreader Feedly Follow Feedbin Local Reader

Manatee LazyCat RSS 预览

第一次推特被封锁

2024-11-19 00:00:00

不知道为什么原因 Twitter 被封锁了, 申述也没用。

大家以后关注我的新号吧, https://x.com/lcmicroserver , 旧的不去新的不来。

感谢你们的支持!

年轻人的技术选型

2024-11-16 00:00:00

推特上, 有网友问我: ”我想了解一下您对于技术选型的见解, 对于年轻人在选择一门技术 dive in 方面有什么建议”。

先说结论哈, 真正的编程高手都是会十几门编程语言的, 技术学久了啥都融会贯通了, 无所谓哪个门派。

好, 切入正题。

心态要对

首先解答这个问题之前, 大家要抛弃几个偏见:

  1. 学技术千万不要为了装逼和同事争中午的意见领袖, 我这么多年看到很多顶级技术高手从来不和别人争对错
  2. 不要跟风学语言: 20 年前是 C++, 今天是 Rust, 感觉不学很丢人, 要提高认知, 光会技术不等于认知高
  3. 不要焦虑: 很多同学感觉没有学最新的东西就很焦虑, 人生主要是找到自我, 而不是模仿别人, 徒增焦虑

区分公司和个人

个人学习什么语言都无所谓的, 有用就多学, 没用也增长见识, 没有啥坏处。

但是公司的技术选项就要考虑成熟度、 性能、 能否持续招到人, 自己玩一个小众语言, 别人来看都看不懂, 产品急着上线, 那不是装逼砸到自己的脚了吗?

  1. 后端语言: 重视性能和生产力就首选 Golang, 性能无所谓果断上 Python 要啥有啥生产力第一, 千万不要为了装逼上 Rust 和 Lisp 语言
  2. 前端语言: 老老实实用流行框架 Vue/React 啊, 抄代码快哇, 前端不就是天下武功一大抄嘛
  3. 编成工具: 生产力就上 VSCode, 除非自己会十几门编程语言, 对手感和 10 倍编程有追求, 才去学习 Emacs/Vim, 学的时候不要抱怨慢, 值得
  4. 系统底层: 我觉得 C 依然是底层编程语言的王, 而不是 C++, 也不是 Rust, 但是你要问自己, 自己喜不喜欢硬件, 不喜欢硬件就别学内核了, 浪费时间
  5. 编程框架: 不管是 Web 框架、 深度学习框架、 还是编程框架, 尽量选大众选择的, 不会错哇

上面说的就是公司的要求去做技术选型哇, 其实就一点, 稳定持续生态好大于一切。

个人学习

回到个人学习, 个人学习我完全和公司选型持相反的态度, 个人选型主打一个花, 越偏门越好。

  1. 正统的: 正统的 Python/C++/Golang 都很好哇, 生产力器, 规范稳定
  2. 偏门的: 来一门 Lisp 语言, 虽然工作用不到, 但是函数式编程熟练了, 很多时候可以帮助工作中写更简洁的代码、 函数而不是逻辑没理清楚之前就写复杂的类关系
  3. Rust: Rust 可以学, 但是大多数应用场景和产品迭代的场景不适合, 学 Rust 可以学习到很多函数式思想, 也可以有效的降低自己不是大佬的焦虑, 反正学习过了, 哈哈哈哈
  4. 最小众的: 比如 Elixir, Clojure, Nim, Zig 这种, 可能生态还不行, 但是真的很独特, 学习这些语言的目的是开拓自己的编程视野, 视野大了人就变谦虚了
  5. 编程框架: 要啥编程框架啊, 手写一个哇, 成长最快

个人学习主要的目标是吸众家之所长, 增加视野, 培养自己的谦虚, 经验能力强了, 再加上谦虚, 就能成大才。

专注放轻松

其实我觉得人不要东想西想, 专心研究, 不管是为了技能混口饭吃的正统技术选型, 还是个人喜爱的都可以有时间学会, 最浪费时间的反而是犹豫不决和纠结。

Fcitx 最佳配置实践 2024-11-16

2024-11-16 00:00:00

Linux 下最爽的输入法就是 Fcitx 了, 但是没有配置好, 就会出现各种各样的问题, 比如打太快漏字这种问题。

今天把所有博客关于 Fcitx 的配置都整理成一篇, 方便我自己和大家以后用。

安装 Fcitx5 输入法

安装 Fcitx5 软件包:

sudo pacman -S fcitx5 fcitx5-gtk fcitx5-qt fcitx5-configtool fcitx5-rime librime
  • fcitx5: 输入法基础框架主程序
  • fcitx5-gtk: GTK 程序的支持, 必须安装, 修复打字太快漏字的问题
  • fcitx5-qt: QT5 程序的支持, 必须安装, 修复打字太快漏字的问题
  • fcitx5-configtool: 图形化配置工具
  • fcitx5-rime: RIME 输入法
  • fcitx5-im: 输入法设置工具
  • librime: rime 相关库, 下面的 emacs-rime 会用到

然后将下面的内容粘贴到 ~/.xprofile

export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"

重新登录即可。

备注:

  • 需要安装 fcitx5-gtkfcitx5-qt 并写入上面 IM 设置, 不然打字太快会发生漏字的现象, 就是拼音没有变成汉字而是直接插入输入框中。
  • 附加组件: 粘贴板和快速输入模块的快捷键去掉, 避免和 Emacs 按键冲突

安装 Fcitx5 输入法皮肤

yay -S fcitx5-skin-adwaita-dark

然后修改配置文件 ~/.config/fcitx5/conf/classicui.conf

# 横向候选列表
Vertical Candidate List=False

# 禁止字体随着 DPI 缩放, 避免界面太大
PerScreenDPI=False

# 字体和大小, 可以用 fc-list 命令来查看使用
Font="Noto Sans Mono 13"

# Gnome3 风格的主题
Theme=adwaita-dark

备注: 我比较喜欢仓耳今楷, 上面的 Font 可以换成 TsangerJinKai03-6763 15

安装雾凇拼音

上面的步骤只是把 Fcitx 的核心和皮肤搞定了, 但是 Fcitx 默认的词库非常难用, 流畅的输入需要安装雾凇输入法。

使用下面的命令拷贝雾凇拼音的所有 rime 配置到 fcitx 的 rime 配置目录下

git clone https://github.com/iDvel/rime-ice --depth=1

PS: 我试验了白霜一周, 虽然白霜是基于雾凇词库改的, 但是还是没有雾凇顺手。

修改默认配置

切换到 rime-ice 目录, 做下面三个操作:

  1. grep 目录下所有- { when: paging, accept: comma, send: Page_Up }- { when: has_menu, accept: period, send: Page_Down } 内容, 去掉注释
  2. grep page_size, 把 5 换成 9 即可
sed -i 's/# \(- { when: \(paging\|has_menu\), accept: \(comma\|period\), send: Page_\(Up\|Down\) }\)/\1/' default.yaml

sed -i 's/page_size: 5/page_size: 9/' default.yaml

前两个操作是实现逗号、 句号翻页, 后面一个操作是更改候选词的数量

更新到 Fcitx 目录

调整完上面配置后, 进行下面拷贝操作

cp -r ./rime-ice/* ~/.config/fcitx/rime/
cp -r ./rime-ice/* ~/.local/share/fcitx5/rime
  • ~/.config/fcitx/rime/: 这个目录主要是 Emacs 的 emacs-rime 插件会读取
  • ~/.local/share/fcitx5/rime: 这个目录是 Fcitx 读取的, 用于外部软件使用雾凇输入法

删除误输入的拼音

有时候我们会不小心把拼音确认了, 这样这些拼音就会变成第一个候选词, 影响拼音后面对应的中文候选词。

Fcitx 的用户自定义英文候选词都会自动记录到下面配置文件中:

~/.local/share/fcitx5/rime/en_dicts/en.dict.yaml ~/.config/fcitx/rime/en_dicts/en.dict.yaml

找到误输入的字符串, 保存配置文件重启 Fcitx 即可。

安装 emacs-rime

这一节讲的是怎么让 Emacs 可以使用上雾凇输入法。

首先安装 posframe, posframe 可以让侯选词显示在光标处, 所以建议安装。

然后下载 emacs-rime:

git clone https://github.com/DogLooksGood/emacs-rime

把 emacs-rime 目录放到 load-path 下, 添加以下配置:

(require 'rime)

;;; Code:
(setq rime-user-data-dir "~/.config/fcitx/rime")

(setq rime-posframe-properties
      (list :background-color "#333333"
            :foreground-color "#dcdccc"
            :font "WenQuanYi Micro Hei Mono-14"
            :internal-border-width 10))

(setq default-input-method "rime"
      rime-show-candidate 'posframe)

上面的配置分别设置 emacs-rime 读取 RIME 配置的路径、 UI 细节和使用 posframe 来显示候选词。

重启 Emacs 后, 调用 toggle-input-method 命令来尝试输入中文。

雾凇拼音 主页有一些输入用例, 如果你打同样的拼音可以补全相同的中文候选词, 就证明已经成功用上了雾凇拼音。

我个人的体验, 雾凇拼音的细节调教非常好, 比我们自己折腾的 rime 词库要专业的多, 中文输入, 特别是长句输入再也不用翻很多页。

emacs-rime 搭配雾凇拼音后, Emacs 的中文输入非常爽, 我顺手就给 rime-ice 的作者捐了一点款, 感谢开源作者的辛劳付出。 ;)

用自托管的 2FAuth 来做双因素身份验证

2024-11-14 00:00:00

现在的互联网真是麻烦哇, 像 Github/Google/NPM 这些网站都强制要求登录做双因子认证, 之前我一直是用的 Authy 来实现双因子认证的。

最近换了一部三星的手机就遇到很麻烦的事情, Authy 不接受 +86 开头的中国手机号注册了, 这样我的新手机就没法登录 Github, 很郁闷。

今天研究了一下, 发现可以通过自托管的 2FAuth 程序来实现双因子认证, 因为 2FAuth 是托管到自己的服务器上, 再也不会遇到双因子认证程序因中国手机号不能注册, 我自己不能证明我是我的问题。

具体步骤如下:

  1. 买一台私有云服务, 我买的是我们家自己生产的 懒猫微服, 它的好处是开箱即用, 不用折腾外网穿透, 并且商店自带了 2FAuth 应用, 不用为了 2FA 还自己折腾 2FAuth 的安装部署
  2. 启动微服后, 在应用商店安装 2FAuth
  3. 在懒猫微服启动器点击 2FAuth 图标启动
  4. 打开 2FAuth 应用, 首先先注册一个账号, 填上自己的邮箱和密码即可注册
  5. 然后再点击登录, 直到下一步提示要上传二维码图片的这个步骤, 先停一下等待下一步操作
  6. 打开浏览器, 登录 GitHub, 在右上角头像菜单点击 Settings, 然后选择 Password and authentication, 找到 Authentication app, 点击右边的 Edit 按钮, 输入 Github 密码进入编辑页面, 编辑页面会生成一个二维码, 保存二维码到电脑
  7. 切换到 2FAuth 窗口, 上传二维码图片, 点击 导入, 稍微等几秒, 2FAuth 会生成一个 6 位数密码, 把这个 6 位数密码输入第 6 步, Github Authentication 编辑页面里的 Verbify code 输入框中, 点击 Save 按钮即可

至此, Github 的 2FA 认证已经全部设置好了, 以后再登录 Github 需要输入 2FA 密码的时候, 只用在懒猫微服中启动 2FAuth, 点击 Github 就可以查看了。

用自托管 2FAuth 认证的方便之处在于, 生成 2FA 密码的设备不再必须是手机才行 (因为登录的时候手机没电或者手机丢了就没法登录)。 任何可以访问 2FAuth 服务的设备都可以, 得益于懒猫微服的全终端访问能力, 不管是电脑、 手机还是平板, 甚至是你的电动汽车, 你都可以随时随地方便地获取 2FA 密码。

好了, 这就是今天的分享, 希望可以帮助到那些就想好好写代码, 但是因为地缘政治这种荒谬原因没法获取 2FA 密码的同学们。

技术创业者怎么避开商业合作的坑

2024-11-13 00:00:00

上篇讲了技术创业者怎么识别好的投资人, 这篇讲技术创业者怎么避开商业合作的坑?

避免公司级别合伙

技术创业者之所以会创业, 是因为在技术以及团队管理上已经在原来的公司达到天花板, 而内心又想扩展自己的边界, 所以会选择出来创业。 但是技术创业者出来创业的时候对商业的认知和实践还没有那么多, 经常遇到商业决策的时候不知所措, 这种内心对陌生事物的恐惧会自然而然的寻求外部合作。 因为技术创业者的技术能力很厉害, 加之自己的心态, 会遇到很多 “能说会道” 的商业人士, 这些商业人士口才惊人, 是利用信息不对称的大师, 他们往往会给你抛橄榄枝, 说: 我们俩公司合作, 你负责技术, 我负责商务, 我们俩公司成立合伙公司, 赚到钱, 怎么怎么样。

你可能第一天看到我写的这些, 觉得很奇怪。 但是我要告诉你的是, 千万不要这么干, 原因有几个:

  1. 真正有实力的老板, 即使自己不懂技术也有本事赚钱, 如果不是你加入他公司, 他们往往不屑于和你合作
  2. 那些信口开河, 说话好听的你认为的商务精英, 往往都是看穿你人性弱点的骗子, 他们什么也没有, 只有一张嘴
  3. 真的要去干合伙公司, 最后你会发现, 你虽然是公司老板了, 但是从利益分配来说, 你依然还是骗子的打工仔
  4. 商业合作是利益合作, 只要你有技术和能力, 其实是可以变现的, 和能说会道关系不大, 后面我会讲

相由心生

每个人的长相, 时间长了, 脸部细节都会因为他长年累月的心理活动而被雕刻。

所以, 辨别一个人的最好方法就是看面相, 不能保证 100% 准确, 但是大部分是准确的。

这句话什么意思呢? 就是识别人要看细节:

  1. 一个合作伙伴每天说他最看重技术和产品了, 但是你发现他平常根本就不爱学习, 不爱学习的人怎么会关注用户体验呢?
  2. 一个合作伙伴每天说他认识这个重要人物, 认识那个重要人物, 如果真的像他说的那么牛, 他为啥要给跟你去合作?
  3. 一个合作伙伴每天说他的理想就是创建一个宽松的文化氛围, 但是他对比他地位低的同事说话一点尊重都没有, 你不觉得很奇怪吗?

同时, 我们回到自己, 当你发现你理想中的商业合作伙伴感觉是一个骗子的时候, 你为什么还傻乎乎的愿意相信呢? 因为你的相也由你的心所生, 你怀有投机的心, 所以容易被投机的人所骗。

脱敏脸皮厚

技术创业者之所以没有找到商业密码的首要原因还不是商业实践不够, 而是内心没有脱敏。

现在 AI 大模型很厉害, 很实用, 如果说向量数据库, 大家很容易理解, 就是目标素材的向量值在多维空间去匹配概率最大的那个值, 找到那个匹配值就产生了用户价值。

同理, 我们用技术术语来打比方, 商业密码就是大模型推理出来的统计模型, 它根本不管你是什么样的人, 但是你要找到它必须要有多个维度去匹配它期望的值, 如果不匹配, 不好意思, 商业依然在多维空间的那片区域, 但是你就是找不到它。

那怎么匹配呢?

  1. 用合作心理换对抗心理: 你都是创业者了, 怎么搞钱养人是你最重要的目标, 你遇到困难还是吐槽的心理, 这不好那不好, 吐槽的内耗就可以把你自己的精力榨干, 你哪还有能力思考问题?
  2. 不要非黑即白: 放下你内心你狭窄的价值观去看世界, 你如果认识到, 这个世间所有人首先都是为了生存下去, 一个生物为了活下去吃掉另外一个生物残忍吗? 当然残忍, 但是你上学学过, 所以你认为可怜, 但是你能理解这是规律。 同理, 商业世界中, 大家只是为了活下去, 有些人选择‘正确’但消耗时间的成功方式, 有些人选择‘错误’但是成效快周期短的方式, 你理解这些后, 不再因为很多事情和个人价值观冲突后内耗自己, 你就成功了一半了。 什么意思呢? 不是让你堕落, 而是你要对内心有觉察, 保持你自己的原则, 同时看到你认为‘不好’的事情不要那么多评价, 因为自己能力不够的时候, 过多对世界的评价除了消耗你自己外, 你啥也改变不了
  3. 脸皮厚: 创业每天都会遇到各种你意想不到的困难, 想象你在川西山区开盘山路, 弯道、 雾气、 落石、 来车、 小动物、 炮弹坑等等, 只有你想不到的, 没有你遇不到的困难。 当时会不会沮丧? 会啊, 是人就会。 当时会不会遇到同事的不解和误解? 会啊, 有团队就会啊。 当天难受没关系, 学会高效睡眠, 第二天彻彻底底把这些难受的事情忘记, 脸皮厚到一定程度, 就算创业入门了

商业实践

你啰里八唆说了这么多避坑, 那怎么走正路呢?

耐心看完:

  1. 不要投机: 不要投机, 不要去学那些看似是捷径的‘商业模式’, 不要下班和同事吹牛羡慕大佬, 研究大佬的商业模式, 那就是投机心理, 投机如同赌博, 靠运气赚的钱, 绝对会靠实力亏回去, 妥妥的
  2. 小腿要粗: 认知不够, 书没读够, 没赚到钱焦虑不? 焦虑哇, 但是认知需要时间, 没有认知的时候干嘛, 不断的跑, 不断的跑去见客户, 被一家一家的拒绝, 每次拒绝后不要去骂别人, 要回酒店复盘一下为啥没成功, 下次改进。 这个过程就是认知提高的过程, 因为人只有在被逼到绝路的时候才会动脑筋, 在办公室指点江山是不会有认知提升的, 那叫自己骗自己
  3. 相信身边人: 团队合作才能走的远, 身边这些和你一样差的人, 他们认知也不高, 为什么他们有价值? 因为他们和你一样是傻逼, 但是愿意干, 愿意学, 愿意失败以后爬起来在干, 时间久了, 他们才是你最好的合伙人
  4. 多读书: 多少本才够? 只要有时间就读, 多读书, 多思考, 多跑, 才是商业实践
  5. 建立信任: 商业最后的根源都是用户愿意相信你, 买你东西解决他的问题, 而长时间干好事就是最好建立信任的方式

最后

是不是, 读完以后, 明白了很多道理, 但是又仿佛什么也没学到? 哈哈哈, 我年轻的时候跟你们一样哇, 总是期望一本书可以搞定商业密码, 就像我那时候还买了一本 《企业家之道》 名字这么功利的书, 耐心看完, 作者告诉我: 企业就是认知自己, 勇敢, 干好事, 坚持。 我当时读完的第一印象, 这不是废话吗? 谁都知道哇。

而我今天再回首, 我明白了, 就是这个道理才能成功, 和当时的差别是: 道理谁都懂, 说出来甚至背出来都会, 但是做到的人能有几个呢?

好了, 今天真正的高能干货来了, 你真的想创业, 先读我推荐的三本书:

  1. 《毛选》: 这本书有很多洗脑的部分, 但是你耐心看完会明白, 人到绝境的方法就是穷举, 我们拿梦想去创业, 毛爷爷拿命去创业
  2. 《罗大伦老师讲道德经》: 为了这个我冲了一年喜马拉雅会员, 哈哈哈哈, 所有企业家成功心法都在这370多集的智慧中
  3. 《资治通鉴》: 耐心看吧, 12本, 司马光老爷爷(对,就是砸缸那个)的终身血汗, 教你取得小成就的时候不要膨胀, 不要膨胀, 不要膨胀