Özgür Yazılımı Şekillendirmek
Yayınlanma tarihi: Yazan: Ron
Teknoloji sektörüne yönelik memnuniyetsizliğimden İlkbahar Raporu 1 ve Büyük Teknoloji Şirketleriyle Zehirli İlişkim yazılarımda zaten biraz bahsetmiştim, bu yüzden şimdilik şikayet etmeyi bir kenara bırakacağım. Bu yazıda, kısaca nasıl yazılım geliştirdiğimi, hangi platformları ve araçları kullandığımı paylaşacağım.
2018 yılında bilgisayar teknikeri olarak mezun oldum; 2020 yılında Bilgisayar Bilimleri lisans eğitimime başlayana kadar bir süre bakım-onarım işlerinde çalıştım. Ancak programlama geçmişim bundan biraz daha öncesine dayanıyor: 2014'ten beri amatör olarak web siteleri geliştiriyor ve rahmetli GitHub hesabımda barındırıyordum. Statik web sitelerimi barındırmak için GitHub Pages kullanıyordum ve halimden memnundum. Onlarca .github.io projesi oluşturdum; muhtemelen hâlâ Microsoft'un veri merkezlerinde bir yerlerde kaybolmuş durumdadırlar.
Kişisel bilgisayarımda hiç Windows kullanmadım. İlk bilgisayarımı aldığımda Debian yüklü gelmişti ve 2018'e kadar Debian kullanmaya devam ettim. Teknik kursa başladığımda kendimi havalı bir hacker sanıp Arch Linux'a geçtim, sitelerimi ve projelerimi de GitLab'da barındırmaya başladım.
Üniversite eğitimim boyunca Arch kullandım ve projelerimi GitLab'da barındırdım. Google Play Store için uygulama geliştirdiğim dönemlerde, Google'a ait her şeyi —özellikle de veri merkezlerini— kullanmaktan mutluydum. Bu durum bu yılın başına kadar sürdü. Google ile ilişkimi kesmek benim için büyük bir kurtuluş oldu. Bugünlerde tüm teknolojik hayatımda yalnızca özgür ve merkeziyetsiz yazılımlar kullanıyorum. Rolling release sistemlerden nefret etsem de Void Linux kullanıyorum ve projelerimi veri merkezleri Berlin'de bulunan Codeberg'de barındırıyorum.
Komut satırı düzenleyicim Nano. IDE'm ise Geany.
Masaüstü yazılım geliştirmede (şu anki odağım) C/GDB/Make/Git yığınını; grafik kütüphanesi olarak da GTK3 (yardımcı araçlar) ve SDL2'yi (oyunlar) kullanıyorum.
Web geliştirmede standart HTML/CSS/JS yığınını ve gerektiğinde Python kullanıyorum.
Betiklerde Shell ve Python kullanıyorum.
*Yapay Zeka alanında C ve Python kullanıyorum.
Bu benim kişisel demirci ocağım. Tabii ki profesyonel işlerde işin gerektirdiği araçları kullanıyoruz. Windows üzerinde VSCode ile Java yazmak zorunda kaldığım dönemler de oldu ve hâlâ hayattayım.
*Yapay Zeka, Bilgisayar Bilimlerinin bir araştırma alt alanıdır. Ortalıkta 'Yapay Zeka' etiketiyle gördüğünüz şeyler ise aslında transformer mimarisini kullanan üretken modeller ile otonom ve kendi kendini geliştiren ajanlardır.