18
Oca

Beni tanıyanlar hayatımın ne kadar tekdüze olduğunu bilir. Öyle ki bazen bu tekdüzelikten küçük oyunlarla kurtulmaya çalışıyorum. Kimseye haber vermeden kalkıp eve gelmek gibi. Geçen sene öyle yapacaktım. Ama annem arayıp "Oğlum ben Ankara’dayım" deyince eve gidemedim ve hevesim de kursağımda kalmıştı doğrusu. Neyse ki bir fırsat daha geçti elime ve kimseye haber vermeden çıkıp çıktım yola.

Sekiz saat civarında bir yolculuğu içimde farklı bir şey yapmanın heyecanıyla ve elimde Hawking’in yaşamını ve kuramını anlatan kitapla, bazen de yanımdaki abinin makine mühendisliğini övmesini dinleyerek geçirdim. Osmaniye’ye gelince otogarın yerinin ve niteliğinin değiştiğini fark edip sevindim. Eve nasıl gideceğim falan filan derken eski komşumuza rastlayınca yine adetim olmayarak gidip selam verdim. Beni tanıması uzun zaman alsa da konuşmamızın sonunda beni arabasıyla eve yakın bir yere bıraktı. Yakın dediğim de Osmaniye’li olanlar belki bilir, Bölge Trafik bilmem neyinin ordan Çardak köyünün girişine kadar… Yoruldum mu? Hayır. Üç adımlık yol zaten. Vakit sıkıntısını yol üstündeki camiye girerek ortadan kaldırdım. Hiç acele etmedim. İçimdeki farklı bir şey yapma duygusunun tadını çıkardım. Takunyaları takırdata takırdata hiç kimsenin olmadığı camiye girdim. Çıkıp tekrar eve doğru yürümeye başladım. Bir yandan evde olmamaları ihtimali beni korkutsa da arayıp olayın heyecanını kaçırmak istemedim ve devam ettim.

Yolda birkaç kere o anda ölme ihtimalimi düşündüm. Böyle şeyler aklıma nereden gelir anlamam. Neyse hayatıma ne kadar az değer verdiğimi üzücü bir şekilde anladım. Eski yaşama hevesimi kayıp mı etmiştim? Hani bilim adamı olacaktım. Güzel bir hayat yaşayacaktım. Araştırma başında yaşlanacaktım. Bunları yapmadan ölme fikri beni önceden çok korkuturdu. Ne değişti? Şaşırdım.

Eve geldiğimde Buğrahan’ın kapıyı açtıktan sonraki tepkisi görülmeye değer: "Hıı?!! Bu ne lan? Nasıl yani ya? (yüzüme yaklaşıp eliyle yokluyor) Şaka mısın sen çocuk?" Daha sonra evin diğer sakinlerini ve gelen misafirleri de sırayla şaşırtıp dinlenmeye koyuluyorum. O kadar da mutluyum ki her şeyle dalga geçiyorum. Tartışmaları gülerek geçiştiriyorum. Keyfime bakıyorum.


27
Eyl

Özgür yazılım çalışmalarımız daha başlamadan bir engele takıldı. Ne yaptım da bunu hak ettim anlayamıyorum. Pireyi deve yapmakta sınır tanımayan yetkililerimiz olması ne ilginç bir durum.

Ne olduysa oldu yetkili şahıs beni odasına çağırdı. Bayram değil, seyran değil… Aklıma da gelmiyor değil hani nereden haber almışsa almış, bizi desteklemeye karar vermiş diye. Ama hiç de beklediğim gibi olmuyor. Nereden gömüşse blog yazımı okumuş. Şaşılacak bir şey yok aslında. Ne de olsa wordpress ne yapıp edip google aramalarında beşinci sıraya koymuş yazıyı. Meğer sorun marka haklarıyla ilgiliymiş. Kendilerinden izinsiz bu ismi kullanamıyormuşum. Sonra bir bakıyorum elinde bir kağıt var. Nasıl yapmış bilemiyorum ama yazıcı dostu sayfaya blog girdisini yazdırmış. Sonra yazıyı okuyor: “… Belki okuldaki bilgisayarların birkaçına değişik linux dağıtımları kurabiliriz…” Cevap veriyor: “Zaten bilgisayar odasındaki iki bilgisayarda var (asla açılamayan bilgisayarları kasdediyor)”. Daha da devam edip yorumları okuyor. Bilgisayar odasından sorumlu öğretmene hakaret edilmiş sözde. Bana dava açılacakmış. Başım derde girecekmiş. Kurumun ismi geçtiğinden kendini de ilgilendiriyormuş. Kendi sorumluluğundaki bilgisayarlarda sürekli “Yazılım sahteciliği kurbanı olabilirsiniz.” uyarısı çıkan biri beni dava edecekmiş, ne garip.

Acaba “KDE çok kasıyor, kullanılacak gibi değil” dediğimde KDE bana dava mı açacak? Veya okulda “Linux Topluluğu” kursam Linus Torvalds bana dava mı açacak? Elbetteki saçma… Peki bu saçmalığı birilerinin yüzüne vursam onlar bana dava açmaya kalkacak mı bilemiyorum. Türkiye’nin alim yetiştiren okulu (bak yine isim göstermeden alıntı yaptım) nelerle uğraşıyor herkese yaysam başım derde mi girecek?

Ne olacakmış? Çok merklısı değilim markalarının. Can atmıyorum topluluğuma ismi koyulsun diye. Kaldırırız sorun olmaz. Ama artık kime ne gözle bakacağım belli olmuş olur.


13
Eyl

Bilgisayarımla aramda gerçekten bir bağ oluşmaya başladı. Aslında geç bile. Sonuçta birbirimizi üç yıldır tanıyoruz. Acı tatlı birçok günümüz ve gecemiz geçti onunla. Bazen ben onu üzdüm, bazen o beni üzdü. Bazen de başka insanlar ikimizi birden üzdü. Bunca zaman geçtikten sonra bilgisayarıma bir isim koymaya karar verdim. Neden derseniz; küçük bir hikayesi var. Bu bayramda evimize gelen dayımın arabasına isim takmış olduğunu öğrenince baba tarafında gelme bir adet olduğu üzere "Arabaya isim mi konur, çağırınca gelecek mi sanki?" (bunun da hikayesi var ama konuyu fazla dağıtmayacağım) diye karşılık verdim. Ama anne tarafında adet öyle olmayacak ki dayım "Öyle deme, eşyalara da isim konur. Ona değer verdiğini gösterir bu. Eşyanın ömrü de uzar." dedi ve ben düşünmeye başladım. Yeni bir ney aldığımız zaman ona okuduğum, okşadığım, sevgiyle muamele ettiğim olmuştu ama diğer eşyalarla aramda böyle bir ilişki olmamıştı. Sonunda bilgisayarımın da bu ilgiyi hak ettiğini düşündüm ve ona bir isim koydum: Çapar. Bu isim bilgisayarımın harap haline uygun düşer dedim. Sonra küçük bir araştırmayla bizim şekilsiz, bozuk, biçimsiz, tipsiz gibi anlamlara getirdiğimiz çapar sözcüğünün albino anlamına geldiğini ayrıca Türkmence’de ulak, haberci, müjdeci gibi anlamlara geldiğini öğrendim. Hepsi de gider benim bilgisayarıma. Üstelik çağırınca da geliyor. Hatta roota yalakalık bile yapıyor. Yakında başka şeyler de öğrenecek.


6
Eyl

Farklı masaüstü ortamları denemek fena olmaz diye düşünüp bu kez de Enlightenment’i denedim. Hoşuma gitti. Gayet hafif. Çok da çabuk açılıyor. Görsellik konusunda da hiç fena değil. Tek sorun yeni olması. Yeni olduğu için tema ve uygulama konusunda sıkıntı var. Ayrıca ilk kurulumda nedense taskbar dediğimiz o panele yerleşen ve açık uygulamaları gösteren araç gelmedi. Ben de bir türlü kuramadım. En sonunda salla gitsin dedim. Neyse ki simge durumuna küçültülen uygulamaları gösteren bir araç vardı da küçülttüğüm pencereleri kaybetmiyordum. Bir pencereden diğerine geçmek istediğimde ise bu işi uzun yoldan yapıyordum. Böyle de bir macera yaşadık işte. Ama denemek de bir yere kadar. Bir hafta falan kullanıp tekrar KDE masaüstüne döndüm. Açılış biraz uzun sürdü ama henüz bir şikayetim yok. Gerçekten de bazı ayarları yapınca KDE4 de tıkır tıkır çalışıyor. Mesela Nepomuk’u kapatmak oldukça işe yarıyor.

Bu bloga yazdıklarımı hep diğer bloga da yazıyorum. İki blogumun olmasının sebebi wordpress’de bir türlü adsense reklamı ekleyememem. Gerçi var da ne işe yarıyor sanki. kaçyıldır açık hala 1,72 dolar. Diğer bloguma göz atmak istersiniz belki.


Nedense insanın aklı son sınıfa gelince başına geliyor bazen. Nihayet okulda özgür yazılım topluluğu kurulması için bir adım attım. Benim için küçük olan bu adım umarım okulumuz için büyür. Aslında yaptığım şey sadece Facebook’ta bir grup oluşturmak. Bu topluluğu gerçeğe dönüştürme fikrim sanırım gerçekleşecek. Mezunların biri bizi takdir edip biz destek olacağını bildirdi. Toluluğumuzun okul içind elle tutulur sonuçlar vermesi için afiş gibi çalışmalarda ve okul yönetimiyle olan ilişkilerimizde bize yardımcı olacaklar. Önce öğrencilerin özgür yazılım felsefesi konusunda bilgilenmesini sağlayacağız, sonra da okulda özgür yazılım ürünleri kullanılması için idareye tavsiyede bulunacağız. Tabii idare ne ölçüde olumlu yaklaşır bilemiyorum. Belki de bilgisayar odasındaki bilgisayarların birkaçına değişik linux dağıtımlarını kurmayı başarabiliriz.


18
Ağu

KDE’den hep korktum ama üstüne de bu kadar gitmemeye karar verdim. En sonunda KDE’ye bir şans daha vermeye karar verdim. Bir kez daha deneyecektim. Ne kadar kötü olabilirdi ki? Her neyse açtım KDE’yi

Ne olmuşsa olmuş KDE’ye mi bana mı bilmem ama o kadar da yavaş görünmedi gözüme. Sonra baktım ki tüm kaynağı Nepomuk Semantik Masaüstü servisi yiyormuş. Hemen kapattım. Bu uygulama ne işe yarıyor bilmiyorum ama Strigi ile bir alakası vardı heralde. Strigiyle de aram pek iyi değil zaten. Bir zamanlar ikide bir "Sistem kaynaklarınızı az kullanmak için Strigi indeksleme işlemi duraklatılıyor" gibisinden bir uyarı çıkartırdı. Nepomuk’u da sevmedim ve Sistem Ayarları’ndan Gelişmiş sekmesi altındaki Masaüstü Araması’nı seçtim ve bir çırpıda Nepomuk servisini kapattım. Bilgisayarım oldukça rahatladı.

Şimdilik KDE’nin bir yamuğunu görmedim. Her açılışta çalışan Xfce panelini saymazsak… O da sanırım http://ypng.wordpress.com/2010/08/07/xfce-paneline-ne-oldu/ yazısında yazdığım işlem yüzünden çıkıyor. Onu da ilk başta elle killall xfce4-panel komutunu vererek kapatıyordum ama uğraşmamak için evdizinindeki .kde4/Autostart/ dizini içinde oluşturduğum bir .sh dosyasına komutu yazıp daha sonra da dosyaya çalıştırma izni vererek hallettim. Artık o da çıkmıyor. Pek düzgün bir çözüm olmadı ama idare ediyoruz işte.

Bu arada Özgürlük İçin Gezegenine yazdığım yazılar için Hackergotchi resmi gerekiyormuş. Ben de birkaç gün düşündükten sonra Fırtına Adası’nın en tatlı çocuğu Flapjack’in resmini bulup gönderdim. (Flapjack’in hayali limonata denizinde lolipop ağaçlarının olduğu şeker adasına gitmek. Yolculuğunda gemisi bir balina …)

Bir yazının da sonuna geldik. Hepinize iyi günler.


7
Ağu

Bir haftalık dershane kampından sonra yine evimdeyim. Bu bir hafta çok uzun geldi herkese. Soru sayıları sıralamasında da en sonuncuyum bu arada. Ama durum o kadar da acıklı değil bence. Yeni konunun testlerini çözüyorum ne de olsa deneme değil. Soruları özümseyerek, konuyla bütünleşerek, içli dışlı olarak öğrenmeli insan. Hemen çözemeyince diğerine geçmemeli. Böyle düşününce de her soru için iki dakika çok fazla olmuyor.

Ben gittikten sonra Pardus’a bir şeyler olmuş. Panel yok. Nasıl yaptılar, neyi kurcaladılar anlamadım. Sonra panel programının adını bulup hemen konsoldan çalıştırdım. Adı xfce4-panel. Neyse ki çalıştı ve eski ayarlarıyla hiç bir şey olmadan geri geldi. Paki ben her bilgisayarı açtığımda bunu mu yapacağım? Haayıııır… Xfce belki son oturum hatırlar belki dedim ama işimi de şansa bırakmayı istemedim. Hemen Ayarlar’dan Oturum ve Başlangıç’ı açıp Başlangıçta Çalıştırma sekmesinden Ekle deyip, ismine Xfce paneli, komuta da xfce4-panel yazdım ve başlangıca ekledim. Sizin de başınıza gelirse endişe etmenize gerek yok. Tabii kardeşiniz panele yanlışlıkla sağ tuş tıklayıp sonra yine yanlışlıkla Kaldır’a tıklamazsa.

Bir de İçerik güncellemelerinden ClamTk meselesi var. Bu bir haftada onu da yazamadım. Ali Işıngör’ün "Bu yazı ne durumda" şeklindeki mesajını görünce biraz korkmadım değil. Sandığımdan da önemli bir yazı olmalı diye düşünmeye başladım. Daha sonra gelen "Aslansın Enis" motivasyonu beni biraz yüreklendirdi. Umarım bir hafta içinde yazı tamamlanır. Ben de rahatlarım.


25
Tem

Siz de değişken yazarken seç yerine sec, üst yerine ust büyük yerine buyuk içinde_mi yerine icinde_mi yazmaktan sıkıldınız mı? O zaman python++ ile sorunlarınıza elveda deyin.

Python++ ne yapıyor?

Bu küçük program size hep aradığınız rahatlığı yaşatacak. Artık değişken isimlerinizde çşğüİıö kullanabileceksiniz. Tek yapmanız gereken kodunuzu python++’ya yollamak. O sizin için çşğüöİı yerine __ koyarak yeni bir cikti.py hazırlar ve çalıştırır.

Nasıl yapıcam?

Şimdi bu kodları python++.py adındaki bir dosyaya yazıp kaydedin ve çalıştırabilme izni verin (konsolda chmod +x python++.py). Ve daha sonra /usr/bin/python++ diye kopyalayın (konsolda sudo cp python++.py /usr/bin/python++ yazıp kullanıcı parolanızı girerek yapabilirsiniz). İşte kodlar:


#!/usr/bin/python
#-*- coding:utf-8 -*-

import os,sys
yol=sys.argv[1]

gir=open(yol,'r')
cik=open("cikti.py",'w')

kod=gir.read()
tirnak=False
for c in kod:
    if c=='"':
	tirnak=not tirnak
	cik.write(c)
	continue
    
    if tirnak:
	cik.write(c)
	continue
    
    if not "çÇşŞİıöÖğĞüÜ".count(c)==0:
	cik.write("_")
	continue
    
    else: cik.write(c)
    
gir.close()
cik.close()
os.system("python cikti.py")
  

Artık hem çiçek yazabileceksiniz hem böcek. Ama birkaç eksiğimiz var. Mesela karakter katarı içinde çift tırnak kullanamazsınız. Tek tırnak sorun olmuyor. Ve karakter katarlarını tek tırnakla belirtmeyin. Yoksa onların içindeki "çğşıİöü" "__" haline gelir. Hepinize kolay gelsin.


24
Tem

Bu yazı Özgürlük İçin Gezegeni‘ne iniş yaptıktan sonraki ilk yazım. Herkese merhaba.

Bu yazımda bir arkadaşımı nasıl zorla Pardus kullanıcısı yaptığımdan bahsedeceğim. Arkadaşıma Pardus kullanmasını hep söylerdim ama o rahatını kaçırıp bunu yapmadı. Belki de daha önceki Pardus üzerinde CS (CSharp değil Counter Strike) çalıştırmayı denemesi etkili olmuş olabilir. CS hastasıdır kendisi. Neyse ben yine birkaç gün önce ona "Pardus’u dene bak pişman olmayacaksın" dedim o da sızlanarak "Yaa ben naapiiim Pardus’u yaa. ıhıı" demişti. Ama ben iyice karar vermiştim. Bir sonraki buluşmamızda yanımda Pardus 2009 CD kalıbıyla gittim. Giderken de arayıp "Sende boş CD var mı? Eğer yoksa ben gelene kadar bir tane al" dedim ve arkadaşın evine gittim. Bilgisayarın başına geçtiğimizde hiç vakit kaybetmeden işe koyuldum. İlk yazma başarısız oldu. İşlem tamamlanmıştı ama CD boş görünüyordu. Elimizdeki tek boş CD de boşa gitti diye düşünürken Google’de "image burn" yazıp karşıma çıkan ilk yazılımı yükleyip kalıbı diske yazdırdım. Hayret! Oldu ama nedense diskin boyutuna 1.4 GB falan diyor. Her neyse, hemen bilgisayarı yeniden başlatıp Pardus’u daha önceden ayırdığım bölüme (geçenki buluşmamızda ayırmıştım) kurdum.

Kurulduktan sonra ilk ayarları yapıyoruz. Dizin görünümü mü yoksa programcıkları mı kullanacağını sordum, "Pardus olmuşken programcık olsun bari" dedi. Ondan sonra ben programcıkları, eklemeyi, kullanmayı falan anlattım. Sonra hemen güncelleme yaptım.

Ama içim gitti KDE4 kullanırken. Benim bilgisayarda güncelleme yapmak bile işlemciyi %100′e dayandırırken onun bilgisayarında dın bile demiyordu. Benim bilgisayarda KDE4 açmak bile işkenceydi. Fareyi hızlı oynatsan sistem donuyordu. Falan filan.

Arkadaşın bir HP tarayıcı-yazıcı aleti varmış, Windows üzerinde bir türlü çalıştıramamışlar. Ama bizim Pardus’umuz hemen tanıdı ve işe başladı. Annesi de KDE4 efektlerinden çok memnun kaldı. Ne yapsın Windows’ta masaüstü resmini bile değiştiremezken… Herkes mutlu, herkes memnun, herkes iyi, herkes özgür. Çünkü o Pardus… :)


22
Tem

Bilgisayar çok yavaş çalıştığından KDE masaüstünü kullanmayı bırakın açmaktan bile korkardım. Geçenlerde bir denemek istedim. Aman aman! Uzak olsun. Boşuna Xfce kullanmıyormuşum onu anladım. O da olmasa benim makina ne yapacak kim bilir?

Arkadaşımın kardeşi de Pardus kullanıyormuş. Dediğine göre Firefox’u açmak istediğinde tıklayıp çay koymaya gidiyormuş. O derece artık düşünün. Belki abartı gelebilir size ama bilgisayarınızda 128 Mb RAM var ve siz de KDE 4 kullanıyorsanız olacağı budur. Xfce kursun bir o hızı anlar o zaman.


11
Tem

Geçenlerde biri bana NetLogo programlama dilinden bahsetti. Çok basitmiş, tamamen görselmiş, eğlenceliymiş… Bir bakayım demiştim fırsat bulunca yükledim incelemeye başladım. Ama neyi inceleyeceksin? Örnek çalışmaları bile açamadım. Project yerine Model yazarlarsa böyle olur tabii.
Neyse, daha sonra üç gramdan biraz fazla (Uğur Can’ın kulakları çınlasın) olan İngilizce’mle http://ccl.northwestern.edu/netlogo/docs/ adresindeki Tutorial yazılarını anlamaya çalıştım. İlk bölüm “Models” diye bir şeymiş. Dedim ya Project’in laciverti gibi bir şey. Hızlıca geçtim. İkinci bölüm “Commands” aynı bizim fonksionlar gibi onu da “Ne zaman sözdiziminden bahsetmeye başlayacak?!” diyerek hızlı hızlı geçtim. Bu arada katnak kodlara bakıyorum ama bir şey anladığım yok. Sadece [ ] karakterleri kod bloklarını gösteriyor onu anladım.
Neyse, üçüncü bölüm “Procedures”. Ve “da da da dan” gibi bir ses çıkarıyorum içimden çünkü nihayet “select New from File menu” yazısını görüyorum. En başından başlıyoruz programa. Buton ekleme pek de garip gelmedi zaten bir baksan anlardın. Sonra fonksiyonun, yok yok “Command”ın to ve end kelimeleri arasında tanımlandığını gördüm. Eh, buna da pek fazla şaşırmadım. Ayrıca fonksiyonlara argüman aktarmak da ( ) arasına yazmak falan değil direk yazmakla oluyor. Yani tam bir okunabilirlik katliamı! Neyse bunu da geçelim. Sonraki gördüğüm komut “ask” ilk gördüğümde koşullu ifadelerle alakalı bir şey olduğundan tut da fonksiyon çağırmaya ya da tanımlamaya yaradığını bile düşünmüştüm. Bundan dolayı bu “ask” komutunun dizi içindeki elemanları sırayla gezmeye yarayan foreach gibi bir şey olduğunu öğrenince biraz da olsa şaşırdım.
Buraya kadar olan izlenimlerim NetLogo’dan iğrenmeme yol açmaya başlamıştı. Ama ben yine de devam ettim. Sonra “turtle” denilen nesnenin “forward” komutuyla ilerlediğini fark edince derin bir “ooooohaaaaaa” kopardım yüreğimin derinliklerinden. Çünkü bu bana şunu ifade etmişti: “Bu dil hareketli nesnelerin benzetimini yapmak için icat edilmiş olmalı”. Diğer dillerde bunu yapmak benim için tam bir işkence. Diğerleri için de zor olmalı. Ama NetLogo öyle mi! Bi tanedir o. Benden söylemesi.
Buraya kadar bir şey biliyormuş gibi ukalaca atıp tuttum. Adamların üşenmeyip yaptığı NetLogo’ya laf söyledim. Umarım bana sinir olmamışsınızdır. Çünkü bu yazıyı gerçekten de eğlenmek ve yer doldurmak için yazdım. Bir dahaki yazıda görüşmek üzere…


1
Tem

Sonunda hayallerimdeki simge temasını buldum. Buuf simge temasının önizlemesini www.kde-look.org sitesinde görür görmez “işte bu o” demiştim. aynısının gnome sürümünü www.gnome-look.org bulunca indirdim ve hemen kurdum. İşte hayallerimdeki çizgi film tarzı grafikleri olan simge temasıyla ekran görüntüsü:

ne hoş değil mi?

Gnome kullananlar http://perso.ens-lyon.fr/jeanalexandre.angles_dauriac/buuf2.30.tar.gz adresinden indirebilir.


27
Haz

Geçenlerde www.lastfm.com.tr adresine girip bakayım dedim. Uzun zamandır girmiyorum. Oradaki “Last.fm Radyosunu ücretsiz deneme sürenin 30 parça çaldıktan sonra sona ereceğini hatırlatmak isteriz. Beğendin mi? Ayda yalnızca €3.00 ödeyerek abone olabilirsin” yazısı gözüme ilişti. “Bu da ne?” dedim kendi kendime. Yavaş yavaş kendime gelince “Sen de mi be last fm?!” dedim. Daha sonra müzik listemdekileri dinlemek istedim. Bu kez de “Bu özelliği kullanmak için abone olmanız gerekiyor” dedi. İyice canım sıkıldı. Neden ücretsiz yayından vazgeçtiler acaba? Belki de geçenlerde Türk Telekom’un yaptığı engellemeyle alakalıdır.


7
Haz

 Arama algoritmalarımıza yatay arama (bfs) ile devam ediyoruz.

Yatay arama derinlemesine aramadan farklı çalışır. Bir düğüme girdiğinde en uç noktaya varıncaya kadar gitmektense aynı dereceli diğer terimlere bakar. Bu işlemi nasıl yaptığını merak etmiştim. Meğerse kuyruk kullanılıyormuş. Kuyruk dediğimiz şey bir tür veri dizisi. Bu veri dizisine veriler en sona eklenir, veriler alınırken ilk baştaki veriden itibaren alınır. bfs algoritmasında her düğümün bağlı olduğu diğer düğümler kuyruğa eklenir ve kuyruktan alınan verilerde bfs tekrarlanır. Koda gelecek olursak:


//bfs.c 

#include <stdio.h>
int tablo[10][10];
int kuyruk[10];
int iz[10];
int aranan=6; //aranan düğüm
int bulundu=0;

// kuyruğa veri ekle
void ekle(int n)
{
    iz[n]=1;
    static int son=0;   //kuyruğun en sonu
    kuyruk[son]=n;
    son++;
    printf("%d Arama kuyruğuna eklendi!\n",n);
}

//kuyruktan veri al
int al()
{
    static int bas=0;   //kuyruğun en başı
    return kuyruk[bas++];
}

void bfs(int gel)
{
     printf("Giriliyor: %d\n",gel);
     int i;
     for(i=0;i<10;i++){
         if(!iz[i] && tablo[gel][i])
         {
             if(i==aranan)
             {
                 printf("Aranan %d bulundu!\n",i);
                 bulundu=1;
                 break;
             }
             else ekle(i);
         }
     }
}
int main()
{
    tablo[0][1]=tablo[1][0]=tablo[0][2]=tablo[2][0]=tablo[1][3]=tablo[3][1]=tablo[3][2]=tablo[2][3]=tablo[3][4]=tablo[4][3]=1;
    tablo[3][5]=tablo[5][3]=tablo[5][6]=tablo[6][5]=1;
    int i;
    while(!bulundu){
        iz[0]=1;
        bfs(al());

        }
     
    getch();
    return 0;
 
}

Programda her düğüme girerken neden “Giriliyor…” yazdırdığımı merak ediyorsanız, çok önemli bir sebebi yok. Sebebi hata korkusu. Ben de yeni başladığım için yanlış yazmış olabilirim. Bu şekilde hangi düğümlere girdiğini biliyorum ve programın doğru çalıştığından emin olabiliyorum.


19
May

Bu aralar python yerine C’ye çalışmayı düşündüm. Sonra Halil’e “Bana C öğretsene, Python çok yavaş” dedim tabii o da kabul etti. İlk olarak bazı algoritmaları öğretti. Bunlar arama algoritmaları. Ben de ilk olarak dfs’i yazdım.

Dfs’in ne olduğuna gelince: “Derinlemesine arama” demek oluyor. Yani düğümlerden birine girdiğinizde aramaya ona bağlı düğümlerden devam ediyorsunuz. Eğer düğümler çıkmaza girerse o zaman geri dönüp hemen yanındaki düğüme geçiyorsunuz. Kod şöyle:

#include<stdio.h>

int tablo[1000][1000];
int n=7;
int aranan=6;
int iz[1000];

void dfs(int gel){
    int i;
    iz[gel]=1;
    for(i=0;i<n;i++)
    {
        if(!iz[i] && tablo[gel][i])
        {
            printf("Giriliyor: %d \n",i);
            if(i==aranan)
            {
                printf("Aranan %d Bulundu\n",i);
                break;
            }
            else dfs(i);
        }
    }
    printf("Çıkılıyor: %d\n",gel);
}

int main(){
    tablo[0][1]=tablo[1][0]=tablo[0][2]=tablo[2][0]=tablo[1][3]=tablo[3][1]=tablo[3][2]=tablo[2][3]=tablo[3][4]=tablo[4][3]=1;
    tablo[3][5]=tablo[5][3]=tablo[5][6]=tablo[6][5]=1;
    dfs(0);
    printf("Arayan Bulur!\n");
    return 0;
}


Düğümleri oluştururken bir tablo oluşturup eğer düğümler arasında bağ varsa tablonun o sayıların kesişimine gelen elemanını (yani eğer 4, 2′ye bağlıysa tablo[4][2]=tablo[2][4]=1) 1 yapıyorsunuz. Tablo simetrik olmalı, çünkü mesela 4 2′ye bağlıysa 2 de 4′e bağlıdır. Bu değerleri bir girdi dosyasından da okuyabilirsiniz ama ben basit olması için programda elle girmiş oldum. Bunu yazdıktan sonra Halil “Bir de şey yaz sen: iki düğüm alsın kullanıcıdan, birinden diğerine gidilip gidilemeyeceğini göstersin.” Ama ben uğraşmadım. Bu algoritmadan sonra da bfs yazmaya çalışacağım. Yazdığım zaman onu da buraya korum. Hepinize iyi günler.


26
Kas

Yeni bir singe hazırladım. .rar gibi arşiv dosyaları için:

Kavanozun içinde bir lale…


Bir diziyi sıralamak için çeşitli yöntemler vardır. Bunlardan “Kabarcık Sıralama” (Bubble Sort) algoritmasını kullanarak bir dizinin nasıl sıralanabileceğini görelim:

#include<stdio.h>

void sirala(int *dizi,int u){
     int i,k,g;
     for(i=0;i<u;i++){
         for(k=i;k<u;k++){
             if(dizi[k]<dizi[i]){
                 g=dizi[k];           //yer değiştir
                 dizi[k]=dizi[i];
                 dizi[i]=g;
                 }
             }
     }
}

int main(){
    int k,dizi[10];
    printf(“Merhaba! 10 tane sayi girin ve biz de siralayalim :) \n”);
    for(k=0; k<10; k++){
        printf(“%d. sayiyi girin: “,k+1);
        scanf(” %d”,&dizi[k]);
}
    sirala(dizi,10);
    printf(“Dizinin sirali hali\n”);
    for(k=0; k<10; k++) printf(“%d\n”,dizi[k]);
    getch();
    return 0;
   
}

Kabarcık sıralama en basit ve en kötü algoritmalardan biridir. Eğer yujarıdaki örnekte 10 yerine 1000 sayı koysaydınız sıralama yaklaşık 5000 kat daha uzun sürecekti. Ama basit işlerde kullanabilirsiniz. Yaptığı şey dizinin her üyesini teker teker diğerleriyle karşılaştırmak ve eğer daha küçüğüyle karşılaşılırsa ikisinin yerini değiştirmek.


23
Eki

Bu yaz Hayallerini kurduğum Pardus 2009′u kurmak istedim. Tabii o sırada sadece windows yüklü bilgisayarım var. Neyse dedim Nero kullanarak kalıbı CD’ye yazdırdım 5 dk’da nasılsa yazıverdi. Fakat kurulumda hata çıkınca tüm hayallerim bir anda söndü. İkinci bir CD’yi denedim onda da hata çıktı. Hızlı yazdırmadan doğan bir sorun olduğunu düşündüm ve daha yavaş bir hızda yazdırdım. Nihayet sorun çözüldü ve ben de Pardus’uma kavuştum. 2009 çok yakışıklı olmuş. Ekran kartı ile ilgili sorun yaşasam da yine de Pardus’tan vazgeçmeyeceğim. Zaten ben onu daha iyi olduğu için değil sevdiğim için kullanıyorum :D


16
Nis

Pardus için bir arkaplan resmi: