如何注册日区 Apple ID 以及初次登录日区 App Store

之前一直使用美区的账号,但突然发现有一些 App 在美区也没有,比如去日本经常需要用到的「乗換案内」就搜不到,美区里面尽是一些冒牌的,还穿插各种广告的应用,还有很多日本本地的一些应用也几乎都没有上架美区。

比如:

  • 美食点评的「食べログ」 官网
  • 闲置物品出售的「ジモティー」 官网
  • 冲洗照片的 ノハナ(nohana) 官网
  • 等等

注册日区 Apple ID

  1. 进入日本苹果官方主页 https://www.apple.com/jp/ ,在页面下方找到 「Apple ID の管理」。
  2. 进入新页面之后,找到 「** Apple ID を作成 **」
  3. 接下来就是开始填写账户的具体信息,包括姓名,出生年月,邮箱,密码等。
    1. 这个地方可以教大家一个 Gmail 的技巧,比如你的 Gmail 账号是 demo@gmail.com ,那么 demo+jp@gmail.comdemo+hk@gmail.com 都是你的账号,Gmail 是会忽略 + 后面的内容的,另外还有一个小技巧是 Gmail 用户名中的点都是会被忽略的,所以 de.mo@gmail.comd.emo@gmail.com 同样也是你的账号 。那么这就非常方便了,我就用 demo+jp@gmail.com 来注册日区的账号就行了。
    2. 密码直接用 Bitwarden 生成一个复杂随机密码
    3. 电话号码这里一定要注意填写你能收到验证码的手机,Google Voice 的号码这里也是可以的
    4. 下面两个可选项「お知らせ」,「App、音楽、テレビ番組など」可以不用勾选
  4. 然后点击「次に進む」,猜意思也能知道是「Next」的意思

经过以上的步骤就注册了一个没有绑定支付方式的 Apple ID 了。以后的步骤就是在 iPhone 上登录这个日区账号,并完成最后的注册。

  • 在 iPhone 上的设置(Settings)中,点击最上方的头像,然后找到其中的「Media & Purchases」,记住这里一定是点击这个蓝色中间带 A 字的选项,然后点击「Sign Out」
  • 等登出之后,再点击,此时会问是否要以原来手机的账户登录 App Store,这里一定要选择「不是」
  • 然后再使用日区的用户名和密码登录,此时手机会收到二步验证的验证码
  • 下一步之后,为了保证操作步骤没有问题,可以先使用 代理 ,使用日本的 IP,然后 App Store 会弹出当前大致意思是当前 Apple ID 还没有使用过 App Store,需要完善一些一些信息,从上到下依次是:
    • 首先选择的是支付方式,需要选择 None 或者 ない
    • 然后填写姓、名,正常情况下填写英文名就可以了,如果要求一定要使用假名的名字,可以到 这个网站 生成一下自己中文名的假名名字
    • 地址的话,可以到 Google Map 中选择一个自己喜欢的地方,同样城市,邮编,电话等等,就按照个人情况填写即可,我在中间遇到的一个问题是,我复制了日语的街道名字,但是我的手机全局设置的是英文的系统,然后校验说我有非法字符,无奈我只能把地址也全用英文转写了一遍,这里可以参考 Google Map。
    • 最后点击右上方的 Next,就完成了全部的注册。

登录成功之后就会发现 App Store 中的搜索关键字也变成日文了,热门推荐应用也变了就表示可以了。

下一篇再整理一下在日本常用的 App 吧。

另外如果有人需要日区的 Gift Card,也可以到这里 咨询购买。

另外本人开设了 日本生活记录 的新博客,如果想要了解日本的真实生活欢迎访问。


2022-11-24 apple-id , apple-store , app-store , japan , 日本 , 应用市场

一键将本地的照片展示在网页 Photoview 使用

在调研个人的照片托管方案的时候,发现了一款不错的,很简洁的,开源照片展示程序 Photoview。下面就简单的介绍一下。

Photoview 是一款可以在线展示相册的应用,使用 Go 和 TypeScript 编写。

Photoview 可以将本地的文件夹变成一个在线的相册,Photoview 会定期扫描本地的文件,包括照片,视频,然后将起展示在 Web 中,Photoview 还还有一个手机客户端。

Photoview 的特性:

  • 和文件系统同步,自动扫描发现,可以在 [[Samba]],[[FTP]] 甚至可以和 [[NextCloud]] 一起使用
  • 多用户支持
  • 支持共享
  • 可以提取照片中的地理位置信息,并使用 [[Mapbox]] 来在地图中展示照片
  • 支持 Raw
  • EXIF Metadata
  • 共享照片

photoview overview

使用

如果不想自己安装,那么可以通过之前我介绍的 PikaPods 来安装体验一下。注册登录之后,找到 Photoview,然后一件安装即可。

缺点

在使用的过程中,发现唯一不足的是,Photoview 正如其名,只能查看,没有任何上传和编辑的功能。


2022-11-22 photo , docker , photo , photo-management

curl 使用小技巧

使用 curlr 配置 curl 代理

如果本地 1080 端口有一个 sock 代理,可以创建 ~/.curlrc 然后放入以下内容,就可以让 curl 默认就走本地 sock 代理。

socks5 = "127.0.0.1:1080"

格式化 curl 输出内容

API 调试过程中除了使用 GUI 工具(类似:Postman)我最常使用的就是 curl 命令了 ,简单快捷,但是 curl 的输出结果不是特别友好,特别是 json 格式,会在命令行里输出成一个长字符串

使用 Python 工具格式化输出结果

curl https://test.com/api/test | python -m json.tool

使用 npm json 包格式化

npm install -g json
curl https://test.com/api/test | json

隐藏 curl 统计信息

在使用上面的格式化命令时,curl 会在输出结果前先输出一段统计信息类似:

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   427  100   427    0     0  17300      0 --:--:-- --:--:-- --:--:-- 17791

可以使用 curl 的 -s 参数来隐藏这段统计信息:

curl -s https://test.com/api/test | python -m json.tool

curl -s https://test.com/api/test | json

参考


2022-11-21 curl , linux , cli , json , format

《工作、消费主义和新穷人》读书笔记

怎么知道的这一本书

前些日子去线下逛书店的时候,在书店刚进门的架子上一眼就看到了这一本,或许是这本书的名字起得太吸引眼球了,但是拿起来之后看到作者才意识到这本书是之前刚刚读过的 [[现代性与大屠杀]] 的作者 [[齐格蒙 鲍曼]] 的著作,这更让我提起了兴趣。

这本书的名字中包含了三个关键字,「工作」、「消费主义」、「新穷人」。第一个关键字「工作」,不言而喻,第二个关键字「消费主义」,虽然不断被提起,但鲜有人去解释什么是[[消费主义]],以及什么样的行为是消费主义。而第三个关键字「新穷人」,则是鲍曼提出的新概念。

关于作者

[[齐格蒙 鲍曼]] 是当代西方著名的思想家之一。生于波兰,在多个大学任终身教授。一生出版了超过 50 多本著作,包括了 [[现代性与大屠杀]]、《社会学之思》、《立法与阐释者》、《流动的现代性》、《全球化:人类的后果》,以及这一本《工作、消费主义和新穷人》,被誉为「当今用英文写作的最伟大社会学家」。

几句话总结书的内容

  • 人们创造了工作伦理
    • 用来解决工业化所需的劳动力,并为后传统社会中无法适应环境变化,无法维持生存的人提供生活必需品
    • 工作伦理本质上是对自由的摒弃。
    • 目的是把人们所做的事、认为值得做、有意义的事分离开来,把工作本身和任何切实的、可理解的目的分离开

工作

布莱恩 恩格利斯(Brian Inglis)描绘当时的情形:形成的共识是,穷人是可以被牺牲的,无论他们是否该对自己的处境负责。如果有什么办法可以在不增加社会风险的前提下简单地摆脱他们,李嘉图(Ricardo)和马尔萨斯(Malthus)肯定会建议这么做。

但并没有可以「简单地摆脱穷人」的方法,所以在长期探索之后,找到了解决方案:工作 —- 唯一体面的、道德的、可行的生存方式。

大「大量减少」穷人的过程中,工作伦理的贡献是无价的。毕竟,工作伦理主张:无论生活多么悲惨,只要它是由劳动报酬支撑的,就具有道德优越性。有了这样的道德准则,满怀善意的改革者可以宣布,社会向无收入者提供的援助应当符合「最小化原则」,并认为这个原则是向更人道的社会迈出的重要一步。「最小化」意味着那些依赖救济而非工资收入的人享有的生活质量,必须低于最贫穷、最悲惨的劳动者。

真正的穷人被识别、隔离出来(救济院,救济法),穷人开始考虑工作伦理的要求,尽管工厂工作要求苛刻,但相较于其他选项是否那么糟糕。一旦有了比较,工厂中微薄的工资和无趣繁重的苦役,似乎也没有那么不能接受,甚至令人向往。

当下以及未来,工厂工人的选择大幅减少。救济院外不救济的原则是推动「没有选择」策略的一种体现,另一种体现是引入「仅供生存」(hand-to-mouth existence)的概念,把薪水保持在一个足够低的水平,工人们只能靠它活到第二天的黎明。除了辛苦工作,别无选择。

一些额外的保险措施,对肉体的胁迫或许是最佳选择,体罚、削减工资和粮食至低与生存水平,尤其是每时每刻、没有死角地监督所有违反规则的行为,并及时处罚,能够有效地让穷人滞留于几乎没有选择的境地。

若希望工人道德完善,必须扩大其自由的边界,但是工作伦理,在早期的历史上,选择了削减穷人的选择。

这种表里不一未必是有意为之,甚至没有被意识到。

个人生活。工作为人们提供了日常所需,工作类型决定了他们生活中,在社会的合理地位。 社会秩序。工业化现代社会中,绝大多数的可支配时间、成年后的大部分岁月都是在工作中度过的。让大部分男性进入工厂工作是生产和维持社会秩序的主要手段。

工作伦理是一种工具,目的是使工人们丧失独立性,服从于工厂制度。

在美国和其他一些地方,这个新的出路是「物质激励」,对那些放弃自身独立性,服从工厂的工人给予奖励。与其宣扬努力工作通向道德高尚的生活,不如告诉大家这是赚取更多金钱的手段,不要在意「更好」,「更多」才是重要的。现在衡量人们声望和社会地位的是工资的差别,而不是勤于工作的道德或惰于工作的罪恶。

社会生存质量的权力斗争变成了获得更多金钱的斗争,经济收益成为自治自主的唯一体现。它实现了当初工作伦理在经济手段和偶尔的肉体胁迫的帮助下徒劳争取的目标。在现代生产者的思想和行动中,与其说是「资本主义精神」,不如说是以经济水平评判人的价值和尊严的倾向。把人的动机和对自由的渴望牢牢地、不可逆转地转向消费领域。决定了现代社会从生产者社会转向消费者社会。

消费主义

经济增长是衡量现代社会是否正常有序运行的首要标准。

消费者社会中,与其说经济增长取决于「国家生产力」,不如说取决于消费者的热情和活力。

消费取代了工作,把个人动机、社会整合和系统再生产链接在一起。

就像一个人如果只会赚钱不会花钱,那也没有什么值得称道的,只有买了什么东西才值得被称道。

工作在消费社会中离它对个人动机、社会整合和系统再生产交汇的能力越来越远。把穷人的悲惨遭遇归咎于他们不愿意工作,指责他们道德沦丧,把贫穷说成是对罪恶的惩罚,这是工作伦理在新的消费社会能做的最后贡献。

贫穷不仅限于物质匮乏和身体上的痛苦,也是一种社会和心理状况。每个社会都有「体面生活」的衡量标准,无法达到这个标准就会烦恼、痛苦、自我折磨。

福利国家

福利国家(Welfare State):国家有责任和义务保障其所有公民的「福利」,不仅仅是维持生计,而是在身处的社会中有尊严地生存。

国家福利出现在下面的压力之下([[福利国家诞生的原因]]):

  • 处于困境的资本主义经济无法在确实政治帮助的状态下依靠自己的力量生存
  • 有组织的劳工,无法在缺失政治帮助的状态下确保自己不受「经济周期」的影响
  • 通过减轻社会不平等来保护和重申会社不平等原则
  • 通过边缘化无法参与到再生产的人来刺激社会接受不平等
  • 帮助社会成员度过不受政治控制的经济冲击

如果没有福利国家,社会阶级的矛盾就难以调和。福利国家的长盛不衰被解释为它缔造的维持和平的能力:使工人更容易接受资本家设定的规则,且成本更低。只依靠强制措施的工作伦理无法做到。

福利国家的溃败

  • 雇主们不再需要国家来帮忙管理后备劳动力,多余的劳动力可能永远不会再成为商品。
    • 劳动力市场的灵活转移(异地,跨国)
    • 时代发生了变化,公司以股票价值而非产品数量来衡量
    • 在远方国度,在缺乏公共福利压力的政府支持,当地政府允诺不需要承担责任
    • 全球流动自由削减了补充劳动力的经济负担
  • 福利国家和消费主义社会格格不入
    • 产品的营销宣扬差异化和选择,而福利国家则必须追求公民生存环境、需求和人权的平等,他们彼此是对立的
  • 平权行动,在就业、晋升、升学方面优先照顾其他族裔(非裔和拉丁裔)的运动
    • 平权法案的存在,使得很多「业已成功」的非裔遭受轻视和贬低
    • 平权法案使得非裔快速实现家庭收入的增长,社会地位的提升
    • 福利国家或平权法案的发明者,他们心中所念的是消除贫困,集体关怀和帮扶弱者,补偿获得机会的不平等,从而使得机会更平等,但事情的发展却大相径庭:获得社会帮助并脱离劣势地位的人,不仅失去了反馈的动力,而且变成了最强烈的诋毁者。
    • 福利国家最初的理念是反对任何区别对待,福利国家的创始人希望一劳永逸消灭贫穷,屈辱和绝望。但是福利国家没有实现,它确实培养了受过良好教育、健康、自信、自立的人,但是这些人为了维护自己刚刚获得的独立,需要把「已获得成功的人有责任帮助尚未成功的人这种社会公式连根砍断」受益于国家福利体系的热衷的却是削弱集体保险和社会福利工资的影响。

工作伦理和新穷人

19 世纪初,工作伦理传道者宣扬,劳动是财富的唯一来源,生产更多的东西基本等同于让更多的人参与生产过程。工作伦理调和生产者和参与产生的穷人的矛盾,是国家富强,使个人脱贫。

20 世纪末,美国的「以工代赈」计划得到了越来越多富裕国家的支持。

今天,接受救济的穷人是否真的不愿意参与生产,都丝毫不会影响生产力的增长。现代的企业不需要更多的工人增加利润。即使他们需要工人,在世界其他地方也容易找到,并且价格便宜,这加剧了本地穷人的贫困。

如今,对大公司而言,进步首先意味着「裁员」,科技进步意味着用软件取代人。证券交易市场无意中成为了企业利益最真诚的代言人,某国整体失业率快速上升时,看不到证券市场有任何焦虑,反倒可能表现火爆。

定居者与游牧者

罗伯特 赖希(Robert Reich)提出劳动力市场存在四类职业:

  • 引导者,包括发明家、广告商、推广者和商人
  • 各领域、各层次的教育工作者,从事可雇佣雇佣劳动力的再生产,把劳动力塑造成可供购买和消费的商品
  • 消费市场服务的人,他们的工作是激活他人消费能力,大部分是产品的销售者和培养消费购买欲望的人
  • 常规劳动者(routine,labourers),配至于传统流水线,新改进的自动化电子设备终端,比如说超市收银员
    • 临时的、不稳定的、用完即弃、容易被替代的、与从事的工作关系脆弱的人

显然,最后一类人在出售劳动力时面临的困难最小,潜在的买家不会特别挑剔。常规劳动者从事的工作既不需要难以掌握的稀有技能,也不需要面对面与顾客沟通所需的特殊技能,因此可以在有偿的工作中切换。但出于同样的原因,也很容易被弃用。

游牧资本要转移时,定居的劳动力根本无法阻碍它的转移。

失业到过剩

失业(unemployment)一词普遍用于没有工作收入的人,表达出就业才是正常态这个假设。前缀 un 表示这是一种非正常现象。

随着经济周期每一次轮回,「失业」这个概念的内涵发生了变化,「失业」之下的希望也越来越不切实际,「过剩」这个词替代了「失业」。

于失业这个词不同,「过剩」没有任何哪怕是隐晦、含蓄的承诺。没有暗示这是「非正常」的状态,没有暗示偏离轨道,没有暗示目前的痛苦是短暂的。

失业者,虽然暂时没有工作,但是一旦环境好转,就有望回到生产者行列。但是「过剩」的人则不同,他们是多余的、编外的、不被需要的。(社会的续存无需更多的人从事生产),要么是由于经济和技术进步(有了新的生产力,较少的人就可以满足),变得不再必要。

全球化之下的工作与过剩

现代化不应该被解释为「通往现代性之路」。

全球化远没有做到为所有人都提供就业和技术。

现代化席卷全球,现代生活方式也遍布全球,导致两个直接的后果:

  • 曾经能够定期、及时地清理少数现代化地区过剩人口的通道被堵死了,过程的人口的产生超过了回收能力。
  • 过剩不再是一部分人的问题

新穷人的前景

工业时代的穷人被重新定义为劳动力后备军。稳定的就业成为了典范,失业与贫困华商等号。诱导穷人去工厂工作,并在必要时强迫他们接受自己的命运。

把穷人培养成未来的劳动者,曾经在政治和经济上都很有意义。但是在,后现代的消费者社会,变得没有意义。现代的经济不再需要大量的劳动力,已经学会了在较少劳动力以及成本的同时增加利润和产出。同时规范和「社会纪律」的服从,主要是通过商品市场的吸引力来保证。

人是具有创造力的生物。如果认为标价牌是区分工作和非工作、努力与懒惰的标准,那是对人类本性的贬低;如果认为没有收益,人们宁愿闲着,让自己的技能和想象力腐烂生锈,那是对人类本性的肢解。

把工作从以市场为中心的计算和限制中解放出来,就必须以工艺伦理来取代劳动力市场发展过程中形成的工作伦理。

启发或想法

读完全书,我很难想象这是一本写在 1998 年的书,对于那个全球化还没有发展地那么繁荣的时代,就能够像一眼看穿未来 20 年一样,2019 年底 Covid-19,川普的上台,外资的逃离,北京清理低端人口,和最近的硅谷科技公司大规模裁员,作者就像是亲历者一样。作者行文的逻辑清晰,从工业时代的工作,到后现代,消费主义盛行下的工作变化,以及穷人在整个社会中位置的变化都描述得非常清晰。虽然这些推理在当年都只存在于哲学家脑海中,但无奈过去的历史恰好印证了如此。

谁应该看这本书

任何身处在这个社会中的社会人,有一些社会阅历再来阅读或许会更加容易明白吧。


2022-11-20 reading , reading-2022 , reading-2022q3 , 鲍曼

《活法》读书笔记

怎么知道的这一本书

这本书一直非常出名,[[稻盛和夫]] 的名字一直非常响亮,但我似乎对其没有任何了解,这一本书也是非常机缘巧合地在楼下的图书馆里面看到了。

关于作者

[[稻盛和夫]] 是以为日本的企业家,被人誉为经营之神,他创办了日本的 KDDI,也把日航从破产边缘救了回来。

在看这本书的过程中才突然想起来他刚刚去世的新闻,还在播客上听了一期有关于他的播客。

几句话总结书的内容

这本书主要是讲了稻盛和夫自己的人生哲学,为人处世之道,经营理念等等。但全篇比较散,甚至可以按照小章节一章章阅读。

  • 为什么活?
    • 磨砺灵魂,提升心智
      • 通过工作和劳动
  • 要做什么?
    • 做正确的事,从人类社会的基本道德伦理出发,正直,诚实,谦虚,善良,节制,利他
  • 要怎么做?
    • 有愿望,「心不唤物,物不至」
    • 要努力
    • 有规划,「对要做的事情形成清晰的图景」
    • 精益求精,细节改进

启发或想法

过去的一年中,我曾经不止一次的问过我自己,我 10 年之后在做什么?还在从事着一份开发的职业吗?未来 10 年里外面的世界会发生什么样翻天覆地的变化呢?2019 年 Covid-19 以来,这个世界变化的速度一度让我无法更上,前两天整理书的时候还开玩笑地嘲讽 [[赫拉利]] 在 [[未来简史]] 书封上说的「瘟疫、饥荒和战争已经被人攻克」。但我读完这一本书我知道,我只要每一天都比昨天「更好」,离我的目标更进一步,我就不会再那么迷茫。稻盛和夫说:「为了在死的时候,灵魂比生的时候更纯洁一点,或者说带着更美好、更崇高的灵魂去迎接死亡。」让我想起了[[穷查理宝典]] 中 [[芒格]] 说到的「每天起床的时候,争取变得比昨天更聪明一点」。不管是在物质上,精神上,追求更好的那个自己。通过规划,将未来 10 年乃至更长时间内的计划在脑海里面制定出来,我也就不会再去追问「人为什么活着」这样的问题了。

谁应该看这本书

推荐无法回答如下问题的朋友:

  • 人为什么活着?人生的真理是什么?生活的意义何在?人生应有的状态是什么样的?

印象深刻的句子

  • 只有主动追求的东西才可能到手
  • 人生方程式: 人生 * 工作的结果 = 思维方式 * 热情 * 能力
  • 复杂的问题简单化

2022-11-18 reading , reading-2022 , reading-2022q3

Mastodon 站点管理:导入自定义表情包

[[Mastodon]] 实例可以允许站点管理员自定义整站上的表情包,管理的地址在 首选项-管理(Administration)-自定义表情(custom emojis) , 具体的页面地址是 https://instance.domain/admin/custom_emojis

下面介绍几种方式来管理 Mastodon 实例上的表情。

手动上传 Emoji

如果有自制的表情,可以通过上传的方式导入。

请右上角上传新表情,格式必须为 png,文件大小不能超过 50KB。

手动拷贝他站表情

如果使用了 [[mastodon-relay-servers|Mastodon 中继站]],那么经过一段时间的使用会导入一些其他站点的表情,在站点管理中能看到。Mastodon 允许将其他站点的标签复制到本站点。

  • 点击“远程”,勾选想要的表情
  • 点击右侧“复制”,即可复制至你站,可以在“本站”中见到

在“本站”一栏可以进行表情分类。

批量下载并导入

Mastodon 的 tootctl 提供了导入 Emoji 的相关命令,那么其实只要准备好表情包,然后通过 tootctl 命令导入即可。

这里就要使用一个开源的脚本,可以从其他网站批量下载 表情

脚本的原理就是利用 Mastodon 的 Emoji API

如何预览一个站点的所有表情呢,有一个在线网站 https://emojos.in/ ,可进行表情包预览(对未开启 authorized_fetch 的站点有效)。

顺便输入一个 Mastodon 实例的地址,得到:

然后执行脚本:

  • 到项目的 release 下载最新发布的二进制可执行文件,右键复制下载地址。
  • 在服务器执行:
wget https://github.com/Starainrt/emojidownloader/releases/download/v0.1.0/emoji_downloader_linux_x86_64
chmod +x ./emoji_downloader_linux_x86_64
./emoji_downloader_linux_x86_64

运行程序,根据提示下载。可以自行选择需要下载对方站哪一种表情包分类,对表情包命名有无批量改动。(注意:如果对方站开启了 authorized_fetch 模式,则需要拥有对方站账号。)

最后会下载一个格式为 .tar.gz 的压缩包,里面包括了选择的所有表情。

  • 然后进入 docker 容器,导入表情:
docker cp ./表情路径 mastodon-web-1:/tmp/表情名字.tar.gz
docker exec -it mastodon-web-1 /bin/bash
tootctl emoji import --category 你设定的分类 文件路径/文件名

然后刷新页面,在 LOCAL 管理页面就能看到导入的表情了。

Emoji 使用

在站点发送 Toot 的右上角 Emoji 选择器就可以选择表情使用。或者直接输入对应的表情编码即可。

最后欢迎大家来使用:https://m.einverne.info


2022-11-14 mastodon , sns , twitter , emoji , tootctl

在线工作流 Pipedream 使用记录

今天在看 Grafana 入门 教程 的时候偶然间发现了 Pipedream 这个网站,在 Grafana 的演示中利用 Pipedream 创建 Workflows,然后在 Alert Manager 中通过 Webhook 想 Pipedream 发起调用,然后利用 Pipedream 的能力就可以向集成的应用(Telegram,Email,Slack)等等发送告警通知了。

什么是 Pipedream

Pipedream 是一个可以定义自己的在线自动化工作流的 SaaS 工具,Pipedream 允许用户创建并运行一个工作流,这个工作流可以串联多个不同的应用,可以执行用户代码定义的逻辑。可以认为是一个更高级,可编程的 [[IFTTT]],[[Zapier]]。

Pipedream 可以定义不同的触发器(HTTP,Webhook,定时,收到邮件,RSS,Telegram 消息,Discord Channel 等等)来触发工作流的执行。因为 Pipedream 工作流程允许编程,所以一个 Pipedream Workflow 就相当于直接运行了一个 在线的 serverless 的服务。

特性:

  • 每个月提供 10000 次免费调用,每天近 333 次,对集成的应用,事件源没有任何限制
  • 支持超过 1000 多个外部 APP ,Google,GitHub,Netlify,Twilio,Slack,Discord,等等
  • 并且因为支持编程,并且可以通过环境变量将 API keys 或验证等传入给代码,所以 Pipedream 几乎可以连接任意的应用
  • 可以编写代码完全控制工作流
  • serverless 架构,完全不需要自己的服务器

Pipedream 的用途:

  • 新用户注册,发送通知到 Slack
  • 定时检测网站(RSS,Twitter)更新,发送消息通知,可以通过 Slack,Telegram,Email 等等
  • 调用某个服务器 API,并发送通知
  • 检测自己的服务是否宕机,即使每 5 分钟检查一次,一个月最多也只用了免费方案的 8%

Workflows

Workflows 工作流,集成应用,数据,APIs。

  • Workflows 由代码组成,是代码组织和执行的顺序,包含多个 steps
  • 通过 Event(事件)触发,可以是 HTTP Requests,或者定时触发
  • 添加 steps 来执行 Node.js, Python,Go,Bash 等等,或者使用内置的 actions
  • Steps 按照 Workflow 中定义的顺序执行
  • 每一个 step 产生的数据可以通过 step 对象获取

2022-11-08 pipedream , ifttt , workflow , email , rss , telegram , serverless , saas

Obsidian 中的日语学习工具

介绍一下在 Obsidian 中学习,记录日语笔记相关的插件。

Furigana

Furigana,注音假名,{振り仮名|ふりがな},日语中为了表示汉字读音而在其上方或周围附注假名表音符号。印刷时内文以 7 号格大小的文字和五号格大小的振假名为标准。其别名为 ルビー,来自英语的 ruby,英国对 5.5 号字体的传统称呼,因此印刷物的振假名也被称为 ルビ。

网页 ruby 元素

W3C 为网页提供了 <ruby> 元素,虽然这个概念在 2001 年就被提出,但是一直没有被正式写入标准。

如果在网页中使用:

<ruby>漢字<rt>かんじ</rt></ruby>

那么浏览器在渲染的时候就会将日语假名显示在汉字上方。

Markdown furigana

Markdown furigana 沿用了 markdown-it-ruby 的语法

在 markdown 中使用如下的语法时

{漢字|かんじ}

就会渲染成:

<ruby>漢字<rt>かんじ</rt></ruby>

在显示的时候就会将假名显示在汉字上方。

obsidian furigana

同样这个插件不仅支持假名,注音,拼音都可以使用相同的语法进行标注。

Word Splitting for Japanese in Edit mode

Word Splitting for Japanese in Edit mode 是一个在编辑模式下强化日语分词的 CodeMirror 编辑器的 Patch,就和之前用的中文分词插件一样,使得在 Obsidian 下选择单词更加智能,因为中文,日文都不是像英文那样使用空格来区分单词的,所以在选择的时候极有可能不是想选择的部分,这个插件可以让选择单词变得更加简单。


2022-11-06 obsidian , japanese , obsidian-plugins , hiragana , furigana , html-ruby , html , w3c

打字输入练习网站推荐

整理一下之前收集在笔记本里面的在线练习打字的网站。输入的速度直接影响了是否能够快速的整理自己的思绪,之前看到 [[Ali Abdaal]] 能够在 1 分钟的时间内输入 150 多个单词1,如此高效的输入效率也能看出来他对效率的追求。

当然普通人的正常输入速度也就在 40~80 word per minute,但通过一些指法的训练,和一些技巧,输入的速度也可以得到一定的提升。

练习编程语言输入

Code Typing Script 代码测试打字速度,可以选择不同的编程语言。

练习英文输入

Ali Abdaal 提供的一些 Tips:

  • 在 macOS 下可以通过 Option + backspace 来向前删除单词
  • 做一些输入练习 10 Fast Fingers 是一个在线的输入速度测试网站。
  • 定向训练,比如使用下面的提到的 keybr 这个网站上的单词不是真实的单词,但是可以通过输入的错误来定向看看哪些字母输入错误比较多

monkeytype

monkeytype 是一个支持多语言输入练习的网站,可以统计输入速度,注册帐号之后就可以保存历史的记录。monkeytype 还支持中文,韩文,日文,等等语言。

monkeytype 也是开源的,可以直接在 GitHub 上看到其源代码。

Qwerty Learner

打字练习的网站。

蓝豆打字

蓝豆打字,来自评论中玛卡巴卡的推荐。蓝豆打字是一个在线打字练习的网站,渐进式、智能辅助、强化记忆。

keybr

typing.io

typing.io 是一个编程打字练习网站。在线通过编程练习来训练输入的效率。

codeflow

codeflow.biaoyansu.com 是一个开源的在线指法练习网站。提供了常用的关键字、单词、词组、句子、标点输入的指法练习。

codeflow

typelit.io

通过打小说来练习打字

typingclub

系统学习打字

练习中文输入

我个人使用小鹤双拼,在入门的时候就找到了如下两个不错的在线 [[双拼打字练习网站]] :

练习韩语输入

待补充。

联系日语输入

日语输入,提供了包括单词、新闻、歌词、文章在内的很多内容。


2022-11-03 type , touch-type

调查 Netdata 10min cpu iowait 告警

这些天在一台备份服务器上安装了 Netdata 做监控之后每天都会给我发送很多 10min_cpu_iowait 的邮件告警。

简单的看了一下这个 指标 的说明,指的是 10 分钟间隔内 iowait 的平均等待时间。iowait 指的是当 CPU 空闲的时候至少有一个 I/O 请求的时间占比。

To summarize it in one sentence, ‘iowait’ is the percentage of time the CPU is idle AND there is at least one I/O in progress.

I/O wait (iowait) 是操作系统还有等待的磁盘 I/O 请求时 CPU 空闲时间的百分比 (man sar)。而在 man top 中 I/O wait 指的是 等待 I/O 完成的时间。

需要注意的是,在等待 I/O 的过程中,系统可以运行其他进程,但是 iowait 单纯指的是 CPU idle 的情况。

一个通常可能的情况这个 10min_cpu_iowait 告警是因为 CPU 请求或接受一些数据,然后设备无法快速地处理这些数据,结果就是 CPU(在下一个时钟周期)空闲,然后就遇到 iowait

每一个 CPU 都会处于如下的状态中的一个:

  • user
  • sys
  • idle
  • iowait

一些性能检测监控工具,比如 vmstat, iostat, top, sar 等等都可以显示这些信息。sar 命令可以输出每一颗 CPU 核心的状态(-P 选项),而其他命令只能输出一个所有 CPU 的平均值。因为是一个百分比,所以这些状态的总和是 100%。1 2

查看 iowait 的方法

top

在 top 命令第三行,CPU 信息列,wa 表示的就是 IO wait.

vmstat

执行 vmstat 1 每秒打印一次结果,在输出结果的最后面 wa 就表示 IO wait。

sar

sar 命令在 sysstat 包中。

执行 sudo sar -d 1 3

iostat

执行 sudo iostat -xm 1,结果中的 %iowait

iotop

使用 sudo iotop -oPa 来查看活跃进程累计 I/O

ps

使用 ps auxf ,在 STAT 列下,状态是 D 则表示 disk iowait。

other

  • strace
  • lsof 在确定了进程之后,可以使用 -p [PID] 来确定

告警原因

查看了一下 Netdata 控制面板

netdata dashboard cpu

然后查看了一下当时服务器处理的进程就发现原来是在用 rsync 备份的时候,因为高频读写磁盘导致 iowait 迅速上升。

然后我做了一个简单的测试,手动执行一下备份命令,每次都会导致 iowait 迅速飙高,大概原因就找到了。

如何解决 Netdata 告警

修改 Netdata 告警阈值

默认情况下 Netdata 设置的 10min_cpu_iowait[20,40] Warning, [40,50] Critic。

 template: 10min_cpu_iowait
       on: system.cpu
    class: Utilization
     type: System
component: CPU
       os: linux
    hosts: *
   lookup: average -10m unaligned of iowait
    units: %
    every: 1m
     warn: $this > (($status >= $WARNING)  ? (20) : (40))
     crit: $this > (($status == $CRITICAL) ? (40) : (50))
    delay: down 15m multiplier 1.5 max 1h
     info: average CPU iowait time over the last 10 minutes
       to: sysadmin

因为我使用 docker-compose 安装,所以先进入容器 docker-compose exec netdata /bin/sh,然后

cd /etc/netdata/
./edit-config health.d/cpu.conf

调整其中的 warncrit 数值。然后保存 : wq 。重启 Netdata 容器。

调整 rsync 传输速率

既然是因为 rsync 备份传输文件导致的,那就看一下传输的速率,在 rsync 命令上加上 --progress,可以看到普通情况下能在 20MB/s ,那就限制一下速率 --bwlimit=5m ,然后再执行。可以看到 iowait 稳定在告警线一下。

联系 VPS 提供商

如果发现只有简单的读写,并且速度不高(10MB/s)的情况,可以使用 benchmark 脚本来检测磁盘读写速度:

curl -sL yabs.sh | bash -s -- -i -g

正常情况 blocksize 在 512k 以上,读写速度应该在 100MB/s 以上,否则可能 VPS 的磁盘出现问题,可以直接 Open a ticket ,并贴上命令的结果寻问服务提供商。

reference


2022-10-30 netdata , cpu , iowait , rsync , top , iostat

电子书

本站提供服务

最近文章

  • Dinox 又一款 AI 语音实时转录工具 前两天介绍过 [[Voicenotes]],也是一款 AI 转录文字的笔记软件,之前在调查 Voicenotes 的时候就留意到了 Dinox,因为是在小红书留意到的,所以猜测应该是国内的某位独立开发者的作品,整个应用使用起来也比较舒服,但相较于 Voicenotes,Dinox 更偏向于一个手机端的笔记软件,因为他整体的设计中没有将语音作为首选,用户也可以添加文字的笔记,反而在 Voicenotes 中,语音作为了所有笔记的首选,当然 Voicenotes 也可以自己编辑笔记,但是语音是它的核心。
  • 音流:一款支持 Navidrom 兼容 Subsonic 的跨平台音乐播放器 之前一篇文章介绍了Navidrome,搭建了一个自己在线音乐流媒体库,把我本地通过 [[Syncthing]] 同步的 80 G 音乐导入了。自己也尝试了 Navidrome 官网列出的 Subsonic 兼容客户端 [[substreamer]],以及 macOS 上面的 [[Sonixd]],体验都还不错。但是在了解的过程中又发现了一款中文名叫做「音流」(英文 Stream Music)的应用,初步体验了一下感觉还不错,所以分享出来。
  • 泰国 DTV 数字游民签证 泰国一直是 [[Digital Nomad]] 数字游民青睐的选择地,尤其是清迈以其优美的自然环境、低廉的生活成本和友好的社区氛围而闻名。许多数字游民选择在泰国清迈定居,可以在清迈租用廉价的公寓或民宿,享受美食和文化,并与其他数字游民分享经验和资源。
  • VoceChat 一款可以自托管的在线聊天室 VoceChat 是一款使用 Rust(后端),React(前端),Flutter(移动端)开发的,开源,支持独立部署的在线聊天服务。VoceChat 非常轻量,后端服务只有 15MB 的大小,打包的 Docker 镜像文件也只有 61 MB,VoceChat 可部署在任何的服务器上。
  • 结合了 Google 和 AI 的对话搜索引擎:Perplexity AI 在日本,因为 SoftBank 和 Perplexity AI 开展了合作 ,所以最近大量的使用 Perplexity ,这一篇文章就总结一下 Perplexity 的优势和使用技巧。