2024-12-26 Hacker News Top Stories #
macOS menu bar app that shows how full the ISS urine tank is in real time #
- 国际空间站尿液箱满溢程度实时监测应用是一款 macOS 菜单栏应用程序,实时显示国际空间站尿液箱的满溢程度。
- Ornamented Christmas Tree (2013) 是一篇关于 Wolfram 语言编写圣诞树动画的文章,展示了一个生成圣诞树动画的代码示例。
- 这个开放问题教会我什么是拓扑学是一篇关于数学教育的视频博客,视频标题是《这个开放问题教会我什么是拓扑学》。
- Ruby 3.4.0 是 Ruby 语言的最新版本,带来了许多新特性和改进,包括引入
it
块参数引用、默认解析器从parse.y
切换到Prism
等。- 试用 QvQ - Qwen 新的视觉推理模型是一篇关于 QvQ-72B-Preview 模型的文章,介绍了该模型的特点和应用。
- 埃及航空 804 号班机失踪事件真相是一篇关于埃及航空 804 号班机失踪事件的文章,讨论了事故的原因和调查进展。
- FixBrowser 是一个轻量级网页浏览器,从头开始创建,故意不支持 JavaScript,以使其更快、更少占用资源。
- 学术论文语义搜索网站是一篇关于 PaperMatch 网站的文章,介绍了该网站的功能和特点。
- CRT 模拟在 GPU 着色器中实现,效果比黑帧插入更好是一篇关于 CRT 模拟算法的文章,介绍了该算法的原理和应用。
- F* 是一种通用的、面向证明的编程语言,支持纯函数式和命令式编程,结合了依赖类型的表达力和基于 SMT 求解和策略式交互式定理证明的证明自动化。
https://github.com/Jaennaet/pISSStream
pISSStream 是一个 macOS 菜单栏应用程序,它实时显示国际空间站尿液箱的满溢程度。该应用程序使用 NASA 官方的公共 ISS 遥测流,提供由 Lightstreamer 提供的数据。
当 pISSStream 可以连接到 Lightstreamer 并且 ISS 遥测信号被地面站接收时,菜单栏项显示一个带有填充百分比的图标,菜单项显示为“已连接”。如果连接到 Lightstreamer 或 ISS 遥测信号本身丢失,菜单栏项显示一个带有最后接收值的图标,菜单项显示为“连接丢失”或“信号丢失(LOS)”。
开发者 Jaennaet 表示,他开发这个应用程序的动机是因为他认为这是一种“令人难以置信的愚蠢的使用空间站遥测流的方式”,但同时也是一种“令人惊讶的方式”。他还表示,这是一个很好的学习 Swift 和 macOS 开发的机会。
该应用程序的代码可能不完美,可能会出现一些错误,但开发者表示他不太担心这些问题。同时,他还提到了一个名为 ISS-Mimic 的项目,该项目提供了更多的 ISS 遥测数据,但他不会将这些数据添加到 pISSStream 中。
总的来说,pISSStream 是一个有趣的应用程序,它实时显示国际空间站尿液箱的满溢程度,虽然它可能有一些错误,但它仍然是一个值得注意的项目。
HN 热度 984 points | 评论 219 comments | 作者:ajdude | 1 day ago #
https://news.ycombinator.com/item?id=42505454
- 项目作者的表达方式很幽默,直接说明了项目的非目标。
- 如果通信设备都坏了,只有一个测量国际空间站尿液箱的传感器还在工作,宇航员就可以通过控制尿液箱的液面来发送信息。
- 如果有人将这个想法拍成电影,应该支付版权费给原作者,但实际上,原作者在社交媒体平台上发布的内容可能已经被平台获取了版权。
- 有人提到了一个关于航母穿越时空到古罗马的故事,可能与这个想法有关。
- 社交媒体平台可能会获取用户发布内容的版权,但这并不意味着用户不能保留自己的权利。
- 《火星救援》这部电影中,宇航员使用 ASCII 码表来与地球通信的场景不太可信。
- 在《火星救援》中,宇航员使用 ASCII 码表来与地球通信的场景不太可信,因为他们可以使用更简单的方法来通信。
- 《火星救援》这部电影中,宇航员使用 ASCII 码表来与地球通信的场景不太可信,因为他们可以使用摩尔斯密码来通信。
T * sin (t)' ≈ Ornamented Christmas Tree (2013) #
https://community.wolfram.com/c/portal/getImageAttachment?filename=tree.gif&userId=93201
这篇文章探讨了一个与 “t * sin (t)” 公式有关的著名 Reddit 讨论,具体是如何用 Wolfram 语言编写一个带灯光的圣诞树。文章的作者 Vitaliy Kaurov 在讨论中展示了一个生成圣诞树动画的代码示例,并分享了相应的 GIF 文件。
文章首先提到,Reddit 上关于如何通过简单的数学方程编程制作一个灯光圣诞树的讨论引起了广泛关注。作者表示,他使用 Wolfram 语言快速实现了这一想法,并提供了具有轻微闪烁效果的动画。
在技术细节方面,作者解释了代码中的几个关键参数:
PD
代表点与点之间的平均距离。- 函数
s [t, f]
用于重新缩放驱动参数 t,以确保参数曲线的点均匀分布。 - 函数
dt [cl, ps, sg, hf, dp, f]
用于生成 3D 图形中的点,涉及到颜色、大小和位置的计算。
作者生成了 100 帧的 GIF 动画,并强调了在较远距离下灯光的调暗和阴影处理的重要性。
HN 热度 366 points | 评论 39 comments | 作者:ryeguy_24 | 24 hours ago #
https://news.ycombinator.com/item?id=42506145
- 这个动画很美丽,并且数学知识也很有用。
- 有人每年都会发帖子关于 T * sin(t)的圣诞树,这次是 Silvia Hao 的版本。
- 有人在 Desmos 上制作了一个圣诞树的动画。
- 有人使用 Chaos Game 方法制作了一个圣诞树的动画。
- 有人使用 140 个字符的 Javascript 代码制作了一个圣诞树的动画。
- 有人制作了一个 GIF 格式的圣诞树动画。
- 有人在 SAS 社区分享了一个使用 Damped Oscillation 制作的圣诞树动画。
- 有人希望在 openprocessing.org 上实现这个动画。
- 有人建议让 30% 的灯泡随机熄灭。
- 有人指出,如果一串灯泡中有一颗烧坏了,整个串都会熄灭。
- 有人认为这个函数不仅仅是一个圣诞树,也可以看作是一个钻头。
- 有人认为这个函数也可以看作是一个管道。
- 有人认为这个函数不仅仅是一个圣诞树,也可以看作是一个其他东西。
This open problem taught me what topology is [video] #
https://www.youtube.com/watch?v=IQqtsm-bBRU
这个网页是关于数学教育的视频博客,视频标题是《这个开放问题教会我什么是拓扑学》。视频内容介绍了拓扑学的基本概念和应用,通过一个具体的问题来说明拓扑学的思想和方法。
视频中提到了一个开放问题,即如何在一个矩形中嵌入一个正方形,使得正方形的四个顶点都在矩形的边上。视频作者通过一步步的推导和证明,展示了如何使用拓扑学的方法来解决这个问题。
视频中还提到了拓扑学的基本概念,如连续性、紧密性、同伦等,并通过具体的例子来说明这些概念的应用。视频作者还提到了拓扑学在其他领域的应用,如音乐理论和对称性。
视频评论中,有很多观众对视频内容的赞赏和感谢,认为视频作者的解释清晰易懂,帮助他们理解了拓扑学的基本概念。一些观众还分享了他们自己的学习经历和体会,感谢视频作者的努力和贡献。
HN 热度 353 points | 评论 54 comments | 作者:surprisetalk | 19 hours ago #
https://news.ycombinator.com/item?id=42507185
- 3b1b 视频展示了数学教育的可能性,但采用这种方法来教授数学可能需要很长时间。
- Möbius 带在数学证明中的作用非常重要,之前低估了它的价值。
- 即使对数学一无所知,也可以通过图像和视频来理解和欣赏数学的美妙之处。
- 成为数学专家非常困难,需要付出大量的努力和承受失败的打击。
- 可以通过规则、后果和能力来思考四维空间,而不是试图可视化它。
- 可以使用 VR 技术来创建四维空间并帮助可视化。
- 时间可以被认为是自然界中的第四维,但它与空间维度有所不同。
Ruby 3.4.0 #
https://www.ruby-lang.org/en/news/2024/12/25/ruby-3-4-0-released/ Ruby 3.4.0 已发布,带来了许多新特性和改进。其中包括:
- 引入了
it
块参数引用,用于引用没有变量名的块参数。 - 默认解析器从
parse.y
切换到Prism
。 socket
库现在支持 Happy Eyeballs Version 2(RFC 8305),用于改善网络连接的性能和可靠性。- YJIT(Just-In-Time 编译器)得到了改进,包括性能提升、内存使用减少和 bug 修复。
- 引入了模块化垃圾回收(Modular GC),允许动态加载不同的垃圾回收实现。
- 语言变化包括字符串文字在没有
frozen_string_literal
注释的文件中会发出弃用警告,关键字散列nil
现在支持,块传递不再允许在索引中,关键字参数不再允许在索引中,顶级名称::Ruby
现在是保留的。 - 核心类更新包括异常、垃圾回收、Ractor 和范围。
- 标准库更新包括 RubyGems、Bundler、JSON 和 Tempfile。
- 兼容性问题包括错误消息和回溯显示的变化。
这些变化和改进将为 Ruby 开发者带来更好的性能、更好的开发体验和更强大的功能。
HN 热度 302 points | 评论 174 comments | 作者:aaronbrethorst | 18 hours ago #
https://news.ycombinator.com/item?id=42507312
- 手写解析器比使用解析器生成器更好,因为后者难以调试和维护。
- 解析器生成器虽然可以处理边缘情况,但手写解析器更容易维护和理解。
- 解析器生成器可以报告语法冲突,但手写解析器可以更好地处理歧义。
- 手写解析器需要了解解析理论和实现语言,但解析器生成器需要了解解析理论、实现语言和生成器本身。
- 解析器生成器可以处理复杂的语法,但手写解析器更适合简单的语法。
- 解析器生成器可以节省时间,但手写解析器可以更好地控制解析过程。
- 手写解析器可以更好地优化性能,但解析器生成器可以更快地开发。
- 解析器生成器可以处理二进制格式,但手写解析器更适合文本格式。
- 解析器生成器可以更好地处理语法冲突,但手写解析器可以更好地处理语义分析。
- 解析器生成器可以更快地开发,但手写解析器可以更好地维护和扩展。
Trying out QvQ – Qwen’s new visual reasoning model #
https://simonwillison.net/2024/Dec/24/qvq/
本文介绍了 Alibaba 的 Qwen 团队最近发布的新模型 QvQ-72B-Preview,该模型专注于增强视觉推理能力。作者尝试使用该模型进行了几个实验,包括计数、估计物体高度等任务。实验结果显示,模型在某些任务上表现良好,但也存在一些错误。
作者还提到了模型的特点,包括其可以接受图像和文本输入,并输出长篇的思考过程。模型的语气也被描述为友好和幽默。作者还比较了 QvQ 与其他模型,如 OpenAI 的 o1 和 o3 模型。
文中还提到了如何在本地运行 QvQ 模型,包括使用 Hugging Face Transformers 和 qwen-vl-utils Python 包。作者还分享了自己在 MacBook Pro 上运行 QvQ 模型的经验,包括使用 mlx-vlm 包和 uv run 命令。
最后,作者总结了 QvQ 模型的潜力和局限性,认为其在视觉推理方面具有很大的潜力,但也需要进一步改进。
HN 热度 233 points | 评论 78 comments | 作者:simonw | 1 day ago #
https://news.ycombinator.com/item?id=42505038
- QvQ 模型在描述图片时,可能会受到审查的影响,例如在描述“坦克人”照片时会返回空白响应。
- 使用 QvQ 模型描述图片时,可能需要使用特定的提示或策略来获得更好的结果。
- QvQ 模型在解决特定问题时,可能需要通过编写程序来获得更好的结果,而不是直接尝试解决问题。
- QvQ 模型可能不具备自我意识,无法自动意识到需要编写程序来解决问题。
- QvQ 模型在处理某些问题时,可能会受到训练数据的限制,例如在处理单词搜索问题时可能会失败。
- QvQ 模型在描述图片时,可能会受到图片内容的影响,例如在描述北京街景时会返回完整的响应,而在描述天安门广场时会返回不完整的响应。
Masks, Smoke, and Mirrors: The story of EgyptAir flight 804 #
埃及航空 804 号班机失踪事件发生在 2016 年 5 月 19 日,飞机在从巴黎飞往开罗的途中突然消失。事故发生后,埃及航空事故调查局(EAAID)开始调查。然而,调查进展缓慢,法国和埃及的调查人员之间出现了分歧。法国方面认为飞机可能是由于火灾而坠毁,而埃及方面则认为飞机可能是被炸弹炸毁的。
2016 年 10 月,埃及方面发布了一份最终报告,报告中包含了大量的证据,包括飞机残骸的照片和视频,飞行记录仪的数据,以及目击者的证言。报告指出,飞机在坠毁前曾经出现过火灾的迹象,但最终原因仍然不明。
2024 年 10 月,埃及方面再次发布了一份报告,报告中指出,飞机坠毁的原因是由于飞行员错误操作导致的。报告还指出,飞行员在坠毁前曾经试图重启飞机的引擎,但未成功。
事故发生后,国际民航组织(ICAO)对埃及航空业进行了审查,发现埃及航空业存在多个安全隐患。埃及方面随后采取了一系列措施来改善航空安全,包括加强飞行员培训和改进飞机维护。
事故的调查和处理过程中,埃及和法国方面存在着分歧和争议。埃及方面认为法国方面的调查方法存在问题,而法国方面则认为埃及方面的调查结果不够透明。事故的最终原因仍然存在争议,两国方面的调查结果也存在差异。
事故发生后,埃及航空业遭受了重大的打击,多个国家对埃及航空业实施了禁飞令。事故也引发了人们对航空安全的关注,国际民航组织对航空安全进行了审查和改进。
HN 热度 232 points | 评论 122 comments | 作者:gdmt | 1 day ago #
https://news.ycombinator.com/item?id=42504343
- 有人认为 EAAID 的报告存在自相矛盾的地方,可能是被迫支持某种假设,但仍然试图以某种方式抵抗。
- 认为埃及政府可能因为飞机维护不善而试图掩盖事故的真实原因。
- 讨论了氧气泄漏导致火灾的可能性,认为这是由于飞机的氧气面罩系统存在问题。
- 否定吸烟在飞机上没有危险,认为在封闭空间内吸烟是危险的。
- 强调氧气浓度高会导致钢铁燃烧的现象,说明了火灾的危险性。
- 指出飞机设计中的多重故障可能导致悲剧的发生,提到 “瑞士奶酪” 式的故障。
- 认为虽然发生这类事件的概率极低,但不能忽视其可能性。
- 对当前飞机灭火系统使用卤烷的做法表示担忧,认为有必要逐步寻找替代品。
- 有人提到灭火器在特定情况下可能无法有效灭火,并且对卤烷的使用产生负面影响。
- 有观点认为现有的飞机安全标准仍有改进空间,需持续优化以降低风险。
Show HN: FixBrowser – a lightweight web browser created from scratch #
FixBrowser 是一个真正的轻量级网页浏览器,从头开始创建。它故意不支持 JavaScript,以使其更快、更少占用资源。相反,它包含一组更新的脚本,可以修复和改进各种网站。
FixBrowser 的主要目标是隐私,使用白名单方法加载资源,以避免任何不必要的跟踪。浏览器目前处于 Alpha 阶段,所有基础模块都已就绪,但需要更多工作。
除了 FixBrowser 之外,还有 FixProxy,它使用浏览器的后端部分(除渲染外的所有内容),可与常规网页浏览器一起使用。它提供了一种安全的浏览方式,已经比较成熟,开发者已经使用它多年作为主要的浏览方式,效果良好。
下载地址:
- Windows:fixbrowser-windows-0.1.zip(支持 Windows 2000/XP/Vista/7/8/8.1/10/11)
- Linux:fixbrowser-linux-0.1.zip(支持 glibc 2.3.4 或更新版本,GTK2)
- 源代码:fixbrowser-0.1.zip
计划在不久的将来支持以下系统:Linux GTK3/4、Haiku、MacOS 10.6+。还计划为 Windows 95/98/Me 提供支持,以及为移动设备(iOS/Android)提供支持。
捐赠:
该项目需要您的帮助。为了完成这个项目,需要筹集 5000 欧元。这将使开发者能够在 FixBrowser 上工作,使其可用于实际浏览,并实现一些额外的功能。工作将持续大约一年,预计在大约 6 个月内会有重大改进。
您可以选择以下额外的功能来实现:
- 集成 CEF:允许为选定的网站或标签使用完整的浏览器体验
- 视频播放支持:支持使用
- 扩展支持:良好的扩展支持,包括使用本地代码的能力
- 支持验证码和其他门户:将通过创建一个由捐赠资助的服务来解决
- FixProxy 改进:如果您喜欢使用 FixProxy,并希望看到它改进并具有更多功能
额外的建议(例如支持哪些网站或功能等):
电子邮件(可选,仅用于与捐赠相关的联系):
捐赠金额:
您可以使用 PayPal 帐户或借记卡/信用卡(无需 PayPal 帐户)进行捐赠。
HN 热度 216 points | 评论 104 comments | 作者:jezek2 | 22 hours ago #
https://news.ycombinator.com/item?id=42506569
- FixBrowser 是一个非常令人印象深刻的项目,尤其是在 Opera 和 Microsoft 放弃了自己的引擎并采用 Blink,Mozilla 放弃了 Servo 的时候,人们开始担心开源网络的未来。
- ETag 可以用于客户端缓存资源,减少数据使用、服务器资源和客户端处理,因此建议为可信网站提供可选的 ETag 支持。
- 即使 FixBrowser/FixProxy 成为流行的浏览器,个别用户也可能会因为 IP 范围和客户端行为的差异而被轻易识别。
- Servo 项目从未被 Mozilla 放弃,它始终是一个测试 Firefox 引擎技术的试验田,后来社区将浏览器部分分叉并继续开发。
- 即使没有 JavaScript,HTTP 协议和浏览器也可能包含用于追踪的功能,例如加载图像/跟踪像素以跟踪鼠标移动。
- 仅允许纯 HTML 和极少量的 CSS 样式可能是防止追踪的唯一方法,但这可能会导致大多数网站不兼容。
- FixBrowser 使用 FixScript 语言编写,FixScript 是一种内存安全、线程安全和整数溢出安全的语言,具有最小的原生表面,极大地降低了安全问题。
- 支持多种脚本引擎可能是一个不错的功能,例如可插入的 V8、SpiderMonkey 或 Python 引擎,这可能会开启一个新的 Web 开发前景,不再受限于 JavaScript 的缺陷。
- Python 不太适合浏览器脚本,因为它有一个庞大的标准库,且大部分与浏览器环境的沙盒和异步执行模型不兼容。
- 多语言支持曾经是早期 Web 浏览器的设计目标,但由于互操作性问题和 JavaScript 的流行,这一功能被放弃了。
Show HN: I made a website to semantically search ArXiv papers #
https://papermatch.mitanshu.tech/
PaperMatch 是一个旨在快速发现相关研究的在线平台。用户可以通过输入关键词、论文编号(如 2401.07215)或者主题(如 “智能电视与隐私”)来寻找相关的学术研究。该平台的设计旨在为研究人员和学生提供便利,使他们能够快速获取所需的文献资料。
PaperMatch 的界面简洁明了,用户体验良好,能够高效地连接研究者与相关研究成果。平台由 Mitanshu Sukhwani 开发,充分利用了 Gradio 工具进行构建。用户可以在网站上尝试不同的输入,以探索与其研究主题相关的更多信息。
总之,PaperMatch 是一个有助于学术研究的工具,能够快速提供相关的研究资料和信息,节省研究人员的时间和精力。
HN 热度 213 points | 评论 55 comments | 作者:Quizzical4230 | 19 hours ago #
https://news.ycombinator.com/item?id=42507116
- 语义搜索可以应用于多个领域,如在线广告搜索、跨多个电商平台的商品搜索等。
- 语义搜索可以帮助用户更好地发现相关论文和作者,特别是在准备论文时。
- 语义搜索可以理解语义细微差别,匹配概念相似的论文,即使没有完全匹配的关键词。
- 语义搜索在某些领域可能更有用,但这取决于嵌入模型的能力。
- 语义搜索可以帮助用户以自然语言查询找到相关的内容,而不仅仅是依靠关键词搜索。
- 语义搜索可以应用于内部文档和代码库的搜索,帮助用户快速找到相关的内容。
- 语义搜索可以结合 LLM 模型来提取代码的意义,并进行语义搜索。
- 语义搜索可以帮助用户发现新颖的内容和观点,而不仅仅是依靠传统的关键词搜索。
CRT Simulation in a GPU Shader, Looks Better Than Black Frame Insertion #
https://blurbusters.com/crt-simulation-in-a-gpu-shader-looks-better-than-bfi/
本文介绍了一种新的算法,用于模拟 CRT(阴极射线管)显示器的扫描效果,旨在减少显示器的运动模糊。该算法由 Mark Rejhon 和 Timothy Lottes 共同开发,现已开源发布在 Shadertoy 和 Github 上。
该算法的特点包括:
- 对 240Hz 以上显示器进行主要的运动模糊减少
- 软化的磷光衰减和滚动扫描,减少眼部疲劳
- 可变的每像素 MPRT(亮度重新分配算法)
- 适用于减少 60 年来 60fps 60Hz 内容的显示运动模糊
- 适用于 LCD 和 OLED 显示器
- 实时和慢动作模式
- 亮度调整(通过牺牲亮度来减少运动模糊)
该算法可以在各种软件和硬件中实现,例如:
- 模拟器软件(如 Retroarch)
- 视频处理设备(如 Retrotink 4K)
- 游戏引擎(如添加低运动模糊设置的游戏)
- 显示器固件(如添加 CRT 模拟模式的显示器)
该算法的实现需要重新处理所有刷新周期,才能实现真正的 CRT 扫描效果。同时,该算法也可以与空间模拟(CRT 掩膜滤波器)相结合,实现更真实的 CRT 模拟效果。
HN 热度 183 points | 评论 58 comments | 作者:bangonkeyboard | 24 hours ago #
https://news.ycombinator.com/item?id=42506211
- 该 CRT 模拟效果在 240Hz 的显示屏上效果非常好,远远超过 BFI(黑帧插入)技术。
- 该效果可能会导致某些显示屏产生闪烁或色带问题。
- 该效果可以在 RetroArch 中使用 Slang shader 实现。
- 该效果可能需要更高的刷新率(如 480Hz 或 1000Hz)才能达到最佳效果。
- 该效果可以减少运动模糊,但可能无法完全模拟老式 CRT 显示器的效果。
- 该效果可能会对某些人造成伤害,特别是对于光敏性人群。
- 该效果可以在标准 60Hz 显示屏上运行,但可能需要调整参数来获得最佳效果。
- 该效果可以在某些显示屏上产生很好的效果,但也可能会产生色带或闪烁问题。
F*: A proof oriented general purpose programming language #
F* 是一种通用的、面向证明的编程语言,支持纯函数式和命令式编程。它结合了依赖类型的表达力和基于 SMT 求解和策略式交互式定理证明的证明自动化。F* 程序默认编译为 OCaml,各种 F* 片段也可以提取到 F#、C 或 Wasm。F* 是用 F* 实现的,并使用 OCaml 引导。
F* 是开源的,托管在 GitHub 上,由微软研究、Inria 和社区共同开发。F* 的设计和实现基于 2016 年的 POPL 论文《Dependent Types and Multi-monadic Effects in F*》。F* 有一个低级别的子集 Low*,可以编译为 C。F* 还有一个元编程系统 Meta-F*,用于实现 F* 的各种方面,包括策略引擎和类型类支持。
F* 被广泛应用于安全和密码学领域,例如 Project Everest、HACL*、ValeCrypt 和 EverCrypt。F* 也被用于其他领域,如编译器和解析器生成。F* 有一个活跃的社区,包括 GitHub 讨论、邮件列表和在线研讨会。F* 的文档包括在线书籍、教程和课程材料。
HN 热度 151 points | 评论 38 comments | 作者:akkad33 | 12 hours ago #
https://news.ycombinator.com/item?id=42508642
- F*语言的目标是让形式化验证变得更加容易和实用,特别是在实际软件开发中。
- F 语言与 Lean 语言的主要区别在于 F 更注重于实际软件开发中的形式化验证,而 Lean 更侧重于交互式定理证明和形式化数学理论。
- F*语言使用 SMT 自动化技术,而 Lean 则更注重手动证明。
- F*语言的名称可能不太好,因为它难以在搜索引擎中找到。
- F*语言的文档可能不够完善,需要更多的学习资源。
- F*语言的子语言和变体可能会让初学者感到困惑。