自公元前3000年以来的互动世界历史地图集。关注我们。世界历史地图与时间线。王国、战役、远征。比较历史、政治、军事、艺术、科学、文学、宗教、哲学。基于矢量数据库的地图。
自公元前3000年以来的互动世界历史地图集。关注我们。世界历史地图与时间线。王国、战役、远征。比较历史、政治、军事、艺术、科学、文学、宗教、哲学。基于矢量数据库的地图。
数学家Chodosh、Mantoulidis和Schulze在先前研究的基础上,与Zhihan Wang合作,在Plateau问题上取得了重大进展——确定极小曲面的光滑性。他们成功证明了九维、十维和十一维空间中极小曲面的“通用正则性”,这意味着奇点(不完美点)可以通过轻微改变“消除”。 他们的研究方法是假设与他们想要证明的相反的情况,创建具有奇点的曲面堆叠,然后使用“分离函数”等高级数学工具证明矛盾。虽然以前的方法在更高维度上受阻,但他们改进的技术克服了障碍,包括一个特别具有挑战性的三维奇点。 这一突破将先前证明的几何和拓扑猜想——以及广义相对论中的正质量定理——扩展到这些更高维度。这项研究提供了新的见解,并可能解锁各种问题的解决方案,甚至是一些看似无关的问题,例如冰融化的物理学。未来的工作将要么努力在更高维度上实现正则性,要么揭示超出十一维的奇点消除的根本限制。
## CUDA 组件本体:摘要 CUDA 的术语经常被过度使用,导致混淆。本文概述了对其组件和版本的清晰理解。“CUDA”本身指的是架构、指令集、语言、工具包和运行时——每个都有独立的版本。一个关键的区别在于 **OS 内核驱动程序**(管理硬件)和 **CUDA 驱动程序 API**(提供用户空间访问)。 CUDA 生态系统是分层的:应用程序使用 **运行时 API (libcudart)**,它调用 **驱动程序 API (libcuda)**,最终与 **GPU 驱动程序** 和 **硬件** 交互。兼容性取决于 **驱动程序 API 版本** 大于或等于应用程序使用的 **运行时 API 版本**。GPU 代码通过预编译的 **SASS**(GPU 机器代码)或 **PTX**(NVIDIA 的中间表示,由驱动程序 JIT 编译)执行。 重要的是,CUDA 驱动程序是 **向前兼容的**(支持旧的运行时版本),但 **不向后兼容**。像 `nvidia-smi`、`nvcc --version` 和 `torch.version.cuda` 这样的工具报告不同的方面——驱动程序版本、工具包版本和构建时工具包版本,分别需要仔细解释。 理解这些区别对于解决版本冲突、确保 CUDA 应用程序成功执行以及充分利用 NVIDIA GPU 的潜力至关重要。适当的编译目标(使用 `-arch` 和 `-code` 标志)以及对静态链接与动态链接的了解,进一步有助于构建稳定的 CUDA 环境。
## Shebang (#!) 的历史 Shebang,或称 hashbang (#!),是一种用于告知类 Unix 系统在执行脚本时使用哪个解释器的机制。它起源于贝尔实验室的第 7 版和第 8 版之间,最早出现在 1980 年左右的 4.0BSD 源代码中,最初限制在 16-32 字节的行,且不支持参数传递。 后来在 4.2BSD 中进行了改进,以传递参数,并且也出现在一个独立的 2.8BSD 开发分支中。 随着时间的推移,实现方式在参数处理、最大行长度(现在通常为 127-4096 字节)以及对诸如 setuid 执行(通常出于安全原因禁用)等功能的支持方面有所不同。 尽管最初是一种“hack”,但它已成为一种被广泛采用的约定。 尽管在 POSIX 标准中被提及作为可能的扩展,但其可移植性并不能保证。 现代系统通常支持 `#!/usr/bin/env interpreter` 以提高灵活性。 该名称的起源尚不确定,可能源于音乐术语(“升号”)或俚语(“shebang”)。 许多系统在过去的几十年中已经实现了和修改了 shebang,从而产生了复杂的发展历史和多样化的行为。
本硕士论文详细介绍了一种处理器设计,旨在直接执行Java字节码,以克服传统Java虚拟机(JVM)的性能限制。Java的可移植性是通过JVM解释字节码实现的,但这会引入执行速度变慢的问题。 本项目通过创建一个字节码*就是*原生指令集的处理器来绕过解释过程。这消除了翻译时间,并允许预处理Java类文件以减少运行时依赖。重要的是,该处理器是在现场可编程门阵列(FPGA)上实现的,使其能够适应不断发展的Java标准,并通过添加硬件模块针对特定应用进行优化。 由此产生的“Java机器”为执行Java应用程序提供潜在的性能提升和面向未来的解决方案,超越了基于软件的JVM解释的限制。
## PHP 8.5 发布:主要更新 PHP 8.5 于 2025 年 11 月 20 日发布,为该语言带来了多项增强。一个突出的特性是 **管道操作符 (`|>`)**,它简化了函数链,使代码更易读。克隆对象现在支持在过程中直接分配新值,但 readonly 属性存在限制。 新的 **`#[NoDiscard]` 属性** 强制使用函数返回值,如果忽略则会触发警告(可以使用 `(void)` 强制转换来抑制)。**闭包现在可以在常量表达式中使用**,从而能够在属性中定义它们——这为动态配置提供了一个强大的补充。 其他改进包括 **致命错误的堆栈跟踪**,以便于调试,以及内置的 **`array_first()` 和 `array_last()` 函数**,用于更简单的数组操作。一个新的 **URI 解析器** 提供了增强的 URI 处理能力。通过 **`#[DelayedTargetValidation]`** 属性,可以改进属性的编译时验证,以实现向后兼容。 PHP 8.5 还包括各种较小的更改、弃用和破坏性更改——完整的列表可在 [此处](未在文本中提供完整列表的链接) 找到。
## postmarketOS 双启动总结 双启动 postmarketOS (pmOS) 需要启动方式和数据存储。有多种选择,复杂度各异。 **简单方法:** 使用带有 SD 卡的电脑可以避免直接修改手机。或者,将 pmOS 内核刷入恢复分区,可以通过恢复模式启动 pmOS。 **高级方法:** 具有 A/B 插槽的手机可以将插槽 B 专门用于 pmOS,通过 fastboot 或 Android 应用切换。具有 U-boot(如 Nokia N900)的设备提供内置的操作系统选择。一些 Amlogic 设备也支持通过 U-boot 多重启动。lk2nd 系统可以从 SD 卡启动 Android 或 pmOS。 **Stowaway:** 对于具有加密数据分区的设备(Android 9+),Stowaway 在现有 userdata 分区上创建一个 pmOS 根目录,避免修改分区表。这需要通过 `tar` 传输文件,并强制 pmOS 从该位置启动。 **自定义分区:** 高级用户可以缩小 userdata 分区,并为 pmOS 创建专用分区,需要使用 TWRP 等工具进行格式化。 无论使用哪种方法,`pmbootstrap` 都是准备和导出 pmOS 镜像的关键工具。 仔细准备和了解设备的特定启动过程对于成功的双启动设置至关重要。
## 玄武岩纺织品:一种坚固耐用的材料 玄武岩纺织品是一种令人惊讶的耐用织物,它通过将玄武岩在1400°C下熔化并将其挤出成坚韧的纤维来制成。这种创新材料具有卓越的性能,其抗拉强度超过钢的两倍,比合金钢的比强度高2.5倍。 它具有很强的耐化学腐蚀性,能够抵抗酸和盐的侵蚀,并且可以承受高达700°C(在某些成分中甚至可达800°C)的温度。 除了强度和耐热性之外,玄武岩纤维也是一种出色的电绝缘体,适用于低压和高压应用,并且允许电磁辐射通过。 这些独特的特性使玄武岩纺织品成为一种用途广泛的材料,在众多行业中具有潜在的应用。
## OpenAgents:协作式AI代理网络
OpenAgents是一个开源项目,旨在简化AI代理的创建和连接,构建协作网络。它为代理发现彼此、共享信息和协同完成任务提供了基础架构——本质上是构建AI社区。
主要特性包括协议无关支持(WebSocket、gRPC、HTTP等)、基于模块化的架构以扩展功能,以及轻松集成现有代理的能力。用户可以在几秒钟内启动网络,并通过OpenAgents Studio进行管理,该Studio是一个用于交互和监控的可视化界面。
该项目鼓励社区参与,并为在GitHub仓库上加星的早期采用者提供“Day 1”徽章。OpenAgents优先考虑灵活性和可扩展性,采用分层架构和全面的文档。它非常适合希望探索AI协作的未来并构建创新的基于代理的应用的开发者。
了解更多信息并开始使用,请访问[openagents.org](https://openagents.org)。
## Check-Projects: 一个 Git 状态 CLI **Check-Projects** 是一个快速、跨平台的 CLI 工具,旨在快速检查多个项目的 Git 状态,并按可定制的类别进行组织。它可以并行识别未提交的更改、与远程分支的差异以及未跟踪的文件。 **主要特性:** * **分类:** 按团队、客户或任何所需标准对项目进行分组。 * **灵活配置:** 使用 YAML 文件(支持本地和全局)来定义项目列表或自动扫描目录。 * **智能过滤:** 默认隐藏干净的项目,专注于需要操作的项目。 * **跨平台:** 适用于 macOS、Linux 和 Windows。 * **状态指示器:** 使用符号清晰地显示项目状态(例如,*M* 表示已修改,⬆ 表示领先于远程,✔ 表示干净)。 **安装:** 简单的 shell 脚本安装(macOS/Linux)或手动下载/提取。配置涉及在 YAML 文件中定义类别和项目。运行 `check-projects` 查看状态,并提供详细程度、类别过滤和自定义配置文件等选项。包含自动更新检查。