11 Nisan 2009 Cumartesi

CoMedya mıdır nedir

TV8'de yayınlan bir program var CoMedya diye Yavuz Seçkin'in, kendisi Avrupa Yakası'nda Sertaç'ı oynuyordu galiba. Neyse, bu programın varlığından 30 saniye kadar önce haberdar oldum yan odadan jeneriğini duyup bi bakmaya giderek. Beni enterese etme sebebi de jeneriğiydi zaten. Zira, jeneriğinde Gogol Bordello'dan Think Locally Fuck Globally'den bir sample çalmaktaydı. Bu, etrafta gördüğüm Gogol Bordello'dan bir şarkıyı jeneriğinde kullanan ikinci program(diğeri Uyan Türkiye). Uyan Türkiye'de daha önce defalarca Gogol Bordello'nun lafının geçtiğini hatırlıyorum ama bunda hiç bir crediting falan beklemiyorum, zaten şarkının oldukça kısa bir kısmını sample gibisinden kullanmışlar

Lyricler falan ikinci partcan

daha önceki 'Lyricler falan' postumda yazdığım lyrics reader zıvırını az daha geliştirdim ve artık dbus kullanarak rhythmbox'ta çalan şarkıyla etkileşiyor. Bu arada ruby için dbus kütüphanesi yok gibi birşey, aman dikkat. dbus kütüphanesi yok gibi ama kullanımı oldukça rahat. Burada önemli olan, kendi yazdığım minik şeyleri pratikte pek kullanmam. Ancak code generation falan tarzı şeyler olur, öyle. Ama bu benim gibi rhythmbox'a plugin yüklemeye üşenen üşengeç bir insan için oldukça kullanışlı gözüküyor. Ahanda kaynak kodu.
Bu arada, kodun 42 satır uzunluğunda olduğuna dikkat çekerim(sondaki boş satır sayılmaz, bizden değildir).

İki lafı bir araya getirememe, Ümiversite, 42 ve Toprak Sergen dörtlüsü arasında ne biçim bir bağlantı olabilir ki?

Elimizde birbiriyle oldukça alakasız, The Four Horsemen formatında ilginç 4 kavram var, bunları Runaway:A Road Adventure'un(ne oyundu o da be) üçüncü bölümündeki 4 parçalı piskopat plan gibi bağlayacağız.
Olay şöyle gelişti; Toprak Sergen'in(parça 1) MTV'de yayınlanmakta olan İkilem adlı zıbıdık bir programı var ve bu haftaki programındaki ikilem "Üniversite gerekli mi, gereksiz mi"(parça 2) imiş. Bizim okulda saçma bir şekilde bizi 40 kişilik bir grup halinde yolladı oraya. Sonrasında işte mikrofon ellerde dolaşıyor program esnasında. Bu arada yanımda oturmakta olan kişilik(kendisi Can olur) "Üniversite okumak bizi bir dünya insanı yapar" tarzı birşey dedi ve ben de buna anti klişe timi gelmesin diye "budur!" dedim. Tabi bir anda mikrofonu elimde buldum, çok feci boşluğuma geldi, iki lafı bir araya getiremedim(parça 2.5). Neyse işte Toprak Sergen koptu falan, program devam etti. Sonrasında, en sonlara doğru, tekrar bana geldi mikrofon, orada nasıl bunu dediğimi bilmiyorum ama bir şekilde başardım, "az önce bağlayamadığım konuyu eninde sonunda 42'ye bağlardım"(parça 3.5!) dedim ve esas diyeceğime ondan sonra girdim, "Üniversite falan bilmem, önemli olan benim yapamadığımı yapabilmek ve iki lafı bir araya getirebilmek"(parça 4) dedim. Sonuçta garip bir programcan oldu ve sanırım MTV Türkiye tarihindeki ilk Otostopçunun Galaksi Rehberi referansımsısını yaptım.

Ubuntucan ve Railscan

Birkaç hafta önce başlayan ikinci Ubuntu deneyinde dün minik bir sorunla karşılaştım ama haddinden fazla minikti. Ruby zaten Ubuntu'ya geçtiğim günden beri kuruluydu. Rails'i de üşenmeyip kurayım dedim, windose altında yazdığım blogcanı kopi-peyst yoluyla linux partisyonuna taşıdım ve başlatmaya çalıştığımda Rubygems sürümünün fazla eski olduğunu öğrendim ve ubuntu repositorylerine az bi miktar sinirlendim niye update etmezler şunu diye. Ayrıca Debian ve Ubuntu altında
gem update --system
veya
gem install rubygems-update; update_rubygems
in de sökmediğini öğrendim. Sonrasında direk tar.gz olarak rubygems'i indirip manuel olarak kurdum(ki manuel kurulum dediğime bakmayın, oldukça kolay bir kurulumcan, arşivi açıp ruby setup.rb install diyoruz). Kalanında pek anormal bir durum olmadı. Gem kaynaklarına gems.github.com u ekledim, blogumun gem dependencylerini yükledim(native extensionlar da babalar gibi derlendi). Sonrasında Rails 2.3'te ApplicationController'ın adının Application olarak değiştirilmesi nedeniyle controllerlarımda az bir miktar değişiklik yaptım ve Blogcan çalışıyordu. Bundan sonra da Blogcan'la birlikte dostluk, barış ve meyva suyu içinde yaşadık.

Aşı falan(a.k.a Korku Filmcanı)

Dün ya kızamıkçık ya da Hepatit B(birinden biri ama hangisi bilmiyorum) aşısı oldum. Acıtmıyomuş onu farkettim hani o kadar da korku filmlik bir durum yok. Ya da geçen yazki kıl dönmesi ameliyatcanından sonra biraz daha rahat katlanıyorumdur kim bilir? Birkaç ay önce kan alırlarken de acımamıştı hem heey!

9 Nisan 2009 Perşembe

RHP (RHP: HTML Preprocessor)

**UYARI: Aşağıda gördüğünüz şeyler geyik amaçlıdır, ciddiye almayınız**
Ruby, PHP'ye kıyasla dandik olan, yumoşlar ve mac kullanan zengin çocukları için olan bir dil, hepimiz bunun farkındayız. Ayrıca rails ölçeklenemiyor, ruby acayip yavaş ve rails bir getto. Rails ölçeklenemiyor demiş miydim?
Neyse benim gibi bazı delikanlı ve cesur insanlar çıkıp Ruby için daha adam gibi web zıbıdıkları yazabiliyor. RHP de bunlardan biri. Kendisi rack üzerine oturtulmuş olup, oldukça basit bir yapıdadır. Şu anki implementasyonu sadece 18 satır tutmakta olup, PHP'nin aslında ne kadar basit ancak bir o kadar muhteşem olduğunu da göstermektedir. Öyle rails gibi noob işi commentlere, testlere falan gerek yok.
Ve aşağıda da RHP'nin rackup dosyasının komple kaynak kodunu görmekteyiz;

require 'erb'
class RHP
Headers = {"Content-Type" => "text/html"}
def call(env)
req = Rack::Request.new(env)
filename = env["PATH_INFO"][1..-1]
$_REQUEST = req.params
begin
[300, Headers, ERB.new(File.read(filename)).result(binding)]
rescue Errno::ENOENT
[404, Headers, "404"]
rescue
[500, Headers, "500"]
end
end
end

run RHP.new


şu da örnek bir RHP sayfası

<%= Time.now %>


<%= $_REQUEST['id'] %>

<%
class Point
attr_accessor :x, :y
def initialize(x,y)
@x, @y = x,y
end
def to_s
"(#{@x},#{@y})"
end
end
$pt = Point.new(42,21)
%>
<%= $pt %>

<% require 'digest/md5' %>
<%= Digest::MD5.hexdigest("42") %>

8 Nisan 2009 Çarşamba

Rickroll müessesesi ve bu müessese hakkında..ee..zıbıdıklar

Hepimiz rickroll'u biliyoruz, tamam gayet güzel ve artık (ne yazık ki) hafiften modası geçmiş bir olay kendisi. Neyse bu zımbırtı hakkında iki önemli sorum vardı.
İlki, bir hedenin rickroll olduğunu keşfettikten sonra bunun rickroll olduğunu bile bile rick astley'in never gonna give you up klibine ulaşırsak rickroll edilmiş sayılır mıyız?
İkincisi de, bir insan kendi kendini rickroll edebilir mi? Hatta olayı biraz daha zorlaştırmak için ikinci sorunun cevaplanmasında birinci sorunun cevabını hayır kabul edebiliriz.
Bu soruların cevabını bir süredir aramaktaydım, ve ikincisinin cevabını deneysel bir şekilde buldum. Manası: kendi kendimi rickroll ettim.
Nasıl oldu dersek, şöyle; 2 hafta kadar önce bir rickroll videosu indirmiş ve bunu bu ulvi deneysel amaçla video.flv adıyla kaydetmiştim. Sonrasında bugün indirdiğim alakasız bir videoda ses olmadığını farkedince başka bir video açıp bakiim ses olmama sorunu videodan mı kaynaklı yoksa alakasız birşey mi var. Bundan sonra orada masum bir şekilde duran video.flv'yi boşluğuma gelerek, rickroll olduğunu unutarak açtım. Ve bir anda başlayan never gonna give you up ile öğrendim ki, ses olmama sorunu diğer videonun sorunuymuş.

Ramadan(Aman Dikkat)

Ramadan adlı bir primat var elektronik müzik yapan(Myspace sayfası). Ne mutlu ki pek tanınmış bir zıbıdık değil kendisi. Sanırım bizim okuldaki müzik hocasının tanıdığı falan, o organize etmiş bu işi zira, bizim okula gelip bir zıbıdık yaptı. Yapmaz olaydı. Bugün yaşadığım compiz sorunu bu sorunun yanında bir hiç kalır. Yaptığı şeyin kulak rahatsız ediciliğini şöyle tanımlayabiliriz; Falalalan'dan daha kötü, ki falalalan hakkında Paradox Interactive forumlarında giderek abaran efsaneler yayılmıştı(Bu efsanelerin evrimini Kulağın içine garip pislikler doldurmak->Kulak kanatmak->Kulak Kanserine neden olmak şeklinde sıralayabiliriz). Uzun zamandır Falalalan'dan daha rahatsız edici bir şey arıyordum ve buldum sonuçta. Bunun dışında Archaeopteryx(Ruby ile yazılmış bir elektronik müzik generatoru)'in ilk ortaya çıkan versiyonunun(20-30 satır falan uzunluğundaydı) ürettiği şeyler genel olarak Ramadan'ın şarkılarından daha iyiydi diyebiliriz.

Sonradan gelen zıbıdık: Şarkıların myspace'te bulunan versiyonlarını dinlediğimde daha sakin olduklarını ve kulağı daha az rahatsız ettiğini farkettim. Demek ki canlı performanscanlarda azıyor kendisi.

Bir el kayması ne kadar uzun sürede düzeltilebilir?

Bugün öğle saatlerinde ubuntu'da yaşadığım üçüncü sorun ve ikinci compiz kaynaklı sorun başıma geldi. ccsm'de bir plugini açacaktım, tam tıklamadan önce el kayması sonucu iki üstteki Bicubic Filtering pluginini açtım. Tabi benim emektar laptopun dahili intel ekran kartında bicubic filtering ne arasın? Görüntü nanay duruma geldi(Pek açıklanabilecek bir şey değil, yer yer psychedelic, yer yer düz siyah diyebiliriz).
Sonra bunu düzeltmek için uğraşmaya başladım. X'i restart ettim, bilgisayara reset attım, Gnome'u failsafe modda açtım falan işe yaramadı, compiz disable olmadı. Sonrasında failsafe xterm sessionuna login olarak oradan çözmeye çalıştım. Hem kişisel, hem de global bütün compiz config şeylerini silerek çözebileceğimi tahmin ediyodum, ama tabi baştan bunu yapmaya üşendim. xterm sessionundan ccsm açıp düzeltmeye çalıştım, pluginler açık değildi. ~/.gconf altındaki gnome config şeyinden compiz'i kapatmaya çalıştım, olmadı. Sonra işte öğle yemeği falan yedim arada ve komple compiz configlerimi sildikten sonra sorun çözüldü. Compizdeki pluginleri, klavye kısayollarını falan tekrar ayarlayana kadar rahat 1 saat geçmişti(sorun çözümü+yemek+tekrar config) ve sonrasında compiz'le birlikte dostluk, barış ve meyva suyu içinde yaşamaya devam ettik.
Buradan da başlıktaki soruya cevap verebiliriz ki, yemek dahil yaklaşık 1 saat.

7 Nisan 2009 Salı

Firefox, dünyanın en popüler tarayıcısı

Şu anki kaynaklara göre, dünya üzerindeki en çok kullanılan web tarayıcısı IE(%65), ardından Firefox(%25) geliyor(kaynak). Fakat zeitgeist blogunda gördüğüm bir ifade dikkatimi çekti. Firefox'tan "dünyadaki en popüler web tarayıcısı" diye bahsedilmekteydi.
Bunu görünce önce biraz şaşırdım, sonra gayet mantıklı geldi. Zira en yüksek kullanım oranı IE'de olsa bile, IE kullanıcılarının rahat %90'ı IE'den başka bir browser hiç kullanmamış. IE kullanıp da onu savunan herhangi birine neredeyse rastlamadım. Bu durumdaki kullanıcılar IE dışında başka bir browser gördüğünde ne yapar? Burada üç seçenek var, ya çok kolay bir şekilde başka bir browser'a geçer, ya üşenip IE'de kalır, ya da IE savunucuları dediğimiz minik gruba dahil olurlar. Eğer browserların popülerliğini bir browser'ın ne demek olduğunu bilen kişiler üzerinde yaparsak, IE ve Firefox muhtemelen birbirine yakın çıkar, hatta Firefox daha fazla kullanıma sahip olur.
Ha, burada sormak lazım, hiç mi lümpenproleterya analogu internet kullanıcısı yok firefox kullanan? Tabi vardır ama tahminen bunlar manyak linux kullanıcılarının "büyükanne deneyleri"ndeki deneklerle falan sınırlıdır. Bu nedenle buradan diyorum: "Firefox en iyi web tarayıcısı olmayabilir, ama aslında en popüleridir".