Kategori Arşivi BilgiKültür

Yaman Dede Kimdir?

Kayseri Büyükşehir Belediyesi aylık olarak Şehir adında kültür sanat dergisi çıkarmaktadır. Bu derginin içeriğinden dolayı, şehir için büyük bir hizmet olduğunu düşünmekteyim. Derginin 22. sayısının konularından biri de Yaman Dede’ydi. Yazı benim ilgimi çekti burada o yazıdan parçalar paylaşmak istiyorum. Bu yazıyı dergi için hazırlayan kişi ise Mustafa Söğüt. Dergiye internetten ulaşmanız da mümkün.

Ayrıca daha önce yazdığım kendisinin adı verilen YAMAN DEDE CAMİİ – TALAS PANAYA RUM KİLİSESİ hakkındaki yazıyı da buradan paylaşmak istedim.

Yaman Dede Kayseri’inin Talas ilçesinde Rum iplik tüccarı Yuvan Efendi ile Afurani Hanım’ın oğlu olarak 1887 yılında dünyaya gelir. İsmini Diyamandi koyarlar. Kayseri’de doğmasına rağmen doğduğu mekânda uzun bir yaşayışı söz konusu değildir. Daha on aylık iken ailesi Kastamonu’ya taşınır. Ancak kim ne derse desin insan doğduğu mekânın ruhunu taşır. Tıpkı doğduğu mekâna ruhunu bıraktığı gibi. Kastamonu’da ilköğrenimini Rum Ortodoks Mektebinde yapan Diyamandi, 1901’de İdadi’ye girer. Yaman lakabının izine de ilk bu dönemde rastlıyoruz. İdadi’deki arkadaşları Diyamandi’yi “Yamandî Molla” ya dönüştürmeye başlamışlardır bile.

Kendisine böyle bir lakabın takılmasını ya da diğer deyişle Diyamandi’nin Yaman Dede’ye dönüşümünü Yaman Dedenin kendi dilinden okuyalım: “Rüştiye birinci sınıfta iken 13 yaşımda idim. Bu sınıfta Arapça ve Farsça dersleri başlar. Bütün dersleri sevmeme karşın Türk Edebiyatı ile birlikte Arapça ve Farsça’ya pek düşkündüm. Rüştiye ikinci sınıfta ders yılının ortalarındayız. Farsça Hocamız, Şeyh Sadi’nin Gülistan’ını okuturdu. Arada sırada başka manzumeler de yazdırırdı. Bir gün siyah tahtaya yazdığı birkaç beyit kalbimi tutuşturmaya yetti. O beyitleri bugün gibi hatırlıyorum. Mesnevi’nin ilk beyitleri idi:

Dinle neyden ki hikayet etmede 
Ayrılıklardan şikâyet etmede

Tahtaya yazılan ismi bana pek tatlı geldi. Okunan beyitler beni derinden sarstı. Son beyit ise içimi yaktı. O an içimde yanmaya başlayan aşk ateşini kelimelere dökmekte aciz kalıyorum.”

Aslında başlayan yangın bir pişmenin, olmanın ve bulmanın yangınıydı. O aşk ateşinin içine düşmüştü. Aşk ateşinde ise kül olmadan köz olmak gerekiyordu. Köz olmadan göz olunamazdı. Bunun için de aşk atına binmek gerekiyordu. Menzile ulaşmak için, aşk ateşinde pişip olmak için aşk atına binmek sürmekle başlıyordu her şey. Bütün yollar O’na çıkar. Dolayısıyla bütün yolculuklar da O’na yapılır. Diyamandi’nin Erciyes’in duldasından taşıdığı ruhu, Kastamonu’nun mekân dünyasında mücessem hale geliyor ve kitap kitap, şiir şiir doluyordu o sonsuz gönüle.

Derslerle başlayan yolculuk hali kitaptan kitaba bir bakıma halden hale devam eder. İçinde yaşadığı toplum onu Hıristiyan olarak nitelese de başta arkadaşları ve hocaları onu asla öyle kategorize etmez. Çünkü ateşi bilen yanmayı da görür. Diyamandi’nin gönlündeki yangını ona Şirazi’yi, Mevlana’yı, Yunus’u okutanın bilmemesi hissetmemesi mümkün müydü? Zaten Anadolu insanı, Hıristiyan da olsa, Yahudi de olsa yıllardır iç içe yaşadığı, kendi gibi giyinen, kendi gibi yaşayan insanı kendi gibi görmez mi? Kayseri, Kastamonu, İstanbul Rumların, Ermenilerin ve Türklerin bu bağlamdaki hikâyeleri ile dolu.

Kendi yangınını şöyle anlatır Yaman Dede: “30 Mart 1941 Pazar sabahı erken uyandım. Ortalık henüz ağarmaya başlamamıştı. İçimde şiddetli bir teessür, fakat sebebi meçhul… Kalbimden kan damlıyor, bütün benliğimi tatlı bir alev yakıyordu. Sabaha kadar ağlamış gibiydim… Gözlerimi tekrar yumdum. İç âlemime gömülmek, hiçbir şey düşünmeden saatlerce hareketsiz kalmak istiyordum… Sanki kalbim durmuştu, sanki nefes almıyordum!.. Aradan ne kadar zaman geçti bilmiyorum. Gözlerimden yakıcı damlalar fırlamaya, ruhuma şu mısralar damlamaya başladı. Anladım ki benim ulu cananım geceden gelmiş, ruhumu neşterlemişti. Ruhum kanıyordu. Ve bu kanama neticesinde şu manzume doğuyordu:

Yıllardır arar dîdelerim gelmez o cânân
Yıllarca uzaklarda yanan dîde-i giryân 
Bir dem görün Allah için üftâdene bir an
Göster bana dîdârını gel ey ulu sultan

Senden gelen âvâze-i kudsîye vuruldum 
Bir lâhzada yüz bin kere coştum da duruldum 
Hasretle döndüm, ne yazık, işte yoruldum
Göster bana dîdârını gel ey ulu sultan

Sordum seni kartallara kıskandılar onlar,
Sordum seni şimşeklere hep yandılar onlar,
Sordum seni ummanlara nâlândılar onlar,
Göster bana dîdârını gel ey ulu sultan

Sultan Veled’in pâyine düştüm de geçende
Sordum seni âhım yanarak kalb-i dehende,
Bir kerrecik olsun gelerek hâbıma sen de
Göster bana dîdârını gel ey ulu sultan

Yüzler süreyim, bastığı toprakları göster
Enfasını emmiş bana yaprakları göster.”

Yaman Dede üniversite için İstanbul’a gelir. Hukuk Fakültesi’nde okuyacaktır. Tıpkı lise gibi fakülteyi de başarı ile bitirir ve devlette görev alır. Ancak Yaman Dede bu. Gerek üniversite döneminde gerekse memuriyet döneminde hocalardan ders almaya devam eder. Bu dönemde İslami ilimlere daha çok yönelir. Galata Mevlevihanesi artık sık gelip gittiği mekânlardan biri olacaktır. Çünkü Ahmet Remzi Akyürek hocasıdır. Ahmet Remzi Dede’den Mesnevi okumaya başlar. Böylelikle Kayseri, Kastamonu, İstanbul’dan sonra mekân olarak onun anlam dünyasına bir şehir daha girer. O da Mevlana’nın mekânı Konya’dır. Bu arada İstanbul’da yaşadığı mekânı da unutmamak gerekir. Çamlıca’nın eteklerinde Üsküdar’da (Acıbadem) yaşaması onun anlam dünyasını tanımamız açısından önemlidir. Onun Müslümanlığında elbette ki Mevlana ve iki eseri (Divan-ı Kebir ve Mesnevi ve Ankaravi’nin Mesnevi Şerhi) çok önemli bir payeye sahiptir. Ahmet Remzi Akyürek bu anlamda en tesirli hocasıdır. Hatıralarında özellikle bunun altını çizer. 1940’larla birlikte başta azınlıklara mensup kız ve erkek liseleri olmak üzere çeşitli okullarda Türk Edebiyatı ve Farsça okutan Yaman Dede, devlet hizmetinden ayrılmış, bağımsız bir eğitimci olur. Eğitimciliğin yanı sıra geçim derdi için olsa gerek avukatlık yapmaya da başlar. Aynı dönemde Anadolu’nun pek çok şehrinde Mevlana konulu konferanslar vermeye başlar. 1941 yılında böyle bir konferans bağlamında Kayseri’ye, doğduğu topraklara yeniden gelir.

55 yaşında iken 15 Şubat 1942 de ismini değiştirir ve Mehmet Abdülkadir KEÇEOĞLU adını alır. Lakin eşi ve kızı bu kararına karşı çıkarlar. “Tam kırk yıl bazen sahursuz bazen iftarsız oruçlar tuttum, ama ailem bunu hiç bilmedi!..” diyen Yaman Dede aslında malumu ilan etmiştir. O aslında ailesiyle yaşarken de Müslümandır. Müslümanca bir hayat yaşamasına rağmen bunu deklare ettiğinde ailesi karşı çıkmıştır. Hatta rivayete göre Patrikhane de devreye girer. Kimine göre Patrikhane eski dinine dönmesi için, kimine göre de karısından boşanması için baskı yapar. Fakat o, o kadar rikkat sahibi bir insandır ki kimseyi incitmeden sessizce evden ayrılır ve yalnız yaşamaya başlar. “Aşkımın bedeli bu yaşananlar. Sizler sakın üzülmeyiniz. Aşk, ıstırapsız olmaz. Size acı vermeye hakkım yok. Bu ev ve içindekiler size kalsın. Elveda!..” diyerek karlı bir Şubat günü ceketini alıp çıkmıştır.

Uzun süre kendini ilme veren ve yalnız yaşayan Yaman Dede daha sonra ikinci evliliğini yapar. Arkadaşlarının vesile olması ile ilkokul öğretmenliğinden emekli Hatice Hanım’la evlenen Yaman Dede, eski karısı ve kızıyla da kurbiyyet bağını hiçbir zaman kesmemiş ve onların kendisine muhtaç oldukları zamanda hep yanlarında olmuştur.

Yaman Dede’nin hayatındaki izler ve işaretler de önemlidir bizim için. Onun en önemli özelliklerinden birisi öğrencileri ve hocaları ile veya dostları ile yazışmalarıdır. Kendi el yazısı ile önemli miktarda mektup yazdığı bilinmektedir.

İstanbul’da yaşarken Pazartesi akşam namazlarını, Cuma günleri ise Cuma namazını mutlaka Eyüp Sultan Camiinde kılar. Onu tanıyanlar bunu sağlığı elverdiği sürece hiç aksatmadığını söylerler.

1962 yılına kadar Bağlarbaşı’ndaki Yüksek İslam Enstitüsü’ndeki (bugünkü Marmara Üniversitesi İlahiyat Fakültesi) derslerine devam eder. 75 yaşındadır. 3 Mayıs Perşembe günü vefat eder ve Karacaahmet Mezarlığına Küçük Selimiye Camiinin (Çiçekçi Camii) karşısına defnedilir.

Gönül hûn oldu şevkınden boyandım yâ Resûlallâh 
Nasıl bilmem bu nîrâna dayandım yâ Resûlallâh 
Ezel bezminde bir dinmez figândım yâ Resûlallâh 
Cemâlinle ferah-nâk et ki yandım yâ Resûlallâh.

Yanan kalbe devâsın sen, bulunmaz bir şifâsın sen 
Muazzam bir sehâsın sen, dilersen reh-nümâsın sen 
Habîb-i Kibriyâsın sen, Muhammed Mustafâ’sın sen 
Cemâlinle ferah-nâk et ki yandım yâ Resûlallâh.

Gül açmaz, çağlayan akmaz, İlâhî nûrun olmazsa 
Söner âlem, nefes kalmaz, felek manzûrun olmazsa 
Firâk ağlar, visâl ağlar, ezel mestûrun olmazsa 
Cemâlinle ferah-nâk et ki yandım yâ Resûlallâh.

Erir cânlar o gül-bûy-ı revân-bahşın hevâsından 
Güneş titrer, yanar dîdârının, bak, ihtirâsından 
Perîşân bir niyâz inler hayâtın müntehâsından 
Cemâlinle ferah-nâk et ki yandım yâ Resûlallâh.

Susuz kalsam, yanan çöllerde cân versem elem duymam 
Yanardağlar yanar bağrımda, ummanlardan nem duymam 
Alevler yağsa göklerden ve ben messeylesem duymam 
Cemâlinle ferah-nâk et ki yandım yâ Resûlallâh.

Ne devletdir yumup aşkınla göz, râhında cân vermek 
Nasîb olmaz mı Sultânım haremgâhında cân vermek 
Sönerken gözlerim âsân olur âhında cân vermek 
Cemâlinle ferah-nâk et ki yandım yâ Resûlallâh.

Boynu büktüm, perîşânım, bu derdin sende tedbîri 
Lebim kavruldu âteşden döner pâyinde tezkîri 
Ne dem gönlüm murâd eylerse taltîf eyle Kıtmîr’i 
Cemâlinle ferah-nâk et ki yandım yâ Resûlallâh.
YANAN KALBE DEVASIN SEN
Büyük eserleri büyük âşıklar verir. 

İnsan, yandığı ölçüde yükselir. 

Ebediyet sırları ile Rabbani aşk arasında kuvvetli bir bağ vardır. 

Aldatıcı sağlık, hastalıktan daha kötüdür. 

Mütevazı görünen öyle kimseler vardır ki; kendilerini herkesten üstün görürler de tevazuu lütuf gibi etrafa saçarlar. 

Yeni olacak hiçbir şey yok. Her şey ezelde olmuş ancak, şimdi görüntü perdeye yansıyor. 

Namaz kılmak!.. Aman Allah’ım o ne büyük nimettir! Kanımla, gözyaşımla abdest alabilsem, kızgın saç üstünde namaz kılabilsem. Yanarak, kavrularak namaz kılabilsem… Namaz kanadını açmadıkça hakikate uçamazsınız!.. 

Tasavvuf bilmek işi değil; duymak ve olmak işidir. 

Vücut babamız Hazreti Âdem, Ruh babamız Hazreti Muhammed’dir. �
SÖZLERİ

YAMAN DEDE HAKKINDA YAZILAN KİTAPLAR

Sadık Yalsızuçanlar, Mustafa Özdamar (Yaman Dede), Muhsin İlyas Subaşı ve Mustafa Demirci (Yaman Dede) Yaman Dede hakkında kitap yazmışlardır.

YAHYA KEMAL’İN HAKKINDA YAZDIKLARI

Yüz sürdü gerçi pâyine çok Müslüman Dede
Mollâ-yı Rûm görmedi bundan Yaman Dede.
------------------------------------
Peygamberin ayağının izine pek çok Müslüman dede yüzünü sürdü, 
Lakin Anadolu mollaları bundan daha Yaman bir dede görmedi 

LG Webos Uydu Kanal Ayarı

LG Webos işletim sistemi gayet güzel ve kullanışlı (43UJ630V ZA). Dahili uydu alıcınız varsa uydu ayarını yapmak gayet kolay TKGS (Türksat Kanal Güncelleme Sistemi) de içerdiğinde uyduyu manuel olarak güncellemeye de gerek yok. Çünkü kendisi otomatik olarak güncelliyor. Kanal ayarını yapmak için aşağıdaki adımları takip etmeniz yeterli olacaktır.

  • Tüm Ayarlar > Kanallar > Kanal Tarama ve Ayarlar > Uydu Ayarları > Uydu #1 TURKSAT 42.0E, LNB Frekansı 9750/10600

DiSEqC değeri varsayılan olarak ‘Kapalı‘ gelmektedir. Burayı ‘A’ olarak değiştiriyoruz. Ardından ‘TAMAMLANDI‘ diyerek üst menüye geri dönüyoruz.

  • Otomatik Ayarlama > Uydu > Türksat > Başlat

Hepsi bu kadar. Arama işlemi uzun sürmeyecek çünkü uydudan kanal listesi otomatik olarak indirilecektir. Otomatik güncelleme varsayılan olarak açık gelmektedir. Bu ayar değiştirilmediği müddetçe kanallarda herhangi bir değişiklik olduğu zaman televizyonunuza otomatik olarak güncelleme indirilecektir.

WordPress: yazınıza kaynak kod ekleme

WordPress’te yazınıza kaynak kod eklemek için Pastacode eklentisini kullabilirsiniz. Kurulumu ve kullanımı oldukça basit bir eklenti. Öncelikle WordPress admin panelinizden Pastacode eklentisini arayıp kuruyoruz ve etkinleştiriyoruz. Kullanım için herşey hazır. Artık yazı yazma panelinde aşağıdaki resimde görülen bir logo eklendi.

Bu butona tıkladığımızda bir menü açılıyor. Eğer bir yerden alıntı yapacaksak (Github vs.) onlardan birini seçiyoruz. Kendimiz kod yazmak istiyorsak yada başka bir yerden kopyalayıp buraya yapıştıracaksak Write code’u seçiyoruz. Aşağıda gibi bir panel açılıyor. Select a syntax seçeneğinde hangi dilde bir kod yazacaksak onu seçiyoruz. Kod kısmına da kodu yapıştırıyoruz. Diğer seçenekler de opsiyonel. Hepsi bu kadar.

Çok Katmanlı Algılayıcılar (Multi-Layer Perceptron)

  • SINGLE PERCEPTRON MODEL

Multilayer Perceptrom Model’den  önce Perceptron Model’den bahsetmek gerekiyor. Perceptron Model bir Yapay Sinir Ağları modelidir ve bugünkü Yapay Sinir Ağları için önemli bir temel oluşturmaktadır. Supervised (denetimli) bir training (öğrenme) algoritmasıdır. Yani ağa hem giriş hem de çıkış kümesi verili ve öğrenme beklenir. Perceptron Modeli’nde en önemli faktör eşik değeridir. Bu değer kullanılarak güzel bir sınıflandırma yapılabilmektedir. Saptanacak olan eşik değeri probleme göre belirlenebilir. Bu modelde iterasyon sayısı artırılarak öğrenme derecesi artırılabilir. Tek Katmanlı Algılayıcı’lar aşağıdaki şekilde modellenmiştir.

Modelde görülen x değerleri girişleri, w değerleri ise ağırlıkları ifade edilmektedir. BIAS değeri ise öğrenmeyi güçlendirmek için kullanılır. Ayrıca öğrenmeyi güçlendirirken yerel optimum değerler takılmayı da önler. Bu modelin algoritma adımlar şu şekildedir;

Adım 1) Tüm ağırlıklara başlangıç değerleri atanır. Öğrenme katsayısına küçük bir değer verilir. (Örn: Bias = 0)

Adım 2) Adım 3 ile 7 arasını belirli bir iterasyon sayısına ulaşılıncaya kadar tekrarla.

Adım 3) Her bir girdi için Adım 4 ile 6 arasını tekrarla.

Adım 4) Girdi değerlerini girdiden al.

Adım 5) Perceptron’a gelen toplam sinyali hesapla. Aktivasyonu hesapla.

Adım 6) Eğer hesaplanan değer beklen değerden farklı ise, hesaplama yanlıştır. Ağırlıkları güncelle.

Adım 7) Döngü sonunu kontrol et.

Şekil-1’de görüldüğü üzere Perceptron Model tek katmanlıdır. Bu yüzden Single Perceptron Model de denmektedir. Sadece giriş ve çıkış katmanı bulunmaktadır. Net girdi hesaplanır. Girdi eşik değerin altındaysa 0, üstündeyse 1 olarak çıkış değeri belirlenir. Çıkış beklenen değerden farklı ise ağırlık güncellemesi yapılır. Şöyle ki ; Eğer çıkış 1 bekleniyorken, 0 olarak alınmışsa ağırlıklarda artırılmaya gidilir. Tersi durumda ise ağırlıklar azaltılır. Artırım ve azaltım belirlenen delta değeri ile yapılır. Tüm eğitim seti için doğru sonuçlar bulunana kadar algoritma devam ettirilir. Her biri için doğru sonuçlar bulunduğunda öğrenme tamamlanmış sayılır. Bu modelde elde edilen çıktı fonksiyonu doğrusaldır. Perceptron Modeli ile ağa gösterilen örnekler iki sınıf arasında paylaştırılarak iki sınıfı birbirinden ayıran doğru bulunmaya çalışılır. Aşağıda örnekle gösterilmiştir.

Şekil-2

Şekil-3

  • DOĞRUSAL AYRILABİLİRLİK (Linear Seperability)

Bir düzlemde sadece bir hat varsa iki sınıfa ait iki boyutlu örüntülerin bir kümesi doğrusal olarak ayrılabilirdir. Şekil-2’de görülen doğru düzlemi bir hatla ikiye ayırmıştır. Verilen düzlemdeki örneklerin hepsi iki gruptan birine dahil olmuştur. Yani problem çözülebilir. Konuya örnek olarak and ve or fonksiyonları verilebilir. Bunları şekil üzerinden görelim. Yandaki şekilde veya fonksiyonu gösterilmiştir. Bilindiği üzere or fonksiyonunun 1 çıkışı vermesi için giriş değerlerinden birinin bir olması yeterli  olur. Bu durumda or fonksiyonunun çıktılarını düzlemde iki gruba ayırmak istersek yandaki şekilde bu işlemi gerçekleştirebilir. Yani or fonksiyonu doğrusal ayrılabilirdir. Or fonksiyonunu yapay sinir ağları yöntemleriyle sisteme öğretmeye çalışırsak başarılı olabiliriz. Aynı durum and fonksiyonu içinde geçerlidir. Tek farkı doğru farklı yerden geçip düzlemi ikiye ayıracaktır. Eğer bir problem doğrusal ayrılabilir ise o zaman Perceptron Öğrenimi ile örüntülerin bir kümesinden ağırlıklar elde edilebilir. Eğer problem doğrusal ayrılabilir değilse Single Perceptron Modeli ile çözüme ulaşamayız.

  • XOR PROBLEMi

Xor fonksiyonu doğrusal ayrılabilir değildir. Daha önce bahsettiğimiz or ve and fonksiyonunun çıktılarını düzlemde iki gruba ayırabiliyorduk. Fakat xor fonksiyonunda bunu gerçekleştiremiyoruz. Düzlemdeki çıktıları tek bir hatla ikiye bölemiyoruz.(Şekil 5) En az iki doğru gerekiyor. Xor problemi Yapay Sinir Ağları’nın “Hello World”ü olarak bilinir. Perceptronlar XOR Problemi gibi doğrusal olarak sınıflandırılamayan problemleri çözümünde başarısızdır. XOR Problemi’ni çözmek için geriye yayılımlı çok katmanlı ağlardan faydalanılabilir.

Şekil-4

Şekil-5

  • MULTI-LAYER PERCEPTRON MODEL

Çok Katmanlı Algılayıcılar (MLP) XOR Problemi’ni çözmek için yapılan çalışmalar sonucu ortaya çıkmıştır. Rumelhart ve arkadaşları tarafından geliştirilen bu modeli ‘Back Propogation Model’ yada hatayı ağa yaydığı için ‘Hata Yayma Modeli’ de denmektedir. Delta Öğrenme Kuralı denilen bir öğrenme metodu kullanır. MLP özellikle sınıflandırma ve genelleme yapma durumlarında etkin çalışır. Çok Katmanlı Ağ’ların yapısı aşağıdaki gibidir.

Şekil-6

Birçok giriş için bir nöron yeterli olmayabilir. Paralel işlem yapan birden fazla nörona ihtiyaç duyulduğunda katman kavramı devreye girer. Görüldüğü üzere Single Perceptron Model’den farklı olarak arada gizli(hidden) katman bulunmaktadır. Giriş katmanı gelen verileri alarak ara katmana gönderir. Gelen bilgiler bir sonraki katmana aktarılırlar. Ara katman sayısı en az bir olmak üzere probleme göre değişir ve ihtiyaca göre ayarlanır. Her katmanın çıkışı bir sonraki katmanın girişi olmaktadır. Böylelikle çıkışa ulaşılmaktadır. Her işlem elemanı yani nöron bir sonraki katmanda bulunan bütün nöronlara bağlıdır. Ayrıca katmandaki nöron sayısı da probleme göre belirlenir. Çıkış katmanı önceki katmanlardan gelen verileri işleyerek ağın çıkışını belirler. Sistemin çıkış sayısı çıkış katmanında bulunan eleman sayısına eşittir. Single Perceptron Modeli incelerken bahsettiğimiz nöron yapısı burada aynen geçerlidir.

Modelde aktivasyon fonksiyonu olarak herhangi bir matematiksel fonksiyon kullanılabilir. Ancak Sigmoid, tang, lineer, threshold ve hard limiter fonksiyonları en çok kullanılan fonksiyonlardır.

Şekil-7

Çok katmanlı ağlardaki hücreler yandaki gibidir. Aktivasyon fonksiyonu olarak yandaki modelde sigmoid fonksiyonu seçilmiştir. Çok katmanlı ağda öğrenme Delta Öğrenme Kuralı tabanlıdır. Ağın öğrenebilmesi için örnek giriş ve çıkışlardan oluşan  eğitim seti şarttır. Geri Yayılımlı Yapay Sinir Ağları’nda öğrenme işlemi bir anlamda örnek setindeki giriş değerleriyle, çıkış değerlerini eşleştiren fonksiyonu bulma işlemidir.  Sistemin öğrenme metodu genel olarak iki aşamadan oluşur. Birinci kısım ileri doğru hesaplamadır. İkinci kısım ise geri doğru hesaplamadır (back propogation).

İleri doğru hesaplama aşamasında sisteme verilen girdi ara katmanlardan geçerek çıkışa ulaşır. Her işlem elemanına gelen girdiler toplanılarak net girdi hesaplanır. Bu net girdi aktivasyon fonksiyonundan geçirilerek mevcut işlem elemanının çıktısı bulunur. Ve bu çıktı değeri bir sonraki katmanda bulunan işlem elemanlarına gönderilir. Bu işlemler tekrar edilerek en son çıktı katmanından çıktılar elde edilir. En çok kullanılan aktivasyon fonksiyonu olan sigmoid fonksiyonu şekildedir.

Şekil-8

Ağdan çıktı alınmasıyla öğrenmenin ilk aşaması bitirilmiş olur. İkinci aşama hatanın dağıtılması olacaktır. Beklenen çıktı değeri ile elde ettiğimiz birbirinden farklı ise hata vardır. Geriye doğru hesaplama aşamasında hata ağırlık değerlerine dağıtılarak her iterasyonda azaltılması beklenir. Sisteme başlangıçta random olarak verilen ağırlık değerleri, hataların ağırlıklara dağıtılmasıyla her iterasyonda güncellenmiş olur.

Genelleştirilmiş Delta Öğrenme Kuralı’nın yapısı genel olarak aşağıdaki gibidir.

Şekil-9

Multi-layer Perceptron(MLP) yani Çok Katmanlı Algılayıcılar, Yapay Sinir Ağları’na olan ilgiyi hızlı bir şekilde artırmıştır. MLP ile birlikte YSA tarihinde yeni bir dönem başlamıştır. Geniş kullanım alanına sahiptir. Örnek verecek olursak; Otomotiv alanında yol izleme, rehberlik vs. gibi konularda kullanılmaktadır. Bankacılıkta kredi kartı suçu tespiti ve kredi uygulamalarında kullanılmaktadır. Uzay sanayinde uçuş simülasyonu  ve otomatik pilot uygulamalarında kullanılır. Finans sektöründe ise döviz kuru tahminlerinde kullanılır.

  • MULTI-LAYER PERCEPTRON MODEL UYGULAMASI

Uygulamamızı anlatırken, sadece main sınıfımızdaki kodlar konulup bu sınıfın kullandığı fonksiyonları kod koymaksızın anlatılacaktır. Uygulamamıza giriş olarak 9 değer verilmiştir bunlar;

inputs = [ 0 0 0 ; 0 1 0 ; 1 0 1 ; 1 1 1];
targets = [ 1 1 ; -1 -1 ; -1 -1 ; 1 1];

ni = 3;
nh = 4;
no = 2;
wsize = ((ni+1)*nh)+(nh*no); 
net = 4*rand(1,wsize)-2;
ci = zeros(ni+1,nh);
co = zeros(nh,no);

Giriş değişkenlerimize sırasıyla bakacak olursak;

inputs,targets: Multi Layer Perceptron modeli danışmanlı öğrenme yöntemini kullanarak algoritmanın eğitimini gerçekleştirir. Danışmanlı öğrenme modelinde ise algoritmanın eğitilmesi için giriş değerleri ve bu giriş değerlerden üretilmiş olan çıkış değerleri verilmelidir. Uygulamamızdaki giriş ve çıkış değerleri raporumuzda açıklanan ex-or problemi ile benzerlik göstermektedir. Böylece Multi Layer Perceptron modelinin “Hello word” ü olarak tanımlanan bir uygulamayı gerçekleştirmiş oluyoruz.

ni: Bu değişken algoritmamızda giriş sayısı olarak kullanılmaktadır. Bu değişkenin değiştirilmesi halinde inputs değişkenin içerisinde bulunan değerleri de değiştirmemiz gerekecektir.

nh: Bu değişken ise  ara katmandaki nöron sayısı olarak tanımlanmaktadır.

no: Bu değişken ise targets değişkenine bağlıdır ve girişler sonucunda üretilen çıkış sayısıdır. Eğer targets sayısı değiştirilirse bu değişkeninde değiştirilmesi gerekmektedir.

wsize : bu değişken giriş sayısı, nöron sayısı ve çıkış sayısı kullanılarak oluşturulan ve ağırlık sayısını temsil eden değerdir. Denklemde kullanılan (ni+1) değerindeki +1 öğrenmeyi güçlendirmek için kullanılan bias değeridir.

net: Bu değişken ağırlıkların tutulduğu vektördür. Başlangıçta rastgele atanan değerler ile doldurulur ama kullanılan algoritmada her bir döngüde bu değerler çeşitli parametrelere göre değiştirilmektedir.

ci: Her döngüde girişlerde oluşan değişimi tutan vektördür. Başlangıç değeri olarak giriş sayısı ve ara katman sayısı parametrelerine göre sıfır değerleri atanır. Değişim oldukça bu vektör düzeltilir. Denklemde kullanılan (ni+1) değerindeki bias değeri için kullanılmıştır.

co:  Bu vektör ise çıkış değerlerindeki değişimleri tutmaktadır. Başlangıç değerleri ara katman sayısı ve çıkış sayısı parametrelerine göre sıfır olarak atanır. ci,co değişkenleri hatanın hesaplanması için kullanılmaktadır. Böylece her adımda hata kontrolü yapabiliyoruz ve bu hata kontrolüne göre eğitimi durdurabiliyoruz.

for i=1:1000
 error = 0;
 for j=1:4
 [ net,co,ci,err ] = BackProp(net,inputs(j,:),targets(j,:),ni,nh,no,co,ci ); 
 error = error + err; 
 end
 if mod(i,100)==0
 display([' Error ',num2str(error)])
 end
end

Bu kod bloğu eğitim gerçekleştiği yerdir. Bizim uygulamamızda belli bir iterasyon sayısı boyunca eğitim devam etmektedir ve bin iterasyonda sonlanmaktadır fakat bu yaklaşım yerine her adımda hesapladığımız hata değerini(gerçek değere yakınlığını) de kullanabiliriz. Yani algoritmamız bizim belirlediğimiz hata değerinden küçük oluncaya kadar eğitime devam edebilir.

Algoritma her bir iterasyonda her bir giriş için:

BackProp(net,inputs(j,:),targets(j,:),ni,nh,no,co,ci ); fonksiyonunu kullanmaktadır. Bu fonksiyon parametre olarak ağırlık değerleri, girişler, çıkışlar, giriş sayısı, nöron sayısı, çıkış sayısı ve hata hesaplamaları için kullanılan parametreler alarak işlemini gerçekleştirmektedir. İlk önce ileri doğru hesaplama gerçekleştiriliyor.  Bu hesaplama iki kısma ayrılıyor. Birincisi giriş katmanı ile ara katman arasında, ikincisi ise ara katman ve çıkış katmanı arasında gerçekleşiyor. İkinci kısım birinci kısımdan çıkan değerleri kullanmak suretiyle çıkışlar üretiliyor. İleri doğru hesaplama yapılırken birçok aktivasyon fonksiyonu kullanılabilir. Bizim uygulamamızda hiperbolik tanjant fonksiyonu kullanılmaktadır. Böylece ileri doğru hesaplama tamamlanmış oluyor. İleri doğru hesaplama tamamlandıktan sonra ağa sunulan girdi için ağın ürettiği çıktı ağın beklenen çıktıları ile karşılaştırılır. Bunların arasındaki fark hata olarak kabul edilir. Bu hata, ağın ağırlık değerlerine dağıtılarak bir sonraki iterasyonda hatanın azaltılması sağlanır. Algoritma eğitimi de sürerken toplamda on adımda hata yazdırılarak hatanın giderek azaldığı gösterilmiştir.  Böylece hata azaltılarak bütün ağa paylaştırılmış ve geri doğru hesaplama tamamlanmıştır. İki aşama da sona erdikten sonra eğitim tamamlanmış ve değerlerin test edilmesi aşamasına gelinmiştir.

for j=1:4
 output = EvalNN( inputs(j,:),net,ni,nh,no );
 display([' Inputs [',num2str(inputs(j,:)),'] --> outputs: [',num2str(output),']']) 
end

Bu kod bloğunda kullanılan EvalNN( inputs(j,:),net,ni,nh,no );  fonksiyonu ile giriş değerleri test edilmektedir ve öğrenmenin ne kadar başarılı olduğu belirlenmektedir. Test aşamasından çıkan sonuçlar ise şöyledir.

inputs =
 0 0 0
 0 1 0
 1 0 1
 1 1 1
targets =
  1 1
 -1 -1
 -1 -1
  1 1
Error 2.0021
Error 1.9997
Error 0.012925
Error 0.0028741
Error 0.0016513
Error 0.0011705
Error 0.00091238
Error 0.00075076
Error 0.00063978
Error 0.00055868

Inputs [0 0 0] --> outputs: [0.99643 0.99213]
Inputs [0 1 0] --> outputs: [-0.98962 -0.98221]
Inputs [1 0 1] --> outputs: [-0.99356 -0.98541]
Inputs [1 1 1] --> outputs: [0.98985 0.98393]

Görüldüğü üzere hata gittikçe azalmıştır ve girilen giriş değerlerine göre ağın ürettiği çıkış değerleri gerçek değerlere çok yaklaşmıştır.

KAYNAKLAR

Fifa 97 International Soccer (Captain Majeed – Captain Majid) Atari Oyunu

Ataride oynadığım ve en çok sevdiğim oyunlardan biriydi Fifa 97 International Soccer yada benim oynadığım adıyla Captain Majeed. Sene 1998 filan olması lazım henüz bilgisayarım yok hatta bilgisayar başına oturmuşluğum bile olmayabilir. Bilgisayar oyunlarından önceki en büyük eğlence ise atari.

Oyun Tecmo firması üretimidir. Açılış ekranı aşağıdaki gibidir. İsmi International Fifa 97 olarak da geçiyor görselde görüldüğü üzere.

Oyunda 16 ülke bulunmaktadır. Takımınızı seçtikten sonra size geri kalan takımlar arasından rasgele bir rakip seçer (Oyunun isminde 1997 olmasına rağmen Sovyetler ve Berlin Duvarı henüz yıkılmamış 🙂 ).

Oyun kuş bakışı oynanıyor ve kısa vuruş ve uzun vuruştan başka alternatiniz yok. 2 oyuncu seçeneğiyle kardeşimle baya oynamıştık bu oyunu.

Oyunu bir süre oynadıktan sonra ilk galibiyetimi aldım ve ikinci maça geçtim. İkinci maç çok zor gelmişti o zaman için ve yenilmiştim. Tekrar yenildiğiniz turdan devam edebiliyorsunuz tabi atariye kapatmazsanız yada atari donmazsa. 🙂 Bir süre sonra oyunu bu şekilde tamamlayamayacağımı anlamıştım. Çünkü aralıksız galibiyet dahi alınca 15 maç baya uzun bir süre tutuyordu. O zaman bu kadar süre iznimiz yoktu oynamak için hem de televizyona bağlı olduğundan dolayı da TV izleneceği zaman mecburen atari kapatılıyordu. Ki aralıksız galibiyet bu oyunda imkansız gibi birşey. Neyse bir süre sonra açılış ekranında çıkan continue seçeneği dikkatimi çekti. Orada bir kod girilecek bir ekran geliyordu. Maçlardan sonra da bir kodun ekranın altında belirdiğini farkettim. Artık her tur geçişimde ekrana çıkan kodu not ediyor. Böylelikle kaldığım turdan devam edebiliyordum. Baya bir uzun süre sonra oyunu bitirebilme şerefine ulaştım 😀 .

Kupa kazanıldığında nasıl birşeyle karşılaşacağımı çok merak ediyordum aşağıda Brezilya ile kazandığım turnuvanın görüntüsü var.

Oyun yıllar sonra aklıma geldi ve internette aramalarım sonucunda şu linkte oyunu buldum. Başka sitelerden de oyunu bulabilirsiniz. Güzel bir nostalji oldu benim için. Resmen çocukluğuma gittim.


Ayrıca o zaman dikkatimi çekmeyen ama şimdi dikkatimi cezbeden bir durumdan daha bahsedeceğim. Yukarıda bahsetmiştim. Ataride kaydetme seçeneği olmadığından dolayı (sonuçta kaydedebileceğiniz bir disk yok) size her maçtan sonra bir kod veriyor. Bu kodu atariye ne zaman girerseniz o zamanki pozisyona geri dönüyorsunuz. Adamlar başka bir deyişle tüm kazanma ve kaybetme durumlarını kodlamışlar. Atıyorum Brezilya’yı seçtiniz, rasgele rakibiniz Arjantin geldi ve bu maçı geçtiniz. İkinci maçta İngiltere rakibiniz oldu ve yenildiniz. Size verilen kodu aldınız ve başka bir gün o kodu atariye girdiniz. Bu durumda Brezilya’yı seçmiş, Arjantin’i elemiş oluyor ve İngiltere ile tekrar maça başlıyorsunuz. O zaman için harika bir kaydetme çözümü olmuş bir nevi. Size verilen kodlar 9 haneli ve 16 harf kombinasyonundan oluşuyor. 16 üzeri 9 adet kombinasyon ayarlanabilir bu kadar harf ve haneyle. Bir ara kafa yorup 9 hane ve 16 kombinasyonun seçilme nedenini anlamaya çalışacağım. Ama hayranlık duydum ne diyim.


Son olarak Brezilya’yı seçtiğinizde final yolu şu şekilde olabilir (tabi gelen rasgele ekiplere göre farklı bir sürü kombinasyon da olabilir). Bu şekilde kupayı kazanmıştım. Aşağıdaki final kodunu girerseniz. Finalde Brezilya ile İngiltere’ye karşı oynuyorsunuz. 🙂

brezilya ile 2. tur kodu : llmımbopı
3. tur kodu: llkimbdae
4. tur kodu: nljimbdio
5. tur kodu: edmgmfopg
6. tur kodu: gdmgafpig
7. tur kodu: odkibfddo
8. tur kodu: ohkiafpeo
9. tur kodu: ohjkafdeg
10. tur kodu: npbmbfaeg
11. tur kodu: mpdmbfemo
12. tur kodu: phbkbhaeg
13. tur kodu: dhekahemo
yarı final kodu: bjekbheeg
final kodu: jbjdihedo

TRUBA yenilenen OpenVPN Bağlantısı

Bilindiği üzere Truba 2018 itibariyle OpenVpn bağlantı şeklini değiştirdi. Bu değişimle birlikte kullanıcıya özel sertifikaya gerek kalmadı. Böylelikle sertifika süresinin dolması ve sertifika yenilenmesine de gerek kalmamış oldu. Yeni bağlantı şekli ile yapmamız gereken öncelikle OpenVPN programını güncellemek ki, Linux kullanıyorsanız ve işletim sisteminiz güncelse bu işleme gerek yok. Sonrasında ise aşağıdaki komut ile OpenVPN genel yapılandırma dosyasını indiriyoruz (Bilgisayarınızda wget yoksa apt-get install wget ile edinebilirsiniz).

NOT: Windows 10 kullananlar TRUBA’nın wiki sayfasından yararlanabilirler (Diğer işletim sistemleri için de bilgiler mevcut).

wget http://wiki.truba.gov.tr/TRUBA-VPN/TRUBA-genel.ovpn

Daha sonra Truba’ya bağlanmak için aşağıdaki komutu kullanıyoruz (Dizini kendi dizininize göre ayarlamalısınız).

sudo openvpn /home/nuh/vpn/TRUBA-genel.ovpn

Sırasıyla kullanıcı adı ve şifre soracak. Buralara Truba için daha önce aldığınız ssh kullanıcı adı ve şifrenizi giriyorsunuz ve işlem tamam. Aşağıdaki gibi bir ekranla karşılaşacaksınız ve bağlantınız gerçekleşecektir.

Thu Apr 19 22:44:00 2018 OpenVPN 2.4.3 x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [PKCS11] [MH/PKTINFO] [AEAD] built on Jul 3 2017
Thu Apr 19 22:44:00 2018 library versions: OpenSSL 1.0.2g 1 Mar 2016, LZO 2.08
Enter Auth Username: sizin_kullanici_adiniz
Enter Auth Password: ********
Thu Apr 19 22:44:06 2018 TCP/UDP: Preserving recently used remote address: [AF_INET]193.140.99.241:1195
Thu Apr 19 22:44:06 2018 UDP link local (bound): [AF_INET][undef]:1194
Thu Apr 19 22:44:06 2018 UDP link remote: [AF_INET]193.140.99.241:1195
Thu Apr 19 22:44:06 2018 WARNING: this configuration may cache passwords in memory -- use the auth-nocache option to prevent this
Thu Apr 19 22:44:06 2018 [midye.truba.gov.tr] Peer Connection Initiated with [AF_INET]193.140.99.241:1195
Thu Apr 19 22:44:08 2018 Options error: Unrecognized option or missing or extra parameter(s) in [PUSH-OPTIONS]:5: register-dns (2.4.3)
Thu Apr 19 22:44:08 2018 TUN/TAP device tun0 opened
Thu Apr 19 22:44:08 2018 do_ifconfig, tt->did_ifconfig_ipv6_setup=0
Thu Apr 19 22:44:08 2018 /sbin/ip link set dev tun0 up mtu 1500
Thu Apr 19 22:44:08 2018 /sbin/ip addr add dev tun0 10.3.8.111/22 broadcast 10.3.11.255
Thu Apr 19 22:44:08 2018 Initialization Sequence Completed

Ssh ile Truba’ya bağlanabilirsiniz (bunun için başka bir terminal kullanabilirsiniz). Aşağıda levrek1 sunucusuna nasıl bağlanacağınıza dair bir komut bulunmaktadır. Diğer sunucular için yukarıda daha önce verdiğim linkten bilgi alabilirsiniz.

ssh username@172.16.7.1

Not: İşiniz bitip OpenVPN bağlantısının açtığımız terminali kapatırsanız tekrar bağlanmaya çalıştığınızda hata veriyor. Bunun önüne geçmek için ben VPN bağlantısını screen ile açıyorum arka planda açık kalıyor. Aksi durumda terminal kapandığında tekrar VPN bağlantısı yapabilmek için bilgisayarı restart etmek gerekiyor.

Honda Civic 2012-2014 Multimedia Navigasyon SD Karta Yükleme 2018 haritası – GPS SD Kart (Diğer araçlardaki multimedya cihazlarla da uyumlu olabilir)

Navitech – Navix – Navix NVX 7900 MKV – Navix 6678 – Kawai – Kawai 3100n – Navimex – Navimex 9924 – Navimex 9974 – Navimex 9991 – Navimex Nav 9920 – Primo Navitech – Harward Hr-7666 – Necvox Black Edition – Necvox platinum – Navigold – Hanstar – KR8006 – Navigold – Hannstar – 2012 ST-8006 – Cyclone UYUMLUDUR

iGO Başarsoft 2018.03 (Q1) Türkiye ve KKTC Haritası (21.05.2018) ile güncellenmiştir.

For foreign users and the users who use navigation outside Turkey, this program also can be run by your Wince based multimedia. But you have to find your own map and replace it in the map folders.

Honda Civic aracımda bayi çıkışlı bir multimedya sistemi var. Araç sıfır alındığında üzerindeymiş. Multimedya cihazın markası konusunda net bir bilgi edinemedim. Anladığım kadarıyla farklı firmalar bu cihazları Çin’den getiriyorlar daha sonra burada bir isim verip, satıp, destek veriyorlar. Honda bayileri de belli aralıklarla farklı firmalarla anlaşıp cihazları araçlara taktırıyor. Aynı görünüme sahip bir sürü farklı marka multimedya cihazından gördüm çünkü (Hanstar, KR-8006, Navigold, Hannstar, 2012 ST-8006, Cyclone vs.). Cihazın görüntüsü aşağıdaki şekildedir. Cihazın işletim sistemi Android değil Windows CE. Wince kullanan diğer araçlarda da aynı sistem farklı görüntülerde kullanılıyor olabilir. O yüzden bu yazı Honda’dan farklı araç sahiplerinin de işine yarayacaktır.

Aracı satın aldığımda bendeki cihazın GPS SD kartı kaybolmuş durumdaydı. Cihaza uygun SD kart için hem internetten hem de Honda bayilerini arayarak baya bir araştırma yaptım. Sonunda bu bağlantıdaki bilgilere ulaştım ve buradan halledebildim. Ben size buradan daha öz ve kolay şekilde nasıl yapacağınızı anlatacağım.

  • Öncelikle aşağıdaki linkteki bağlantıdan SD karta kopyalayacağınız içeriği indiriyorsunuz. 611 Mb boyutundaki bu dosyayı indirdikten sonra işiniz kolay.

SD KART İÇERİĞİ İNDİR  (iGO Başarsoft 2018.03 (Q1) Türkiye ve KKTC Haritası (21.05.2018))

  • SD kartı bilgisayarına takın ve FAT32 formatında biçimlendirin ve ismini STORAGECARD olarak değiştirin (aslında isim çok da önemli değil ama olsun).
  • İndirdiğiniz rar dosyası içerisindeki NaviOne isimli klasörü SD kart içerisine kopyalayın.
  • SD kartı aracınızdaki multimedya cihazına takın. Ayarlar > Navigasyon bölümünden dosya yolu’na tıklayın ve SDMMC (veya STORAGECARD) > Navione > Navione.exe’yi seçin.
  • İşlem tamamlandı NAVI tuşuna basarak navigasyonu çalıştırın. GPS kartı yok hatası gelmeden programın açılması gerekiyor. Yaklaşık 10-15 saniyelik bir yükleme süresi olduğunu da unutmayın, biraz beklemeniz gerekecek.

Artık navigasyonunuz çalışıyor.

Not  1:  Bu işlem için firmalar minimum 50 lira gibi bir ücret istiyorlar. Eğer bu yazı işinize yaramışsa ve teşekkür etmek isterseniz sayfadaki reklamlara tıklamanız yeterli. 🙂

Not 2: İndirdiğiniz dosyanın içerisindeki harita sürümü 21 Mayıs 2018 tarihi itibariyle güncel Türkiye ve KKTC harita dosyasıdır (iGo 2018.3 harita ve poi). İçerisinde petrol ofisleri de isimleri ve logolarıyla belirtilmiştir. Yeni sürümlerin olması durumunda dosyaları güncelleyerek buradan tekrar yayınlayacağım.

Not 3: Bazı Android cihazlar için de aynı adımların izlenilmesi halinde navigasyonun yüklenebileceği söyleniyor. Deneme imkanım olmadı Android cihazı olanlar deneyebilirler.

Not 4: Bu yazılımın aynı şekilde yüklenmesi halinde çalıştığı söylenen cihazlar da şu şekildedir; Navix NVX 7900 MKV, Navix 6678 (diğer NAVİX marka cihazlarda da çalışması muhtemel), Navimex 9924, Navimex 9974, Navimex 9991, Navimex Nav 9920 (diğer Navimex marka cihazlarda da çalışması muhtemel), Primo Navitech, Harward Hr-7666, Kawai 3100n, Necvox platinum, Necvox Black Edition  ve ayrıca Navigold‘da da çalışacağını zannediyorum.

WordPress Ad Inserter Google Adsense Eklentisi

Mayıs 2017 itibariyle Google, resmi WordPress Adsense eklentisini kaldıracağını duyurmuştu ancak kaldırmamıştı. 1 Ocak 2018 itibariyle bu eklentiyi kullananların reklamları kayboldu. Her ne kadar Adsense’ten para kazanamasam da  reklamların görüntülenebilmesi için başka eklentiler araştırmaya başladım. Birkaç eklentiyi denedikten sonra Ad Inserter eklentisini kullanmaya karar verdim. Kurulum ve kullanımı gayet basit bir eklenti kendisi. Eklentiyi kurmak için admin panelinden Eklentiler > Yeni Ekle diyoruz ve arama kutucuğuna Ad Inserter yazarak arıyoruz ve kurulumu tamamlıyoruz.

Ad Inserter eklentisinin ayarlar paneli aşağıda görüldüğü gibidir.

Resimde görüldüğü üzere 16 adet reklam bloğu oluşturabilirsiniz. Block içerisine adsense scriptinizi yapıştırmanız yeterli olmaktadır. Sonrasına ise reklamların nerede görüneceğini seçmek kalmaktadır. Yazılarından önce, paragraf arasında, yazıdan sonra gibi farklı şekillerde reklamlarınızı konumlandırabileceğiniz gibi bileşen (widget) olarak da ekleyebilirsiniz. Kullanım kolaylığı açısından bu eklentiyi tavsiye edebilirim.

eskisehir escort eskisehir escort porno porno izle