High-Impact 是一个受 ImpactJS 启发的开源 C 游戏引擎,它利用内存管理技术来提高性能,并包含一个基于浏览器的关卡编辑器
- • 核心理念: high_impact 旨在成为一款轻量级、可移植的游戏引擎,可复制 ImpactJS 等 JavaScript 框架的易用性。它优先考虑简单性和可扩展性,让开发人员能够轻松添加新功能并瞄准不同的平台。
- • 内存管理: high_impact 利用 bump 分配器来高效处理内存。该系统根据内存的生命周期将内存划分为“阶段”:
- • 第一阶段:保存全球游戏数据和资产。
- • 第 2 阶段:包含特定级别的信息。
- • 阶段 3:仅存储当前帧逻辑所需的数据。
- • 关卡编辑器 (Weltmeister): high_impact 包含 Weltmeister(原始 ImpactJS 关卡编辑器)的改进版本。它现在完全独立,并利用 FileSystemAPI 等现代浏览器 API 直接从文件系统加载和保存关卡。
- • 实体定制: Weltmeister 了解 C 代码中的特殊宏,这些宏控制实体在编辑器中的显示和行为方式:
- •
EDITOR_SIZE:设置编辑器中实体的大小。 - •
EDITOR_RESIZE:确定实体是否可以调整大小。 - •
EDITOR_COLOR:定义编辑器中实体的颜色。 - •
EDITOR_IGNORE:表示该实体是否可以在编辑器中创建。
- •
- • **演示游戏:**为了展示其功能,high_impact 包含两个经典 ImpactJS 游戏的端口:
- • 生物实验室灾难:一款横向卷轴动作游戏。
- • Drop:一款简单的街机游戏。
- • 可扩展性: high_impact 的设计易于扩展。平台和渲染器都是模块化的,允许开发人员添加对新平台(Vulkan、DirectX、Metal)甚至复古游戏机(PSX、N64、Dreamcast)的支持。
WhenFS 是一个基于 Rust 的实验性 FUSE 文件系统,它利用 Google 日历事件进行数据存储和检索

- • WhenFS:Google 日历文件系统
该项目使用 FUSE(用户空间文件系统)将您的 Google 日历转变为功能性文件系统。其设计充满奇思妙想,并展示了技术的非常规用途。
- • 主要特征:
- • 从现有的 Google 日历创建文件系统或生成新的文件系统。
- • 支持读取、写入、创建和删除文件和目录等基本文件系统操作。
- • 可以挂载好友的 WhenFS 日历,以实现奇特的文件共享。
- • 怎么运行的:
- • 利用 FUSE 库(fuser)与文件系统交互。
- • 采用直写对象缓存来优化性能。
- • 使用可交换日历 API 后端抽象数据存储,允许灵活地连接到不同的日历服务。
- • 技术细节:
- • WhenFS 在 Google 日历事件描述中对文件数据进行编码。想象一下将图像分割成数百个小文本片段并将它们存储为单独的日历条目 - 这就是它的工作原理!
- • 代码库故意弄得很混乱,作为 Rust 和 FUSE 开发的学习工具。
- • 有可能的使用:
- • 主要具有教育意义,展示非常规编程方法的可能性(和潜在的陷阱)。
- • 由于其实验性质且依赖 Google 日历的服务条款,因此不建议实际使用。
- • 贡献:
- • 受到鼓励但需要在更改代码的同时进行轻松的 meme 提交。
将我的 Kindle 越狱,用作电子墨水显示器
- • 越狱您的 Kindle: 第一步是获得 Kindle 的 root 访问权限。Mobileread 论坛,特别是 LanguageBreak 主题,是您获得此权限的最佳资源。虽然那里的说明很全面,但您可以探索其他越狱方法,只要它们授予您 root shell 即可。
- • **设置监听服务器:**您需要在 Kindle 上运行一个程序来监听传入的图像数据。作者使用 Go 程序在端口 8000 上接收 JPG 文件,然后使用该
eips实用程序(Kindle 的内置图像绘制工具)显示它们。- • 主要考虑因素:
- • 使用部分更新可
eips实现更平滑的过渡。完整更新可能会看起来不协调。 - • 使用 清除第一帧之前的屏幕
eips -c。
- • 使用部分更新可
- • 主要考虑因素:
- • **屏幕捕获和图像转换:**在您的计算机(可能是 Mac)上,使用
screencapture反复捕获屏幕截图。使用 ImageMagick 将这些 PNG 转换为具有特定尺寸和颜色深度的灰度 JPG,这些尺寸和颜色深度适合您的 Kindle 型号。最后,使用 通过 USB 网络将转换后的图像传输到您的 Kindlenetcat。 - • **改进空间:**作者承认这种设置效率低下。发送每一帧的完整 JPEG 是一种浪费,尤其是当帧之间变化很小的时候(例如编辑文本时)。探索压缩技术或 VNC 等协议可以显著提高性能。
自压缩:通过消除冗余权重和量化剩余权重来减少神经网络规模的方法
- • 本文介绍了一种在不牺牲准确性的情况下减少神经网络规模的新方法“自压缩”。
- • 自我压缩的主要目标有两个:
- • 删除网络内的冗余权重。
- • 减少表示剩余权重所需的位数。
- • 这是通过广义损失函数实现的,该函数在训练期间最小化网络的整体规模。
- • 实验证明了令人印象深刻的结果,仅使用原始位的 3% 和原始权重的 18% 就实现了浮点精度。
- • 作者强调了自压缩的简单性和普遍适用性,强调了它无需专门的硬件即可轻松实现高效的训练和推理的能力。
- • 该论文已被接受在 2023 年人工智能加速深度学习硬件协同设计会议上发表。
Belenios 是一个开源投票平台,具有混合网络、阈值加密和多语言支持等功能
- • **Belenios 是一个开源在线投票平台。**它允许用户设置和进行安全的选举。
- • 安全功能: Belenios 利用同态加密和混合网络等加密技术来确保选民隐私和选举完整性。
- • 同态加密可以对加密数据进行无需解密的计算,从而保证选票的秘密性。
- • Mixnets 在解密之前对选票进行混洗和匿名化,进一步保护选民身份。
- • 选举类型的灵活性: Belenios 支持多种投票方式:
- • 传统的单项选择选举。
- • 排序选择投票(例如单一可转移投票 - STV),其中选民对候选人进行排序。
- • 基于分数的投票(例如多数判断),其中选民对候选人评分。
- • **阈值加密:**此功能允许将解密密钥分配给多个机构(受托人)。预定数量的受托人必须合作解密选票,从而增强安全性并防止任何单个实体操纵结果。
- • 用户友好界面: Belenios 提供在线界面,用于设置选举、管理选民和查看结果。它支持多种语言(英语、法语、德语、意大利语、罗马尼亚语),并允许管理员创建帐户以方便管理。
- • **数据管理:**选举可以在指定期限(目前为一年)后存档或删除。管理员可以选择在删除之前保存选举数据的存档。
- • GDPR 合规性: Belenios 遵守通用数据保护条例 (GDPR) 标准,确保负责任地处理选民数据。
- • 开发和可用性: Belenios 软件是开源的,可根据 GNU Affero 通用公共许可证第 3 版下载。在线平台允许用户设置选举,而无需安装任何软件。
Flask 应用程序利用 KDE 可视化在机器学习环境中比较用户日志损失与其他人日志损失的分布
- • **因为无法完成简单的算术任务而将 LLM 视为“炒作”是一种有缺陷的论点。**作者将此比作说人类是无用的,因为他们无法在头脑中进行复杂的数学运算。LLM 擅长理解和生成类似人类的文本,其操作的抽象层次与简单的计算不同。
- • **LLM 明显提高了作者作为程序员的生产力。**他们提供了具体的例子:
- • 诊断 CUDA 错误。
- • 用 C 重写代码片段。
- • 提供技术主题的快速解释。
- • **虽然LLM还不能解决复杂的编程问题,但它们可以大大减少程序员在日常任务上花费的时间。**这使程序员可以专注于工作中更具创造性和挑战性的方面。
- • **作者认为,LLM目前的能力已经提供了切实的价值,并预测未来五年将取得更大的进步。**他们鼓励其他人探索LLM如何为他们带来好处,这表明LLM在提高生产力和效率方面具有巨大的潜力。
Organic Maps 引入了实验性的公共交通支持,使用 GTFS 数据来增强路线和导航
- • 当前公共交通支持: Organic Maps 目前根据 OpenStreetMap (OSM) 的数据提供有限的公共交通支持。这包括地铁、轻轨、单轨和火车路线和站点。
- • 实验性 GTFS 支持: 您可以启用一项实验性功能,该功能使用通用交通信息流规范 (GTFS) 数据来获取更全面的公共交通信息。GTFS 涵盖更广泛的交通类型,例如公交车、渡轮、有轨电车和高空升降机。
- • 启用 GTFS 支持:
- 1. **下载 GTFS 源:**使用
download_gtfs.py脚本从 Transitland 和 OpenMobilityData 收集 GTFS 源。此脚本下载源 zip 文件并将其提取到子目录中。 - 2. **处理 GTFS 数据:**运行该
gtfs_converter工具以过滤、合并和转换下载的 GTFS 源并将其转换为中间 JSON 文件。您可以选择将 GTFS 数据与 OSM 数据合并,或仅处理 GTFS 数据。
- 1. **下载 GTFS 源:**使用
- • 使用 GTFS 构建地图:
- 1. 更新您的
map_generator.ini文件:取消注释该SUBWAY_URL参数,并将参数设置TRANSIT_URL为包含上一步处理过的 JSON 文件的目录。 - 2. 像往常一样运行地图生成器工具。
- 1. 更新您的
- • GTFS 支持的好处:
- 1. 改进的路线: GTFS 数据允许更准确的公共交通路线,考虑到时间表、换乘和不同的交通方式。
- 2. **扩大覆盖范围:**除了 OSM 中提供的公共交通选项外,还可以使用更广泛的公共交通选项。
- • 重要注意事项:
- 1. GTFS 数据不断更新。为确保地图更新之间的一致性,请备份由 生成的
mapping.txt和文件。这些文件包含交通实体 ID,有助于在地图修订版中保持路线准确性。mapping_edges.txt``gtfs_converter
- 1. GTFS 数据不断更新。为确保地图更新之间的一致性,请备份由 生成的
这个开源项目为基于 Raspberry Pi RP2040 的 USB 嗅探器提供了固件和硬件设计,能够捕获低速和全速 USB 流量
- • **它是什么:**该项目使用 Raspberry Pi RP2040 微控制器创建了一个简单的 USB 嗅探器。它可以从低速和全速 USB 设备捕获数据。
- • **工作原理:**固件本身作为虚拟 COM 端口 (VCP) 呈现,这意味着您无需任何额外软件即可使用它 - 它与所有操作系统兼容。嗅探器捕获 USB 数据包并将其存储在其内存缓冲区中。
- • **捕获设置:**您可以自定义捕获过程:
- • **捕获速度:**选择低速或全速模式。
- • **触发器:**启用触发器机制以暂停捕获,直到特定信号(连接到 GPIO 18)被拉低。这有助于隔离有趣的数据段。
- • **捕获限制:**设置捕获的数据包数量限制(从 100 到 10,000 个数据包或无限制)。
- • **显示选项:**控制捕获数据的呈现方式:
- • **时间显示格式:**选择显示相对于第一个数据包、前一个数据包、帧起始 (SOF) 标记或总线重置的时间戳。
- • **数据显示格式:**选择是否显示完整的数据包数据、将其限制为 16 或 64 个字节,或者完全隐藏数据。
- • **折叠空帧:**将连续的空帧合并为单个条目,以获得更清晰的输出。
- • **硬件:**嗅探器直接连接到 USB D+ 和 D- 线。该项目还提供了一个专用硬件板,其中集成了 FE8.1 USB 集线器,以简化设置。
- • 命令:
- •
h:显示帮助信息。 - •
b:显示当前缓冲区内容。 - •
s:开始捕获 USB 数据。 - •
p:停止捕获过程。
- •
- • **解码:**嗅探器本身不会解码数据包,但它提供可以使用 USB 描述符和请求解析器等在线工具进行分析的原始数据。