<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Aktenak — Devlog</title><description>Aktenak stüdyosunun geliştirme günlüğü: projeler, kararlar ve öğrenilenler.</description><link>https://aktenak-site.ardaakg36.workers.dev/</link><language>tr</language><atom:link href="https://aktenak-site.ardaakg36.workers.dev/rss.xml" rel="self" type="application/rss+xml"/><item><title>Dosya Dolabı 1.1.1: çöp kutusu erken siliyordu</title><link>https://aktenak-site.ardaakg36.workers.dev/devlog/dosya-dolabi-1-1-1/</link><guid isPermaLink="true">https://aktenak-site.ardaakg36.workers.dev/devlog/dosya-dolabi-1-1-1/</guid><description>1.1.1 iki veri kaybı hatasını ve bozuk bir belgenin uygulamayı her açılışta çökertmesini düzeltiyor. Bu sürüme geçerken bir kez kaldırıp kurman gerekiyor; dosyaların silinmez.</description><pubDate>Sat, 10 Oct 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;a href=&quot;/projeler/dosya-dolabi&quot;&gt;Dosya Dolabı&lt;/a&gt; 1.1.1 bir düzeltme sürümü. Yeni özellik yok; üç hatayı kapatıyor ve ikisi veri kaybına yol açabiliyordu.&lt;/p&gt;
&lt;h2 id=&quot;çöp-kutusu-30-günü-beklemiyordu&quot;&gt;Çöp kutusu 30 günü beklemiyordu&lt;/h2&gt;
&lt;p&gt;Çöpe atılan dosya 30 gün sonra kalıcı siliniyor. Bunun için uygulama dosyanın ne zaman çöpe atıldığını bir kayıtta tutuyor. Kayıt yoksa ya da bozulmuşsa dosyanın kendi tarihine bakıyordu. Taşıma o tarihi koruduğu için, aylar önce indirilmiş bir dosyayı bugün çöpe atınca uygulama onu “30 günü çoktan geçmiş” sayıp hemen silebiliyordu.&lt;/p&gt;
&lt;p&gt;Artık zamanı bilinmeyen bir dosyanın sayacı, dosya çöpte ilk görüldüğü anda başlıyor. Kayıt dosyası da önce geçici bir dosyaya yazılıp sonra yerine konuyor; yazarken uygulama kapanırsa kayıt yarım kalıp bozulmuyor.&lt;/p&gt;
&lt;h2 id=&quot;kategori-silerken-gizli-dosyalar-gidiyordu&quot;&gt;Kategori silerken gizli dosyalar gidiyordu&lt;/h2&gt;
&lt;p&gt;Bir kategoriyi silince içindekiler üst kategoriye çıkıyor. Adı nokta ile başlayan öğeler ise (Android’in kendi çöpü &lt;code&gt;.trashed-*&lt;/code&gt;, &lt;code&gt;.thumbnails&lt;/code&gt; gibi) taşınmayıp klasörle birlikte siliniyordu. Artık onlar da taşınıyor. Tek istisna &lt;code&gt;.nomedia&lt;/code&gt;: üst klasöre taşınsa o klasörü galeriden gizlerdi, o yüzden siliniyor. Son silme adımı da artık klasörün içine inmiyor; klasörde bir şey kalmışsa dokunulmuyor.&lt;/p&gt;
&lt;h2 id=&quot;tek-bir-belge-uygulamayı-her-açılışta-çökertebiliyordu&quot;&gt;Tek bir belge uygulamayı her açılışta çökertebiliyordu&lt;/h2&gt;
&lt;p&gt;Gelen Kutusu, WhatsApp ve İndirilenler’deki belgeleri kendiliğinden önizliyor. Küçük görünen ama açılınca gigabaytlarca büyüyen bozuk ya da kötü niyetli bir &lt;code&gt;.docx&lt;/code&gt;/&lt;code&gt;.pptx&lt;/code&gt; (zip bombası) belleği doldurup uygulamayı kapatıyordu. Dosya silinene kadar da her açılışta aynısı oluyordu. Önizleme artık en fazla birkaç MB okuyup duruyor; dosya ne iddia ederse etsin bellek ve süre sınırlı.&lt;/p&gt;
&lt;h2 id=&quot;bir-kez-kaldırıp-kurman-gerekiyor&quot;&gt;Bir kez kaldırıp kurman gerekiyor&lt;/h2&gt;
&lt;p&gt;1.0.0 ve 1.1.0 hata ayıklama anahtarıyla imzalıydı ve o anahtar kayboldu. Android, farklı anahtarla imzalanmış bir sürümü eskisinin üstüne kurmuyor. 1.1.1’den itibaren APK’lar GitHub Actions’ta kalıcı bir sürüm anahtarıyla derlenip imzalanıyor; bundan sonraki sürümler yine üstüne kurulacak.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Eski Dosya Dolabı’nı kaldır. &lt;strong&gt;Dosyaların silinmez:&lt;/strong&gt; kategoriler &lt;code&gt;Dahili depolama/Dosya Dolabı&lt;/code&gt; altında gerçek klasörler, çöp kutusu da orada.&lt;/li&gt;
&lt;li&gt;1.1.1 APK’sını kur ve ilk açılışta “Tüm dosyalara erişim” iznini yeniden ver.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;102 otomatik test geçiyor, çöp kutusu ve zip bombası senaryoları dahil. Yayından önce değişen kod güvenlik açısından incelenip &lt;a href=&quot;https://github.com/tungarix/dosya-dolabi/blob/main/guvenlik/incelemeler/v1.1.1.md&quot;&gt;kayda geçti&lt;/a&gt;; APK’nın SHA-256 özeti ve imza sertifikası sürüm notunda yazılı.&lt;/p&gt;
&lt;p&gt;İndir: &lt;a href=&quot;https://github.com/tungarix/dosya-dolabi/releases/tag/v1.1.1&quot;&gt;GitHub’daki v1.1.1 sürümü&lt;/a&gt;.&lt;/p&gt;
</content:encoded></item><item><title>Dosya Dolabı 1.1.2: önizleme artık takılmıyor</title><link>https://aktenak-site.ardaakg36.workers.dev/devlog/dosya-dolabi-1-1-2/</link><guid isPermaLink="true">https://aktenak-site.ardaakg36.workers.dev/devlog/dosya-dolabi-1-1-2/</guid><description>1.1.2, Gelen Kutusu&apos;ndaki bozuk ya da kötü niyetli bir belgenin önizlemeyi dakikalarca kilitlemesinin üç yolunu kapatıyor. 1.1.1&apos;in üstüne doğrudan kuruluyor.</description><pubDate>Sat, 10 Oct 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;a href=&quot;/projeler/dosya-dolabi&quot;&gt;Dosya Dolabı&lt;/a&gt; 1.1.2, 1.1.1’deki zip bombası düzeltmesinin devamı. Gelen Kutusu belgeleri sen dokunmadan önizlediği için, önizlemenin bir dosyaya takılması uygulamanın donması demek. 1.1.1 bellek tarafını kapatmıştı. Bu sürüm, bellek yerine zamanı tüketen yolları kapatıyor.&lt;/p&gt;
&lt;h2 id=&quot;neler-düzeldi&quot;&gt;Neler düzeldi?&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Zip dizini önce biz okuyoruz.&lt;/strong&gt; &lt;code&gt;.docx&lt;/code&gt; ve &lt;code&gt;.pptx&lt;/code&gt; aslında birer zip dosyası. Önizleme dosyayı açmadan önce içindeki dizine bakıyor: kayıt sayısı, dizin boyutu ya da ad alanları makul sınırı aşıyorsa önizleme yapılmıyor, kartta tür simgesi görünüyor.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Metin çıkarma doğrusal.&lt;/strong&gt; Belgenin metni eskiden düzenli ifadelerle aranıyordu. Özel hazırlanmış bir belgede bu arama dosya boyutuyla orantısız uzuyordu: yeni testlerde eski kod 55 saniye ve 150 saniyeden fazla takıldı. Yeni tarayıcının süresi dosya boyutuyla doğrusal artıyor.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sembolik bağlantı girdileri reddediliyor.&lt;/strong&gt; Kullandığımız zip kütüphanesi bu tür girdileri sınırsız açıyordu; artık önizlemeye hiç alınmıyorlar.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;110 otomatik test geçiyor. Değişen kod yayından önce güvenlik açısından incelenip &lt;a href=&quot;https://github.com/tungarix/dosya-dolabi/blob/main/guvenlik/incelemeler/v1.1.2.md&quot;&gt;kayda geçti&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;1.1.1’den beri APK’lar aynı kalıcı anahtarla imzalanıyor, bu yüzden bu sefer kaldırıp kurmak gerekmiyor: yeni APK eskisinin üstüne kuruluyor.&lt;/p&gt;
&lt;p&gt;İndir: &lt;a href=&quot;https://github.com/tungarix/dosya-dolabi/releases/tag/v1.1.2&quot;&gt;GitHub’daki v1.1.2 sürümü&lt;/a&gt;.&lt;/p&gt;
</content:encoded></item><item><title>Habit Tracker 1.3.0: v1.2.x verini yanlış klasörde açıyordu</title><link>https://aktenak-site.ardaakg36.workers.dev/devlog/habit-tracker-veri-klasoru/</link><guid isPermaLink="true">https://aktenak-site.ardaakg36.workers.dev/devlog/habit-tracker-veri-klasoru/</guid><description>v1.2.0 ve v1.2.1 Windows&apos;ta verileri boş bir klasörde açtı. v1.3.0 sorunu düzeltiyor, eski veriyi geri taşıyor; yanında otomatik yedek, pencere konumu ve sistem teması geliyor.</description><pubDate>Thu, 08 Oct 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;a href=&quot;/projeler/habit-tracker&quot;&gt;Habit Tracker&lt;/a&gt; 1.3.0 çıktı. Önce kötü haber: &lt;strong&gt;v1.2.0 ve v1.2.1 kullandıysan, bu sürümlerde uygulamayı açtığında alışkanlıkların boş görünmüş olabilir.&lt;/strong&gt; Verin silinmedi; bu devlog’un asıl konusu bu hata.&lt;/p&gt;
&lt;h2 id=&quot;ne-olmuştu&quot;&gt;Ne olmuştu?&lt;/h2&gt;
&lt;p&gt;Windows’ta Flutter, uygulama veri klasörünü exe’nin ürün adından (&lt;code&gt;ProductName&lt;/code&gt;) türetiyor. v1.2.0’da gerçek ikonu ve dosya bilgisini eklerken ürün adını “Aktenak Habit Tracker” yaptık. Klasör adı o isimle birlikte sessizce değişti: uygulama &lt;code&gt;%APPDATA%\com.aktenak\aktenak_habit_tracker&lt;/code&gt; yerine &lt;code&gt;…\Aktenak Habit Tracker\&lt;/code&gt; içinde yeni ve boş bir veritabanı açmaya başladı. Eski veri eski klasöründe duruyordu ama uygulama ona bakmıyordu.&lt;/p&gt;
&lt;p&gt;Dersimiz: veri yolu, kodda hiç yazmadığımız bir şeye (exe’nin metadatasına) bağlıydı. Bu yüzden artık yolu biz sabitliyoruz.&lt;/p&gt;
&lt;h2 id=&quot;v130da-ne-yaptık&quot;&gt;v1.3.0’da ne yaptık?&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Veri klasörü artık sabit.&lt;/strong&gt; Ürün adı bir daha değişse bile veri &lt;code&gt;%APPDATA%\com.aktenak\aktenak_habit_tracker&lt;/code&gt; altında kalır.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Eski veri geri taşınıyor.&lt;/strong&gt; İlk açılışta &lt;code&gt;Aktenak Habit Tracker&lt;/code&gt; klasöründe veri varsa bir kez geri alınır. Oradaki veritabanı boşsa kenara alınır; doluysa önce mevcut dosyan yedeklenir, sonra iki taraf &lt;strong&gt;birleştirilir&lt;/strong&gt;, farklı alışkanlıklar birbirinin üzerine yazılmaz. Kurtarılan veri ayrıca &lt;code&gt;yedekler\&lt;/code&gt; altına JSON olarak da bırakılır. Tema ve hatırlatıcı saati gibi ayarlar taşınmıyor; bir kez yeniden seçmen gerekebilir.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Başlangıçta aç&lt;/strong&gt; Türkçe karakterli yollarda hiç çalışmıyordu (&lt;code&gt;Yeni klasör&lt;/code&gt; gibi). Windows kayıt defterine yazılan yol UTF-8 olarak yazılıyordu ama uygulamanın manifestosu UTF-8 kod sayfası tanımlamıyordu, yol &lt;code&gt;Yeni klasÃ¶r&lt;/code&gt; olarak bozuluyordu ve uygulama oturum açılışında hiç başlamıyordu. Manifesto düzeltildi. Ayrıca bu seçenek açıkken uygulamanın tepside başlayacağı söyleniyordu ama pencere normal açılıyordu; artık &lt;code&gt;--tray&lt;/code&gt; ile gerçekten tepside başlıyor.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;yeni-olanlar&quot;&gt;Yeni olanlar&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Otomatik yedek:&lt;/strong&gt; günde bir kez tam yedek, &lt;code&gt;yedekler\&lt;/code&gt; altına, son 14 gün saklanır. Elle aldığın yedeklere dokunulmaz. Ayarlar’da veri klasörünün yeri görünüyor, &lt;strong&gt;Klasörü aç&lt;/strong&gt; ve &lt;strong&gt;Yedekleri aç&lt;/strong&gt; düğmeleri var.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Pencere konumu:&lt;/strong&gt; boyut, yer ve büyütülmüş hâl hatırlanıyor. Kayıtlı yer artık bağlı olmayan bir monitördeyse pencere varsayılan yerde açılıyor.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sistem teması:&lt;/strong&gt; Windows’un açık/koyu temasını takip eden üçüncü seçenek. Üst çubuktaki düğme koyu, açık, sistem arasında dönüyor; Ayarlar’dan da seçilir. Varsayılan koyu kaldı.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;ayrıca-düzelenler&quot;&gt;Ayrıca düzelenler&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Yedeği &lt;strong&gt;Birleştir&lt;/strong&gt; ile içe aktarınca odak seansları artık çoğalmıyor. Aynı kimlik numaralı farklı bir alışkanlık (başka cihazdan gelen yedekte olabilir) mevcut olanın üzerine yazılmıyor, yeni kayıt olarak ekleniyor.&lt;/li&gt;
&lt;li&gt;Gece 00:00–04:00 arasında eklenen alışkanlık artık o takip gününden itibaren sayılıyor.&lt;/li&gt;
&lt;li&gt;Gün hesapları yaz saati geçişlerinde gün atlamıyor, bir günü iki kez saymıyor.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;süreç-tarafında&quot;&gt;Süreç tarafında&lt;/h2&gt;
&lt;p&gt;Sürüm kapısı bu sürümden itibaren sıkı: her sürümden önce önceki sürümden beri değişen kod güvenlik açısından incelenip kayda geçiyor ve yayın otomasyonu bu kayıt olmadan exe’yi derlemiyor. Kayıt repoda: &lt;a href=&quot;https://github.com/tungarix/habit-tracker/blob/main/guvenlik/incelemeler/v1.3.0.md&quot;&gt;v1.3.0 güvenlik incelemesi&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;İndir: &lt;a href=&quot;https://github.com/tungarix/habit-tracker/releases/tag/v1.3.0&quot;&gt;GitHub’daki v1.3.0 sürümü&lt;/a&gt;. Taşınabilir ZIP; eski sürümün üzerine çıkarıp çalıştırman yeterli, eski verin ilk açılışta kendiliğinden geri gelir.&lt;/p&gt;
</content:encoded></item><item><title>Takvim 1.4&apos;ten 1.6&apos;ya: görevler, dil seçeneği ve veri kurtarma</title><link>https://aktenak-site.ardaakg36.workers.dev/devlog/takvim-1-4-1-6/</link><guid isPermaLink="true">https://aktenak-site.ardaakg36.workers.dev/devlog/takvim-1-4-1-6/</guid><description>Takvim yayından beri üç sürüm aldı: Türkçe/İngilizce arayüz, yapılacaklar listesi, bozuk veritabanından kurtarma ve DNS rebinding&apos;e karşı koruma.</description><pubDate>Thu, 08 Oct 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;a href=&quot;/projeler/takvim&quot;&gt;Takvim&lt;/a&gt; ilk yayından bu yana üç sürüm aldı. Hepsini tek kayıtta topluyoruz; her sürümün tam listesi &lt;a href=&quot;https://github.com/tungarix/takvim/releases&quot;&gt;GitHub’da&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&quot;140-arayüz-dili-26-eylül&quot;&gt;1.4.0: arayüz dili (26 Eylül)&lt;/h2&gt;
&lt;p&gt;Ayarlar’dan &lt;strong&gt;Türkçe / İngilizce&lt;/strong&gt; seçilebiliyor. Arayüz ya tamamen birinde ya tamamen diğerinde; hatırlatıcı bildirimleri de dahil. Bir istisnamız var ve README’de açıkça yazıyor: hızlı ekleme kutusu İngilizce modda da Türkçe cümle bekliyor (“yarın 14:00 toplantı” gibi). Cümle ayrıştırıcıyı iki dilde güvenilir çalıştırmak ayrı bir iş; yarım yapıp kırık bir şey sevk etmedik.&lt;/p&gt;
&lt;h2 id=&quot;141-daha-hızlı-çizim-29-eylül&quot;&gt;1.4.1: daha hızlı çizim (29 Eylül)&lt;/h2&gt;
&lt;p&gt;Tekrarlı etkinlik serileri her ekran çiziminde başlangıç tarihinden baştan hesaplanıyordu, yani seri eskidikçe takvim yavaşlıyordu. Kural kümesi artık bellekte tutuluyor. Ağır bir test verisinde (3000 etkinlik, iki yıllık 150 seri) hafta görünümü 122 ms’den 36 ms’ye, ay görünümü 189 ms’den 97 ms’ye indi; sonuçlar birebir aynı. Ayarlar kutusunda ilk kez uygulama sürümü de görünüyor: hata bildiren birinin hangi &lt;code&gt;.exe&lt;/code&gt;’yi çalıştırdığını bilmemesi saçma bir eksikti.&lt;/p&gt;
&lt;h2 id=&quot;150-görevler-30-eylül&quot;&gt;1.5.0: görevler (30 Eylül)&lt;/h2&gt;
&lt;p&gt;Kenar çubuğunda bir yapılacaklar listesi. Bir görev üç hâlden biri olabilir: &lt;strong&gt;plansız&lt;/strong&gt;, &lt;strong&gt;güne planlı&lt;/strong&gt; (“bugün bir ara yaparım”) ya da &lt;strong&gt;belirli saatlerde&lt;/strong&gt;. Saat planlı görev takvimde onay kutulu bir blok olur; sıradan etkinlik gibi taşınır, boyutlanır, çakışma uyarır, hatırlatıcı taşır.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Yazıp Enter’a basmak plansız görev ekler; &lt;code&gt;görev: rapor yaz yarın 14:00-15:30&lt;/code&gt; yazarsan hızlı ekleme saatini de çözer.&lt;/li&gt;
&lt;li&gt;Görevi listeden ızgaraya sürükleyince bırakılan saate yerleşir.&lt;/li&gt;
&lt;li&gt;Görevler &lt;code&gt;.ics&lt;/code&gt; dosyasına &lt;code&gt;VTODO&lt;/code&gt; olarak yazılıyor ve içe aktarılıyor.&lt;/li&gt;
&lt;li&gt;Silme “Geri al” ile geri alınabiliyor. Bloğu silmek görevi silmez, plansıza döndürür.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Sınırlarını da yazalım: görevler tekrarlanmıyor, alt görev/öncelik/etiket yok, pencere 1040 px’ten darsa liste gizleniyor. Bilerek küçük tuttuk.&lt;/p&gt;
&lt;h2 id=&quot;160-veri-güvenliği-8-ekim&quot;&gt;1.6.0: veri güvenliği (8 Ekim)&lt;/h2&gt;
&lt;p&gt;Bu sürümün büyük kısmı “veri bozulursa ne olur?” sorusuna cevap.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Bozuk veritabanından kurtarma.&lt;/strong&gt; Açılışta veritabanı bozuk çıkarsa Takvim en son sağlam yedeği bulup “bu yedeğe dönülsün mü?” diye soruyor. Evet dersen bozuk dosya silinmez, &lt;code&gt;bozuk-takvim-&amp;lt;zaman&amp;gt;.db&lt;/code&gt; adıyla kenara alınır. Hayır dersen hiçbir dosyaya dokunulmaz. Eskiden ham bir hata metni çıkıyordu ve kurtarmak için dosyaları elle değiştirmek gerekiyordu.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Aramada görevler de çıkıyor&lt;/strong&gt; (tamamlananlar dahil).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Bu sürümde kendi hatalarımızı da bulduk: bozuk ama açılabilen bir veritabanıyla uygulama hiçbir şey demeden açılıyordu ve günlük yedek, o sabahın sağlam yedeğini bozuk kopyayla eziyordu. Birkaç gün sürseydi eski sağlam yedekler de budanacaktı. Artık bozuk veritabanından yedek alınmıyor.&lt;/p&gt;
&lt;p&gt;Güvenlik tarafında bir kapı kapattık: yerel arayüz sunucusu &lt;code&gt;Host&lt;/code&gt; başlığını denetlemiyordu, bu da (DNS rebinding ile) kötü niyetli bir sitenin, alan adını 127.0.0.1’e çözdürüp takvimin tamamını okumasına izin verebilirdi. Başlık denetimi artık var.&lt;/p&gt;
&lt;p&gt;Sürüm süreci de sıkılaştı. Her sürümden önce değişen kod güvenlik açısından inceleniyor ve kayda geçiyor; kayıt yoksa yayın otomasyonu &lt;code&gt;.exe&lt;/code&gt;’yi derlemiyor. Derlenen &lt;code&gt;.exe&lt;/code&gt; ayrıca gerçekten çalıştırılıp sınanıyor: sürüm numarası, arayüz dosyaları, şema, açılış yedeği, &lt;code&gt;.ics&lt;/code&gt; çıktısı. Test sayısı 623’ten 775’e çıktı.&lt;/p&gt;
&lt;p&gt;İndir: &lt;a href=&quot;https://github.com/tungarix/takvim/releases/tag/v1.6.0&quot;&gt;v1.6.0&lt;/a&gt;. Tek dosyalık &lt;code&gt;.exe&lt;/code&gt;, kurulum yok.&lt;/p&gt;
</content:encoded></item><item><title>Dosya Dolabı 1.1.0: dosyalar artık önizlemeli</title><link>https://aktenak-site.ardaakg36.workers.dev/devlog/dosya-dolabi-onizleme/</link><guid isPermaLink="true">https://aktenak-site.ardaakg36.workers.dev/devlog/dosya-dolabi-onizleme/</guid><description>Dosya Dolabı&apos;nın yeni sürümü her dosyanın içeriğini kartında gösteriyor: adı anlamsız bir PDF&apos;i ya da sunumu açmadan tanıyabilirsin.</description><pubDate>Thu, 01 Oct 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;a href=&quot;/projeler/dosya-dolabi&quot;&gt;Dosya Dolabı&lt;/a&gt; 1.1.0 çıktı. Yeni olan şey tek ve somut: &lt;strong&gt;dosyalar artık önizlemeli.&lt;/strong&gt; Bir arkadaşın önerisiyle geldi: dosya adı içeriği anlatmayabilir (&lt;code&gt;scan_0042.pdf&lt;/code&gt;, &lt;code&gt;Doküman1.docx&lt;/code&gt;), o zaman hangi kategoriye koyacağını bilmek için dosyayı tek tek açmak gerekiyordu.&lt;/p&gt;
&lt;p&gt;Artık her kartta ve liste satırında dosyanın içinden bir parça görünüyor: PDF’in ilk sayfası, resimler (fotoğraflar doğru yönde), sunum ve belgelerde dosyaya gömülü küçük resim ya da ilk slaytın/sayfanın metni, Excel ve metin dosyalarında ilk satırlar. Kart menüsündeki &lt;strong&gt;Önizle&lt;/strong&gt; büyük, yakınlaştırılabilir bir pencere açıyor; oradan dosyayı doğrudan kategoriye koyabilir ya da açabilirsin.&lt;/p&gt;
&lt;p&gt;Teknik taraf kısa: PDF ve resimleri Android’in kendi &lt;code&gt;PdfRenderer&lt;/code&gt;’ı çiziyor, ek bir eklenti ya da internet erişimi yok. Sunum ve belgeler zip dosyası olduğundan içlerine bakmak için saf Dart bir paket kullanıldı. Önizleme çıkarılamazsa (bozuk ya da şifreli dosya) eski tür simgesi görünüyor.&lt;/p&gt;
&lt;p&gt;Açık söyleyelim: bir slaytı ya da Word sayfasını gerçekten çizmiyoruz. Dosyanın içinde gömülü küçük resim yoksa yalnızca metnini gösteriyoruz. Gerçek cihazlardan geri bildirim bekliyoruz. Mevcut 1.0.0 üzerine güncelleme olarak kuruluyor: &lt;a href=&quot;https://github.com/tungarix/dosya-dolabi/releases/tag/v1.1.0&quot;&gt;GitHub’daki sürüm sayfası&lt;/a&gt;.&lt;/p&gt;
</content:encoded></item><item><title>Dosya Dolabı yayında: dosyaları gerçek klasörlere ayıran Android uygulaması</title><link>https://aktenak-site.ardaakg36.workers.dev/devlog/dosya-dolabi-yayinda/</link><guid isPermaLink="true">https://aktenak-site.ardaakg36.workers.dev/devlog/dosya-dolabi-yayinda/</guid><description>Aktenak&apos;ın üçüncü aracı Dosya Dolabı, kendi ürün sayfasıyla siteye geldi: PDF, slayt ve belgeleri cihazdaki gerçek klasörlere kategorileyen bir Android uygulaması.</description><pubDate>Thu, 01 Oct 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Üçüncü araç yayında: &lt;strong&gt;Dosya Dolabı&lt;/strong&gt;, PDF, slayt ve belge dosyalarını kategorilere ayıran bir Android uygulaması. Bir arkadaşın tableti için başladı ve ilk sürümüyle (v1.0.0) çıktı.&lt;/p&gt;
&lt;p&gt;Fikir basit: indirdiğin ya da aldığın yeni dosyalar bir &lt;strong&gt;Gelen Kutusu&lt;/strong&gt;’nda birikir, sen her birini bir kategoriye koyarsın. Kategoriler uygulamanın içinde bir etiket değil, cihazında &lt;strong&gt;gerçek klasörlerdir&lt;/strong&gt;; dosya gerçekten taşınır, uygulamayı silsen de yerinde kalır. Kategoriler iç içe olabilir, her taşıma ve silmede “Geri al” çıkar, silinen dosya 30 gün çöp kutusunda bekler. Arama Türkçe harflere duyarsız: “notlari” yazınca “notları” bulunur.&lt;/p&gt;
&lt;p&gt;Arayüz tablet için tasarlandı, dar ekranlarda (telefon) kendini uyarlıyor. Uygulamanın internet izni yok, dosyaların cihazdan dışarı çıkmaz. Kod tamamen açık, MIT lisanslı: &lt;a href=&quot;https://github.com/tungarix/dosya-dolabi&quot;&gt;github.com/tungarix/dosya-dolabi&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Sitede artık kendi &lt;a href=&quot;/projeler/dosya-dolabi&quot;&gt;ürün sayfası&lt;/a&gt; var. Takvim ve Habit Tracker’daki gibi kısa tutulan bir “bilerek yapmadıklarımız” listesi de orada.&lt;/p&gt;
&lt;p&gt;İki şeyi açık söyleyelim. Dosya Dolabı Play Store’da değil, APK olarak dağıtılıyor: dosyaları taşıyabilmesi için gereken “Tüm dosyalara erişim” izni Play’de kısıtlı. Ayrıca ilk sürüm emülatörde ve gerçek bir cihazda denendi, sorun görülmedi; başka cihazlardan geri bildirim bekliyoruz.&lt;/p&gt;
</content:encoded></item><item><title>Habit Tracker yayında: hesapsız bir alışkanlık takipçisi</title><link>https://aktenak-site.ardaakg36.workers.dev/devlog/habit-tracker-yayinda/</link><guid isPermaLink="true">https://aktenak-site.ardaakg36.workers.dev/devlog/habit-tracker-yayinda/</guid><description>Aktenak&apos;ın ikinci sevk ettiği araç Habit Tracker, kendi ürün sayfasıyla siteye geldi: alışkanlıklar, mood, görevler ve odak seansları tek panelde.</description><pubDate>Sat, 26 Sep 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;İkinci araç yayında: &lt;strong&gt;Habit Tracker&lt;/strong&gt;, hesap istemeyen, sunucuya hiç çıkmayan bir alışkanlık takip uygulaması. v1.2.0 sürümünde — günlük panel, 30 günlük ısı şeridi, odak sayacı, haftalık görevler, mood takibi, aylık grid görünümü, seri/korelasyon istatistikleri, sistem tepsisi, klavye kısayolları ve akşam hatırlatıcısı var.&lt;/p&gt;
&lt;p&gt;Windows için portable bir ZIP; kurulum ya da yönetici izni gerekmez, klasöre çıkar ve çalıştır. Veri tamamen yerel — sunucu yok, hesap yok. Kod tamamen açık, MIT lisanslı: &lt;a href=&quot;https://github.com/tungarix/habit-tracker&quot;&gt;github.com/tungarix/habit-tracker&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Sitede artık kendi &lt;a href=&quot;/projeler/habit-tracker&quot;&gt;ürün sayfası&lt;/a&gt; var. Takvim’le aynı kapsam disiplini geçerli: kısa tutulan bir “bilerek yapmadıklarımız” listesi var, büyütülmesi gereken bir eksik değil.&lt;/p&gt;
&lt;p&gt;Uygulama imzalı bir sertifikayla dağıtılmıyor, Windows ilk açılışta SmartScreen uyarısı gösterebilir. Kaynak koduna bakıp ne yaptığını görebilirsin.&lt;/p&gt;
&lt;p&gt;Aynı yaklaşımla kurulan üçüncü araç yolda.&lt;/p&gt;
</content:encoded></item><item><title>Takvim yayında: hesapsız, çevrimdışı bir masaüstü takvimi</title><link>https://aktenak-site.ardaakg36.workers.dev/devlog/takvim-yayinda/</link><guid isPermaLink="true">https://aktenak-site.ardaakg36.workers.dev/devlog/takvim-yayinda/</guid><description>Aktenak&apos;ın ilk sevk ettiği araç Takvim, kendi ürün sayfasıyla siteye geldi: Windows için tek dosya, MIT açık kaynak.</description><pubDate>Sat, 26 Sep 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Aktenak’ın ilk sevk ettiği araç yayında: &lt;strong&gt;Takvim&lt;/strong&gt;, hesap istemeyen, internete hiç çıkmayan bir masaüstü takvim uygulaması. Şu an v1.6.0 sürümünde — gün/hafta/ay görünümleri, tekrarlı etkinlikler, görevler (yapılacaklar listesi), birden çok takvim, masaüstü hatırlatıcıları, &lt;code&gt;.ics&lt;/code&gt; içe/dışa aktarma, otomatik yedekleme (veri bozulursa son sağlam yedeğe dönme dahil) ve Türkçe/İngilizce arayüz dili var.&lt;/p&gt;
&lt;p&gt;Windows için tek dosyalık bir &lt;code&gt;.exe&lt;/code&gt;; Python kurmana gerek yok. Verin kendi bilgisayarında, tek bir SQLite dosyasında kalır — sunucu yok, hesap yok. Kod tamamen açık, MIT lisanslı: &lt;a href=&quot;https://github.com/tungarix/takvim&quot;&gt;github.com/tungarix/takvim&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Sitede artık kendi &lt;a href=&quot;/projeler/takvim&quot;&gt;ürün sayfası&lt;/a&gt; var: ekran görüntüsü, özellik listesi ve bilerek kapsam dışı bıraktıklarımızın listesi. O liste kısa tutulan bir karar — büyütülmesi gereken bir eksik değil.&lt;/p&gt;
&lt;p&gt;Uygulama imzalı bir sertifikayla dağıtılmıyor, bu yüzden Windows ilk açılışta SmartScreen uyarısı gösterebilir. Kaynak koduna bakıp ne yaptığını görebilirsin; uyarıyı geçme adımları repodaki benioku dosyasında yazılı.&lt;/p&gt;
&lt;p&gt;Sıradaki adım aynı yaklaşımla kurulan başka küçük araçlar.&lt;/p&gt;
</content:encoded></item><item><title>İlk kayıt: stüdyo ve site yayında</title><link>https://aktenak-site.ardaakg36.workers.dev/devlog/ilk-iz/</link><guid isPermaLink="true">https://aktenak-site.ardaakg36.workers.dev/devlog/ilk-iz/</guid><description>Aktenak&apos;ın ilk devlog kaydı: stüdyonun kuruluşu ve sitenin açılışı.</description><pubDate>Fri, 03 Jul 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Her büyük iş bir ilk adımla başlar. Bu da bizimkisi.&lt;/p&gt;
&lt;p&gt;Aktenak; biri kod ve sistemler, biri hikâye ve tasarım tarafında çalışan iki kişilik bir Kocaeli stüdyosu. Uzun süredir kendi aramızda konuştuğumuz şeyi nihayet görünür hale getirdik: bu site, stüdyonun kim olduğunu, neye inandığını ve ne ürettiğini tek bir yerde topluyor.&lt;/p&gt;
&lt;h2 id=&quot;şu-an-ne-üzerinde-çalışıyoruz&quot;&gt;Şu an ne üzerinde çalışıyoruz?&lt;/h2&gt;
&lt;p&gt;Şimdilik günlük hayatı kolaylaştıran küçük, odaklı araçlar üzerinde çalışıyoruz — her biri tek bir soruna iyi cevap vermek üzere kuruluyor. Tarih vermiyoruz; işi acele ettirmeyeceğiz.&lt;/p&gt;
&lt;h2 id=&quot;bu-devlogda-ne-olacak&quot;&gt;Bu devlog’da ne olacak?&lt;/h2&gt;
&lt;p&gt;Süreci açık yürütmek istiyoruz. Burada teknik kararlar, tasarım denemeleri, yanlış çıkan yollar ve öğrendiklerimiz olacak — cilalı basın bültenleri değil.&lt;/p&gt;
&lt;p&gt;Sonraki kayıtta görüşmek üzere.&lt;/p&gt;
</content:encoded></item></channel></rss>