Bilgisayar alanından hareketle yaşamla ilgili her şeyi paylaşmaya çalışan arkadaşların oluşturduğu kollektif bir günlüktür.
!
Birileri yasa dışı maç yayını yapmış diye, binlerce blog kapatılır mı? Yasaklamaların bir an önce son bulması dileğiyle; İleri görüşlü, açık fikirli ve devrimci Atatürk'ün hediyesi Cumhuriyet Bayramı kutlu olsun!
Ölüm Günü
Daha önce Fazıl Hüsnü Dağlarca üzerine birşeyler yazmıştım ve şairin Kadıköy'de yanlızlığa terkedildiğini ve onu ancak ölüm gününde hatırlayacağımızı söylemiştim. Maç tahminlerim tutmuyor ancak böyle şeylerdeki öngörülerim beni hiç yanıltmadı. Öyle şairlerimiz varki, bizi derinden tanımış, bizi ifade etmiş, insanın beyni dönüyor onları okurken. Bu insanlar o kadar pisliğin arasından o temiz kelimeleri nasıl buluyorlar; ve bizler, bu toprakların çocukları sizi nasıl oluyorda tanımıyoruz?
Türk Dil Kurumu'nun töreninde Farık Nafiz Çamlıbel'in şiiri, Fazıl Hüsnü Dağlarca'nın şiiri diye okunmuş, Dağlarca başka bir şairin şiiri ile uğurlanmış. Bu gafa gülelim mi, ağlayalım mı bilmiyorum. Ama biz Dağlarca'yı kendi dörtlükleri ile uğurlayalım.
Söyle sevda içinde türkümüzü,
Aç bembeyaz bir yelken
Neden herkes güzel olmaz,
Yaşamak bu kadar güzelken?
İnsan, dallarla, bulutlarla bir,
Ayrı maviliklerden geçmiştir
İnsan nasıl ölebilir,
Yaşamak bu kadar güzelken?
Bir başka ölüm gününde buluşmak üzere!
Türkiyeye interneti kim, ne zaman getirdi?
RFID ile ilgili bir araştırma yaparken, çok da dolaylı olarak, kendisi ile yapılmış bir röportaja rastladım. Üniversitenin ilk yıllarında hocalarımız "Türkiyeye interneti bizim okulumuz getirdi" derdi, bunu biz böyle öğrendik ama dışardı herkes ODTÜ getirdi diye biliyordu. Oysa bu röportaj ile gerçek olan ortaya çıkıyor. 1993 te ODTÜ'nun kurduğu kamuya açık internetin altyapısı tam 7 yıl önce, 1986 yılında Ege Üniversitesinde Oğuz Manas'ın öncülüğünde Üniversiteler arası çalışan şekliyle kurulmuş.
Bana kalırsa kimin getirdiğinden çok, Ege Üniversitesinin ve hocamız Oğuz Manas'ın bu alandaki çalışmalarının unutulmaması; yenilikçi ve ileriye dönük bu akımın devamı önemli.
Einstein'ın Mantık Sorusu
Einstein'ın mantık sorusu:
Kurallar :
1) Beş farklı renkte beş ev var,
2) Her evde beş farklı ülkeden birer kişi oturuyor,
3) Bu evlerde yasayan kişiler;
- Farklı tür içecek içiyor
- Farklı marka sigara içiyor
- Farklı cins hayvan besliyor,
4) Sigara, içecek ve hayvanların hiçbiri aynı cins değil.
Verilen Bilgiler :
1) İngiliz kırmızı evde yaşıyor.
2) İsveçli köpek besliyor.
3) Danimarkalı çay içiyor.
4) Beyaz evin solunda yeşil ev var.
5) Yeşil evin sahibi kahve içiyor.
6) Kuş bakan kişi Pall Mall marka sigara içiyor.
7) Sarı evin sahibi Dunhill marka sigara içiyor.
8) Tam merkezdeki evde yasayan kişi süt içiyor.
9) Norveçli ilk evde oturuyor.
10) Kedi besleyen kişinin evinin yanındaki evde oturan kişi Blend marka sigara içiyor.
11) Dunhill marka sigara içen kişinin evinin yanındaki evde oturan kişi at besliyor.
12) Blue Master marka sigara içen kişi aynı zamanda meyve suyu içiyor.
13) Alman Prince marka sigara içiyor.
14) Mavi evin yanında oturan kişi norveçli.
İstenilen Bilgi :
Su içen kişinin evi hangi renk?
Balığı besleyen kimdir?Visual Prolog'taki kod
domains
ID= symbol
EV = ev(ID,SIRA) % Her bir ev bir sirayla tanimlaniyor
EVLISTE = reference EV* % Ev listesi
SIRA = integer % Ev sirasi
SIRALISTE = SIRA* % Sira listesi
predicates
nondeterm cozum
nondeterm aday(EVLISTE,EVLISTE,EVLISTE,E
nondeterm perm(EVLISTE)
nondeterm kisitlar(EVLISTE,EVLISTE,EVLIS
nondeterm permutasyon(SIRALISTE,SIRALIST
nondeterm sil(SIRA,SIRALISTE,SIRALISTE)
uye(EV,EVLISTE)
nondeterm yaninda(SIRA,SIRA)
nondeterm solunda(SIRA,SIRA)
clauses
cozum():-
kisitlar(Renkler,Icecekl
aday(Renkler,Icecekler,U
uye(ev(balik,BalikEvi),H
uye(ev(BalikBesleyen,Bal
write("Balik ",BalikBesleyen," tarafindan besleniyor\n").
aday(L1,L2,L3,L4,L5):-
perm(L1),
perm(L2),
perm(L3),
perm(L4),
perm(L5).
perm([ev(_,A),ev(_,B),ev(_,C),
permutasyon([A,B,C,D,E],
kisitlar(Renkler,Icecekler,Uyr
% Ingiliz kirmizi evde oturuyor
uye(ev(ingiliz EV),Uyruklar),
uye(ev(kirmizi, EV1),Renkler),
% isvecli kopek besliyor
uye(ev(isvecli, EV2),Uyruklar),
uye(ev(kopek, EV2),Hayvanlar),
% danimarkali cay iciyor
uye(ev(danimarkali, EV3),Uyruklar),
uye(ev(cay, EV3),Icecekler),
% Beyaz evin solunda yesil ev var.
uye(ev(yesil, EV4),Renkler),
solunda(EV5, EV4),
uye(ev(beyaz, EV5),Renkler),
% yesil evin sahibi kahve iciyor
uye(ev(kahve, EV6),Icecekler),
uye(ev(yesil, EV6),Renkler),
% Kus bakan kisi PallMall marka sigara iciyor
uye(ev(pallMall, EV7),Sigaralar),
uye(ev(kus, EV7),Hayvanlar),
% Sari evin sahibi Dunhill marka sigara iciyor
uye(ev(dunhill, EV8),Sigaralar),
uye(ev(sari, EV8),Renkler),
% Tam merkezde oturan kisi sut iciyor
uye(ev(sut,3),Icecekler)
% Ilk siradaki evde Norvecli oturuyor
uye(ev(norvecli,1),Uyruk
% Kedi besleyen kisinin evinin yanındaki evde
%oturan kisi Blend marka sigara içiyor.
uye(ev(blend, EV9),Sigaralar),
yaninda(EV9, EV10),
uye(ev(kedi, EV10),Hayvanlar),
% Dunhill marka sigara içen kisinin evinin yanindaki evde oturan kisi at besliyor.
uye(ev(dunhill, EV11),Sigaralar),
yaninda(EV11, EV12),
uye(ev(at, EV12),Hayvanlar),
% Bluemaster marka sigara icen ayni zamanda meyve suyu iciyor
uye(ev(bluemaster, EV13),Sigaralar),
uye(ev(orange_juice, EV13),Icecekler),
% Alman Prince marka sigara iciyor
uye(ev(alman, EV14),Uyruklar),
uye(ev(prince, EV14),Sigaralar),
% mavi evin yanındaki evde oturan norvecli
uye(ev(norvecli, EV15),Uyruklar),
yaninda(EV15, EV16),
uye(ev(mavi, EV16),Renkler).
permutasyon([],[]).
permutasyon([A|X],Y):-
sil(A,Y,Y1),
permutasyon(X,Y1).
sil(A,[A|X],X).
sil(A,[B|X],[B|Y]):-
sil(A,X,Y).
uye(A,[A|_]):-!.
uye(A,[_|X]):-
uye(A,X).
yaninda(X,Y):-
solunda(X,Y).
yaninda(X,Y):-
solunda(Y,X).
solunda(1,2).
solunda(2,3).
solunda(3,4).
solunda(4,5).
goal
cozum.Üstteki kod için bazı açıklamalar:
- uye(EV,EVLISTE): Renk,İçecek gibi alanlarla belirlenmiş bir ev listesinde(EVLİSTE) ilk parametre olarak verilen evin(EV) bulunup bulunmadığına bakıyor.
- permutasyon(SIRALISTE,SIRALIST
E ):Dizilebilecek her türlü kombinasyonu yapar.
- sil(SIRA,SIRALISTE,SIRALISTE):ilk parametreyle verilen değişkenin 2. parametredeki listeden silinip 3. parametre olarak verilmesini sağlar.
Hiçbir şey ifade etmiyor mu? Tamam, prolog'ta temel bir kaç şeye daha değineğim o zaman.
Prolog bildirimsel(declarative) bir dildir. Yani bir olguyu bildirmemiz gerek. Örnek olarak hava güneşli diyeceksek gunesli. dememiz yeterli.
Eğer olgumuz, gerçeğimiz(fact) bir parametre içeriyorsa örneğin "Dünya yuvarlaktır", diyeceksek, yuvarlak yüklemini dünya öznesini-parametresini- kullanarak şu şekilde belirtiriz: yuvarlak(dünya).
Peki iki parametreli bir olguyu nasıl anlatabiliriz? Diyelim ki "Emre İlker'in abisidir" olgusunu bildireceğiz. Şöyle yapmamız gerekirdi. abi(emre,ilker).
Tüm bunları insanın düşünce tarzına benzer şekilde tanımlıyoruz. Hatta cümlenin sonuna nokta da koyuyoruz.
Dikkat ettiyseniz parametreleri küçük harfle yazdık. Çünkü büyük harfle yazdığımızda onu değişken(variable) olarak algılıyor. Kim Emre'nin kardeşidir sorusu için, abi(emre,Kim). dememiz gerekir.
Olguları bildirmenin dışında kurallar dediğimiz cümlecikler de vardır. Burada önemli olan :- işaretinin eğer anlamına geldiğini bilmektir. Bunu kullanarak kurallar yazarız. Örneğin Emre'den büyük olan İlker'den de büyüktür.
buyuk(Buyuk,ilker):-buyuk(Buyuk,emre).
Prolog'da ,(virgül) "ve" anlamına gelirken ;(noktalı virgül) "veya" anlamına gelir. % (yüzde işareti) kod dışı yazılar için kullanılır.
Son olarak Liste denilen kavramdan bahsetmemek olmaz. Tanımlanırken, nelerden oluştuğunu gösteren türden sonra * koyularak belirtilir. Liste dizilere benzer. Bu dizinin ilk elemanı başı(header) kalan elemanlar da kuyruğudur(tail). [bas|kuyruk] olarak gösterilebilir.
Kaynaklar:
Kısa bir Prolog Öğretici
Visual Prolog'a Giriş
Dostum
Denizlerde gezen düşüncelerimi anlayamazsın, zaten anlamanı da istemem. bırak denizimle başbaşa kalayım. Senin için gündüz olduğu zaman dostum, benim için gecedir: böyle olsa da ben yeşil tepelere değerek oynayan öyle vaktini, vadiden süzülen mor gölgeleri anlatırım; çünkü sen ne karanlığımın türkülerini duyabilir, Ne de yıldızlara çarpan kanatlarımı görebilirsin-görmemenden, duymamandan hoşnutum ben. Bırak gecemle başbaşa kalayım.
Sen cennetine yükselirken ben cehennemime inerim - o zaman bile bu ulaşılmaz uçurumu ötesinden bana seslenirsin, 'arkadaşım, yoldaşım' ben de sana seslenirim, 'yoldaşım, arkadaşım' - çünkü cehennemimi görmeni istemem. Alevler görüşünü yakacak, duman burnuna dolacaktı. Senin gelmeni istemeyecek kadar çok severim cehennemimi. Bırak, cehennemimle başbaşa kalayım.
Sen gerçeği, güzeli, doğruluğu seversin; ben de sen hoşnut olasın diye bunları sevmenin yerinde ve iyi olduğunu söylerim ama içimden senin sevgine gülerim. Gene de gülüşümü göresin istemem. Bırak kahkahalarımla başbaşa kalayım.
Dostum, sen iyi, ihtiyatlı, akıllısın; hayır sen eksiksizsin - ben de seninle ölçülü ve düşünerek konuşurum. Oysa ben deliyim. Ama gizliyorum deliliğimi. Bırak deliliğimle başbaşa kalayım.
Dostum, sen benim dostum değilsin, ama ben bunu sana nasıl anlatacağım? Benim yolum senin yolun değil, gene de birlikte yürüyoruz elele.
Halil Cibran
Fakirlik
Günümüzde milyonlarca insan Afrika'da veya dünyanın diğer geri bıraktırılmış bölgelerinde açlıktan, ilaçsızlıktan ölüyor. Dünyanın büyük bir kısmında insanlar fakirlik üst sınırı denilen bir gelirden mahrum bir şekilde yaşıyorlar. Milyonlarca insan ölüme doğuyor, hayatında çikolata, sinema, tiyatro nedir bilmeden ölüyor.
Dünyanın başka bölgelerinde ise insanların en büyük derdi göz kenarlarında yaşanan kırışıklıklar için çıkmış olan yeni kremi denemekten, son model cipin fiyatının biraz yüksek olmasından (buna rağmen alacaktır), dünyanın başka yerindeki hiç bir işe yaramayan aç insanlardan duyduğu tiksintiden ibaret. Bir uçurum söz konusu dünyada yaşayan insanlar arasında (bu uçurumu da sömüren-sömürülen ilişkisi belirliyor bazıları kabul etmese de). İnsanın, insan olarak yaşamını sürdürebilmesi için en düşük gereksinimini oluşturan gıda, sağlık, eğitim gibi ihtiyaçlarının en temeli gıdanın bile karşılanamadığı insanların yanında, anlamsız tüketim çılgınlığına yakalanmış insanların olduğu bir dünyadan bahsediyoruz. Bir kısım insanın başka insanların saçma zevkleri için günde 15-20 saat çalıştığı bir dünyadan bahsediyoruz. Evinde 3000 çift ayakkabı barındıran, her gün farklı bir kıyafet giymek için milyonlar harcayan, kozmetik harcamaları milyonlarca aç insanı doyuracak bir dünyadan bahsediyoruz. Biri fakirlik mi dedi? Elimizde değil ne de olsa çözmek değil mi, tanrının isteği.
Evet, dilediğimiz kadar çalışalım, para kazanalım, yaşamımızı mutlu bir şekilde sürdürelim. Dünyanın bir köşesinde fakir insanlar, sömürülen insanlar var. Onların varlığını inkar ederek, yok sayarak, sadece kendimizi tatmin etmek için thehungersite'de her gün bir kere tıklayarak bu fakirliğe-açlığa çözüm bulamayız. Ne mi yapmalıyız?
Açlığı, yoksulluğu, fakirliği, yoksunluğu önlemek için, ve büyük ustanın dediği gibi doymak için ekmeğe, kitaba, hürriyete mücadele etmeliyiz ne kadar küçük olsak ta bu büyük dünyada.
Açlık Ordusu Yürüyor / Nazım Hikmet Ran
Açlık ordusu yürüyor
yürüyor ekmeğe doymak için
ete doymak için
kitaba doymak için
hürriyete doymak için.
Yürüyor köprüler geçerek kıldan ince kılıçtan keskin
yürüyor demir kapıları yırtıp kale duvarlarını yıkarak
yürüyor ayakları kan içinde.
Açlık ordusu yürüyor
adımları gök gürültüsü
türküleri ateşten
bayrağında umut
umutların umudu bayrağında.
Açlık ordusu yürüyor
şehirleri omuzlarında taşıyıp
daracık sokakları karanlık evleriyle şehirleri
fabrika bacalarını
paydostan sonralarının tükenmez yorgunluğunu taşıyarak.
Açlık ordusu yürüyor
ayı ini köyleri ardınca çekip götürüp
ve topraksızlıktan ölenleri bu koskoca toprakta.
Açlık ordusu yürüyor
yürüyor ekmeksizleri ekmeğe doyurmak için
hürriyetsizleri hürriyete doyurmak için açlık ordusu yürüyor
yürüyor ayakları kan içinde.
İnsan Pazarı / Hasan Hüseyin Korkmazgil
gondulardan gelmişik
açlık nedir bilmişik
aman ağbey yaman ağbey
gör bizi
sabahın seherinde sıcak yataktan
kopmuşuk da gelmişik bu güvenpark'a
gelmişik de birikmişik bu güvenpark'ta
'angara angara güzel angara'
aman ağbey yaman ağbey
gör bizi
çorum'lardan suvas'lardan oluruk
çangırı'dan ezirgan'dan gelirik
gırşeher'den yozgat'tanık vallaha
anşe'lerik fatma'larık gülüzar'larık
güllü'lerik hatçe'lerik ağbeyim
açlık nedir bilirik
hele sen bir al bizi
hele sen bir olur de
biz her işi görürük
cam silerik parıl parıl
halı kilim silkerik
ağartırık gap-gacağı
aş da yaparık
çamaşır dikiş nakış
yatak da gabartırık
süpürürük tertemiz
gül-gülüstan ederik
bakma öyle kibir kibir ağbeyim
bakma öyle horgörük
hele sen bir olur de
hele sen bir al bizi
hele sen bir goku sür
sultan olur sekerik
açlığın dini olmaz ağbeyim
yoksulluğun vatanı
kör olasın gahpe devran
biz açlığı bilirik
güvenpark'ta bir anıt var
gördün mü
aha böyle yamrı yumru bir daşdan
bildin mi
yazıyo ki o anıtta ağbeyim
'övün çalış güven türk'
garga bokun yememiş
it deşmemiş çöplüğü
biz gelirik gondulardan ağbeyim
aha orda bekleşirik
beklerik ki gelsinler
bizi ordan alsınlar
yap desinler aha şunu
yap desinler aha bunu
üşenmezik erinmezik
biz her işi görürük
yeter ki gelsin epmek
yeter ki brakmasın bu can bu teni
türkük diye övünüyok ağbeyim
açlık türkü bilmiyo ki
varak diyok iş üstüne
çağır çağır gelmiyo ki
çalışsak da güvensek da ağbeyim
övünsek da olma mı
anam sayrı üç yıldır
babam işsiz ağbeyim
gardaşlarım daha güççük
daha suçsuz ağbeyim
birileri gelse de alsa ya beni
yuğsam da arıtsam ya kirlilerini
dersim'lerden suvas'lardan oluruk
gıtlıklardan gıyımlardan gelirik
erinmezik üşenmezik ağbeyim
biz açlığı bilirik
güvenpark'ta o anıta
selam saygı ederik
Röportaj: Mühendis sen kimsin?
"BSA : Bilişim Sektörünün Azraili"
Oracle plsql ile iç içe kontroller (nested case) ve Rownum kullanımı
SELECT
CASE
WHEN nvl(musteri.sigortatipi, 0) != 0 THEN --ilgili musterinin sigortası varsa
(select sum(sigorta.odenentutar)
from tblsigorta sigorta
on musteri.musteriNo = sigorta.musteriNo
and sigorta.tip = musteri.sigortatipi)
WHEN nvl(musteri.teminat, 0) != 0 THEN --ilgili musterinin teminatı varsa
(case
when teminat.tur = 1 then
sum(teminat.tutar)
when teminat.tur = 2 then
sum(teminat.tutar) + sum(teminat.odenmisler)
else
0
end) END "ToplamOdenebilirTutar"
FROM tblmusteri musteri
INNER JOIN tblteminat teminat ON musteri.musteriNo = teminat.musteriNo
Rownum kullanımı:
T-SQL de "SELECT TOP n" ifadesi ile bir veri kümesinin ilk n kaydını çekebiliriz. PLSQL de ise bunun için "ROWNUM = n" ifadesinden yararlanmak gerekir. Aşağıdaki örnekte 2 nolu sınıftaki en küçük numaralı öğrenciyi çeken cümleyi görebiliriz.
SELECT ogr.adi FROM ogrenci ogr WHERE ROWNUM = 1 AND ogr.sinif = 2 ORDER BY ogr.ogrencino ASC;
Buna alternatif olarak MIN() ve GROUP BY ifadeleri ile de aynı sonuca ulaşabilirdik:
SELECT MIN(ogr.ogrencino), ogr.adi FROM ogrenci ogr WHERE ogr.sinif = 2 GROUP BY ogr.adi
En iyi arama motoru
Deneyelim:
Ask jeeves: http://www.ask.com/web?q=what+is+the+best+search+engine&search=search&qsrc=0&o=0&l=dir
Bağlama ve gitar akord etme
OpenStreetMaps
"OpenStreetMap dünyanın değiştirilebilir özgür bir haritası. Kullanıcılar tarafından oluşturuluyor. Dünyanın herhangi bir yerinden coğrafik veriyi kullanmanızı, görüntülemenizi ve değiştirmenizi sağlıyor."
Özgür Kültür - Lawrence Lessig
Lawrence Lessig tarafından OSCON 2002'de yapılan bir sunum. Telif haklarından, yaratıcılıktan ve telif haklarıyla ilişkisinden, telif haklarının avukatlarla, yasayla ve kongreyle ilgili olduğundan, vb. bir çok konudan bahseden bir sunum. Sonuç olarak bu telif hakkı savunucularına (bir bakıma kendi parasal girdilerini korumaya çalışan kişiler bunlar, ağırlıklı olarak avukatlar :) ) karşı özgür kültür savunucularının da bir şeyler yapması gerektiğini söylüyor bu sunum.
Kaynak : http://beyaztavsan.com/etkili_sunum_rehberi_1_giris/
Python bağlantıları
Paylaşmadan duramayacağım bir kaç Python bağlantısı:
MIT OpenCourseWare kapsamındaki A Gentle Introduction to Programming Using Python dersi
(Elektrik mühendisliği ve bilgisayar bilimleri derslerinin hepsine şu adresten ulaşabilirsiniz)
Üç adet python video ders bağlantısı içeren yazı
10 adet ücretsiz python kitabı bağlantısı içeren yazı
The A-Z of programming languages: Python
Neden Python?
Bana sıcak ve kolay geliyordan daha iyi bir cevabım yok :) Artık çoğu ufak programlama işlerimi Python ile yapmaya çalışıyorum. Ubuntu ve Debian içerisinde rahatlıkla çalıştırabildiğim için sorun da yaşamıyorum, yeni bir programlama dili de öğrenmiş oluyorum. Uzman olduğum programlama dilinin Java olduğunu düşünürsek Python ile çalışmak bir bakıma zihin jimnastiği de olmuş oluyor sanırım. Tabi asıl öğrenmek istediğim dil Lisp ne yalan söyleyeyim :S