jhead 是一个可以查看,修改照片 EXIF 信息的命令行工具,没有 GUI。
jhead 可以查看:
Time and date picture was taken
Camera make and model
Integral low-res Exif thumbnail
Shutter speed
Camera F-stop number
Flash used (yes/no)
Distance camera was focused at
Focal length and calculate 35 mm equ
Read more ...
这是 《精通正则表达式》第 3 版 的读书笔记。
技术图书的主要使命是传播专业知识,专业知识分为框架性知识和具体知识。框架性知识需要通过系统的阅读和学习掌握,而大量的具体知识,则主要通过日常生活的积累以及随用随查的学习来填充。
完整的正则表达式由两种字符构成,特殊字符,元字符,另外一种就是普通文本字符。
完整的正则表达式由小的构建模块单元 building block unit 构成,每个单元都很简单,不过他们能够以无穷多种方式组合,所以可以提供无限的可能。
字符组
匹配若干字符之一,使用中括号 [ea] 匹配 a 或者 e
gr[ae]y
Read more ...
Instagram 的 ID 生成策略是经过精心设计过的。1 每一秒 Instagram 都会收到无数用户上传的照片,在内部使用 [[PostgreSQL]] 分片存储到不同的服务器上。
这就产生了一个问题,要设计一个唯一 ID 生成方法用来标记系统中发布的每一张图片。
系统唯一 ID 需要满足如下条件:
ID 应该是时间有序的,一组照片 ID 列表不再需要外部信息就可以排序(UUID 就不合适,因为完全无序)
ID 最好是 64bit ,可以节省存储空间,索引也可以更小,也方便存储到 Redis 这样的系统中
系统应该尽可能少引入外
Read more ...
简洁高效的开源网络终端 Next Terminal
我个人一直都是使用本地的 SSH Config 来管理我的 SSH 连接,虽然这个方案有自身的优点,就是安全,易配置,我所有的连接都只允许使用 SSH Key 访问,关闭了用户名密码,另外所有的配置都通过 assh 一键配置,我给所有的节点都配置了昵称,所以我只需要输入 ssh alias 就可以连接到任何我想连接的机器。
ChatWise 本地多模型支持的 AI 客户端
在我之前的视频里面当时介绍了三款不同的本地 AI 客户端,[[Cherry Studio]],[[Chatbox]],ChatWise,每个客户端都有自身的优缺点,前两款也还是开源的,但是今天要介绍的 ChatWise 是一款更轻量的,更强大的 AI 客户端,包括一些个人觉得非常好用的功能,比如本地联网搜索,MCP 支持,Artifacts 等等使用起来都非常方便。
Alist 风波以及在 K3s 中部署 OpenList
在我的待办事项和视频评论下方很多人提到过 Alist,虽然我自己也有搭建一个 Alist,但实际上并没没有真正使用起来,所以待办事项中的「编写一篇文章介绍一下 Alist」 也就一直延误了,我个人似乎并没有太多 Alist 使用的强需求,虽然 Alist 可以用来挂在很多的网盘,但是如果看过我之前的文章,我现在越来越多的避免将大量的数据存储到云端,也不再大量的使用网盘,所以很多人用 Alist 来挂在网盘并接入 VidHub,Plex,Emby 等来观看高清视频的需求其实我本地一台 Ubuntu(NAS) USB 挂在一块大硬盘,局域网 SMB 共享给 Apple TV 就已经解决我了 99% 的使用场景。
利用 SpecStory 记录每一次和 AI 的对话
今天想给大家介绍一款特别有意思的插件叫做 SpecStory,我们现在会在 VS Code, Cursor 编辑器中使用各种类型的代码辅助工具,也会利用 Cursor 等集成的 IDE 来 vibe coding,但是如果我们每一次都重头开始描述我们想要做的事情,或者每一次都新开一个聊天窗口,AI 大模型大概率会前后表现不一致,虽然我们也可以利用 Cursor Rules 等工具来给 AI 提供一些系统级别的提示词,但是 AI 在回复的过程中也可能跑偏。
让 AI 来编写 Git 提交变更信息
很早之前就看到了 GitHub Copilot 可以在 VS Code 中提交 Git 时自动编写提交 Message,但是实际上我一直没有用起来。正好现在对 Git Message 做一个完整的学习,顺便也了解一下当前的 AI Commits 方案。