锻造自由软件
发布于 作者:Ron
我之前已经在《春季报告 I》和《我与 Big Tech 的有毒关系》等文章中表达过对科技行业的不满,所以这次就不再抱怨了。在这篇文章中,我将简要介绍我是如何开发软件的,以及我使用的平台和工具。
我于 2018 年毕业成为一名计算机技术员,做过一段时间的维护工作,直到 2020 年开始攻读计算机科学学士学位。不过,我的编程故事在这之前就开始了:从 2014 年起,我就以业余爱好者的身份开发网站,并托管在我那早已废弃的 GitHub 账号上。我当时使用 GitHub Pages 来托管静态网站,过得很开心。我创建过几十个 .github.io 项目,它们现在大概迷失在微软的数据中心某处吧。
我从未把 Windows 用作个人电脑。买第一台电脑时,它预装的是 Debian,我一直用到 2018 年。进入技术课程后,我装成酷炫黑客的样子,换成了 Arch Linux,并将网站和项目托管在 GitLab 上。
读大学期间,我一直使用 Arch,并将项目托管在 GitLab。当我成为 Google Play 商店的应用开发者后,只要是 Google 的东西我都用得很开心,特别是它的数据中心。这段故事一直持续到今年年初。结束与 Google 的关系对我来说是一种解脱。如今,在我的整个数字生活中,我只使用自由且去中心化的软件。虽然我讨厌滚动更新(rolling release),但我目前使用 Void Linux,并将项目托管在数据中心位于柏林的 Codeberg 上。
我的命令行编辑器是 Nano,IDE 是 Geany。
在桌面软件开发领域(我目前的重心),我使用 C/GDB/Make/Git 技术栈,图形库使用 GTK3(实用工具)和 SDL2(游戏)。
在 Web 开发中,我使用标准的 HTML/CSS/JS 技术栈,必要时搭配 Python。
在脚本编写方面,我使用 Shell 和 Python。
在 *人工智能 领域,我使用 C 和 Python。
这就是我个人的软件锻造厂。当然,对于有报酬的工作,我们只能根据工作要求来选择工具。我曾经也必须在 Windows 上用 VSCode 和 Java 编写程序,而且我现在还活着。
*人工智能是计算机科学的一个研究分支。大家在外面看到的被贴上 AI 标签的东西,本质上是使用 Transformer 架构的生成式模型,以及自主与自我改进的智能体(Agent)。