Kayıp Şehir / Serkan Kenar günlük tadında yazılar..

Demiştim

Daha önce demiştim, 40 saat yeter diye. Aşırı yoğun ve stresli çalışırsanız, olacağı bu.


Gereksiz kod bütün yavaşlıkların anasıdır..

Bu sitedeki yavaşlık canımı sıkıyordu. Yakın zaman önce temayı sadeleştirip, pluginlerin de bir kısmını kapatmıştım. Arada wp-cache ve wp-cache2 de kullandım. Ama yine de sorunumun geçmediğini görüyordum. Ben de YSlow’u denemeye karar verdim.

YSlow, Firebug eklentisiyle birlikte çalışarak web sitelerinin performansını analiz ediyor ve uyarılar listeliyor. Aşağıdaki ilk grafik Firebug ile sayfanın açılışını gösteriyor.

Toplam 28.8 saniye. İstekleri inceleyince çoğu prototype js kitaplığıyla ilgili. Ama kullandığım ana sayfa zaten çok sade ve bu kitaplığın efektlerine ihtiyaç duymuyor. Acaba kim yüklüyor bunları diye bir araştırdım. Eklentilerden değil. Temada da (doğal olarak) yok. Araştırmayı bir üst dizine taşıyınca gördüm ki, bu gereksiz dosyaların sebebi Wordpress’in kendisi. wp-includes/script-loader.php içindeki varsayılan scriptler dosyası, prototype.js’i ekliyor. O da ilgili diğer js’leri indiriyor.

//$this->add( ‘prototype’, ‘/wp-includes/js/prototype.js’, false, ‘1.6′);

İlgili satırı yukarda görüldüğü gibi bulup, yorum altına alıyoruz. Yeni grafiğimiz aşağıdaki gibi:

Toplam 10.68 saniye. 28.8′den başladığımızı düşünürsek, büyük kazanç. Üstelik liste ilkine göre yarı yarıya daha kısa. Bu değişikle bir şeyleri bozdum mu bilmiyorum..? Siteyi şöyle bir dolaşınca soruna rastlamadım.

Wordpress açısından bakarsak, her sürümde giderek ne kadar gereksiz şeylerle doldurduklarını da gösteriyor. Tahminime göre bu fazladan yüklenen js dosyaları ziyaretçi tarayıcılarında önbelleğe alınmadıkça, wp-cache gibi eklentiler de fayda etmiyor. Statik sayfa ama yine de bu dosyalara bağlantılar içeriyor.

Sonuç olarak kısa sürede performans artışı sağlayan bir püf çıktı ortaya. Kolay gelsin,


Alkış

Nuri Bilge Ceylan’a ödülü aldıktan sonra söylediği güzel sözleri ve başarısı için..

“tutkuyla sevdiğim yalnız ve güzel ülkeme adıyorum.”


Debian OpenSSL Açığı

13 Mayıs’ta sadece Debian ve Ubuntu işletim sistemlerinde bulunan bir açık yayınlandı. Ama etkisi sadece bu sistemlerle sınırlı değil. Debian/Ubuntu sistemleri üzerinde 2006-2008 Mayıs arası üretilen tüm SSL sertifikaları hatalı!

Detaylı İnceleme

Sorun 2 Mayıs 2006′da Debian geliştiricilerinin daha önce defalarca bildirilen bir uyarıya istinaden kodun iki satırını silmelerinden kaynaklanıyor.

Valgrind ve Purify gibi yazılımlar C/C++ kodunu inceleyip, sorunlu buldukları noktalarda (örneğin ilk değer verilmemiş değişkenlerin, hafıza alanlarının kullanılması gibi) uyarılar vererek, kodun kalitesini arttırmaya yardımcı olurlar. Ancak OpenSSL içinde bir nokta bulunuyor ki burada yazılımcılar “bilerek” ve “isteyerek” hafızadaki ilk değer verilmemiş alanı kullanıyorlar. Yazılımın bu noktasında verilen uyarıyı OpenSSL ekibi şu çağrıda cevaplamış:

I think there’s we need to create a FAQ entry about this …
….
No, it’s fine - the problem is Purify and Valgrind assume all use of
uninitialised data is inherently bad, whereas a PRNG implementation has
nothing but positive (or more correctly, non-negative) things to say
about the idea.

Debian ekibi OpenSSL takımını dinlemeyip sadece bu uyarıya bakarak, gereksiz gördükleri şu iki satırı kaldırdıkları için, rasgele sayı üreteci o noktada, sadece o anki süreç numarasını (process id - pid) kullanır olmuş:

MD_Update(&m,buf,j);

MD_Update(&m,buf,j); /* purify complains */

Linux’ta PID numarası en çok 32768 farklı değer alabiliyor. Bu da hızlı gökkuşağı tablosu saldırılarına imkan sağlıyor. (Bu sayfadaki araçlarla 1024-bit sertifika imzaları yaklaşık 2 saat gibi bir sürede oluşturulmuş. Tablo elinizde olduktan sonra sertifikanın kaç bit olduğunun bir önemi yok.)

Sorun Giderme

Debian, 13 Mayıs 2008′de yayınladığı güvenlik bildirisinde sorunlu sertifikaları tespit etmek için bir araç gösterilmiş. Problem ne yazık ki, tahmin edilenden çok daha geniş bir kesimi etkiliyor. Bu işletim sistemlerinde üretilen tüm sertifikalar etkilenmiş durumda. Sertifikalarını onaylatmış yerlerin tekrar sertifika oluşturmaları gerekecek. İşletim sistemlerindeki güncellemeler bu sertifikaları yeniliyor, ancak bu yeterli değil. Eylül 2006 ile Mayıs 2008 arasında Debian/Ubuntu sistemlerinde OpenSSL kullanılarak üretilen tüm güvenlik materyallerinin yenilenmesi tavsiye ediliyor.

Yorum

Debian geliştiricileri en temel ilkeyi ihlal etmişler görünüyor. “Kendi güvenlik sisteminizi oluşturmaya çalışmayın, mevcut sistemleri modifiye etmeyin.” Basit gibi görünün iki satır, iki yıl boyunca onlarca makineyi çok ciddi biçimde etkiledi. Hata, kaliteyi arttırmaya çalışan otomatik analiz araçlarının güvenirliğini sorgulamaya açması açısından da ilginç..

Konuyla ilgili en detaylı analiz ve araçlara ulaşım için şu sayfaya bakabilirsiniz.

NOT: Aslında sertifikalar teknik olarak hatalı değil. Sorun çok kısıtlı bir rasgele sayı havuzundan değerlerle yaratıldıkları için açık anahtardan, özel/gizli anahtarın keşfedilmesi çok kolay.


Dikmen Caddesi Sahipsiz mi?

Dikmen Caddesinden bir kesitDikmen Caddesi, Başbakanlığın, Genel Kurmay Başkanlığının az ilersinden başlayıp, Türkiye’nin Büyük Millet Meclisinin, Deniz Kuvvetleri Komutanlığının önünden uzayıp, Keklikpınarı‘na kadar uzayan Ankara’nın belki en önemli, en göz önünde caddesidir. Şimdilerde bu caddenin Keklikpınarı’na doğru gidiş istikametinde yol bir tarladan farksızdır, tam da meclise doğru gelmenize yakın ışıkları yanmaz, üstelik paralel şekilde kazılmış ve çökmüş bir yamayla kapatılmış haldedir. Yolu sıkılmaz devam ederseniz, Keklikpınarı’na yaklaştıkça daha da felaket hale gelmiş, artık üstüste parça parça 5-6 defa atılmış yamalı yollarda seke seke gitmeye çalışırsınız. Ve bu yol yıllardan beri bu haldedir.

Bu caddenin sahibi Büyükşehir Belediyesi mi, Çankaya Belediyesi mi? Kimse buraların yetkilisi artık bulunsun, onlar da şu yollara artık bir çözüm bulsun! Ankara’da bu kadar bakımsız, bu kadar sahipsiz bir başka cadde daha yoktur. (Belki Hürriyet Caddesi geçebilir, bilmiyorum hangisi daha felaket halde)

Biliyorum yıllarca, yıllarca bu sorunları büyütüp, sonra yerel seçimler yaklaşırken düzeltecekler ve oy toplamaya çalışacaklar. Sonra başka belediyelerin sınırlarından topladıkları oylarla, akıllarınca yetkilerinde olan ama oy çıkmayan yerleri “cezalandıracaklar”..

Bir belediyenin yapması gereken görevleri yerine getirmemesine karşı yapılabilecek bir hukuki eylem yok mudur? Bana bir bilen anlatsın…


Karalisteler.info Beta Açıldı

Bugün Türkçe içerikli internet sayfalarını kategorilemeyi ve zararlı içeriği engelleyecek yazılımlara kaynak sağlamayı amaçlayan karalisteler.info, beta olarak açıldı. Böyle bir site yapmak uzun zamandır aklımdaydı zaten. Ama vakit bulabildikçe bir satır, iki satır ekleyerek ancak bugün ortaya işlevsel birşey çıkabildi.

Internet yasaklarının çokça gündemde olduğu bir dönemde böyle bir site yasakçı zihniyeti destekliyor gibi gelebilir. Bunu sitede açıklamaya çalıştım. Kısaca söylemek gerekirse, amaç yasaklamak değil. Biz siteleri listeliyor ve kategorilere sokuyoruz. Ağ yöneticileri veya aile büyükleri uygun yazılımlar kullanarak korumak istedikleri kişileri bu sitelerden koruyabilirler. Ama bu tür listelerde beyaz liste adına konan adreslerin de sıkı kurumlar tarafından yasaklama amacıyla kullanıldığını biliyorum. Ayrıca her ne kadar bu tür listelerin, siteleri üretenlerin hızının yanında hiç bir etkisi olmadığını düşünsem de umarım birilerinin işine yarar.

Kullanım kolaylığı açısından tarayıcınıza ekleyebileceğiniz bir de butonu var. Bunu kullanarak da URL gönderebiliyorsunuz. Günlük gezinmeleriniz sırasında yakaladığınız sakıncalı, zararlı sitelerin listelere eklenmesi için butonu kullanabilirsiniz.

Önerilerinizi, isteklerinizi ve şikayetlerinizi bekliyorum. Hataların şimdilik bolca bulunduğuna eminim. Hatalı bir şeylerle karşılaşırsanız, lütfen bunu da e-posta adresime gönderiniz.

Biraz da işin teknik tarafından bahsedeyim. Siteyi PHP ile CodeIgniter uygulama çatısını kullanarak geliştirdim. CodeIgniter pek hafif, fazla özellik barındırmayan ama MVC yapısına uygun uygulamalar geliştirmenizi sağlayan, pek çok yardımcı fonksiyonu ve Active Record DB erişimi olan bir çatı. Muhtemelen kapsamlı bir site geliştirmek için gerekli hiç bir şeyi içermiyor. Bu haliyle faydalı olamayabilir. Ama komünitesi geniş, forumlarında oldukça yardımcı oluyorlar. Eksiklikler de bu forumlarda eklentiler şeklinde bulunabiliyor. Ama eklentiler için standart bir eklenme metodu yok. Sözün kısası, bundan sonra ufak tefek işler için belki CodeIgniter’ı kullanabilirim, ama yeni hedef Django..


Ubuntu 8.04 Hardy Heron Çıktı

Benim en beğendiğim masaüstü dağıtımı Ubuntu‘nun yeni Uzun Dönem Destekli sürümü Hardy Heron çıktı. Uzun Dönem Desteklenen sürümler masaüstü için 3 sene, sunucu sürümü için 5 sene destek içeriyor. Diğer ara sürümlerde bu süreler 18 aya düşüyor. Daha önce de belirttiğim gibi LTS sürümleri tercih ettiğimden bu sürüm benim için bir güncelleme zamanının geldiğini gösteriyor.


Tanıştırayım: Haydar

Haftasonu incik boncuk satan bir dükkanda görüp, “aa, ne şiriiin” diyerek bir balık ve şirin bir akvaryum sahibi oldum. Kulağına adını üç kere fısıldayarak isim merasimi de yapıldı. Ofiste masamda duruyor ve küçük japon balığı Haydar, dar alanda uflayıp pufluyor.. Kendisi çok tatlı, abileri ablaları onu çok sevdiler. Ama sıkılmaması için hem yuvasını büyütücez, hem de yanına bir arkadaş alıcaz.

Balık6

Dükkanda bu küçücük akvaryumları görüp de sorulan sorulara cevap vermekten sıkılmışlar, biz de dikkatsizlik edip adama doğrudan soru sorunca “orada bir kağıt var baktınız mı?” diye bir cevap aldık. Efenim, işte o kağıt ve üzerindeki soru cevaplar:

Siz: Canlı mı bu?
Biz: Evet.

Siz: Ama bu çok küçük, fazla yaşamaz ölür??
Biz: Haziran’dan beri yaşıyorlar.

Siz: Balığı da satıyor musunuz?
Biz: Hayır.

Siz: Ama niyeee?
Biz: Çünkü onu çok seviyoruz.


← Geri