Friendly Computer Cat: İşletim Sistemi Seviyesinde Pomodoro ve Oturum Takibi
Donanım seviyesinde çalışan yerel bir odak ve Pomodoro aracı. Zorunlu mola döngülerinde düşük seviyeli Win32 kancalarıyla klavye ve fare girişini fiziksel olarak kilitler; aşırı odaklanma döngülerini kırarken tamamlanan çalışma oturumlarını SQLite üzerinde kalıcı olarak kaydeder.
Teknoloji yığını
Performans & metrikler
- Yerel C/C++ yürütmesi ve sıkı optimize edilmiş çizim döngüleri sayesinde boşta neredeyse sıfır CPU kullanımı
- Katı thread izolasyonu ile yoğun veritabanı I/O veya GIF çözümleme sırasında arayüzde sıfır bloklanma
- Özel çift yönlü bağlı liste (
LinkedList.h), geçmiş sayfalaması sırasında yığın (heap) parçalanmasını en aza indirir ve bellek kullanımını kararlı tutar
Neden geliştirdim?
Standart verimlilik zamanlayıcıları kolayca atlatılabilir ve tamamen kullanıcının disiplinine dayanır. Bu aracı kişisel bir sorunu çözmek için geliştirdim: Derin geliştirme seanslarında aşırı odaklanıp zamanın nasıl geçtiğini fark etmemek. Windows mesaj kuyruğuna düşük seviyeli klavye ve fare kancaları yerleştiren uygulama, mola süresi dolana kadar kullanıcıyı bilgisayardan fiziksel olarak uzaklaştırır. Aşırı odaklanma döngüsünü kırarak zihinsel tükenmeyi önlemeye yardımcı olduğu için mühendisler ve DEHB ya da OKB yaşayan bireyler için oldukça etkilidir; tamamlanan tüm görevleri de otomatik olarak kaydederek verimlilik geçmişinin incelenmesini sağlar.
Mimari & kararlar
Sistem, katı bir C/C++ dil sınırı üzerine kuruludur. Ön yüz, C ile Raylib kullanılarak yazılmış, hızlı tepki veren özel bir immediate-mode arayüzdür ve varlıkların engellemesiz (non-blocking) asenkron çözümlenmesi için pthread kullanır. Kalıcılık katmanı modern C++ ile yazılmıştır; SQLite3'ü tam işlem (transaction) güvenliğiyle sarmalar ve sistem günlükleri için spdlog kullanır. ABI farkını kapatmak için özel bir C sarmalayıcısı, C++ veritabanı nesnesinin metotlarını C arayüzüne açar ve verileri özel bir çift yönlü bağlı liste üzerinden bellek güvenli yapılar olarak aktarır.
Temel özellikler
- 01Win32
WH_KEYBOARD_LLveWH_MOUSE_LLglobal kancalarıyla donanım seviyesinde çevre birimi kilitleme - 02Tamamlanan çalışma aralıklarını görselleştirmek için SQLite ile kalıcı oturum takibi ve geçmiş kaydı
- 03Kare düşüşlerini önlemek için
pthreadtabanlı asenkron arayüz ve varlık yükleme hatları - 04Modern C++ SQLite işlemlerini C ön yüzüne açan C/C++ birlikte çalışabilirlik katmanı
- 05Klavye kancasına doğrudan bağlanmış acil çıkış kısayolu (
CTRL+ALT+SHIFT+Q)
Teknik değerlendirme
Bu proje, C/C++ birlikte çalışabilirliği ve işletim sistemi seviyesindeki müdahaleler açısından kapsamlı bir örnek niteliğindedir; hem katı bir sistem aracı hem de bir erişilebilirlik aracı olarak çalışır. Veritabanı ve günlükleme mantığını modern C++'ta izole edip katı bir C ABI ile dışarı açmak, bellek güvenliğini korurken Raylib ön yüzünün en yüksek kare hızında çizim yapmasını sağlar. Windows API kancaları kullanıcı girişini güvenilir şekilde yakalayıp devre dışı bırakarak zihinsel yorgunluğu azaltırken, entegre SQLite veritabanı tüm odak oturumlarını geçmişe dönük inceleme için titizlikle kaydeder.