Eğer bu blogu daha önce ziyaret ettiyseniz, muhtemelen burada bir şeylerin eksik olduğunu fark etmişsinizdir. Haklısınız — yıllar boyunca yazdığım yazıların barındığı veritabanını kaybettim. Yedekleme stratejisi konusunda başkalarına ders veren bir insanın kendi blogunun veritabanını kaybetmesi ironiktir; ama hayat bazen böyle sürprizler yapıyor. Kendi ayakkabı tamircisinin ayakkabısız dolaşması misali.
Ama bu durumu bir felaket olarak değil, bir fırsat olarak görmeye karar verdim. Eski blogda yazıların bir kısmı zaten güncelliğini yitirmişti. Bazı yazılarda kullandığım araçlar artık deprecate olmuştu — mesela bir zamanlar heyecanla anlattığım ceph-deploy artık tamamen terk edildi, yerini cephadm aldı. Bazı yazılardaki yaklaşımım da tamamen değişmişti; iki yıl önce savunduğum bir mimari kararın neden yanlış olduğunu artık biliyorum. Temiz bir sayfa açmak, aslında tam da ihtiyacım olan şeydi.
Ben Kimim?
Havacılık sektöründe güvenlik kritik yazılım geliştiren bir mühendisim. DO-178C sertifikasyon süreçleri altında C ve Ada ile aviyonik yazılım geliştiriyorum – kısacası yükseklikte çalışan ve hata yapma lüksü olmayan yazılımlar.
Bu işin kendine özgü bir disiplini var. Gereksinim yönetimi, izlenebilirlik matrisleri, MC/DC test coverage, formal code review’lar, konfigürasyon yönetimi — bunlar havacılık yazılımcısının günlük hayatının parçası. Bir if ifadesinin her dalının neden test edildiğini, her test senaryosunun hangi gereksinime bağlı olduğunu ve her gereksinimin hangi güvenlik hedefine hizmet ettiğini izleyebilmeniz gerekir. Bu seviyede bir disiplin, insanı başka alanlarda da daha dikkatli bir mühendis yapar — ama aynı zamanda “hızlı prototype yap, sonra düzeltiriz” kültürüne alışkın dünyadan gelen mühendisleri şaşırtabilir.
Ama iş dışında ilgi alanlarım çok daha geniş bir yelpazeye yayılıyor — aslında bu blog tam da bu yüzden var. Gündüz sertifiye edilebilir kod yazarken, akşam evde bir Ceph cluster’ı kurup bozuyorum. Hafta sonu RTL-SDR ile havadaki sinyalleri dinliyorum. Boş zamanlarımda post-quantum kriptografi algoritmalarını benchmark ediyorum. Bütün bunları bir arada tutan şey, “bu sistem nasıl çalışıyor?” sorusuna duyduğum bitmek bilmeyen merak.
Bu Blogda Neler Olacak?
Bu blogu yeniden inşa ederken, belirli konu başlıkları etrafında düzenli içerik üretmeyi planlıyorum. Her konu alanı, yılların birikimi ve gerçek deneyimler üzerine oturuyor.
Linux & BSD
Production sunucularda Linux yönetimi, ZFS, sistem optimizasyonu ve FreeBSD ile Linux arasındaki mimari farklar. Yıllardır her iki dünyada da çalışıyorum. Ev lab’ımda FreeBSD tabanlı bir firewall/router, Linux tabanlı storage sunucular ve container host’ları çalışıyor. Her ikisinin de güçlü yanları var ve “hangisi daha iyi” sorusunun cevabı her zaman “ne için” ile başlıyor.
Özellikle ZFS konusunda yazacak çok şey var. ZFS’i hem FreeBSD’de (birinci sınıf vatandaş olarak) hem de Linux’ta (DKMS modülü olarak) production’da kullandım. Pool tasarımı hataları, ARC tuning maceralarım, snapshot tabanlı yedekleme stratejileri ve “pool’u %85 doldurduğumda performansın neden uçuruma atladığı” gibi deneyimlerimi paylaşacağım.
Ceph & OpenStack
Dağıtık depolama ve özel bulut altyapısı. Ev lab’ımda 3 node’luk bir Ceph cluster’ı çalıştırıyorum. Terabaytlarca veriyi replicated ve erasure coded pool’larda barındırıyorum. Bu cluster’ı kurarken yaptığım hataları — yanlış PG sayısı hesabından, CRUSH kurallarını yanlış yapılandırıp tüm replikaların aynı sunucuya düşmesine kadar — detaylı şekilde anlatacağım. Başkalarının aynı hataları tekrarlamaması en az benim doğru şeyleri yapmam kadar değerli.
OpenStack tarafında ise “küçük ölçekte OpenStack mantıklı mı” sorusunu yanıtlayacağım. DevStack ile başladığım, Kolla-Ansible’a geçtiğim, Neutron ağ yapılandırmasıyla saçımı yolduğum ve sonunda çalışan bir AIO (All-in-One) kurulum elde ettiğim süreci paylaşacağım. Ardından Ceph’i OpenStack’ın storage backend’i olarak entegre etmeyi — Glance, Cinder ve Nova için — adım adım ele alacağız.
RF & SDR
Software Defined Radio ile sinyal işleme, ADS-B uçak takibi ve modülasyon tanıma. Bu alan havacılık geçmişim ile RF merakımın kesiştiği noktada duruyor. Bir havacılık yazılımcısı olarak ADS-B protokolünün iç yapısını anlamak — Mode S mesaj formatları, CPR pozisyon kodlaması, squawk kodları — hem profesyonel hem hobi açısından son derece tatmin edici.
RTL-SDR ile başladım, şimdi daha gelişmiş SDR cihazlarını da kullanıyorum. ADS-B’nin ötesinde NOAA uydu görüntüsü çekmek, AIS ile gemi trafiğini izlemek ve bilinmeyen sinyalleri analiz etmek gibi projeleri paylaşacağım. İlerleyen yazılarda SDR verisini makine öğrenmesi ile işleyerek otomatik sinyal sınıflandırma yapacağız — bu da bir sonraki konu alanına bağlanıyor.
Makine Öğrenmesi
Anomali tespiti, zaman serisi analizi ve sinyal sınıflandırma üzerine pratik ML uygulamaları. Burada odak noktam akademik paper’ları tekrar etmek değil, gerçek veriyle çalışan, yorumlanabilir ve deploy edilebilir çözümler oluşturmak. Havacılıkta ML’in en somut uygulama alanı prediktif bakım — motor parametrelerindeki anomalileri erken tespit ederek plansız bakımları azaltmak.
Isolation Forest, Autoencoder ve LSTM Autoencoder gibi yaklaşımları uçuş verisi bağlamında karşılaştıracağız. Her yaklaşımın güçlü ve zayıf yanlarını, hangi problem tipine hangisinin uygun olduğunu ve en önemlisi production’da nasıl kullanılacağını — yanlış alarm yönetimi, model güncelleme stratejisi, sonuçların operasyonel sürece entegrasyonu — ele alacağız.
Havacılık Yazılımı
DO-178C sertifikasyon süreci, güvenlik kritik yazılım geliştirme pratikleri, MC/DC test coverage, verification ve validation yaklaşımları. Bu konuda Türkçe kaynak ciddi anlamda az. İngilizce’de bile DO-178C hakkında yazılan çoğu içerik ya çok yüzeysel (“DAL seviyeleri şunlardır”) ya da çok akademik (“MC/DC’nin formal tanımı”). Arada kalan — gerçekte bu süreçte çalışan bir mühendissin perspektifi — eksik.
Gereksinim yazmanın neden en zor kısım olduğunu, tool qualification’ın neden bu kadar maliyetli olduğunu, “bağımsız doğrulama” kuralının ekip dinamiklerini nasıl etkilediğini ve modern trendlerin (Agile + DO-178C, model-based development, formal methods) pratikte nasıl çalıştığını paylaşacağım. Ayrıca ML/AI’ın havacılık sertifikasyonundaki yerine — EASA MLEAP ve SAE ARP6983 gibi gelişmelere — değineceğiz.
Post-Quantum Kriptografi (PQC)
NIST’in standardize ettiği yeni algoritmalar (ML-KEM, ML-DSA, SLH-DSA), bunların gömülü sistemlere etkisi ve “Harvest Now, Decrypt Later” tehdidi. Kripto dünyasında kuantum sonrası geçiş dönemi fiilen başladı. Google Chrome zaten ML-KEM ile hibrit TLS handshake yapıyor. Signal protokolü PQXDH’ye geçti.
Ama bu geçiş havacılık sektörü için çok daha zorlu. Uzun sertifikasyon döngüleri, kısıtlı bant genişliğine sahip aviyonik data bus’lar (ARINC 429, MIL-STD-1553), sınırlı işlemci gücüne sahip gömülü platformlar ve 20-30 yıllık platform ömürleri — bunlar PQC geçişini hem acil hem de karmaşık kılıyor. Bu konuda teoriden pratiğe, NIST standartlarından liboqs benchmark sonuçlarına kadar geniş bir perspektif sunacağım.
Neden Türkçe?
Bu konuların büyük çoğunluğunda İngilizce kaynak son derece zengin. Stack Overflow’dan blog yazılarına, YouTube videolarından RFC’lere kadar her şey İngilizce. Ama Türkçe kaynak söz konusu olduğunda durum dramatik şekilde farklı.
DO-178C hakkında Türkçe içerik neredeyse yok. Ceph mimarisi hakkında Türkçe’de birkaç yüzeysel blog yazısı var. PQC uygulamaları Türkçe’de hiç işlenmemiş. SDR ile ADS-B takibi Türkçe’de “dump1090 kur, çalıştır” seviyesinin ötesine geçmiyor.
Bu blogu Türkçe yazıyorum çünkü bu konulara ilgi duyan ama İngilizce kaynaklarla boğuşan insanlara ulaşmak istiyorum. Üniversite öğrencileri, kariyerine yeni başlayan mühendisler, farklı bir alandan gelip bu konulara merak duyanlar — onlar için bir başlangıç noktası oluşturmak istiyorum.
Elbette teknik terimlerin çoğunu İngilizce bırakacağım. “Dağıtılmış nesne deposu” yazmak yerine “distributed object store” demek hem daha anlaşılır hem de Google’da arama yaparken işe yarıyor. Türkçe kaynak oluşturmak, terimleri zorla çevirmek değil; kavramları anadilinde açıklamak demek.
Yazı Formatı ve Yaklaşım
Her yazıda şu yaklaşımı izlemeyi planlıyorum:
Önce “ne” sorusunu yanıtlayacağım — bir teknolojinin ne olduğunu, hangi sorunu çözdüğünü ve neden var olduğunu açıklayacağım. Burada gereksiz detaya girmeden, okuyucunun büyük resmi görmesini sağlayacağım.
Sonra “nasıl” kısmına geçeceğim — pratik örnekler, kod parçacıkları, konfigürasyon dosyaları ve komut satırı çıktıları ile. Kopyala-yapıştır ile çalışan komutlar vereceğim ama körü körüne kopyalama yerine her komutun ne yaptığını açıklayacağım.
Son olarak “neden önemli” ve “neye dikkat etmeli” sorularını ele alacağım — bu bilgiyi gerçek dünyada nerede ve nasıl kullanabileceğinizi, hangi tuzaklardan kaçınmanız gerektiğini ve production ortamda farklı olan şeyleri paylaşacağım.
Mümkün olduğunca gerçek deneyimlere dayanacağım. “Dokümantasyonda şöyle yazıyor” yerine “bunu denedim, şu hatayı aldım, şu şekilde çözdüm” formatında olacak. Hata yaptığım yerler, saatlerce debug ettiğim sorunlar ve sonunda bulduğum çözümler — bunlar bir blog yazısını gerçekten değerli kılan şeyler. Kimse mükemmel kurulum rehberi okumak istemiyor; insanlar gerçek sorunlara gerçek çözümler istiyor.
Yayın Planı
Haftada bir yazı yayınlamayı hedefliyorum. İlk 12 haftanın planı hazır ve konular belirlenmiş durumda. Yazılar birbirini destekleyecek şekilde planlandı — Ceph 101 yazısını okuyan biri, ileride Ceph+OpenStack entegrasyonu yazısına geçtiğinde temel kavramları zaten biliyor olacak. SDR giriş yazısından sonra CNN ile sinyal sınıflandırma yazısına geçiş doğal olacak. PQC teori yazısından sonra liboqs hands-on yazısı pratik deneyim katacak.
12 haftalık seriden sonra konulara göre dallanmayı planlıyorum. Her alan kendi serisini oluşturabilir — mesela “Ceph Advanced” serisi ile CRUSH map optimizasyonu, erasure coding profilleri ve multi-site replikasyon gibi ileri konulara girebilirim. Veya “DO-178C Practice” serisi ile gerçek dünya sertifikasyon hikayelerini, tool qualification deneyimlerini ve DAL A projelerinde karşılaşılan zorlukları paylaşabilirim.
Kısa “TIL (Today I Learned)” formatında ara yazılar da ekleyeceğim. Bunlar küçük ama faydalı keşifler, tek bir komut veya konfigürasyon değişikliği ile çözülen sorunlar gibi içerikler olacak. Her şeyin uzun form yazı olması gerekmiyor.
Son Söz
Veritabanını kaybetmek acı verdi, ama her yeniden başlangıç daha iyi bir versiyon için bir şans. Bu sefer düzenli yedekleme yapacağım — söz veriyorum (bu sefer gerçekten). Bu sefer yazıları daha yapılandırılmış, daha pratik ve daha faydalı yazmayı hedefliyorum.
Eğer bu konulardan herhangi biri ilginizi çekiyorsa, takipte kalın. Sorularınız, önerileriniz veya düzeltmeleriniz olursa her zaman iletişime geçebilirsiniz. Teknik bir blog, tek yönlü bir monolog olmamalı — en iyi içerik, okuyucu geri bildirimiyle şekillenen içeriktir.
Tekrar merhaba dünya. Bu sefer kalıcı olacak.