2 Eylül 2009 Çarşamba
nic.tr
.tr ile biten domain'leri yöneten nic.tr'nin web sitesi işlevsel açıdan mükemmel. Yapanları buradan tebrik ediyor, anne ve babalarının ellerini "Böyle evlatlar yetiştirdiniz, ne mutlu size" diyerek öpüyorum, gözlerimden mutluluk gözyaşları süzülürken... Ciddiyim. İnternette nadiren işlerimi bu kadar kolay halledebiliyorum.
20 Ağustos 2009 Perşembe
TÜBİTAK
TÜBİTAK'çının kafasına bir fiske vurduğunuzda çıkan ilk ses "TÜ" olur. Kafa içerisinde oluşan ilk yankı "Bİ" sesini verir, üçüncü ve son yankının verdiği ses ise "TAK"tır. Yankılardaki ses değişimi, içerideki bilgi yığınından kaynaklanır:Yaratıcılık azaldıkça yankı sayısı artar. "TÜBİTAKTOKSEKSEK" gibi...
TÜBİTAK ve Mantıksız Çeviri Mantığı
Bugüne kadar hiçbir TÜBİTAK çevirisini 20 sayfadan fazla okuyamadım. Bilim dilini bu derece kabızlaştıran yankılı kafa, bir süredir PARDUS adında ulusal bir işletim sistemi pompalıyor. Öğrenimim ve iş deneyimim sırasında farklı işletim sistemi türleri gördüm fakat ulusal olanına rastlamamıştım. Ulusal İşletim Sistemi'ne karşı, Zaman Gazetesi sponsorluğunda Ilımlı İslâmî İşletim Sistemi...Tekimcil Halayık Damacanası
Geçen gün bir internet sitesinde rastladım; sivri zeķâlı bir arkadaş "Design Pattern"ı "Tasarım Örüntüsü" olarak çevirmiş. Kanaatimce, Design Pattern kavramını sen ortaya atmadıktan sonra ister "Tasarım Örüntüsü" de, ister "Halayık Damacanası" de, fark etmez. Örnek: Singleton Design Pattern yerine Tekimcil Halayık Damacanası. Aynı şekilde, işletim sistemi kavramını temelinden sallamadıktan sonra ister ulusal işletim sistemi hazırla, ister ahlaklı çevik sportif işletim sistemi hazırla, fark etmez, memleketi kurtaracak değilsin.Yani?
İlle de çevireceksek, çevirilerde birebir kelime karşılığı değil, anlam karşılığı kullanmalıyız. Örnek olarak, Çözüm Kalıbı, kavramı temsil etmekte Tasarım Örüntüsü'nden daha başarılı görünüyor. Tasarım Kalıbı da kullanılabilir. Tasarım Şablonu kullananlar da var, fakat Almanca kökenli "şablon" kelimesini telaffuz ederken ağzımın aldığı şekilden hoşlanmıyorum.Hepsi Boş
Kendi kafamızla düşünüp üretmek neden bu kadar zor?17 Ağustos 2009 Pazartesi
16 Ağustos 2009 Pazar
Open Source for the Enterprise - Ya Da - Açık Yazılım Stratejisi - Bölüm 5
Elimde bedâva Photoshop varsa Gimp kullanır mıyım? Hâyır. Photoshop'a 700 dolar ödemek zorundaysam Gimp kullanır mıyım? Evet. Gimp'in salak yaratığını sevebilir miyim? Hâyır. Açık yazılım maskotlarının neden bu kadar sevimsiz olduğunu açıklayabilir miyim? Belki. Örnek: Gimp yaratığı, Java Duke, Linux pengueni... Açık yazılımda ÇOK ciddî bir tasarım eksiği var. Örnek:Her neyse... Kitabın beşinci bölümü, bundan önceki bölümlerden faydalanarak sisteminize açık yazılımı dâhil edip yedirmeniz için izlemeniz gereken stratejiye ışık tutuyor.
ENJEKSİYON
Önceden de defalarca söylediğim gibi, açık yazılıma girişecekseniz takımınızın öğrenmeye açık ve zekî olması gerekiyor. Bilgiyi tek kişide toplamayın, takıma yayın. Böyle bir takıma sâhip olacak imkanlar mevcut değilse dışkaynak kullanımını düşünün. Başarılı bir stratejinin temel noktaları şunlar olabilir:- Ekibinizi tanıyın ve neler yapabileceklerini bilin.
- Açık yazılımı güvenli bir ortamda deneyin, takımınıza yazılımı tanımak ve onunla oynaşmak için gerekli kaynağı verin.
- Takımın yeteneğini, önce değerlendirme, ardından kurulum ve ayarlama ve son olarak uygulama ve bakım alanlarında belli bir süreye yayarak kuvvetlendirin.
- Bu yeteneği ve bilgiyi kişilerin değil, kurumun yetenek ve bilgisi haline getirin (ortak bilgi veritabanı, bilgiyi kişilere yaymak, vs.).
- Bilgi ve yetenek arttıkça ve fırsat oldukça daha çok açık yazılım kullanın.
- Kundak Safhası:
- Kurulumu ve ayarlaması en kolay açık yazılımı kullanın.
- Kurulum ve destek için gereken yeteneği takımda oluşturun.
- Hangi dilde ve hangi alanda yazılmış açık yazılımın takım için daha uygun olduğuna karar verin.
- Takımı Linux'a ucundan bulaştırın.
- Emekleme Safhası:
- Daha ileri seviye açık yazılımın kurulumu, ayarlanması, çalıştırılması ve gözlemlenmesi için gereken yeteneği takımda geliştirin.
- Odağı belli bir alana ve programlama diline yöneltin.
- Linux'un çözümün bir parçası olup olmayacağına karar verin.
- Yürüme ve Koşma Safhaları: Efendim bu aşamaya geçmeden önce kendinize bir sorun: Bu kadar ileri gitmeye gerçekten gerek var mı? Cevap evet ise bu noktadan sonra bilgiyi ve yeteneği kuruma yaymanız çok zor, kilit adamlar oluşacaktır. Sizin için güzel bir alternatif, açık yazılım danışmanlık şirketlerinden sürekli destek almanız olabilir. İlle takımı bir önceki aşamadan bu aşamaya geçirmek istiyorsanız açık yazılım projelerine eklentiler geliştirmeye başlayabilir, Linux çekirdeğinde değişiklikler yaptırabilirsiniz.
UYGULAMA
Bu kısımda birkaç gereksiz sınıflandırma var. Enjeksiyon başlıklı kısımdaki bilgi yeterlidir.YÖNETİM
Kurumun boyutuna göre açık yazılım kullanımının yönetimi değişiyor. Küçük firmalarda takım ve lider(ler) biraraya gelip sözlü ve esnek bir anlaşma sağlayabilirler fakat büyük kurumlarda bu işin resmîyete dökülmesi gerekiyor: raporlar, imzâlar, mühürler, kilitler, vs. Bu resmî stratejiyi oluşturacak sorulara şunlar dâhil olabilir:- Hangi alanlarda ve hangi durumlar için açık yazılım kullanılacak?
- Açık yazılım bünyeye dâhil edilmeden hangi kıstasları sağlaması gerekiyor?
- Hangi durumlar için hangi lisanslar kabul edilebilir?
- Açık yazılım ürün ortamında kullanılacak mı?
- Kurum açık yazılım geliştirilmesine destek verecek mi? Geliştirilen kod umuma açılacak mı?
- Açık yazılım geliştilmesinde kaç kişilik bir takım çalışacak?
11 Ağustos 2009 Salı
Open Source for the Enterprise - Ya Da - Siz Söylemeyin, Analize Söyletin - Bölüm 4
Siz söylemeyin, analiz söylesin. Bu bölüm Return on Investment (ROI), yani yatırımın geri dönüşü kavramının açık yazılıma uygulanmasına ayrılmış. ROI raporu, tahmin edileceği gibi, yönetime sunuluyor ve IT'cilerce pek kanıksanmıyor, çünkü:
(Geri Dönüş)/(Yatırım) = ROI
Geri Dönüş = (Kar Artışı + Tasarruf)
Yatırım = (Değerlendirme Masrafı + Lisans ve Bakım Masrafı + Kurulum Masrafı + Entegrasyon ve Özelleştirme Masrafı + Operasyon ve Destek Masrafı)
Bu denklemin anlamlı olabilmesi için bilinmesi gerekenler:
Şimdi payda kısmında bulunan masrafları inceleyelim:
- ROI incelemesinin sonuçları öznel nitelikte olduğundan yapılan kabullere göre değişebiliyor.
- Açık yazılımın sistem mimarisine getirdiği sadeliği ve esnekliği rapora dahil edemiyorsunuz, yani sadelik ve esneklik kendi başına para etmiyor.
- IT'ciler kullanılan yeni teknolojinin gelirleri nasıl artıracağını kestirmekte zorluk çekiyor, ya da kestirmek istemiyor.
AÇIK YAZILIM İÇİN ROI
ROI'nin formülü şu şekilde verilmiş:Geri Dönüş = (Kar Artışı + Tasarruf)
Yatırım = (Değerlendirme Masrafı + Lisans ve Bakım Masrafı + Kurulum Masrafı + Entegrasyon ve Özelleştirme Masrafı + Operasyon ve Destek Masrafı)
Bu denklemin anlamlı olabilmesi için bilinmesi gerekenler:
- Değerlendirilecek zaman dilimi nedir? 1 sene mi? 2 sene mi?
- Mukayese edilecek alternatifler mevcut mu? Kısa zamanda çok kar mı istiyoruz, uzun vadeli tasarruf mu istiyoruz?
- Şirketin beklediği en düşük ROI nedir?
- Masraflara altyapı giderleri (elektrik, barındırma, vs.) dahil edilecek mi?
Şimdi payda kısmında bulunan masrafları inceleyelim:
- Değerlendirme Masrafı: Açık yazılımın değerlendirilmesi önce bulunmasını, ardından bir makinaya kurulup kurcalanmasını gerektiriyor. Bu işlemin süresi de yazılım ekibinin kabiliyetine göre değişiyor. Önceki bölümlerde anlatılanları biliyorsak, bu sürecin maliyetini az çok kestirebiliriz. Ticari yazılımda ise analiz rolünü IT değil yönetim alıyor.
- Lisans ve Bakım Masrafı: Açık yazılımın her zaman bedavaya gelmiyor: Red Hat ve SuSe Linux kurulum ve güncelleme paketlerine üyelik için, JBoss dökümantasyon için, Resin ise ticari kullanım için belli bir ücret istiyorlar. Birtakım şirketler de açık yazılım danışmanlığı yaparak sistemin kurulumu ve bakımı için belli bir ücret alıyorlar.
- Kurulum Masrafı: Açık yazılımda kurulum sihirbazları olmadığı için, yine IT ekibinin kabiliyet seviyesine göre kurulumun zaman maliyeti oluyor.
- Entegrasyon ve Özelleştirme Masrafı: Halihazırdaki sistemle uyum sağlamak için açık yazılıma eklenti yazılması gerekebilir, veya başka yazılımların kullanılması gerekebilir. Bu masraflar açık yazılım için daha yüksek oluyor çünkü ticari yazılım, birtakım platformlar için genişletilmiş oluyor. Fakat tabii ki açık yazılım kullanmak esnekliği artırıyor ve iyi bir IT takımıyla ticari yazılımın destek veremeyeceği bir platforma entegre edilebiliyor. Kullanılacak açık yazılıma ve IT ekibinin kapasitesine bakarak hazırlanan entegrasyon ve özelleştirme masrafı da paydaya ekleniyor.
- Operasyon ve Destek Masrafı: Sistemi kullanmaya devam ettikçe doğacak masraflar bu kaleme dahil edilmiş: test ortamının sağlanması, sistemin genişlemesi için yeni sunucuların eklenmesi, yedekleme veya çökmeye karşı kullanılacak yeni sunucular, vs. Yapılan analizin vadesi ve sistemin gerektirebileceği değişiklikler göz önünde bulundurularak bu kalem de kolayca hesaplanabilir.
9 Ağustos 2009 Pazar
J7BE - Java 7 Bakkal Edition
8 Ağustos 2009 Cumartesi
Open Source for the Enterprise - Ya Da - Ehline Helaldir, Naehle Haram - Bölüm 3
Bu bölümde yazar, bir kurumun açık yazılım kullanmak için sahip olması gereken yeteneği irdelemiş. Hangi olgunluk seviyesindeki açık yazılımı kullanmak için hangi yeteneklere ihtiyaç var? Elemanlarınızın yetenek seviyesini ve alabileceğiniz riskin büyüklüğünü nasıl tespit edersiniz? IT departmanınızın açık yazılım yeteneklerini nasıl geliştirirsiniz?
Yazar harika bir örnek vermiş: Yönetime açık yazılım kullanmak için başvuran yazılım ekibini, ailesinden eve yavru köpek almasını isteyen çocuğa benzetiyor. Aile "bakacaksan olur tabii" diyor. Çocuk hevesini alıp acı gerçekleri fark edince hayvancağızla ilgilenmeyi kesiyor, pisliği temizlemek de anne babaya kalıyor. Bu kabusu yaşamamak için yazılım ekibinizin yetenek seviyesini belirlemeniz gerekiyor.
Yukarıdaki grafikten anlaşılacağı gibi, en büyük azınlığı yenilikçi dahiler oluşturuyor. Başka bir azınlıksa statükocular. Toplumun genelinin kafa yapısını da yansıtan bir grafik olduğunu fark ettiniz mi?
Şimdi bu seviyeleri kısaca inceleyelim:
Şimdi ekibinizdeki yazılımcılara bakın, yeteneklerini belirleyin; bir de kullanacağınız açık yazılımın olgunluğuna bakın. Mümkün görünüyor mu?
Açık yazılım kullanarak geliştirdiğiniz yazılımın kaldırabileceği risk seviyesi de kararınızda etkili olmalı. İşte risk toleransına göre projeler:
Bu mesele bir gecede olacak iş değildir. Eğitimi de zaman ve emek yatırımıdır. Ticari yazılıma para yatırırsınız, açık yazılıma zaman yatırırsınız; yani yine para yatırırsınız. Para para para. Demir ustası demiri döve döve öğrenir. Yazılımcı da yapa boza öğrenir. Ticari yazılıma yatırımla kıyaslandığında daha avantajlıdır, şöyle ki, açık yazılım konusunda kendini eğiten bir IT ekibinin yeni açık yazılım projelerini benimseme süresi gitgide azalır. Açık yazılım eğitimi bir şirket politikasıdır, bir düşünce biçimidir. Sevgiler.
Yazar harika bir örnek vermiş: Yönetime açık yazılım kullanmak için başvuran yazılım ekibini, ailesinden eve yavru köpek almasını isteyen çocuğa benzetiyor. Aile "bakacaksan olur tabii" diyor. Çocuk hevesini alıp acı gerçekleri fark edince hayvancağızla ilgilenmeyi kesiyor, pisliği temizlemek de anne babaya kalıyor. Bu kabusu yaşamamak için yazılım ekibinizin yetenek seviyesini belirlemeniz gerekiyor.
AÇIK YAZILIM YETENEK SEVİYELERİ
Yukarıdaki grafikten anlaşılacağı gibi, en büyük azınlığı yenilikçi dahiler oluşturuyor. Başka bir azınlıksa statükocular. Toplumun genelinin kafa yapısını da yansıtan bir grafik olduğunu fark ettiniz mi?
Şimdi bu seviyeleri kısaca inceleyelim:
- Başlangıç Seviyesi
- Açık yazılım paketlerinin kurulumu ve bu kurulumda kullanılan araç-gerecin (compiler, rpm, vs.) kullanımı hakkında yüzeysel bilgi sahibidir.
- Kullanılan işletim sistemi ve network sisteminden bihaberdir. Armut piş, ağzıma düş diyerek bu tür işleri operasyon ekibine yükler.
- Yazılım ayarlarından sadece temel olanlarıyla ilgilenirler: loglama konumunun belirlenmesi, portların seçimi, vs.
- Programın çalışması esnasında da sadece temel kontrolleri yapabilirler: program düzgün çalışmaya devam ediyor mu, donanım kaynakları yeterli mi, vs.
- Birden fazla açık yazılım birarada çalışıyorsa bunların arasındaki bağlantıyı sağlayabilir.
- Orta Seviye: Bu seviyedeki kullanıcının başlangıç seviyesinin üstünde sahip olması gereken yetenekler şu şekilde:
- Kurulum sırasında derleme yapabilir.
- Programın ayarları için gerekirse koda girerek temel değişiklikler yapabilir. Bu değişikliğin ardından kodu tekrar derleyip kurulumu yeniler.
- Açık yazılım community'sine aşinadır. Forumlarda etkindir, soru da sorar cevap da verir.
- İleri Seviye: Çıtayı atlayan yazılımcının meziyetleri:
- Proje kodunun herhangi bir yerinde değişiklik yapabilir. Örneğin Linux çekirdeğine dalıp kafasına göre takılabilir.
- Proje kodunu, işletim sistemini, donanım kaynaklarını ve network'ü en iyi performans için evirip çevirebilir.
- Programın çalışması esnasında her türlü incelemeyi yapar, gerekirse çakılmaya karşı programlar yazar. Programın çalışmasına tamamen hakimdir.
- Kullanılan açık yazılımın kullandığı tüm framework'lere ve diğer açık yazılım araçlarına tamamen hakimdir. Gerekirse başka yazılımlarla beraber çalışması için koda kanca takar.
- Açık yazılımın yazıldığı programlama dilini adı gibi bilir. Ufak bug-fix'ler yapar, kodda istediği değişikliği yapar. Rahattır.
- Community'de kilit adamlardan sayılır. Açık yazılım camiasından güzel çevre yapmıştır, icabında uzman arkadaşlarından anında yardım alır.
- Uzman: Açık yazılım dünyasının yıldızları olan bu zatların donanımını anlatmaya pek gerek yok. Uzman işte. Ünlü oluyorlar genellikle.
Şimdi ekibinizdeki yazılımcılara bakın, yeteneklerini belirleyin; bir de kullanacağınız açık yazılımın olgunluğuna bakın. Mümkün görünüyor mu?
YETENEK VE RİSK
Açık yazılım kullanarak geliştirdiğiniz yazılımın kaldırabileceği risk seviyesi de kararınızda etkili olmalı. İşte risk toleransına göre projeler:
- Deneysel: Uçuş serbest. Dilediğiniz gibi bozun yapın.
- Düşük Öncelik: Kullanılan sistemlerdir fakat uzun süreli çakılmalar pek önem taşımaz. Proje yönetimi için kullanılan Wiki siteleri bu sınıfa örnek gösterilmiş.
- Bu Sınıfa İsim Bulamadım, Kitapta Operational Diyor: Bu uygulamaların 1-2 saatten fazla çakılı kalmaya tahammülü yoktur.
- Kritik: Mesela bankaların ATM sistemleri bu sınıfa giriyor. En küçük çakılmaya tahammülü yoktur. Kullanılan açık yazılımda risk varsa bu sınıf için pek de makul bir seçim olmaz.
AÇIK YAZILIM YETENEĞİNİN GELİŞTİRİLMESİ
Bu mesele bir gecede olacak iş değildir. Eğitimi de zaman ve emek yatırımıdır. Ticari yazılıma para yatırırsınız, açık yazılıma zaman yatırırsınız; yani yine para yatırırsınız. Para para para. Demir ustası demiri döve döve öğrenir. Yazılımcı da yapa boza öğrenir. Ticari yazılıma yatırımla kıyaslandığında daha avantajlıdır, şöyle ki, açık yazılım konusunda kendini eğiten bir IT ekibinin yeni açık yazılım projelerini benimseme süresi gitgide azalır. Açık yazılım eğitimi bir şirket politikasıdır, bir düşünce biçimidir. Sevgiler.
Kaydol:
Kayıtlar (Atom)