İçeriğe geç
Tüm projeler

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ı

Diller
Çatılar & kütüphaneler

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

  1. 01Win32 WH_KEYBOARD_LL ve WH_MOUSE_LL global kancalarıyla donanım seviyesinde çevre birimi kilitleme
  2. 02Tamamlanan çalışma aralıklarını görselleştirmek için SQLite ile kalıcı oturum takibi ve geçmiş kaydı
  3. 03Kare düşüşlerini önlemek için pthread tabanlı asenkron arayüz ve varlık yükleme hatları
  4. 04Modern C++ SQLite işlemlerini C ön yüzüne açan C/C++ birlikte çalışabilirlik katmanı
  5. 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.