1 分•作者: mercutio93•大约 2 个月前
大家好,我是一名平台工程师,日常工作主要围绕 Kubernetes 集群和 Terraform,偶尔也会涉及 C# 和 TypeScript 来构建服务,所以这可能完全超出了我的能力范围。Jolt 最初是一个实验,看看我是否能完全构建自己的网络。我也会坦诚地说,大部分代码都是通过 AI 辅助编写的。然而,高层决策和架构是基于我的研究、实验、试错得出的。当以这种方式构建时,金丝雀测试(Canary testing)就成了必然,你需要一些东西将你 AI 驱动的自信拉回现实。 今年我问了自己一个问题……是否可能存在一个没有平台的“无平台世界”?一个没有平台控制你的数据、利用你的数据进行广告定位,或者封禁你并带走你的受众的世界。所以我开始挑战自己,看看是否可能……最终我创造了 Jolt。 Jolt 是一个点对点(p2p)的分布式内容分发网络。听起来很复杂,但它基本上是我解决“无平台内容分发”的方案。任何人都可以使用加密身份发布内容,其他人也可以发现这些内容。应用程序可以构建在网络之上,但它们与受众或账户是解耦的。 Jolt 通过一种守护进程(daemon)能力模型来实现这一点,有点像移动应用请求权限,但这是针对你的身份和内容的。 应用程序不拥有你的身份。它们会向守护进程请求一个有范围的会话(例如,“在 `/pastes/*` 下发布”),由你批准或拒绝。你可以卸载应用程序,但仍然保留你的受众和数据。 在这篇文章中,我将简要介绍这项工作,并在评论中讨论架构,如果你想深入了解,可以查看 GitHub Pages 网站上的 RFC 部分。 在构建这个项目时,最难的部分不是协议设计或加密。有趣的是,是测试。局域网(LAN)欺骗性地简单,一切似乎都能正常工作;为什么?mDNS 会立即找到你的节点,让你感觉自己很厉害。但当你进行一个 3 节点金丝雀测试来尝试在小范围内复制混乱的真实世界时,你就会被现实打败。 这个三方金丝雀测试使用了我的笔记本电脑(家庭宽带)、Hetzner 的一个中继服务器,以及我运行在手机热点上的 Mac。我知道这很折腾,但这也是我当时仅有的条件。我试图回答一个 v0 的难题:两个不同网络上的节点能否通信,更重要的是,它们能否在实际的 NAT 后面通信,以及如何通信。 第一次尝试是通过中继服务器,所以我知道那可行,但我并不满意。我想要直接通信,我花了大约两天时间才让 QUIC 穿透(hole punching)工作起来,实现了节点间的直接通信。 话虽如此,我并不完全确定它在实际环境中是否有效,我现实的一面认为它不行。我确定的是,一次金丝雀测试并不能涵盖所有边缘情况。我需要更多的节点和网络上的用户来告诉我哪里出了问题,我就是这样工作的,哈哈,所以我才发了这篇帖子。 你可以在这里找到 Jolt:[https://alexanderwanyoike.github.io/jolt/](https://alexanderwanyoike.github.io/jolt/) 那么,这个东西到底能不能用呢?我很高兴地说,我已经能够在此基础上构建两个应用程序:Spoke([https://alexanderwanyoike.github.io/spoke/](https://alexanderwanyoike.github.io/spoke/)),这是我尝试构建的无平台社交网络;以及 Pastey([https://alexanderwanyoike.github.io/pastey/](https://alexanderwanyoike.github.io/pastey/)),一个简单的类似 pastebin 的应用程序,用于将数据发送到不同地方。Spoke 的维护更完善,我计划让 Pastey 也达到同样的打磨水平。它们仍然是非常早期的“Hello World”原型。 另外,如果你想聊天,可以在 Spoke 上加我:fsjj2nvibhmztsw2w3klgkbjorqbze3qsi2tcwzbs5pepdigohiq.jolt ;)
2 分•作者: geekamongus•大约 2 个月前
我一直在用 Claude 重建老游戏。在创作一个现代版的《模拟大楼》(SimTower)时,电视里播放着选举新闻,我突然想到,与其围绕资本主义来构建游戏经济,不如围绕民主社会主义来构建。 你不再是房地产大亨,而是这座建筑的民选管家,对议会负责。住房分配实行等候名单制,会费根据收入滑动调整,同时你还要应对来自邻近资本主义房东的外部压力。 最核心的成就是吸引一笔巨额拨款,在你的摩天大楼顶层建立一个天文台,吸引科学家。要实现这一点,你必须确保居民有饭吃、有房住、身体健康、生活愉快。如果议会不信任你的能力,你就会被罢免。 这个想法有点可行,而且游戏中的潜在失败点也相当独特。我很想听听 HN(Hacker News)的看法。如果能基于这种不同的经济模式克隆一个完整的《模拟城市》(SimCity),那会很有趣。
2 分•作者: gste•大约 2 个月前
这个工具最初是为一个特定问题设计的图形工具:生成式人工智能可以制作复古风格的精灵图,但无法遵循像素和颜色的精确硬件限制。 在构建它的过程中,我喜欢可以根据任何复古游戏机或掌机的规格进行扩展的想法。 然后,我设计了自己的声明式语言——Demotic——以尽可能简洁自然地表达你想构建的游戏,而无需实现细节。为了在不同的机器上运行,你使用相对单位,如 vw、vh、vmin、vmax。 它有一个 Web UI、CLI 和 NPM 包。目前仍在开发中。