1作者: axkdev8 个月前原帖
嗨,HN, 我一直在寻找一种在 Neovim 中以统一/ GitHub 风格查看差异的方法,但没有找到令人满意的解决方案。有几个插件部分解决了这个问题,比如 vgit.nvim,但它们都缺少我所需要的一些功能,因此我自己构建了 unified.nvim。 这个功能非常基础。你只需使用 :Unified 命令,后面跟上一个提交引用作为第一个参数(例如,HEAD)。左侧会打开一个树状窗口,列出所有已更改的文件,导航树状结构会自动在缓冲区中打开该文件。这只是一个普通的缓冲区,带有高亮和虚拟行。你可以对其进行修改,差异会相应更新,同时你的正常 LSP 跳转到定义等功能也会正常工作,类似于 diffview。实际上,我从 diffview 及其用户界面中获得了很多灵感(但没有使用其代码)。之所以这个功能无法作为 diffview 的一部分,是因为 diffview 依赖于内置的 Neovim 差异比较功能。
1作者: TacosInMyPocket8 个月前原帖
我开发了一个自定义的GPU内核,能够每秒处理超过4000万次并行代理操作,同时在多次运行中保持明显的确定性结果——这在GPU并行处理领域通常被认为是不可能的。 性能演示: [https://youtu.be/Y3Jg8RCZ65c](https://youtu.be/Y3Jg8RCZ65c) 确定性证明: [https://youtu.be/fk7NMNGcfSY](https://youtu.be/fk7NMNGcfSY) 整个运行时小于10MB。欢迎讨论潜在的应用! 联系方式: autoscriptlabs@gmail.com
8作者: tryzs8 个月前原帖
以下是协议工作流程。我们定义 g 为阶数为 q 的乘法循环群 G 的生成元。我们定义 p = 2q + 1(一个安全素数)。值 p、g、a1、b1、c1 对于证明者和验证者都是公开的。a1 = g^a mod q,b1 = g^b mod q,c1 = g^ab mod q,其中 a 和 b 是加密安全的随机生成数。证明者希望证明他知道一个秘密 x。证明者计算 y1 = g^x mod q 和 y2 = b1^x mod q。证明者将 y1 和 y2 发送给验证者。验证者随后计算一个挑战值 s,并将其发送给证明者。证明者接着计算 z = (x + as) mod q。证明者将 z 发送给验证者。验证者然后进行两个检查:g^z mod q = a1^s * y1 mod q 和 b1^z mod q = c1^s * y2 mod q。如果检查通过,则意味着证明者确实证明了他知道 x。可以数学上证明,这些检查仅在证明者知道一个有效的 x 时才为真。