xDroid's Blog

假装高冷的Geek

线性代数如此容易(棒读

今早在朋友圈看到一张梗图:

你学废了吗?

然后转发到群里,出现了如下的沙雕对话:

谁暴搜一下10^8个
看看还有啥

哦好多
我怎么贴比较好

写了个简单的 代码 跑了一下发现 还挺多。然后群友看了一眼,讨论继续:

| 9 3 | * | 9 3 | = | 99 33 |
| 6 2 | * | 6 2 | = | 66 22 |
这组真tm有意思
草还真是对的
我想想
搜出来100组
至少有4合1
ab,cd等价于ac,bd等价于dc,ba等价于db,ca
呃我想想
什么意思呢
就是你把矩阵转置一下和转180度是trivial的变换
我再看看细节
这不是很显然吧

对,其实 180 旋转确实可以 trivial 地导出另一组解,但是转置并不行。因为如果 X*Y=Z 而且 X^T*Y^T=Z^T 的话,其实 XY 就可交换了。不过熟悉线性代数的朋友们应该知道,可交换等价于可被同时上三角化,所以其实我们可以推出两组恒等式:

假设 X=(a, b; c, d)Y=(e, f; g, h),我们有

  1. bg=cf (感谢 Bai 同学的证明)
  2. (a-d)/c=(e-h)/g (这个不是太好证明)

最后贴几组比较有意思的结果吧233

| 2  3 |   | 2  3 |   | 22  33 |
| | * | | = | |
| 6 9 | | 6 9 | | 66 99 |

| 10 13 | | 10 13 | | 1010 1313 |
| | * | | = | |
| 70 91 | | 70 91 | | 7070 9191 |

| 20 18 | | 20 18 | | 2020 1818 |
| | * | | = | |
| 90 81 | | 90 81 | | 9090 8181 |

(就算是这样自己平方的解也有几十组……)

「日历记事本」规划

本文是 2020 年暑假学习 rust 计划的一部分。目前项目存放在 owen8877/calendar-as-diary,欢迎围观和吐槽

动机

逐渐发现 Google Calendar 是个好东西(其实所有日历软件都是个好东西),用来计划日常生活、提醒工作安排真是非常方便,在计划之余还能形成一本自然的日记本。于是我就想,如果能 自动 记录一些生活琐事(一些懒得规划的事情),那就再好不过了——比如看视频、锻炼身体,因为在完成之余还要誊到日历上真的是非常麻烦。

市面上有一些比较成熟的自动化软件/服务,比如 ifttt 、 zapier 和被苹果收购的 workflow ,它们的特点是功能广泛,要完成和日历的对接也是非常容易。但是缺点也比较明显,如果是像上文提出的那种特殊需求,有时候就有点力不从心了。因为很多站点并不开放让用户自己查询自己的历史数据,因此根本无法从流程自动化的服务中提取这些信息——需要说明的是这一点和 GDPR 并不矛盾,因为后者只要把所有东西塞到一个 json 再打个 tarball 扔给用户就完事了。

目前来看,可以借由已有服务完成的有:

(呃……还真是少的可怜呢)因此自己造轮子就势在必行啦!

Read More

USTC 字体 CDN 服务被墙

真是活久见,第一次看到除了影视版权原因以外被反向墙的案例(

今早准备更新博客的时候,发现自己的站点打不开了(什么?在国外 github 还能被墙?)看了一眼控制台,发现大概是一个字体的 css 加载不出来了。定睛一看:

fonts.lug.ustc.edu.cn/css?family=Source+Code+Pro

这就,很尴尬,因为 中科大的站点 还是好好的——当然不能排除仅仅是由于他们的 CDN 服务器挂了的可能性,但是结合近日国内某重要会议事件,大概率是这种冷门访问被丢包了(

查了一下似乎很难有 fallback 的方案,而且现有的方案都是已知加载不出来之后的行动——但是这里是直接被丢包,Firefox 还在戆戆地等,这就很麻烦了。

所以最后怎么办呢?只好先换成 googleapis ,毕竟还有 cloudflare 撑腰,国内的小伙伴应该不至于完全打不开(

纪念在疫情中不幸暴毙的 SSD

这篇文章本应当是两周前写的,可是一放春假就开始拖延症,加上其他的一些压力和逃避因素就迟迟没有动笔……我本人也不是很喜欢在博客上写这种无病呻吟的文字(x,但是那天触动还算是挺大的(不然我也不会现在想起来去补

简单来说呢,就是吃个晚饭的功夫,回到桌前发现电脑重启到 bios 界面了……仔细一看说是没有启动介质,因为之前也遇到过这种情况,想着可能是什么引导器的 bug ,就随手重启了一下。结果重启之后直接卡在 bios logo 那里了(呆)。

一开始想莫非不是内存挂了(这就比较麻烦了)。把笔记本壳子拆下来之后换了内存插槽的位置,还是没什么卵用(因为之前几天帮人修过开机问题,当时就是内存没插紧,所以思路一直卡在这里)。后来不知怎么开始怀疑是不是硬盘的问题,把 SSD 拆下来开机发现果然可以进 bios 设置了(也就是说自检过了……),那么问题基本上就是 SSD 挂了或者是 nvme 插槽坏了。问同学借了一个 nvme 插槽(这也能借的吗x),看了一下 /dev ,嗯……凉了(哭晕了)。

既然硬盘已经自挂东南枝了,那只好处理后事了……首先是考虑数据丢失的程度。幸好这块 SSD 上存放的是 Windows 10 和 Arch Linux 的两个系统分区和一些杂七杂八的 /tmp 什么的,所以没有损失下载不到的东西(x 这块 SSD 给我扔冰箱里冻着了,希望有朝一日拿出来还能用+上面零碎的数据还能拷出来(x

仔细想了一下数据没丢完全是运气好,平时程序放 SSD 数据放 HDD 上,虽然原因仅仅是空间不太够……但是确实给我敲响了数据备份的警钟。(有钱了组 RAID 学习一下……

P.S. 这块 SSD 是大葱出给我的,原本是笔记本内置的,所以也不知道有没有保修这一说。

Mi A2 Lite

每月流水帐任务 1/1

继上次 给 bacon 换屏幕续命 以后,最近发现电池掉得巨快。确认绿色守护正常工作了之后,应该就是电池老化的原因了……总之该换手机了(((

这次换的是 Mi A2 Lite(代号 daisy,和 Redmi 6 Pro 基本配置一致),主要是看重 android one 不锁 bootloader(小米锁 bootloader 的操作……你懂的)。

本来心动 Moto g7 power 的,因为有 5000mAh 的电池而且屏幕也比较大的,只可惜没降价——而且 Moto 的 bootloader 解锁起来也相当麻烦,xda 上给出的说法并不统一。
Moto 机型的另一个好处是支持 sdcard 拓展——然鹅红米系列也是支持的。daisy 的另一个优势是指南针和 LTE 支持要比 Moto Power G7 好(后者的国际版压根就没指南针和米国的 4G 频段)。
本来还看上 Moto Z3 Play 的,电池太小,太贵,遂弃。

下单链接(购买后两天就售罄了)

Read More