2009
11.30

Herkese selamlar,

Öncelikle uzun süredir yazamadığım bloguma artık, yazamamamın sebebini söylemenin zamanı geldi. O da “Kontrolcu”. Bu proje aslında çok basit bir iş yapsa da bizi baya uğraştırdı. 2009 Mayıs’da başladığımız bu projeye,(Buraya yazmak istemedim çünkü ametör bir başlangıç yaptık.) daha yeni 2.0 sürümüne vardık.

Kontrolcu peki nedir ? Bilinen tüm dosyaları kontrol etmek için kullanılan ‘checksum’ları oluşturabilen, bunu dosyaya yazabilen ve daha sonra dosyaları karşılaştırabilen 2.0 sürümü ile aklımıza yatan bir python projesi.

kontrolcwin7

Windows 7 Görüntüsü*

Projeye Osman Karagöz ile başladık. Pardus kanalında bir dosyanın md5 checksum’u nasıl oluşturulur diye soruyordum. Bu arada Osman Karagöz ile karşılaşıp, neden bizde bu işi basitleştiricek konsoldan korkanları korkutmayacak bir program yazmayalım dedik. İlk önce md5kontrolcu ile başladık. Bir süre sonra ortada başka dosya kontrol tiplerinin olduğunu görüp sadece md5 yerine sha1′i de ekledik. Bir taraftan arayüz ile bir taraftan konsol tipi ile uğraştık.

Daha sonra 1.0′ı çıkardık sessiz sedasız. Neden sessiz sedasız, hala sanki bir şeyler eksik dedik. Ben bir taraftan PyQt arayüzünü çıkarırken, Osman üşenmedi oturdu Tkinter arayüzünü yazdı. Kontrolcu’nün o güzel kütüphanesinin adını da “libkontrolcu.py” koyduktan sonra bu proje bitti dedik. Fakat baktık daha bir sürü kontrol tipleri varmış. 1.5 sürümü ile onları da ekledik.

Ama ortada çok komik hatalar vardı. Örneğin 20 GB’lık bir dosya kontrol edeceksiniz, Kontrolcu ya güzelce donuyor ya da MemoryError diyordu. Python’un nesne yapısını hiç bilmediğimiz için herşey fonksiyon tabanlıydı ve böyle olduğu için kafamız baya karışıyordu geliştirirken.

Qt’yi geliştirirken Qt-Designer’ı hiç bilmemem ve yanlış kaynaklardan çalışmam bir o kadar daha kafamı karıştırmıştı.  Her neyse bu hikaye 1.6 ile devam etti. Bu sefer KDE’de sağ tıkladığınız da direk kontrol dosyası oluşuyordu.

Uzun süre sonra 1.7 için çalışmalara başladık fakat o kadar saçma sapan kodlama yaptığımızı anladık. (Tabi uzun süre içinde baya şeyler kattık bilgilerimize.) Bir gün, iki gün geliştirdik fakat sonra bıraktık. Osman’ın 2.0′ı çıkaralım tavsiyesi üzerine çalışmalara başladık. Baktık ki 1.6′dan bir şey olmaz oturduk tamamen yeniden yazdık. Yaklaşık üç hafta oldu sanırım. Baya geliştirdik. 2.0-alpha için hazırız.

Bu uzun hikayemiz de İndirilme sayımız çok düşüktü. Hiçbir zaman Kontrolcu’yu geliştirirken herkes kullansın, ben de ünlü olayım değil, amacımız öğrenmek idi. 2009 Mayıs’tan bu yana baktığımız da gerçekten Kontrolcu, tüm ekibimize (ben, Osman Karagöz, Okan Okuroğulları(Türkçe çeviriler ve belgelendirme)) çokça şeyler kattı. Umarım 2.0′ın devamında, Kontrolcu bize daha çok şeyler katar.

2.0-alpha1 diye adlandırdığımız sürüm şu an Türkçe ve İtalyanca çevirileri ile sunduk. Ayrıca şu an elime İspanyolca çevirisi de geldi. İlk İtalyanca çevirisini görünce cidden çok hoşuma gitti. İyi ki İngilizce başlamışız 2.0′ı yapmaya dedim.

Unutmadan Kontrolcu plasmoidi söyleyeyim. KDE-LOOK sayfasından KDE4 için yaptığımız plasmoidi bulabilirsiniz. (Sadece md5 kontrolü ve MemoryError’lar ortaya çıkabilir. :) )

*: Şu an Pardus’a geçemediğim için sadece görüntüsü veriyorum afedersiniz :)

Benzer yazılar:

  1. Kontrolcu 2.0 Beta-1′e Merhaba!
  2. İşte Mutlu Son!
  3. Öİ E-Dergi 14. Sayı ve Pardus 2009 Alpha
  4. Python ile Konsoldan Tıklanan Tuşları Yakalamak!
  5. Python ile .mp3 ve .midi dosyalarını açmak/dinlemek

3 yorum yapılmış.

Yorumla!
  1. Bende google code kullanıyorum ve svn sini kullanmak istedim ama beceremedim kullanıcı adı ve şifresi tam olarak ne oluyor? misal ben istanbul.com uzantılı e-posta adresiyle üyeyim ve Source sayfasındaki bir bağlantıya tıkladığımda rasgele belirlenmiş bir şifre gibim bir şey var. Şunu izah ederseniz sevinirim…

  2. Büyük ihtimal 'svn checkout' derken https olan bağlantısını kullandınız. 'http' olarak kullanın, şifre istemeyecektir.

  3. Siz sadece okumak için olanı önerdiniz sanırım. Bende öle yapmışım ama yazamıyordum. Eclipsede şimdi https yaptım user passwd u kabul etti. “s” kısmına dikkat çektiğiniz için teşekkür ederim.