2作者: rafa_rrayes13 天前原帖
大家好!<p>我创建了SHDL(简单硬件描述语言),这是一个将硬件描述简化到绝对基础的实验。<p>在SHDL中,没有算术运算符,没有隐式位宽,也没有高级结构。你需要从逻辑门和导线显式构建一切,然后以层次化的方式组合更大的组件。这个目标不是合成或性能,而是理解:当抽象被去除时,数字系统实际上是什么样子的。<p>SHDL配有PySHDL,这是一个Python接口,允许你加载电路、输入信号、逐步模拟并观察输出。在底层,SHDL将电路编译为C语言以实现快速执行,但语言本身保持故意简小和透明。<p>这并不是为了取代Verilog或VHDL。它的目标是:<p>- 从基本原理学习数字逻辑<p>- 实验硬件描述语言和语言设计<p>- 教授或可视化复杂硬件如何从简单门电路中产生<p>我特别希望能收到关于以下方面的反馈:<p>- 语言设计选择<p>- 哪些感觉不必要的限制与教育价值<p>- 这种“反抽象”硬件描述语言对你是否有用<p>代码库: https://github.com/rafa-rrayes/SHDL<p>Python包:PySHDL在PyPI上<p>感谢阅读,我非常欢迎批评意见。
13作者: ok_orco13 天前原帖
第一次在运行 Chatter.Plus(我正在开发的一个工具,用于汇总来自 Discord、GitHub 和论坛的社区反馈)一天后查看使用成本时,我看到的费用是 2.30 美元。算了一下,按月算是 70 美元,按年算是 840 美元。仅仅是一个实例,感觉非常糟糕。 我之前做过粗略的计算,所以知道这可能是个 bug,但仍然感到不安。结果发现这只是部分是 bug,其余的则是我需要重新思考我构建这个工具的方式。 接下来的几天我花时间拆解它,进行调整,使用实时数据进行测试,检查结果,再次尝试。我发现我发送 API 请求的频率太高,并且没有优化我发送和接收的数据。 以下是我所做的改进,按影响程度从大到小排列(除了那个每天花费我一美元的 bug): - 完全放弃了 Claude Sonnet - 在相同数据上测试了两个模型,Haiku 实际上以三分之一的成本表现更好。 - 开始对所有请求进行批处理 - 每小时调用一次简直就是在烧钱。 - 在 AI 处理之前进行过滤 - “哈哈”和“谢谢”是很多在线聊天内容。我在花钱让 AI 告诉我这些不是反馈。尽管如此,我仍然会处理像“+1”和“我也是”这样的协议。 - 输出更简短 - 使用“H/M/L”代替“高/中/低”,推荐 40 个字符的标题。 - 在处理之前剔除代码片段 - 只是重复问题,导致请求膨胀。 到周末时:每天只需几分钱,质量依然如故。 我并不是在构建一个可以亏损运营多年的风险投资支持的应用。我失业了,正在尝试构建一些可能也能支付房租的东西。这个数学模型必须从第一天起就能奏效。 好处是:这些节省让我可以将定价层级限制提高三倍,并增加间歇性的质量检查。这是我原本无法获得的余地。 欢迎提问。
1作者: kamaludu13 天前原帖
我创建了 GroqBash,这是一个单文件的 Bash 客户端,用于 Groq API(兼容 OpenAI)。我希望它是完全可审计的,没有依赖关系,并且能够在 Termux 上可靠运行,因为 /tmp 目录是不可写的。所有内容都存放在自创建的 groqbash.d 目录中,核心脚本避免使用 eval,避免依赖 /tmp,并保持严格的权限设置。 该项目现在包括一些可选的附加功能:额外的提供者(包括 Gemini)、扩展文档、小型安全工具和一个小型测试套件。核心部分保持简洁和可移植;附加功能是可选的。 我希望能得到以下反馈: - 关于设计和 Bash 选择的意见 - 了解其他人是否觉得这个工具有用 - 在不同环境下的测试(Linux 发行版、macOS、WSL、Termux) 仓库地址: [https://github.com/kamaludu/groqbash](https://github.com/kamaludu/groqbash) 注意:我不是以英语为母语的人。我能比较好地阅读英语,但在写作时通常依赖自动翻译器(有时也会使用 GroqBash 本身)。如有需要,我很乐意进一步解释。
1作者: narubrown13 天前原帖
你好,Hacker News — 来自韩国的问候 我是一名主要使用 Go 的后端工程师,想与大家分享我正在构建的一个框架,以解决我在生产系统中反复遇到的问题。 在我的日常工作中,我们的后端是基于 Echo 构建的。Echo 作为 HTTP 传输非常快速且可靠,但其高度的自由度几乎将架构决策完全留给了个别开发者。随着时间的推移,这导致了一个系统,其中执行流程和责任边界因最后修改某个功能的人而有所不同。维护变得困难,并不是因为代码不正确,而是请求的实际执行方式变得不再明显。 我寻找一个能够提供清晰执行模型和结构约束的 Go 框架,类似于 Spring 或 NestJS 提供的功能。但我没有找到合适的框架。转向 Spring 或 NestJS 也意味着放弃 Go 的一些优势——简单性、性能和明确控制——所以我决定自己构建一个。 Spine 是一个以执行为中心的 Go 后端框架。它旨在提供企业级的结构,同时故意避免隐藏的魔法。 Spine 提供的功能: - 一个具有显式构造函数依赖注入的 IoC 容器 - 具有明确定义的执行阶段(前、后、完成)的拦截器 - 对 HTTP 请求和事件驱动执行的第一类支持 - 无注解、无隐式行为、无约定驱动的连接 核心理念:执行优先 关键区别在于 Spine 的执行模型。每个请求——无论是 HTTP 还是事件——都通过一个单一的、明确的管道(Pipeline)流动。管道是唯一决定执行顺序的组件。实际的方法调用由一个单独的调用器(Invoker)处理,严格分离执行控制和调用。 由于这种结构: - 执行顺序可以通过阅读代码来解释 - 交叉关注点存在于执行流程中,而不是控制器内部 - 控制器仅表达用例,而不是编排逻辑 - 你可以通过查看 main.go 来理解请求处理 这种设计在清晰度上牺牲了一些便利性。作为回报,它在系统规模和复杂性增长时提供了更强的控制。 我创建 Spine 的目标不仅仅是为 Go 生态系统添加另一个框架,而是开启一场对话:现代 Web 框架隐藏了多少执行流程,这在何时会成为维护成本? 该框架目前是用韩语编写的。如果你对英语支持或国际化有需求,请随时提出问题——我计划根据社区的兴趣优先处理。 你可以在这里找到更多细节、一个基本的 HTTP 示例和一个简单的基于 Kafka 的 MSA 演示: 仓库:<a href="https:&#x2F;&#x2F;github.com&#x2F;NARUBROWN&#x2F;spine" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;NARUBROWN&#x2F;spine</a> 感谢阅读。我非常期待你的反馈。
3作者: summerlee961113 天前原帖
嗨,HN,我创建了Beni(<a href="https://thebeni.ai" rel="nofollow">https://thebeni.ai</a>),这是一个用于实时视频通话的网页应用,配有AI伴侣。 这个想法起初源于一个相当简单的问题:文本聊天机器人无处不在,但它们很少给人一种真实存在的感觉。我想要一些更接近通话的东西,让角色能够实时反应(声音、时机、表情),而不仅仅是“输入、等待、回复”。 Beni基本上是: - 一个在通话过程中会动画化的Live2D头像(表情 + 根据对话驱动的动作) - 实时语音对话(流式响应,而不是“等待10秒再说”) - 长期记忆,以便角色能够在不同会话中保持上下文 最难的部分不是生成文本,而是让整个循环感觉同步:麦克风输入、模型响应、文本转语音音频和Live2D动画都需要协调,否则会立即感觉不连贯。我花了更多时间在状态管理、延迟和缓冲上,而不是在提示上。 一些实现细节(如果有人感兴趣,我很乐意分享更多): - 基于浏览器的实时通话,带有音频流和客户端播放控制 - 前端的Live2D渲染,动画钩子与语音/状态相关联 - 一个存储轻量级用户信息/偏好和对话摘要的记忆层,以保持连续性 当前的限制:今天需要登录(以保持记忆并防止滥用)。我很快会添加一个访客模式,以便更快试用,并且目前正在开发移动视图。 我希望得到的反馈: - “实时通话”循环的响应性是否足够,还是仍然太延迟? - 关于浏览器中2D/3D头像的更好唇动同步/表情时机的任何想法? 谢谢,我会在评论区待着。
8作者: jcparkyn13 天前原帖
这是我几年前开始的一个爱好项目,目的是学习编程语言的实现。这个项目95%是手动编写的,虽然最近的一些提交中包含了来自Gemini CLI的代码。<p>我最开始是按照《Crafting Interpreters》这本书进行学习的,但逐渐偏离了原来的方向,直到几乎没有什么共同点。<p>技术栈:Rust、Cranelift(即时编译)、LALRPOP(解析器)。