1作者: arianott6 个月前
我是一名学生,构建这个项目是因为我之前的灯光控制器(DMX)在供应商的控制软件于 2025 年停止维护后,变成了一块“砖”。 我完全专注于开发一个强大的后端架构,以保证最佳性能。所有内容均在 GPLv3 协议下发布。 目前的界面只是一个用纯 HTML 和 JavaScript 编写的“vibecoded”仪表盘,以尽可能降低渲染延迟。早期版本使用了 Svelte。对于最初的 MVP 来说,Svelte 增加了太多复杂性。 视频:<a href="https:&#x2F;&#x2F;streamable.com&#x2F;95kd4r" rel="nofollow">https:&#x2F;&#x2F;streamable.com&#x2F;95kd4r</a> 代码库:<a href="https:&#x2F;&#x2F;github.com&#x2F;Arian-Ott&#x2F;hyperion" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;Arian-Ott&#x2F;hyperion</a> 技术细节:该系统采用分布式架构,FastAPI 服务器在 Redis 中管理状态。状态变化通过 WebSockets 推送到树莓派网关,然后网关独立地维持恒定的 44Hz 二进制流到灯光。这种“推送模型”节省了大量带宽,并确保了低延迟。在压力测试中,我处理了 10 个 universe(5,120 个通道),频率为 44Hz,零丢包(模拟)。基于 OTP 的配对使得设置极其简单(即插即用)。 我期待您对架构和 Redis 方法的反馈! 新年快乐!
2作者: rafinha6 个月前
您好, Circuit Artist 是一款关于绘制像素艺术数字电路的游戏——就像 MS Paint,但像素是导线,小三角形是与非门。点击开始,模拟就会实时运行。它是完全白盒的:每根导线的状态都可见。 我去年发布了它,使用了一个单位延迟模拟,该模拟在每次更新时都会运行直到收敛。它确实有效,但我意识到它存在一些根本问题: (i) 它隐藏了实际发生的事情。玩家无法区分行波进位加法器和先行进位加法器——一切都瞬间解决了。 (ii) 设计错误变成了“游戏错误”。当玩家有不收敛的导线(例如 A = not(A))时,游戏无法解释原因或错误所在。 (iii) 布局无关紧要。地图一侧的与非门会立即传播到另一侧,使得空间决策毫无意义。单位延迟可能更适用于基于原理图的模拟器,如 Logisim,而不是像这样的以布局为中心的游戏。 (iv) 传播可视化无法添加到单位延迟引擎之上——没有方向或距离的概念。 因此,我使用 Elmore 延迟的改编版,使用可变延迟的基于事件的模拟重新构建了引擎。每根导线的延迟取决于距离和扇出——较长的导线较慢,较高的扇出增加了延迟,分支导线更快。 对于实现:我计算了导线树上的 Elmore 延迟。每个像素都有电阻和电容,与非门的输入作为节点来计算扇出。对于非树形导线图,我构建了一个基于 Dijkstra 的生成树(驱动器作为根),并对树外的边进行插值。我计算每个节点的延迟,并将其投射回图像,以便每个像素都有一个距离。 这使我能够在模拟期间使用发光效果来动画传播。着色器知道每根导线的触发时间、当前时间和每个像素的 Elmore 距离,因此它可以实时解析每个像素的状态。 除此之外: - 时间倒带:模拟现在是基于增量的,因此玩家可以冻结并向后拖动以进行调试。对于循环电路非常有用。 - 层:由于时间现在很重要,我添加了最多 3 层。与非门只放在底层,上层传播更快(电容更低)。允许您在密集的与非门区域上方布线。 该游戏有一个从头开始学习的活动,尽管它仍然不完整并且正在进行中。我正在努力支持 Steam Workshop,以便人们可以创建自己的活动来教授不同的概念或涵盖更高级的主题。 GitHub(完整源代码):[https://github.com/lets-all-be-stupid-forever/circuit-artist](https://github.com/lets-all-be-stupid-forever/circuit-artist) Steam:[https://store.steampowered.com/app/3139580/Circuit_Artist/](https://store.steampowered.com/app/3139580/Circuit_Artist/)
1作者: xjconlyme6 个月前
Hi HN, 我是 Eimi 的开发者(<a href="https://eimi.tech/" rel="nofollow">https://eimi.tech/</a>)。 问题:我发现自己总是分心。我想学习新单词,关注特定新闻,但每次打开一个应用,最终都会无休止地刷 20 分钟。信号与噪声比太低了。 解决方案:我开发了 Eimi 来“平复”我的信息摄取。它是一个基于卡片的应用程序,根据您的个人需求提供内容。您不会看到无休止的信息流,而是获得精心策划、高度可定制的卡片。 用例: 语言学习:它会生成带有使用例句的卡片,而不是没有语境的抽认卡,用于我想要学习的单词。 新闻/市场观察:我设置了我的兴趣(例如,科技新闻、特定股票),它会生成一个摘要卡片。没有标题党,只有要点。 目前处于公开 Beta 测试阶段。我很乐意听取您对用户体验的看法,以及您认为哪些“卡片类型”会很有用。 谢谢!