众乐乐-weekly 第4期

Read 📖 方便的代价 万事皆有两面性,方便的代价有哪些呢? 不再理解过程,只关注结果,弱化了与目标的连接感 过度依赖,不可控 放大了欲望 难以长时间集中注意力 Tools 🧰 Firefox 市面上基于Firefox浏览器的修改版本 LibreWolf Firefox修改版,注意隐私、安全、用户自由,支持配置文件定制化配置 Floorp Captured On: [2023-12-29 Fri 15:57] 先进速度快的Firefox衍生品 Image 🖼️ Midjourney v6 杰作 https://twitter.com/chaseleantj/status/1738511249107767788 Speech 💬 @baduyifei Idea 💡 开始做减法

January 30, 2026 · 1 min · 33 words · tomyli

众乐乐-weekly 第5期

Read 📖 DONE How to make hard decisions Captured On: [2024-01-11 Thu 16:28] 如何做出艰难的选择,可供参考的9个思想实验 模拟 电影人物 临终前的我 后悔最小化框架 恐惧设定 幻想小人 最后一天 绿色大按钮 信封 作者提供的决策原则 身体与精神状态良好 给解决方案前先花时间描述问题 检查偏差(沉没成本) 目前只对Jobs的最后一天(7)思想实验很有感触 Tools 🧰 Shortcat: Universal command palette for your Mac | Shortcat 搜索 选择 动作 支持emoji,输入 *:*,但是要知道emoji对应的编码 类似按键增强的APP还有付费软件 superkey Image 🖼️ https://ultimatehackingkeyboard.com/ ...

January 30, 2026 · 1 min · 67 words · tomyli

众乐乐-weekly 第6期

Read 📖 How to Build a Minimum Loveable Product | by Laurence McCahill | The Happy Startup School | Medium 如何构建一个最小可爱产品(MLP),对应的MVP已经提出多年,它表示以最小工作量带回对客户的充分了解;而最小可爱产品则是以最少的努力从产品的早期用户中获取到最大的爱,强调产品要有爱。 作者给出做好MLP的几点建议: 确定产品的点,专注于WHY 做好一件事, FOCUS 添加约束,限制产品时间,3个月足够 只解决高价值问题 给产品增加惊喜与喜悦 请最好的设计师 吸引用户,让用户渴望更多 建立部落 让产品变得非凡 要有战略眼光,产品只是一部分 让产品超越可用,让用户爱你的产品! Tools 🧰 Keyboard Maestro 11.0.2: Work Faster with Macros for macOS MAC生产力工具,内置上百个动作,收费软件,但绝对物超所值,列几个常用功能: 快捷键映射 palette(菜单面板) 按键模拟 针对特定应用执行动作 配合Spotlight Search Prompt macro无敌了 Image 🖼️ 开始使用免费的图片,推荐一下这个免费资源仓库 Speech 💬 Domain names and websites are the new real-estate. - Marc Ostrofsky 想, 全是问题;做,全是答案。 ...

January 30, 2026 · 1 min · 74 words · tomyli

众乐乐-weekly 第7期

Read 📖 The Go-To Person: What You Need To Become One 成为一个牛人需要做哪些,作者引入体育竞技中的牛人的特征来对工作上如何成为牛人提供参考,主要有以下10点: 时刻准备,准备的更多,处理的更快 拥抱责任,只害怕错过而不是犯错误 树立榜样,日常生活始终如一,不走捷径 负责,只关心自己能控制什么 不回避失败,失败是正常的,一次次的失败会带来成功 忍受批评,坚定自己的信念 建立联系,与队友建立起联系 召唤意志,聚焦人心 保持镇定,不过度反应 认识自己的时间,可以交给其它人做 Tools 🧰 Stretchly - The break time reminder app 跨平台休息提醒APP,开源,配合Alfred插件食用更佳 还提供命令行接口 支持配置文件设置,默认配置文件在 ~/Library/Application Support/Stretchly/config.json Image 🖼️ 英语单词对世界空间维度的抽象,还是一个是空间维度的相对性问题 Speech 💬 The power of better question: “Why am I not successful?” You’ll get answers that berate you. “How can I succeed here?” You’ll get answers that push you. Be deliberate in the questions you ask yourself. ...

January 30, 2026 · 1 min · 78 words · tomyli

众乐乐-weekly 第8期

Read 📖 The Art of Loving 爱是一门节术,它需要知识与努力 新的爱的自由概念以对象的重要性为主,而不是功能性 分离是所有焦虑的根源 人最深切的需要就是克服孤独 成熟的爱是在保持独立性与个人特质下的结合 爱的主动性是给予而不是接受 爱是产生爱的力量 爱的积极性的基本要素:关怀、责任、尊重和知识 尊重存在于自由的基础上,爱是自由之子而不是统治之子 对自己的生活、幸福、成长、自由的肯定根植于一个人爱的能力 爱是由适当的性满足所得到的结果 Tools 🧰 nonwill/GoldenDict-OCR: GoldenDict++ GoldenDict官方版本增强与修正,速度杠杠的! Image 🖼️ Amazon公司CEO贝佐斯创立的蓝色起源公司的新格伦火箭发射 Speech 💬 If you want to reach the most people, learn to make videos. If you want to reach the smartest people, learn to write. - @david_perell “The more things you have, the more things you have to manage, Simplicity isn’t merely cheaper, it’s easier.” Idea 💡

January 30, 2026 · 1 min · 72 words · tomyli

解决下载后的TED视频与字幕时间对不上的问题

问题 准备使用TED上的视频进行英语学习,使用Downie下载下来视频与字幕后,播放发现字幕比声音快了几秒中,类似下面这样 此时说话人刚讲到第7秒钟,但是字幕已经显示到了11秒钟的内容,很奇怪,所有的视频文件与字幕文件都是从官网下载来的,用了其它的工具也试了,确保下载的文件都是正确的 定位 换了个浏览器重新查看TED上的对应视频,发现视频开头播放了5s钟的TED广告,其实就是TED的开场内容 在下载工具进行下载时,会把这5s的开场也给下载下来,而TED官方字幕是从正片开始计算的时间,这就导致了字幕与声音对应不上的问题 解决 找到问题就好办了,只需要把下载下来的视频的前5s截取下来或者从第5s开始进行转换视频就可以了,这时候就要祭出 ffmpeg 大法,命令如下: ffmpeg -ss "00:00:05" -i ted.mp4 -i ted.srt -vcodec copy -acodec copy ted.mkv 再播放截取的视频,正常了,又可以愉快的学英语了

January 30, 2026 · 1 min · 23 words · tomyli

Emacs问题之为什么org-mode中的imenu不好使了

问题 在Emacs的org file中,调用imenu命令不显示结果了,这个imenu菜单我是严重依赖的,没有结果后非常难受,于是开始找问题所在,因为我也是小白,使用了陈斌大神的Emacs配置,还配置了懒猫的eaf-framework 排查 在没配置eaf-framework时,imenu是可以正常使用的,配置后就不好使了,所以一度怀疑是配置eaf的问题,但是eaf的功能我还要使用,所以陷入的两难的境地,一直就这么先忍着不依赖这个imenu,而是使用ivy进行搜索。先前也调用了 toggle-debug-on-error 命令进行调试,但是也没看出来个所以然。今天想着再试试,还是不行,在结果页面显示了一句提示信息"No items suitable for an index found in this buffer",于是按这个信息google了一下,找到的结果比较少,但是 bmag/imenu-list的这个issue 讨论的过程给了我新的解决步骤,关键的步骤就是要查看一下当前buffer使用的imenu索引方法 imenu-default-create-index-function ,在有问题的org file中查看了这个变量的值为 my-imenu-create-index-function-no-org-link , 很明显这个hack过的,根据提示找到了源码,先注释掉验证一下,发现可以了,真是高兴极了。 结论 问题解决不了先放一放,万一哪天有灵感了呢

January 30, 2026 · 1 min · 26 words · tomyli

使用AI生成 git commit message

背景 Github上支持对PR生成AI摘要信息,具体说明 有没有应用支持生成提交内容的摘要信息呢? AI Commits 经过一番搜索,找到了IDEA插件 AI Commits 功能 支持多个AI服务 支持多语言 支持自定义Prompt 支持的服务 OpenAI 不支持国内访问,可使用国内转发进行访问,但需要有token,免费的token对token长度有限制,最大4098 国内转发 https://github.com/chatanywhere/GPT_API_free 可申请免费API Key,限制200请求/天/IP&Key调用频率,常规使用足够了 👍Ollama 官网,功能完全免费,多种开源模型可用,无使用限制,但需要本地部署,对机器内存有要求 推荐的开源模型如下: codeqwen deepseek-coder-v2 Qianfan 百度的AI模型千帆,https://qianfan.cloud.baidu.com/ 需要以下操作方可正常使用 登录百度账号 创建应用id 开通模型计费且需要进行实名(银行卡/人脸) 开通后在AI Commits的Qianfan模型中设置API key和Secret key Gemini 不支持国内访问,有用量限额 插件使用 选择LLM Client和Prompt 在AI Commits中配置好使用的LLM Client 和 Prompt,如选择 OpenAI 和名为 Basic 的Prompt 修改git项目代码 修改项目文件代码,比如加一行日志打印 提交代码 进行提交代码界面,在提交信息栏多出一个 AI Commits 的图标,点击图标 点击后生成的提交信息 使用Ollama的gemma2:9b生成的提交信息 关于Prompt 插件默认自带了3个Prompt,插件的仓库提供更多的Prompt使用,点击插件配置页面的 More prompts 即可跳转 其它有意思的Prompt 特朗普风格 懂王风格 Write an insightful but concise Git commit message in Donald Trump style in present tense for the following diff without prefacing it with anything, the response must be in the language {locale} and must not be longer than 74 characters. The sent text will be the differences between files, where deleted lines are prefixed with a single minus sign and added lines are prefixed with a single plus sign. {diff} 增强版本的emoji风格 ...

January 30, 2026 · 2 min · 320 words · tomyli

Anki常用插件集合

AnkiConnect - AnkiWeb Captured On: [2023-12-05 Tue 11:20] 扩展三方应用与Anki进行API操作,目前主要使用在org-anki和loseq-anki code 2055492159 Aglish - YouGlish Widget for Anki - AnkiWeb Captured On: [2023-12-05 Tue 11:16] 直接在anki中配合 YouGlish 学习英语单词真实场景发音 这位作者还开发了一些其它功能的anki插件 code 38866997 kelciour/movies2anki: Convert movies with subtitles to watch them with Anki. Inspired by subs2srs 拆分视频语句为anki卡片 ...

January 30, 2026 · 1 min · 71 words · tomyli

SpringMVC统一配置接口WebMvcConfigurer功能

接口说明 WebMvcConfigurer是Spring提供的统一配置接口,用于自定义Spring MVC的配置,全局更改服务的行为,提供的可配置项: 方法名称 参数 用途 addArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers) List<HandlerMethodArgumentResolver> argumentResolvers 添加自定义的 HandlerMethodArgumentResolver 用于解析方法参数。 addCorsMappings(CorsRegistry registry) CorsRegistry registry 配置跨域资源共享 (CORS) addFormatters(FormatterRegistry registry) FormatterRegistry registry 添加自定义的格式化程序和转换器 addInterceptors(InterceptorRegistry registry) InterceptorRegistry registry 添加自定义的拦截器 addRequestMappings(RequestMappingInfo customization, Class<Controller> controllerClass) RequestMappingInfo customization, Class<Controller> controllerClass 关联自定义请求映射到具控制器类 addResourceHandlers(ResourceHandlerRegistry registry) ResourceHandlerRegistry registry 配置资源处理,如静态资源路径 addReturnValueHandlers(List<HandlerMethodReturnValueHandler> returnValueHandlers) List<HandlerMethodReturnValueHandler> returnValueHandlers 添加自定义的 HandlerMethodReturnValueHandler 用于处理方法返回值 addViewControllers(ViewControllerRegistry registry) ViewControllerRegistry registry 注册视图控制器 configureAsyncSupport(AsyncSupportConfigurer configurer) AsyncSupportConfigurer configurer 配置异步支持 configureContentNegotiation(ContentNegotiationConfigurer configurer) ContentNegotiationConfigurer configurer 配置内容协商策略 configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) DefaultServletHandlerConfigurer configurer 启用默认 Servlet 处理 configureHandlerExceptionResolvers(List<HandlerExceptionResolver> exceptionResolvers) List<HandlerExceptionResolver> exceptionResolvers 配置异常处理程序 configureMessageConverters(List<HttpMessageConverter<?>> converters) List<HttpMessageConverter<?>> converters 配置自定义的 HttpMessageConverter configurePathMatch(PathMatchConfigurer configurer) PathMatchConfigurer configurer 配置路径匹配规则 configureViewResolvers(ViewResolverRegistry registry) ViewResolverRegistry registry 配置视图解析器 extendHandlerExceptionResolvers(List<HandlerExceptionResolver> exceptionResolvers) List<HandlerExceptionResolver> exceptionResolvers 扩展异常处理程序 extendMessageConverters(List<HttpMessageConverter<?>> converters) List<HttpMessageConverter<?>> converters 扩展自定义的 HttpMessageConverter extendInterceptors(List<HandlerInterceptor> interceptors) List<HandlerInterceptor> interceptors 扩展拦截器 extendArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers) List<HandlerMethodArgumentResolver> argumentResolvers 扩展自定义的 HandlerMethodArgumentResolver 用于解析方法参数。 extendReturnValueHandlers(List<HandlerMethodReturnValueHandler> returnValueHandlers) List<HandlerMethodReturnValueHandler> returnValueHandlers 扩展自定义的 HandlerMethodReturnValueHandler 用于处理方法返回值。 extendViewResolvers(List<ViewResolver> viewResolvers) List<ViewResolver> viewResolvers 扩展视图解析器 关联类 WebMvcConfigurationSupport EnableWebMvc 接口常用方法 接口提供了将近20个方法对Spring的配置进行调整,本次只针对常用的Rest接口开发相关内容进行展开学习研究 ...

January 30, 2026 · 3 min · 461 words · tomyli