每日HackerNews RSS

《健身课》(Gym Class) 是一款在Meta Quest上评价极高的社交VR游戏(4.9星,7.9万+评价,数百万下载量),正在寻找创始设计工程师,负责领导其移动网页应用和VR体验内的网页界面的开发。 该职位负责端到端的工作:您将使用Figma将想法转化为精美的UI,然后使用React/Node/CSS构建响应式、可用于生产环境的功能。您将负责网页路线图,优先改进社交功能、个人资料等,同时保持高性能和可访问性标准。 理想的候选人拥有3-6年以上构建消费者级网页产品的经验,具备强大的设计和编码技能,并能提供展示这两方面的作品集。务实、创业精神以及对不确定性的适应能力是关键。 《健身课》获得了来自a16z和NBA等投资者的800万美元+的资金支持,并与NBA和MLB达成了授权协议,致力于通过沉浸式体验连接世界。该职位包括有竞争力的薪资、股权和福利。

黑客新闻 新 | 过去 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 第一位设计工程师 – 在 Gym Class 制作游戏 (YC W22) (ycombinator.com) 1 天前 | 隐藏 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请 YC | 联系 搜索:

欢迎来到风暴预警 点击下方“设置位置”开始使用 数据加载失败,请重试 预计无明显降水 预计无明显大风 显示您所在区域及周边地区的新闻 您所在区域的天气新闻将在此处显示 预计无天气影响 无需准备 - 条件正常 数据来自NWS & GDELT。非官方信息。请向当地政府核实。

## StormWatch:便捷的天气信息面板 一位开发者创建了“StormWatch”(jeisey.github.io),旨在整合风暴季节的天气信息,无需查看多个网站。这个移动设备友好的面板提供来自国家气象局(NWS)的实时警报和安全提示,雪/冰累积预报(包括风),根据当前警报量身定制的动态准备清单,以及家庭物资计算器。 该网站从NWS和GDELT API获取数据,并完全使用HTML构建,免费托管在GitHub Pages上。虽然因其简洁和实用性而受到称赞,但用户指出,由于GDELT在处理较小邮政编码时的限制,天气新闻部分有时会显示非英文结果。开发者正在通过网站白名单来解决这个问题。未来的更新可能包括“点击定位”功能,方便不确定自己邮政编码的用户。该项目是开源的,鼓励贡献和修改。

## jSciPy:一个Java SciPy实现 jSciPy是一个全面的Java库,旨在复制Python的SciPy的功能,用于在JVM和Android上进行科学计算和信号处理。它通过提供机器学习流水线中基本算法的高性能实现,填补了Java生态系统中的一个空白。 该库包括用于**信号处理**(滤波、窗口函数、卷积)、**变换**(FFT、希尔伯特变换、DCT)、**数学与分析**(ODE求解器、插值、多项式拟合)等的模块。主要功能包括高级滤波选项(巴特沃斯、切比雪夫等)、二维信号处理以及与SciPy兼容的API。 jSciPy通过其更广泛的功能集和与SciPy行为的一致性,在严格测试下实现了出色的精度(RMSE为10^-16或更低),从而使其与其他Java库(如Commons Math和JDSP)区分开来。 该库通过JitPack提供,并欢迎贡献,特别是在性能基准测试、功能扩展和文档方面。 还有一个演示Android应用程序可供参考。

Hacker News 新闻 | 过去 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 展示 HN: JSciPy – 受 SciPy 启发的 Java 和 Android 信号处理库 (github.com/hissain) 8 分,来自 hissain 1 天前 | 隐藏 | 过去 | 收藏 | 1 条评论 JSciPy 是一个开源的 Java 信号处理和科学计算库,灵感来自 SciPy。它专注于 FFT、滤波器、PSD、STFT、DCT 和 Android 兼容性,旨在填补 JVM 和 Android 上 DSP 密集型工作负载的空白。 kernal 1 天前 [–] 非常棒。感谢您的贡献。回复 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请 YC | 联系 搜索:

## Bluesky 评论现已上线! 这篇博客现在配备了由 Bluesky 提供支持的评论区!作者之前一直避免使用评论区,因为维护动态服务需要付出很多精力。然而,受到 Cory Zue 的工作启发,他们直接将 Bluesky 回复嵌入到博客文章中,利用 Bluesky 的基础设施进行托管、审核和帐户验证。 作者选择 Bluesky 而不是 Twitter、Disqus 或 GitHub Discussions 等替代方案,是因为它具有开放、去中心化的特性(基于 AT Proto 构建),并且非常适合作为专门的社交平台。虽然最初计划允许从该网站发布内容,但构建完整的 Bluesky 客户端的复杂性导致了更简单、只读的实现方式。 该系统通过将每篇文章链接到特定的 Bluesky 帖子,并使用 Bluesky API 和 `react-query` 库获取/显示回复来工作。该实现大约 200 行代码,优先考虑简单性,仅提取回复中的文本内容,并使用基本的缩进进行线程显示。 如果感兴趣的人足够多,作者可能会考虑将他们的代码发布为软件包,但他们认为该实现的简单性使其易于复制。他们鼓励读者直接在 Bluesky 上继续讨论。

## Bluesky评论在博客上的应用:总结 Micah Cantor在他的博客上添加了一个Bluesky评论区,引发了Hacker News上关于静态网站评论系统替代方案的讨论。 许多用户分享了他们自己的方法,强调了对控制权的渴望以及避免依赖中心化平台的需求。 一种流行的做法是通过电子邮件或其他方式接受评论,手动审查垃圾邮件,然后将它们作为内容文件添加到网站的源代码中。 这确保了对评论的完全控制,并消除了供应商锁定。 其他人则利用Giscus(与GitHub Discussions结合)或利用Cloudflare Workers和静态站点生成器的自定义解决方案。 人们对审核提出了担忧,特别是关于欧盟反仇恨言论法律以及潜在的垃圾邮件问题。 讨论的解决方案包括利用Bluesky的审核功能(隐藏回复)和实施自定义标签。 对话还涉及了易用性(如Disqus)和自托管之间的权衡,一些人提倡使用去中心化协议,如ATProto(Bluesky)和Nostr。 最终,理想的解决方案取决于个人需求和技术专长。

## 邮箱地址变更及对人工智能训练的担忧 请将我的主要邮箱地址更新为已移除,替换我之前的@gmail.com地址。我会尽量查看旧账户,但无法保证。 此次变更源于我对谷歌将人工智能整合到Gmail中的日益不安。虽然我早期就采用了大型语言模型,但我开始担心谷歌使用我的邮件内容来训练模型——特别是机密信息泄露和真实沟通被侵蚀的风险。 我珍视阅读朋友们精心撰写的邮件,这是快速短信或现在无法禁用的AI摘要所无法比拟的。最近,Gmail开始提示我“分享”邮件给谷歌,明确表示这些邮件*可能*会被人工审核用于模型训练。 我正在转向微软的邮件托管服务,希望获得更多隐私,ProtonMail 也是一个潜在的未来选择。我感谢多年来使用Gmail的时光,但我不愿意贡献我的个人写作风格和数据来进一步发展人工智能。

## 再见Gmail:数据训练的转变 最近一篇Hacker News上的讨论,由一位用户(“tklenke”)放弃Gmail引发,凸显了人们对谷歌利用电子邮件内容训练其人工智能模型的担忧。这位作者是一位长期Gmail用户,对强制的人工智能摘要以及要求共享数据以供人工审查的提示感到不安——本质上,允许谷歌利用个人和机密信息进行LLM训练。 虽然作者承认谷歌过去曾将电子邮件用于定向广告,但他们认为训练人工智能模型是更进一步。他们已迁移至微软作为临时解决方案,ProtonMail则作为潜在的长期替代方案。 对话强调了拥有自己的域名以实现电子邮件独立的重要性,Fastmail、Migadu和Purelymail等服务经常被推荐。许多评论者分享了成功的迁移故事,强调了迁移过程出乎意料的简单以及控制权的益处。 也有一些用户指出禁用“智能功能”并使用独立电子邮件客户端以获得更好的隐私和组织管理的重要性。 最终,这场讨论反映了人们对个人数据控制权的渴望,以及对大型科技公司数据实践的“学会接受”心态的拒绝。

## Rust 闭包:深入解析 本总结深入探讨 Rust 闭包,超越对其语法的基本理解(类似于函数,但具有类型推断——例如 `|x| x * 2`)。 关键区别在于闭包能够*捕获*其周围环境中的变量。 变量可以通过共享引用(只读)、可变引用(允许修改)或值(获取所有权)来捕获。 使用 `move` 强制按值捕获。 闭包捕获方式会影响其生命周期以及它所实现的 trait:`FnOnce`(只能调用一次,移动捕获的值)、`FnMut`(可以多次调用,可变访问)和 `Fn`(可以多次调用,不可变访问)。 理解这些捕获机制至关重要,尤其是在处理线程(其中通常需要 `move` 以避免借用检查器错误)或创建返回闭包的函数时。 文章深入研究了闭包的去糖过程,揭示了它们如何使用结构体和 trait 对象实现,展示了 `FnOnce`、`FnMut` 和 `Fn` 的底层机制。 更多深入探索的资源包括 Rust Book、Rust Reference 以及 Baby Steps 博客和 Rust Unstable Book 上的文章。 计划发布一篇关于异步闭包的后续文章。

## Rust 闭包:总结 这次 Hacker News 的讨论集中在 Rust 闭包的复杂性上。虽然功能强大,但闭包可能难以掌握,尤其是在它们的泛型特性和生命周期管理方面。 一个关键点是无法直接创建泛型闭包(例如,`fn foo(f: impl for<T: ToString> Fn(T))`)。解决方法包括定义 trait 和结构体,牺牲了内联可读性。`FnOnce`、`FnMut` 和 `Fn` trait,分别规定了捕获行为(按值、可变引用或共享引用),也增加了复杂性。记住它们的优先级(FnOnce > FnMut > Fn)可能很棘手。 进一步的复杂性来自于 `libffi` 包装器,可能导致不安全的代码,因为与 C 代码交互时会发生生命周期泄漏。异步闭包以及对 `dyn AsyncFnMut` 的需求也带来了障碍。 最终,讨论强调了 Rust 的闭包系统虽然健壮,但由于其对内存安全(*没有*垃圾回收)的承诺而变得复杂,探索了传统函数式语言很少涉足的领域。理解借用检查器对于掌握闭包至关重要,但即使如此,它们仍然代表了编译器工程的重大成就。

## 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代码。该工具旨在通过自动化视觉设计到功能性前端组件的转换过程来加速原型设计。用户可以在本地或通过VibeFlow UI ([https://app.vibeflow.ai/](https://app.vibeflow.ai/)) 试用。 Hacker News上的讨论强调了Penpot等现有替代方案,但指出VibeFlow可以作为Figma付费“Dev Mode”(也提供组件/样式提取)的替代方案。该项目最初是作为内部实验构建的,其创建者愿意根据社区反馈,将其从当前专有许可协议(FSL-1.1-MIT)重新许可为更宽松的开源许可协议,例如AGPLv3。一些评论员对这类工具的可行性表示怀疑,引用了过去的失败案例以及小型项目手动实现简单的事实。

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

启用 JavaScript 和 Cookie 以继续。

## 微服务:优势与复杂性(摘要) 这次Hacker News讨论的中心是微服务架构的优缺点。虽然最初很有前景,但许多评论者对它们的广泛采用表示怀疑。一个核心问题是**缺乏跨服务的事务一致性**,导致潜在的数据不一致和复杂的调试。 几个要点浮出水面:微服务在最小化变更成本*和*实现独立部署时表现出色——对于大型团队来说尤其有价值。然而,它们很容易演变成**“分布式单体”**,因为不可避免地会出现跨领域的关注点和依赖关系。 **AI/LLM** 的兴起也备受争议,一些人认为它们将*强化*对微服务的需求以管理复杂性,而另一些人则认为AI加速开发的潜力可能有利于单体架构。最终,讨论强调微服务是一种**组织上的便利**,而不是纯粹的技术解决方案,最适合特定的、通常是更大规模的问题。许多人认为,一个管理良好的单体通常优于一个实施糟糕的微服务架构。

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

更多

联系我们 contact @ memedata.com