记录一下每日论文的关键词匹配功能的技术细节:
- 使用 Unicode NFKD normalize,移除 U+0300 到 U+036F 的字符,再 NFC 拼回去,实现 á 和 a 互相匹配。
- 用 (s.match(/[a-zA-Z]+|[^a-zA-Z]/g) || []).filter(i => i !== ' ') 转为 token 序列,可以支持“1+n pattern”等带符号的关键词。
- 使用 Porter Stemmer V2 把每个词变成词干,实现 model 和 models 互相匹配。
- 对于用户提供的自定义 JS 函数,把 eval(s) 改成 new Function('return ('+s+')')() 对 minifier 比较友好。
- 使用 Unicode NFKD normalize,移除 U+0300 到 U+036F 的字符,再 NFC 拼回去,实现 á 和 a 互相匹配。
- 用 (s.match(/[a-zA-Z]+|[^a-zA-Z]/g) || []).filter(i => i !== ' ') 转为 token 序列,可以支持“1+n pattern”等带符号的关键词。
- 使用 Porter Stemmer V2 把每个词变成词干,实现 model 和 models 互相匹配。
- 对于用户提供的自定义 JS 函数,把 eval(s) 改成 new Function('return ('+s+')')() 对 minifier 比较友好。
Forwarded from Hacker News 摘要
Telegraph
1954年4月15日华盛顿州挡风玻璃凹陷事件达到高潮 (2003)
原标题:Windshield pitting incidents in Washington reach fever pitch on April 15, 1954 (2003) 在1954年4月15日,华盛顿州的贝灵汉、西雅图等地经历了一种奇怪的现象——汽车挡风玻璃上出现了大量小孔、凹陷和刮痕,损坏率急剧上升。最初这被认为是恶作剧造成的,但随着情况的加剧,恐慌的居民开始怀疑各种原因,包括宇宙射线、沙虱卵和氢弹测试后的辐射。次日,居民向政府寻求帮助,试图解决这一被称为西雅图挡风玻璃凹陷疫情的怪事。 这一…
冬天来了,提醒大家,如果想不痛地释放静电的话,可以先抓住金属物品(例如钥匙),再用它接触水龙头、暖气片等接地的金属。要点在于放电瞬间皮肤要和金属有大面积接触,而不是让电流全部流过皮肤上一个点。
今日份的 Safari 问题:
iOS 上 WKWebView 遇到 a 元素 href 为 blob: 并且有 download 属性时行为奇怪,导致在浏览器里点击这样的链接可以下载文件,但在各种 in-app browser 里(例如 Telegram 的 in-app browser)就不行,不仅会直接打开文件而非下载,而且中文系统的话还会用 GBK 而非 UTF-8 解码。解决方案:把 blob: 换成等价的 data:。
iOS 上 WKWebView 遇到 a 元素 href 为 blob: 并且有 download 属性时行为奇怪,导致在浏览器里点击这样的链接可以下载文件,但在各种 in-app browser 里(例如 Telegram 的 in-app browser)就不行,不仅会直接打开文件而非下载,而且中文系统的话还会用 GBK 而非 UTF-8 解码。解决方案:把 blob: 换成等价的 data:。
最近在入门 3D 打印,一些发现:
- 用 Blender 建模比预期简单,尤其是可以问 AI 的情况下。虽然还是需要反复练习来提升熟练度。
- 很多人建议我找淘宝打印而非自己买打印机,但我不认同。孔的直径需要比里面插的杆大多少才能产生合适的摩擦力?多厚多长的杆能产生合适的弹力?不同切片方向对打印出来的螺纹精度有多少影响?支撑、填充、桥接等参数调到多少不会出问题?这些常常需要先做出小样品观察,再设计整个模型和切片方案,反馈周期足够短才能提高我尝试的意愿。
- 如今的打印机已经非常棒了,我买的是拓竹 A1 mini,不用组装,全自动校准,简单的模型直接用推荐参数打印效果就很好,0.12mm 的线宽下几乎看不出层纹。
- STL 格式好简单呀,基本就是 Nx3x3 个单精度浮点数(N 个三角形面,每个面 3 个点,每个点 3 个维度),很方便用程序生成。想把 CIELAB 色彩空间的三维形状打出来玩。
- 打印很慢,大一点的东西经常要好几小时,再加上调整模型和切片并重新打印,复杂模型从开始设计到成品需要几天时间。并且中间比较难受,没看到结果时不好提前做下一步,只好切换去做点别的事,结果出来后又要尽快切换回来设计下一个打印任务,以免机器闲着。
- 即使用很安全的 PLA 材料,打印时产生的味道也是比较明显的,并且打印复杂结构时难免有抽丝现象,会在附近产生细小的塑料灰尘,最好做一些防护。
- 用 Blender 建模比预期简单,尤其是可以问 AI 的情况下。虽然还是需要反复练习来提升熟练度。
- 很多人建议我找淘宝打印而非自己买打印机,但我不认同。孔的直径需要比里面插的杆大多少才能产生合适的摩擦力?多厚多长的杆能产生合适的弹力?不同切片方向对打印出来的螺纹精度有多少影响?支撑、填充、桥接等参数调到多少不会出问题?这些常常需要先做出小样品观察,再设计整个模型和切片方案,反馈周期足够短才能提高我尝试的意愿。
- 如今的打印机已经非常棒了,我买的是拓竹 A1 mini,不用组装,全自动校准,简单的模型直接用推荐参数打印效果就很好,0.12mm 的线宽下几乎看不出层纹。
- STL 格式好简单呀,基本就是 Nx3x3 个单精度浮点数(N 个三角形面,每个面 3 个点,每个点 3 个维度),很方便用程序生成。想把 CIELAB 色彩空间的三维形状打出来玩。
- 打印很慢,大一点的东西经常要好几小时,再加上调整模型和切片并重新打印,复杂模型从开始设计到成品需要几天时间。并且中间比较难受,没看到结果时不好提前做下一步,只好切换去做点别的事,结果出来后又要尽快切换回来设计下一个打印任务,以免机器闲着。
- 即使用很安全的 PLA 材料,打印时产生的味道也是比较明显的,并且打印复杂结构时难免有抽丝现象,会在附近产生细小的塑料灰尘,最好做一些防护。
最近用 3D 打印机做的两个东西。第一张是 5 个正四面体嵌在一起,这个我没在网上找到满意的模型,我要求不能打印出部件再组装,也不能打印出来是“焊死”的,5 个正四面体必须互相独立,能微微晃动。自己建模很容易,但很难打印好😂我学到了一些切片参数的调整要领。后两张是一种常见的玩具,但我一直不知道叫什么,似乎一个名字是 pin art。
几个月以来我玩 CS2 时一直有概率遇到游戏突然卡死的 bug,从每场比赛小概率发生 1 次逐渐变成每场比赛发生 4 次😂各种解决方案都没有用,而且玩其他游戏都没有类似问题。今天仔细研究了网上别人的经验后,打开垂直同步,问题终于解决!(推测原理为限制帧率降低了功耗)
arxiv 上极个别论文的 PDF 会在下载了一小部分后断开连接,这种情况似乎只出现在论文发布后一两天内,有问题的 PDF 会在一段时间里一直没法正常下载,直到随机某个时候变好。这个奇怪的现象一直在导致 https://paper.dou.ac/ 偶尔就有一天的论文列表发布得特别晚。
我终于找到了一个 workaround,能让论文列表再也不因此晚发布了。方法就是如果发现意外断连接,重新发断点续传(range)请求,加载剩下的部分。很可能需要发非常多次请求才能拼凑出整个 PDF 文件😂但总之不用等它随机变好了
我终于找到了一个 workaround,能让论文列表再也不因此晚发布了。方法就是如果发现意外断连接,重新发断点续传(range)请求,加载剩下的部分。很可能需要发非常多次请求才能拼凑出整个 PDF 文件😂但总之不用等它随机变好了
VS Code 中,如果文件内容是“a ab”,搜索“a|ab”,同时选中 Match Whole Word 和 Use Regular Expression 两个选项,居然只会匹配 a,不会匹配 ab。
(推测原因为 VS Code 实现成了先匹配,再过滤出 whole word 的结果,而不是在匹配阶段就考虑到 whole word 这个限制条件。)
补充:不开 Match Whole Word 的话,匹配的是 a ab。感觉这个也比较坑,会导致 http|https 只会匹配上“https”中的“http”。
(推测原因为 VS Code 实现成了先匹配,再过滤出 whole word 的结果,而不是在匹配阶段就考虑到 whole word 这个限制条件。)
补充:不开 Match Whole Word 的话,匹配的是 a ab。感觉这个也比较坑,会导致 http|https 只会匹配上“https”中的“http”。
kliksphilip 是我最喜欢的 YouTuber,我最近才意识到在我关注他的 7 年中,他一直保持了极高的内容质量和不错的多样性,不像很多其他频道火了后内容就变得单调和过于刻意,甚至是一个团队在按模板批量生产内容。我发现 kliksphilip 真心享受创作多样化的视频,就像他享受游戏开发、编曲、杂耍等活动一样。并且我发现我和他在很多人生经验和思考上是非常相似的,这直接导致我在这几年里也陆续尝试了视频制作、游戏开发、编曲、杂耍😂
我觉得这值得做点什么,所以把他的视频中最让我有共鸣的那些精选出来做了一个合集:
A 面:https://youtube.com/playlist?list=PLcao1uyoZ-6V3a1yE4t2PdKJR9TtGgtbh
B 面:https://youtube.com/playlist?list=PLcao1uyoZ-6WIDXShIfDS2yfroirjr9nX
我觉得这值得做点什么,所以把他的视频中最让我有共鸣的那些精选出来做了一个合集:
A 面:https://youtube.com/playlist?list=PLcao1uyoZ-6V3a1yE4t2PdKJR9TtGgtbh
B 面:https://youtube.com/playlist?list=PLcao1uyoZ-6WIDXShIfDS2yfroirjr9nX
YouTube
Hypercube's kliksphilip collection
Videos from kliksphilip that have influenced me the most. Side B: https://youtube.com/playlist?list=PLcao1uyoZ-6WIDXShIfDS2yfroirjr9nX
当你看到“we made it 90% faster”,你会想到……
Anonymous Poll
43%
这个过程需要的时间缩短了 90%,现在是原来的 10% 了
38%
这个过程的速度提高了 90%,因此需要的时间变成了原来的 52.6%
18%
有歧义,就不该这样写
关于“90% faster”我的一点思考:
这里有 3 个概念:工作量(或者距离、产量等)、时间、速度。前两者很简单,显然可以说增加或减少百分之多少。但“faster”这个词对应的是速度,因此我本来觉得逻辑上唯一有道理的理解是单位时间完成的工作量增加了 90%,也就是单位工作量需要的时间变成了 52.6%。
但然后我意识到这似乎并不是唯一有道理的理解。速度是工作量与时间的比值,还是时间与工作量的比值?我知道物理学上速度被定义成了前者,但这可能只是一个任意的选择?当我们说一个人跑得很快时,逻辑上来说我们是在说单位时间内跑过了很远,还是跑过单位距离只需要很短的时间?我觉得这两种理解似乎是比较对称的,速度也可以被定义为时间与工作量的比值,这种情况下越快的速度由越小的速度数值刻画,这种定义(虽然不符合物理学选择的约定)似乎更符合一般日常生活的直觉?
或许还是说“快这个概念本身就没法说变了多少百分比”比较好🤔
但然后我意识到这似乎并不是唯一有道理的理解。速度是工作量与时间的比值,还是时间与工作量的比值?我知道物理学上速度被定义成了前者,但这可能只是一个任意的选择?当我们说一个人跑得很快时,逻辑上来说我们是在说单位时间内跑过了很远,还是跑过单位距离只需要很短的时间?我觉得这两种理解似乎是比较对称的,速度也可以被定义为时间与工作量的比值,这种情况下越快的速度由越小的速度数值刻画,这种定义(虽然不符合物理学选择的约定)似乎更符合一般日常生活的直觉?
或许还是说“快这个概念本身就没法说变了多少百分比”比较好🤔