返回首页
最新
我的朋友们都是漫画迷,我想为他们的生日制作一些酷炫的东西——一种创意十足的方式,让他们能够轻松制作漫画风格的场景。这就是我创建Mangii应用的原因。
我使用了OpenAI的新图像生成技术,但仅仅写一个提示并不能很好地实现我的想法。我进行了大量实验,才找到了合适的漫画风格。
最终,我把它变成了一个小应用,始终保持漫画风格,并允许你尝试不同的创意。
虽然还处于早期阶段,但玩起来很有趣。欢迎任何反馈!
嗨,HN,
我开发了一个名为<i>Tuisic</i>的基于终端的在线音乐播放器。
这可能是同类产品中的第一个——一个极简的命令行应用程序,您可以在不使用浏览器的情况下搜索、流式播放和下载来自多个在线平台的音乐。没有广告,没有干扰。
+ 功能:
- 支持YouTube、SoundCloud、JioSaavn、Last.fm、ForestFM(YouTube Music即将上线)
- 使用FTXUI构建的简洁终端界面
- 类似Vim的控制和快捷键
- 收藏列表、方便分享和下载
- 可选的MPRIS(DBus)支持,用于`playerctl`、媒体按键等
- 轻量级,不依赖Electron或图形用户界面
此外,还有一个基本的“守护进程模式”(按`w`键)可以让它在后台运行。
+ GitHub:
<a href="https://github.com/Dark-Kernel/tuisic">https://github.com/Dark-Kernel/tuisic</a>
+ AUR包:`tuisic-git`
非常希望能收到反馈或测试,尤其是来自命令行爱好者和Linux用户的意见。
欢迎贡献——如果您能帮助实现Apple Music或Spotify的支持,那就更好了 :)
– Sumit Patel (Dark-Kernel)
当我终于鼓起勇气开始我计划已久的独自旅行,拖着行李走出车站的那一刻,我的心情既兴奋又忐忑。陌生的城市,陌生的面孔,一切都充满了未知,这种感觉既令人兴奋又让人不安。
根据指南找到预订的民宿,房东是一位热情的姐姐,我们一见面,她就拉着我不停聊天,给我推荐当地的美食和值得游玩的景点。放下行李稍作休息后,我决定先去尝试一下著名的小吃店。沿着导航在小巷中穿行,终于看到了那家店。小店里挤满了人,我费了好大劲才找到一个空位。点了一份招牌小吃,刚入口时,味蕾瞬间被惊艳,独特的风味在舌尖上扩散,之前一路奔波的疲惫似乎都被一扫而空。
晚餐后,我漫无目的地在街头游荡。经过一家二手书店,我被橱窗里一本泛黄的诗集吸引。推开门,店内弥漫着淡淡的书香和木质家具的气息。店主是一位戴眼镜的老者,正坐在角落的藤椅上看书。我慢慢在书架间挑选,叔叔时不时抬头看我,偶尔低声说“那本书很有趣”。最后我选择了一位小众作家的散文集,坐在窗边静静阅读。阳光透过玻璃洒在书页上,周围唯一的声音是翻页的沙沙声,瞬间感受到一种非凡的内心宁静。
傍晚,我走到城市的河边。落日把天空染成橙红色,映照在河面上,闪烁着光芒。沿河散步的人不少,还有几个孩子在放风筝。我找了个长椅坐下,望着眼前的美景,思绪飘得很远。我拿出手机想和朋友分享这一刻,但又放下了,心想这种时刻,独自享受也别有一番风味。
夜幕降临,城市的灯光渐渐亮起。我跟着人群走进夜市,各种香味扑鼻而来。烤串的声音、摊贩的叫卖声和人们的笑声交织在一起,热闹非凡。我在摊位间穿梭,买了一份凉拌面和一杯新鲜榨汁,边走边吃。经过一位街头歌手的表演场地,我停下来听了几首歌,和人群一起鼓掌欢呼,感受着夜晚城市的活力。
回到民宿时,我已经有些疲惫,但心里却感到满足。这一天,我并没有刻意赶往观光景点,而是随意地探索这座城市,遇到了许多热情的人,品尝了美味的食物,欣赏了美丽的风景。原来,独自旅行的日常也可以充满惊喜和感动,这些平凡却特别的瞬间将成为我珍贵的回忆。
嗨,HN,
我开发了一个简单的命令行工具,可以快速将YouTube视频转录为干净、易读的文本。它使用OpenAI的Whisper进行转录,并利用您选择的语言模型智能地清理转录内容,去除填充词、纠正语法并提高可读性。
一些亮点包括:
* 自动直接从YouTube下载音频。
* 支持多种输出格式(TXT、SRT、VTT)。
* 针对演示、对话等场景的语言模型驱动的转录清理。
* 简单的设置和直观的命令行使用。
我开发这个工具的主要动机是,我的阅读速度快于听力,而且我通常只对(较长)视频中的某个短片段感兴趣,因此直接在转录中使用cmd-F跳转到该部分会更方便。
欢迎反馈!
嗨,Hacker News,
我很高兴地向大家介绍 passkey-go,这是我开发的一个新的 Go 库,旨在使在 Go 应用程序中实现服务器端 WebAuthn(Passkey)验证变得更加简单和稳健。
尽管 WebAuthn 提供了强大的防钓鱼认证,但其规范在服务器端正确实现起来可能相当复杂。我创建 passkey-go 的目标是抽象出底层的解析和加密细节,提供一个高层次、易于使用的 API 来处理常见任务,同时也为更高级的逐步验证提供灵活性。
以下是 passkey-go 的一些特点:
- **轻松验证**:VerifyAssertion 函数提供一个高层次的调用来验证认证响应,自动处理所有的加密检查、来源验证和签名计数验证。
- **灵活注册**:在注册过程中,该库提供清晰的顺序步骤来解析证明对象、提取身份验证器数据,并将 COSE 密钥转换为 *ecdsa.PublicKey 以便存储。
- **细粒度控制**:如果您需要更多控制,可以使用 ParseAssertion、ParseClientDataJSON、VerifyAssertionSignature 和 CheckSignCount 函数逐步执行验证。
- **安全设计**:它专注于正确处理核心验证逻辑,确保签名验证、挑战匹配,并通过签名计数检查防止重放攻击。
- **清晰的错误处理**:PasskeyError 类型帮助您将常见的 WebAuthn 相关问题直接映射到适当的 HTTP 状态,简化 API 错误响应。
- **简约设计**:passkey-go 仅关注 WebAuthn 验证逻辑。它不限制您如何存储挑战或凭证,给予您对用户和数据管理的完全控制。
- **ES256 支持**:遵循 WebAuthn 的推荐,专门支持 ES256(ECDSA w/ SHA-256)以确保强大的安全性。
- **Go 习惯用法**:为 Go 开发者设计,提供清晰的函数签名和标准错误处理。
这个库处理了 WebAuthn 验证中的复杂部分,让您能够快速集成安全的 Passkey 认证,而无需被规范的复杂性所困扰。
您可以在这里找到代码库和更详细的使用示例: [https://github.com/aethiopicuschan/passkey-go](https://github.com/aethiopicuschan/passkey-go)
我期待听到您的想法、反馈以及对未来改进的建议。欢迎在 GitHub 上提出问题或拉取请求!
感谢您的关注!