Acwj: A Compiler Writing Journey6 months agohttps://github.com/DoctorWkt/acwj记录编写一个自编译的C语言子集编译器的历程。采用实用方法并附带解释,避免过多理论阐述。从词法扫描到高级编译器功能的详细步骤。通过0至64个部分逐步推进,涵盖编译器构建的各个方面。完成C子集编译器后转向新语言'alic'的开发。借鉴了Nils M Holm的SubC编译器思路和代码,并进行了修改。源代码采用GPL3协议,非源代码文档采用知识共享署名-非商业性使用-相同方式共享4.0协议。
Auto Dark Mode for Windows6 months agohttps://github.com/AutoDarkMode/Windows-Auto-Night-ModeAuto Dark Mode 能根据设定时间在Windows系统上自动切换深色和浅色主题。兼容 Windows 10(22H2及更新版本)和 Windows 11。功能包括基于日出/日落时间的主题切换、壁纸切换、光标切换、强调色切换等。附加功能:灰度滤镜、游戏模式(游戏期间不切换)、电池敏感型深色模式、自定义脚本执行。可通过.exe安装文件轻松安装,支持在多台机器上静默安装。下载方式包括直接下载、Winget、Chocolatey和Scoop(便携版/非便携版)。下载时的安全提示是由于缺少开发者许可证,可忽略。支持通过Weblate或手动编辑翻译文件进行本地化。提供Wiki文档以获取更多信息和故障排除帮助。
Generalized K-Means Clustering6 months agohttps://github.com/derrickburns/generalized-kmeans-clustering项目通过dependabot.yml实现自动化依赖更新,遵循安全最佳实践。0.6.0版本引入了现代化的、无RDD的DataFrame原生API,并集成了Spark ML功能。将K-Means算法泛化为支持多种Bregman散度及高级变体,包括二分法、X-Means、软/模糊聚类、流式处理、K-Medians和K-Medoids。支持多种散度计算:平方欧氏距离、KL散度、板仓-斋藤距离、L1/曼哈顿距离、广义I散度和逻辑损失。已在700+维度的数千万数据点上完成测试验证。全面的CI流水线确保代码质量,涵盖代码规范检查、构建矩阵、测试矩阵和安全扫描等多维度验证。提供详细的诊断工具以优化性能并避免内存溢出(OOM)错误。在模型拟合时自动验证不同散度类型,并给出可操作的错误提示。所有模型实现DefaultParamsWritable/Readable接口,支持跨Spark版本的持久化存储。保留旧版RDD API以维持向后兼容性,但建议新开发使用DataFrame API。
PCB Edge USB C Connector Library6 months agohttps://github.com/AnasMalas/pcb-edge-usb-c将PCB用作USB C接口,提供KiCAD和EasyEDA元件库包含10针和14针版本KiCAD安装指南:通过插件和内容管理器(PCM)使用zip文件安装EasyEDA专业版操作:导入.elibz文件或在公共库搜索'PCBTypeC_10P'/'PCBTypeC_14P'其他EDA工具(如Altium)可导入KiCAD封装EasyEDA支持导出Altium和PADS格式导入后务必对照KiCAD或EasyEDA二次检查封装
Pico-Banana-400k6 months agohttps://github.com/apple/pico-banana-400kPico-Banana-400K是一个包含约40万组文本-图像-编辑三元组的大规模数据集,用于文本引导的图像编辑研究。每个样本包含来自Open Images的原始图像、类人编辑指令,以及经Nano-Banana验证的编辑结果。数据集涵盖8大语义类别下的35种编辑操作,呈现多样化图像变换。特征包括:约25.7万单轮三元组(用于SFT)、5.6万偏好学习样本、7.2万组多轮对话数据。编辑类别包含:对象级、场景构图、以人为中心、风格化、文本与符号、像素与光度、尺度与透视、空间/布局调整。数据集采用两阶段流程构建:通过Gemini-2.5-Flash生成指令,通过Nano-Banana进行编辑与自评估。通过指令合规性、编辑真实度等自动化指标实现质量管控。Pico-Banana-400K托管于苹果公共CDN,遵循CC BY-NC-ND 4.0许可(非商用)。源图像采用Open Images(CC BY 2.0)许可,并提供清单文件指导组件下载。文末附引用规范供学术使用。
Global key-value metadata storage for Scryer Prolog6 months agohttps://github.com/jjtolton/environment.pl为Scryer Prolog提供全局环境/上下文管理系统,支持键值元数据存储同时提供全局持久化存储(回溯时保留修改)和可回溯的局部存储(回溯时撤销修改)包含类型安全的物化谓词,通过if_/3实现无截断的条件逻辑支持一次性初始化机制,防止意外重复初始化采用AVL树实现,键存在性检查效率达O(log n)功能包括:设置全局/局部键值对、获取值、检查标志、删除键等典型应用场景:配置管理、功能开关、计数器、条件执行等通过term_expansion/2初始化,在global_context黑板下创建空关联树使用library(reif)的物化谓词实现纯声明式编程采用BSD-2-Clause许可证,兼容Scryer Prolog标准库
Neurosymbolic AI server combining Prolog's symbolic reasoning with MCP6 months agohttps://github.com/adamrybinski/prolog-mcp神经符号AI服务器,将Prolog的符号推理与模型上下文协议(MCP)结合,用于混合AI应用功能包括持久化Prolog会话、会话管理及四大核心工具:加载程序、运行Prolog查询、保存会话、加载会话通过Zod模式验证确保所有输入输出的类型安全在WASI环境中使用Trealla Prolog的WebAssembly运行时提供与Cline/Roo/Copilot的集成细节,包括命令、参数和超时设置开发指引:克隆仓库 -> npm安装 -> npm运行构建性能指标:查询执行(12毫秒/18MB)、会话保存(45毫秒/22MB)、程序加载(8毫秒/15MB)致谢:基于Trealla Prolog和MCP协议构建
Agent Lightning: Train agents with RL (no code changes needed)6 months agohttps://github.com/microsoft/agent-lightningAgent Lightning 支持通过最小代码改动实现强化学习训练AI智能体兼容多种智能体框架,包括LangChain、OpenAI Agent SDK、AutoGen、CrewAI等支持在多智能体系统中对特定智能体进行选择性优化采用强化学习、自动提示优化和监督微调等算法提供轻量级辅助函数`agl.emit_xxx()`便于快速集成内置LightningStore中心枢纽,用于管理任务、资源和追踪记录包含Trainer组件以简化和标准化学习改进流程支持CPU/GPU测试、示例集成和依赖项检查等兼容性功能鼓励开发者通过贡献者许可协议(CLA)参与共建遵循微软开源行为准则和负责任AI标准采用MIT开源协议授权
Show HN: Diagram as code tool with draggable customizations6 months agohttps://github.com/RohanAdwankar/oxdrawOxdraw旨在通过声明式和可复现的语法,简化高质量图表的创建与维护流程图表采用Mermaid语法编写,并提供网页界面用于微调节点位置、路径、颜色及样式可视化调整会以声明式代码形式回写到源文件,确保确定性和版本控制能力所有修改以注释形式保存在Mermaid文件中,保持与其他Mermaid工具的兼容性项目包含Rust编写的CLI工具(用于编译.mmd文件为图像)和基于React的网页编辑器开发动机源于Mermaid在细节编辑上的局限性,这促使开发者转向Lucidchart等工具Oxdraw试图融合代码生成图表的优势与传统图表软件的定制化能力文档提供了安装指南和使用说明,包括输入/输出参数及编辑模式的命令行标识交互式编辑器支持节点/连线样式调整、控制点编辑,以及拖拽/微移等画布操作特别阐述了路径绘制算法设计,强调清晰度优先原则及未来优化方向
Jacqueline – A minimal i386 kernel written in Pascal6 months agohttps://github.com/danirod/jacquelineJacqueline是一个用Pascal语言(Free Pascal方言)为i386架构编写的实验性引导加载程序。尽管Pascal并非为底层编程设计,但Free Pascal通过指针、内存地址操作符和内联汇编等特性,能够实现系统级编程。Free Pascal可生成PE和ELF等标准格式的目标文件(*.o),这使得不同语言编写的代码能够相互调用。开发环境需要i386-elf工具链、支持32位的Free Pascal、BSD/GNU make以及用于运行内核的QEMU模拟器。该项目除在模拟器中编译和运行镜像外,暂无进一步开发计划。
Show HN: LLM Rescuer – Fixing the billion dollar mistake in Ruby6 months agohttps://github.com/barodeur/llm_rescuerLLM Rescuer 是一个实验性的 Ruby 宝石包,利用 AI 处理当方法在 nil 上调用时的运行时错误。它会动态询问 GPT 来猜测用户的意图,这会引入不可预测的行为和潜在的安全风险。由于不可预测的特性和高昂的 OpenAI API 成本,不建议在生产环境中使用该宝石包。功能包括对 NilClass 进行猴子补丁、用 GPT 分析代码上下文,以及为 nil 方法调用返回 AI 生成的响应。可能出现的幽默结果包括:用户被 AI 命名、购物车总价被替换成俳句,布尔标志返回哲学论文。成本可能快速攀升,预估开发阶段每月 50-100 美元,生产环境每月 500-5000 美元。依赖项包括 ruby_llm、ruby_llm-schema 和 binding_of_caller,外加幽默感和健康的银行账户。该项目采用 MIT 许可证,创作者对任何 AI 引发的混乱概不负责。
Tweakcc6 months agohttps://github.com/Piebald-AI/tweakcctweakcc 是一个轻量级 CLI 工具,用于自定义 Claude Code 的系统提示和用户界面。2.0.0 版本新增功能:可自定义 Claude Code 的所有系统提示。功能包括自定义主题、思考动词、加载动画和横幅文本定制。修复了诸如加载动画冻结等错误,并允许通过环境变量更改上下文限制。未来更新将包含更多动画和 Markdown 样式选项。支持多种安装方法和平台(Windows、macOS、Linux)。配置文件存储在特定目录中,便于备份和恢复。包含用于撤销更改和将系统提示重置为原始状态的工具。通过用户友好的界面实现主题定制和应用。注意事项包括不可自定义的文本和颜色定制选项等限制。
Rouille – Rust Programming, in French6 months agohttps://github.com/bnjbvr/rouilleRouille允许用法语编写Rust程序,使用法语关键字和惯用语。专为未来法国主权操作系统设计。完全兼容英文版Rust,允许混合使用两种语言。提供的示例展示了Rust编程的法语语法。包含幽默和文化梗,强调趣味性玩法。列出「Rust」一词的多语言翻译。提及许可证:「License Publique Rien à Branler」(意为「关我屁事公共许可证」),戏仿WTFPL的幽默表述。
Show HN: Story Keeper – AI agents with narrative continuity instead of memory6 months agohttps://github.com/neurobloomai/pact-axPACT-AX为异构AI智能体之间的安全协作、上下文共享和知识迁移提供基础架构基于'信任可扩展而控制制造瓶颈'原则设计,实现分布式AI协作融合人类协作智慧与AI技术能力,包括爵士乐式即兴协作与交响乐式协调机制采用最小可行干预(MVI)原则,以最低开销实现最大协作效益通过持续互动建立有机信任,而非一次性验证机制包含PACT-HX(人类体验层):协作即兴框架与通用翻译系统PACT-AX(智能体通信层)提供:上下文共享协议/状态迁移机制/策略对齐系统/信任评分体系支持智能体间安全可解释的上下文交换与无缝交接协议跨智能体协调与冲突解决系统,含生成性摩擦与退化性摩擦检测将信任建模为持续过程,配备真实行为模式识别功能智能体会自然向高质量协作伙伴靠拢反馈处理能力与核心功能同等重要为未来20年人机协作设计的基础设施采用MIT开源协议,由neurobloom.ai社区构建
Show HN: Sqlite3-dump - a fast SQLite to CSV and parquet6 months agohttps://github.com/i64/sqlite3-dump用Rust编写的高性能SQLite3数据库文件解析与导出工具支持将数据表导出为CSV和Parquet格式无需SQLite库即可直接解析SQLite3数据库文件零拷贝技术且不含非安全代码尚未经过模糊测试,生产环境/不可信场景需谨慎使用支持RUSTFLAGS="-C target-cpu=native"指令集优化提供CSV/Parquet导出的命令行使用示例性能对比:CSV导出速度sqlite3-dump(6.4秒)远超SQLite3(23秒)Parquet格式导出1亿行数据仅需约6秒,吞吐量达1700万行/秒采用Apache-2.0开源协议
Show HN: I built an 8-bit CPU simulator in Python from scratch6 months agohttps://github.com/sql-hkr/tiny8Tiny8 是一个轻量级工具包,通过内存模型、汇编语言和数据结构来探索计算机核心概念。专为快速实验设计,具有最少的依赖项和直观的可视化工具。主要特点包括轻量级安装、教育清晰性、快速反馈循环和可扩展性。目标用户包括学生、教育工作者、爱好者和对底层编程感兴趣的开发者。安装需要 Python 3.11+、Git,可选虚拟环境。示例提供了汇编语言实现的冒泡排序算法及可视化演示。Tiny8 的指令集包含数据传输、算术运算、逻辑操作、位移和控制流命令。文档包含CPU、汇编器和可视化工具的API参考。采用MIT许可证,欢迎遵循仓库指南提交贡献。
Show HN: MacOS Live Screensaver – A screensaver that plays live video streams6 months agohttps://github.com/hauxir/macos-live-screensaver一款macOS屏保程序,可播放实时视频流,支持YouTube和HLS流媒体同时提供Android TV版动态屏保系统要求:macOS系统、Swift编译器(Xcode命令行工具),YouTube支持需额外安装yt-dlp可通过Homebrew安装,yt-dlp也可通过pip安装,随后需编译并安装屏保程序配置路径:系统偏好设置→屏幕保护程序,可输入YouTube或HLS流媒体URL注意事项:仅支持YouTube直播视频,且macOS屏保界面可能存在显示异常故障排除:提供YouTube视频无法播放或黑屏问题的解决方案
Twake Drive – The open-source alternative to Google Drive6 months agohttps://github.com/linagora/twake-driveTwake Drive 是 Google Drive 的开源替代方案首先克隆代码仓库并使用 Docker 运行该应用需要 Node.js (>=18.x)、MongoDB 和 Yarn可通过 Docker 启动 MongoDB前端和后端可通过特定命令启动应用默认运行在 3000 端口Twake Drive 采用 Affero GPL v3 许可证
Show HN: Open-source TypeScript SDK for sending and operating iMessages6 months agohttps://github.com/sg-hq/imessage-kit100% 类型安全,提供完整的 TypeScript 支持与完美的类型推断跨运行时支持 Node.js 和 Bun,并自动检测运行时环境智能数据库在 Bun 环境下使用原生 `bun:sqlite`,在 Node.js 环境下使用 `better-sqlite3`通过强大的过滤器读取和查询 iMessage、短信及 RCS 消息支持发送文本及图片(本地文件或网络 URL)流畅的 API 设计,实现优雅的消息链处理实时消息监控,支持 Webhook 通知可扩展的插件系统,支持自定义行为性能优化,支持并发消息发送与信号量控制全面的错误处理,配备类型守卫支持批量发送与自动回复功能需 macOS 系统以访问 iMessage 数据库采用 Server Side Public License v1 (SSPL) 许可协议,附有额外限制条款
Binmoji: A 64-bit emoji encoding6 months agohttps://github.com/jb55/binmojibinmoji 是一个C语言库及命令行工具,可将Unicode表情符号编码为64位整数。特性包括:紧凑存储、高性能、无损转换、符合Unicode标准。表情符号序列会被解构并打包到64位整数中,具有特定的位分配方案。内置预计算查找表,用于将组件哈希值解码回原始码点。专为数据库高效存储设计,无需处理可变长度字符串。支持复杂表情序列,包括肤色修饰符和ZWJ连接序列。提供测试套件,用于验证是否符合Unicode标准。可轻松集成到C项目中,提供编码、解码及字符串转换功能。