返回首页

24小时热榜

2作者: liquidchicken大约 17 小时前原帖
我是一名平台工程师,写了一部将在明年出版的文学中篇小说。我对互动叙事一直很感兴趣,因此决定进行一些实验。这次创作也受到了《Betwixt》的很大启发。 最终的结果是一个短小的互动片段(大约5分钟)——环境音频与散文同步,共有三个场景。我并不想制作一个真正的游戏,而是想尝试一下沉浸感。因此,我重写了一个设定在书中世界的片段,并将计算机相关的部分与之连接起来。这个片段采用了第二人称视角(而中篇小说并不是),因为其他视角在沉浸感上并不太适用。 对于技术感兴趣的人来说,这只是使用了原生JavaScript和Web Audio API,没有使用任何框架——这就是我们这一行的风格。
2作者: sankalpnarula大约 20 小时前原帖
嘿,HN。 我是一名在滑铁卢大学学习的工程学生,正在构建有状态的人工智能代理,但我一直遇到同样的问题:每当我的 Python 脚本崩溃或断开连接时,底层的 Puppeteer 或 Ollama 进程就会孤立无援地存在,占用内存,直到节点因内存不足被杀掉。标准的负载均衡器会破坏粘性会话,而被动的 HTTP 超时又太慢,无法及时清理。 我找不到一个能够可靠清理死掉的有状态会话的本地进程池,所以我用 Go 构建了 Herd。 它使用持久化的流(gRPC/Unix 套接字)作为一个死人的开关。如果你的客户端脚本崩溃,流就会中断。Herd 会注册 EOF,并立即向工作进程发送 SIGKILL(在 Linux 上依赖 Pdeathsig)。对于实际的大量数据,你只需通过 Herd 的内部代理发送 HTTP 流量,代理会将其直接路由到活动进程的端口。 我真正的目标是将其转变为一个多节点的分布式网格,配备 Redis 注册表,客户端可以掉线,边缘网关将其路由回持有其有状态内存的确切 pod。 但我知道在一个有漏洞的本地引擎上构建分布式网格是自杀行为。单节点的清理必须首先做到完美。 我希望你们能对这个架构进行批评。具体来说:依赖 Pdeathsig 作为本地死人的开关在生产环境中是否足够稳健,还是我太天真了,需要咬紧牙关,把一切都包裹在 cgroups 和微虚拟机中? 代码库链接:[https://github.com/herd-core/herd](https://github.com/herd-core/herd)
2作者: makingstuffs大约 20 小时前原帖
大家好,希望大家都很好!<p>我看到很多评论和帖子,人们表示他们“根本”不再写代码了,我对此感到好奇,想知道大家在说这句话时是什么意思。<p>我之所以这样说,是因为我每天都在使用Claude代码,且使用的是高级计划,所以我并不是在批评大型语言模型(LLMs)或使用它们的人。我只是觉得很难理解将_所有_编码工作都外包出去,尤其是在已有项目上,如何能提高生产力。<p>我这样说的原因是,我经常需要调试和处理问题。通常我的处理和诊断会让我发现,问题其实是可以用几行代码简单修复的。<p>当然,Claude可以解决这个问题,但从提示、等待它输出计划、评估该计划、等待它完成实施,再到评估工作所花的时间,显然会比我自己快速修改并提交PR要长得多。<p>当然,也可以将处理和诊断的工作完全交给Claude,但我个人觉得这样效率不高,因为这很可能导致大型语言模型出现问题,修改与代码库无关的部分。
2作者: sandover大约 21 小时前原帖
在Oblong Industries,我们构建的一切基础构件之一是一个自家开发的基于C语言的进程间通信(IPC)系统,名为Plasma。消息通道是一个映射到内存的文件,用作环形缓冲区。所有消息都是可读的,性能良好,配置简单。 特别有用(而且在IPC系统中似乎不常见)的是,消息通道的生命周期超越了所有读者和写者,甚至可以在重启后继续存在,因为它们仅仅是文件。对于本地IPC,你不需要代理或服务器进程。 在Oblong工作过的所有工程师都喜欢Plasma,因此我重新创建并更新了它,命名为Plasmite。 Plasmite是用Rust编写的,消息格式为JSON,但由于基于lite3(一个非常酷的项目,你也应该去看看),所以它的速度很快。 它提供了Python、Go、Node和C的绑定,但你也可以仅使用CLI工具完成很多工作。基本命令包括: - “feed”(写入) - “follow”(跟踪) - “fetch”(读取一条消息) - “duplex”(进行双向会话) 我认为双向会话对于代理间通信非常有用,但我还没有进行太多尝试。如果你尝试了,请告诉我!