自由なソフトウェアの鍛造
投稿日: 著者:Ron
テクノロジー業界に対する私の不満については、以前の投稿『春の報告 その1』や『ビッグテックとの有害な関係』で少し触れましたので、今回は愚痴を控えることにします。この記事では、私がどのようにソフトウェアを開発しているか、そしてどのようなプラットフォームやツールを使っているかを簡単に紹介します。
2018年に情報技術者のコースを修了し、しばらくメンテナンスの仕事をした後、2020年にコンピュータサイエンスの大学課程に進学しました。しかし、プログラミングとの出会いはもう少し前に遡ります。趣味として2014年からウェブサイトを制作し、かつてのGitHubアカウントでホストしていました。GitHub Pagesを使って静的サイトをホストしており、それで満足していました。数十もの .github.io プロジェクトを作成しましたが、それらは今もMicrosoftのデータセンターのどこかに埋もれているはずです。
個人用PCとしてWindowsを使ったことは一度もありません。初めて買ったパソコンにはDebianがインストールされており、結局2018年までDebianを使い続けました。専門コースに入学した頃、ハッカー気取りでArch Linuxへ移行し、サイトやプロジェクトをGitLabでホストするようになりました。
大学時代もArchを使い、GitLabでプロジェクトをホストしていました。Google Playストア向けのアプリ開発者になったこともあり、Googleに関連するもの、特にそのデータセンターを好んで使っていました。その状態が今年の前半まで続きました。Googleとの関係を断ち切れたことは、私にとって大きな救いでした。現在では、技術的な活動のすべてにおいて、自由かつ分散型のソフトウェアのみを使用しています。ローリングリリースのモデルは大嫌いですがVoid Linuxを使用しており、プロジェクトはベルリンにデータセンターを持つCodebergでホストしています。
私のコマンドラインエディタはNanoです。IDEはGeanyを使用しています。
デスクトップソフトウェア開発(現在の私のメイン分野)では、C / GDB / Make / Git のスタックを使用しており、グラフィックライブラリとしてはGTK3(ユーティリティ用)とSDL2(ゲーム用)を使用しています。
Web開発では、標準的なHTML / CSS / JSのWebスタックを使用し、必要に応じてPythonを使用します。
スクリプト作成にはShellとPythonを使用しています。
*人工知能分野では、CとPythonを使用しています。
これが私の個人的な鍛冶場(フォルジャ)です。もちろん、給与をもらう仕事では、その業務で求められるツールを使います。過去にはWindows上でVSCodeを使い、Javaでプログラミングせざるを得ないこともありましたが、今もこうして生きています。
*人工知能はコンピュータサイエンスの研究分野の一つです。世間で「AI」とラベル付けされて話題になっているものの多くは、Transformerを用いた生成モデルや、自律型・自己改善型のエージェントを指しています。