28 Şubat 2010 Pazar

Beğendiğim Fotoğraflar

Neil Bygrave




Danny Green




Kaşmir'li Müslüman çocuk penceresinden askerlere taş atan protestocuları penceresinden izlerken.




Pakistanlı çocuk hasar görmüş okulunun penceresinden bakarken.




Kutupta muhteşem ışıklar




Fotoğraflar söze gerek bırakmadı

27 Şubat 2010 Cumartesi

Beğendiğim Fotoğraflar

Dünyanın en büyük aynası




Floppy disklerden sanat




Floppy disklerden sanat




David Slater
İngiliz Vahşi Hayat Fotoğraf Ödülleri derneği bu yıl yeniden açtığı yarışma öncesinden geçen yılın öne çıkan fotoğraflarını yayımladı.




Ben Hall




Danny Green

Beğendiğim Fotoğraflar

Hubble Uzya teleskopu tarafından çekilen bu fotoğrafta Doradus Nebulası içindeki yıldızlar birer elmas gibi parlıyor.




2010 Çin takvimine göre ‘Kedi Yılı’... Bu nedenle Avrupa Güney Gözlemevi, Dünya'dan 5 bin 500 ışık yılı uzaktaki ‘Kedi Pençesi Nebulası’nın ayrıntılı görüntüsünü yayınladı.




Dünyanın en büyük aynası




Dünyanın en büyük aynası




Dünyanın en büyük aynası




Dünyanın en büyük aynası

26 Şubat 2010 Cuma

Beğendiğim Fotoğraflar









Haiti yaraları sarmaya çalışıyor




Tayland'da bir fil Haiti depremi için yardım topluyor.




İki yetişkin erkek kaplan Tayland'daki Kaplan Tapınağı'nda bir havuzda oyun oynuyor.



Table Mountain Ulusal Parkı, Cape Town, Güney Afrika

Beğendiğim Fotoğraflar

Haiti yaraları sarmaya çalışıyor



Venus




Auschwitz-Birkenau toplama kampından hayatta kalanlar, kampın Sovyet askerlerince dağıtılmasını anmak ve serbest kalmanın 65. yılını kutlamak üzere Polonya'da biraraya geldi.



Tibilisi'de bebek toplu vaftiz sırasında vaftiz edilirken. Törende yaklaşık 500 bebek gürcü Ortodoks kilisesi tarafından Gürcistan'ın başlıca katedrali Kutsal Teslis'te vaftiz edildi.




Haiti, Port-au-Prince kampının dışarısındaki kilisede, pazar ayini sırasında kameraya bakarken. 7 şiddetindeki depremden 11 gün sonra, artçı depremler hala şehri sallarken, birçok Haiti'li çatlamış ve zarar görmüş evlerine dönmeye korkuyor. Yetkililer 1,5 milyon insanın evsiz kaldığını söylüyor.



Afgan çocuk Kabil'de topla oynarken.

25 Şubat 2010 Perşembe

Rüzgar Kamil Nükleere Karşı

Mario, Prince of Persia… Bildiğin tüm platform oyunlarını unut. Şimdi Rüzgâr Kâmil zamanı! E peki ama kim bu Rüzgâr Kâmil? O mahallemizin bıçkın delikanlısı, o çevreci, o yardımsever, o bilinçli, genç ve heyecanlı… O her şeyden önce dünyayı tehdit eden nükleer enerjiye karşı!

İşte karşında bu yılın en süper oyunu “Rüzgar Kamil Nükleere Karşı”! Dünyayı hep başkaları mı kurtaracak? Sıra sende. Rüzgar Kamil’le birlikte maceradan maceraya atıl, hopla, zıpla, eğlen… Eğlenirken dünyayı kurtar.

Hazır dünyayı kurtarmışken bir adım daha at: Henüz imzalamadıysan nükleer atıklara karşı imzanı at. Ben çoktan imza attım diyorsan oyunu arkadaşlarına da yolla, onlar da oynasın, onlar da imza atsın.

İyi olan kazansın!

Oyunu oyna!

23 Şubat 2010 Salı

CETURK - JAVA Teknolojileri Günü

java
CETURK olarak Gazi Üniversitesi Turkuaz Yazılım Topluluğu ile birlikte "JAVA Teknolojileri Günü" etkinliği düzenliyoruz.

Etkinlik konusu dahilinde JAVA dünyasındaki gelişmelerden ve sektörde Java'nın konumu ve geleceğine dair birçok bilgi konusunda sunumlar gerçekleştirelecektir.

Etkinliğe katılım her zamanki gibi ücretsizdir.Bu etkinliği sitesinde duyuran 2 kişiye kitap hediye edilecektir.

Kayıt işlemi için tıklayın.

Etkinlik Planı:
13:00 – 13:30 Olcay KÜK – Açılış Konuşması ve CETURK Tanıtımı
13:30 – 14:30 Mustafa Demir – Spring Web Services
14:45 – 15:45 Kenan Sevindik – JAVA, Kariyer ve Gelecek
16:00 – 17:00 Okan Kahraman – Mockito - Java Mocking Framework

Etkinliğe katılanlara sertifika verilecektir ve çekiliş ile 3 kişiye kitap hediye edilecektir.

Adres:
Mühendislik Fakültesi Akademi Salonu
Eti Mah. Yükseliş Sokak NO:5 MALTEPE/ANKARA
Tarih: 26 Şubat 2010 Cuma
Saat: 13:00- 17:00

Kayıt işlemi için tıklayın.

Etkinlik Duyurusu için:
Duyuru dosyalarını indirmek için tıklayın.

Etkinlik duyurunuzu gerçekleştirdiğinizde iletişim adresimizi kullanıp Adınız ve Soyadınız ile birlikte website adresinizi bize iletebilir ve kitap kazanma şansını elde edebilirsiniz.

Nükleerle yaşamaya hazır mısın?

26 Nisan’a kadar 1 milyon kişi olalım, hep beraber durduralım nükleeri...

Nükleer enerji, geçen 60 yıl içinde hiçbir soruna çözüm getiremedi. Güvenlik açıkları, atık sorunu, artan maliyet ve inşaat süreleri gibi birçok konuda milyarlarca dolar harcandı. Bunca yatırıma rağmen nükleer, dünyanın en kirli ve riskli enerji kaynağı olmaya devam ediyor. Aslında geçtiğimiz yüzyılın işe yaramaz teknolojileri arasında çoktan yerini almış olmalıydı. Oysa hâlâ birileri bize nükleer enerjiyi yeni, güvenli ve temiz bir enerji kaynağı olarak tanıtmaya çalışıyor...

Aklımızı çelmeye çalışanlara inat, biz nükleer enerjinin gerçekte ne anlama geldiğini biliyoruz: Çernobil’i, her yıl Sibirya'ya gönderilmek zorunda kalınan çözümsüz radyoaktif atıkları, 20 yıldan uzun süredir tamamlanamayan ve çok büyük ihtimalle harcanan milyarlara rağmen
tamamlanamayacak dünya üzerindeki 12 reaktörü biliyoruz. Şunu da biliyoruz: Türkiye'de bir nükleer santral kurulursa, sadece bizim ve çocuklarımızın değil, gelecek kuşakların da hayatlarını riske atacak. Üstelik bu, bizim ceplerimizden karşılanarak yapılacak.

Ben nükleer enerjiye karşıyım. Karşı çıkmak için hem kendi adıma, hem de gezegenimiz adına pek çok nedenim var.Vadettiği hiç birşeyi karşılamayan bu kirli, tehlikeli ve pahalı teknolojiyi finanse etmek istemiyorum. Ülkemde nükleer endüstrisinin yalanlarını dile getiren devlet yetkilileri, nükleer enerjinin faydalarını sıralayan eski kafalı bürokratlar
görmek istemiyorum.

http://nukleer.greenpeace.org/

İmza kampanyasına imza toplayarak destek verin...





Çernobil'in geçmişi, Türkiye'nin geleceği olmasın... from Greenpeace Akdeniz on Vimeo.

22 Şubat 2010 Pazartesi

Silly Sort

Silly Sort probleminin çözümünü ve programını paylaştım.
Soruya ulaşmak için tıklayınız. 2002 Problem H, Silly Sort

Algoritma Açıklaması:
Amaç sıralama yaparken minimum maliyet ile sıralamak.
Bu yüzden verilen sayılardan en küçük olanı ile yer değiştirme işlemini yapmak minimum olacaktır. Ayrıca verilen sayıların ilk adımda ve her adımda sıralı halde olacakları yerde olup olmadıkları önemlidir.

[8,1,2,4] -(9)- [1,8,2,4] -(10)- [1,2,8,4] -(12)- [1,2,4,8] (31)

[8,1,2,4] -(3)- [8,2,1,4] -(5)- [8,2,4,1] -(9)- [1,2,4,8] (17)

kaynak: 1

Silly Sort C Program

//silly sort program
#include<stdio.h>

typedef struct{ //this struct is for values and places of numbers
int value;
int place;
}node;

#define min(X,Y) ((X) < (Y) ? (X) : (Y)) //finds minimum

int sillysort(int ,int []);
void sort_by_value(int,node []);//selection sort

int main(){

int n,i,sayac=1,cas_e;
int seq[1000];

while(sayac!=0){
printf("\nEnter the number of items to be sorted: (n)");
scanf("%d",&n);

printf("\nEnter different numbers:(positive and less than 1000)\n");

for(i=0;i<n;i++){
printf("\nEnter %d. number:",i+1);
scanf("%d",&seq[i]);
}

printf("\nCase %d: %d\n",sayac,sillysort(n,seq));
sayac++;

printf("\nEnter 0 to terminate the input or enter 1 to continue: ");
scanf("%d",&cas_e);

if(cas_e==0)//for another case or to close the program
sayac=0;
}
return 0;
}


void sort_by_value(int m,node temp[]){//this is a basic selection sort

int i, j, mini, tmp,tmp1;
for (i=0; i<m-1; i++)
{
mini = i;
for (j=i+1; j<m; j++)
{
if (temp[j].value < temp[mini].value)
mini = j;
}
tmp = temp[i].value;//swap part for value and place
tmp1=temp[i].place;
temp[i].value = temp[mini].value;
temp[i].place = temp[mini].place;
temp[mini].value = tmp;
temp[mini].place=tmp1;
}
}

//SILLY SORT FUNCTION
int sillysort(int m,int seq[]){
int cost=0,s,i;
node nodes[1000],temp[1000];

/*initialize*/
for(i=0;i<m;i++){
temp[i].value=seq[i];//temp[] is only for sorting by value and
temp[i].place=i; //assigning sorted places to nodes[]
}

sort_by_value(m,temp);

for(i=0;i<m;i++){
nodes[i].value=seq[i];
nodes[temp[i].place].place=i;//place of number is adjusted with respect to "temp" array
}//we know where the numbers have to place

s=temp[0].value;

/*compute*/
for(i=0;i<m;i++){
int j=nodes[i].place;//j holds place

if(j>=0 && j!=i){
int n=1,amin,sum;
amin=sum=nodes[i].value;//amin and sum hold value
while(j!=i){

int next=nodes[j].place;//next holds place,too

if(nodes[j].value < amin)
amin=nodes[j].value;

sum+=nodes[j].value;
n++;
nodes[j].place=-1;//we show that we controled it
j=next;
}//end while
cost+=min(sum + (n-2)*amin,sum + amin+(n+1)*s);//determine min cost
}//end if
}//end for
return cost;}

20 Şubat 2010 Cumartesi

Bir ‘tık’la mobil uygulama yazmak

Android ve iPhone için mobil uygulaması yazmak artık sadece uzman programcıların yapabileceği birşey değil…

Günümüzde çok sayıda mobil uygulama olsa da, cep telefonu ekranları her zaman yenilikçi geliştiricilerin yeni fikirlerine hazır. Mükemmel bir uygulama için kendi fikriniz varsa, herkes için ya da sadece kendiniz için, şanslısınız çünkü artık bunu yapmak için uzman bir programcı olmanıza gerek yok. Şimdi Web’de kodlama yerine tıklamayla hayatınıza kendi konseptinizi getirmenize izin veren uygulama geliştirme araçları var. İncelemek için önceden hazırlanmış mobil uygulama örneklerini indirebilirsiniz; PhoneGap aracı ile geliştirilen strateji oyunu Inside Trader ya da MobileRoadie.com da yapılan Spinal Tap iPhone uygulaması. En iyi uygulama geliştirme seçenekleri verebileceğiniz para miktarına, istediğiniz platforma (iPhone, BlackBerry veya Android) ve istediğiniz fonksiyonlara göre değişiyor. Bazıları sizin için uygulama sunma işlemini de idare ediyor. Doğru aracı seçmek için aşağıdaki sitelere bir göz atın:

KENDİ MOBİL UYGULAMANI YAP


Basit: Uygulama Geliştirme Sitesi

MOBILE ROADIE (mobileroadie.com)
Fiyat: $500, artı $29/aylık
Platform: iPhone
İlk başta bantlar için tasarlandı. Mobile Roadie, uygulamanıza haber, görüntü ve müzik yayınlamanıza izin verir ve online mağazalara bağlanabilir.

SWEBAPPS (swebapps.com)
Fiyat: $200–$400, artı $25/aylık
Platform: iPhone
“Events” ve “Portfolio” özellikleri ile 4, 6 ya da 8 butonlu uygulamalar yapar. Hazır olduğunda, Swebapps onu App Store’ a sunar.


Orta: Uygulama Kalıpları

APPBREEDER (appbreeder.com)
Fiyat: $95, artı $0–$60/aylık
Platform: Android, BlackBerry, iPhone
10 kalıp artı bir custom seçeneği sunar,
AppBreeder; e-mail,coğrafi konum ve görüntü seçenekleriyle uygulamalarınızı yapmaya,düzenlemeye ve yayınlamaya izin verir

MYAPPBUILDER (myappbuilder.com)
Fiyat: $20, artı $29/ aylık
Platform: iPhone
MyAppBuilder 8 farklı kalıbı kullanarak e-book, müzik, RSS, Twitter ve video içeriğinizi yayınlamaya izin verir.


Gelişmiş: Uygulama Paketleri(Wrapper)

PHONEGAP (phonegap.com)
Fiyat: ücretsiz
Platform: Android, BlackBerry, iPhone
PhoneGap, HTML, CSS ve JavaScript gibi var olan web tabanlı uygulamaları, ilginç mobil uygulamaları içine ve aynı anda çeşitli platformlar için, yeniden tasarlama imkanı verir.
Diğerlerinden farklı olarak, bu bir sürükle-bırak araçlarından değildir, uygulamanızın hatalarını ayıklamalı, düzeltmeli ve sunma(gönderme) işlemini kendiniz yapmalısınız.


Kaynak: 1

18 Şubat 2010 Perşembe

"Doğa"l Gelişmeler

Olumlu ve olumsuz o kadar çok şey okudumki doğayı ilgilendiren, gözüme çarpanlardan kısa kısa bahsetmek istedim...

Belki siz duymuşsunuzdur ama ben geçenlerde bir haber okudum:"Güneş enerjisiyle çalışan stadyum". Bu stadyum Tayvan'da. Çatısı güneş pilleriyle kaplanmış. 8844 güneş pili kullanılmış.Statta maç olmadığı zamanlar elde edilen enerji şehir şebekesine aktarılıyor.Böylece stat, çevresi için bir elektrik santrali oluyor. 1,14 milyon kilovat saat enerji üretimi kapasitesine sahip ve 660 ton karbondioksitin doğaya salınmasına engel olacak.


Diğer bir haber sulak alanlar. Durum o kadar vahim ki bu yönden iyi bir konumda olan ülkemiz bu şansı yitirmek için yarışıyor.40 yılda sulak alanlarının yarısını kaybetmişiz.Bu yüzden ülkemizin izleyeceği su politikası çok önemli.Sulak alanlar ekolojik ve biyolojik değere sahip,birçok canlıya ev sahipliği yapıyor,içme suyu sağlıyor.


Şimdi de WWF Türkiye'den bir gezi önerisi:Suların içinden yükselen orman Acarlar Longozu.
İstanbul' dan arabayla iki saat.Doğanın bütün güzelliklerini hissedebileceğiniz bir yer.Kelimelerle öyle güzel anlatılmış ki aslında huzur bulmak için bu tatil zamanında tam gidilecek yer...


Bir diğer önemli konu plastiklerin çevreye verdiği zarar.Plastik atıklar toprakta 100 yıl korunuyor. Bunlar bakteriler tarafından da ayrıştırılmıyor.Bu yüzden plastik atıklar çevre kirlenmesine neden olacak ve toprakta yaşayan canlıları olumsuz etkileyecektir.Burada en önemli şey geri dönüşüm bilincini kazanmaktır. İnsanlar plastik atıkları çöpe atmak yerine geri dönüşüm için biriktirmelidir.Ya da plastik maddeleri uzun süre kullanılacak işler için kullanmak.


Önemli haberlerden biri de buzulların erimesiyle birlikte metan gazının 5 yıl içinde üçte bir oranında artması.Örneğin Kuzey Kutbu,milyarlarca ton metan gazını içinde tutan buzullarla kaplı.Metan gazı ise, karbondioksitten daha tehlikeli bir sera gazı. Bu nedenle, Kuzey Kutbu buzullarının erimesi, iklim değişikliğini durdurma çabalarını bir anda etkisiz hale getirebilecek kadar tehlikeli.Bilim adamlarının korktuğu bir konu daha var. Metan gazı salımının artışı nedeniyle artan sıcaklıklar, daha da çok metan gazı salımına sebep olacak. Bu da tüm bölgeyi yıkıcı bir geri beslemeli döngüye sokabilir.


Ocak ayında yürürlüğe giren yeni AB “Piller Direktifi” de bahsetmeye değer.Direktif, atık tesislerinde yakılarak ya da toplanarak çevreyi kirleten binlerce ton zehirli atıkla mücadele etmek için hazırlandı.Avrupa Çevre Ajansı’na göre, yeni kurallar pil üreten, depolayan, kullanan, temin eden ve aynı zamanda tasarımını yapan ve imal eden her sektörü etkileyecek.Tüketiciler ise cep telefonu pillerinden, işitme cihazı ve saat pillerine AA hücreli tüm pilleri evde, sokakta geri dönüşümlü çöp kutularında ve diğer geri dönüşüm noktalarında ayrıştırarak atacak.
Direktifin en önemli amacı, pilleri atık alanlarından uzakta ayırarak cıva ve kadmiyum gibi metallerin çevreye karışmasını engellemek.


En önemli haberlerden biri Türkiye'ye kurulması planlanan HES(hidro elektrik santraller)...Bence burada öncelikle düşünülmesi gereken neden bu santraller bölge halkı tarafından istenmiyor.Biraz empati yaparsak devletin yıllardır içinde yaşadığınız doğal güzellikleri bilinçsizce katletmesine karşı çığlık atmak kadar normal birşey yok.Tabii ki enerji elde etmek için hidro elektrik santraller olumlu ama bunu inşa etmek için doğanın güzelliklerini yok etmek kabul edilemez.


İspanya' da yapılan güneş enerjisi ile ilgili çalışmalar da dikkate değer...

17 Şubat 2010 Çarşamba

köprü altındaki adam kitap okuyor

hiç sevmediğimiz halde yapmak zorunda bırakıldıklarımız...nedense aklıma ilk öss geldi böyle diyince. hangimiz seçim hakkı olsaydı bu sınava kısa ömrün bir yılını feda etmeyi seçerdi ki...

ama sorun bundan daha öte de bir yerlerde saklanıyor. geçenlerde bana göründü ve kayboldu.
hafta sonu küçük bir yolculuk sırasında. binmeyi hiç istemediğim o tramvaydan baktım dünyaya daha doğrusu tramvaydaki mahluklardan kaçmak için ruhumu dışarı attım.

işte tam bu anda dışarı fırlayan ruhum ona çarptı.defalarca geçtiğim halde görememişim köprünün sakladığı adamı.saklambaç oynamayı unutmuşum,ondan olsa gerek körlüğüm...

bakanların göremediği adam birşeyler mırıldanıyor. aynı benim gibi.ben kalabalığı oluşturan insanlara küfrediyorum.o ise iki gün önce yemek artıklarını aldığı lokantanın sahibine,yüzündeki renk değişiminin nedeni de o adam olmalı.

sonra düşünüyorum,evet, evet doğru gördüm.köprü altındaki adam kitap okuyor,mırıldanmaların nedeni bu olmalı.acaba ne olaki?nereden bulmuş o kitabı?
işte tam bunları düşünürken ruhumu özleyen bedenim de kendini dışarı atıyor.soğuk bir rüzgar yüzünden bedenim tereddütte kaldı ama yine de memnun çünkü yalnız.kalabalık gitti.

şimdi dünyam karşıdaki adama kaldı.gidip konuşsam? evet yapacağım.

bir baktım ki yanındayım.meğer köprü ne kadar sıcak tutarmış insanı.elindeki kitabın ismine gözlerim kayıyor ilk olarak.kitabın kapağı yok.bu bana belki de kitabın isminin önemli olmadığını söylüyor.
adamı dikkatle inceliyorum ama onun buna itirazı yok.hiçbir harekette bulunmuyor ve ben de kendime sinir oluyorum tramvaydan indiğim için.ama vazgeçmek yok,konuşuyorum onunla ama cevap yok.
sonra, sonra birşey dikkatimi çekiyor adam mırıldanmıyor.bu soğuk havada ağzından buhar çıkmıyor,bunun tek bi nedeni olabilir ama buna inanacak kadar cesaretli değilim.
bırakıp gitmek istiyorum,uyuduğunu farzedip çekip gitmek,ama sanki onun tek yakını, sahibi benmişim gibi hissediyorum,gerçeklerden kaçamayacağımı biliyorum ve ona dokunuyorum ve o düşüyor ve ben damlıyorum toprağa gözyaşlarıyla.onun burnu toprağı kokluyor ve ben donuyorum bi anda.
tam o sırada meraklı biri arkamdan bağırıyor."yaklaşma ona, bit kaparsın"

keşke,keşke binmeseydim tramvaya.evet bütün suç tramvayın...

o gün, bir hastahanede bitiyor benim için.adam soğuktan ölmemiş ama öleli iki gün olmuş.mırıldanan kimdi o zaman?
eşyalarını bana veriyorlar.
kapağı olmayan kitabı da tabi.
ön yazı bana tanıdık geliyor.
ve anlıyorum.

köprü altındaki adam kitap okuyor.
köprü altında yaşayan adam, benim kitabımı okuyor...

herşey olma çabası

ailemizin direği, ablamızın koruyucusu, dostumuzun sırdaşı, yoldan geçen adamın hiçbirşeyi...
kaç parçaya böldük kendimizi?

en baştan başlamak lazım. önce bebek olduk,dert yoktu ne iyi bir başlangıçtı.

sonra önümüze okul koydular.bir sürü arkadaşımız oldu.ama onlarda olan herşey bizde de olmalıydı.artık okulda başarılı bir öğrenci olmalıydık.

tabi bir de her zaman ailemize iyi bir evlat olmak var.bu hiç değişmez,ölene kadar böyle olmalıyız.en zorlarından biri bu idi. çünkü her zaman çatıştık onlarla.biz onları onlar bizi beğenmedi uzun bi süre.sonra biz de olunca anne baba, anladığımızı sandık ama bir baktık ki onlar yaşlanmış ve biz yine çatışıyoruz.

okulun ilerleyen yıllarında bir sürü şey olmaya devam ettik. tabi en önemlilerinden biri sevgili olduk. biri bitse diğerine başladık.sanırım bizi en mutlu eden birşey olmak sevmek idi.bu yüzden hiç vazgeçemeyeceğiz sevgili olmaktan.

en kötüsü ise acı olmaktı. hepimiz farklı yollardan defalarca acı olduk. üç günlük dünyada nedense en çok acı olmayı seçtik.ve her defasında acıyı yok etmek için acı çektik.şimdi bu acılara o kadar değer veriyoruz ki bütün acı hallerimizi ruhumuzun en özel yerlerinde taşıyoruz.elbet bir gün bir peri gelip ruhun o kısmını tamir eder diye..

arkadaş olmak var bir de.bu şeyin en önemli özelliği tamamen kendi seçimimiz olması ve istediğimiz zaman bu şeyi yok edebiliyoruz.ama en güzel anlar bu şeylerde saklı oluyor.

yaşamaya başlayacağım en son şey ise çalışan olmak.şimdi ben ne yapacağım ömrümün sonuna kadar?belki de çok ileriyi düşünmemeli.

belki uzun yıllardır bir şey olmaktan bıktım.
ne olursa olsun sevdiğimin olamadıktan sonra bir şey olmak istemiyorum belki de.
ya da deli çağımı atlatıyorum erkenden.

garip,
acaba insan ne zaman savaşmaktan vazgeçip,
bir şey olmaktan vazgeçip,
önüne geleni yaşamayı seçiyor?

Herkes biriydi ve herkes daha çok biri olmak için uğraşıyordu. Bir isim etiketi olarak hayata yerleştirmeye çalışıyorlardı kendilerini.Önce havalı, sonra mümkünse ürkütücü bir yaka kartına dönüşmeye çabalıyorlardı var güçleriyle.Kulağını ruhlarına dayasa pişen etlerinin cızırtısını duyacak gibiydi.Kariyerlerinin ağır ateşinde öyle pişeceklerdi, bir gün o kadar önemli olacaklardı ki,sonunda soyları boyunca kendilerine yapılmış yatırımın onlarla son bulmuş olmasına değecekti.
İnsanın bu kadar kıymetli olmasında
, öyle sayılmasında bir yanlışlık vardı.İnsanı ezen bir şiddet.Hiç kimse olmama konforu yoktu.Herkes birbirinde ya da hayat içinde eriyemeyecek kadar katı haldeydi.
(ece temelkuran - muz sesleri)

15 Şubat 2010 Pazartesi

SHANK Algoritması

#include<stdio.h>
#include<math.h> //ceil ve sqrt için
#define M 1000

int hizli(int,int,int);//üslü sayıların modunu almak için hızlı modüler üs algoritmasını kullandım
int modInverse(int , int ); //bi sayının moda göre tersini alır
int L1[M];//1. liste
int L2[M];//2. liste
int dizi_i[M];
int dizi_j[M];

int main(){

printf("\n a^x = b mod p isleminde verilen a, b ve p degerleri icin ");
printf("x' in hesaplanmasi\n\n");

int a,b,p,i,j,m,sayac=0;

printf("\na degerini giriniz:");//taban(alfa)
scanf("%d",&a);
printf("\nb degerini giriniz:");//(beta)
scanf("%d",&b);
printf("\np degerini giriniz:");//mod
scanf("%d",&p);

m=(int)ceil(sqrt(p-1));

for(j=0;j<m;j++) //a^(m*j)
L1[j]=hizli(a,m*j,p);

for(i=0;i<m;i++) //önce a^i hesaplanır,daha sonra bunun mod p' ye göre tersi alınır
L2[i]=(b*modInverse(hizli(a,i,p),p))%p; //b ile çarpılır ve mod p yapılır

for(i=0;i<m;i++) //iki listeyi karşılaştırıyor
for(j=0;j<m;j++)
if(L2[i]==L1[j]){
dizi_i[sayac]=i;
dizi_j[sayac]=j;
sayac++;
}

printf("\nj=%d i=%d\n",dizi_j[0],dizi_i[0]);
//for(i=0;i<m;i++)
printf("\nx=%d\n",(m*dizi_j[0]+dizi_i[0])%(p-1));

return 0;
}


int modInverse(int a, int n) {

int mod = n; //son adımda mod bize lazım olacak
int ters = 0, d = 1; //eğer tersi yoksa 0 döndürecek

while (a>0) { //pozitif olmalı tersi bulunması için
int bolum = mod/a, sayi = a;
a = mod % sayi; //kalanı atıyoruz
mod = sayi;
sayi = d;
d = ters - bolum*sayi;
ters = sayi;
}
ters %= n;
if (ters<0) //eğer negatifse o moda göre pozitif eşitini buluyor
ters = (ters+n)%n;
return ters;
}


int hizli(int a,int b,int m){//taban , üs ve mod değişkeni

int c=0, d=1, i, k=0;//k sayaç
int on;
int binary[100];//üssün ikili karşılığı

on=b; //b yi ikiliye çevir binary[] dizisine ata,rakam sayısını k ya ata
while (on>0)
{
binary[k]=on % 2;
on = on / 2;
k++;
}

for(i=0;i<k;i++){//hızlı üs alma algoritması

c=2*c;
d=(d*d)%m;

if(binary[k-1-i]==1){
c++;
d=(d*a)%m;
}
}
return d;
}

PRİMİTİF KÖK BULMA

#include<stdio.h>

#define P 1000

int asalkontrol(int); //girilecek p değerinin asallığını kontrol eder
int us_alma(int ,int ); //n değerinin p' ye kadar olan üslerini alır
int primitif[P]; //us değerleri tutulur

int main(){

int p,n,a=0,us,i,j,sayac;


printf("\n\nPRIMITIF KOK BULMA PROGRAMI\n\n");

while(a==0){ //p değeri kullanıcıdan alınır
printf("\np asal sayisini giriniz:");
scanf("%d",&p);
a=asalkontrol(p); //p asal olmalı, kontrol edilir
}

for(n=1;n<p;n++) //n değeri, 1' den p' ye kadar olan sayılardır
{
sayac=0; //us değerlerinin eşit olup olmadığına bakar

for(us=1;us<p;us++) //n değerinin 1' den p' ye kadar usleri alınır
primitif[us-1]=(us_alma(us,n))%p; //ussu alınan sayı mod p işleminden geçerek diziye atılır

for(i=0;i<p-1;i++) //eşitlik kontrol edilir,eşitlik varsa primitif kok yoktur
for(j=i+1;j<p;j++) //son kontrole(p-1) gerek yok
if(primitif[i]==primitif[j])
sayac++;

if(sayac==0){
printf("\n%d icin Primitif kok bulundu!!!\n",n);


for(i=1;i<p;i++) //primitif kok olan modu alınan us değerlerini ekrana yazar
printf("\n %d^%d = %d ",n,i,primitif[i-1]);

}//if sonu

if(sayac!=0)
printf("\n\n%d icin Primitif kok bulunamadi!!!\n",n);

}//for sonu

return 0;
}


int asalkontrol(int p){

int d=1,j;

for (j=2;j<p;j++) //p' ye kadar olan sayılardan herhangi birine tam bölünüyorsa
if (p%j==0) //asal değildir
d=0;

if (d==1)
return 1; //asal sayıdır
else{
printf("\n!!!!! p asal sayi olmali !!!!!\n");
return 0; //asal değildir
}

}


int us_alma(int us,int n){ //rekürsif; ilk değişken üs değeri, ikinci değişken taban

if (us==0)
return 1;
else
return (n*us_alma(us-1,n));
}


13 Şubat 2010 Cumartesi

Kim olduğunu zannediyorsun?

Ailenizin geçmişi hakkındaki sırları hiç merak ettiniz mi? Soyunuzun ünlü biriyle hatta sarayla ilişkili olabileceğini düşündünüz mü? Ya da sadece aileniz hakkında daha çok şey bilmek mi istiyorsunuz?

İşte bütün bunları sizin için yapan bir program var.

Who Do You Think You Are? 2004’ten beri BBC’de yayımlanan Britanya Soy Ağacı Belgesel Serisi’dir. Her hikayede, ünlü bir insan aile ağacının izinden bir yolculuğa çıkar. Şu ana kadar 7 seri yayınlandı, en yenisi Temmuz ve Ağustos 2009 da yayımlandı. Şov düzenli olarak 6 milyondan fazla seyirci çekiyor. Kanada, Avustralya, Amerika, İrlanda, Polonya, Güney Afrika, İsveç versiyonları da yapıldı.

Çok ilginç bir program.Kişilere de aile ağacını oluşturmada yardımcı olup rehberlik yapıyorlar. Bunun için kategorilere ayrılmış seçenekler var: Meslek, ordu, din, yabancı(deniz aşırı) ve diğer seçenekleri gibi.

Who Do You Think You Are? LIVE ile National Archives araştırmanıza yardımcı olmak ve ihtiyacınız olan kayıtları bulabilmek için iş birliği yapıyor. The National Archives, Birleşik Krallık yönetiminin resmi arşivi ve dünya üzerindeki en geniş kapsamlı arşivlerden biri. Ayrıca kayıtları dijital ortamda herkesin kullanımına sunmak için Ancestry.co.uk, findmypast.com, TheGenealogist.co.uk ve Genes Reunited ile işbirliği yapılmış.

Sitede her türlü ayrıntı var: Soy ağacı oluştururken nelere dikkat edilmeli, nasıl araştırılabilir, veri tabanları ve yararlı olacak siteler, makaleler verilmiş.Ayrıca şöyle bir adım izlenmesi söylenmiş:

1.Bilinen gerçeklerle ve geçmişe ait çalışmalarla başla-her yeni bilgi parçasının doğruluğunu orijinal kayıtlarla karşılaştır.

2. Her aşamada kaynakları dökümanla, bu bilgi ne olursa olsun.

3.Her zaman kayıt tut, faydasız gibi gözükse de-bu seni bir sonraki aşamada aynı hataları yapmaktan alıkoyar.

4.Kendi araştırmanı yap. Diğer kişilerden sana sağlanan bilgilerin doğru olduğunu düşünme ve her zaman bulduğun bilginin orijinalliğini kontrol et.

5. Diğerlerinin uzmanlığından faydalan. Bir duvara çarptığında, profesyonel organizasyonlardan, aile tarihi topluluklarından, Who Do You Think You Are? Magazine gibi özel yayınlardan yardım iste.

Buradan örnek olarak okuyabileceğiniz bir yapılan soy ağacı araştırması var.

Her türlü ayrıntı ve yapılması gerekenleri incelemek için buraya tıklayabilirsiniz.

Kendi aile ağacını oluşturmak için buradan deneyin.

Son program 26 şubat’ta “Tony Robinson” un soy ağacını araştıracak..

Kaynaklar: 1 , 2 , 3 , 4 , 5

12 Şubat 2010 Cuma

mahallenin kedileri uzun hava çekiyor

uzun zamandır sabah kalktığımda hava daha bir aydınlık.bunun nedeni de kar...

belki de son kez sahip olacağım en uzun tatillerden birinde beni arkadaşlarımla sohbetten mahrum bırakan, ruhumu ve bedenimi dört duvar arasına hapseden, "kıştan nefret ederim" diyen dostların bu çığlıklarına hakverdirten ve şehri istanbulda hayatı felç eden bir doğa olayı işte....

üstelik o kadar basit ki, iki hava karşılaşıyor yukarıda bir yerde ve kar oluşuyor. daha sonra bu kadar zahmeti hiçe sayarcasına yeryüzüne inip yok ediyor kendini milyonlarca kar tanesi. dışarı çıktığınızda saçınıza yıllar ekleyen bir kar tanesi vücudunuza karışmak için ne kadar yol almıştır hiç düşündünüz mü? ya da o kar tanesinin kulağınıza fısıldadığı cümleyi?

belki de kar tanelerinin görevi insanları kirlerinden ayırmak ve ruhu özgür bırakmaktır,ne dersiniz?
hadi ama, gülmeyin..bir sürü hikaye yazılabilir önemli olan hangisini seçtiğimiz ya da hikayeye olan inancımızdır.

yukarıdan gönderilen bir şeyin bütün herşeyi 'kapamak' istemesi başka nasıl açıklanabilir ki?
şu anda bile klavyeye vuran parmaklarım kar soğuğu karşısında yenik düşmekte,eklemlerim bana bağırıyor "çabuk elini ısıt yoksa büyüyemezsin"....

işte ben de bu yüzden bu yıl ilk kez elimi ısıtmak için kara gidiyorum ve insan olduğum için ilk kez kara dokunup onu da silah yapıyorum ve şaka olsun diye onu arkadaşıma fırlatıyorum...ve en düşündürücü olan da kar topu savaşından sonra eğlenmiş ve rahatlamış oluyoruz...

kar yağmasının en sevdiğim yanı doğanın bize hükmettiği gerçeğini bütün mahlukatlara hatırlatması...

bu duruma karşı koymak isteyen mahalle kedileri de sabah saatlerinde uzun hava söylüyorlar ve ben uyanıyorum...

dede

torunun doğuyor dede
güzel isminle büyüyor
yaşatıyor seni içinde
her adımda sana yaklaşıyor

canlanıyor her gece
rüyalarında arıyor seni
seslendiğinde duyulmuyor ses
biliyor aklı küçüğün

yine de vazgeçmiyor
ardın sıra deviriyor yaşları
arkada bıraktıklarınla
sürdürüyor yaşamı

bakıyor soğuk çerçevelere,
yoluyor otları korkarak
acıtıyor seni sanıyor,
suluyor konuşur diye topraklar

ara sıra sana kızıyor
gittin diye erkenden
hala çınlıyor ağıtlar
gözyaşları düşerken

söyleyecek çok şey varken
"gitmek neden?"
diye sormaz mı beden?
benim güzel dedem....

mc-->MC

11 Şubat 2010 Perşembe

Şifreleme-Deşifreleme Yapan Program

Kriptoloji dersinde gördüğüm 7 tane basit şifreleme algoritmasının C dili ile gerçekleyen programı ayrı ve birleşik olarak yazmıştım.Paylaşmak istedim.

Buradan programın birleşik halini indirebilirsiniz. Bu kod parçası hem şifreleme hem deşifreleme yapabilen bir program.


Şimdi ise 7 şifreleme çeşidinin ayrı ayrı yazılmış programlarını vericem.Bunlar sadece şifreleme...

shift cipher

#include <stdio.h>
#include <string.h>

#define SIZE 100

int main(){

int k,uzunluk,i,a;
char ptext[SIZE];//plaintext
char ctext[SIZE];//ciphertext
int intext[SIZE];//plaintext'in int karşılığı


printf("Sifrenelenecek metni giriniz:");//ptext i al,eleman sayısını bul
gets(ptext);//diziyi alıyoruz
uzunluk=strlen(ptext);//kaç karakter olduğunu buluyoruz

printf("\nAnahtari giriniz:");
scanf("%d",&k);

//ptext' inin içeriği int olmalı(ascıı)
for(i=0;i<uzunluk;i++)
intext[i]=ptext[i]-'a';
//printf("\n%d",intext[i]);


printf("\nshift cipher\n\n");

for(i=0;i<uzunluk;i++)
{
a=(k+intext[i])%26;
ctext[i]='a'+a;
printf("%c",ctext[i]);
}
printf("\n\n");

return 0;
}

substitution cipher

#include<stdio.h>
#include <string.h>

#define SIZE 10

int main(){

int uzunluk,i,j;
char ptext[SIZE];
char ktext[26];
char ctext[SIZE];

printf("Sifrenelenecek metni giriniz:");//ptext i al,eleman sayısını bul
gets(ptext);//diziyi alıyoruz
uzunluk=strlen(ptext);

printf("\nSirayla\n a b c d e f g h i j k l m n o p q r s t u v w x y z \nicin anahtar giriniz:");
gets(ktext);

//texti ara ,a varsa ilk ile değiştir
for(i=0;i<26;i++)
for(j=0;j<uzunluk;j++)
if(ptext[j]==('a'+i))
ctext[j]=ktext[i];

for(i=0;i<26;i++)
printf("%c",ktext[i]);
printf("\n");

printf("\nsubstitution cipher\n");

for(i=0;i<uzunluk;i++)
printf("%c",ctext[i]);
printf("\n");

return 0;
}

affine cipher

#include<stdio.h>
#include <string.h>

#define SIZE 10

int main(){

int uzunluk,i,a,b;
char ptext[SIZE];
char ctext[SIZE];
int intext[SIZE];

printf("Sifrenelenecek metni giriniz:");//ptext i al,eleman sayısını bul
gets(ptext);//diziyi alıyoruz
uzunluk=strlen(ptext);

//a ve b key değerlerini al
printf("\na degerini giriniz:");
scanf("%d",&a);
printf("\nb degerini giriniz:");
scanf("%d",&b);

int sayac=0,ks;//aralarında asla ise kontrol
if(a<26)
ks=a;
if(26<a) //küçük sayiyi bulduralım ki döngü daha az çalışsın.
ks=26;

for(i=2;i<=ks;++i)
if(a%i==0 && 26%i==0) //aralarında asal mı??
sayac=1;

if (sayac==0) {

for(i=0;i<uzunluk;i++){
intext[i]=ptext[i]-'a';
ctext[i]=((a*intext[i]+b)%26)+'a';}


printf("\naffine cipher\n");

for(i=0;i<uzunluk;i++)
printf("%c",ctext[i]);
printf("\n");

}
else
printf("\ngirdiginiz a ve 26 degeri aralarinda asal olmadigi icin bu yontemi kullanamazsiniz!!!!\n");

return 0;
}

vigenere cipher

#include<stdio.h>
#include <string.h>

#define SIZE 100

int main(){

int m,n,i,j;
char ptext[SIZE];
char ktext[SIZE];
char ctext[SIZE];
int intext[SIZE];
int intext1[SIZE];

printf("Sifrenelenecek metni giriniz:");//ptext i al,eleman sayısını bul
gets(ptext);//diziyi alıyoruz
n=strlen(ptext);

printf("Anahtari giriniz:");
gets(ktext);
m=strlen(ktext);

for(i=0;i<n;i++)
intext[i]=ptext[i]-'a';

for(i=0;i<m;i++)
intext1[i]=ktext[i]-'a';

if(m>=n)
for(i=0;i<n;i++)
ctext[i]=(intext[i]+intext1[i])%26+'a';

else if(m<n){
for(i=0;i<n;)
for(j=0;j<m;j++,i++)
ctext[i]=(intext[i]+intext1[j])%26+'a';
}

printf("\nvigenere cipher\n");

for(i=0;i<n;i++)
printf("%c",ctext[i]);
printf("\n");

return 0;
}

permutation cipher

#include<stdio.h>
#include <string.h>

#define SIZE 100

int main(){

int n,i,m,k,j;
char ptext[SIZE];
int ktext[SIZE];
char ctext[SIZE];

printf("Sifrenelenecek metni giriniz:");//ptext i al,eleman sayısını bul
gets(ptext);//diziyi alıyoruz
n=strlen(ptext);

printf("\nparca uzunlugunu giriniz:");
scanf("%d",&m);
printf("\npermutasyonu giriniz:");
for(i=0;i<m;i++){
printf("\n%d icin giriniz:",i+1);
scanf("%d",&ktext[i]);
}

k=0;
for(j=0;j<n/m;j++){
for(i=0;i<m;i++){
ctext[i+k]=ptext[ktext[i]+k-1];}
k=k+m;
}

printf("\npermutation cipher\n");

for(i=0;i<n;i++)
printf("%c",ctext[i]);
printf("\n");

return 0;
}

hill cipher

#include<stdio.h>
#include <string.h>

#define SIZE 100

int main(){

int n,i,j,boyut,k;
char ptext[SIZE];
int ktext[SIZE][SIZE];
char ctext[SIZE];
int intext[SIZE];
int x[100][100];
int son[100][100];

printf("Sifrenelenecek metni giriniz:");//ptext i al,eleman sayısını bul
gets(ptext);//diziyi alıyoruz
n=strlen(ptext);

printf("\nAnahtar kare matrisin boyutunu giriniz:");
scanf("%d",&boyut);
printf("\nAnahtar kare matrisini giriniz:\n");
for(i=0;i<boyut;i++)
for(j=0;j<boyut;j++){
printf("\n%d.satir %d. sutunu giriniz:",i,j);
scanf("%d",&ktext[i][j]);}

for(j=0;j<boyut;j++)
for(i=0;i<boyut;i++)
son[j][i]=0;

for(i=0;i<n;i++)
intext[i]=ptext[i]-'a';


k=0;
for(i=0;i<(n/boyut);i++){
for(j=0;j<boyut;j++){
x[i][j]=intext[j+k];}
k=k+boyut;
}

for(i=0;i<boyut;i++)
for(j=0;j<boyut;j++)
for(k=0;k<boyut;k++)
son[i][j] = son[i][j] + x[i][k]*ktext[k][j];

/*for(i=0;i<boyut;i++)
for(j=0;j<boyut;j++)
printf("\n%d",son[i][j]);*/

k=0;
for(i=0;i<boyut;i++)
for(j=0;j<boyut;j++,k++)
ctext[k]=(son[i][j])%26+'a';

printf("\nhill cipher\n");

for(i=0;i<n;i++)
printf("%c",ctext[i]);
printf("\n");

return 0;
}