使用 gdu 快速查看磁盘空间占用

gdu 是一个使用 Go 编写的,非常漂亮的磁盘空间占用分析工具。 直接运行 gdu 可以展示一个非常直观的磁盘空间占用。 gdu 为 SSD 做了优化,但在机械硬盘上也能很好的工作。 Install Linux: curl -L https://github.com/dundee/gdu/releases/latest/download/gdu_linux_amd64.tgz | tar xz chmod +x gdu_linux_amd64 sudo mv gdu_linux_amd64 /usr/bin/gdu macOS: br Read more ...

2021-07-16 linux , gdu , du , disk , disk-space , cli , go-lang

手工编译安装 macOS 下的 Rime(鼠须管)

因为 macOS 下的 Rime 输入法(鼠须管) 不是经常更新二进制,所以要体验性特性总是要手工进行编译安装。 之前的想要 Rime 实现按下 Esc 切换为英文时,看到 commit history 有提交的时候就尝试手工编译安装了一下。一直都在笔记里面,现在整理一下发出来。 Prerequisites 安装 Xcode 12.2 及以上 首先从 App Store 中安装 Xcode 12.2 及以上版本。 如果只有 Xcode 10 只能编译 x86_64 的版本。 安装 cmake 从官网 下载安装。 或者从Homebrew 安装 Read more ...

2021-07-11 rime , squirrel , macos , input-method , mac

手工编译安装 librime

librime 是 Rime,包括各个系统上的桌面版,Squirrel(鼠须管) 等等依赖的核心库。 Preparation 首先要安装 Xcode 和命令行工具,以及必要的编译工具: brew install cmake git Get the code 获取代码: git clone --recursive https://github.com/rime/librime.git or download from GitHub, then get code for third party dependencies separately. Read more ...


JWT 认证使用

现代 Web 应用一般常用的认证方式有如下两种: session cookie session 认证需要服务端大量的逻辑处理,保证 session 一致性,并且需要花费一定的空间实现 session 的存储。 所以现代的 Web 应用倾向于使用客户端认证,在浏览器中就是 cookie 认证, 但是 Cookie 有明显的缺陷: Cookie 会有数量和长度限制 Cookie 如果被拦截可能存在安全性问题 为什么要认证 数据安全: 进行安全的验证,服务端可以无状态认证 签名,只有信息发送者才能产生别人无法伪造 Read more ...

2021-06-29 jwt , authentication , session , cookie , python , java

Duplicacy 增量备份工具使用

Duplicacy 是一个用 Go 语言实现的,开源的,跨平台的备份工具。 特性: 命令行版本对个人用户完全免费 付费授权会提供了一个网页端管理 支持 Amazon S3,Google Cloud Storage,Microsoft Azure,Dropbox 和 Backblaze 等云存储,本地磁盘,SFTP 等等 支持多个客户端备份到同一个云存储 支持增量备份 支持加密备份 Lock Free Deduplication 这是一个对 Duplicacy 实现原理的简单介绍,完整的说明可以参考发布在 IEEE Tr Read more ...


使用 Netdata Cloud 监控所有的机器

很早就开始用 Netdata,新买来的 VPS 直接一行命令就可以安装,并且提供了一个非常不错的监控后台。但是因为没有办法在一个中心化的地方管理我所有的机器,所以之前都是用一个简单的 nodequery 服务来监控服务器是否在线,CPU、内存、流量使用率,但 nodequery 已经很多年没有更新,而最近去看 Netdata 官网的时候发现其退出了一个 Netdata Cloud 的服务,体验下来确实直接可以代替 nodequery 了。 什么是 Netdata Cloud [[Netdata]] 是一款非常漂亮并且非常强大的监控面板,由于 Netd Read more ...


Ubuntu 下启用 SFTP 服务

[[SFTP]] 全名为 SSH File Transfer Protocol,是一种通过 SSH(Secure Shell)协议进行文件传输的网路协议。它提供了一种安全的方式来传输文件,因为所有传输的数据都会被加密,这可以防止数据在传输过程中被拦截和阅读。 SFTP 不仅可以进行文件传输,还可以进行远程文件管理,例如创建和删除远程目录,移动和重命名远程文件等。这使得 SFTP 成为一种非常强大的工具,尤其是对于需要远程管理文件的开发者来说。 在互联网的早期人们都使用 FTP 来传输文件,FTP 是 File Transfer Protocol 文件传 Read more ...

2021-06-07 sftp , ubuntu , linux , ssh , file , backup

macOS 上的超级强大的键盘自定义工具 Karabiner Elements

之前使用 macOS 外接键盘的时候因为想要实现和 Linux 一致的键位,所以接触到了 Karabiner Elements 这一款 macOS 上的键盘映射工具,但是了解之后发现,Karabiner 能做的事情不只有键盘按键的映射,设置可以组合按键,区别短按和长按,组合使用不同的按键,下面就简单的介绍一下过去几年里面我使用的 Karabiner Elements 特性。 Karabiner Elements 是 Mac 上一款强大的键盘自定义工具,几乎可以实现任何的键盘 remapping,并且也是开源的。如果说改键的话,只显示了 Karabine Read more ...


减小 git 仓库的大小

我一直使用 Git 仓库来管理我的 Markdown 笔记,但是因为定时提交,没多久就产生了非常多的提交历史,并且因为频繁的提交和导入了一些比较大的 PDF 文件和图片文件,所以导致 .git 目录的体积已经超过了所有笔记的大小,笔记内容也就 300+M,但是整个仓库有近 1G 大小。 所以便想着能不能给 Git 仓库进行一下瘦身,最开始想要实现的方向是能不能压缩一下提交历史,然后把历史记录中的大文件剔除。所以查询方案的时候就先往这两个方向上靠。 git gc 最先想到的就是在仓库执行 git gc, (garbage collection),这条 Read more ...

2021-05-02 git , linux

读书是否是唯一重要的事?

不久之前和朋友约去了趟植物园,聊起读书是否是第一要务的时候产生了一些分歧,关于是否要去学习如何学习这一件事情产生了一些分歧。我站在的立场是读书是必须的,而我朋友则认为在有限的时间里面实践要优先于读书。而关于要不要学习如何学习这一件事情,他仍然坚持自己的实践而非去了解如何学习。 在我仔细思考,以及阅读了相关的文章之后慢慢地对我朋友的一些想法产生了一些理解。但在一些观点上我依然坚持我自己的看法。在我看来实践固然重要,但读书在我看来一样的重要,在我过去年的学习生活中,我曾经尝试过这种各样的媒介,但是没有一个能够提供图书所带来的成体系的知识。 两种读书的方式 Read more ...

2021-05-01 study , learning , thinking , discuss , reading , book

最近文章

  • Google Code Wiki:让 GitHub 仓库秒变代码百科全书 之前 Devin 团队推出了一款 DeepWiki 的网站,可以用来解释 GitHub 的代码仓库。今天偶然发现 Google 也推出了类似的产品,叫做 Code Wiki。
  • Typeless: 又一款 macOS 上的 AI 语音输入利器 看过我博客的人会发现,我在这半年的时间里面体验了非常多的语音转文字工具,可以说,这样的工具极大地提升了我的生产效率。不仅搭配 Obsidian 可以更快地写笔记,搭配 Claude Code 等编程工具也可以让我更快地输入提示词。体验到后面,遇到类似的产品,我一般也不会单独地出一篇文章,但是今天体验完了 Typeless,我觉得它值得写一篇文章,单独介绍一下。
  • Gemini CLI 使用小技巧 本文记录 Gemini CLI 使用过程中一些容易被忽略的问题,以及使用小技巧。
  • 让 AI 更懂你的工作流:Gemini CLI 自定义 Slash Commands 配置指南 看过我博客的人会发现,我过去分享了非常多 Claude Code 下的使用小技巧,Claude Code 提供了非常好用的 Clash Commands,可以让我们直接通过快捷方式调用我们预先定义好的 prompt。最近我在使用 Gemini CLI 时,也发现我需要类似的功能。但幸好,Gemini CLI 已经帮我们实现了 slash commands,我们只需要定义好一个函数,就可以非常轻松地通过斜杠命令来调用。
  • 在 Obsidian 中使用 Gemini CLI 从 2020 年开始使用 Obsidian 算起,到今天也已经快 5 年了,这个过程中我将过去将近 10 年的笔记,包括 Evernote,WizNote 中的笔记,豆瓣上的笔记全部转成了 Markdown 保存到了本地,后来陆陆续续使用的比如 [[Voicenotes]] 也都转成 Markdown 存如 Obsidian。虽然过去纪念陆陆续续在整理,但是实际上每天添加到笔记库中的内容要远多于要整理阅读的内容,笔记仓库也是越来越大,所以我越来越想使用一个工具可以帮助我真正地理解我写下的东西,并且在我想使用的时候能快速的找回。