Uzun süredir istemci odaklı yazılımlar geliştiriyor, çoğunlukla da Flutter ile mobil dünyada projeler üretiyorum. Son dönemde ise rotamı büyük dil modellerinin (LLM) arkasındaki teknik dünyaya çevirdim. Çıkarım (inference) süreçlerini daha verimli hale getiren yönlendiriciler, zamanlayıcılar ve depolama katmanları gibi altyapı mimarilerine büyük bir merak duyuyor ve bu alanı derinlemesine inceliyorum.
Yazılımın ön yüzü ile sistem altyapısının kesişimi, birbirini beklediğimden çok daha fazla besliyor: gecikme bütçeleri, yanlış soyutlamaların getirdiği maliyetler ve sade kodun değeri her iki dünyada da aynı derecede kritik.
Burada, yapay zeka ve yazılım dünyasında keşfettiğim, kendimin de okumak isteyeceği türden şeyleri paylaşıyorum.
Yazılar · Seçilmişler
Kendi Adımı Arattım, Çıkmadım — App Store'da Bulunabilir Olmak
Tessera App Store'da yayına girdi ama kendi adımla aramada çıkmıyordu. Canlı iTunes Search verisiyle yürüttüğüm ASO çalışması: alanların birleşerek indekslenmesi, vitrinlerin gizli ikinci dil haritası (Türkiye en-US'yi okumaz), Türkçe aksan tuzağı, başlıklı ekran görüntüleri ve puan isteme akışı.
İzole Et ya da Güvenle Paylaş — Dart ve Swift'in İki Eşzamanlılık Felsefesi
Dart tek thread + event loop ve ayrı-heap isolate'lerle data race'i paylaşımı yasaklayarak önler; Swift gerçek çok-thread'li havuzda actor ve Sendable ile paylaşımı derleme zamanında güvenli kılar. Flutter'dan iOS'a geçenin thread haritası — Isolate.run, cooperative pool, Swift 6.2 ve Flutter engine thread'leriyle.
Dördüncüsü Bir Komuttu — fastlane ile App Store Otomasyonu
Vird'i App Store'a gönderirken elle submission'ın üçüncüsünde hata yaptım. Sonra fastlane'i kurdum: ASC API key ile şifresiz auth, metadata ve ekran görüntüleri dosya olarak, tek komutla incelemeye gönderme — ve yol boyunca çarptığım dört duvar.
await Satırının Altında: Swift Concurrency Gerçekte Nasıl Çalışıyor?
Swift'te await yazdığında derleyici ve runtime arka planda ne yapar? State machine dönüşümü, heap'teki async frame, hangi local'lerin saklandığı, suspend ile block farkı ve bu tasarımın neden temiz stack trace verdiği — derinlemesine ama okunası bir tur.
Stack ve Heap: Bir Programın Belleği Nasıl Çalışır?
Stack ve heap nedir, bir program RAM'i nasıl böler, neden biri 'bedava' diğeri 'yönetilen'dir? Dilden bağımsız bir anlatım; Swift (struct/class, ARC) ve Dart (reference type, Smi, GC) örnekleriyle.
Yaşayan Hafıza — NATS ile Olay Akışından Anılara · Mnemo Serisi 4/5
Mnemo'nun ilk haftalarındaki "ölü" hissi, her servisin olaylarını ayrı bir hafıza katmanına akıtmanın felsefesi, iki aşamalı pipeline'ın matematiği ve Redis eklemeden dedup'ı çözme inadı.
Sırların Gidecek Bir Yeri Yok — Vault'un Doğuşu · Vault Serisi 1/3
Bir imzalı APK'yı test ekibine, bir .env dosyasını bir arkadaşa göndermek zorunda kaldığım gün fark ettim: hassas dosyaların gerçek bir evi yok. Bu yazı, bir rahatsızlığın nasıl bir altyapı kararına dönüştüğünün hikâyesi.
Hakkımda
Kariyerimin temelinde, içinde uzun bir Flutter döneminin de olduğu mobil yazılım geçmişi yatıyor. Bu tecrübe bana gecikmeyi, erişilebilirliği ve kullanıcı arayüzünün en küçük dokularını bile sunucu tarafındaki her şey kadar ciddiye almayı öğretti. Şimdilerde ise yapay zekanın mutfağına, yani çıkarım (inference) altyapılarına adım atıyorum; istek yönlendirme, GPU zamanlama ve veri depolama biçimleri gibi konuları öğrenmek ve bu alanda üretmek için büyük bir heyecan duyuyorum.
Teknoloji, mimari ve yeni fikirler üzerine düşünceli sohbetlere, ara sıra danışmanlığa ve nadiren yeni bir koltuğa açığım. Bana yaz — hepsini okuyorum.