RubyConf 2007 01/11/07
2-4 Kasım arasında RubyConf düzenleniyor.
Konferans programı mükemmel duruyor.
Seneye katılmak üzere karar verdim inşallah aksilik olmazsa bir sene sonra bu zamanlarda “konferans ardından” konulu girdiyi okuyor olabilirsiniz. Ümidimiz bu yönde.
Ülkemizden bu sene konferansa katılan var mı acaba?

Bundan bi’ kaç hafta önce yazmıştım çevirgeç‘i anca atabildim internete.
Nedir?
Çevirgeç, belirtilen klasörlerdeki resimleri belirtilen sürede duvar kağıdı yapar. Tüm resimler duvar kağıdı olana kadar aynı ada sahip dosya bir daha duvar kağıdı olmaz. Süre ise saniye cinsinden belirtilir. Aynı zamanda win32 servisi olduğu için bellekte fazla harcama yapmaz.
Neden?
Bu tür bir çok yazılım piyasada mevcut. Bunların bir çoğunda sonraki resime basınca aynı resim gelebiliyor. Ve yine bir çoğunda süre ayarı için belirli dakikaların altına inme/üstüne çıkma olayları yoktu. Ve yine bir çoğu win32 servisi değildi. Ve yine, …
Aynı şekilde çevirgeç’in eksiklerini konu alan “ve ama” ile başlayan çokca satır da gelebilir.
Ve ama, çevirgeçin ayar penceresi yok, ayarlaması zor.
Ve ama, çevirgeç imagemagick convert.exe’ye bağımlı.
Ve ama, çevirgeçin kontrolü konsoldan ya da “hizmetlerden” yapılmak zorunda.
gibi…
Kurulum
Çevirgeçin kurulumu oldukça kolay ama ayar yapması biraz zor. Ayar programını bir sonraki sürüm için (eğer olursa) yazmayı düşünüyorum. Şimdilik “yaml” dosyasını düzenleyerek bu işlemi yapabilirsiniz.
- gem install cevirgec komutu ile çevirgeçi kurabiliyoruz.
- Bu sıralar Rubyforge yansılarında sorun var. Gem paketlerini listelemede sorun oluşuyor. Bu nedenle bu adresten dosyayı bilgisayarınıza kaydettikten sonra konsolda kayıt edilen klasöre girerek yukarıdaki komutu verebilirsiniz.
- Çevirgeçi hizmetlere kurmak için komut istemcisinde: cevirgec kurulum komutunu verebilirsiniz.
- Kurulum işlemi bu kadar.
Çevirgeç Ayarları
Çevirgeçi kurduktan sonra ayar yapmak için sırasıyla aşağıdaki yordamları izleyebilirsiniz.
- Ruby’nin kurulu olduğu dizine girin. (Gezginden)
- Daha sonra \lib\ruby\gems\1.8\gems\cevirgec-0.1-mswin32\lib\cevirgec klasörüne ulaşın.
- ayarlar.yaml dosyasını açıp düzenleme yapabilirsiniz.
- ImageMagick convert.exe programını buradan yükleyebilirsiniz. Ayarlar.yaml dosyasında yerini yüklediğiniz klasör olarak belirtmeyi unutmayınız.
Hmm, acilen ayar programı lazım, satırları yazarken bile yoruyor insanı.
Çalıştırma silme, durdurma
komut istemcisinde:
cevirgec kurulum | baslat | durdur | sil | araver | devam | durum
kurulum: cevirgec’i kurar. baslat: çalışmaya başlatır durdur: çalışmasını durdurur
sil: servislerden çevirgeçi siler. araver: çevirgeçin çalışmasına araverir. devam: yeniden çalışmaya başlatır durum: şu an ne durumdaya cevap verir.
Son;
Program sadece win32 sistemlerde çalışıyor. Ayrıca win32utils paketinden bir kaç bağımlılık bulunuyor. Gem otomatik olarak bunlara dair “kurmak ister misiniz?” sorusu soracaktır. “y” ile devam edebilirsiniz.
GVim Portable 31/10/07
Yeni Ruby Logosu 31/10/07
Ruby Assocation, Ruby logosu yarışması düzenlemişti.
Yarışmadan çıkan sonuca göre Ruby’nin yeni logusu yanda gözüken resmimiz.
Güzel olmuş yeni logo, önceki logonun biraz elden geçirilip kalıba sokulmuş hali gibi.
Bu aralar düz satırların yer aldığı dosyalara çok bakmaktan benim grafiksel estetik anlayışımda ciddi sorunlar oluşmuş olabilir. Grafik üstadlarımız yorumlasa daha iyi olacak sanırım.
Türkçe çeviri grubumuz için e-posta listemiz açıldı.
tr-subscribe@translatedfiles.netbeans.org
adresine “subscribe” konulu e-posta attıktan sonra size geri dönüş yapılan e-postaya cevap vererek kayıt olabilirsiniz.
Çeviriler konusunda ilerleyen günlerde gelişmeler olacak inşallah.
Ufakta olsa yardımda bulunabilirim diyorsanız e-posta listemize bekliyoruz.
Görüşmek üzere.
NetBeans 6.0 Beta 2 Yayımlandı 24/10/07
NetBeans’ın kararlı 6.0 sürümüne yaklaşırken 2. Beta sürümü de yayımlandı.
http://download.netbeans.org/netbeans/6.0/beta2/ adresinden yükleme dosyalarını bulabilirsiniz.
NetBeans Türkçe çeviri grubuna hâla kayıt olmadıysanız buradan ayrıntılı bilgiye ulaşabilirsiniz. Bekliyoruz herkesi.
Görüşmek üzere.
JRuby ile Zemberek Kullanımı (2) 18/10/07
Bundan önceki yazımda JRuby ile Zemberek kütüphanesinin nasıl kullanılabileceğini basitçe görmüştük. Yazıda yer alan örneklere göz attığımızda Zemberek kütüphanesini kullanırken Java’da izlenen yolu birebir izledik.
Yani bir kelimeye ait önerileri bulmak için şu kodu kullandık.
oneriler.each_with_index do |oneri, i|
...
...
Oysa bu kod Ruby programcıları için pek de güzel sayılmayacaktır.
Şöyle bir erişimin daha güzel olacağı aşikar.
oneriler = "Meraba".oneriler
# Meraba'nın yazımı doğru mu?
puts "Meraba".yazim_dogru?
# Merhaba'yı heceler, heceleri kullanıma sunar
"Merhaba".hecele { |hece| print "#{hece}-" }
Bunları yapmak için öncelikle ufak bir sınıf ve modül yazmalı daha sonra bunu String sınıfına dahil etmeliyiz.
ZemberekJRuby sınıfı
#
# Murat ÇELİKER, murat.celiker@gmail.com
# http://ikinoktayazilim.com/wordpress/
#
require 'java'
require 'singleton'
# Basit Zemberek Ayrıştırıcımız
# Yalnızca bazı methodlar yer almaktadır
#
class ZemberekJRuby
include Singleton
# zemberek kütüphanemizi dahil edelim
require 'zemberek-tum-2.0.jar'
# zemberek sınıflarımızı dahil edelim
include_class 'net.zemberek.erisim.Zemberek'
include_class 'net.zemberek.tr.yapi.TurkiyeTurkcesi'
# bir tane zemberek oluşturalım
def initialize
@zembo = Zemberek.new(TurkiyeTurkcesi.new)
end
# kelimeDenetle çevirisi
def kelime_denetle(kelime)
@zembo.kelimeDenetle(kelime)
end
# hecele çevirisi
def kelime_hecele(kelime)
@zembo.hecele(kelime)
end
# oner çevirisi
def kelime_oner(kelime)
@zembo.oner(kelime)
end
end
Gördüğünüz gibi basit bir Zemberek JRuby sınıfı yazdık. Singleton kullanarak yalnızca bir kez oluşturulmasını da sağladık. Şimdi artık modülümüzü de yazıp String sınıfına dahil edip daha bi rubysel kullanım yapabiliriz.
TurkceJRb::Katar
#
# örn: "deneme".denetle
#
module TurkceJRb
module Katar
def yazim_dogru?
ZemberekJRuby.instance.kelime_denetle(self)
end
def hecele
heceler = ZemberekJRuby.instance.kelime_hecele(self)
if block_given?
heceler.each { |hece| yield(hece) }
else
return heceler
end
end
def oneriler
oneri_listesi = ZemberekJRuby.instance.kelime_oner(self)
if block_given?
oneri_listesi.each { |oneri| yield(oneri) }
else
return oneri_listesi
end
end
end
end
Katar sınıfını dahil edelim
#
class String
include TurkceJRb::Katar
end
Yeni Örneğimiz
İlk yazıdaki örneğimiz artık şu hale geldi:
#
# String.oneriler , String.denetle gibi
#
yazi = ARGV.shift || 'meraba'
if yazi.yazim_dogru?
puts "#{yazi} dogru yazilmis"
yazi.hecele { |hece| print "#{hece}-" }
else
oneriler = yazi.oneriler
# önerilerimizi ekrana yazdıralım
puts "#{yazi} icin size #{oneriler.length} tane onerim var:"
oneriler.each_with_index do |oneri, i|
puts "Oneri #{i+1}: #{oneri}"
end
# yahut
yazi.oneriler { |oneri| puts "#{oneri}" }
end
Dosyanın tamamına ait kaynak kod yazının devamında yer almaktadır. Devamını Okumak İstiyorum
JRuby ile Zemberek Kullanımı (1) 18/10/07

Zemberek ülkemizde yazılım adına yapılan en önemli çalışmalardan biridir bana göre. Eğer Pardus ya da OpenOffice kullandıysanız zemberek’in ne denli düzgün çalıştığına şahit olmuşsunuzdur.
Bu yazıda, JRuby[1] üzerinden Zemberek kütüphanelerine erişim konusuna değineceğim.
Sisteminizde JRuby’nin kurulu olduğu varsayılmıştır.
[1] JRuby %100 java ile yazılmış Ruby yorumlayıcısıdır.
Zemberek & JRuby
Öncelikle Zemberek ile çalışabilmek için Zemberek kütüphanelerine sahip olmamız gerekmektedir. Bu kütüphaneye ait dosyaları buradan bulabilir ya da zembereğin tüm modüllerini tek jar dosyası altında toplayan zemberek-tum-2.0.jar dosyasını indirebilirsiniz.
Bu dosyayı Java’nın hali hazırda bulabileceği bir yere kaydedebilir ya da oluşturacağımız dosya ile aynı yere kaydedebilirsiniz. (JRuby’ye require ile kolayca belirtmek için)
Dosyamızı kaydettikten sonra editörümüzü açıp zemberek kullanımına geçebiliriz.
zem.rb
İlk önce JRuby’ye zemberek kütüphanesini dahil etmesini söyleyelim.
# zemberek kütüphanemizi dahil edelim
require 'zemberek-tum-2.0.jar'
Zemberek kütüphanesinde kullanacağımız sınıfları projemize dahil edelim.
include_class 'net.zemberek.tr.yapi.TurkiyeTurkcesi'
Zemberek için nesnemizi oluşturalım
Artık şöyle bir kullanım yapabiliriz.
yazi = ARGV.shift || 'meraba'
# belirtlen yazı için öneriler isteyelim
oneriler = zembo.oner(yazi)
# önerilerimizi ekrana yazdıralım
puts "#{yazi} icin size #{oneriler.length} tane onerim var:"
oneriler.each_with_index do |oneri, i|
puts "Oneri #{i+1}: #{oneri}"
end
Yazının devamında dosyaya ait kaynak kodları bulabilirsiniz.
NetBeans Hızlandırımı 17/10/07
NetBeans açılışı biraz uzun sürüyor ve biraz çalıştıktan sonra hafiftan kasılmaya başlıyorsa netbeans için heap size ayarlamasının zamanı gelmiş demektir.
- Netbeans’un kurulduğu dizinde bulunan “etc” klasörüne giriyoruz.
- netbeans.conf dosyasını açıyoruz.
- -J-Xms32m yi -J-Xms256m ile değiştiriyoruz. (Açılışta 256m ram ile başlıyor)
- -J-Xmx512m ile istersek üst sınırı da belirleyebiliyoruz. (Netbeans otomatik olarak bizim için seçiyormuş normalde)
- -J-XX:PermSize yi de arrtırarak kalıcı hafıza oluşumunu arttırabiliriz. Buna mukabil -J-XX:MaxPermSize de arttırılmalı.
Ayrıca NetBeans.conf dosyasın yapılandırılması ile ilgili daha fazla bilgiyi burada yer alıyor.
Detaylı NetBeans Ruby İncelemesi 17/10/07
30 Ağustos’ta yayımlanmış bir yazı, diğer editörlerle de ufak bir karşılaştırma yapılmış. Şimdiye kadar gözden kaçmış bir inceleme olmasına üzüldüm.
Buradan ulaşılabilir: Netbeans THE best ruby on rails IDE
TurkceRb << Sayı-Yazı Çeviricisi 15/10/07
TurkceRb projesinin yeni sürümünü yakında sunacağım inşallah. Gem paketini kurduktan sonra require “turkce” require “turkce_rails” diyerek kullanabileceğiz, ayrıca rails ile ruby modülleri de ayrılacak. Konu hakkında daha detaylı girdiyi gem paketini oluşturduktan sonra (süresi belli değil henüz) detaylıca yazacağım inşallah.
Yeni sürümü beklemeden “yaziya_cevir” fonksiyonunu siteden paylaşmayı uygun gördüm.

yaziya_cevir
Verilen sayıyı yazıya çeviren bir fonksiyon. Örnek olarak
=> OnBirTrilyonİkiYüzYirmiBirMilyarÜçYüzOnİkiMilyonYediYüzElliBeşBinYüzYirmiÜç
Yazının devamında kaynak kodlarını bulabilirsiniz.
WhiteSpace vim renklendirmesi 14/10/07
WhiteSpace adlı esrarengiz programlama dili var. Ama artık, vim renklendirmesi ile daha kolay biçimde whitespace programları yazabilirsiniz (!)
NetBeans 6.0 Türkçe Çeviri Grubu 12/10/07
NetBeans 6.0 tüm dillere çevrilmek üzere katılımcılar arıyor. Bunlardan biri de elbette Türkçe.
Yapmanız gerekenler şurada anlatılıyor, özet geçmek gerekirse:
Öncelikle e-posta listesine üye olmalısınız. Bunun için “dev-subscribe@translatedfiles.netbeans.org” adresine ad-soyad,kullanıcı adınız,Türkçe çeviri yapmak istediğiniz ve - opsiyonel - ilgilendiğiniz konuları yazıp göndermeniz, sonrasında gelecek onay epostasına cevap vermeniz gerekiyor. Daha sonrasında listeye bir mesaj atarak “geldiğinizi” bildirirseniz faydalı olacaktır.
Şu an Türkçe çeviri grubu bir ara görünüp kaybolmuş söylenilene göre (eposta yöneticisi tarafından). İnşallah güzel organize olarak çeviriye başlayabiliriz. Sayfalarınızda bildiriye yer vererek yardım sağlayacak arkadaşların da aramıza katılmasını sağlayabilirseniz bu güzel editörün çevirisi için çalışmalara hemen başlayabiliriz.
Ayrıca Netbeans hakkında yazı yazan arkadaşlar “Planet NetBeans“a üye olabilirler. Bunun için NetBeans Gezegeninde yönergeler yer alıyor.
Bu arada, NetBeans gerçekten çok güzel bir editör. “Yüzyılın editörü” tabirini haketti benim tarafımda.
Ramazan Bayramı Tebriği 12/10/07
Ramazan Bayramınız mübarek olsun, hayırlara vesile olması dileğiyle.
Vikipedi’den ufak bir alıntı, gözden geçirmekte fayda var:
Ramazan bayramının üç ayrı özelliği vardır:
- Müslümanlar zekat görevini bu bayramda yerine getirir.
- Müslümanlar arasında karşılıklı görüşme, barışma ve birbirini ziyaret etme ve hediyeleşme adettir.
- Müslümanlar bu bayramda, özellikle bayram namazından sonra yakınlarının kabirlerini ziyaret ederler.
Bedava Ruby On Rails Kitabı 09/10/07
Vakt-i zamanında SitePoint’in tarafından yayımlanan Patrick Lenz tarafından yazılmış olan “Build Your Own Ruby On Rails Web Application” 60 gün boyunca bedava ve tam sürüm olarak indirilebiliyor.
Kitaba çok önceden göz gezdirmiştim, başlangıç seviyesinde yararlanılabilecek bir kitap. Rails’in çalışma mantığını basit bir uygulama eşliğinde anlatıyor. Zaten Rails’i anlamanın ve öğrenmenin en güzel yolu da örnek uygulama geliştirmek. Üzerinde çalıştığım kitap projesinde aynı yolu bende izliyorum daha doğrusu izleyeceğim inşallah.








