最近我编写了一个 Android 的视频壁纸应用(GitHub Repo),一开始觉得并没有什么难写的地方,应该很快就可以写出来,但是后来发现我想的太简单了。或许你也看过许多写视频壁纸的教程,但我发现他们都有一些问题,写出来的程序基本不能用,所以我打算在这里写一下如何编写一个可以发布的 Android 视频壁纸,而不是一个 demo。

对于一些 GNOME 比较核心的程序比如 GNOME Shell,调试的时候没办法简单的运行,需要构建一个隔离的环境然后替代系统的 WM。GNOME 项目使用 JHBuild 构建这个环境。我的系统是 Arch Linux,介绍一下中间遇到的一些问题。

需求

本来想给内网的树莓派做 frp 一类的公网映射以便能够在外面访问 Samba 服务器,但是后来想想似乎把设备暴露在公网不太安全。换个角度想,其实没有必要把树莓派映射出去,只要能够连接进来就好了。所以选用 VPN 建虚拟专用网就好了,这里使用的 WireGuard 将我的各个设备连到一个子网内部。

这个是给 2018 级 C 语言辅导准备的文档,写来写去写了好多,索性在网站也发一份。有很多是我觉得老师不会讲,但一开始很难理解,不理解又听不懂的,有学 C 的可以看一看。

九月的最后一天,我的网站突破了八万访问量。

本来有好多可以随便写一点来掩盖自己“九月就要过去了我什么也没写”的恐慌感,比如接着写一篇有关怎么画立方体的 OpenGL 教程,比如还没有文档的 Hikaru 代码里有哪些奇怪的解决方案和奇怪的设定,比如我最近又写了什么乱七八糟的代码(没有)。

但与其随便说说外界的事情,不如把自己随便想的东西写出来更加严肃。

我花了好久来阅读和实践 Learn OpenGL CN 上面的 OpenGL 教程,尽管它是大家推荐的最容易懂也比较新的教程,里面一些东西还是会让人觉得一头雾水。我用了很长的时间来尝试那些教程没有写成文字的部分并确定它们是如何工作的。也许对于一个有足够经验的人来说这些看起来并不是什么大问题,但我觉得新人知道这些以后可以更快的继续学习,而不是花费时间在诸如“这段代码干了什么?”“为什么我的黑屏了?”“如果我想编写一个更复杂的图形程序,该怎么把这些复制过来的代码拆开?”的问题上。