turned-on Kindle tablet

从 Kindle Voyage 到 Kindle Oasis

我是一个喜欢看书 & 买书的人,恰逢今天刚好是发行新的 Kindle PaperWhite,于是写一写我和 Kindle 的故事。

Kindle Voyage 与 Kindle Oasis

71syf
Kindle Voyage

1y46m
Kindle Voyage

我拥有两台 Kindle 设备,2015 年买的 Kindle Voyage和 2021 年买的 Kindle Oasis。KV购自亚马逊官方渠道,KO购于本地二手。前者买时正盛,是当时最贵的 Kindle 设备。后者购买时已经不是最新版的 KO,但依然是一个体验极佳的 Kindle 设备。

q44ye
Kindle Oasis
emyk9
Kindle Oasis

如果让我选择这两个设备的话,我会觉得 Kindle Oasis 的尺寸和实体按键是我认为最好的点。相比于 Kindle Voyage 的“实体按键”,Kindle Oasis 的实体按键的反馈更有按下的感觉,会让你更加安心,而不会像 Kindle Voyage 按下去可能不太明确的感觉,不用担心自己没按下去,还要用眼睛去确认你的按下。

此外, Kindle Oasis 的尺寸也让看漫画变得更加友好。比如我今年开始看 Netflix,把「瑞克和莫蒂」给追完了,最近在刷对应的漫画,7寸的 Ko 相比于 6 寸的 Kv 还是舒服一点点的(当然,我觉得看漫画可能还是需要更大的设备才行,比如 10 寸的。不过那又和我的 iPad 冲突了)。

Kindle 与看书

买 Kindle 的时候,我还在大学中,处在求学的时刻。当时忙于参与各种比赛,常常东奔西跑,带书不变,考虑到自己从小便有读书的习惯,便斥巨资买了最贵的 Voyage。当时为了方便看书,还买了 Kindle Unlimited,以借阅 Kindle 商店当中的海量的图书。

后来也不负 Kindle 的期望,在这几年里,我用 Kindle 看了不少书。在我的亚马逊账号中,我购买了 205 本书。除掉购买的,Kindle Unlimited 也借了不少书。

o8t9d

总体来说,从我离家前往大学,再到后来到深圳工作,我的社科类图书基本上就是由 Kindle 承包的。

技术类图书我更喜欢直接买实体书,方便跳页。社科类图书没有跳页的需求,Kindle 就更合适了。所以,我的 Kindle 基本上都是用来看社科类图书,倒也不错。毕竟平时的工作会看太多的专业书籍,看一些社科书籍来调剂一下蛮好。

提起看书,不得不提微信读书。微信读书我用了很多次,但说实话,除了看小说以外,我总是用不起来,因为微信读书的社交化能力很好,但反过来,也会成为打扰你的干扰来源。对于经典的图书而言,微信读书并不能给我提供相比于 Kindle 更好的阅读体验。自然,我不会选择用起来读一些严肃的文学。不过,用来读小说很不错,微信读书的时长送书币,让读小说也可以免费。倒是蛮好。

Kindle 与其他设备

其实在使用 Kindle 的过程中,我也买了一些其他的设备,比如 文石 Poke3 、口袋阅之类的,但最终还是回归到 Kindle

总体的体验还是觉得 Kindle 更好。比如,虽然文石的 Poke 3 带来了开放系统,但整个墨水屏的生态就很一般,这使得你自己读书也很难有特别好的体验,反倒是不如封闭生态的 Kindle。口袋阅本身的体积倒是一个不错的替代品,但本身的配置所限,在读书方面,确实不甚方便,再加上默认的阅读器很一般,第三方的微信读书墨水屏版体验也不好,后来也放弃了。

Kindle 与未来

Kindle 对于我来说,是我读书过去的五年。同样的,我也相信他会是我读书未来的若干年。甚至我会觉得,如果 Kindle Voyage 和 Kindle Oasis 如果能一直使用的话,我会一直用到很久很久以后。

green and black digital device

使用 systemd 后台值守运行 Bark

什么是 Bark?

Bark 是由 Fin 开源的一个向 iOS 设备推送通知的服务,Bark 支持自行部署服务端,从而实现消息的推送通过自己的服务器进行,避免与官方的服务共享,提升推送时效。

服务端源码:Finb/bark-server: Backend of Bark (github.com)

客户端源码:Finb/Bark: Bark is an iOS App which allows you to push customed notifications to your iPhone (github.com)

Bark 如何部署?

Bark 的部署非常简单,直接下载官方的 release 文件即可。

下载完成后,你可以执行如下命令来进行测试

bark-server -addr 0.0.0.0:8080 -data ./bark-data

执行成功后,你会看到如下的界面,此时你可以访问 127.0.0.1/ping 来验证你的 Bark 的部署

1jj0p

使用 Systemd 进行值守

验证成功后,接下来就可以设定值守运行了

1. 将 bark server 移动到一个固定目录

首先,你需要将 bark server 移动到一个固定的目录,方便后续执行。

mv bark-server /usr/local/sbin/bark-server

2. 创建 Bark Service

创建 /etc/systemd/system/bark.service 文件,并添加如下内容

[Unit]
Description=Bark Server
[Service]
ExecStart=/usr/local/sbin/bark-server -addr 0.0.0.0:8080 -data /usr/local/bark-data
[Install]
WantedBy=multi-user.target
Code language: JavaScript (javascript)

创建完成后,你可以执行 systemctl status bark 来查看 bark server 的状态。

7jwil

然后,你就可以使用 systemctl 来控制bark 了

  • 启动服务 systemctl start bark
  • 停止服务 systemctl stop bark
  • 查看服务状态 systemctl status bark
man standing in front of people sitting beside table with laptop computers

如何预约我线下分享

上周做分享时,提到了我比较容易约分享。突然觉得,我应该给约我分享的人写一个 Guidelines,方便大家可以方便的约我会议。

我会去什么样的活动做分享?

  1. 技术主题
  2. 开源主题
  3. 开发者相关主题
  4. 运营主题
  5. DevRel 主题
  6. 其他任何我感兴趣的主题(播客、效率工作)

我参会的必要条件是什么?

  1. 时间可接受:正常的活动时间,不要搞半夜的那种,年纪大了,扛不住。
  2. 地点可接受:线上分享比较简单,因为我不需要到线下去。但如果你希望我到线下做分享,那可能需要和我沟通,是否可以到达现场(一般情况下,提供差旅的分享我不会拒绝线下分享)

我参会的一些补充描述

  1. 如果你的活动是免费的,那我去进行分享也是免费的。你只要符合必要条件即可;反之,如果是一个付费活动,那我希望你也提供相应的费用给我(除非你的影响力大到了我愿意去蹭活动)

如何联系我关于分享?

如果你有我的微信,直接发微信即可。发送活动时间、活动主题、活动地点给我确认即可。

如果你没有微信,可以发相应的资料到我的邮箱 bestony@linux.com 即可。

什么样的分享我不会参与?

  1. 我不感兴趣的主题不会参与:虽然我不抗拒分享,但对于一个我不喜欢的主题,还是不希望浪费时间。我也不觉得我会给你提供什么样的价值和信息。如果你预期这个主题我不会感兴趣,可以在联系我的时候,告知希望我分享的内容以及希望我提供给你的价值。
black and white penguin toy

如何使用 GitHub Action 自动发布 NPM

我经常会用 GitHub 来存储我的代码,其中很大一类是各种 npm 包。

由于本地常年配置了 npm 的 mirror,我更喜欢使用 GitHub 自动发布。

有了这个配置,我只需要编写完代码后,并执行如下命令,即可实现自动发布包.

npm version patch
git push --all
git push --tags

以下是对应的 GitHub action file。

使用时需要配置 npm_token 为你自己的 NPM Token。这个 Token 可以在 NPM 后台获取到。

name: Node.js Package
on:
  push:
    tags:
    - "*"
jobs:
  publish-npm:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-node@v2
        with:
          node-version: 14
          registry-url: https://registry.npmjs.org/
      - run: npm publish
        env:
          NODE_AUTH_TOKEN: ${{secrets.npm_token}}
Code language: JavaScript (javascript)
green and black digital device

如何用 CURL 看证书信息

在进行证书故障排查的时候,难免要查看证书信息。不过目前的浏览器在设计上,查看证书详情变得困难很多,因此,你可以借助 CURL 来查看证书信息。

具体的命令

 curl --insecure -v https://域名 2>&1 | awk 'BEGIN { cert=0 } /^\* SSL connection/ { cert=1 } /^\*/ { if (cert) print }'
Code language: JavaScript (javascript)

返回结果如下,其中包含了域名证书当中的过期时间、申请者等核心信息,方便你进行排查。

➜  ~  curl --insecure -v https://www.ixiqin.com 2>&1 | awk 'BEGIN { cert=0 } /^\* SSL connection/ { cert=1 } /^\*/ { if (cert) print }'
* SSL connection using TLSv1.2 / ECDHE-RSA-CHACHA20-POLY1305
* ALPN, server accepted to use h2
* Server certificate:
*  subject: CN=www.ixiqin.com
*  start date: Aug 15 00:00:00 2021 GMT
*  expire date: Nov 13 23:59:59 2021 GMT
*  issuer: C=AT; O=ZeroSSL; CN=ZeroSSL RSA Domain Secure Site CA
*  SSL certificate verify ok.
* Using HTTP2, server supports multi-use
* Connection state changed (HTTP/2 confirmed)
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
* Using Stream ID: 1 (easy handle 0x7fe096810a00)
* Connection state changed (MAX_CONCURRENT_STREAMS == 128)!
* Connection #0 to host www.ixiqin.com left intact
* Closing connection 0
Code language: PHP (php)
man in white dress shirt wearing white goggles

人生新体验:全麻手术

9月1日晚,我骑电动车躲避其他车辆时,车辆发生了侧翻。人倒地,后120送至医院发现是左侧锁骨骨折。当晚入院。入住医院的次日,医生帮我排了全麻手术,来修复锁骨骨折的问题。

以下是我关于全麻手术的一些记录

为什么要做全麻?

我的受伤部位是左侧的锁骨,距离脖子的位置是比较近的,手术过程中如果发现异动,风险极高。做全麻更加安全。

具体流程

断食断水

在手术前一天,护士会通知你,提前一天晚上12 点以后,就不要吃东西了,手术前不能吃东西,手术后才能吃东西。

不过不用担心饿的问题。在第二天,护士会给你注射营养液,让你不会感受到饥饿和口渴。

签署同意书

全麻手术相比于局部麻醉, 是拥有更大的风险的,毕竟,如果麻醉医生手一抖,可能你就彻底的睡过去了。因此,相应的风险是需要你知晓,并认可的。

在手术前,麻醉医生和主刀医生会找到你,要求你签署一个麻醉同意书,相信大家在电视剧中也看到过类似的东西。

前往手术室等待手术

签署完后,就等待护士找你去手术室。我是下午两点被叫去手术室的。

因为我是锁骨手术,本身可以正常行走,因此,就没有躺着去手术室。实际上也可以躺着,但我想自己这么胖,就不太好请瘦弱的护士把我送过去了。

到了手术室门口,就先坐在门口等待护士整理手术室。

准备开始手术

进入手术室后,你就需要躺在手术床上。脱去你的所有衣物,然后护士会为你盖上手术衣,麻醉医生也会进来,开始和你聊天,并为你注射麻醉药。

注射麻醉药以后很快,你就会感受到意识开始迟缓,直到你彻底昏过去。

手术中

手术中的整个过程中你是无感知的,我自己有感受的时候,已经是手术结束后了。

手术完成后,你会开始初步恢复意识,护士会让你挪到可以拉动的床上,把你送到麻醉恢复监控室。

麻醉恢复

麻醉恢复需要 4-6 个小时,你需要在这里躺着,一动不动,静静的等待意识恢复完全的清醒。

回到病房

当你的麻醉恢复期渡过后,就可以回到自己的病房了,开始你的修养生活。

Tips

麻醉恢复很无聊怎么办?

可以请护士帮你放歌听。比如我当时就是护士有个收音机,让我听了两个小时,熬过了完全清醒的两个小时。

One More Thing

全麻手术别看手术过程中舒服。手术完通过。。。因为全麻手术要插导尿管。。。这都术后第二天了,我撒尿还是疼。。。。

不过,疼了两天,也有经验了。撒尿攒着。。。一次多尿一会,就没那么痛了。

summary

2021 年 8 月月度总结

TLDR

本月看视频更多一些,奈飞的片子的质量还是不错的。这里有很多值得我学习的点。

9月开学了,希望我也能开学,开始学习。

定性分析

社交

本月出行去了趟上海,见了VSCode 中文社区的韩骏老师;还请声动活泼的11同学吃了一段饭。

旅行

去上海录了一次播客;

定量分析

本月内容输出总结

本月在博客写了几篇技术文章,其中,个人认为写的最好的应该属这两篇:

本月收支总结

本月收入: 34590

本月支出: 26543.8

总体来说,略有盈余,希望新的一个月再接再励,本月因为搬家,租房相关消费近5000元,宠物消费近3000元(主要是冰淇淋绝育检查)。

预期九月份高支出项目:

  • 宠物支出:本月冰淇淋准备做绝育;白手套准备打疫苗(第二年的狂犬)
  • 电子设备支出:有可能换 iPhone 13 。前段时间 XS 坏了,换了个 iPhone SE 2020 在用。打算等 13 出来换一个新的双卡手机,这样我的手表中的蜂窝网络就可以用起来了。

本月读书总结

本月读书 2 本,以下为读书笔记:

  • 《小狗钱钱2》:这本书相比于 1 ,离钱更远,离美德更近。可以看看,但可能相比于 1 ,对于人的帮助不那么大。
  • 《斯科特·凯尔比的零基础摄影后期课》:个人感觉非常实用的一本书。

本月学习总结

本月学习了一门课程:

  • 彩蜂摄影杂志的后期课程

本月娱乐总结

本月继续看 Netflix,看完的视频包括:

  • Rick And Morty 第五季
  • 爱、死亡与机器人 第二季
  • 太空部队

年度回顾

  • Linux 中国的改造计划:0/2
  • 海外收入计划进度:0/$1000
  • 减肥计划:210/170
  • 优质文章产出:2/50
  • 1W stars 项目:1500/10000
  • 年入 5000 的项目:0/5000
  • 收入结余:25K
Hello World text

彩云翻译 API 丢失换行的问题

在使用彩云翻译的 API 进行应用开发的时候,遇见了一个很尴尬的问题,提交上去的内容会丢失换行。

202108292019753
示意图

于是给彩云翻译的邮箱发了一封邮件,一天后,我就收到了官方人员的微信好友邀请(因为我的微信写在邮件的footer)。

经过一番沟通后了解到,目前彩云翻译的 API 会默认移除换行符 & HTML 标签,因此,在开发时,暂时还需要自行对文本进行切割,提取其中的文本内容,按段进行翻译,解决这个问题。

不过,官方也在反馈,会评估提供翻译 HTML 文档的能力,期待一下吧。

202108292022971

orange pink keyboard

发布 NPM 包时,遭遇 You should bug the author to publish it (or use the name yourself!) 怎么办?

在发布一个 NPM 包时,我遭遇了这样的一个问题:

You should bug the author to publish it (or use the name yourself!)
Code language: PHP (php)

经过查询后发现,是因为我之前使用的 Login Token 失效了,在这种情况下,只需要重新执行npm adduser添加用户,即可解决问题。


我之前以为是 login 没用,要 adduser 才能使用,后来查询了一下 npm 的文档发现 login 是 adduser 的一个别名,二者功能是一样的,因此,不存在 login 的权限不如 adduser 的问题。