中文圈程序员的碎碎念
506 subscribers
3.52K photos
21 videos
129 files
28.7K links
嘿!你也来看码农又在写啥BUG了吗
Download Telegram
早期的 Linux

我叫拉尔斯-维尔岑纽斯(Lars Wirzenius),Linux 起步时我就在那里。Linux 如今在全球取得了巨大成功,但它的起点却相当卑微。这是我对 Linux 最早期的记忆、它的创建,以及它走到今天的起点。

via TecHug (author: techug)
微软 .NET 10 发布首个预览版

.NET平台的下一个重要修订版对.NET运行时、SDK、库、C#、F#、ASP.NET Core、Blazor、MAUI等进行了增强。

via TecHug (author: techug)
国内首个 AI IDE:Trae 发布了

Trae 是国内首个 AI IDE,深度理解中文开发场景。AI 高度集成于 IDE 环境之中,为你带来比 AI 插件更加流畅、准确、优质的开发体验。

via SuiYan RSS Feed
谈谈封装为什么很适合形容商业

我第一次知道到「封装」这个词,是初中时,当时买来第一本《微型计算机》兴致勃勃地翻看,里面介绍了基础 CPU 的运行原理,当然也提到了 CPU 制造完成之后,为了保护脆弱的硅晶片,需要在芯片之外进行封装,把它完全包起来。

在竞争激烈的商业世界里,将某样业务,某种技术发明,某种商业模式,某种资源,某种特权,完全包起来,是否可以视为一种「封装」?我认为,尽管作用对象不同,但动作定义一致,因此在谈及商业时,的确可以使用「封装」这个词。

我觉得这个「封装」,相比「垄断」这个单纯的名词,更能适合描述商业的基本的行为,以及可以解释处于正在发生时的现象。

作为一个动词, 「封装」更加形象的形容了商业竞争的本质,而且可以比垄断更早描述,而非等待一切尘埃落定,再用倒后镜视角来形容。「封装」永远在路上,每一个参与市场竞争的商业组织,都在试图把某样东西包起来。

via Home - Space Looming
使用 Nginx + acme.sh 配置 HTTPS 网站

之前我发起了免费域名项目zz.nic。所有 zz.ac 域名要求必须使用 HTTPS 建站,这就涉及到 SSL 证书。虽然市面上有很多商业 HTTPS 证书可选,但基于 ACME 标准 申领的免费 SSL DV 证书完全够用了。可我发现好多朋友还是不会申请和配置。本文分享 基于 Nginx 和 acme.sh 工具来自动化免费申请和更新 ACME SSL DV 证书的方案。

via 涛叔
再启用 Newsletter

前几天看到 拾月 开发了一个 RSS to Email 的服务,可以让读者订阅网站的 RSS feeds,0.002 元 / 封。

目前有 5 人民币的免费额度,对大部分博客来说,已经够用很久。

个人感觉这个服务很棒,不用花费额外精力配置,也不用再编辑一遍文本,都是自动化的,特别适合静态博客。

以此为契机,我搜了搜 WordPress 的插件商店,发现了 Newsletter

比起其他类似功能的插件,这个插件的优势是不需要注册,如果我保持 WordPress 版本不变,即使这个插件不更新维护,我依旧能使用。

设置很简单,如果 WordPress 配置过 SMTP 邮件转发,则可以直接下载使用该插件。

我目前使用的是免费版,效果请见链接 。可以展示近期的多篇博客,也可以每封邮件展示一篇博客全文。

试试用邮件订阅本博客吧!

Newsletter:

via Another Dayu
加密 NFS 搭建保障数据传输与存储安全

在现代企业环境中,数据的安全性至关重要。NFS 作为一种广泛使用的文件共享协议,其数据在传输和存储过程中若是缺乏加密保护,将面临被窃取或篡改的风险。本文将详细介绍加密 NFS 搭建过程。


NFS 的简介

NFS 是允许用户通过网络访问远程文件系统,就像访问本地文件系统一样方便。

它支持跨平台文件共享,广泛应用于 Linux 和 Unix 系统。

然而,传统的 NFS 传输数据时以明文形式在网络中传输,很容易受到中间人攻击和数据泄露的威胁。

在 NFS 的基础上,我们可以使用加密技术来保护数据传输和存储。

加密 NFS 必要性

随着数据安全法规的日益严格和企业对数据保护的重视,对 NFS 进行加密变得必不可少。

在企业中,NFS 的加密功能可以提供数据传输和存储的安全保障。

加密 NFS 可有效防止数据在传输过程中被窃取或篡改,确保数据的完整性和机密性。

同时,它也可以满足企业对数据安全合规的要求,为企业的数据资产提供更可靠的保护。

搭建加密 NFS 的步骤

在 NFS 服务器安装支持加密的 NFS 软件包。例如,在基于 Debian 的系统上,可以使用下面命令进行安装:
1


sudo apt -y install nfs-kernel-server


使用下面的命令编辑 NFS 配置文件,添加加密相关选项。例如,可使用 sec = krb5isec = krb5p 选项来启用 Kerberos 加密。其中,krb5i 提供数据完整性保护,而 krb5p 则同时提供了数据加密和完整性保护:
1


sudo vim /etc/exports


在配置文件中指定要共享的目录及其访问权限。这表示允许客户端 IP 以读写模式访问共享目录,并启用 Kerberos 加密。例如:
1


/path/to/shared/directory client_ip(rw,sync,no_subtree_check,sec=krb5i)


完成配置后重启 NFS 服务。可以使用下面命令重启服务:
1


sudo systemctl restart nfs-kernel-server


使用下面的命令使配置文件生效:
1


exports -rv


在需访问加密 NFS 共享的客户端上安装 NFS 客户端软件。例如,在基于 Debian 的系统上,可以使用下面命令进行安装:
1


sudo apt -y install nfs-common


使用挂载命令将加密的 NFS 共享挂载到本地目录。这将把服务器上的共享目录挂载到客户端本地目录,并启用 Kerberos 加密。例如:
1


sudo mount -t nfs4 -o sec=krb5i server_ip:/path/to/shared/directory /local/mount/point


使用下面命令查看挂载文件系统,确保加密 NFS 共享已成功挂载:
1


df -h


加密 NFS 优势与注意事项

加密 NFS 有多种优势,例如数据加密传输、身份认证和数据完整性保护等等。

它能够有效防止数据泄露和篡改,提高数据的安全性。

然而,在搭建加密 NFS 时也需要注意一些事项。

首先,加密过程可能会增加系统的性能开销,因此需根据实际需求进行性能评估和优化。

其次,配置过程较为复杂,需仔细检查配置文件和参数设置,确保正确无误。

此外,还需要定期更新加密软件和认证机制,以应对不断变化的安全威胁。

via 杜老师说
#1261 书签里面有很多回忆

今天我在整理我的书签,看了一个网站是 share.sjtu.edu.cn ,然后点进去已经是打不开了,我搜索这个网站,发现换了域名,share.dyweb.sjtu.cn ,还是叫 SJTU-传承.交大,但是以及需要使用交大学生帐号登录才能浏览了。想起来我之前为了让自己保持和一流大学的学生一样,到处去找各种资料来让自己做到「你觉得自己是个什么样的人,那你就是个什么样的人」,所以我觉得自己是来自交大,那我就可以是来自交大。现在呢,我觉得自己 all of shit。

via jz's ramblings
#1262 浏览器

我开始把 Edge 作为我的主力浏览器来使用了,之前我用了很长一段时间的 Arc,后面还是换回去用 Chrome 了,Chrome 应该是我用电脑开始就在用的浏览器。这次用 Edge 可能也是用了一阵子就会换回去吧。

via jz's ramblings
#1263 说一件你觉得开心的事情

今天的天气很好;新闻报导说这是 150 年来最热的一个三月初,在上海;在江西,我感觉是同样如此。

via jz's ramblings
#1264 Airpods Pro AC+ 换新

我的耳机买的 Apple Care+ 在 2 月份 23 号到期,我想着在到期之前去 Apple 找个机会把耳机换新,结果我一去到 Apple,工作人员就直接跟我说要我降低期待,说有可能不能免费换,我说去年十月份拿过来检测的时候,你们都有说可以在快过期的时候拿过来换,他说不可以。

耳机的问题就是我在和朋友微信电话或者别的电话,需要用到耳机麦克风的时候,总是失效,对方会听不到我说话的声音,耳机完全不能收音,必须依靠手机麦克风来收音。我在 Apple 也向他们复现了这个问题,他们也看到了,Apple 工作人员说我的耳机比较复杂,又是香港的产品,买又是在澳门,他要我提供发票或者收据之类的,我早就不知道忘记在哪里了。他说如果有收据,可以向经理说明换一个,但是我没有。因为在店里面跑了诊断,结果都是没有问题。

后面他就建议我说返厂吧,我说反正明天 AC+ 就到期了,那就返吧。我内心就一直说降低期待,结果,真的,处理得很快,下午 16 点显示到了上海昌硕工厂,下午 19 点就显示已经维修好了,然后直接顺丰发过来,差不多刚好就是一周得时间。

收到耳机就是左耳没有换,别的都换新了,我那个全是划痕的主体也都换了。

via jz's ramblings
折返点 2509 训练第四周 完全躺平休息

养病

养病
加拿大游玩回到家,就病倒。从周五到周一,我是能躺着就不坐着,马拉松训练计划完全放在一边,啥也不干,专注于休息。

via Conge
折返点 2509 训练第四周 完全躺平休息

养病

养病
加拿大游玩回到家,就病倒。从周五到周一,我是能躺着就不坐着,马拉松训练计划完全放在一边,啥也不干,专注于休息。

via Conge
十万封邮件

我的云盘基本只存文档,免费容量19GB,所以很长时间也没关注容量。最近突然收到邮件说云盘空间不够,这我才注意到云盘已经用了16GB,仔细看了下发现里面邮件快10GB,不知啥时候备份的照片5GB(应该是之前免费存照片后来说原图占空间了),然后文档其实就1GB。图片文档我也懒得管了,但快10GB的邮箱让我有点意外,毕竟邮箱附件都是有限制的,啥玩意能这么大。

然后我就开启了邮件大扫除模式,这才注意到个人邮箱已经累积了十万封邮件。这是我个人邮箱,中间在加拿大时曾代收过学校邮件两年,之后都是严格区分工作邮箱与个人邮箱的。我出国前是清理过邮箱的,留下的应该不到千封,这就是说后面这十万封邮件都是最近十年收到的,因为我默认用归档而不是删除处理邮件,久而久之就搞成现在这样,均下来其实一天也就三十多封。

最近恰好在琢磨如何把个人数据喂给本地模型,训练一个个人助理,其中一个难点就是去哪里找个人数据。我个人数据一部分在博客对外公开,一部分在笔记,这些都好说,不过很多鸡毛蒜皮的事我不会去记但希望助理能记住,例如网购记录啥的,这些确实又个默认的去处,那就是我的个人邮箱。然而,我很清楚的是这十万封邮件里广告估计会有一多半,其中疫情期间我订阅的newsletter、基本不看的邮件列表、还有GitHub各种消息更新就占到三分之一,另外就是各种类型的广告,加起来也能占到三分之一,真正对我有用的可能有两三万封,这里面就没有绝对主力了,单一发件人发给我的邮件都是在一千封以下,但约莫一周一封倒也可以接受。我自己则发出了约2500封邮件,大概一天几封这样。这个数看上去不多,但考虑到我大多数回邮件都是用工作邮箱,个人邮箱一天几封也算不少了。

不过这次整理还是挺有收获的,很明显邮箱里的信息属于个人被动日记,里面有注册信息、忘记密码信息、购物信息、账单信息还有与外界联系信息,从里面可以大体构建出过去这些年我关注点的变化,很多是我自己意识不到的。即使是清理过的邮箱,里面未读邮件也有三四千封,这些邮件大都是起备份作用的。这部分数据配合时间戳是可以构建出一个相对清晰的个人形象的,这个个人形象可以转化存储为一个向量数据库,大语言模型可以通过接入这个数据库来更好服务我。思路有了就好办了,剩下的脏活累活都是可以让大语言模型来生成代码的。

简单说就是把所有邮件导出为mbox文件,然后把这个文件转成纯文本文件,然后导入到知识库向量化,然后就可以了。当然这个方案非常粗,想让助理更智能,就要让其更好理解邮件并做好数据清洗,向量化与提示词也有优化空间。因为邮箱是操作系统级的应用,相信今年就能看到系统级的信息整合了,特别是手机端,不过我这个应该属于邮件数比较多的,国内更容易实现的其实是基于微信聊天记录的个人助理,我见过不少人会通过给自己发语音来备忘,只是我还是倾向于本地化搜索增强生成方案或者说微调出一个个人助理。

理想中的人工智能助理,一方面要了解我的过去,另一方面要可以通过数据接口更新,还有有各种专业知识,这样只要我对其提问,他可以基于我的现状来给出回答。这里面的关键就是记忆,现在很多个人助理的记忆是用简单的标签化描述来实现,但要想真正实现外置大脑,首先自己得留有记录。不过正经人也不会写日记,这里其实需要一个被动日记,连接各种可穿戴设备与手机,实时记录,好比有个助理天天监测你的一举一动。这听上去可能还有点恐怖,但如果你需要这样的数据来认识自己并专业解读自己收到信息,可能也是可以接受的。我推测具体到每个人,能让人工智能识别为专一性回忆的东西可能不多,如果我来实现,我会选择微调模型让专一性内容内化到模型里,新增信息存到向量数据库,然后每年微调一次将记忆内化到模型里,这样有点养成系的意思了。

很多人都在说少子化的未来就是孤独死,但很明显现在你可以让一个人工智能模型进行一个角色扮演,输入你的过往就可以得到一个无话不谈的影分身朋友。赛博儿女/伴侣配合人形机器人养老很可能是几十年后很多人的唯一选择,而你不需要写自传,只需保留好个人数据。说起来我十年的邮件排除掉广告只剩了不到5G,这里面还有很多附件,因此文本角度我一辈子能生成的数据大概率不超过50GB,图片视频那些识别为文本后向量化后可能也不会太大。其实本来我也想顺道整理下照片,但看了下就放弃了,我看很多照片时甚至不知道是我拍的,恐怕除了人工智能也不会有人愿意去解读照片库,而这种解读抽象出来的信息可能非常有限,例如就是一句拍了张街景,其在向量数据库里也就是带着时间戳的这么一句话。因此,也许很多人照片可以按TB来计算,但抽象出可以形成记忆的信息可能非常有限,一张照片平均都可能没有一句话,也就是说一个人一辈子关于自己的电子化回忆都不一定能装满一个128GB的优盘。从这个角度,人的一生也可以描述为一段低熵信息表达,对抗宇宙的熵增大趋势,那么保留一份关于自己的向量数据库又何尝不是一种永生呢?

我前些年还在考虑遗嘱的事,现在看完全多余。不论我是否留下文字,也不论是否还有人记忆里有我的片段,关于我的记录一直都在进行中,甚至记录中提炼出的我比我自己更了解我,也不会老年痴呆。我并不需要让自己融入互联网,每个人其实都已经是互联网的一部分,很多痕迹很难彻底消除,而互联网本身的出现与扩展就是地球上人类作为总和的DNA。哪怕人类自己把自己玩灭绝了,相信更高等的智慧也能从各类遗迹里提取出一个个鲜活的个体的信息,正如在整理邮件时看到那些突然出现的一堆密码找回邮件,我就知道那一天我又清空浏览器缓存了。

via Homepage on Miao Yu | 于淼
在嘉年华中感受苹果开发者的热情 - 肘子的 Swift 周报 #73

为期两天的 Let's Vision 2025 在欢乐的氛围中圆满落幕,这是我作为讲师第二次参与此项盛会。与去年相比,今年的活动不仅全面覆盖了苹果开发生态,还融入了当下最炙手可热的 AI 领域内容。

Subscribe English RSS

阅读全文

via 肘子的 Swift 记事本 | Fatbobman's Blog
卤鹅肝

一直说“筷子小手”是吃喝玩乐的顽徒,写了这么多的旅行,竟然还没有专门写美食,本篇主要是写“卤鹅肝”,你们喜欢吃吗?

----------------------

文火舔着砂锅底,老师傅眯眼瞧着铜勺里翻滚的卤汁,八角与桂皮在深琥珀色的漩涡里沉浮。忽然想起几十年前在还是个愣头青学徒跟着客家师父学做卤汁的少年人,偶然瞧见川菜厨子往卤汤里撒香料的模样。这念头像根细线,把南海酱香咸风与巴渝的香料缝作一处,便缝出了这碟鹅肝。

选的必须是白鹅的肝,这种鹅原是得了天地偏爱的。濑溪河两岸的富硒土里长着紫云英,水底沉着田螺蚌,鹅儿吃了这些,肝子便似羊脂玉养在雪缎里。老辈人说,鹅肝分量最是讲究,三两半的鹅肝好比十五的月亮,圆润得正好。鹅堂的师傅在稻田间辟出养鹅场,稻花落时,白鹅的尾羽也沾了稻香。老饕都晓得,这种荣昌土生土长的鹅肝比寻常鹅肝多三分脂膏,却又比法式肥肝少两分油腻,恰似在重庆街头随处可见的黄桷兰,滑润柔厚沁人心脾。

四十味香料是老师傅的家底,妙在添了重庆人的脾性——把秘制香料在砂锅里载沉载浮,像中药味却不苦涩,倒像春溪里漂着的桃花瓣,挠得人舌尖发痒。卤汁要熬成老茶汤的稠度,鹅肝下去须得文火慢煨,火急了肝就柴,火缓了味不入。老师傅执铜勺如执笔,每隔半柱香便轻轻翻个身,像给初生婴孩掖被角。

卤煮间总飘着股奇香。不用先进的恒温锅,全凭老师傅的经验掌控,让老卤在65度的温水里轻轻摇晃。外乡人见了总要笑:”这不就是温水炖鹅肝?”老师傅也不恼,只揭开锅盖让人瞧——琥珀色的鹅肝卧在清亮的卤汤中,表面结着层薄脆的脂膜,倒像初春河面的冰凌。

待揭盖时,白雾里浮起琥珀色的珍馐。斜刀片作蝉翼,码在鸦屿山下的安富夏兴窑出的陶盘里。夹一箸入口,先是卤水的醇厚,末了竟回甘,像咽下枚浸过蜜的橄榄。配盏古佛山上产的的红碎茶,茶汤过处,余味愈发清亮,好比月出东山时,江面忽然洒满碎银。

这道菜的妙处,恰似客家文化入渝。岭南人食鹅肝必配白粥,图的是本味;码头文化好烈酒,求的是痛快。而这碟鹅肝偏偏让人想起榕树下的黄昏——阿嬷摇着蒲扇讲古,巷口飘来担担面的香气,暮色把咸甜酸辣都酿成了乡愁。如今南北食客围坐,一筷下去,竟都成了他乡故知。

秋深时去厨房后院,能见着晒香料的篾匾铺满青石板。老师傅说这些香料暗合二十四节气,立秋收的陈皮,霜降采的草果,光阴都酿在卤汤里。外地分店总学不去这味,到底少了濑溪河上的雾、万灵的月,和养鹅人竹篙头的那滴水。

青石巷的灯笼次第亮起,老师傅的铜勺又搅动一锅新卤。这鹅肝的妙处,原不在潮不在渝,而在那欲说还休的“回味”二字。就像老茶客呷罢茶根,总要把茶碗凑到鼻尖再嗅一嗅——人生百味,最美的原是那口将尽未尽时的念想。

via Macin
Python 奇特的自引用

在 C、C++、Java 和 JavaScript 中,简单赋值操作符 (=) 具有从右到左的关联性。Python 中的从左到右赋值可以通过一些故意的错误来进一步证明

via TecHug (author: techug)