了解 GNU Emacs 中的 Embark(一点)和一些“傻”Embark 技巧
摘要
对 GNU Emacs 中 Embark 包的探索,涵盖基本理解和一些使用它的“傻”技巧。
<p><a href="https://lobste.rs/s/secptg/understanding_embark_gnu_emacs_bit_some">评论</a></p>
查看缓存全文
缓存时间: 2026/06/10 00:22
# 您使用的浏览器版本过旧
来源:https://utcc.utoronto.ca/~cks/cspace-bad/cspace-old-browser.html
## 您使用的浏览器版本可疑地过旧
您看到此页面,很可能是因为您尝试访问我博客(Wandering Thoughts)(https://utcc.utoronto.ca/~cks/space/blog/)或它所属的Wiki系统CSpace(https://utcc.utoronto.ca/~cks/space/)的某些部分。不幸的是,您使用的浏览器版本被我设置的防爬虫措施判定为可疑,最常见的原因是版本过旧(尤其常见于Chrome的某些旧版本)。不幸的是,截至2025年初,大量高流量爬虫(部分原因是为了收集数据用于LLM训练)正在使用各种旧浏览器用户代理,尤其是旧版Chrome的用户代理。为了减轻Wandering Thoughts(https://utcc.utoronto.ca/~cks/space/blog/)的负载,我正尝试(努力)阻止所有这些爬虫,而您正好撞上了。
如果这是误判,且您正在使用当前版本的浏览器,您可以通过我目前在大学的工作地点(https://www.cs.toronto.edu/~cks/)联系我(从该页面应该能推断出电子邮件地址)。如果方便,请告知您使用的浏览器等信息,最好能提供准确的User-Agent字符串。
## 给Inoreader(阅读器)用户的特别说明
我并未屏蔽Inoreader的feed抓取器,也未将其视为过旧版本,它正常地从我处抓取订阅源。我不清楚为什么Inoreader会向您展示此页面。可能是他们偶尔会用旧的浏览器HTTP User-Agent(或实际使用旧版浏览器)抓取订阅源或页面,并将那次抓取的结果(即本页面)作为应展示给用户的内容,而不是他们订阅源抓取代理的正常结果。这在当前是一个严重的错误:现代HTTP抓取的结果部分取决于所用的HTTP User-Agent(https://utcc.utoronto.ca/~cks/space/blog/web/HTTPResultsAndUserAgents)。
## 给Feedly(阅读器)用户的特别说明
与Inoreader类似,Feedly也会定期使用伪造的旧浏览器HTTP User-Agent头来抓取我的订阅源,这会导致失败,然后他们固执地将该结果用于他们常规的Feedly HTTP User-Agent实际抓取的订阅源。对此我无能为力;您应联系Feedly支持(如果能找到的话)。详情请参阅我在Wandering Thoughts中的这条评论(https://utcc.utoronto.ca/~cks/space/blog/web/FeedReaderErrorsProblem?showcomments#cks-20260215115901)。
## 给Vivaldi用户的特别说明
由于持续的攻击,您可能需要更改“User Agent Brand Masking”(用户代理品牌掩码)设置(https://help.vivaldi.com/desktop/miscellaneous/user-agent-brand-masking/),让您的Vivaldi标识自身为Vivaldi而非Google Chrome。此建议甚至适用于当前版本的Vivaldi。
## 给使用archive.*的用户的特别说明
您可能是通过archive.today、archive.ph、archive.is等网站看到此页面的。不幸的是,archive.* 在存档抓取页面时,其方式与恶意行为者难以区分。它们使用旧版Chrome的User-Agent值,从广泛分布且未明确标识归属的IP地址段抓取,而且部分IP地址的逆向DNS记录是伪造的,声称是googlebot的IP地址(这通常是恶劣行为者才会做的事情)。我建议您改用archive.org,该归档爬虫行为更规范,能够正常抓取我的博客(Wandering Thoughts)(https://utcc.utoronto.ca/~cks/space/blog/)。
Chris Siebenmann, 2025-02-17
相似文章
Emacs 的更多内置功能
一篇博客文章,介绍了Emacs中不太为人所知但实用的内置功能,延续了一个旨在提高原版Emacs功能可发现性的系列。
推荐一下……理解 Emacs 的模式
文章解释了 Emacs 的架构模式,重点介绍了通用缓冲区数据模型和增量补全读取(ICR),并将其比作玫瑰的根与花瓣。文章强调了 Emacs 如何统一界面并通过 Elisp 实现可扩展性。
被低估的内置功能:Grand Unified Debugger
本文重点介绍了Emacs内置的Grand Unified Debugger(GUD)的功能,强调了其多调试器支持和图形化GDB界面,包括通过点击边缘设置断点以及单步执行代码等功能。
软件界的Emacs化
作者讲述了在终端中阅读 Markdown 的烦恼,并描述了如何使用 Claude 快速构建一个自定义的 macOS Markdown 查看器(MDV.app),展示了 AI 如何让人能够迅速创建个人软件工具。
Emacs 31 即将到来:我日常使用的变化
Emacs 31 即将到来,带来了更简单的 tree-sitter 配置和内置的 markdown-ts-mode 等改进。本文详细介绍了作者在开发分支中使用的一些特性,强调了配置工作量的减少。