93 分•作者: imalerba•9 天前
返回首页
最新
2 分•作者: MarcelOlsz•9 天前
我用苹果键盘打字速度是每分钟160个单词[0]。这绝对是我最喜欢的键盘,但我更想要一个带有巧克力键和内置鼠标的人体工学键盘。我看了看cybord imprint [1]和kinesis advantage 360 [2],但kinesis尽管好评如潮,却没有鼠标,而且对我来说太贵了,虽然它是无线的,imprint也是一样。我的目标是用扎带把它固定在我的Herman Miller Aeron扶手上,这样我就不用移动手臂了,而且我可以转动身子去看我的其他显示器,而不用费力地扭头。有没有什么开箱即用的解决方案可以直接订购,不需要焊接和组装?似乎很少。
[0] https://www.apple.com/ca/shop/product/mxk83ll/a/magic-keyboard-with-touch-id-and-numeric-keypad-for-mac-models-with-apple-silicon-usb%E2%80%91c-us-english-black-keys
[1] https://cyboard.digital/products/imprint
[2] https://kinesis-ergo.com/keyboards/advantage360/
4 分•作者: gorfian_robot•9 天前
今天又看到了 ICElist 被提及,所以我想再次尝试访问它(最初因为流量过大而无法访问)。
它是一个 Mediawiki 站点(太棒了!)。但我想看看它包含哪些实际信息,以及我如何从远处做出贡献。
我从 Agent 页面开始。在我写这篇文章的时候,维基上有 1574 个 Agent,我随机选择了大约十几个点击。每一个页面都什么都没有,只有一个指向该人 LinkedIn 个人资料的链接,他们大概在那里自我介绍。好吧,但这没什么意思。许多 Agent 确实有不寻常的名字,这有助于在网上挖掘更多细节。
Incidents 页面更有趣。有 377 个 Incident,其中包含合理的细节和描述。这绝对是一件好事,因为它们很容易被遗忘/忽略。
Unidentified 页面也有些意思,因为它们包含大约 50 个身份不明 Agent 的照片,但关于 Incident 甚至位置的信息并不完整。有些甚至不清楚是 Agent,这让我完全质疑一些提交内容。
Vehicles 可能是数据最完整的页面,有 1142 辆带有车牌号的车辆。用在 Incidents 中观察到的车牌更新 ICElist 是一种低风险的方式,可以提供有价值的信息。特别是如果 ICE 正在进行非法更换车牌的行为。
Boycott 部分也很有趣,因为它包含了关于各种公司如何支持 ICE 的具体信息。虽然个人很难通过抵制产生影响,甚至很难记住所有那些混蛋公司,但在你即将签订商业协议时,检查一下是有用的。
还有其他人浏览过该网站并有一些想法吗?
20 分•作者: swolpers•9 天前
21 分•作者: prasoonds•9 天前
大家好,HN,
stripe-no-webhooks 是一个开源库,可以将您的 Stripe 支付数据同步到您自己的 Postgres 数据库:
<<a href="https://github.com/pretzelai/stripe-no-webhooks" rel="nofollow">https://github.com/pretzelai/stripe-no-webhooks</a>>
这里有一个演示视频:<<a href="https://youtu.be/cyEgW7wElcs" rel="nofollow">https://youtu.be/cyEgW7wElcs</a>>
它会在您的 Stripe 账户中创建一个 webhook 端点,将 webhook 转发到您的后端,在那里一个 webhook 监听器将所有数据存储到一个新的 <i>stripe.*</i> 模式中。您在 TypeScript 中定义您的套餐,运行一个同步命令,该库会负责创建 Stripe 产品和价格、处理 webhook,并保持您的数据库同步。我们还允许您为现有账户回填您的 Stripe 数据。
它支持预付费使用额度、账户钱包和基于用量的计费。它还允许您生成一个可以自定义的定价表组件。您可以使用该库提供的简单 API 访问用户信息:
```
billing.subscriptions.get({ userId });
billing.credits.consume({ userId, key: "api_calls", amount: 1 });
billing.usage.record({ userId, key: "ai_model_tokens_input", amount: 4726 });
```
实际上,如果您不想,您不必再处理 Stripe 仪表板或 Stripe API/SDK。该库为您提供了 Stripe 之上的一个很好的抽象,应该涵盖 ~ 大多数订阅支付用例。
让我们通过一个快速的例子来看看它是如何工作的。假设您有一个像 Cursor(IDE)过去那样的计费套餐:每月 20 美元,您获得 500 次 API 完成 + 2000 次标签完成,您可以购买额外的 API 额度,任何额外的使用量都将作为超额费用计费。
您在 TypeScript 中定义您的套餐:
```
{
name: "Pro",
description: "Cursor Pro plan",
price: [{ amount: 2000, currency: "usd", interval: "month" }],
features: {
api_completion: {
pricePerCredit: 1, // 每单位 1 美分
trackUsage: true, // 启用用量计费
credits: { allocation: 500 },
displayName: "API Completions",
},
tab_completion: {
credits: { allocation: 2000 },
displayName: "Tab Completions",
},
},
}
```
然后在 CLI 上,您运行 `init` 命令,该命令会创建数据库表 + 一些 API 处理程序。运行 `sync` 将套餐同步到您的 Stripe 账户并创建一个 webhook 端点。当创建订阅时,该库会自动向用户授予 500 个 API 完成额度和 2000 个标签完成额度。续订和升级/降级都得到妥善处理。
消耗代码如下所示:
```
await billing.credits.consume({
userId: user.id,
key: "api_completion",
amount: 1,
});
```
如果他们想允许用户手动充值:
```
await billing.credits.topUp({
userId: user.id,
key: "api_completion",
amount: 500, // 购买 500 额度,收费 5.00 美元
});
```
类似地,我们有用于钱包和用量的 API。
如果您自己基于 Stripe 实现这些,这将需要大量工作。您需要在您自己的数据库中跟踪所有这些权利,并处理续订、过期、临时授权等。这绝对是可行的,尤其是在 AI 编码的帮助下,但您最终可能会构建一些脆弱且难以维护的东西。
这只是该库功能的概览。它还支持席位级额度、货币钱包(精确到微美分)、自动充值、强大的故障恢复、税务收集、发票以及开箱即用的定价表。
我为测试编写了一个小型的玩具应用程序:<<a href="https://snw-test.vercel.app" rel="nofollow">https://snw-test.vercel.app</a>>
没有验证,所以请随意使用虚拟电子邮件注册,然后使用测试卡订阅套餐:4242 4242 4242 4242,任何未来的过期日期,任何 3 位数的 CVV。
截图:<<a href="https://imgur.com/a/demo-screenshot-Rh6Ucqx" rel="nofollow">https://imgur.com/a/demo-screenshot-Rh6Ucqx</a>>
请随意试用!如果您最终使用此库,请在存储库上报告任何错误。如果您遇到问题 / 想聊天,我很乐意提供帮助 - 我的联系方式在我的 HN 个人资料中。
1 分•作者: Siddartha_19•9 天前
大家好!
我正在为我的项目寻找一些优秀的 Python 股票+AI 包。我尝试了多个开源 Python 包,目前发现 investormate 比较可靠。它并非要取代 yFinance 等底层数据提供商,而是位于其之上的一层,专注于将市场和财务数据转化为可用于分析的对象。
我需要的功能包括:
* 标准化的损益表、资产负债表和现金流量数据
* 60 多个技术指标(RSI、MACD、布林带等)
* 自动计算的财务比率(市盈率、净资产收益率、利润率、杠杆率)
* 股票筛选(价值、增长、股息、自定义筛选器)
* 投资组合指标(回报率、波动率、夏普比率)
* 情绪分析
* 回测
* AI 层(OpenAI / Claude / Gemini)
目前尝试过的包有 defectbeta-api、yfinance 和 investormate。
到目前为止,investormate 看起来很有前景,我欢迎任何更好的建议。
1 分•作者: pbrowne011•9 天前
1 分•作者: surprisetalk•9 天前
1 分•作者: surprisetalk•9 天前
1 分•作者: MDWolinski•9 天前
1 分•作者: ddxv•9 天前
1 分•作者: riemannzeta•9 天前
1 分•作者: riemannzeta•9 天前
1 分•作者: begemotz•9 天前
1 分•作者: pigless72•9 天前
大家好,我是 HN 用户——我搭建了 xmrcheckout,这是一个开源、可自托管的结账 UI + API,用于接受门罗币 (XMR) 支付,资金直接从客户转移到商户自己的钱包。
它的功能包括:
* 创建发票(以 XMR 计价),托管公共发票页面,并显示支付说明(地址 + 金额 + 二维码)。
* 监控链上交易,以检测收到的付款并更新发票状态。
* 提供 API + 可选的 Webhook,以便您可以将其集成到现有的订单流程中。
信任模型:
* 不涉及私钥(它从不请求或存储私钥)。
* 不进行交易签名,没有自动转账功能。
* 仅具有查看权限的钱包访问(钱包地址 + 私有查看密钥)。
技术栈 + 部署:
* UI:Next.js
* API:Python
* Postgres
* 使用 monerod + monero-wallet-rpc 进行链上监控
* 可选的 nginx/TLS,通过 Docker Compose 实现
代码库 + 截图:[https://github.com/xmrcheckout/xmrcheckout](https://github.com/xmrcheckout/xmrcheckout)
15 分•作者: ecto•9 天前
51 分•作者: vinhnx•9 天前
27 分•作者: mci•9 天前
6 分•作者: item007•9 天前
大家好,我是来探讨一个想法的,很希望得到你们的反馈。<p>我是一个 Obsidian 的开发者和用户,正在验证一个名为“Concerns”的概念。目前它只是一个登陆页面和一份简短的调查(还没有产品),用于测试这个痛点是否真实存在。<p>核心理念(2-3点):<p>- 我们许多人会收集大量有用的信息(笔记/链接/文档),但这些信息很少能转化为实际成果。<p>- 我没有去改进“组织”(标签/文件夹),而是在探索一个“行动引擎”,它能:<p><pre><code> 1. 检测你当前的目标/正在进行的工作(“活跃项目”)
2. 在适当的时候呈现相关的已保存资料
3. 提出具体的下一步行动(最好是推送到你现有的任务工具中)
</code></pre>
我自己的“第二大脑”已经变成了一个充满良好愿望的墓地:组织带来的负担远大于我得到的回报。我正在尝试验证真正的瓶颈是执行,而不是收集。<p>在编写代码之前,我试图确定两件事:<p>- 项目上下文信号(代码库/PR?问题?任务?日历?一个“项目文档”?)<p>- 如何闭环:摄取知识 → 根据活跃项目进行排序 → 产生一小部分下一步行动到现有的待办事项工具中 → 从结果中学习(已完成/已忽略/已编辑),并选择性地写回最小状态。开放的问题是:在不产生噪音或隐私风险的情况下,什么是最好的反馈信号?(明确的评级 vs 完成事件 vs 基于文档的回写)<p>我希望你们能回答以下问题:<p>1. 你的“第二大脑”在哪里最容易崩溃?<p>收集 / 组织 / 检索 / 执行
(如果可以,请分享一个最近的具体例子。)<p>2. 如今,什么最能代表你的“活跃项目上下文”?<p><pre><code> 任务项目 (Todoist/Things/Reminders)
问题/看板 (GitHub/Linear/Jira)
文档/维基页面 (Notion/Docs)
日历
“在我的脑海里”
</code></pre>
你实际上会允许一个工具读取哪一个?<p>3. 对于一个从你的笔记/链接中建议行动的 AI,你坚决拒绝的是什么?(选择1-2项)<p><pre><code> 隐私/数据保留
嘈杂的建议/打扰
幻觉/错误的建议
工作流程改变/迁移成本
定价
其他</code></pre>
3 分•作者: chrismoos•9 天前
大家好,
我在寒假期间花了一些时间,构建了这个 Apple II 模拟器。我之前做过一个 C64 的模拟器,但不知怎么地,我接触到了 Apple II,并决定把它作为一个有趣的的项目。
我花了很多时间在 Disk II 的实现上——它涉及很多东西,因为软件可以直接控制控制器固件通常会做的事情。处理复制保护方案以及围绕它的所有时序问题,确实带来了一些挑战。
有一个 WASM 版本可以在网上试用,请去看看吧!
[https://emu.chrismoos.com/](https://emu.chrismoos.com/)