Windows 下使用 Neovim

虽然在 Windows 下的 VSCode 用得挺好,但还是想折腾一下 Neovim 试试。Neovim 安装完毕后只是一个简陋的编辑器,需要自己配置和安装各种插件才能进行日常使用,幸好已经有很多现成的开源配置项目,像 LunarVimAstroNvimLazyVim 等。经过试用,发现 AstroNvim 在 Windows 上有一些未解决的 BUG ,比如一直报「 E65: Illegal back reference 」错误。 LunarVim 暂时还没机会测试。暂且选择使用 LazyVim 的配置。

……

Vagrant SSH 登录要求密码

故障现象

日常操作系统是 Windows ,通常使用 Vagrant 来搭建本地开发环境。在某次重装系统后,像往常一样用 vagrant up --provision 命令成功地创建了开发环境,接下来用 vagrant ssh 登录系统时,竟然提示要求输入密码:

[email protected]'s password:

这是之前从未遇到过的问题。虽然可以用默认密码 vagrant 登录系统,但是总觉得不爽。一定要找到原因。

排查原因

vagrant ssh --debug 命令输出调试信息:

DEBUG safe_exec: Converted - Command: `"C:\\Windows\\System32\\OpenSSH\\/ssh.EXE"` Args: `["[email protected]", "-p", "2222", "-o", "LogLevel=FATAL", "-o", "Compression=yes", "-o", "DSAAuthentication=yes", "-o", "IdentitiesOnly=yes", "-o", "StrictHostKeyChecking=no", "-o", "UserKnownHostsFile=/dev/null", "-o", "PubkeyAcceptedKeyTypes=+ssh-rsa", "-o", "HostKeyAlgorithms=+ssh-rsa", "-i", "D:/myproject/devenv/.vagrant/machines/myproject/virtualbox/private_key", "-o", "ForwardAgent=yes"]`
[email protected]'s password:

发现 ssh 命令确实有使用 private_key 文件来进行验证身份。但是不知道为什么失败了,转而要求输入密码。

……

PyPi 使用 API 令牌进行身份验证

像往常一样使用 twine upload 命令将 Python 项目上传到 PyPi 上,意外地遇到了 401 错误:

WARNING  Error during upload. Retry with the --verbose option for more details.
ERROR    HTTPError: 401 Unauthorized from https://upload.pypi.org/legacy/
         User fournoas has two factor auth enabled, an API Token or Trusted Publisher must be used to upload in place of password.

应该是 PyPi 调整了安全策略,不再允许启用两步验证的账号使用用户名密码来上传项目了,必须使用 API 令牌来进行身份验证。

登录 PyPi ,进入账户设置页,点击「添加 API 令牌」按钮创建 API 令牌。然后修改 ~/.pypirc 配置文件, 用户名字段改为 __token__ ,密码字段改为刚才创建的令牌:

……

阳明心学究竟是什么

王阳明本名王守仁,字伯安,号阳明子,故又被称为「阳明先生」。王阳明被称为「中国最后一位圣人」,他的学说「阳明学」不仅在中国,甚至在朝鲜和日本都有着深远的影响。相传东乡平八郎随身携带着一块写着「一生伏首拜阳明」的腰牌。虽然这个故事的可信度不高,但是蒋介石确实是在留学日本的时候接触到「阳明学」,并从此成为王阳明的迷弟,以至于后来台湾很多道路、学校都以「阳明」来命名。由此可见,阳明学的确在近代日本很流行。

……

Fournoas 说:

独裁统治下的个人责任

本文是汉娜·阿伦特《责任与判断》一书中的第一章。这里提供了两个翻译版本。个人认为繁体版的翻译更好一些。

首先,我想評論一下我的書《艾希曼在耶路撒冷》(Eichmann in Jerusalem) 所觸發的激烈爭議。我故意用「觸發」(touched off) 的字眼,而不是一般的「引起」(caused),因為爭議絕大部分是針對一本根本也沒有寫出來的書。因此我的第一反應是,對整件事一笑置之,套句帶有奧地利式風趣的名言:「討論一本沒人讀過的書,再也沒有比這更消遣的了。」不過隨著事情的發展,特別是到後來階段,有愈來愈多的聲音不只因為我從沒說過的話而批評我,也有人相反地開始幫我辯護,我頓時覺得,這有點詭異的操作,可能不只是要聳人聽聞或供人消遣。我也覺得所涉及的不止「情感」(emotions),也就是,不只是誠實的誤解——這在某些情況下確實會引發作者和讀者溝通的破裂——也不只利益團體的歪曲或作假,這些利益團體比較不害怕我的書,而是害怕它可能引發對那個時期的問題做進一步公正無私的詳細檢查。

……

Fournoas 评论《@tombkeeper 的微博》:

东欧团结靠俄国,东亚团结靠中国。这就是大国的职责所在 /滑稽

现在波兰和乌克兰看起来很亲热。不过东欧那片地方的历史是比较复杂的。2016 年有部电影《沃伦》,IMDB 7.6 分。这部电影里的屠杀事件都有历史原型。看一看这部电影,应该就能明白波兰不太可能跟乌克兰有多么真心。

下面这张图片并非出自电影,而是现实中存在的。这块墓碑树立的地方曾是一个波兰村庄 Parosla。在沃伦大屠杀中,这个村庄里绝大部分人都被乌克兰人砍成了碎块,包括妇女和儿童,包括一个六个月大的婴儿。

Fournoas 分享《说王志安是坏逼的原因》:

  1. 给蒙牛洗地
  2. 为虐童老师开脱
  3. 教育年轻人不要拿《劳动法》说事儿
  4. 春运站票应该比坐票贵
  5. 反对政府赔偿因校车事故遇难的学童家属
  6. 反对将癌症靶向药物纳入医保:“得了癌症怎么办?没钱就算了”
  7. “把聂树斌案叙述成冤案昭雪的记者非蠢即坏”
  8. 庆安火车站案,支持警察击毙徐纯合
  9. 走廊医生案,指当事人是精神病
  10. 夏俊峰案,指责对夏俊峰家属捐款是“支持暴力犯罪”
  11. 认为农民郑艳良在家自己锯掉患病的右腿不是因为没钱,而是腿已经坏死锯起来不疼
  12. 认为王克勤专业素养太低
  13. 质疑李承鹏做公益时中饱私囊,在驳斥的铁证面前还要嘴硬:“其实李大眼不见得真有什么问题,主要是态度不好”
  14. 指控青岛白血病女孩鲁若晴是“卖惨骗捐”、“假装患病炒作吸粉当网红”,逼患者自证清白
  15. 郑州暴雨后发表:“如果死亡人数成千上百,寻亲帖子一定层出不穷”。以此证明没死多少人
  16. 欧金中案理客中言论
  17. 徐州董志民囚禁妇女案中发表:“很多被拐卖妇女是不愿意被拯救的……强行解救会造成更大的社会灾难”;评价呼吁DNA验证的邓飞是“性骚扰女下属……想借机还阳”
  18. “国内电价早该涨价,太便宜”
Pynecone 拔草 附应用的手动部署方法

Pynecone 是一个纯 python 的 Web App 开发框架。它的后端基于 Python 的 FastAPI 框架,前端基于 Node.js 的 Next.js 框架。但使用它不需要书写任何前端代码,可以完全用 Python 一把梭。听上去非常诱人,但实际如何呢?

一个简单 Pynecone 应用的代码如下:

pythonimport pynecone as pc


class State(pc.State):
    text: str = 'Hello, World!'
    
    def goodbye(self):
        self.text = 'Goodbye, World!'

def index():
    return pc.text(State.text, on_click=State.goodbye)

app = pc.App(state=State)
app.add_page(index, route='/')
app.compile()

Pynecone 会为每个 Session 维护一个 State 上下文,这个状态数据是保存在服务器端的,只能通过修改 State 的 Props 来间接改变视图。其原理是, Pynecone 生成的前端代码会通过一个 WebSocket 连接和后端进行交互。当用户进行了某个前端操作后,前端会将该事件通过 WebSocket 连接发送给后端,后端将改变后的 State 返回给前端,最后前端更新视图。由于所有前端操作都需要和后端交互,在网络不佳的情况下,会导致前端操作响应很慢

……

非机动车过马路要下车推行吗?

网上看到有人说自己骑电动车通过路口时被警察拦下,并被告知非机动车过马路必须下车推行。那么非机动车通过路口时是否需要下车推行呢?答案是:不需要

交警所谓的「执法依据」是《中华人民共和国道路交通安全法实施条例》第三章、第三节,「非机动车通行规定」中的第七十条之规定:

驾驶自行车、电动自行车、三轮车在路段上横过机动车道,应当下车推行,有人行横道或者行人过街设施的,应当从人行横道或者行人过街设施通过;没有人行横道、没有行人过街设施或者不便使用行人过街设施的,在确认安全后直行通过。

……