27 Eylül 2013 Cuma

Pardus Yazılım Kampı değerlendirmesi

Pardus'un eskiden düzenlediği yaz stajlarının yerini bu yıl yazılım kampı [1] aldı. Staj dönemini TÜBİTAK'ın Gebze'deki yerleşkesinde çalışarak geçirmek öğrenciler [2] için kıymetli bir tecrübe oluyordu. Pardus'un çalışma şeklini [3] ve ürünlerini temelden değiştirmesi sonucu gelinen noktada yanında staj yapılacak büyüklükte bir Pardus ekibi kalmadı. Google Summer of Code [4] benzeri bir etkinlik olarak düzenlenen yazılım kampının iyileştirilmesi gereken pek çok yeri olduğunu düşünüyorum.

Önce Pardus tarafında sürecin nasıl işlediğini kısaca özetleyeyim. Lisansüstü eğitim gören öğrenciler birer proje teklifinde bulunuyorlar. Lisans eğitimi gören öğrenciler bu projeler arasından birini seçip oy veriyorlar. En çok oyu alan 21 proje, her coğrafi bölgeden 3 proje olmak şartıyla seçiliyor. Buradan sonra projesi kabul edilmiş olanlar projesini yapacak lisans öğrencisini seçiyorlar. Projeler kurulacak olan bağımsız kurulla değerlendirilip, sonlanıyor.

  • Proje lideri olmak için neden lisansüstü eğitim görüyor olmak lazım, lisans öğrencisi olmayanlar niye projelerde çalışamıyorlar konularında bir eleştiri getirmeyeceğim. Üniversite öğrencilerini özgür yazılım dünyasına katılmaya teşvik etmek gerekli bence de. Ne Pardus'un ne de üniversitelerin bütün sorunlarını çözecek bir etkinlik değil yazılım kampı. Süreçteki eksiklikler giderilmiş olsa çok faydalı olabilirdi diye düşünüyorum.
  • Etkinliğin adı Pardus Yazılım Kampı ama projelerin önemli bir kısmının Pardus'la hiç ilgisi yok [5]. Konulardan bazıları şöyle: "Ev, tarla vb. gibi yerler için internet tabanlı otomasyon", "Sağlık Platformu", "Atıf İndex Arşivleme ve Raporlama Programı" ve "Tekir Ticari Programına İçeri Aktarım Web Servis Modülü Geliştirilmesi". Pardus, yani Debian, için özel olan yazılım sayısı çok az.
  • Proje teklifleri bir ders ödevinin teklifi bile olamayacak kadar kısıtlı hazırlanmış. Kabul edilen projeler arasında ayrıntılı tek bir proje teklifi bulunmuyor. Bunda proje teklifinin bir şablonunun olmamasının etkisi büyük bence.
  • Kabul edilen projeler sayfasında şu ifade var: "Lisans öğrencilerinden gelen oylar ile Doç.Dr. Murat Osman Ünalır ve Öğr. Gör. Ziya Karakaya hocalardan oluşan bağımsız kurulumuzun değerlendirmeleri sonucunda". Öncelikle iki kişilik bağımsız kurul daha önce hiç duymadığım bir şey. Kurul üyelerinden biri olumlu, diğeri olumsuz oy kullandığında nasıl karar verilebildi acaba? Üye sayısının bu kadar az olması da anlaşılır şey değil bence.
  • Projelerin seçiminin lisans öğrencilerinden gelen oylarla yapılması da sağlıklı bir yöntem değil. Burası çoğunluğun dediğinin olacağı bir alan değil. Eğer bir oylama yapıldıysa hangi projenin kaç oy aldığını da açıklamak gerekirdi.
  • Projelerin liderleri çalışacakları lisans öğrencilerini nasıl belirlediler merak ediyorum. Bu konuda hiç açıklama yok.
  • Projelerin hangilerinin tamamlandığı bilgisi de sayfalarında bulunmuyor.
  • Gelelim yazılım kampının en vahim tarafına yani kodlara. Kamp boyunca geliştirilen yazılımların kodlarına [6] erişim herkese açık. 
    • Kabul edilen 21 projeden 18'i için depo açılmış. 3 proje için depo bile açılmamış maalesef.
    • 5 proje için hiç kod gönderilmemiş.
    • 4 proje için son 2 ayda kod gönderilmemiş.
    • 3 proje için bir proje oluşturmaya yetmeyecek kadar az gönderim yapılmış.
    • Bora Canbula [7], Murat Kancaoğlu, Mustafa Arıcı, Mustafa Hergül, Şaban Gülcü ve Salim Sarımurat'ın projeleri tamamlanmış görünüyor.
2 kişilik bağımsız kurul yapacağı değerlendirme sonrasında kod göndermiş 6 projeden kaçını başarılı bulacak birlikte göreceğiz. Aslında TÜBİTAK bu etkinliği unutmuş gibi davranıyor. Projelerin teslim tarihini 4 gün geçmiş olmasına rağmen kampın ana sayfasında kayıtlar sona erdi haberi var. Başarıyla tamamlanan projeler listesini gördüğümde yazıya ekleme yaparım.
Dünyada bu kadar fazla benzer etkinlik yapılırken, koskoca TÜBİTAK'ın başarılı örnekleri model almayıp böyle başarısız bir etkinlik düzenmesi inanılacak şey değil. Özgür yazılımın üniversite öğrencileri arasında yaygınlaştırılmasına veya Pardus için gerekli bir aracın hazırlanmasına vesile olmamış yazılım kampının başarılı olduğunu söylemek imkanı yok.

Dilerim TÜBİTAK bu yıl yaptığı hataları tekrarlamasın.

24 Eylül 2013 Salı

Bilgisayar mühendisliği öğrencilerine tavsiyeler

Üniversite tercihlerinin pek azı gerçekten bilerek, isteyerek yapıldığından öğrencilerin bölümlerini tanımaları, kendilerine bir yön belirlemeleri bazen bir iki yılı bile bulabiliyor. Elbette bir günlük girdisiyle bu sorunu çözmek mümkün değil ama yolun başındaki genç arkadaşlar için bir kaç önerinin faydalı olacağını düşünüyorum. Aşağıda yazanların benim onbeş yıllık tecrübelerim olduğunu, bunları yapmanın iyi geleceği bünyeler olduğu gibi bunları yapmadan da başarılı/mutlu olanlar olabileceğini bilip öyle okumakta fayda var.
  • Üniversite hayatını sadece okuldan ibaret görmeyin. Mezun olduktan sonraki hayatınız da sadece işten ibaret olmayacak. En çok kitap okuduğunuz, müzik dinlediğiniz yıllar üniversite yıllarınız olsun. Üniversitelerde bir sürü öğrenci topluluğu var, ilginizi çeken birine katılın. Beğenmezseniz başkasına katılırsınız. Sosyal faaliyetleri, konserleri küçümsemeyin pişman olursunuz sonra.
  • Lisans eğitimi dört yıl ve bu yeterince uzun bir süre. Üniversiteye gelene kadar bilişimle son kullanıcıdan fazla ilgilenmemiş olmak ciddi bir kayıp sayılmaz.
  • İşin doğrusu bölüm pek kolay değil. Aslında zor da değil ama lise eğitiminde verilenlerden farklı bir düşünce tarzı gerektirdiğinden [13] öğrenciler zorlanıyorlar diye düşünüyorum. İlkokul birinci sınıftan itibaren sonuç bulmaya ve bu sonucu şıklar arasından seçmeye odaklanmış öğrenciler için yöntem üzerinde düşünmek en zor alışılan şey oluyor. Bu aşamayı halledince gerisi daha kolaylaşıyor. Burası en çok üzerinde çalışılması gereken alanların başında geliyor ve elbette lise eğitiminde değiştirilmesi gereken çok şey var.
  • Her bölüm için geçerli olan tavsiye bilgisayar mühendisliği için de geçerli; düzenli çalışmak gerekiyor. Ödevler ve projeler var sürekli. Azıcık savsaklayınca [12] bile ipin ucu kolayca kaçabiliyor.
  • Mezun olacağınız yıl sizinle birlikte 5000'den fazla bilgisayar mühendisi mezun olacak. Başka bölümlerden mezun olmuş ve sizinle aynı işleri yapmaya talip olanların sayısı da bundan aşağı olmayacak. Rekabet sadece yurt içindekilerle de sınırlı değil, aynı iş için dünyanın her tarafından, mesela Hindistan'dan, insanlarla rekabet edeceksiniz. Bunun için bölümde anlatılanların haricinde şeyler biliyor olmanız lazım. Onları mutlaka iyi biliyor olmanız lazım ama zaten neredeyse bütün rakipleriniz biliyor olacak. Aynı işi yapabilecek bu büyük kalabalık içinde bir adım öne çıkabilmek için derslerden fazlasına çalışmanız gerekecek.
  • Öğrenim hayatınız boyunca okuyacağınız kaynakların büyük bir kısmı İngilizce olacak. Sorularınızı yeri gelecek uluslararası listelere/forumlara sormanız gerekecek. Meslek hayatınızda da mutlaka İngilizce iletişim kurabilmeniz gerekecek. Onun için öncelikle İngilizce çalışın [0].
  • Sizin okulunuzda okutulmuyor bile olsa dünyanın dört bir tarafında internet üzerinden ulaşabileceğiniz çevrimiçi kurslara ve eğitimlere katılma fırsatınız var. Bu fırsatları değerlendirin [1].
  • Her dersten en yüksek notu almanız gerekmez ama derslerde başarılı olmanın da bir yere kadar önemi var [6].
  • Okulu bitirdiğinizde hazırladığınız cv'den önce yaptıklarınıza bakacaklar [2]. Bunun için internette yazdığınız herşeyi kendi adınızla yazın. Bu hem yaptıklarınıza bir aramayla ulaşılmasını sağlar, hem de sizi bir saçmalığı yazmadan önce ikinci bir kez düşünmeye teşvik eder. Salak saçma takma isimler kullanmayın. Kendi adınızla yazamadığınız bir şeyi hiç yazmamak iyi fikir olabilir.
  • Adınızı soyadınızı içeren bir alan adı satın alın ve kullanın. 10$'ın altında yıllık ücret ödeyip böyle bir alanı almak mümkün. Daha az kullanılan alan adı uzantılarını yıllık 1$'ın altında bile almak mümkün.
  • Hala bir tane yoksa bir blog adresi alın ve yazın. Çoğunluk başlangıçta günlük girdilerini ansiklopedi gibi düşünüyor. Elbette ipuçlarını, sorunları, çözümleri yazmak faydalı ama sadece bunlarla sınırlı yazmanız gerekmez. Hangi konuda yazmak istiyorsanız yazın, fikirleriniz olduğunu zaten biliyor insanlar.
  • Öğrenim hayatınız boyunca en çok başvuracağınız kaynaklardan biri wikipedia olacaktır. Burada içerik gönüllüler tarafından geliştiriliyor. Siz de bir hesap açın ve mevcut maddeleri iyileştirin, yeni maddeler ekleyin [3].
  • Mutlaka yazılımla ilgili ödevleriniz olacak, takım arkadaşlarınızla birlikte çalışacaksınız. Hem bunlarda kullanmak için hem de kendi projelerinizi barındırmak için bir github hesabı açın. Bu hesabı çok özenli kullanın. Yarım bırakılmış projelerinizle, uydurma gönderim mesajlarınızla[4] bir çöplüğe dönüştürmeyin burasını.
  • Bir transifex[5] hesabı alın ve yazılımların çevirilerine katkıda bulunun. Hepimiz Türkçe içerik az diye şikayetçi olurken bunu arttırmaya çaba göstermemek olmaz. Programların çok büyük kısmı sizin kolaylıkla katı verebileceğiniz durumdalar. İngilizcenizin gelişmesine katkıda bulunacağı gibi yazılımların çevirilerine dört yılda hatırı sayılır katkı vermiş olacaksınız.
  • İlgi alanınızdaki derneklerden, gruplardan birine dahil olun. Başlangıçta ne yapıldığını görürsünüz, zaten ağır bir yükü de olmaz. Ben LKD üyesiyim, tavsiye ederim. Sadece internette örgütlenen gruplar da var, onların da üyesi olmanın, imkan buldukça toplantılarına katılmanın büyük faydasını görürsünüz.
  • Okul dönemleri dışında bir çok eğitim etkinliği oluyor, bunlardan mümkün olduğunca fazlasına katılın. Her yıl ocak sonu, şubat başı gibi düzenlenen Akademik Bilişim Konferansları öncesinde 4 günlük eğitimler oluyor. Yer yıl genişleyen bir yelpazede düzenlenen bu eğitimlerden ücretsiz faydalanma imkanını değerlendirin. Benzer şekilde Türkiyede İnternet Konferansı da aynı sektörde çalışacağınız çokça insanı bir araya getiren bir etkinlik olarak her yıl başka bir şehirde düzenleniyor. Linux Kullanıcıları Derneği her yıl ağustos ayında 15 gün süren bir linux yaz kampı düzenliyor. Kendi alanında yetkin kişilerden ücretsiz ve yoğun bir eğitim almak için harika bir fırsat olduğunu söyleyebilirim.
  • Takviminize uygun olursa mezun olmadan bir kere bilgisayar mühendisliği öğrencileri kongresine katılın. Etkinliğin içeriğinden çok ileride meslektaş olacağınız arkadaşlarla tanışmış olursunuz. Linux Kullanıcıları Derneği ve Bilgi Üniversitesinin birlikte düzenlediği Özgür Yazılım ve Linux Günlerini [15] de mutlaka takviminizde işaretleyin.
  • Henüz tanışmadıysanız özgür yazılım dünyası ile tanışmak size yepyeni ufuklar açacaktır. Bir yazılımın özgür olması onun kullanımının, dağıtılmasının, değiştirilmiş halinin dağıtılmasının özgür olması ve kaynak kodunun da erişilebilir olmasını sağlar. Özgür yazılımlar sayesinde daha önce keşfedilmiş şeyleri yeniden keşfetmek zorunda kalmayacağınız gibi onlara eklemeler yapabilir, hatalarını düzeltebilir yani yazılım ekosisteminin bir parçası olabilirsiniz. Özgür yazılım dünyası sizi memnuniyetle kabul edecektir. Gönüllüler tarafından yürütülen projelere katkı vermeden önce Nasıl Akıllıca Soru Sorulur [7] belgesini okumanın çok faydasını görürsünüz.
  • Google tarafıdan her yıl düzenlenen Summer of Code [8] etkinliği büyük özgür yazılım resminin bir parçası olmanıza imkan veren harika bir fırsattır. Birinci sınıf öğrencisiyken işler o kadar kolay olmayabilir ama bir hedef [9] olarak önünüzde bulunması gerekir diye düşünüyorum. Her yıl ülkemizden de 10-15 kişi kabul ediliyor [10] bu etkinliğe, biri siz olabilirsiniz.
  • Lisans eğitimi bitmeden iki yaz stajı yapmanız gerekecek. Bu stajları meslek hayatını tanımak için bir fırsat olarak görün [14]. Yapmış görünmek için bir yerde staj yapmayın. Bazen staj yapılacak yerin adının fiyakalı göründüğü için seçildiğini görüyorum. Bence adı çok bilinen ama gittiğinizde elinizi hiç bir şeye dokunamayacağınız, size bir şey katmayacak bir yerde staj yapmak hiç de iyi bir fikir olmayacaktır. Staj yerini ayarlama işini son dakikaya bırakmayın. Okulda hiç adı geçmeyen, derslerde anlatılmayan şeyleri staj yaptığınız yerde görmek size farklı bakış açıları kazandıracaktır.
  • Son sınıfta yapacağız bitirme projesini [11] ciddiye alın.
Öğrencilikte hayat çok güzel kıymetini bilin.

19 Eylül 2013 Perşembe

GNU 30 yaşında!

İki hafta sonra insanlığın kaderini değiştiren GNU'nun 30. yaşını kutlayacağız. Özgür yazılım hareketinin başlatıcısı Richard Stallman  ve Türkiyede bu konuda en çok emeği harcayan Mustafa Akgül dünya durdukça hatırlanacaklar.

Çok yaşasın özgür yazılım, çok yaşasın Stallman, çok yaşasın Akgül!

3 Eylül 2013 Salı

IPv6 geçiş fiyaskosu

Yaklaşık 3 yıl önce çıkan Kamu Kurum ve Kuruluşları için IPv6'ya Geçiş Planı başlıklı başbakanlık genelgesi IPv6 kullanımı için kademeli bir geçiş öngörüyordu. Her adımda yapılması istenenlerin çoğunlukla yapılmadığını gördüğümden genelgenin sonundan da umutlu değildim doğrusu.

Bugün gelinen noktada kamu kurum ve kuruluşlarının IPv6 desteği olmayan hiç bir ağ cihazını almaması, internet üzerinden verdikleri kamuya açık tüm hizmetleri IPv6’yı destekler hale getirmesi gerekiyordu. Bütün kurumların üç yılda rahatlıkla tamamlayabilecekleri bir süreç olmasına rağmen çoğu kurumun neredeyse hiç bir şey yapmadığını görmek mümkün. Kamu kurumları tam bir yıl önce almış olmaları gereken IPv6 adres bloklarını bile almamışlar.

Kamuya açık verilen tüm hizmetlerin IPv6 üzerinden de verilmesi gerekirken henüz www.turkiye.gov.tr, www.tubitak.gov.tr ve www.osym.gov.tr gibi en yaygın hizmetlerin sunucuları için IPv6 adres ataması bile yapılmamamış durumda. Hal böyle olunca diğer kurumlar daha ÖSYM yapmamış bu işi sıra bize mi gelecek diyorlar herhalde.

Uzun sayılacak bir sürede üzerinde çalışıp bilgi biriktirerek yapabileceğimiz bu geçişi yapmamış olmamız umarım bir süre sonra yurt dışından büyük donanım ve yazılım satın almak şeklinde geri dönmez.