Kendinize özgü GNU/Linux CD'si

Kendi seçimlerinizle canlı (live) bir GNU/Linux sistemi oluşturabilmeniz için bir servis sunulmuş. Oluşturulan iso'yu bir cd'ye yakarak, özel GNU/Linux canlı olarak kullanabiliyorsunuz.

Kaynak :Pick and choose packages to create your own custom Linux distribution

Havai Fişek

Eski güzelliğini kaybetti havai fişekler benim için. Küçükken, oldukça küçükken havai fişek izlemek büyük bir eğlenceydi. Ancak televizyonlarda görebildiğim birşeydi. Biraz büyüyünce yılda bir yılbaşı kutlamalarında görmeye başladım. Artık eşşek kadar olunca (iyice büyüyünce) heryerde görmeye başlayınca bir bıkkınlık geldi. Antakya'ya gidiyorum, küçük bir şehirdir güya, her akşam neredeyse bir havai fişekli kutlama, düğün. İzmir'de de farklı değil ki. Her yerde, her düğünde havai fişek. Duyduklarıma göre bu çevreye oldukça zararlıymış, ozon tabakasına zarar veriyormuş. En komiği geçenlerde bir düğünde bu havai fişeklerin ilk patlatılanları yere erken düşünce, düştükleri yerdeki otları tutuşturmuş, itfaiye gelip söndürmüş. Bu kadar zarar verebiliyor. Peki nedir bu güzelim Gandalf oyuncaklarından, çocukların her seferinde durup izlediği havai fişeklerden bu kadar istedikleri? Az olsun ama öz olsun değil mi?

Bunları yazarken çocukluğumda çok seyrek geçen uçakları, helikopterleri izleme alışkanlığım geldi aklıma. Büyük şehire gelene kadar her uçak sesi duyduğumda yukarı bakardım. Büyük şehirde ilk başlarda da, alışana kadar yukarı bakmaya devam ettim. Geçenlerde İzmir'in kurtuluşu kutlamalarında farkettim ki arada sırada uçak sesi duyunca, dayanamayıp yukarıya bakıyorum. Ama diğer farkettiğim önemli bir başka şey ise, büyük şehirde yaşamalarına rağmen çocukların uçak ve helikopterler için yukarıya bakmaları oldu. Aslında alışkanlık değilmiş benim bakmamaya başlamam, büyümekmiş.

RFID Eurasia 2007 İzlenimleri

"The Marmara" otelinin kapısından girdim. Girişte sağdaki
görevliye RFID konferansı için nereye gitmeliyim diye sordum.
Yukarı katta sol taraftaki kayıt masasına yönlendirdi beni. Masaya
ulaşıp zaten kaydımı yaptırdığın için hazırlanmış olan boyun askımı
(isminin ve üniversitenin yazdığı) aldım. Lütfen konferans için T
katına çıkın dediler ve kafam karıştı. Hemen bir merdiven veya
asansör aradım. Asansöre binince L katında olduğunmu gördüm. T
kat düğmesine basıp asansörle çıktım. (Sonradan L'nin Lobi, T'nin teras olduğu
anlaşılıyor :) ) Kata girer girmez karşıdaki kayıt masasından bu sefer
konferans çanta ve eşantiyonlarını alıp, davetli konuşmacıların
konuştuğu salonun kapısı civarında dolaşmaya başladım. İçeri şöyle
bir bakıp acaba etrafta salondan başka oturacak yer var mı diye merak
ettim. E haliyle yok. Bari salona gireyim dedim ama boşlukların
serpiştirilmiş olması nedeniyle cesaret edip birinden yol isteyip
oturamadım :) Sadece bir konuşmacıyı dikkatli dinledim. Kansas
Üniversitesinden gelen akademisyeni (dekan falandı herhalde :S ). RFID
ve akademi hakkında bir şeyler anlattı. Ama nedense bana Kansas
üniversitesini tanıtıyormuş gibi geldi :S

Konuşmalardan sıkıldığım için dışarı çıkıp kahve içmek istedim ama
11:15'teki araya kadar kimseye içecek vermiyorlar. Ara verilince de
demin vermediniz ben de şimdi içmiyorum dedim. Kendi kendime gelin
güvey oldum yani :) Kahveleri içtikten sonra bari hemen içerden
yer bulayım düşüncesiyle içeri girip oturdum. Bu sefer Stanford'tan
Özalp Özer ve Marks&Spencer'dan birini dinledim, aklımda pek bir
şey kalmadı :S . Ne de olsa sen araştırmacı kimliğimle katıldığıma
inanıyorum. Ticari kaygılar ilgilendirmiyor :D

Sabah izlenimlerim bunlar. Açıkçası katılımcılar çoğunlukla
şirketlerden gelenlermiş gibi geldi bana. Kafayı sıfıra vurmuş takım
elbiseliler desem :) anlarsın ;)

Öğle yemeği çok meşakkatliydi benim için. Açık büfe yemek, değişik
yemekler var ama oturacak yerler gene serpiştirilmiş olduğu için
cesaret edip birine burası boş mu acaba diye sorabilmek için bayağı
dolaştım :) Sonunda oturdum yedim yemeğimi. Elbette üstüne de
hayatımda ilk defa 4 değişik tatlıyı birden yedim
(Profiterol-Baklava-Kazandibi
-Tel Kadayıf). Yemekten sonra hemen
terasın bir üst katındaki sunumu yapacağım salona gittim. Sunum
tavsiyelerinde okuduğum erkenden orada olun sözüne bağlı kaldım ve ilk
giden ben oldum :) Daha sonra katılımcılar gelmeye başladı. Oturum
başkanı Dr. V.D. (kendisine kısaca DVD diyebileceğimizi söyledi)
geldikten sonra bilgileri verip kurulan bilgisayar sistemine sunumu
yükledim. Ve tüm sunum yapacaklar gelince, sadece 3 sunumun
yapılacağını ilk sıranın da bende olduğunu öğrenmiş oldum.

Sunuma başlamak biraz zor oldu, önce kendimden bahsettim ne yaptığımı
ne ile uğraştığımı falan anlattım. Sonra sunuma başladım. Sunum
açıkçası konuya hakimiyetim az olduğu için o kadar iyi değildi, ama
yine de bir şeyler anlatabildim :) Sunum için n çok dikkatimi çeken
insanların saatlere dikkat etmemesiydi. Benim en çok kızdığım
şeylerden biri bu oldu. Sunumda bir kaç slayt kalmışken 5-6 kişi
birden kapıdan girdi. Daha önce de teker teker girenler oluyordu ama
bunlar girince gürültü oldu ben de iyice yerleşene kadar bekledim
bunları :) Ve zaten sunum hemen bitti. Daha önce düşündüğüm gibi can
alıcı soruyu - kimse soru sormadığı için - oturum başkanı Dr. V.D.
sordu. "Makale başlığınızda AI kelimesi geçiyor ama sunumda pek
bahsetmemişsiniz?" Ben de AI bilgimi konuşturdum ve az bir politika
yaparak henüz çalışmaların devam ettiğini, bitirmediğimiz için sunuma
almamaya karar verdiğimizi, ancak ban ve authentication mekanizmaları
için zeki bir sistem (uzman sistem tabanlı) oluşturmayı planladığımızı
söyledim. Ne kadar tatmin edici oldu bilmiyorum.

Benim sunum bitince rahatladım ve oturdum. Benden sonra Koreliler
sunum yaptı. Hayatımda bu kadar kötü bir sunum deneyimim olmamıştı :)
İngilizce konuşuyordu (okuyordu daha doğrusu) ve koreliler gibi
(uzakdoğulu filmlerdeki gibi) vurgular vardı. Çoğu kelimeyi
anlamıyordum :) Her slaytta elindeki notları okudu. Benim elimde not
olmasına rağmen bir kere bile bakmamıştım belki kötü bir alışkanlık
benimki ama notlardan okumak daha kötü bence :) Sunum oldukça teorikti
aslında. Gerçek anlamda akademik bir makale idi.

Ondan sonraki sunum Dr. V.D'nin sunumu. Reliability konusunda sunum
yaptı. Bir kütüphanede kitap takibi için kullandıkları RFID'lerin
gerçekten doğru kitapları bulduğunu kitapların ağırlıklarını sistemde
saklayarak karşılaştırma yoluyla anlıyorlardı. Değişik bir çalışma.

Sunumlar bitince kimseyle tanışmadan (aslında Dr. V.D. ile
konuşacaktım ama İTÜ'lü ve Yurtiçi kargolu iki kişi adamı soru
yağmuruna tutunca beklemekten vazgeçip kaçtım) (sabahta kimseyle
tanışmadım) ayrıldım ortamdan. Bir sonraki oturuma kadar beklemeye ve
kahve içmeye başladım. Bu arada da etrafı gözlemledim. Bu konferansın
en önemli artısı etrafı gözlemlemem oldu :) Beklemeler boyunca sadece
kahveleri dolduran garsonlarla iletişim kurduğumu düşününce insan
şaşırıyor :)

İkinci oturumu seçmemin nedeni uygulamalara yönelik olmasıydı. Değişik
uygulamalar tanıtıldı. Hepsini anlatmayacağım. En önemli gözlemimi
söyleyeceğim. Akademik ortamdan gelenlerle iş ortamında gelen
sunumların farkını çok iyi anlıyorsunuz. Madde madde gözlemlerimi
yazıyorum:

- Akademik sunumlar bilimsel sonuçlar, grafikler almaya çalışmışlar.
- İş ortamından gelen sunumlar gelirsel sonuçlar almaya çalışmışlar.
- İş ortamından gelen sunumları sunanlar presentabl bir yapıda, tam
bir pazarlamacı gibi oldukça başarılı sunum yapıyorlar.
- Akademik sunumu yapanlar ya ezberliyor, ya okuyor ya da eğer uzun
süreli akademisyen ve konuya hakim biri ise başarılı bir sunum
yapıyor.

Açıkçası çok çalışmam gerekiyor, konuya hakim olup, gerekirse
sunumlarda sadece resim kullanarak çok başarılı sunumlar sunmam
gerekiyor. En iyi sunum şekli bu bence :)

Bağlantılar:
http://www.rfideurasia.com/
Makalemiz (Sunumumuz)

Java 1.5 Genel Tipler (generics)

Java 1.5'in getirdiği yeniliklerden biri genel tip (generic) özelliğidir. Bu yapıları C++'taki template'lere benzetebiliriz. Eğer template'ler hakkında bilginiz varsa genel tipleri anlamanız kolaylaşacaktır. (C#'ta da genel tipler desteklenmektedir)

Genel tipler, tiplerin soyutlanması amacıyla kullanılmaktadır. En çok karşılaşılan örnek saklama (container) tipleridir. Bu saklama tiplerine Java'daki Collection hiyerarşisindeki tipleri örnek olarak verebiliriz (Vector, ArrayList, vb.). Aşağıda bu tip bir yapının örnek kullanımını görebilirsiniz:

List intListem = new LinkedList(); //1Bagli liste tanimliyoruz
intListem.add(new Integer(0)); //2 Listeye bir eleman ekliyoruz
Integer x = (Integer) intListem.iterator().next(); //3 Listeden eleman cekiyoruz

Dikkat ederseniz 3. satırda bir "cast" (tip dönüştürme) işlemi yapmak zorunda kaldık. Programcı bir listede sakladığı tipi bilmektedir, ancak List yapısı Object tipinde nesneler döndürdüğü için, tip dönüştürme işlemi yapmak zorunda kalmaktadır. Tip dönüşümleri kodu karıştırdıkları gibi, çalışma zamanı hatasına da neden olabilir.

Peki programcının kodu yazarken listede kullanmak istediği tipi önceden belirleyebildiğini ve listeyi sadece bu tip özgü ayarladığını düşünelim. İşte bu düşünce genel tiplerin arkasında yatan temel fikirdir. Yukarıdaki kod parçasını bu fikre dayanarak genel tiplerle yazılmış hali aşağıdadır:

List<Integer> intListem = new LinkedList<Integer>();// 1' Integer bagli liste
intListem.add(new Integer(0));// 2' Listeye bir eleman ekliyoruz
Integer x = intListem.iterator().next();// 3' Listeden eleman cekiyoruz

Bağlı listemizin tanımını incelediğiniz zaman, bu oluşturduğumuz listenin rastgele bir liste olmadığını, Integer bağlı listesi olduğunu belirttiğimizi görebilirsiniz. Bu şekilde bu listeye sadece Integer nesnelerin eklenmesini zorlamış oluyoruz. Böyle çalışma zamanı hatalarını yoketmiş oluruz. Okunabilirliğin artmış olduğu da unutulmamalıdır.

Kaynak : Generics in the Java Programming Language

Bağlantılar:
http://java.sun.com/j2se/1.5.0/docs/guide/language/generics.html
http://www.ibm.com/developerworks/java/library/j-djc02113.html
http://www.csharpnedir.com/makalegoster.asp?MId=629