1作者: arianott大约 1 个月前原帖
我是一个学生,我之所以构建这个系统,是因为我的旧闪光控制器(DMX)在2025年供应商的控制软件被弃用后变成了砖头。<p>我专注于开发一个强大的后端架构,以确保最大性能。所有内容均以GPLv3许可证发布。<p>当前的前端只是一个用纯HTML和JavaScript制作的“vibecoded”仪表板,以保持渲染延迟尽可能低。在早期版本中使用了Svelte,但Svelte为初始的最小可行产品(MVP)增加了太多复杂性。<p>视频:<a href="https://streamable.com/95kd4r" rel="nofollow">https://streamable.com/95kd4r</a> 代码库:<a href="https://github.com/Arian-Ott/hyperion" rel="nofollow">https://github.com/Arian-Ott/hyperion</a><p>技术细节:该系统采用分布式架构,FastAPI服务器在Redis中管理状态。状态变化通过WebSockets推送到树莓派网关,后者独立维护与灯光之间的恒定44Hz二进制流。这种“推送模型”节省了大量带宽,并确保了低延迟。在压力测试中,我以零数据包丢失(模拟)的情况下处理了10个宇宙(5120个通道)以44Hz的频率。基于一次性密码(OTP)的配对使得设置极其简单(即插即用)。<p>我期待您对架构和Redis方法的反馈!<p>新年快乐!
2作者: rafinha大约 1 个月前原帖
你好, Circuit Artist 是一款关于绘制数字电路的像素艺术游戏——就像 MS Paint,但像素是电线,小三角形是 NAND 门。点击播放,模拟将实时运行。它是完全的白盒:每根电线的状态都是可见的。 我在去年推出了它,采用单位延迟的模拟,每次更新都运行到收敛。它能工作,但我意识到它存在一些根本性的问题: (i) 它隐藏了实际发生的事情。玩家无法区分涟漪进位加法器和前瞻加法器——一切都瞬间解决。 (ii) 设计错误变成了“游戏错误”。当玩家有非收敛的电线(例如 A = not(A))时,游戏无法解释错误的原因或位置。 (iii) 布局并不重要。地图一侧的 NAND 门会瞬间传播到对面,使得空间决策毫无意义。单位延迟可能更适合基于原理图的模拟器,如 Logisim,而不适合像这样的以布局为中心的游戏。 (iv) 无法在单位延迟引擎上添加传播可视化——没有方向或距离的概念。 因此,我重建了引擎,采用基于事件的可变延迟模拟,使用了 Elmore 延迟的改编。每根电线的延迟取决于距离和扇出——较长的电线延迟较慢,较高的扇出增加延迟,分支电线则较快。 在实现方面:我在电线树上计算 Elmore 延迟。每个像素都有电阻和电容,NAND 输入作为节点以考虑扇出。对于非树形电线图,我构建了一个基于 Dijkstra 的生成树(驱动器作为根),并对树外的边缘进行插值。我计算每个节点的延迟,并将其投影回图像,使每个像素都有一个距离。 这让我可以在模拟过程中用发光效果动画化传播。着色器知道每根电线何时被触发、当前时间以及每个像素的 Elmore 距离,因此它实时逐像素解析状态。 除此之外: - 时间倒退:模拟现在是基于增量的,因此玩家可以暂停并倒回以进行调试。这对循环电路非常有用。 - 层次:由于时序现在很重要,我增加了最多 3 层。NAND 仅放在底层,上层传播更快(电容更低)。这让你可以在密集的 NAND 区域上方布线。 游戏有一个从零开始学习的活动,尽管它仍然不完整,正在进行中。我正在努力实现 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作者: xjconlyme大约 1 个月前原帖
嗨,HN, 我是 Eimi 的开发者([https://eimi.tech](https://eimi.tech))。 问题:我发现自己总是分心。我想学习新单词并关注特定的新闻,但每次打开应用时,我都会无目的地刷屏20分钟。信息的信噪比太低了。 解决方案:我开发了 Eimi 来“平静”我的信息消费。它是一个基于卡片的应用,根据你的个人需求提供内容。与其说是无限的信息流,不如说是高度可定制的精选卡片。 使用场景: 语言学习:与其使用没有上下文的抽认卡,它生成带有使用示例的卡片,帮助我学习想要掌握的单词。 新闻/市场观察:我可以连接我的兴趣(例如,科技新闻、特定股票),它会生成一张摘要卡片。没有诱饵标题,只有要点。 目前该应用处于公开测试阶段。我很想听听你们对用户体验的看法,以及你们觉得哪些“卡片类型”会有用。 谢谢!