Typical 码农湾区生活体验

本文是 womenoverseas 论坛上“分享你的本地生活体验”活动的回答


两年前写过一篇博客大概讲湾区的生活,不过现在经历了疫情有了新的感受,那篇文章也主要针对的是人在中国还没有移民的受众,感觉论坛这次活动是很好的更新内容以及针对已经在海外的想要 relocate 的大家安利完全破除一些可能因为中文网上主流声音(aka 中国男码农)而造成的对湾区的误解的好机会,所以完全重新写了一篇。

Continue Reading

Mastodon 中文全文搜索失效 debug 日记及修复方法

我的长毛象实例最近全文搜索失效,debug 了一下失效原因。简而言之,elasticsearch 自动更新了,所以之前装的中文全文搜索 plugin 本来是给 6.8.12 built 的,现在 6.8.14 运行不了,elastisearch 就卡死了。

解决方法:

1. 在根目录下运行
/usr/share/elasticsearch/bin/elasticsearch-plugin remove analysis-ik
/usr/share/elasticsearch/bin/elasticsearch-plugin remove analysis-stconvert
来卸载旧版本 plugin。

2. 运行如下两个命令下载为新版本编译的两个中文 plugin。
/usr/share/elasticsearch/bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/
download/v6.8.14/elasticsearch-analysis-stconvert-6.8.14.zip

/usr/share/elasticsearch/bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-stconvert/releases/download/v6.8.14/elasticsearch-analysis-stconvert-6.8.14.zip

3. restart elasticsearch,运行 sudo systemctl restart elasticsearch.

以下是 debug 过程,不想深入研究的可以不看。

  1. 今天早上本站用户说搜索坏了,搜不到嘟文只能搜到用户名和 tag,我当时在手机上以为是之前搜索不全的老问题。
  2. 今天晚上自己测试了一下,确实任何全文搜索都搜不到,打开 sidekiq 发现从四月初开始 failure 暴增,应该是有问题。
  3. failed message Faraday::ConnectionFailed: Failed to open TCP connection to localhost:9200 (Connection refused - connect(2) for "localhost" port 9200) ,Google 此 message 可知是 elasticsearch (后简称 ES)的问题。
  4. Google 如何查看 active ports(没错这玩意儿天天用但是永远记不住,but why bother though),用 sudo netstat -tulpn | grep LISTEN 发现 9200 not active.
  5. Google 如何重启 ES,运行 sudo systemctl restart elasticsearch ,但发现 sidekiq 失败 message 并没有下降。Google 如何查看 ES 状态,运行 sudo systemctl status elasticsearch,发现重启失败,最后一行报错是 JAVA_HOME not set.
  6. export JAVA_HOME=/usr/bin/java ,重启 ES,发现没有解决问题,Google 之后发现有人说可能这并不是错误所在。
  7. Google 如何查看 ES log,运行 less /var/log/elasticsearch/elasticsearch.log ,发现报错 uncaught exception in thread [main]
    org.elasticsearch.bootstrap.StartupException: java.lang.IllegalArgumentException: Plugin [analysis-ik] was built for Elasticsearch version 6.8.12 but version 6.8.14 is running
  8. 在 mastodon doc(https://docs.joinmastodon.org/admin/optional/elasticsearch/ )里找到当初安装的俩中文 index plugin repo,进入 repo 找到安装方法,Google remove elasticsearch plugin 方法卸载旧 plugin,安装 6.8.14 相对应新版本的俩 plugin。
  9. 重启 ES,查了几次 status 发现运行稳定,sidekiq 里 failed retry queue 稳定下降,在 Mastodon 里随便搜了几个中文出现了过去的嘟文,确认问题解决。

如果喜欢本文的话,欢迎在 Patreon 给我打赏顺便解锁一下小 perks(不喜欢月费的话页面最下方可以 make custom pledge 输入自定义金额 (ง •̀_•́)ง)。Patreon 里提供诸如 1:1 聊天和博客选题投票等金主特权,如果想多聊几毛钱欢迎来成为金主:Become a Patron!

Scaleway Object Storage 不稳定和 Mastodon 迁移备份笔记

我的长毛象实例 douchi.space 一直采用 Scaleway 的 Object Storage,因为它们前 75G 免费,对于这种小服务很划算。但是最近一个月连续发生两次故障,因为是免费 tier 所以客服修复的时间也没有保证。本文记述了故障可能的产生原因、debug 过程、修复方法和以后可能采取的 precaution messures。

Continue Reading

我的金钱/理财/职业观(鸡汤?)

本来这篇文一直扔在 backlog 里,在 patreon 投票上也鲜有人感兴趣(最初还没确定好范围标题确实起得太差了),于是一直没什么兴趣提笔写。不过最近零零散散在各个平台聊到相关,不妨干脆一鼓作气写了。

Disclaimer:人生选择鲜有控制变量和 A/B test 的机会,我也只是一条路上工作了几年三十出头的普通从业者,人生偏好和目标上更算不上大众(比如打死我都不会生孩子,再比如职业上对比快、攒钱退休这种事情毫无兴趣),理财更远谈不上有研究,因此我的选择很可能并不是最优,也不一定适合你,因此大家看看就行了,本文并不构成理财建议。

Continue Reading

2020,难得一份充满 deliverables 的年终总结

以前看到诸如“哪些事情你三十岁以后才知道”话题以及部分男言之瘾患者“你将来就知道了”的倚老卖老,甚至有点迫不及待长到这个年纪来打他们的脸。真的长到这个年纪发现,嗨,跟过去也没什么不一样嘛,依然讨厌小孩,工作依然在一线而且组里技术向的也全都比我老,依然没有想 settle down。

不过,今年大概是因为情况特殊,算是个人开始瞎捣鼓 side project 的元年,很多拖了几年甚至十几年没做的事情今年都做了,也工作以来第一次明确了下一步生活上要尝试什么方向,还蛮有成就感的。

Continue Reading