8 Ekim 2012 Pazartesi

Tekrar merhaba

Merhabalar,

Aylardan sonra yine bloga bir şeyler yazayım diye login oldum ve bir şey farkettim. Blogdaki bazı yazıları ben bakmıyorken de okuyan insanlar varmış. Özellikle virtual memory nedir yazısı, biraz da Google aramalarında üst sıralarda çıktığı için sanırım değişik kişiler tarafından okunmuş.

Blogun düzenli takipçisi olduğunu sanmıyorum (zaten ben de düzenli yazmıyorum) ama yine de bir şey paylaşmak istiyorum. Ben bu bloga yalnızca iş aramaya başladığım zaman yazı yazıyorum. Sebebi de CV'mde yazan bazı konuları bildiğimi, en azından bir fikir sahibi olduğumu gösterebilmek. Dolayısıyla iş başvurusu yaptığım şirketler dışında herhangi bir trafik beklemiyordum.


Geçen sefer Mayıs ayında iş aramaya başlamıştım. Eski işimden mutlu bir şekilde ayrıldım fakat halletmem gereken özel işlerim olduğu için yeni iş yerine başlayamadım. Gerçi bir yandan iyi oldu. Hem uzun süredir çözmem gereken işlerle ilgilendim hem de sistem programlama alanına kendimi daha iyi hazırlama şansı buldum.

Şu anda temel eksiklerimi iyi - kötü kapatabildiğimi düşündüğüm için buradan yaz boyu yaptıklarımla ilgili yazı ve kod paylaşmaya başlayacağım. Gönlümden geçen VPS kiralayıp wordpress temelli bir blog yapmaktı ama şu anda dikkatimi ayıramıyorum.

Nisan'da son yazdığım yazıda virtual memory'nin sistem adminliği kısmından bahsedeceğim demişim. O yazılar bir yerlerde duruyor bildiğim kadarıyla. Sanırım aşırı swapping ve genel olarak pagingden kaynaklanan performans kayıplarıyla ilgili bir şeyler vardı. İsteyen olursa yorum yazsın, yazıları bulup paylaşayım. Network yazıları da benzer bir şekilde bölük pörçük olsa da duruyor. Onlar da Linux bonding driver ve TCP sessionları replay etmekle ilgiliydi galiba. Bir şeyler daha olabilir. Web programlama döneminde kullandığım blog uçtu gitti ama o yazılar da duruyor. Çoğu son derece out-dated. Bir tek CSS yazısı güzeldi galiba ama zaten o konularda çok daha güzel tonla kaynak var.


Gelelim önümüzdeki günlerde neler paylaşacağıma:
  • Mayıs ayında Linux soketleri ile basit bir chat programı yazmıştım. Bir kaç eksiği vardı. Sanırım server tarafında multi-thread yapacaktım, bağlanan her client'a ayrı thread açacaktı. Onun kodunu paylaşacağım.
  • Larry Nyhoff'un ADTs, Data Structures and Problem Solving with C++ kitabını okudum. Kitabı okurken basit veri yapıları hakkında yazdığım bazı kodları paylaşacağım.
  • Küçükken benim de severek oynadığım oyunlardan Z'nin remake'ini yapmışlar. C++ kullanan open-source proje ararken rastladım. Oyun komut satırından çalıştırılıyor ve içinde pek kullanışlı bir menü yok. Qt ile komut satırı parametrelerinin girilebildiği bir GUI yazdım. Github'da duruyor. Qt ve sinyaller ile ilgili de kısa bir yazı yazabilirim.
  • Linux Device Drivers 3 kitabını okuyorum. Kitabın başında "Hello, world" örneği olarak printk ile uyarı yazdırılıyor ama bu bir driver "Hello, world"ü değil sonuçta. Char driver bölümündeki scull driver örneği ise kocaman bir şey. İkisinin arasında, concurrency ve memory işlerine girmeden, çalışan bir char driver örneği yazdım. Hiçbir iş yapmayan bir driver yazmak için bile pek çok formalite var, kernel tarafında çalışıyoruz sonuçta. Bunları en aza indirmiş ve çalışan bir örnek görmek device driver yazmaya yeni başlayanları motive edecektir.