记录一下在 Linux 下测试硬盘读写速度的命令和方法。
dd
使用 dd 测试写速度,千万有注意 of 后接的文件必须是一个不存在的文件,否则可能造成数据丢失!
sync; dd if=/dev/zero of=/tmp/tempfile bs=1M count=1024; sync
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 2.55331 s, 421 MB/s
同样的道理,如果要测试一个外部存储,需要知道挂载点,然后用 d
Read more ...
陆陆续续用过不少同步工具,资料备份,各个设备间同步文件,从商业化的工具到命令行工具,但总还是一直在寻找一款足于满足我所有需求的工具。这里就整理一下,顺便整理一下我自己的思路。不久前就一直在思考一个问题,数字文件的生命有多长,以前看到过一句话,几十年前父母写下的日记如今依然能从旧书柜中翻出,数十年前的胶卷照片依然还很清晰,但往往几年前的网络文章,或者数字照片可能如今随着网络服务的关闭,物理硬盘的损坏而无法恢复。有人尝试使用多地备份,有人尝试云服务备份,却都无法从根本上解决这个问题,当然现在的我依然没有办法完全的解决这个问题。
目前我从两个方面来规避这个问
Read more ...
I found someone submit a pull-request to redis, which modify the init.d script. The modification make me curious about the init script. So this is the research result.
LSB stand for Linux Standard Base.
LSB-compliant init scripts need to:
provide, at least, the following ac
Read more ...
最近整理文档,想起来自己的腾讯云,和 Google 云,好几十 G 的对象存储都空着,虽然腾讯云填了一部分同步的书籍,但是还是没有好好利用起来,然后就突然想起来之前看到过有人自己写了一份网盘同步程序,将对象存储作为同步工具来使用,这么一想确实可以尝试一下,毕竟现在 Dropbox 容量渐渐不够用了,如果能作为一份扩充也倒是不错的选择。所以这里就整理一下目前可用的一些方案,然后再做一下决择。
Cloudreve
这是一款 PHP 所写的云盘系统,支持多家对象存储,设计采用 Material Design ,看起来也不错。
https://gith
Read more ...
This post is under the environment of Ubuntu 18.04, this instruction will guide how to install shadowsocks libev both server side and client settings manually. And show the step to configure the simple-obfs.
The source code is in following two repositories:
https://github.co
Read more ...
When you encouter the high cpu load caused by java application, you may follow these steps to troubleshooting.
identify the PID
identify the PID, use top or htop then press P, sorted by CPU
identify the thread
identify the thread using top -n 1 -H -p PID, this command will giv
Read more ...
vim-abolish 又一款 Tim Pope 大神所制作的插件,这款插件扩展了一条名为 :Subvert 的自定义命令,作用类似于 Vim 内置命令 :substitute 的扩展。
https://github.com/tpope/vim-abolish
比如说想要将整个文档中的 man 和 dog 两个单词交换,如果用 Vim 原生的替换比较麻烦,而使用该插件则只需要
:%S/{man,dog}/{dog,man}/g
在 GitHub 页面上也有大量的使用方式介绍,这里再提一个官方页面上的用例,比如想要把所有的 facility
Read more ...
global 命令结合了 Ex 命令和 Vim 模式匹配的能力,借助该命令,可以在指定模式的所有匹配行上运行 Ex 命令。global 命令是除了点操作和宏命令之外,最强大的 Vim 工具之一。
Basic
global 命令基本形式,可以读作在 range 上,如果行匹配 pattern,那么执行全局命令 cmd
:[range] global[!]/{pattern}/[cmd]
说明:
缺省情况下,global 命令作用范围是整个文件 (%).
除了 global 还有 :vglobal 表示反转,在没有匹配 pattern 的
Read more ...
ChatWise 本地多模型支持的 AI 客户端
在我之前的视频里面当时介绍了三款不同的本地 AI 客户端,[[Cherry Studio]],[[Chatbox]],ChatWise,每个客户端都有自身的优缺点,前两款也还是开源的,但是今天要介绍的 ChatWise 是一款更轻量的,更强大的 AI 客户端,包括一些个人觉得非常好用的功能,比如本地联网搜索,MCP 支持,Artifacts 等等使用起来都非常方便。
利用 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 方案。