Z80沙盒格斗:编写你的AI机器人称霸战场
这是一个基于Z80虚拟机的沙盒游戏,开发者可以编写机器人程序进行格斗。游戏在一个32x32的网格地图上进行,两个机器人从对角线位置出发,通过收集食物、移动和复制自身来生存。机器人使用Z80汇编语言或C语言编写,并可选择使用共享内存进行通信。获胜条件是存活时间最长,提供在线IDE和命令行编译方法,还支持游戏回放和分享。这将是一场考验算法和策略的AI编程竞赛!
阅读更多
这是一个基于Z80虚拟机的沙盒游戏,开发者可以编写机器人程序进行格斗。游戏在一个32x32的网格地图上进行,两个机器人从对角线位置出发,通过收集食物、移动和复制自身来生存。机器人使用Z80汇编语言或C语言编写,并可选择使用共享内存进行通信。获胜条件是存活时间最长,提供在线IDE和命令行编译方法,还支持游戏回放和分享。这将是一场考验算法和策略的AI编程竞赛!
阅读更多
DeepEP是一个为混合专家(MoE)和专家并行(EP)量身定制的通信库。它提供高吞吐量和低延迟的全对全GPU内核(也称为MoE调度和合并)。该库还支持低精度运算,包括FP8。DeepEP针对DeepSeek-V3论文中提出的组限制门控算法进行了优化,提供了一套针对非对称域带宽转发的内核,例如从NVLink域转发数据到RDMA域。这些内核具有高吞吐量,适用于训练和推理预填充任务。此外,它们还支持SM(流多处理器)数量控制。对于延迟敏感的推理解码,DeepEP包含一组低延迟内核,使用纯RDMA来最大限度地减少延迟。该库还引入了一种基于hook的通信计算重叠方法,该方法不占用任何SM资源。
阅读更多
Robert “Uncle Bob” Martin 和 John Ousterhout 就软件设计理念展开了一场精彩的论战,涵盖了方法长度、代码注释和测试驱动开发(TDD)等关键议题。双方就代码分解的程度、注释的必要性以及 TDD 的优缺点展开了激烈的辩论,并通过代码示例和具体的场景分析来支持各自的观点。这场论战揭示了软件设计中权衡取舍的重要性,以及在追求简洁性与可读性时应避免走向极端。
阅读更多
Electro 是一款使用 Rust 构建的超高速轻量级图片查看器,它具有开发者优先的设计理念,内置命令行终端,并支持本地和网络图片的即时查看。其核心在于极致的性能,加载图像几乎无延迟。Electro 开源且易于扩展,开发者可以贡献代码或构建自己的版本。
阅读更多
Un Kyu Lee 历经多次迭代,打造了一系列名为 Micro Journal 的极简主义写作设备。从最初的树莓派加机械键盘的组合,到如今拥有多种型号,例如可折叠的 Rev.2.ReVamp 和支持 Cherry MX 热插拔的 Rev.6,Micro Journal 一直致力于为用户提供无干扰的写作体验。每个版本都针对不同的需求进行优化,例如 Rev.7 采用传统键盘布局,Rev.5 可连接多种机械键盘,而 Rev.6 则更注重便携性和美观性。Micro Journal 的故事体现了创客精神和对极致写作体验的追求,也吸引了众多媒体的关注。
阅读更多
RadiaCode库提供了一个方便的Python接口,用于与RadiaCode-10x辐射探测器和光谱仪交互。该库支持实时辐射测量、光谱采集和分析、USB和蓝牙连接,并包含一个交互式Web界面示例。用户可以轻松控制设备、收集测量数据并分析辐射数据。该库还提供了设备配置管理功能,并支持多种操作,例如设置显示亮度、语言、声音和振动等。
阅读更多
FlashMLA是一个针对Hopper GPU优化的高效MLA解码内核,专为可变长度序列服务而设计。它在H800 SXM5上实现了高达3000 GB/s的内存受限配置和580 TFLOPS的计算受限配置的性能(使用CUDA 12.6)。FlashMLA支持BF16精度和64块大小的分页kvcache。其灵感来自FlashAttention 2&3和cutlass项目。
阅读更多
mdq 是一款类似于 jq 用于 JSON 的命令行工具,旨在简化 Markdown 文档的解析。它允许用户轻松提取文档的特定部分,例如 GitHub PR 中的待办事项清单。mdq 支持多种选择器,涵盖标题、列表、链接、图片、代码块等元素,并支持正则表达式匹配。其语法设计与 Markdown 语法相似,易于上手。通过管道操作符,用户可以轻松组合多个过滤器,实现复杂的文档解析任务。
阅读更多
WhiteSur是一个让你的Linux GTK桌面拥有macOS般外观的主题。它提供丰富的自定义选项,包括颜色、不透明度、窗口控制按钮样式、Nautilus样式以及Gnome Shell扩展的调整。安装简单,只需运行安装脚本,即可轻松改变你的桌面风格。此外,它还支持对GDM和Firefox主题的自定义,并提供针对Flatpak应用的主题修复方案,即使是Libadwaita也能够应用主题。想体验macOS般流畅的Linux桌面吗?WhiteSur值得一试!
阅读更多
Directus是一个用于管理SQL数据库内容的实时API和应用程序面板。它可以快速地在任何SQL数据库之上构建一个Node.js API,支持PostgreSQL、MySQL等多种数据库,无需迁移。Directus提供本地部署、内部部署和云服务三种方式,并具有高度的可扩展性和易于使用的无代码Vue.js应用。其商业模式为:年营收或融资额低于500万美元的组织可免费使用;超过500万美元的组织则需要商业许可证。
阅读更多
OpenJKDF2是一个用C语言编写的《星际大战:黑暗势力II》(JKDF2)的函数级重新实现,支持64位Windows 7+、macOS 10.15+和Linux系统。该项目力求忠实于原游戏,并包含用于COG脚本解析的byacc和flex的原始版本。它需要玩家拥有正版JKDF2游戏文件,并支持多种配置,包括使用OpenGL和WebGL渲染。目前项目仍在开发中,一些功能尚待实现,例如Android和iOS平台支持。
阅读更多
一位开发者使用PostScript语言编写了一个俄罗斯方块游戏,令人惊叹的是,仅用600行代码(约10KB)和69个不同的操作符就实现了实时游戏体验。游戏支持方向键和空格键控制,具有递增速度的关卡、7种俄罗斯方块、高分记录和任天堂计分系统等功能。该游戏可在macOS上的GhostView中运行,其部分实现细节受到了MeatFighter游戏的启发。
阅读更多
SimpleWall 是一款不到 1MB 的轻量级 Windows 防火墙替代工具,适用于 Windows 7 SP1 及更高版本。它基于 Windows Filtering Platform (WFP),允许用户创建自定义网络规则,包括阻止 Windows 遥测和支持 WSL 等特性。SimpleWall 提供简单的用户界面,支持永久规则和临时规则,卸载后需手动禁用过滤器。它与 Windows 防火墙独立工作,是一款免费开源的工具。
阅读更多
近年来,大型语言模型(LLM)驱动的智能体在计算机控制领域取得了显著进展。从简单的网页导航到复杂的GUI交互,各种新颖的强化学习方法和框架层出不穷。研究人员探索了基于模型的规划、自主技能发现、以及多智能体协作等技术,以提升智能体的自主性和效率。一些项目专注于特定平台(如Android、iOS),另一些则致力于构建通用的计算机控制智能体。这些突破性的成果为构建更强大、更智能的AI系统铺平了道路,并预示着未来智能体在日常生活中将扮演更重要的角色。
阅读更多
本教程介绍了FFmpeg中汇编语言编程的基础知识,特别是SIMD向量编程技术。通过手写汇编代码,可以显著提高多媒体处理速度,例如视频播放的流畅度。教程涵盖了汇编语言的基础概念、x86-64指令集、向量寄存器以及FFmpeg中常用的辅助工具。学习本教程需要C语言指针知识和高中数学基础。
阅读更多
RealDOOM项目致力于将DOS版本的DOOM移植到实模式,以支持16位处理器(如8088和286)。该项目注重还原游戏原貌,目前已支持DOOM1和DOOM2,并计划支持最终DOOM。开发重点在于用汇编语言重写渲染代码,并逐步恢复已移除的功能,例如声音和存档功能。虽然对纹理大小和节点数量有限制,但该项目已在多种处理器上进行了测试,并提供了不同画质等级下的性能数据。
阅读更多
Slime OS是一款运行在PicoVision(以及未来其他RP2040和RP2350设备)上的应用启动器,最初为Slimedeck Zero迷你电脑项目设计。它以32色、400x240内部分辨率运行,并可向上扩展至800x480。目前支持i2c键盘输入,未来计划支持USB键盘。该项目仍在开发中,存在一些已知问题,例如部分应用方向错误和硬件支持有限等,但作者欢迎贡献代码以扩展其硬件兼容性。
阅读更多
厌倦了Docker的繁琐?`fly-to-podman`脚本帮你轻松迁移到Podman!它能无缝迁移你的Docker镜像、卷和容器,并完整保留容器数据和配置(挂载点、端口等)。支持镜像、卷、容器和网络的单独或批量迁移。告别root权限,拥抱更安全便捷的容器化体验!
阅读更多
这个项目是对naklecha/llama3-from-scratch的增强版,它在原项目的基础上进行了全面的改进和优化,旨在帮助大家更轻松地理解和掌握Llama 3模型的实现原理和详细推导过程。项目核心改进包括:内容呈现顺序的重新编排、目录结构的调整、大量详细的代码注释、矩阵维度变化的完整标注、丰富的原理性解释和详细推导、新增KV-Cache推导章节以及中英文双语文档。教程从加载模型文件和配置文件开始,逐步讲解了文本转嵌入、Transformer块构建、注意力机制实现、位置编码、RMS归一化、SwiGLU前馈网络等核心步骤,最终实现了对下一个token的预测,并深入探讨了top-k预测、不同token嵌入的影响以及KV缓存机制的原理和优势。
阅读更多
Txeo是一个轻量级且直观的C++ TensorFlow包装器,它简化了TensorFlow C++开发,同时保持高性能和灵活性。Txeo完全使用现代C++构建,允许开发者轻松使用TensorFlow,避免了底层C++接口的复杂性。基准测试显示,Txeo的性能与原生TensorFlow相比几乎没有差异,仅有0.65%到1.21%的微小开销。目前支持Linux系统,并计划支持Windows和macOS。
阅读更多
CSS Zero是一个针对Ruby on Rails应用的简洁CSS启动套件,无需构建过程,类似于“无需构建”的Tailwind CSS。只需添加gem,运行安装命令`bin/rails generate css_zero:install`,即可快速上手。它提供实用工具类和变量,并支持自定义脚手架和身份验证模板。此外,它还推荐使用Lucide图标库。项目开源,遵循MIT许可证,欢迎贡献代码和bug报告。
阅读更多
Serde库在反序列化时遇到第一个错误就终止,这对于处理用户提供的JSON数据(例如API请求体)非常不便。eserde库应运而生,它能够一次性返回所有反序列化错误,极大地提升了开发者体验。通过将`#[derive(serde::Deserialize)]`替换为`#[derive(eserde::Deserialize)]`,并使用eserde提供的反序列化函数,开发者可以轻松获得所有错误信息,从而减少与API的交互次数。eserde目前支持JSON格式,并计划未来支持YAML和TOML格式。
阅读更多
DeepSeek AI团队,一个致力于AGI探索的小团队,宣布从下周开始,每天开源一个代码库,总共五个。这些代码库是其在线服务的核心组成部分,经过生产环境的测试和验证,并非概念产品。团队希望通过开源的方式,与社区共享进展,并加速AGI研究的步伐。他们同时发布了两篇相关的论文,一篇是关于2024年AI基础设施的论文(SC24),另一篇是关于Fire-Flyer AI-HPC的论文,介绍了一种经济高效的深度学习软硬件协同设计方案。
阅读更多
厌倦了简化英文拼写的CSS属性?BritCSS来了!这个客户端脚本允许你使用传统的英式拼写,例如`colour`而不是`color`。只需在你的HTML中包含``即可。它支持CSS文件、内联样式和``标签。调试模式和禁用转换功能也已实现。
阅读更多
DotSlash是一个命令行工具,它允许你用一个简洁易读的文本文件来表示一组平台特定的、重量级的可执行文件。这使得将可执行文件存储在源代码控制中变得高效,而不会影响仓库大小。它有助于将构建工具链和其他工具直接检入仓库,减少对主机环境的依赖,从而促进可重复构建。传统方法需要多个二进制文件和shell脚本,而DotSlash只需一个配置文件,首次运行时会下载并验证相应的二进制文件,后续运行则直接使用本地缓存,提高效率。
阅读更多
Lox是一个用于现代航天工业的安全、易用的航天动力学库。它提供了一个全面的API,涵盖了从高层次的任务规划与分析到低层次的工具。该库支持多种坐标系,包含各大天体的星历数据,并能轻松处理地球定向参数。Lox还提供Python绑定,方便交互式使用,并具有可扩展性,允许用户添加自定义的时间尺度、转换算法和数据源。该项目由欧洲航天局委托,是一个新一代的开源空间任务模拟器。
阅读更多
Spice86是一个.NET平台的实模式DOS程序仿真器,用于逆向工程和重写无源代码的DOS程序。它通过仿真程序执行,导出运行时数据(内存转储和执行流程),然后利用spice86-ghidra-plugin将数据导入Ghidra,将汇编指令转换为C#代码,逐步用C#重写汇编代码。Spice86支持多种命令行选项,包括调试、EMS内存、A20门、GDB远程调试等,并提供自定义GDB命令进行动态分析。此外,Spice86还内置了一个简易调试器,支持内存检查、反汇编、寄存器和堆栈查看,以及结构化内存查看。
阅读更多
RT64是一款基于最新API(D3D12和Vulkan)构建的现代N64图形渲染器,旨在为模拟器和原生移植提供增强功能。它采用超级着色器技术,消除卡顿;支持高分辨率渲染和降采样、宽屏以及帧率提升(HFR);并拥有强大的功能,例如纹理包支持、内存优化和帧缓冲区重新解释。未来,RT64还将支持光线追踪、游戏脚本解释器以及模型替换等功能,为N64游戏体验带来革命性提升。
阅读更多
这个Python脚本实现了xkcd密码规范,生成安全且易记的密码。它允许用户自定义密码长度、单词数量、分隔符以及最大单词长度,并提供熵计算和破解时间估算等信息,帮助用户评估密码强度。此外,它还支持生成多个密码以应对偷窥风险,并提供了多种命令行参数以满足不同需求。该工具使用系统级的随机数生成器,保证密码的随机性,并开源发布,方便用户使用和改进。
阅读更多
KubeVPN是一个云原生开发环境工具,可轻松连接到Kubernetes集群网络。它允许你通过服务名称或Pod IP/Service IP访问集群网络,拦截来自远程Kubernetes集群服务的入站流量到本地PC。你甚至可以在本地Docker容器中运行Kubernetes Pod,确保环境、卷和网络设置与集群一致。KubeVPN支持多种安装方式(brew、scoop、krew、GitHub release),并提供多种连接模式(full、lite),方便开发者在本地进行开发和调试。
阅读更多