我开发了一个小型的 Rust 命令行游戏,名为 GitType。<p>它是一个打字练习工具,可以将 <i>你自己的 Git 仓库</i> 中的代码转化为打字材料。
与随机单词不同,你将通过自己编写的真实函数、注释和代码进行打字练习,这使得练习更贴近真实的编程环境。<p>功能:
- 直接在终端中运行(无需图形用户界面)
- 从任何本地 Git 仓库提取文本
- 跟踪每分钟打字字数(WPM)和准确率
- 保留你过去练习的历史记录(以便你可以看到随时间的进步)
- 根据你的得分提供有趣的排名称号<p>源代码和安装说明: <a href="https://github.com/unhappychoice/gittype" rel="nofollow">https://github.com/unhappychoice/gittype</a><p>希望能收到其他开发者的反馈,特别是关于评分系统和新模式的想法。 :)
返回首页
一周热榜
FUGC是Fil-C的垃圾回收器,Fil-C是一个用于内存安全的C/C++语言扩展,之前的帖子介绍了Fil-C。在这篇文章中,我们将简要介绍FUGC。
非停止、并发、主要并行
FUGC(Fil统一垃圾回收器)是一个非停止、并发且主要并行的垃圾回收器。这意味着程序(通常称为变异器)在进行垃圾回收的同时仍然继续执行,仅会有最小的暂停。通过将垃圾回收工作与正常程序执行重叠,FUGC避免了传统垃圾回收器常见的长时间暂停世界的中断,而GC线程之间的并行性则帮助其高效回收内存。
https://www.gizvault.com/archives/understand-the-gc-in-fil-c
嗨,HN,
我正在开发AfriTales,这是一款基于Flutter的移动应用,旨在将非洲民间故事转化为现代叙述的剧集,配备适合儿童和成人的友好用户界面。故事涵盖了北非、南非、西非和东非。我把它看作是一个数字化的“围炉夜话”。
为什么选择AfriTales:
文化相关性:目前在非洲、侨民以及对非洲故事感兴趣的人群中,缺乏富有文化内涵的音频原生讲故事应用。
现代影响:现代化的用户界面使得应用显得优雅且富有情感共鸣。
通过结构提高用户留存:每集故事较短(2-5分钟),并为付费用户提供系列故事。
MVP功能包括:
一个启动页面([https://afritales.org](https://afritales.org)),用于早期互动和候补名单注册。目前我已经收集了超过100个故事。得益于谷歌的Gemma 3 270M,用户可以为故事添加自己的创意。
免费增值模式:每天提供3个免费故事,此外还有无限访问的付费订阅。
强大的Flutter结构:集成了文本转语音(TTS)功能,并提供上下文图片。
我计划从加纳开始,然后再扩展,非常希望能得到这个社区的反馈:
您(或您的孩子)会使用一款与地区文化紧密相关的音频讲故事应用吗?
对于提高用户留存率或吸引长期用户的内容格式,您有什么建议?
谢谢!
我编写了一个小型本地工具,用于转录音频笔记(Whisper/Parakeet)。代码链接:<a href="https://github.com/bilawalriaz/lazy-notes" rel="nofollow">https://github.com/bilawalriaz/lazy-notes</a>
我希望在本地处理原始转录,而不使用OpenRouter。Llama 3.2 3B在给定提示的情况下表现尚可,但不够完整,因此我尝试了SFT(自监督微调)。我对Llama 3.2 3B进行了微调,以清理/分析听写内容,并输出结构化的JSON(标题、标签、实体、日期、动作)。
数据:13个真实备忘录 → Kimi K2金标准JSON → 约40,000个合成+金标准;键已标准化。Chutes.ai(每天5,000个请求)。
训练:使用RTX 4090 24GB,约4小时,LoRA(r=128,α=128,dropout=0.05),最大序列长度2048,批量大小16,学习率5e-5,余弦调度,Unsloth。在2070 Super 8GB上大约需要8小时。
推理:合并为GGUF格式,使用Q4_K_M(llama.cpp),在LM Studio中运行。
评估(100个样本,使用GLM 4.5 FP8评分):总体得分5.35(基础3B)→ 8.55(微调后);完整性4.12 → 7.62;事实性5.24 → 8.57。
对比测试(10个样本):约8.40对比Hermes-70B的8.18、Mistral-Small-24B的7.90、Gemma-3-12B的7.76、Qwen3-14B的7.62。教师Kimi K2约为8.82。
原因:任务专门化 + JSON标准化减少了方差;模型学习了确切的结构/字段。
经验教训:仅在完成任务上进行训练;合成数据适合狭窄任务;Llama的训练过程相对简单。
数据集管道 + 训练脚本 + 评估:<a href="https://github.com/bilawalriaz/local-notes-transcribe-llm" rel="nofollow">https://github.com/bilawalriaz/local-notes-transcribe-llm</a>
构建了QueryWeaver,这是一个开源的文本转SQL工具,利用图形在现有数据库之上创建语义层。当你询问“请展示在过去Y段时间内在某个‘区域’购买了产品X的客户”时,它能够知道该连接哪些表以及如何连接。当你接着问“只要来自欧洲的客户”时,它会记住你之前的对话内容。
我们没有向模型提供表和列的列表,而是提供了一个图形,能够理解什么是客户、客户如何与订单关联、哪些产品属于某个活动,以及在你的业务上下文中“活跃用户”究竟意味着什么。
我们使用FalkorDB来处理图形部分,因为它在关系映射方面表现得比将表模式塞入提示中更好。Graphiti能够跟踪对话,因此后续提问能够有效进行。
最后说明:你的数据保留在你的数据库中。我们从现有的模式中读取数据,绝不迁移数据。生成的标准SQL输出可以在任何地方运行。我们构建了一个MCP,你可以生成API密钥来试用。请告诉我们它的使用效果如何!
在过去几个月里,我认识的大多数工程师都从Cursor转向了基于命令行界面的代理(主要是Claude Code)。我个人非常喜欢任何基于命令行的工具,但我惊讶地发现,几乎从不打开终端的开发者们,如今却在一夜之间成为了Claude Code和终端的重度用户。
从技术上讲,代理在终端运行并不是绝对必要的——在Cursor聊天中运行的代理可以将终端作为工具使用,并且可以说其用户界面更为友好。通常从命令行工具中获得的价值(如输入输出的管道、可组合性)并不适用于这些代理的使用方式。
我的理论有两个方面。首先,使用像Claude Code这样的命令行代理可以获得更好的价值,因为你不需要向像Cursor这样的集成开发环境支付“过路费”。其次,Claude Code中有一些强大的功能,比如“计划模式”,如果没有控制用户体验,Anthropic是无法实现这些功能的。但我很想听听其他人的看法,以及基于命令行的代理是否会长期存在。
今天我发布了关于我正在进行的一个人工智能创业项目的消息——没有薪水,处于非常早期的阶段,“出于热情而构建”。许多人联系了我,但几乎所有人都来自旧金山湾区。西雅图没有一个人联系我。
这让我思考:为什么西雅图的科技文化似乎更倾向于W2(工资)/RSU(限制性股票单位)/稳定性,而湾区则更倾向于冒险和可能性?
这只是我的个人经历,还是其他人也注意到了这种文化差距?