最近我编写了一个 Android 的视频壁纸应用(GitHub Repo),一开始觉得并没有什么难写的地方,应该很快就可以写出来,但是后来发现我想的太简单了。或许你也看过许多写视频壁纸的教程,但我发现他们都有一些问题,写出来的程序基本不能用,所以我打算在这里写一下如何编写一个可以发布的 Android 视频壁纸,而不是一个 demo。
事情的起因是这样的,我写了 一个 Android App,打算把它发给更多的人试用,发给同学什么的都好说,但我想发给我妈用的时候遇到了一系列问题。我觉得恰好可以说一下在国内用 Android 环境是多么痛苦。
对于一些 GNOME 比较核心的程序比如 GNOME Shell,调试的时候没办法简单的运行,需要构建一个隔离的环境然后替代系统的 WM。GNOME 项目使用 JHBuild 构建这个环境。我的系统是 Arch Linux,介绍一下中间遇到的一些问题。
通常情况下在 Linux 下面配置好的是 socks5 代理(你懂的),但是这个代理并不能让所有程序自动走它,需要手动的做一些转换。
需求
本来想给内网的树莓派做 frp 一类的公网映射以便能够在外面访问 Samba 服务器,但是后来想想似乎把设备暴露在公网不太安全。换个角度想,其实没有必要把树莓派映射出去,只要能够连接进来就好了。所以选用 VPN 建虚拟专用网就好了,这里使用的 WireGuard 将我的各个设备连到一个子网内部。
开始之前先来一段惊喜:我是在中国标准时间 21 点写的这篇文章,但我在 front matter 写的是 21:00:00 并解析为东京时间。
还没有到月亮升起的时候呢。
这个是给 2018 级 C 语言辅导准备的文档,写来写去写了好多,索性在网站也发一份。有很多是我觉得老师不会讲,但一开始很难理解,不理解又听不懂的,有学 C 的可以看一看。
九月的最后一天,我的网站突破了八万访问量。
本来有好多可以随便写一点来掩盖自己“九月就要过去了我什么也没写”的恐慌感,比如接着写一篇有关怎么画立方体的 OpenGL 教程,比如还没有文档的 Hikaru 代码里有哪些奇怪的解决方案和奇怪的设定,比如我最近又写了什么乱七八糟的代码(没有)。
但与其随便说说外界的事情,不如把自己随便想的东西写出来更加严肃。
我花了好久来阅读和实践 Learn OpenGL CN 上面的 OpenGL 教程,尽管它是大家推荐的最容易懂也比较新的教程,里面一些东西还是会让人觉得一头雾水。我用了很长的时间来尝试那些教程没有写成文字的部分并确定它们是如何工作的。也许对于一个有足够经验的人来说这些看起来并不是什么大问题,但我觉得新人知道这些以后可以更快的继续学习,而不是花费时间在诸如“这段代码干了什么?”“为什么我的黑屏了?”“如果我想编写一个更复杂的图形程序,该怎么把这些复制过来的代码拆开?”的问题上。