把 nvim 格式化改成了异步 [gist]
编辑大文件,保存时要等格式化完,才能继续编辑,改成异步就不用等了,按了保存可以继续编辑,这次没赶上格式化就等下次。
参考的 lukas-reineke/lsp-format.nvim 并做了大量简化(221 >> 39):
- lsp-format 同时支持 sync/async,我只需要 async
- lsp-format 支持多个 LSP,它会依次请求每个 attached LSP,我只需要 1 个 LSP 完成格式化
另外,因为换了
#瞎折腾
编辑大文件,保存时要等格式化完,才能继续编辑,改成异步就不用等了,按了保存可以继续编辑,这次没赶上格式化就等下次。
参考的 lukas-reineke/lsp-format.nvim 并做了大量简化(221 >> 39):
- lsp-format 同时支持 sync/async,我只需要 async
- lsp-format 支持多个 LSP,它会依次请求每个 attached LSP,我只需要 1 个 LSP 完成格式化
另外,因为换了
apply_text_edits() 应用变更,不像之前替换整个 buffer,减少了许多重渲染导致的 blinking,大文件尤其明显。#瞎折腾
https://sxyz.blog/bypass-cloudflare-shield/
最近才知道,除了 TLS 指纹,竟然还有 HTTP/2 指纹,这两种 Cloudflare 都有采用,这篇博客介绍如何绕过它们。
#blog
最近才知道,除了 TLS 指纹,竟然还有 HTTP/2 指纹,这两种 Cloudflare 都有采用,这篇博客介绍如何绕过它们。
#blog
sxyz.blog
绕过 Cloudflare 指纹护盾
最近才知道,除了 TLS 指纹,竟然还有 HTTP/2 指纹,这两种 Cloudflare 都有采用,这篇博客介绍如何绕过它们。 起因 最近发现之前写的搜图 Bot 坏掉了,这个 Bot 接入了 3 个搜索后端,出问题的是 ascii2d.net。由于它最近套上了 Clo
改名啦
新的名字“三咲雅”,初次见面,请多关照!
33 前
33 这个名字前,也是叫“三咲XX”,但因为一次事件放弃了它的中文名,一直在用英文 ID,事件经过大概这样:
当时学计组,开源了个硬盘逻辑锁,只是想介绍下原理,还加了好多注释,但被坏蛋拿去改成了勒索病毒,还是用我名字勒索。
这坏蛋是某贴吧吧主,百度账号也是用得我名字,到他贴吧看了下,中招的人还挺多,综合评估了下,决定放弃这个名字。
有人问,“又不是你干的,你怕什么”,但我就是怕啊!
因为就在前不久,一个搞 iOS 逆向的朋友才刚进去,他给某“老板”有偿逆了个 App,然后这老板拿去非法牟利,我能肯定这事朋友 100% 有错,但问题是,老板把他供出去当替罪羊,自己一点事没有全身而退,相当于把非法牟利罪名都强加给了程序作者,前两年才出来,不知道这么长时间老婆孩子怎么过。
鉴于此,我是真的不想和这事沾边,甚至都懒得去 battle,说不定一不小心给我也整个“帮信罪”,当然那时应该还没这词。
于是就改成了 33,当时想,叫 33 的很多,应该不至于冒充到我头上吧,而且两个数字也很难被查水表。然后这种可能被拿去利用的技术也没再分享过了。并在裙友推荐下顺便注册了个 Telegram,感觉发现了宝藏,慢慢国内 IM 也就很少用了。从此过上了“世界纷扰干我屁事”的逃命生活。
为啥改回来了
- 前些天朋友问
- 想把博客盘活,因为主要受众中文,想有个有辨识度的中文名
-51 咸的蛋,疼
为啥和之前名字不一样
-雅
- 同事经常叫成 yǎ,还挺好听。然后我慢慢成了错字受
-我测速啊,之前安全意识不强,漏了大堆信息
-right to be forgotten
#nofwd
新的名字“三咲雅”,初次见面,请多关照!
33 这个名字前,也是叫“三咲XX”,但因为一次事件放弃了它的中文名,一直在用英文
当时学计组,开源了个硬盘逻辑锁,只是想介绍下原理,还加了好多注释,但被坏蛋拿去改成了勒索病毒,还是用我名字勒索。
这坏蛋是某贴吧吧主,百度账号也是用得我名字,到他贴吧看了下,中招的人还挺多,综合评估了下,决定放弃这个名字。
有人问,“又不是你干的,你怕什么”,但我就是怕啊!
因为就在前不久,一个搞
鉴于此,我是真的不想和这事沾边,甚至都懒得去
于是就改成了
为啥改回来了
- 前些天朋友问
- 想把博客盘活,因为主要受众中文,想有个有辨识度的中文名
-
为啥和之前名字不一样
-
- 同事经常叫成
-
-
#nofwd
尝试完全用 ESLint 代替 formatter,在逐个配完 200 多条规则(eslint+unicorn+import+typescript 能 --fix 的部分),投入使用后,结果让人很沮丧。
拿来格式化 JS 倒行,但 TS 完全不行,甚至 typescript-eslint 每条 formatting rule 文档顶部都在劝退 —— 你需要用专门的 formatter。很多 rules 都有 bug,比如下面这段:
我自己都没认出来,看了半天发现,括号没了。但像 prettier 这种专门的 formatter 能很好地正确处理。
当然也可以禁用出问题的 rules,手动缩进、手动删多余括号,或者自己重新实现它们,但无疑成本高昂。
说到缩进,ESLint 也不会处理 Tab+Space 混合(SmartTab)的情况,非 Tab 用户影响不大,但对我影响较大。
“linter lints, formatter formats”,这句可以很好地总结,就算它们有功能上的重叠,也不能完全互换。
#eslint
拿来格式化 JS 倒行,但 TS 完全不行,甚至 typescript-eslint 每条 formatting rule 文档顶部都在劝退 —— 你需要用专门的 formatter。很多 rules 都有 bug,比如下面这段:
createContext<{
foo: () => void
}>({
foo: () => {}
})@typescript-eslint/indent,@typescript-eslint/no-extra-parens 两个 rule 都是坏的,会被格式成:createContext<{
foo: () => void
}>{
foo: () => {}
}我自己都没认出来,看了半天发现,括号没了。但像 prettier 这种专门的 formatter 能很好地正确处理。
当然也可以禁用出问题的 rules,手动缩进、手动删多余括号,或者自己重新实现它们,但无疑成本高昂。
说到缩进,ESLint 也不会处理 Tab+Space 混合(SmartTab)的情况,非 Tab 用户影响不大,但对我影响较大。
“linter lints, formatter formats”,这句可以很好地总结,就算它们有功能上的重叠,也不能完全互换。
#eslint
👍1
https://service-markup.vercel.app/
Serverless 产品定价对比。
目前看来Upstash、Neon、Cloudflare R2 都比 Vercel 更有优势。
#serverless
Serverless 产品定价对比。
目前看来Upstash、Neon、Cloudflare R2 都比 Vercel 更有优势。
#serverless
分享个 webkit.org 暗色图片处理方式。
如果只是
上次读 WebKit 博客,发现暗色下图片显示也很自然,研究了下他们是自己写了个 SVG filter,只反转黑白色度,红绿蓝尽可能保持。
实现方式见回复 ⬇️
#svg #darkmode
如果只是
filter: invert(1),会导致图片除了黑白部分的其它颜色,发生异变。上次读 WebKit 博客,发现暗色下图片显示也很自然,研究了下他们是自己写了个 SVG filter,只反转黑白色度,红绿蓝尽可能保持。
实现方式见回复 ⬇️
#svg #darkmode
This media is not supported in your browser
VIEW IN TELEGRAM
换到了 joshuto,它是 ranger 的 Rust 替代品,终端下的 vim-inspired 文件管理器。
之前一直在用 ranger,但 ranger 实在太慢了,最后一个版本还在 2019 年。把 joshuto 配好用了下就再也不想回去了。
我的配置:https://github.com/sxyazi/dotfiles/tree/main/joshuto
#joshuto #tui
之前一直在用 ranger,但 ranger 实在太慢了,最后一个版本还在 2019 年。把 joshuto 配好用了下就再也不想回去了。
我的配置:https://github.com/sxyazi/dotfiles/tree/main/joshuto
#joshuto #tui
❤1
Forwarded from R.O.D.
之前在一个群里聊到AI绘画的时候有人说技术本身是中立的云云。回应「哪有什么技术是中立的」之后捅了马蜂窝了,有人说菜刀砍人不能怪菜刀,说我用全称命题否决所有技术的中立性等等。
这里的问题不是哪些技术是中立的,而是中立这个概念是随着人的观点和时代流变的。「中立」不存在,笨蛋。
台湾有台湾的蓝绿和相应的中间地带,美国有美国的,但这两个中间不是同一个中间,同一国家的中立倒推几百年也有很大差别(奥弗顿之窗)。假如我的意识形态是人应该回到部落状态以最原始的方式生活,那一切技术进步都隐含着一种对进步的未来的设定。这样的话自然可以全称地说所有科技都是不中立的。你可以驳斥这种说法极端可笑,但是你不能为你的中立找到一个可靠的支点,你一旦去叙述什么是中立,就是在构造一种意识形态,而不是到达中立本身。
一个看起来很中立的情况,假如我是天才科学家在芯片上发明了一个很棒的结构,而且对制程要求不高,于是被世界广泛采纳。这看起来不带有任何偏向色彩。但是有些人并不这么认为,他们认为现在消费数码正在用更快的指标诱导人计划报废明明用起来没问题的现有设备,实际上对普通人来说设备的性能过剩了,产生了大量电子垃圾往第三世界倾倒云云。相对于追逐更高性能,对于模块化,可维修,可重复使用的需求被刻意忽略了。我可以辩护说我作为研究者和之后产生的消费行为无关,但是科技公司对技术的甄选和包装推销,以及市场对科技的采纳确实可以说选择性的,到达我们普通人身边的技术或多或少蕴含着一种塑造我们生活的期许,而任何这种期许都可以且应当被审视。而有些技术诞生开始隐含的期许就会让许多人感到不适,比如敏感词识别,步态识别,检测维吾尔人的模型,舆情分析…而另一些技术可能就只有小部分人感到不对劲,对大多数人来说看起来就是中立的,要是忽略那小部分人直接宣称这就是中立的就仅仅是在强迫别人遵循你的中立而已。
于是根本没有什么中立,就更没有什么技术中立了。
这里的问题不是哪些技术是中立的,而是中立这个概念是随着人的观点和时代流变的。「中立」不存在,笨蛋。
台湾有台湾的蓝绿和相应的中间地带,美国有美国的,但这两个中间不是同一个中间,同一国家的中立倒推几百年也有很大差别(奥弗顿之窗)。假如我的意识形态是人应该回到部落状态以最原始的方式生活,那一切技术进步都隐含着一种对进步的未来的设定。这样的话自然可以全称地说所有科技都是不中立的。你可以驳斥这种说法极端可笑,但是你不能为你的中立找到一个可靠的支点,你一旦去叙述什么是中立,就是在构造一种意识形态,而不是到达中立本身。
一个看起来很中立的情况,假如我是天才科学家在芯片上发明了一个很棒的结构,而且对制程要求不高,于是被世界广泛采纳。这看起来不带有任何偏向色彩。但是有些人并不这么认为,他们认为现在消费数码正在用更快的指标诱导人计划报废明明用起来没问题的现有设备,实际上对普通人来说设备的性能过剩了,产生了大量电子垃圾往第三世界倾倒云云。相对于追逐更高性能,对于模块化,可维修,可重复使用的需求被刻意忽略了。我可以辩护说我作为研究者和之后产生的消费行为无关,但是科技公司对技术的甄选和包装推销,以及市场对科技的采纳确实可以说选择性的,到达我们普通人身边的技术或多或少蕴含着一种塑造我们生活的期许,而任何这种期许都可以且应当被审视。而有些技术诞生开始隐含的期许就会让许多人感到不适,比如敏感词识别,步态识别,检测维吾尔人的模型,舆情分析…而另一些技术可能就只有小部分人感到不对劲,对大多数人来说看起来就是中立的,要是忽略那小部分人直接宣称这就是中立的就仅仅是在强迫别人遵循你的中立而已。
于是根本没有什么中立,就更没有什么技术中立了。
Kitty 终于支持背景模糊了,配置完漂亮多了,之前只能设不透明度,看久还挺单调的。
https://sw.kovidgoyal.net/kitty/conf/#opt-kitty.background_blur
#tools
https://sw.kovidgoyal.net/kitty/conf/#opt-kitty.background_blur
#tools
Media is too big
VIEW IN TELEGRAM
开个新坑:yazi,一个新的终端文件管理器,使用 Rust 开发,基于 async I/O。
目标是同时兼顾性能、功能,核心部分完全 Rust 实现,减少外部依赖以避免性能瓶颈和体验劣化。
https://github.com/sxyazi/yazi
#tools #oss
目标是同时兼顾性能、功能,核心部分完全 Rust 实现,减少外部依赖以避免性能瓶颈和体验劣化。
https://github.com/sxyazi/yazi
#tools #oss
👏7👍1
This media is not supported in your browser
VIEW IN TELEGRAM
周末把 yazi 的 Input 组件重构了下,按词移动,visual mode,undo/redo,yank/paste,这些基本功能都有了。还支持了 CJK 字符渲染,和长内容滚动。
头一次实现一个 terminal 的编辑器,踩了挺多坑,不过还算有趣。
头一次实现一个 terminal 的编辑器,踩了挺多坑,不过还算有趣。