这篇短文提倡一种强大的吉他学习技巧,灵感来自 Justin Sandercoe:**通过听音和转录音乐来学习,而不是依赖吉他谱(tab)。** 作者回忆起 90 年代使用吉他谱的经历,意识到它们并不能真正转化为理解或掌握。 这种方法包括选择一首简单的歌曲,然后费力地暂停播放,以便识别并写下你听到的每一个音符。 虽然最初会令人沮丧,但这个过程能强制进行主动聆听,并在耳朵和指板之间建立关键的联系。 将你的转录与现有的吉他谱进行比较有助于提高准确性,而观察演奏则能揭示乐谱中经常忽略的细微差别。 这种方法不仅仅是学习 riff;而是关于学习*歌曲*——理解过渡、节奏,甚至可能还有多个部分。 作者强调建立一个转录歌曲的播放列表,用于持续的练习和享受,最终带来更深入的音乐理解以及直观地复制声音的能力。 这是一种将演奏者从仅仅遵循指示转变为真正*听*和*演奏*音乐的方法。
## S3 文件:弥合对象存储与文件系统之间的差距
许多开发者在对象存储(如 S3)和传统文件系统之间移动数据时面临摩擦,基因组学研究中频繁的数据复制需求凸显了这个问题。亚马逊的 S3 团队通过 **S3 文件** 解决了这个问题,这是一个将 Amazon Elastic File System (EFS) 与 S3 集成的新功能,允许直接将 S3 数据作为网络文件系统访问。
该团队最初尝试构建一个统一的文件/对象系统,但发现其中存在固有的妥协。相反,他们拥抱了差异,创建了一种“暂存和提交”模型:更改会累积在 EFS 中,并定期与 S3 同步。这保留了两者的优势——S3 的持久性和可扩展性,以及文件系统的熟悉 API。
S3 文件提供了诸如简化现有工具的数据访问等好处,并避免了昂贵的数据复制。它能优雅地处理不一致性,并通过“读取绕过”等功能提供高性能,用于顺序读取。虽然仍然存在挑战(如昂贵的重命名),但该设计优先考虑透明性和可扩展性。
最终,S3 文件的目标是消除存储作为瓶颈,使开发者能够专注于*使用*数据,无论如何访问它——作为文件或对象——并支持加速的应用程序开发步伐,在这种步伐中,数据的寿命超过了应用程序的生命周期。
## Boneyard.js: 自动骨架加载屏
Boneyard.js 通过**自动捕获现有 UI 的布局**来简化创建逼真的骨架加载屏——无需手动测量!它使用简单的 `<Skeleton>` 组件支持 **React、Svelte 和 React Native**。
该过程涉及运行一个 CLI 工具 (`npx boneyard-js build`),它会:
* **Web:** 打开无头浏览器以在定义的断点处截取你的应用快照。
* **React Native:** 直接在你的设备上扫描原生布局。
这会生成一个 `.bones.json` 文件,其中包含骨架定义。在你的应用入口点导入 `./bones/registry` 将激活骨架。
**主要特性:**
* **零生产开销:** 骨架仅在加载期间使用。
* **可定制:** 配置颜色、动画(脉冲、闪烁、纯色)和断点。
* **跨平台:** 相同的 `.bones.json` 适用于 Web 和原生。
* **配置:** 使用 `boneyard.config.json` 进行全局设置,并由组件属性覆盖。
## Gemma-Tuner:在 Apple Silicon 上微调 Gemma
Gemma-Tuner 是一个用于在 Apple Silicon Mac 上微调 Google 的 Gemma 模型(3n 和 4 版本)的工具包——无需 NVIDIA GPU 或大量本地存储空间。它支持**文本、图像和音频**的多模态训练,为音频 + 文本微调提供独特的 Apple Silicon 原生能力。
主要功能包括:
* **模态支持:** 微调 Gemma 用于仅文本的任务(指令/补全)、图像描述/VQA,或音频任务,如特定领域的语音识别。
* **云端流式传输:** 直接从 Google Cloud Storage (GCS) 或 BigQuery 训练 TB 级的数据,避免本地存储限制。
* **LoRA 实现:** 使用 PEFT LoRA 进行高效微调。
* **易于设置:** 向导引导用户完成模型选择、数据集配置和训练。
* **私密且在设备上:** 训练和推理完全可以在您的 Mac 上完成,确保数据安全。
该工具包利用分层 INI 配置文件系统,需要 Python 3.10+ 和 macOS 12.3+。它专为 Gemma 训练而设计,并提供数据集准备、训练、评估和导出的工具。
项目和详细文档请访问 [github.com/mattmireles/gemma-tuner-multimodal](https://github.com/mattmireles/gemma-tuner-multimodal)。