每日HackerNews RSS

## VibeFigma:Figma 到 React 组件转换器 VibeFigma 自动将 Figma 设计转换为可用于生产的 React 组件,并使用 Tailwind CSS。它直接集成 Figma API,准确提取设计数据并生成干净、易于维护的代码 – 无需安装! 只需在设置 Figma API token 为环境变量后,运行 `npx vibefigma [figma-url] --token YOUR_FIGMA_TOKEN`。你可以使用诸如指定组件和资源目录、禁用 Tailwind,或启用 AI 驱动的代码优化和清理(需要 Google AI API key)等选项来定制输出。 **主要特性:** * **Figma API 集成:** 准确的设计提取。 * **React/TypeScript 生成:** 将 Figma 画布转换为组件。 * **Tailwind CSS:** 自动生成类 (默认)。 * **定制化:** 控制输出路径,禁用 Tailwind,并优化代码。 * **REST API:** 包含用于转换的 REST API。 详细的使用说明和选项可通过 `npx vibefigma --help` 获取。欢迎贡献!

VibeFlow,一家YC S25创业公司,发布了一款开源工具,可以将Figma设计转换为可用的React + Tailwind代码。该工具旨在加速原型设计,它以Figma框架作为输入,生成可直接使用的前端组件和资源。 用户可以通过GitHub ([https://github.com/vibeflowing-inc](https://github.com/vibeflowing-inc)) 或他们的网页界面 ([https://app.vibeflow.ai/](https://app.vibeflow.ai/)) 尝试VibeFlow,无需任何设置。 有评论员指出,该工具似乎没有利用人工智能,而是自动化了类似于Figma“Dev Mode”的功能——后者不幸需要付费,使得VibeFlow有可能成为访问该功能的替代方案。开发者欢迎大家提问关于其工作原理。

经过八小时的调试,一位机器人工程师发现人行道机器人冻结的原因:由于代码与`rerun`可视化SDK之间意外的交互导致了死锁。机器人核心控制循环以100Hz的频率运行,但在通过WebRTC连接LiDAR流后16秒停止。 最初修复问题的尝试——调整线程模型和互斥锁——失败了。一个心跳线程显示循环并没有变慢,而是*被阻塞*,从而发现了`rerun`内部生成的错误Rayon工作线程。问题源于在持有互斥锁时调用`rerun.log()`,从而触发了Rayon工作窃取死锁。 解决方案很简单:减少互斥锁的持有时间。这位工程师学到了宝贵的经验:GDB对于死锁至关重要,日志不足以进行线程状态分析,并且依赖项可能会引入隐藏的线程复杂性。他们还提倡使用心跳线程来检测停滞的循环,并向`rerun`提交了一个PR来记录这个问题。

这个Hacker News讨论围绕一篇博客文章,详细描述了与机器人调试8小时的沮丧经历。核心问题是:机器人会莫名其妙地冻结,不会崩溃或报错,只是停止所有功能。 评论者讨论调试理念,一些人提倡首先使用调试器,而不是仅仅依赖打印语句——这通常是Windows C++和其他开发文化之间的差异。这个事件引发了关于安全关键系统需要细致代码审查的讨论,因为存在隐藏的假设。 进一步的讨论涉及现代软件的复杂性,渴望像Haskell这样强类型语言的安全性,以及对博客文章呈现方式的沮丧(特别是令人讨厌的图像翻转效果和感知到的AI生成内容)。最终,修复是一个简单的两行代码修改:减少锁保持的时间。

启用 JavaScript 和 Cookie 以继续。

黑客新闻 新 | 过去 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 微服务带来的益处,而非忙碌 (wolfoliver.medium.com) 7 分,WolfOliver 1小时前 | 隐藏 | 过去 | 收藏 | 讨论 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请YC | 联系 搜索:

## XY:一种连接性语言概要 XY 是一种连接性编程语言,源自 K 和 Joy,围绕两个核心数据结构构建:**栈 (X)**,用于存储计算数据,和 **队列 (Y)**,包含剩余指令。计算通过迭代地从队列中取出一个元素,并将其应用于栈和队列,生成两者的新版本来进行。 XY 使用 K 的数据类型和 20 个动词,提供双元和单元形式,以及 K 的副词和系统函数。它借鉴了 Joy 的一元运算符,但将其调整为同时操作栈和队列。 至关重要的是,XY 是“无栈的”——每次步骤都会传递当前延续。这使得像非终止递归这样的特性能够简单地通过将函数推回队列来定义。 关键的原始指令操作队列:`->`(跳转到),`=>`(追加到队列),`/`(前置到队列),以及 `` ` ``(列表/函数原子转换)。**模式**,定义在花括号 `{}` 内,允许对栈元素进行解构,并将代码注入到队列中。**洗牌符号**(例如 `abc--bca`)提供了一种简洁的模式定义语法。 XY 程序是惰性求值的列表,定义使用 `;` 符号创建。最近的修订版 (XY 0) 简化了语言,删除了模式并增强了洗牌符号。可以加载脚本以实现模块化,默认的 `xy.xy` 脚本提供核心模块。

黑客新闻 新 | 过去 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 串联语言XY (nsl.com) 8 分,by ofalkaed 1小时前 | 隐藏 | 过去 | 收藏 | 3 评论 jaberjaber23 18分钟前 | 下一个 [–] 有趣的K和J的混合。队列操作原语,如->和=>在J中没有等价物,让你可以在几行中实现call/cc。回复 wosined 19分钟前 | 上一个 | 下一个 [–] 有趣。但看起来像汇编语言,而且更复杂。回复 ofalkaed 1小时前 | 上一个 [–] 代码和各种版本的细节在主页上可用,奇怪的是主页并没有真正解释这种语言。http://www.nsl.com/k/xy/xy.htm 回复 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请YC | 联系 搜索:

启用 JavaScript 和 Cookie 以继续。

Hacker News 新闻 | 过去 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 语言可能不像以前认为的那么依赖复杂的语法:研究 (scitechdaily.com) 5 分,mikhael 1小时前 | 隐藏 | 过去 | 收藏 | 1 条评论 giardini 55分钟前 [–] 付费墙。无论如何,简短的答案是“不!”。关于语言的文献有很多,我很难相信任何提出的想法都是真正新的。例如,这些人是否将他们的想法与 Schank 的“概念依赖”理论进行了比较? 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请 YC | 联系 搜索:

罗兰·巴特提出的“刺点”(punctum)概念——照片中意想不到地抓住注意力并唤起情感的元素——在农场安全管理局(FSA)的“废弃底片”中得到了鲜明的体现。这些照片被罗伊·斯特赖克尔拒绝并打孔准备销毁,但具有讽刺意味的是,它们却得以幸存,并形成了独特的档案。 这些孔洞本身*成为*刺点,吸引着视线,并将图像的焦点从其原始主题转移到破坏造成的空缺上。这产生了一种引人入胜的张力:孔洞突出了照片的物质性和脆弱性,但当它们与图像中的人物相交时,又会让人感到一种本能的、令人不安的感觉。 尽管这些“废弃”照片被认为不适合作为记录,但它们却 paradoxically 获得了情感力量。它们不再侧重于再现现实,而是更多地关于引发一种直接的、动人的反应,这种奇特的效果源于它们被试图销毁。

黑客新闻 新的 | 过去的 | 评论 | 提问 | 展示 | 工作 | 提交 登录 《被保存者与被杀害者》(2022) (publicdomainreview.org) 9 分,由 nomagicbullet 1小时前发布 | 隐藏 | 过去的 | 收藏 | 1 条评论 Bengalilol 18分钟前 [–] 这让我好奇(尽管文章点出了我的观点),为什么斯特赖克尔没有销毁所有那些被冲孔的照片。 我甚至掉入了 loc.gov 的兔子洞(我还在那里)。回复 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请 YC | 联系 搜索:

首页订阅聊天活动发现个人资料创建全部收听付费已保存历史记录按优先级排序最近获取应用 此网站需要JavaScript才能正常运行。请开启JavaScript或解除脚本阻止。

黑客新闻 新 | 过去 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 面向胆小者的代理编排 (substack.com) 12 分,由 markferree 1小时前发布 | 隐藏 | 过去 | 收藏 | 讨论 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请YC | 联系 搜索:

这个网页是对互联网历史的一次混乱而怀旧的旅程,呈现为一个公共实验,用户可以与AI助手Claude互动,并让他们的信息公开展示。它是一个分层体验,模仿了网络从早期(ARPANET的“LO”,BBS系统,Geocities风格的带有访问计数器和MIDI音乐的主页)到Web 2.0(MySpace,社交分享)再到现代移动时代及更远的演变。 该网站充满了互动元素:一个回应用户问题的神谕生成器,一个复古的贪吃蛇游戏,一个SCP基金会风格的验证挑战,一个90年代主题区域,甚至一个“Widget Warlords”战斗竞技场。它故意混乱,融入了模因、流行文化参考以及损坏/未完成的功能。 最终,它对互联网的演变、其荒谬之处以及人工智能日益普及进行了一种有趣的评论,所有这些都包裹在一个具有自我意识且不断演变的包袱中。该网站甚至俏皮地承认了自身混乱的本质和最近的“出售”(实际上并没有涉及金钱)。鼓励用户通过向一个号码发送短信来添加他们自己的一段互联网历史到不断流动的的内容中。

Hacker News 新闻 | 过去 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 共享 Claude:一个由公众控制的网站 (sharedclaude.com) 11 分,由 reasonableklout 1 小时前发布 | 隐藏 | 过去 | 收藏 | 2 条评论 subdavis 24 分钟前 [–] 这已经是恶意软件了吗?我害怕打开它。回复 odo1242 13 分钟前 | 父评论 [–] 主要就是卡顿。回复 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请 YC | 联系 搜索:

组件、动作和验证函数。 ``` import { createCatalog } from '@json-render/core'; import { z } from 'zod'; export const catalog = createCatalog({ components: { Card: { props: z.object({ title: z.string(), description: z.string().nullable(), }), hasChildren: true, }, Metric: { props: z.object({ label: z.string(), valuePath: z.string(), format: z.enum(['currency', 'percent']), }), }, }, actions: { export: { params: z.object({ format: z.string() }) }, }, }); ```

## JSON-render:一种新的UI方法 Rickcarlino 分享了 **json-render.dev**,一个可以直接从 JSON 定义生成 UI 的工具。Hacker News 上的初步讨论强调了它作为开发者时间节省器的潜力,允许团队集中定义 UI 组件供产品开发者使用——这对于开发和原型设计都很有用。 然而,讨论很快扩展到更广泛的意义。Jauntywundrkind 认为这种 JSON 格式也可以被 AI *读取*,使 LLM 不仅能够生成 UI,还可以通过辅助功能 API 与 UI 交互并触发操作。 这引发了关于计算界面日益复杂的讨论——从 CLI 到 GUI,再到 Web 应用,以及现在由 JSON 定义的视图——以及执行方法的激增是否真正增加了价值,或者只是造成了不必要的碎片化。该工具可能为 LLM 提供了一种简化、直接的与应用程序交互的格式。

## Terraform 销毁资源可能很麻烦 使用 Terraform(或任何 IaC 工具)删除云资源通常比创建它们更复杂。云环境会引入许多潜在的障碍——资源可能启用了删除保护,与其他资源链接,或正在积极处理数据。 通常,这些“棘手的问题”最好通过云控制台进行一次性的手动操作处理。除非您的工作流程*需要*频繁销毁资源,否则通常不值得进行大量自动化。 但是,如果您反复遇到特定资源的删除问题,请考虑自动化解决方案——例如在删除前清空存储桶,或在非生产环境中禁用删除保护(避免在生产环境中执行此操作!)。 务必尽一切可能避免“误操作恢复灾难”(FRD)。 最终,资源删除应该不频繁且快速。 **(附:作者正在寻找 DevOps 播客嘉宾,并愿意讨论 S3、ClickOps 或 FRD。)**

一个 Hacker News 的讨论集中在在使用 Terraform (TF) 进行基础设施即代码时遇到的挫折感,尤其是在*销毁*资源时。一个主要痛点是 Terraform 依赖于单个配置文件,通常存储在它管理的*内部*,这给团队带来同步挑战。 用户质疑为什么云提供商不能为像 TF 这样的工具提供更好的 API,以便准确查询当前的基础设施状态。一位评论员澄清 Terraform *已经*通过 API 查询资源,暗示问题可能在于 API 质量,而不是 Terraform 本身存在根本缺陷。 对话强调了 Terraform 感知到的状态、实际的基础设施状态以及 Terraform 代码本身之间的脱节,导致人们担心不可预测的“apply”操作和潜在的基础设施中断。一个建议的解决方案是手动创建后端存储,而另一些人则认为现有方法过于复杂。

更多

联系我们 contact @ memedata.com