LML - linear regression

LML 是 Learn Machine Learning 的缩写,我会用文字和代码,从一个程序员的角度,记录下自己这段时间学习机器学习的过程。

这是第一篇:线性回归(与 softmax 回归)

Read more  ↩︎

liburing - cat

结合上回,大部分代码是样板代码,liburing 是为了简化我们手工调用 io_uring 实现的一个包装库

接下来用 liburing 实现 cat

Read more  ↩︎

io_uring 接口

上回

目前来讲,用户应该使用 liburing,不太需要去直接调用底层的 io_uring API,但是去了解 io_uring 本身提供哪些接口是非常有必要的。

接下来会通过一个类似 cat 的程序,来讲解 io_uring 的一些操作。

Read more  ↩︎

io_uring 简介

什么是 io_uring

它是 Linux 下的,新的异步 IO 的 API,由 Facebook 工程师 Jens Axboe created 出来。

已有解决方案的局限

aio 是 Linux 中已有的异步 IO 系统调用,支持文件和 socket,但是有一些局限

  1. 只支持 O_DIRECT 模式的读写,这是最大的局限性,而现实世界中,几乎没有应用有这种常规性质需求
  2. 即使在 O_DIRECT 下,aio 也可能因为 metadata 缺失导致 block
  3. 某些存储设备有固定的请求队列大小( slots for request,个人理解类似 socket 的 backlog),队列满时,aio 的提交也会 block
  4. 提交和完成过程,会有 104 字节的额外拷贝开销,提交和完成也会产生两个不同的系统调用
Read more  ↩︎

密码管理器

随着使用的软件、服务越来越多,我们需要记忆的密码也越变越多,为了安全性,应该避免使用弱密码或重复的密码,于是我之前选择了 1password 这个服务,前两个月我的订阅刚刚过期,但我又不再想续订了,我认为这个产品我没有花得很值,于是调研了一些替代品,我的需求是,可以同步、可以方便的在多端使用。

最终看到了 https://www.passwordstore.org/ 这个项目,我认为完美的契合我的需求,额外的,它足够轻量,在 PC 端也是命令行优先,功能也足够用,第三方适配的 app 也十分简洁,这里做一次记录和推荐。

Read more  ↩︎