Recent Posts

从 NERDTree 切换到 nvim-tree

0x0 NERDTree 的问题

使用 neovim 时,有时会遇到在启动过程中长时间卡住的问题。通过 vi --startuptime /tmp/1 这样的调试方式启动,发现多数时间开 …

从 markdown 生成 epub 文件

0x0 从 markdown 生成 epub 文件

手机端电子阅读 APP,是可以导入 epub 格式的文件,所以会有这样的实际需求,即把一些文档资料、笔记都导 …

使用 OCR 的一些记录

0. 问题

需要对一篇扫描件里的内容进行识别和提取,以下是一些记录。

1. PDF 转换成图片

文档资料是 PDF 格式的,首先需要先 …

往 vim 粘贴大段文本会卡顿的问题

0x0 问题

用 vim 编辑文件时,发现粘贴大段文本时会变得很卡,有时候几百行的文本,需要花几十秒甚至更长时间。

0x1 解决办法 …

Linux 添加 memory block

需求

现在是这么一个情况,手头的一块开发板,在增加了内存后,需要在 Linux 系统里识别到、并能使用起来。

正常情况下,一般是 …

Python 函数的位置参数(positional argument)和关键字参数(keyword argument)

在 Python 里,函数的参数默认是 positional-or-keyword,就是说即可以是位置参数,也可以是关键字参数。文档里是这样描述的:

positional-or-keyword: specifies an argument that can be passed either …

Python Turtle 画圆时的圆心位置问题

问题:在使用 turtle.circle() 画圆时,发现圆心在 turtle 的正上方。

这个 API 的参数里没有指定圆心,也不是以当前位置 turtle.position() 为圆心。turtle.circle() 是这 …

Python crypt 模块

Linux 下的用户名和密码是加盐哈希后保存在 /etc/shadow 文件里的。这里 有文件格式的介绍。

Python 标准库里,有一个 crypt 模块,可以用来生 …

Python 内置函数 pow 计算逆元

pow 是 Python 的内置函数,用来进行幂运行:

>>> help(pow)
pow(base, exp, mod=None)
    Equivalent to base**exp with 2 arguments or base**exp % mod with 3 arguments
    ...
>>> pow(5, 3)
125

Python 3.8 版本开始,在同 …

Cache 的组织和过程(VIVT、VIPT、PIPT)

1. VIVT

VA 里的 index 🡲 查找到 cache-line 🡲  VA 里的 tag 比较 :
* hit 🡲 返回(不经过 MMU)
* miss 🡲 [VA->MMU->]PA 访存,写回 cache-line;VA 里的 tag 更新到 cache-line 🡲 返回

有别名问题。

2. VIPT …