MoreRSS

site iconManatee LazyCat修改

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

Inoreader Feedly Follow Feedbin Local Reader

Manatee LazyCat的 RSS 预览

35 岁+程序员依然可以兼顾热爱代码和享受生活

2025-05-10 00:00:00

推特上有朋友说 35 岁的程序员一定要做管理,如果不做管理就没有认真思考和成长。下面是我的经验分享。

我第一次见 Larry Wall 的时候是 2011 年,那时我 23 岁,我特别佩服 Larry Wall 的不是他是 Perl 的创始人,而是他眼神中的清澈和思想的率真,他介绍 Perl 的开发过程,没有大牛的说教,完全就是一个老顽童。教主在给我们讲述技术细节的时候,完全就是好玩,他夫人就在旁边休闲的织毛衣,那种感觉就是,我一辈子都不知道这个人在干什么,但是他一讲技术就有一帮年轻人围在他身边。你知道吗?神雕侠侣不是夫妻俩都是技术狂,而是一个顶尖大牛配上一个计算机盲的老婆,真的太幸福了。

我第一次见 Linus 是在 2016 年,一堆人在开源大会没追上祖师爷,我去了后厨餐厅,独自近距离接触大神。我那时候在创建 Deepin Linux,用了小米笔记本搭配最新的内核,然后定制了 Linus 的壁纸,送给祖师爷。Linus 看到自己的壁纸在自己的内核上跑的时候,都害羞的捂脸了。我不管他在邮件列表中怎么爆粗口,我近距离接触到的 Linus 是那么有剑气的实力,但是一点都不装,非常平易近人,虽然我那时的英语太渣(现在也是),但是我也鼓起我 10000% 的勇气,用美剧学来的英语,结结巴巴地给祖师爷说了: I … hope…hope…hope you like it.

我想给博主分享一下我的个人经历:

2018 年我从自己创建的公司离开了,创始人离开自己的公司,真的是超级低落和心烦意乱,我花了一年半的时间走出来。我没有走出来的那段时间真的心里非常黑暗,觉得世间不公平,觉得自己快 30 岁了,还被扫地出门,觉得世间不值得。博主的心情我超级能理解,直到有一天我和家人在祁连雪山下坐着吹风,看到宫崎骏动画般的画面:蓝天白云,白云如此之低,白云的阴影投在面前山尖上,阳光从云间照射出光斑,山脚下流着湛蓝色的雪山融水。那画面真的太治愈了,终生难忘。

那一刻,我仿佛明白了,其实我们世间烦恼的东西是那么的可笑,基本上在一念之间,自己就可以海阔天空。

现在我拥有了几家属于自己的公司(没有人可以再把我扫地出门),有了优秀的团队,也有了很好的产品,过的很快乐,虽然有时候很累,但是心里一点负担都没有。

我想给博主分享的几个观点是:

  1. 纯真才能达到编程的最高境界:我在线上还是线下遇到的技术大佬,他们之所以能够达到常人无法达到的编程境界,不是因为他们聪明,不是因为他们认知高,而是他们内心像河流一样纯真。他们从来不把编程当作赚钱工具,他们从来不为了财务自由去学习编程。他们只是因为好玩,觉得编程很有乐趣,他们在乐趣的人生中顺流而下,因为纯真,他们的编程能力和思想都非常强。这种无为的心态反而让他们物质非常丰盛

  2. 不要给自己设置限制:我之前 30 岁的时候,至暗时刻,每天都很消极。但是最后走出来我明白了,人生真的非常非常长,你看国外有很多 60+岁的程序员都还在写代码,我们年轻为什么不能做到呢?为什么要给自己设置限制呢?因为我们内心有物质的期待,希望比得过身边的人,有比较就会有期待,有期待就会害怕。最后会否定自己。所以,不要给自己设置限制。那些 35 岁要当管理的理论都是狗屁人说的,什么年纪大了不能写代码?我今年 37 岁,依然热爱代码,而且是下了班写到半夜 2 点。人这一辈子,唯一的规则就是毫无限制,不要管别人说什么,自己快乐最重要。那些根本影响不了你的人,在那里当键盘侠,直接拉黑就好了。不要在不在意的人那里浪费你的生命

  3. 痛苦交给时间治愈:时间可以治愈一切的。当自己迷茫的时候多读书,也许读书对改善现在没有用,但是对于将来一定会很有用的。我当年离开 deepin 的时候,我读了好多好多的书,经济学的、心理学的、材料的、创业的、历史的,甚至我还专门看了一遍西游记….那时候我一周读一本书,那段时间读书之多是创业时间所不能奢求的。但是那时候读的书都对我以后的人生产生了超级多的积极意义:经济学的书教会了我不要像程序员那样二分对立的看待世界,没有对和错,只有角度问题;历史书教会我,要知道人性,知道人性的恶,但是不要做恶的事情;材料学告诉我各种材料的分子结构、强度、表面细节、热力学特性,对后面我做懒猫微服的硬件很有帮助;科幻小说是我基于技术构建优秀 UI 控件,发展想象力最大的沃土……

修复 Btrfs 文件系统的秘籍

2025-05-08 00:00:00

Btrfs炸了

最近在测试 AI 知识库的功能,有一份代码没写好,直接把内存干满了,内存温度上到 135° 后随机死机。

当时测试 AI 功能,没有特别关注,但是最近 Btrfs 增量备份的时候一直有问题,用 dmesg 查一下,错误信息类似 kernel: BTRFS warning (device dm-0): csum failed root 25861 ino 844131 off 10018816 csum 0x25fdc878 expected csum 0x25fdc848 mirror 1

看错误应该是 Btrfs 的校验和是错的,导致增量备份文件系统时 read 操作过不了。

猜测原因应该是内存炸了导致 Btrfs 写了错误的校验和到磁盘,而原始文件是没问题的。

这时候有两种修复方法:

方法一: 根据上面 dmesg 报错的 inode 节点 844131, 用命令 btrfs inspect-internal inode-resolve 844131 /data 反查到 inode 对应的文件路径。 直接删除 inode 对应的文件和 snapshot 的快照, 再用命令 btrfs scrub start /data 做一个全量的检测, 如果没有报错, Btrfs 增量备份就可以过了。

方法二: 第一种方法只适合原始文件并不重要的情况, 如果原始文件很重要就不能这样暴力删除的方法。

因为原因是内存炸的问题,原始文件并没有坏, 这时可以用命令 btrfs check --init-csum-tree /dev/sdxx 的方式重建整个检验和数据, 就可以无损的修复内存导致的 Btrfs 校验和问题。

最后

希望上面的 Btrfs 排查方法可以帮助到有一天 Btrfs 文件系统炸了的你,哈哈哈哈。

喝酒可以修疑难杂症是什么原理?

2025-05-04 00:00:00

因为程序员是多重人格,有时候状态好的时候觉得自己是超人,但是状态不好得时候觉得自己是傻逼。

而那些修不了的疑难杂症并不是程序员能力不行了,而是钻牛角尖了,总是在错误的地方去怀疑 bug 的原因,而真实的原因简单的就在眼皮下却视而不见。

而喝酒就会冲破血脑屏障,进入微醺的状态,这时候脑袋有点晕晕的,记不清楚原来死磕的那些逻辑,反而会放松的、平等的看待逻辑流,这时候特别容易“有了”,“原来这么简单”……就那么一下,就修复了。

当然喝完酒不要觉得自己喝酒后多牛逼的修复了 bug,自己是超人,要深刻地记的这个傻逼 bug 原来是哪个傻逼写的?

懒猫微服对技术用户有什么用?

2025-05-03 00:00:00

安全:安全的内网穿透技术,微服可以做到无公网 IP 时,NAT3 100% 的穿透率,NAT4 也有 25% 的穿透概率,这样可以实现没有公网 IP,在外手机和电脑就可以访问家里的服务器和云服务。很多朋友说,FRP 很简单的,但是 FRP 并不安全,一是你需要再额外购买一台中继 VPS,二是,FRP 只对外暴露服务,并不做安全防护。微服的内网穿透是结合硬件可信根安全防护的,陌生终端设备访问微服会需要管理员的一次性验证码,没有这个验证码,黑客即使知道你的用户名和密码也无法攻击,因为没有验证码,微服是拒绝服务的。而自己搭建 FRP,在方便你自己访问云服务的时候,也方便黑客访问,黑客一旦扫描到你的地址,暴力破解密码只是时间问题。

先进:我们团队专业做 Linux 操作系统开发 20 多年了。微服操作系统采用了非常先进“岩层”架构设计。① 最核心的底层操作系统(地核层)是一个非常 Mini 的 Debian Linux,只负责网络链接、安全认证和业务操作系统的升级,因为极度简单和 Mini,底层操作系统超级稳定,能保证微服升级永远不会挂;② 业务操作系统(地幔层)在底层系统之上, 主要根据用户的需求, 快速迭代系统的功能, 比如网络隔离、 应用开发、 系统资源调度等, 这层业务操作系统主要是为了懒猫应用服务的, 保证懒猫应用稳定运行, 并且不会像 Docker 那样, 时间久了, 配置冲突把操作系统玩崩溃;③LPK 应用包格式(地壳层)也是一种容器技术, 但是这种容器技术相对于 Docker 来说会更加安全, 并且将来会增加网络流量审计、 网络限制和用户权限控制等功能, 最大程度保证用户的数据和网络安全。最后,我们也提供开发者模式: 对于开发者来说, 初期有很多实验性的工作, 为了减少对开发者的限制。 我们的系统也支持 KVM、 Dockerd。 KVM 主要是安装一个虚拟机后, 可以 SSH 进去任意部署开发环境, Dockerd 主要是让大家低门槛的尝试 Docker 软件。 当然也可以直接用 PVE 来专业管理和操作 QEMU/KVM 虚拟机。

省心:自建 IPv6 的虚拟局域网,并维护一个自己的局域网 DNS 服务,所有自有应用跑在这个私有局域网里。每个应用只要启动就会有自己的二级域名,自签证书杜绝中间人攻击。这样的好处是,任何应用都可以享受内网穿透服务,只需要把应用在微服里跑起来,所有应用都可以在外用手机访问。节省你大量折腾应用配置的时间。

好耍:微服的应用采用 LPK 的包格式来做应用分发,你只需要打开应用商店,1000+应用一键安装就可以体验。而传统的 Dockerfile, 你下载下来要折腾配置,还要搞定 Docker 镜像访问不了的问题, 构建一个 Docker 应用非常麻烦,一行配置都不能错。而 LPK 这些问题都不存在,LPK 像绿色软件一样,下载下来直接启动,没有额外的依赖和折腾。LPK 相对于 Dockerfile 的另外好处是,你折腾完的 Dockerfile,伸手党拿走一声谢谢也没有。而 LPK 放在商店里,开发者会收到所有微服用户的敬仰和崇拜。

省时:微服花了大量时间在终端跨平台小程序框架上。你只需要在微服中跑起服务,小程序框架会自动在 Windows/Linux/macOS/Android/iOS/鸿蒙/ARM/Server/车机 9 个平台自动运行,大大节省你创作应用的时间。而传统云服务开发,你写完应用代码其实只完成了 1/3 的进度,为了让用户在所有平台上方便使用,你需要解决 9 个平台的 Native 代码编写、应用构建和应用分发等琐碎的事情,这些终端适配的工作无聊又折磨人。而微服的跨终端小程序直接解放了你的适配时间,让你有更多时间在创作而不是干体力活上。

有爱: 我们技术人都喜欢折腾,但是我们更爱家人。家人不懂技术,他们只希望能稳定用一些普通服务,包括相册搜索、网盘存储、电影播放、通讯录备份、待办清单等服务。而我们在开源社区折腾的软件,质量不稳定,每次登录 App 都需要输入用户名密码,不懂技术的家人使用非常麻烦。而微服的账户隔离、容器隔离和账户自动登录技术,可以实现折腾和有爱,两者兼得:微服官方应用保证家人稳定可靠实用,微服 SDK 也给开发者带去很多折腾的乐趣。

懂你:工程师改造完世界后,下班只想折腾点自己喜欢的云服务和软件。而传统的 NAS 卖完设备后,除了质量问题就再也不搭理你了。我们的操作系统和硬件都是送的,主要卖 7x18 小时的售后陪聊服务。只要你下班了,想折腾了,我们一线写代码的工程师随时随地在微信上陪你折腾软件,解决构建中的专业技术问题。代码托管、CI 构建、增量备份、游戏私服…… 这些男人才懂的乐趣,我们都懂。中年男人除了带家人旅游,骑上帅气的摩托车,还有啥比回家折腾微服更好耍的事情吗?

🔥更多产品细节请访问 https://lazycat.cloud

♥️详细开发者文档请访问 https://developer.lazycat.cloud

开发者购买请推特私信我,所有开发者终身都有大额度购机优惠,致敬开源社区,开源万岁!

操作系统老兵:软件生态为什么难度这么大?

2025-05-02 00:00:00

很多没做过操作系统的,很容易受到抖音民族情绪渲染调动,就认为只要有人就可以把操作系统干好,真实的软件生态要比你想象的难很多。

为了方便大家理解,我尽量简化其中的逻辑,只说我几十年经验的结论。

操作系统的生态主要有 5 个方面:

  1. 芯片
  2. 编译器
  3. 基础软件组件
  4. 操作系统
  5. 关键软件生态

芯片最难的其实不仅仅是大家熟知的制程和工艺,最难的是指令集。一个不开放的指令集,会导致很多开源软件的代码分支没有这种指令集。而现代操作系统早已离不开开源软件,没有对应的指令集,基本上就要对每个开源组件都手动增加指令集分支的代码,而指令集分支的代码是大量的 #ifdef 代码,50个人折腾一年后,一旦上游软件改了代码,手动迁移适配的工作量极大,就像一提花生一样,一环套一环。大家说,为什么不贡献设备到开源社区?因为一个用的很少的芯片,对于上游开发者也是负担,没人用,每天还要维护这个分支的代码,累。

编译器是开源社区很难理解的难,因为编译器和芯片指令集是绑定的。开源社区大家升级 GCC 版本觉得很简单,但是一个新的芯片的编译器和芯片的指令集相关。因为你芯片做了任何创新,比如多媒体指令,向量加速指令,AI 算子加速指令等等。这些都需要通过编译器翻译,才能让软件用得上这些指令集。所以,你要大量改 GCC,让软件编译的时候自动能用上这些新的指令集,这里工作量巨大。最难的还不是这里,而是 GCC 影响的底层软件太多了,不能有 bug,如果有 bug 会导致你以前编译的软件要全部重新编译,不要问我为什么知道,说多都是泪。 操作系统的基础软件重新编译一遍最少需要 1 个月的时间,比 LFS 难一万倍。

基础软件组件,比如性能分析工具、浏览器引擎、Python、各种数学库。基础软件最麻烦的就是这些带数学库的软件,现代很多先进编程语言的指令集优化不受 GCC 影响,比如 golang,haskell 都自带编译器和数学库,这些语言的移植和上面 GCC 一样难,需要既懂 X86 指令集,又要懂新的芯片指令集,还需要熟悉新的编程语言,还要数学功底强。虽然没有 GCC 影响面大,但是工作量非常大,专业编译器团队也要花一年时间才能稳定一个版本。

操作系统相对于前面三个来说,虽然底层难度不大,但是上层的难度在于应用软件的支持和用户习惯。想要说服成千上万的软件厂商维护你操作系统的版本非常难,你首先要证明你用户量大,否则没人支持。 而你面对的是先有鸡还是先有蛋的问题。而自己造的话,只能造一些通用软件。比如专业点的,Office、CAD、PS 等,操作系统厂商本身也不专业,因为你软件工程能力再强,也缺乏这些行业多年的行业认知。

关键基础软件生态,最典型就是类似 CUDA 这种护城河。即使你跨越了前面几座高山,每座高山都损失 30% 的性能,到了专业赛道以后,想要弯道超车非常非常的难。因为别人用 CUDA 搞钱,你想要别人当小白鼠,基本没人会理你。

而操作系统软件生态最难的是,用户和行业的习惯,他们习惯于某一个生态的文档,习惯于出了问题网上可以抄答案。 来到一个新的生态, 99% 的厂商都没有底层软件调试能力,一个出错可以保证你全网都没有一篇解决方案,最后生态合作伙伴的老板每天思考的问题是,等你平台跑起来,我都饿死了。

所以,操作系统的软件生态发展只有两条路:

  1. 浪潮: 新的赛道,新的浪潮,所有人都是 0 起步,只要可以赚钱,再烂的操作系统都有人用,比如智能手表,智能门锁,电动汽车等
  2. 补贴: 国家巨大的补贴,生态发展起来了给国家省钱和增加贸易谈判筹码,但是结果大家也知道,补贴的市场容易缺乏长远竞争力

懒猫微服的操作系统是我们耗时 3 年研发,瞄准家庭服务器和 AI Agent 赛道,三层操作系统架构设计,怎么折腾都不会挂,商店 1000 多个应用,好玩好用。

欢迎开发者们找我购买,开发者有专属优惠。不是开发者怎么办? 5.1期间有24期免息优惠,每个月只需 200 元即可拥有。 https://item.jd.com/10101262547531.html

苦尽柑来遇见你

2025-04-26 00:00:00

最近在测试懒猫微服的电视功能,不小心点了电视剧《苦尽柑来遇见你》,整整 16 集,真的哭的一塌糊涂。

这个感人至深的韩剧,梁宽植守护了吴爱纯 70 年,每每看到那些平凡的生活点点滴滴画面,眼泪就忍不住往下流。

就像这个剧中梁宽植跟梁金明说,你是我的天堂,你妈妈是我的世界一样。

一个男人为了他一生的至爱,付出了一切,每晚轻轻的拍拍爱人的肩膀,哄她入睡…

爱和经历,才是人一生的意义,强烈推荐大家观看,带好纸巾,人生值得。