Vincent Bernat

RSS: https://vincent.bernat.ch/en/blog/atom.xml
Vincent Bernat 的主页与博客,关于网络、Linux 与软件开发。

改造 Go 编译器以高效地将 IPv4 映射为 IPv6

作者 Vincent Bernat 深入探讨 Go 标准库 netip.Addr 缺少 Map/To6 方法的问题:维护者建议用 netip.AddrFrom16(ip.As16) 并依赖编译器优化,但实测该模式比原生方法慢 8 倍。 文章对比三种实现路径:修改标准库、写外部 helper、走 unsafe;重点展示如何“hack”Go 编译器(用汇编级 pattern matching 插入内联)使该序列达到最优性能,并给出基准测试与汇编证据。 对关心 Go 底层性能、编译器 IR 与 netip 设计的读者信息密度高,易引发 HN 式讨论。
评论点赞收藏4 天前

用 SSH 和 nginx 搭建自托管 HTTP 隧道

作者 Vincent Bernat(NixOS 维护者)提出一种仅依赖 OpenSSH 和 nginx 的自托管 HTTP 隧道方案:用 ssh -R 把本地 8080 端口映射到远端临时端口,nginx 通过正则 server_name 匹配 并代理到 127.0.0.1:41535,再叠加 secure_link 模块做基于 MD5 哈希的用户名校验(哈希--过期时间@端口域名),并用 helper 脚本自动发现 sshd 分配的端口、生成带 token 的 URL。 文中逐行拆解了 nginx 配置(含 WebSocket 代理)、DNS/证书链(Route 53 + ACME DNS-01 + NixOS 自动签发)、哈希生成命令(openssl md5→base64→URL-safe 替换)以及 helper 脚本如何通过 sshd-session 进程树和 ss --listening 定位临时端口。 还解释了端口熵只有约 14.8 bit 的风险、为什么加过期时间、为什么去掉 Authorization 头再转发等细节。结尾附 NixOS 版脚本,整体是一篇工程实操向教程,偏技术读者。
评论点赞收藏5 天前

在 NixOS 上用 GoatCounter 搭建无爬虫的自托管网站分析

博主 Vincent Bernat 介绍他如何用 GoatCounter 替代 Google Analytics,通过自定义 JS 客户端(要求用户交互才记录 hit)+ CSS 回退过滤 AI 爬虫,把真实访客数从 2000/天降到 200/天。 文章详细展示了在 NixOS 上部署 GoatCounter 的完整方案:自定义精简 JS 客户端、本地代理缓冲防止服务宕机丢失数据、systemd-nspawn 容器化部署、Colmena 多机管理、Litestream 数据库备份。 还提到向 GoatCounter 上游提 PR 被拒,体现了开源维护者的取舍。属于自托管/隐私/运维交叉的实操长文,信息密度高,有具体代码和配置片段。
评论点赞收藏18 天前

用 CSS anchor positioning 实现侧边注释

用 CSS anchor positioning 实现 sidenotes,无需 JavaScript,支持多块内容和碰撞检测。Chrome 125、Firefox 147、Safari 26 已支持,窄屏或旧浏览器自动降级为段落下方显示。 作者还提交了 Pygments 和 MDN 的修复 PR。
评论点赞收藏31 天前

生成树协议(STP)的非交互式入门

Vincent Bernat 制作了一个生成树协议(STP)的讲解视频,原文配有可在浏览器中直接运行的交互式演示。STP 通过阻塞冗余链路来消除以太网环路,并在链路故障时快速重建无环拓扑。
评论点赞收藏45 天前

交互式理解生成树协议(STP/RSTP)

在浏览器里直接运行的 RSTP 协议交互演示,从根桥选举到端口角色分配,一步步可视化以太网环路消除过程。文章由网络工程师 Vincent Bernat 撰写,包含基于 MSTPD 开源实现的实时模拟,可手动断链观察协议如何在不到一秒内重新收敛。 内容覆盖 RSTP 基本原理、历史背景(含 Radia Perlman 的著名算法诗)、端口状态机、拓扑变更通知及安全性讨论,并对比了 BGP EVPN VXLAN 等现代替代方案。
评论点赞收藏45 天前

使用分片扩展 Akvorado BMP RIB

To associate routing information—like AS paths or BGP communities—to flows, Akvorado can import routes through the BGP Monitoring Protocol (BMP). As the Internet routing table contains more than 1 mil...
评论点赞收藏109 天前

建立苏联钉子厂:KPI是如何扼杀效率的

<p>2008年,我找到了第二份工作——在Orange Portails 1的网络团队任职,该部门负责法国电信运营商Orange的网站和搜索引擎。这里运转得井然有序:技术设施完善,业务各环节都有一支专门的团队,而且有充足的空间让我专注于自己最擅长的工作。<br><br>几年后,这一切都不再重要了:由于对数字的痴迷,我们再也无法按时推出新服务了。免责声明:这是一个我喜欢讲的故事,用来提醒大家注意Go。</p>
评论点赞收藏114 天前

使用LLM助手进行博客写作

作者分享如何利用大型语言模型辅助博客写作流程。文中包含一些关于法国工程科学领域研究文章索引数量的图表数据。 内容偏向个人经验分享,但夹杂了看似无关的学术统计图表,结构略显松散,对硬核技术读者的直接吸引力有限。
评论点赞收藏120 天前

登录芦苇

登录后关注作者、收藏内容和参与讨论。