通过 Matrix-WeChat 将微信消息转发至 Beeper
平时不怎么用微信,原因是微信会导致我给 PowerToys 配置的快捷键映射全部失效,具体参考这个 PowerToys Issue。
总之,虽然 Issue 里已经解决了这个问题,但是长期的习惯下来,我也不怎么在 Windows 上挂微信了。根本原因还是我微信上朋友很少。
平时不怎么用微信,原因是微信会导致我给 PowerToys 配置的快捷键映射全部失效,具体参考这个 PowerToys Issue。
总之,虽然 Issue 里已经解决了这个问题,但是长期的习惯下来,我也不怎么在 Windows 上挂微信了。根本原因还是我微信上朋友很少。
其实就是重新整理了一下 Introductory Combinatorics Fifth Edition 容斥原理一章莫比乌斯反演一节,修正了书上错误的内容,加上了一些证明的内容。虽然我想说的和网上已有的资料大同小异——容斥原理、二项式反演和数论反演——不过本文打算从最一般、定义在偏序集上的 Möbius 反演开始。
写这篇文章只是我在奇怪为什么没人介绍怎么自定义 C++ Ranges 标准库的 View Adaptor。虽然说 C++20 标准其实还没定义要怎么实现,但是不至于连 range-v3 的都没有吧?
C++20 新引入的 Range 的必要性无需赘述,它解耦了迭代和计算的逻辑,抽象出「范围」的概念,使得相比于旧的 Algorithm 库,Range 库中的算法更容易被组合,借此可以写出更清晰、运行效率更高的代码。作为 C++20 的四大件、C++23 的顶梁柱之一,基本上就是奔着取代前 C++20 的算法库来的。
参考了在 Linux 上运行《原神》和《崩坏:星穹铁道》的方法,利用 macOS 14 的 Game Porting Toolkit 成功运行了 PC 版的《原神》和《崩坏:星穹铁道》。记录一下过程。
简单来说就是 Wine 没有自带 DirectX 的实现,以前都只能用第三方社区实现的 DXVK。而今苹果官方直接自己实现了一套 DirectX 接口给 Wine,叫做 D3DMetal,这样就能跑起来各种游戏了。所以这套东西的关键是苹果官网下载的 Game Porting Toolkit 中的 D3DMetal 二进制。
这也算是个讲烂的话题了,网上搜到一堆。前几天刚复习到了,本想随手水一篇文章,结果又写长了。
其实这篇文章本意是想测试一下评论功能,所以一开始只有下面这张表格。但是还没开始写评论功能就已经上线了,后面就索性补充了一堆解释和证明。
某个空虚寂寞的晚上,随便造点轮子,只是常用的二进制位运算的函数而已。实现不一定是常数最优的,可读性优先。
裸的打表、分块打表、不到 log 级别的表不写,不屑。
看标题就知道我打算重写一遍之前的 CRTP 文章,加上既然 C++23 快要出来了,我也研究了一下 C++23 的 CRTP 能不能有一些变化。
之前那个 xr1s.me 大概是 OOM 了挂了,本来就是加了 Swap 才能跑的,其实重启一下应该就好了。
但是因为工作后也不怎么写博客,服务器都直接懒得维护了,现在打算就静态简单搞搞吧。目前用的是 Hugo,没有特别的理由,因为看到了个喜欢的主题——众所周知,我喜欢衬线体,显得我好像很有文化一样。