返回首页

一周热榜

2作者: mavdol044 天前原帖
大家好, 我构建了一个运行时环境,用于通过 WebAssembly 沙箱隔离不可信代码。基本上,它保护您的主机系统免受不可信代码可能引发的问题。最近我们对 Python 中的沙箱化进行了深入讨论,更详细地阐述了这个问题[1]。在 TypeScript 中,由于两个生态系统之间的紧密联系,WebAssembly 的集成显得更加自然。 核心部分是用 Rust 编写的。在此基础上,我通过 wasmtime 和组件模型使用了 WASI 0.2,并结合自定义 SDK,使其尽可能符合语言习惯。 例如,在 Python 中,我们有一个简单的装饰器: ```python from capsule import task @task( name="analyze_data", compute="MEDIUM", ram="512mb", allowed_files=["./authorized-folder/"], timeout="30s", max_retries=1 ) def analyze_data(dataset: list) -> dict: """在一个隔离的、资源受控的环境中处理数据。""" # 您的代码在 Wasm 沙箱中安全运行 return {"processed": len(dataset), "status": "complete"} ``` 在 TypeScript 中,我们有一个包装器: ```typescript import { task } from "@capsule-run/sdk" export const analyze = task({ name: "analyzeData", compute: "MEDIUM", ram: "512mb", allowedFiles: ["./authorized-folder/"], timeout: 30000, maxRetries: 1 }, (dataset: number[]) => { return {processed: dataset.length, status: "complete"} }); ``` 您可以设置 CPU(通过 compute)、内存、文件系统访问权限和重试次数,以精确控制您的任务。 虽然现在还处于早期阶段,但我非常希望能听到反馈。我会在这里回答问题。 GitHub: [https://github.com/mavdol/capsule](https://github.com/mavdol/capsule) [1] [https://news.ycombinator.com/item?id=46500510](https://news.ycombinator.com/item?id=46500510)
2作者: Cohesix2 天前原帖
我对那些易于组装但难以审计的控制平面感到越来越沮丧。开源技术栈的便利性与合规性并不兼容——因为每增加一个守护进程和API,就多了一层需要解释、版本管理和防御的表面。 我构建了Cohesix 0.4.0-alpha,将合规性和安全性视为一个系统性问题。它是一个用于边缘GPU节点的控制平面操作系统,运行在seL4虚拟机上,并暴露一个Secure9P命名空间,而不是传统的文件系统或RPC层。 这种做法是故意的。虚拟机用户空间不使用标准库,不支持POSIX,没有传统文件系统,没有虚拟机内的RPC,也没有后台守护进程。接口是一个小而明确的语法:在Secure9P命名空间下的文件形状控制表面。 这并不是为了追求极简主义,而是关于确定性、可审计性、撤销、行为边界,以及让故障模式变得清晰。票据和租约会过期;预算返回ELIMIT而不是神秘的延迟;/proc暴露队列和租约状态。 一个部署是一个蜂巢:一个女王角色协调worker-heart和worker-gpu角色,NineDoor导出路径,如/queen/ctl、/proc、/log和/worker/<id>/telemetry。操作员通过经过身份验证的TCP控制台使用‘cohsh’连接;该控制台是唯一的虚拟机内监听器。 Cohesix并不试图取代Linux、Kubernetes、CUDA或现有的开源软件。重型生态系统仍然驻留在主机上,主机侧工具和边车将它们镜像到/gpu和/host中,因此可以在不重写的情况下进行采用。这是一个控制平面边界,而不是工作负载平面。 在0.4.0-alpha中,我添加了权威调度/租约/导出/策略控制文件,配合/proc可观察性,以及一个REST网关,通过HTTP投影相同的文件语义。今天的开发目标是QEMU aarch64/virt;预期的硬件目标是UEFI ARM64。 如果你想要一个通用操作系统,这不是合适的工具。我故意想要一些无聊的东西,虽然小但却具有欺骗性的强大功能,我愿意牺牲便利性以重新获得控制权。
2作者: tinuviel4 天前原帖
在阅读了Sparkbox上的《在Helene期间,我只想要一个纯文本网站》(<a href="https://news.ycombinator.com/item?id=46494734">https://news.ycombinator.com/item?id=46494734</a>)后,我建立了safe-now.live——一个面向美国和加拿大的文本优先紧急信息网站。没有JavaScript,没有图片,大小不到10KB。该网站实时获取FEMA灾害、NWS警报、天气和当地资源。这是我第一次上线的网站,因此希望能得到大家对网站的反馈。欢迎随意浏览。<p><a href="https://safe-now.live" rel="nofollow">https://safe-now.live</a>
2作者: kaave4 天前原帖
好的,这对你们中的许多人来说可能不算什么大事,但今天我只是感到无聊,对做任何营销都感到疲惫,因为似乎没有什么有效。所以我决定进行一些搜索(我搜索了不少关键词),比如“Supabase的错误跟踪”、“Next.js的错误跟踪”,但我的SaaS并没有排名(如果你不知道我在做什么,我正在开发一个非常简单的错误跟踪工具,当生产环境出现问题时会通知你,没有繁琐的仪表盘或配置地狱)。我之所以开发这个,是因为Sentry的噪音太多,我只想要一个能让我知道生产环境中出现问题的工具。 于是我决定搜索“Shipfast的错误跟踪(由Marc Lou提供)”,结果你猜怎么着?Bugmail是第一个推荐结果。我不知道这是怎么做到的,我做过一些SEO相关的工作,但没想到会有这样的结果,现在我感觉自己回来了,这很有趣,因为我并没有成交,也没有 onboard 新用户,但我感觉自己好像征服了一切,这就是创始人的生活吧。 我只是想在这里分享一下,如果你有任何关于如何在GSC上排名更高以及如何做好营销的建议,任何反馈都会很有价值。 同时,如果你想查看我开发的工具,可以在这里访问:https://www.bugmail.site
2作者: emmasuntech4 天前原帖
我一直在使用可寻址的LED灯带(5V、12V、24V)进行安装。相同的几种故障模式反复出现:长距离运行时出现暗尾、随机闪烁或闪烁,以及连接器成为薄弱环节。 以下是一些对我帮助最大的做法: 将电源分配视为首要设计任务:尽早规划注入点,保持供电线短,并避免将所有电流都通过一端。 始终在控制器和灯带之间共享一个稳定的地线,并保持数据传输路径简单。当线路变长或环境噪声增大时,在数据源附近添加一个小的串联电阻和适当的电平转换(3.3V到5V)通常可以提高稳定性。 假设连接器是“消耗品”:应考虑应力缓解,防水处理需要保持可维护性,高电流线路应选择更保守的方案。 我很好奇你们在注入间距、分支熔断和故障排除方面最可靠的经验法则是什么。如果你有值得信赖的检查清单或测量方法,我很想学习。
2作者: whispem4 天前原帖
嗨,HN, 我是Emilie,我有文学背景(这也解释了文档写得很好!),在过去几个月里,我通过构建minikv来学习Rust和分布式系统。最近,这个项目在《Programmez!》杂志上被报道了:<a href="https://www.programmez.com/actualites/minikv-un-key-value-store-distribue-en-rust-construit-en-public-38861" rel="nofollow">https://www.programmez.com/actualites/minikv-un-key-value-st...</a> minikv是一个开源的分布式存储引擎,旨在用于学习、实验和自托管设置。它结合了一个强一致性的键值数据库(Raft)、兼容S3的对象存储以及基本的多租户功能。 功能/亮点: - Raft共识,带有自动故障转移和分片 - 兼容S3的HTTP API(以及REST/gRPC API) - 可插拔的存储后端:内存、RocksDB、Sled - 多租户:每个租户的命名空间、基于角色的访问控制、配额和审计 - 指标(Prometheus)、TLS、基于JWT的API密钥 - 易于部署(单个二进制文件,支持Docker/Kubernetes) 快速演示(单节点): ```bash git clone <a href="https://github.com/whispem/minikv.git" rel="nofollow">https://github.com/whispem/minikv.git</a> cd minikv cargo run --release -- --config config.example.toml curl localhost:8080/health/ready ``` # S3上传 + 读取 ```bash curl -X PUT localhost:8080/s3/mybucket/hello -d "hi HN" curl localhost:8080/s3/mybucket/hello ``` 文档、集群设置和架构细节都在代码库中。期待听到大家的反馈、问题、想法,或者你们在Rust中运行分布式基础设施的故事! 代码库:<a href="https://github.com/whispem/minikv" rel="nofollow">https://github.com/whispem/minikv</a> 库:<a href="https://crates.io/crates/minikv" rel="nofollow">https://crates.io/crates/minikv</a>
2作者: ahacop4 天前原帖
Erwin Brandstetter是一位PostgreSQL顾问,在Stack Overflow上拥有约67万的声誉和约7000个回答。<p>多年来,我已经记不清自己在Stack Overflow上搜索Postgres问题时,有多少次最终找到的答案都是Erwin Brandstetter提供的,这些答案异常详尽且清晰。通过学习他的回答,我成为了一个更优秀的开发者。<p>ErwinDB让你可以离线浏览Erwin Brandstetter的回答,并通过文本用户界面(TUI)快速搜索。它包括语义搜索、语法高亮、单键在外部浏览器中打开链接,以及一个“Erwin模式”,该模式会突出显示他的帖子。