简易DDNS解决方案
2018-07-15

意外地发现新搬进来的公寓里装的电信网有公网 IP,又可以捣鼓一番咯!这里用 cloudflare 做 DDNS,它的免费 DNS 服务完全够个人使用,API 又完善,脚本写起来很方便。

Matlab 实现堆栈模糊(stack blur)
2018-05-18

今年早些时候就想把堆栈模糊实现一遍了。毕设刚刚做完 Matlab 的课题,趁着有空,顺手就用 Matlab 写了出来。Stack blur 效果优于均值滤波,接近高斯模糊,但是复杂度 O(n) 远低于高斯模糊。

RGBA透明PNG转RBG白背景JPG的算法
2018-04-28

还是上回魔改的 Gnome 截图软件,这回我加了个改进。原版保存截图文件时默认保存为透明背景 png,而透明 png 往往会被使用黑色背景来显示,因而完全无法显示出无色阴影,alpha 通道也失去了存在的意义。最好的解决办法就是把图像转成 rgb 的白背景 jpg。其实 imagemagick 这类软件也能完成转换,但本应该一步到位的功能还依赖外部软件,徒增操作复杂度。因此我决定把转换过程内嵌到截图软件中。

经典 socket 服务器/客户端消息模型
2018-03-20

一个经典的 socket 服务器/客户端消息推送模型。服务端监听端口,客户端发起连接,收到服务端推送消息。用法:server <端口> <推送信息>client <服务器地址> <服务端口>

SynScanner:Pthreads SYN flood TCP 端口扫描器
2018-03-11

最近空闲写了个端口扫描器玩具,用 pthreads 实现的 SYN 并发扫描。除了有些小问题以外,拿自己的服务器、树莓派等等测试下来效果还行。源码点这里

桌面 Linux 禁用 Meltdown 补丁
2018-02-25

先说结论:将 pti=off 或者 nopti 加入内核命令行。当然,这样做理论上很不清真。禁用安全补丁是什么心态?对 Haswell,Ivy Bridge 这些老架构来说,PTI 补丁导致的性能损失相当可观,主要是系统调用密集型程序,日常来说像大量小文件的读写也受影响。

重新设计 GNOME 截图软件的阴影效果
2017-10-19

最近一版 Gnome 全套更新后,发现窗口截图的阴影效果突然消失了,而且本来就不怎么好看。然而指望 Gnome 官方修复又不知等到何年…… 干脆自己动手改!Talk is cheap, show me the code :P