Archive for March, 2009

Perfection

Thursday, March 26th, 2009

“Perfection” veya Türkçe’de ki adıyla “Mükemmellik”. Mükemmellikten kısaca bahsetmek gerekirse; bir şeyi en geniş olacak şekilde, bir bütün olarak ve kusursuz yapmak demektir. Bu konudan bahsetmemin nedeni ise, yaptığım herhangi bir şeyde “Mükemmelik”e çok önem veriyorum.

Örneğin bir programcı olarak, genelde program yapan insanlar, programın çalışıp çalışmadığına bakmayla yetinirler. Benim için bu kesinlikle yeterli değildir. Programın kullandığı kaynaklardan, bunları nasıl kullandığına, yapacağı işi en kolay şekilde nasıl yapacağına ve kodlamasında bulunan standartlara bakarım.

Yazdığım programlar da bu şekildedir. Gerekse ’syntax’ının yapısı, gerekse yaptığı işi en kolay şekilde yapması mükemmel olmalıdır. Yazılımın kullandığı 1 bit bellek bile benim için çok önemlidir. Bu nedenle tam hakimiyet sağlamak için C programlama dilini tercih ediyorum. Yazılımın sözdizimi ise mutlaka bir standart üzerine kurulu olmalıdır. Gerekse mevcut kodlama standartları, gerekse kendi standartım olabilir bu.

Mükemmelci olduğum için ise gördüğüm en büyük sorunu dile getireyim. Bir yazılım üretirken bu kadar mükemmelci olmak; özellikle tek kişi iseniz yazılımın detayları arasında çok çabuk boğulmanıza neden oluyor. Çoğu zaman bir iş aldığımda gece gündüz kasmama rağmen zamanında yetiştirememe neden oldu. Buradan paldır küldür yazılım ürettiğim sonucunu çıkarmamalısınız. Bir yazılım üretirken önce kaynakları toplar, daha sonra uzun uzun düşünerek yazılımı tasarlarım, herşey mükemmel olana dek. Basit bir yazılım için bile UML kullanırım.

Bu yazıyı uzun zamandır yazmayı planlıyordum. İnternet üzerinde rastladığım, bir kişinin benim gibilere benzetmiş olduğu bir tabir üzerine yazıyı yazmaya başladım. Sitenin bağlantısını vermek istemiyorum, kısaca bizim gibilere “kontrol manyakları” deniliyordu. Evet kontrol manyağıyım. Kendi yaptığımın yanında, eğer başka biriyle bir iş yapıyorsam onunkinin de benim ki kadar mükemmel olmasını isterim. Eğer olmuyorsa burada sorunlarımız başlıyor demektir.

Bu durumdan memnun muyum sorusuna gelecek olursak; evet, sonuna kadar memnunum. Özellikle benim gibi bilgisayar üzerinde bu kadar kontrolcü olan birine, GNU/Linux gibi süper esnek bir işletim sistemi, tapılacak bir yazılım topluluğu anlamına geliyor. Tüm processlerin ne işe yaradığını bilmek, neyin ne yaptığını anlamak tüm sisteme benim hükmedebilmemi sağlıyor. Gerekse GNU/Linux’u tercih etmemin başlıca nedeni budur. Elbette buna en kolay ön ayak olan Debian dağıtımını tercih etmemin de. Bir çok Free Software Hacker’ının da benim gibi düşündüğünü sanıyorum. Öyle olmasaydı, ne bu sistemi kullanırken, ne de özgür yazılım üretirken bu kadar zevk almazdım.

lighttpd ne kadar ‘light’tır?

Saturday, March 14th, 2009

Bir süredir bu sunucu da dahil olmak üzere Debian üzerinde lighttpd kullanmaktayım. lighttpd ismi gibi kendisi de gerçekten light bir web sunucusu. FastCGI uygulaması olarak çalışan PHP ile de, Apache’den kat kat ‘light’ olduğunu söyleyebilirim. Özellikle bellek kullanımı lighttpd’i eşsiz kılıyor. Eğer fazla belleği bulunmayan bir sunucunuz varsa hiç düşünmeden lighttpd kullanın.

lighttpd’nin özelliklerine gelecek olursak boyundan büyük bir çok özelliği bulunmakta. Proxy modülünden, Apache’de sıkça kullanılan rewrite modülüne kadar bir çok modül bulunmakta. Modül listesini ve ayarları bu linkteki sayfada görebilirsiniz.

Bunun yanında, Apache (apache-mpm-prefork) gibi her seferinde yeni bir process yaratmayıp threadler ile çalışıyor. Böylece yine bellekten tasarruf sağlanmış olunuyor.

lighttpd orijinal olarak c10k (bir sunucuda 10000 paralel bağlantıyı idare etmek) problemi üzerine yazılmış bir web sunucusu.

1 MB’dan küçük olan bu devin popularitesi gün geçtikçe artıyor. Netcraft Ocak 2009 raporuna göre, 3 milyon site tarafından kullanılan lighttpd, en çok kullanılan 5. web sunucusu özelliğini taşıyor.

lighttpd vazgeçilmezi FastCGI

Biraz da lighttpd’nin vazgeçilmezi FastCGI‘ye değinmek istiyorum.

Normalde CGI uygulamaları gelen isteğe göre çalışırlar. Örneğin siz bir CGI uygulamasına istek gördüğünüzde, bilgisayar onu yeni bir uygulama olarak başlatır ve sizin isteğiniz işlendikten sonra çıktılar size ulaştırılır. CGI uygulamalarının mantığı budur.

FastCGI ise programın bir kez çalıştırılıp belleğe yüklenmesini sağlıyor. Böylece program her seferinde çalışmak zorunda kalmıyor ve bu da performans ve kaynak kullanımı artışı sağlıyor. FastCGI orijinal olarak C dili ile yazılmış olsa da, bir çok dile implementasyonu bulunmakta. lighttpd FastCGI desteği sayesinde, fastcgi uygulamalarınızı çalıştırabilir.

Özellikle yüksek trafik gerektiren uygulamalar FastCGI ile programlanırsa, performans artışı yaşanmaması içten bile değildir.

Bunun yanında bir FastCGI uygulamasında en önemki faktör bellek kullanımıdır. Eğer FCGI uygulamanızda bellek açıkları (memory leak) var ise, bellek her istekte biraz daha şişecektir. Bu nedenle bir FCGI uygulamasında bellek kontrolü çok önemlidir.

Ak parti ve sansürcü zihniyeti yine iş başında

Thursday, March 12th, 2009

Geçtiğimiz günlerde, özellikle de TÜBİTAK gibi, Türkiye’nin bilim ve teknolojik araştırma kurumunda patlak veren bir olay üstünde durmak istiyorum. TÜBİTAK’ın hazırlayıp yayına sürdüğü Bilim ve Teknik dergisi Mart 2009 sayısında, Darwin’in 200. yaş günü ve Evrim Teorisi’nin 150. yıl dönümü nedeniyle Charles Darwin’i kapak yapacaktı. İşte her ne olduysa bundan sonra oldu.

Kapak son anda değiştirildi ve Bilim ve Teknik yayın yönetmeni; Darwin’i kapak yapmak isteyen Dr. Çiğden Ataduman görevinden alındı.

Bu olayı ben ise Ak Parti’nin kurumsallaşmasını gösteren bir örnek olarak yorumladım. Harun Yahya’nın orayı burayı sansürlemesine izin veren sansürcü hükümet, şimdi ise kendi içerisinde ki yayınları sansürleme ile uğraşıyor. Hala yüz karamız olan youtube.com rezaleti (hiç yoktan ulaşmak isteyen anında ulaşabiliyor) ile ardı ardası kesilmeyen Harun Yahya sansürleri (Google Groups, Wordpress.com, Richard Dawkings), elbette Darwin’i kapak yapmak isteyen bilimcilere izin vermemeliydi. Olan da bu oldu.

Olay sonrası Tubitak’ın yaptığı açıklama ise tam bir “çevir kazı yanmasın” açıklaması.

Gidişatımız hiç iyi değil. Bu ülkede yaşanamaz olduğunu gösteren başka bir kanıt daha çıktı. Ama gelecek neyi gösterecek orası mechul.

Bir de Doğan‘ın tanımladığı angut insan modeli var. “Madem evrim teorisi var, günümüzdeki maymunlar neden insan olamıyor?” diye soruyorsanız, siz de evrim geçirip, önümüzde ki 50 milyon yıl içinde anguta dönüşebilirsiniz.

Herkes bir kaç tık ile forum sahibi olsun

Wednesday, March 11th, 2009

Duyurmak için biraz erken olabilir ama herkese bir kaç tık ile forum sahibi olabilecekleri bir proje geliştiriyorum. Projenin altyapısında özgür yazılım olan phpbb3 kullanılacak.

Sitenin adresi olarak forumunuz.net‘i uygun gördüm. Projenin gelişme adımlarını, oluşturmuş olduğum destek forumlarından takip edebilirsiniz.

Proje sonunda, kaliteli bir phpbb hosting sağlamayı düşünüyorum. Bakalım zaman neleri gösterecek.

Tekrar yeni blog

Monday, March 9th, 2009

Evet tekrardan blog değiştirme gereği hissettim. Aslında uzun sürdir planlıyordum bunu, fakat yeni bloga geçerken eski mesajlarımı taşıyacak olmak üşendiriyordu beni. Taa ki bugün Wordpress’in import özelliğini keşfedene kadar. Daha önce blogger da bulunan blogumu, bir kaç tıklama ile Wordpress’e aktardım.

Yeni blogum aslında eskisinin aynısı, sadece domain değiştirdim ve Debian renklerini standart Wordpress teması üzerine uyguladım. Ben şahsen çok beğendim. Yeni blogumun XHTML standartlarını destekliyor olması da ayrı bir artı tabi ki.

Neyse umarım bu kalıcı olur ve bir daha blog değiştirmek zorunda kalmam.