Sayfalar

Çarşamba, Temmuz 14, 2010

Yarım Kalmış Projeler 1


SetEnaniyetKafDağı(); 

Yarım kalmış projeler külliyatımıza, ha bire ekleme yapmaktan sıkıldığımızdan.  Ya bu işler niye böyle yarım yamalak kalıyor ? diyerek bir iki adım geri çekilip mevzuya bakmaya çalışıyoruz

Projeler zannımca 3 aşama  veya  kısımdan oluşuyor

  • Fikir
  • Uygulama
  • Pazarlama / Tanıtım / Yaygınlaştırma
 İlk aşamamız Fikir. Temel bir aşamadır ve diğer aşamalarında etkiler. İyi bir fikir vasat uygulama ve vasat  pazarlamayla başarılı olabilirken. Kötü bir fikrin  iyi uygulama ve iyi pazarlamayla da olsa başarılı olma ihtimali düşüktür. 

İyide zaten kim kötü bir fikirle yoluna devam eder ki ?
hiç kimse. Her kötü fikirde aslında iyi olduğu zannıyla yürütülür. 
 
Peki fikrimizin gerçekten iyi mi kötü mü olduğunu nasıl bilebiliriz ?
Aslıda bu sorunun cevabı her halde bilemeyiz. 

Fakat şöyle bir şey yapılabilir gibi geliyor bana.  bu konuda fikrin sahibi olarak kendimize güvenemeyiz. malum “Kargaya yavrusu şahin görünürmüş “ Yapılacak olan ; işin ehli, güvenilir ve dost  ( acı söyleyeninden ) birisine, o bizim yerlere göklere sığdıramadığımız, muhteşem ötesi fikrimizi anlatmaktır. Zaten anlatmaya başlayınca aslında o kadarda muhteşem olmadığının farkına varırız. Sonra Dostta acı konuşmasını yapınca, ayaklarımız daha bir yere basarak fikrimizi değerlendirebiliriz. Bütün bunlardan sonra hala fikirimizin iyi olduğunu düşünüyorsak çare yok devam edeceğiz. fani adamın güzel sözündeki gibi “Hak bellediğin yolda yalnız gideceksin!”

Fikirimiz iyiyse  fakat orijinal değilse ne olur ?
Bu durumda Projenin başarısı sonraki aşamaların başarısına bağlıdır. Rakiplerinden daha iyi uygulama ve pazarlama gerektirir.

Bir sonraki safhaya geçmeden not edelim Fikir ile Hayal’i ayıran şey ikinci ve üçüncü aşamalardaki yeteneğimiz yada bilgimizdir. Fikrin nasıl uygulanacağını  bilmiyorsak, yaptığımız şey aslında sadece hayal kurmakdır. Hayal ilede en fazla ulaşacağınız paye olada başka birisi benzeri bir fikri hayata geçirirse "Ya ben bunu düşünmüştüm " diyerek kendinize bir  övünme vesilesi çıkarmanızdır...


ReleaseEnaniyet();

Çarşamba, Temmuz 07, 2010

Farkındamıyız ?

Göklerin ve yerin mülkü Allah'ındır. Allah, herşeye güç yetirendir.
Şüphesiz göklerin ve yerin yaratılışında, gece ile gündüzün art arda gelişinde temiz akıl sahipleri için gerçekten ayetler vardır.
Onlar, ayakta iken, otururken, yan yatarken Allah'ı zikrederler ve göklerin ve yerin yaratılışı konusunda düşünürler.
(Ve derler ki:) "Rabbimiz, Sen bunu boşuna yaratmadın. Sen pek Yücesin, bizi ateşin azabından koru."
Al-i İmran 189 - 191

Üç Aylar geçiyor
Fırsatlar kaçıyor
Ömür tükeniyor
Farkındamıyız ? 
....


Ya Müheymin!
Sensin gariplerin sığınağı
Sensin kimsesizlerin dayanağı
Sensin hakkı himaye eden
Sensin aklımı aldanışlardan kollayan
Sensin ayağımı tuzaklardan kurtaran
Sen ki zayıfları kuvvetlilerin şerrinden himaye edersin
Mazlumların hakkını zalimlerden almayı vaat edersin
Sen ki benim en küçük¸ en önemsiz¸
En gizli arzularımı da bilir bana merhamet edersin
Nefsimin aldatmalarına kanmaktan koru beni
Aşağıların aşağısına yuvarlanmaktan koru beni


Ya Hafiz!
Hıfzının hazinesinde alem bir noktadan ibarettir
Hıfzının ayinesinde ay ve güneş sönük bir parıltıdan ibarettir
Bahar kışa döner bir gün gün akşama çıkar
Sabahlar sendendir koru beni sabaha eriştir
Yıldızlar söner bir gün dağlar yerinden oynar
Gökler senindir koru beni kapına yetiştir
Göklerde ölür bir gün yer yerinden oynar
Her yer senindir koru beni menzile eriştir
Kuşlar dağılır bir gün denizler kaynar ufuklar senindir
Koru beni ötelere eriştir
İsmim unutulur bir gün sesim boşlukta çınlar
Yakınlıklar sendendir
Koru beni yakınlığına eriştir
Defterim açılır bir gün günahlarım çok tutar
Takdir senindir koru beni affını yetiştir
Sözüm biter bir gün sessizlik uzar kelam senindir
Koru beni müjdeni yetiştir


Bütün soruların cevapları Esma’ul Hüsnada gizleniyor 
Üç Aylar geçiyor
Fırsatlar kaçıyor
Ömür tükeniyor
Farkındamıyız ? 
....

Pazar, Haziran 27, 2010

Kameralı Ölçüm Sistemi

Sanayide üretimin önemli bir aşamasıda Kalite kontroldür. Kalite kontrol de ürünlerin pek çok kıstasla sınanması lazım gelebilir. İşte onlardan biride ürünün istenen hassasiyette ebatlara sahip olmasıdır. İşte bu veya benzeri pek çok amaç için basit bir Kameralı ölçüm sistem programı hazırladık 

Ve Örnek ölçüm görüntülerimiz


Ben Bunları basit bir kumpaslada ölçerim demeyin.

   
 Kameranızı  mikroskopa bağlayıp neler ölçebileceğinizi de düşünün... 

Programımız C# ile yazıldı ve OpenCvSharp kütüphanesi kullanıldı
Indirmek için :  Cetvel

Pazar, Haziran 13, 2010

FannTool 1.1 Released



Evet FannTool 1.1 Betayı yayınlıyalı 4 hafta olmuş, ve 161 kişi indirmiş. Her zaman olduğu gibi süper ! yazmışım, hata bildirimi felan olmadı. Bir dahaki sefere - tabii ki bir dahaki sefer olursa  - direk yayınlarım, nasıl olsa hata felan çıkmıyor...
Aslında bu kadar da beklemeyecektimde,  "Run as Classifier" diye bir kısım da ekleyeyim diye bekledim ama  olmadı. Bu aralar üstümde bir tutukluk var, bir türlü elim varıpda ekleyemedim, kısmet.
Neyse lafı uzatmayayım  İndirmek için aşağıdaki linklere müracaat edin.
Download :



Olmazya hani belki  diyorum bir ihtimal; Görüş, öneri veya eleştirlieriniz varsa bekleriz duymakdanda menuniyet duyarız. Yardıma ihtiyacınız olursada elmizden geldiğince ve bildiğimiz kadarıyla yardımcı olmayada çalışırız. duyrulur...

Pazar, Mayıs 16, 2010

FannTool 1.1 Beta


Evet en sonunda beta haline getirebildim. Aslıda fazla bir değişiklik yok, ama pek çok düzeltme var.
Değişikliklerden kısaca bahsedersek ;
  • Run as Time Series diye bir kısım ile Zaman serileri için ileri doğru tahmin çalıştırmasını yapan bir kısım eklendi.
  • GUI kütüphanesinin yeni versiyonu kullanıldı ( FLTK 1.1.10  )
  • Pek çok Bug temizlendi
  • Kullanım kolaylığı için bazı düzeltmeler yapıldı
  • Icon ve Yeni Logo hazırlandı ( İlker Yoldaş hazırladı kendisine burdan teşekkürde etmiş olalım )
  • Dosya Seçme kısımlarının Native hale getirildi windows için

İndirmek için : FannTool 1.1 Beta

Deneyip fikirleriniz beyan ederseniz sevinirim

Pazar, Mayıs 09, 2010

Yazılım Atölyesi Ankara'da Nisan ayı etkinliği

Geçen ayki yazılım atölyesi etkinliğinden bahsetmemişdim. Çünkü konular benim ilgi ve de bilgi alanıma girmiyordu. Daha bilgili ve ilgili  katılımcıların izlenimlerini bekleyip durdum.Lakin Görebildiğim kadarıyla anlatan olmadı, bizde bir kaç satırda olsa bir şeyler karalayım dedik...

Yazlım Atölyeleri sayesinde Üniversitelerimizi gezer olduk. Geçen ayda Çankaya Üniversitesindeydik.

İlk Önce Halil Ağın bey Java camiasının ORM'si Hibernate den bahsetti. Bahsettidemek aslında biraz haksızlık olur. Uzun ve hızlıca bir ders işledi. Benim anlayabildiğim kadarıyla mevzu şundan ibaret. Veri tabanı cephesinde  ekseriyetle ilişkisel veritabanları (relational databases)  hakimiyeti var.Yazılımda da da OOP sevdasıdır sürüp gidiyor ( Allah sonumuzu hayretsin ... ) Şimdi bu OOP sevdalılarının
"ya bu İlişkisel Veritabanı mantığı bizi bozmasın hoca biz bunlarıda OOP ye dönüştürelim"
demesiyle ORM oluşmuş. Bu dönüşüm için epece cebelleştikten hatta yapının OOP ye daha uygun olabilmesi için İlişkisel veritabanı sistemine göre gereksiz tablolarda ekledikten sonra. Mutlu sona ulaşıp kolayca Veritabanı işlemlerini OOP mantığıyla yapabiliyormuşuz.

İkinci arkadaş Ahmet Oğuz Koca ise Entity Framework'u anlattı. Anlatışındaki Microsoft kurnazlığı ve kıvraklığıda gözden kaçmıyordu. Bir önceki konuşmada  Hibarnate anlatıldıya, İşte onun sağladığı bütün kolaylıklara ve avantajlara  Entity Framework ile çok daha kolay ve görsel olarak ulaşabilecekmişiz. Üstelik Visual Studio'nun leb demeden leblebiyi anlayan imkanlarıda elimizin altında olacakmış. Bu Microsoft'un  kurnazlığıyla ve kıvarklığıyla Javacıların işi zor. Ve kayıpları devam edecek gibi görünüyor.

Özetle geçen ay bunlar oldu. Peki bu ay ne yapacakasınız diyorsanız, bende bilmiyorum. Sahi biz bu ay ne yapacağız ?

Cumartesi, Mayıs 01, 2010

Tezlerede FannTool

YSA ile ilgili tezlerde FannTool kullanmı artıyor.%200 bir artış! var.  Daha önce bir başka tezdende bahsetmiştik.
Bahsedeceğimiz ilk Tez Ahmet Mert AKTAŞ'ın  TUIK uzmanlık tezi

Yapay Sinir Ağları Metodolojisi  İle Düzeltme  Yöntemi Öngörüsü
Günümüzde, teknolojinin gelişmesi ile  bilgisayarlar karar verici organlar olmaya başlamış ve insan zekasına haiz birçok durumu bir arada değerlendirme yeteneğine, çesitli algoritmalar ile erişmişlerdir. İnsan zekası benzeri bir yapıyı, bilgisayara aktarma konusunda yazılım  yöntemlerinden biri de yapay sinir ağları ve yapay zeka’dır. Bu çalışmada, yapay sinir ağlarının düzeltme yöntemi olarak kullanılmasıyla ilgili kapsamlı bir arastırma olusturulması amaçlanmıstır. Öncelikle yapay zeka kavramından bahsedilmis, yapay zekanın bir alt baslığı olan yapay sinir ağları kullanılarak Yapısal İş İstatistikleri Ana Soru Kağıdı (A101) için düzeltme yöntemi  öngörülerinde bulunulmustur. Yapmıs olduğumuz bu öngörülerin somut verilerle elde edilen basarısı değerlendirilmistir. Özellikle soru kağıdı üzerindeki nitelikli isgücünü arttırması ve cevaplayıcı yükünü azaltması gibi belirgin avantajları nedeniyle yapay sinir ağlarını, soru kağıtları için düzeltme yöntemi olarak kullanmanın gerekliliği çok önemlidir. Standart uygulamaların altyapısı ancak insani unsurların tam kontrollü sistemlere aktarılmasıyla mümkün olacaktır. Ancak yıllık olarak derlenen soru kağıtlarından elde edilen verilerin su an için sınırlı sayıda olması ve ilgili periyotta birçok farklı değiskenden etkilenmesi gibi nedenlerle uygulama üzerinde daha çok arastırma yapılmalıdır.
İkincisi  Turan Güzel'in  İnşaat mühendisliği Yüksek Lisanas tezi

Filyos Hisarönü Dalga Verilerinin Yapay Sinir Ağları, ARIMA Modelleri ve Melez Modeller ile Tahmini

Zaman serilerinin çözümünde birçok yaklaşım kullanılmaktadır. Kıyı yapılarının projelendirilmesinde, özellikle proje sahasında yapılan ölçümlerden elde edilen verilerin kullanılması yapılacak projenin devamlılığı açısından önemlidir. Bu çalışmada planlanan Filyos Limanı için yörede yapılan dalga yüksekliği ölçüm verileri kullanılmıştır. Bu verilerin oluşturduğu zaman serisi elde olmayan sebeplerden dolayı kesintilere uğramıştır. Eksik kalan dalga yüksekliği verileri Yapay Sinir Ağları, ARIMA Modelleri ve Melez Modeller kullanılarak tamamlanmıştır. Yapay Sinir Ağı Modeli seçilen zaman serisine en iyi uyumu sağlamasına rağmen, ARIMA Modeli diğer serilere Yapay Sinir Ağı modelinden daha yakın sonuçlar verdiğinden dolayı göz ardı edilmemelidir.
Bundan sonrada FannTool'un kullanılacağı tez veya projeler için hertürlü yardımı yapmaya ve bittikten sonrada tantımlarını buradan yapmayı planlıyoruz. Tabi haber ederseniz....

Cumartesi, Nisan 24, 2010

YSA ile Basit bir Zaman Serisi Analizi

Öncelikle tanım ile başlıyalım. " Zaman değişkeniyle ilişlkili bir değişken hakkında, elde edilen gözlem değerlerini zamana göre sıralanmış olarak gösteren serilere, “zaman serisi” denir." detaylı istatistiki açıklamalar için şuraya müracaat edin.

Bizim YSA ile analizinden kast ettiğimiz için  Zaman serisi üzerinde Yapay Sinir Ağları ile ileri ye doğru tahmin yürütmektir. Bunun için Öncelikle Zaman serisini dönüşrümemiz gerekiyor.  Dönüşüm için kullanacağımız varsayımımız da şöyle

"Zaman serisinde bir değer kendinden önce gelen değerlerle ilişkili ve dolayısıyla onlarla tahmin edilebilir"

Mesela Yarınki hava sıcaklığı geçen günlerdeki hava sıcaklıklarıyla İlişkilidir. Bu durumda YSA dizaynı için çıkış değişken saymızı belli zaman serimizin bir sonraki değeri. Giriş değerlerimizde önceki veriler.  Örneğimizde dönersek yarınki Hava sıcaklığı bugünki ile ilişkilidir. Bugünkü de dünküyle, dünkü önceki gündeki ilişkili olduğuna göre onlarda Yarınki hava sıcaklığıyla nispeten etkileri azalarakda olsa ilişkilidir. Burada bir seçim yapmamız lazım Giriş değerleri olarak kullanacağımız verileri ne kadar geriye götüreceğiz.  Onu seçince artık giriş değişken sayımızda belirlenmiş olur.
Mesela bunu 4 seçersek şöyel bir ilişki kurmuş oluruz



Bundan sonrası elimizdeki verileri bu ilişkiye göre hazırlayıp, Bir YSA dizayn edip eğitmek kalıyor. FannTool'un DataProcessing kısmıyla her satıra bir değer gelecek şekilde hazırladığınız verileri. yukarda bahsettiğimiz şekle kolayca sokabilirsiniz.

Basit bir örnek yaparsak, Şöyle bir Zaman Serimiz olsun








Bu verileri,  Çıkışı 1 girişini 9 olan bir YSA ile Modelleyelim. Eğtim aşamasından sonra. Test edelim ve Gerçek sonuçlarla YSA tahminlerinin uyuşmasını kontrol edelim










Grafikdende  göreceğiniz gibi YSA gayet de uygun tahminler vermiş. Peki Aynı YSA'yı kullanarak ileriye doğru tahmin yürütmeye devam edersek ne olur. Yani yarınki değeri YSA ile tahmin edip. sonra bu tahmini giriş gibi kullanıp ertesi günkü değeri hesaplasak

( T1 , T2 , T3 , T4) -> T5
( T2 , T3 , T4, T5 ) -> T6
( T3 , T4 , T5, T6 ) -> T7
...

Hemen FannToolu'muzun  "Run as TS"*  kısmını açıp kaç kere ileriye doğru çalıştıracağını belirtip, sonuçları  alıyoruz. Ve Grafiğimize tekrar bakıyoruz








Hiçde iç açıcı bir bir grafik değil.  Aslında metodumuzun pek çok eksiliği var. Fakat müekemmel diyebileceğimiz bir sistem bile kursak, tahminlerimizdeki hata payı ileriye doğru yayılıyor. Daha detaylı bilgi için Kelebek etkisi ve Kaos Teorisi  konularına bakabilirsiniz. Yok kim okuyacak onu ben filmini seyredeyim diyorsanız, boşuna Kelebek etkisi filimlerine bakmayın. Esas hala izlememişseniz Pi Filmini ** izleyin


Not :
*  Boşuna elinizdeki programda aramayın yakın zaman da yayınlamayı umuduğum versiyonda olacak İnşallah
**  Filminden bir parça
Restate my assumptions.
-One: Mathematics is the language of nature.
-Two: Everything around us can be represented and understood through numbers.
-Three: If you graph the numbers of any system, patterns emerge. Therefore, there are patterns everywhere in nature.
-Evidence: The cycling of disease epidemics,  the wax and wane of caribou populations, sun spot cycles, the rise and fall of the Nile.
So, what about the stock market? The universe of numbers that represents the global economy. Millions of hands at work, billions of minds. A vast network, screaming with life. An organism. A natural organism.
-My hypothesis: Within the stock market,|there is a pattern as well... Right in front of me, hiding behind the numbers. Always has been.

Pazar, Nisan 18, 2010

cvPreProcessor for OpenCv 2.1


Aslında bir yenilik yok. Zaten şu aralar pek de uğraşamıyorum. ama cvPreProcessor'u yayınladıktan sonra OpenCV 'nin 1.1 , 2.0 ve şimdide 2.1 versiyonları çıktı.
Şimdi cvPreProcessor'u kullanmak istiyenlere tekrar derleyi verin yada OpenCv 1.0 'ın dll lerini bulup yanına koyun demekde  pek şık olmuyordu.
Bende En azından windows kullanıcıları için, yanında dll leriyle sadece çalıştırılabilir bir halde yayınlıyorum.

İndirmek için  : cvPreProcessor for OpenCv 2.1
İşinize yaraması umuduyla

Cuma, Nisan 09, 2010

OpenCv 2.1 Çıktı

Evet OpenCv 2.1 sessiz sedasız yayınlandı, Haberdar edelim ve İlk izlenimlerimizi  söyleyelim dedik...

  • Pekçok bug temizlenmiş
  •  OpenMP yerine TBB koymuşlar ( bence malesef  Anlayabildiğim kadarıyla TBB nin iki lisansı var biri ticari 299 $ cık diğeri GPL v2. GPL'inde ticari kullanımı sıkıntılı. BSD gibi ticari uygulamaya uygun bir lisansa sahip olan OpenCv'ye bu haldeki TBB yi yamamak bence çok saçma olmuş. Pek tabiiki Intelin açısından bakılırsa gayet münasip de görünebilir.
  • autotools desteğinide  kaldırmış. Özellikle Linux için gayet kolay oluyordu, artık Linux da da CMake ile cebelleşmemiz lazım.
  • 64 bit derleme desteği geliştirilmiş.
  • Statik derleme imkanı sunulmuş. Gayet güzel  dll dertlerinden kurtuluruz bu sayede...
İlave Notlar  :
  • Statik derleme seçeneği hata veriyor ve build tamamlanamıyor hem VS Express hemde Code Blocks için denedim sonuç aynı
  • OpenCvSharp da OpenCv 2.1 için uygun paketini yayınladı

    Pazar, Nisan 04, 2010

    Yapay Zeka Tıbbın Hizmetinde 4 ( Acute Inflammations )


    FANN 'ın C# ile kullanımını göstermek için uygun bir fırsat bekliyorduk. Ve şimdi karşınızdayız
    Acute Inflammations veri setini kullandık. Veriler bir uzman sistem için oluşturulmuş ama biz YSA kullancağız.


    Konunun detayını aynen aktarıyorum. ( Zaten iyi olmayan ingilizcemle birde Hiç bilmediğim Tıp alınandaki yazıyı çevrime cüretini gösteremedim anlayacağınız )

    The main idea of this data set is to prepare the algorithm of the expert system, which will perform the presumptive diagnosis of two diseases of urinary system. It will be the example of diagnosing of the acute inflammations of urinary bladder and acute nephritises. For better understanding of the problem let us consider definitions of both diseases given by medics. Acute inflammation of urinary bladder is characterised by sudden occurrence of pains in the abdomen region and the urination in form of constant urine pushing, micturition pains and sometimes lack of urine keeping. Temperature of the body is rising, however most often not above 38C. The excreted urine is turbid and sometimes bloody. At proper treatment, symptoms decay usually within several days. However, there is inclination to returns. At persons with acute inflammation of urinary bladder, we should expect that the illness will turn into protracted form.

    Acute nephritis of renal pelvis origin occurs considerably more often at women than at men. It begins with sudden fever, which reaches, and sometimes exceeds 40C. The fever is accompanied by shivers and one- or both-side lumbar pains, which are sometimes very strong. Symptoms of acute inflammation of urinary bladder appear very often. Quite not infrequently there are nausea and vomiting and spread pains of whole abdomen.  The data was created by a medical expert as a data set to test the expert system, which will perform the presumptive diagnosis of two diseases of urinary system. The basis for rules detection was Rough Sets Theory. Each instance represents an potential patient
    Attribute Information:

    a1 Temperature of patient { 35C-42C }
    a2 Occurrence of nausea { yes, no }
    a3 Lumbar pain { yes, no }
    a4 Urine pushing (continuous need for urination) { yes, no }
    a5 Micturition pains { yes, no }
    a6 Burning of urethra, itch, swelling of urethra outlet { yes, no }
    d1 decision: Inflammation of urinary bladder { yes, no }
    d2 decision: Nephritis of renal pelvis origin { yes, no }


     Yapılan işlem diğerlerinden farklı değil aslında. Yinede soracağınız bir şey olursa biz buralardayız. YSA eğitimi için yine FannTool 'u kullandık. ve sonuçda Eğitilen YSA oldukça iyi oldu. Başarısı hem test hemde Eğtim verileri için % 100.

    C# kısmında Basit bir GUI tasarlayıp Giriş değerlerini Kullanıcadan alıp Eğitilmiş YSA'yı bu giriş değerleriyle çalıştırmak. Ve tabii ki sonuçlarıda göstermek.


    Indirmek için :   Acute_Inflammations

    Not :
    • Artık Ben C# kullanıyorum FANN'ı nasıl kullanabilirim ? sorusununda cevabını vermiş oluyoruz. 
    • Böyle el alemin yayınladığı veriler yerine Sizin verilerinizide  kullanılabilir, Mümkün mertebe yardımcı olmaya çalışırız duyrulur...
    • "Yapay Zeka Tıbbın Hizmetinde" serisinin önceki yazıları 1 2 3

    Pazar, Mart 14, 2010

    Yazılım Atölyesi Ankara'da Mart ayı etkinliği

    Yazılım Atölyesi Ankara'da Mart ayı etkinliğine katılmak için dün yollara düştük.  Önce Kızılayda Otobüs durağında Hüseyin ile karşılaştık. Kendisi cıva gibi, genç ve cevval bir arkadaş, e-devlet kesmemiş birde buralara gelmiş sağ olsun. ( Geçen sefer bizim verdiğimiz sunumdan kaçmak için şehir dışına kaçmasını unutmadık bir kenara ilerde aleyhinde delil olarak kullanılmak üzre yazıldı )  Neyse efendim otobüs yolculuğu sırasında arkadaş cevvaliyetinden yerinde duramadı ve atlayı verdi, ve tabii ki bende peşinden  ne de olsa yoldaşını yarı yolda bırakmak olmaz. Neyse geri kalan yolu yayan tamamlayıp, etkinliğin yapılacağı yere vasıl olduk.

    Etkinliğe vardığımızda Ahmet Alp kardeşin  başkanılığınıda (TBD Genç )  görmüş olduk. Sağa sola kükrüyordu. mesela "Tiz standa dön" diye kızcağızlara fırça attığına şahidiz. Normal karşıladık nede olsa organizasyonu çevirmeye uğraşıyordu. Oragnizasyona katılımının çokluğu , bu işi kotardığını gösteriyordu.

    Vakit tamam olunca öncelikle sahneye Hamdi Kavak çıktı. Bize n-tier olamayan  “Katmanlı Yazılım Mimarisi” üzerine bir şeyler anlatmaya çalıştı. Öyle eskisi gibi gecekondu tipi ( yada hala benim yaptığım gibi ) yazılım kabul edilimiyormuş. İlla bir mimari proje neyin çiziktirmek gerekiyormuş. Konuşma sonundaki sorudan hazirunun konudan ne kadar haberdar olduğunuda anlamış bulunduk.

    Sonraki konuşma daha çok TBD ve TBD Genç Reklamları  mesabesindeydi. TBD de olacak kadar kelli felli ve bilişimde iş güç sahabısı olmadığımızdan, Gençde olmadığımızdan pek ilgimizi çekmedi. Zaten konunun sonunda vakti zemanında TBD genç kurucu başkanına söz veriiince iş iyice sarpa sardı. Bu arkadaş TBD genç de koşturmak yerine kendiniz yetiştirmeğe bakın, diyecekken ana konuya zıt düşmemek için lafı biraz çevirerek vaziyeti kurtardı.

    Sonraki konuşma Ahmet Akdağ tarafında  "Yazılım Geliştirme Süreçleri: Agile Modeling" .  Bu arkadaşda  "Müşteri her zaman haklıdır" düsturunun ingilizcesinden bahsetti. Yazılımı bu düsturla yaparsak daha bir başarılı ve kaliteli oluyormuş. Ben bazı sorularımla kısmen konuşmayı sabote etmeğe çalışsamda. Ortam ve vakit pek müsait değildi, kısmet. 

    Etkinlik sonunda, o kadar kişi önünde yapılmış sunumlarla meşhur olmuş arkadaşlardan, imza istekleriyle olması muhtemel  izdihamı önlemek adına,  Adımıza imzalanmış kağıtlar dağıtıldı. (Başkanın organizasyon dehasını gösteren bir örnek daha )

    Etkinlik arası tenefüssler ve çay, kahve  ikramı ben içmemiş olsamda iyi oluyor. Ama yine not ediyorum 3 konuşma fazla geliyor, Organizatörlere duyrulur.


    Bir dahaki  etkinlikte görüşmek üzre

    Çarşamba, Şubat 24, 2010

    Bir Ömür Harab Oldu...


    Dertliyim ruhuma hicranımı sardım da yine
    İnlerim, şimdi uzaklarda solan gün gibiyim
    Gecenin rengini kattım içimin matemine
    Sönen ümit ile günden güne ölgün gibiyim
    ...
    Üstteki resim Sedef Taylan Ceylan isimli bir öğretmenimizin eseri. 
    Sözler ise Güftesi Vecdi Bingöle bestesi Sadettin Kaynağ'a ait olan Meşhur  "Üzgünüm Leyla"  dan.
    Sönen ümit ile günden güne ölgün olan ise benim...

    Pazar, Şubat 21, 2010

    Yazılım Atölyesi 2 ( Handwritten Digit Recognation )

    Ankara Yazılımcıları'nın düzenlediği Yazılım Atölyesinin ikincisini dün TOBB ETÜ de yaptık. Konusu Yapay Sinir Ağlarıydı. YSA teorik kısmı üzerine olan sunumu Ahmet yaptı uygulama kısmı ise bize düşmüştü.


    YSA uygulaması için konu olarak Elyazısı Rakam Tanıma yı seçtik. Veriler hazır aldık  "Semeion Handwritten Digit Data Set" 'i kullandık. Bir de program yazdık


    Program C++ ile yazıldı Fakat FANN kütüphanesini ve eğitilmiş YSA yı kullanarak başka bir dildede yazabilirsiniz. Kendi eğittiğiniz YSAyı, yada Veri dosyasını deneme imkanına sahipsiniz.

    File->Load ANN
    File->Load Test File

     Clear ile Matrisi temizleyip kendi çizeceğiniz karekteride okutabilirsiniz

    Sunumu dosyasını ve kodu indirmek için : Download

    Pazar, Şubat 07, 2010

    Bulanık mantıkla Inverted Pendulum kontrolü

     

    Inverted Pendulum -Ters Sarkaç- dedikleri sistemin   Uzun yıllar kontrol teorileri için ilginç bir araştırma konusu olmuşmuş. Ben söyleyenlerin yalancısıyım. Lafı uzatmayalım M.Ali Akcayol'un "Klasik Bulanık Mantık Denetleyici Problemi  Inverted Pendulum" dökümanındaki açıklamalar esas alınarak hazırlanmış bir program yazdık. 


     

    Programlama dili C#.  Bulanık mantık işleri için yazılmış, açık kaynak kodlu LGPL lisansına sahip güzel bir kütüphane olan DotFuzzy kullandık. Ekranda gördüğününüz grafik için de ZedGraph bileşeni kullanıldı. Bu bileşende LGPL lisansına sahip açık kaynak kodlu bir proje. 

    Program  "Inverted_Pendulum1.xml" ve "Inverted_Pendulum2.xml"  dosyalarındaki Bulanık mantık sisteminin kayıtlarını kullanarak sistemi çalışmasını gösteriyor. Modeli değiştirmek içim Load Model ile ilgili dosyayı seçip yüklemeniz yeterli. 
    Ben de değişik bir model hazırlayım diyorsanız; Programın  "InitFuzzySystem()" kısmında Model tanımlamalarının Nasıl yapılacağınıda görebilirsiniz.  Detaylar için Yukarda linkini verdiğimiz dökümana mürcaat edin.
    İndirmek için  (Download) : IPendulum
    Her zaman dediğimiz gibi Analaşılmayan bir yerler varsa biz buralardayız danışabilirsiniz

    Pazar, Ocak 31, 2010

    Plaka Okuma II

    Öncelikle tekrar  Plaka Okuma  yazımıza göz atmanızda fayda var

    Evet İlk yazımızda belirttiğimiz gibi. Bu tip bir uygulma için elimizde örnek verilerin olması lazım. Bizim öyle bir imkanımız malesef yoktu. Bizde JavaANPR de kullanılan verileri alıp onlar üzerinden bir şeyler hazırlamaya çalıştık. 

    Bu veriler ilk aşama için yeterli olsada diğer aşamalar için yetersizdi. mesela Karakter tanıma için ; plakada geçen her harf ve rakam için yeteri sayıda örnek görüntü lazım. Bu durumda işin kolayına kaçıp bulunan plakayı okuması için Optik Karakter Tanyıcı (OCR) programına havale ettik.Pek tabikii bu durumda sistemin başarısı OCR nin başarısına bağlı kaldı... 

    Sonuç olarak Otomatik Plaka Okuyucu Sistemi dediğimiz program ortaya çıktı.


    Programa aslında C++ ile başlamış olsamda. bur aralar C# pekiştirdiğimizden  C# ile tekrar yazıldı ve tamamlandı. İsmi de bu yüzden OPOSSharp oldu. Pek Tabii ki OpenCvSharp kullanıldı. OCR programı olarak GOCR kullanıldı.
    Üzerinde çalışmaya devam etmek gibi bir niyetim yok. Eğer böyle bir niyetim olsaydı ayrı bir proje sayfası açardık.  Unutmadan kodların lisansı GPL ve Projeye devam etmek isteyenler olursa da yardımcı olmaya çalışırız.

    Download : İndirmek için

    Cumartesi, Ocak 23, 2010

    Histogram of oriented gradient object detection

    Nesne tespiti için pek çok metod var. Mesela yüz bulma için OpenCv de HaarCascade metodu kullanılıyor. OpenCv 2.0 ile birlikte Histogram of oriented gradient object detection  yani HOG de eklendi. Örnek programlarda "peopledetect.cpp" dosyasınında kullanımını görebilirsiniz.

    Biz C# ve OpenCvSharp ile bir örnek hazırladık. Bu örnekde hem Hog kullanımını hemde Video dosyasınından görüntü çekmeyi göreceksiniz. Hog 'un şu andaki performansını pek de beğenmedim ama daha iyi  "HOGDescriptor" kullanılarak belkide daha iyi sonuçlara ulaşılabilir. Konuyla ilgili daha teferruatlı bilgi için
    Object Detection Using opencv - Integral Histogram for fast Calculation of HOG Features I  II III

    İndirmek için :  HogObjectDetection

    Not : Resimdeki görüntü Sezai Karakoç'un Mona Roza şiirinin Sacit Onanın okuyuşundan. Yoksa siz hala dinlemediniz mi ? ne ayıp...

    Pazar, Ocak 17, 2010

    Ankara Yazılımcılar Workshop'u 1

    Dün duyrusunu yaptığımız aktiviteye katıldım. 
    Kısaca yapılanlardan bahsedeyim program biraz gecikmeyle başladı
    Önce Yasin Okumuş dan "Azıcık Ucundan Spring" konusunda bir şeyler dinledik. Sonrasında Hüseyin Mert den "0auth'ta giriş"başlığı altında 0auth'un meziyetlerini dinledik. Varılan nihayi nokta ; eğer yaygınlaşırsa kullanıcıların başına bayağı bir bela olacak. Son olarak da Mustafa Dalcı dan "Kullanılabilirlik Sunumu" dinledik. İlgimi çeken şey Web sitesine girildiğinde gözlerin nereye baktıklarını çıkarmışlar. ve ona göre önerilerde ve çıkarımlarda  bulunuyorlar. 

    Neyse Sonuç olarak Yazılımcıları çoğunun  web-programlama üzerine çalışdığını anlamış oldum. Ben amatör olduğumda olsa gerek konular genelde ilgimi çekmiyor, sadece Kullanıcı göz hareketlerininin YSA ile modellenebileceği aklıma geldi. yani mesela Web sayfasının görütüsünü veriyorsunuz size nerelerin dikkat çektiğini veriyor neden olmasın.

    Program sonrası gençler  Çatıya çıkalım dediler! Ben ihtiyar adamım çatılarda işimne düşerim felan diye gitmedim. Hem zaten kaçmak üzre olan büyük bir davet vardı ona yetiştim...

    Bir dahaki sefer için önerilerime gelirsek;
    • 3 sunum fazla geliyor 2 sunum daha mantıklı
    • Sunumlar arası biraz tenffüs de iyi gider gibi
    • Tanışma faslı konulabilir. İnsanların çoğu bir birini tanıyordu belkide bu yüzden gerek duymadılar sanırım
     Organize edenelere Sunumları yapanlara teşekkürler...

    Cumartesi, Ocak 16, 2010

    Ordan Burdan Haberler

    Aslında uzun uzun yazmak istediğim ama fırsat bulamadığım haberler var. En iyisi kısa kısa duyurmak yoksa unutup gideceğim.
    • FLTK nın 1.10 kararlı sürümü yayınlandı. FLTK 1.3 ise son sürat gelişmesine devam ediyor ( erconun bileşenleri  -widget-  eklendi mesela  Fl_Native_File_Chooser, Fl_Table, ve Fl_Tree_View.)
    •  Artık güzide memleketimde FLTK konusunda yalnız değilim. Ufuk Şanlı kardeşimiz bu konuda çalışmalar yapıyor. Hatta yeni bir FLTK bileşeni (widget) de yazdı  spriteBox 1 2 ( naçizane ismini Fl_Sprite_Box olmasını buradan öneriyoruz biraz daha standart FLTK notasyonuna benzesin diye )
    • Dünyanın seçkin üniversitelerinde ders dinleme imkanına sahibiz artık www.academicearth.org daha öncede benzeri bir siteden bahsetmiştik faka bu sitenin güzel tarafı dersleri indirme imkanını tanıması  darısı memleketimizin seçkin üniversitelerinin başına

    • OpenCv nin geliştiricilerinden Gary Bradski Willow Garage da staj için duyuru yaptı aynen aktarıyoruz belki birilerine faydası dokunur
      We (Willow Garage http://www.willowgarage.com a robotics institute/incubator) can use an intern in 3D model capture.

      That is: using silhouettes to capture an object and combine that with structure from motion and stereo clues to create 3D object meshes out of objects. Pay is good, free food, great location, work with robots, sensors -- you can best summarize Willow as: Fun. Papers will be written, hard work but good times, see examples at http://www.willowgarage.com/pages/community/interns-and-visiting-scholars .

      Who:
      US, or US work visa is easiest. For more exceptional people who can stay longer than 3 months, we'll deal with helping obtain a work visa. This is an internship which means you are enrolled in some school. We might also consider doing this with a consulting arrangement for non-students, but at Intern rates. For real exceptional situations, work in place may be possible and/or student grants to fund work in place.

      Timing:
      Winter, Spring, Fall. Summer is very full here already with interns. Exception: Come in Spring and stay through the Summer.

      Requirements:
      MUST:
      You must be a seasoned programmer in C++. There is no time for learning curves, we work with robots and fairly complex systems.
      You must have a good understanding of geometric vision. Calibration, homography, structure from motion.
      PLUS:
      Computer graphics a big plus
      Experience in optimization, CUDA etc also a plus.
      Experience working with robots is a plus.

      If you meet the "MUST" above, send application to jobs@willowgarage.com Put in the title: "Intern: 3D Model Capture"


    şimdilik bu kadar.

    Pazartesi, Ocak 11, 2010

    Yüz Nitelik Seçici



    Bu programımız ile verilen resimdeki yüzler OpenCv nin haarcascade detectorleriyle tespit edilip standart ebata ( bu programda 64x64 ) çevriliyor sonrasında yüz niteliklerinin koordinatlarını seçip kaydediyoruz.
    Bu koordinatlar İlerde bize "Göz Bulma" türü programlar  hazırlamamız için  gereken verileri sağlayacak. Bu konuda çalışma yapanlara bir faydası dokunur belki. Hatta biraz daha üzerinde çalışılsa daha genel bir Nitelik işaretleme programı olabilir.

    Bu aralar C# pekiştirmeye çalıştığımızdan programımızda C# da yazıldı. Pek tabiiki OpenCVSharp kütüphanesi kullanıldı

    İndirmek için :

    Çarşamba, Ocak 06, 2010

    YSA METODU İLE KALIP İŞLERİNDE BİR VERİMLİLİK VE ADAM-SAAT TAHMİNİ MODELİ

    ÖZET

    1980’li yılların başından itibaren mühendislikte artarak uygulama alanı bulan yapay sinir ağları yöntemi, temelinde insan beyninin çalışma ilkelerini taklite derek çalışan bir problem çözümleme yöntemidir. Yöntemin en önemli özelliği  gerçek veriler ile kurulan modelin eğitilmesi ve eğitilmiş olan modelin yeni veriler için sonuç üretebilmesidir. Bu bağlamda kurulan model sürekli olarak yeni veriler ile sürekli kendini yenileyebilmesidir. Diğer bir deyişle model sürekli öğrenerek kendini geliştirebilmektedir. Bu çalışmada, bina türü projelerde kaba yapı maliyetleri içerisinde önemli yer tutan kalıp işlerine ait adam-saat ve verimlilik değerlerinin sağlıklı tahmini amacıyla yapay sinir ağları yöntemi ile bir karar destek sistemi oluşturulması hedeflenmiştir. Bu amaçla çalışmanın ilk aşamasında bir yapay sinir ağı oluşturulmuştur. Bu aşamanın en önemli kısmı girdi ve çıktı değişkenlerinin tespitidir. İkinci aşamada oluşturulan bu ağ elde mevcut bulunan üstyapı projelerine ait kalıp puantajları eğitilmiştir. Üçüncü ve son aşamada ise modelin sağlıklı çalışıp çalışmadığı farklı projelerden elde edilen veriler ile test edilmiştir.
    ABSTRACT

    With the growing amount of applications through the engineering processes since the early 1980, “Artificial Neural Networks” method is a problem solving technique which runs by imitating the basic working principles of a human brain. The most important feature of this method is the training of the model,  which is created by the using of current real data values, therefore the corresponding trained model is able to produce consequences (outputs) according to the given new data values. The model that is created by such a technique can therefore update itself according to the new data sequences. In other words, the model can develop itselft via a continuously learning procedure. In this study; it is aimed to obtain a reliable decision back-up system which demonstrates reliable output values for the man-hour and efficiency analysis of a moulding operation, which takes an important part within the rough construction costs. For that purpose, an artificial neural network has been constructed at the first section of the study. The most important part of this section is the determination of the input and output variables. At the second section, the constructed network is trained with respect to the “moulding puantajları” that belong to the current up-structure projects. At the third stage, the reliability of the model has been checked according to the data values that are obtained from the different projects.

    Murat SÖNMEZ

    Not :  Konunun bizi ilgilendiren kısmı YSA uyglama kısmında FannTool'un kullanılmış olmasıdır. Sağolsun Murat bey bize tezini gönderdi ve yayınlamamız için izin verdi
    İndirmek için:  Murat SÖNMEZ Tez

    Cuma, Ocak 01, 2010

    2009 Muhasebesi



    Geçen seneye nazaran ziyaretçi sayımızda epey bir artış var. Fakat yayınlanan yazı sayısında düşüş var  Bu düşüşün başlıca sebebide 1 aylık Necefli Maşrapa gösterisi...

    İlk olarak bulanık mantık ile başlamışız

    Çoğunlukla  hali hazırdaki projelerimiz üzerinde çalışmalar yapmışız

    FannTool  :
    FannTool'un 1.0 versiyonu çıkarılmış ve FannTool kullanımına dair yazılar yazılmış
    OpenCv : En çok ilgi gören çalışmalarımızın bu alanda olduğu  görünüyor



    C# / .Net :

    Bütün bunlar yetmiyormuş gibi bir sebepten C# a da başladık bu arada birkaç örnek programda yayınladık

    Unutmadan Bu sene bazı ilker daha oldu ;
    • Önce ufak bir yardımım olan birisi Sağolsun tezi bitince yolladı ve kendi siitesini açana kadar biz yayınladık
    • Okurlarımızdan birinin yazısını yayınladık
    Bu senede benzeri katılımlarınızı bekliyoruz...

    ...
    İşte Koca seneyi böyle geçirmişiz. 
    Peki acaba bu sene neler yapmak lazım nelere ağırlık vermek lazım ?
    önerilerinizi bekleriz

    Perşembe, Aralık 24, 2009

    ITK Örneği DicomViewer



    ITK da neymiş diyenleriniz olabilir Tıbbi görüntü İşleme ve ITK yazımıza bakabilirler. O yazıda basit bir örnek hazırlama niyetinde olduğumuzu söylemiştik. Nasip bu güneymiş.

    C# içinde ITK kullanabilmek için ManagedITK ya ihtiyacımız var.
    Öyle güçlü bir dökümantasyonu yok malesef
    ManagedITK article ile yetinmeniz lazım
    Derlenmiş kütüphaneyi indirin ve ilgili dll' leri referansa ekleyin

    DICOM (Digital Imaging and Communications in Medicine) değişik cihazlardan elde edilen medikal görüntülerin formatıdır.  Programımızda  basit bir Dicom Göstericisi
    Daha Teferruatlı gösterici için VTK ilede uğraşmak gerekiyor...
    İndirmek için : DicomViewer

    Cumartesi, Aralık 12, 2009

    RSS ile Çalıntılama

    Epey bir süredir burada yazılar yazmaktayız. Bu yazılardan maddi bir beklentim yok. Ama pek çok reklam içerisinde ve hiç de tasvip etmediğim bir ortamda izinsiz ve bağlantı verilmeksizin, yazılarımın Çalınması hoşuma gitmiyor.  Bu  daha önce de başıma gelmişti e-maill ile halletmiştim yine aynı metodu uyguladım ;Çalıntılama yapan sitenin sahibine  whois çekerek bilgilerini aldım  (sitesine koymamış ne hikmetse )
        Orhan Yasar Celik (saykorhan@gmail.com)
        isiklar1apt 34/24 kozyatagi istanbul
        ISTANBUL
        Tel. +90.2163623956
    burdaki e-mail adesiyle ulaşmaya çalıştım. Yazdığım maile karşılık

    Delivery to the following recipient failed permanently:
    saykorhan@gmail.com
    Technical details of permanent failure:
    Account disabled

    cevabını aldım
    Sonra o sitedeki Adsense reklamlardan "Google reklamları " kısmına tıklayınca açılan
    "Google Yardımı › AdSense Yardım › Destek Ekibine Ulaşarak "  sayfasından
    "Biraz önce gördüðünüz site veya reklamlarla ilgili politika ihlalini bildirin" kısmına tıklayıp
    sorun konusu web sitesi seçeneğini işaretleyip
    "Bu site, iznim olmaksızın, telif hakkıyla korunan içeriğimi barındırıyor veya dağıtıyor."
    seçeneği ile e-mail adresimi vererek ve sayfanın orjinalinin linkiyle şikayette bulundum bir kaç kez
    ama Google adsense dende bana cevap gelmedi pek umurlarında değil sanki
    bütün bunların üstüne
    Eğer yazılarınızın dolaşmasını istiyorsanız rss nizi açarsınız, istemiyorsanız kapatırsınız.
    Blog, insanların yazı yazdığı dolayısıyla paylaşım yapılan biryerdir, benim sitem ise, farklı blogları sizlere burada tanıtmakta ve yazılarının RSS kısmını göstermektedir.
    Yazılarını çaldığımı söyleyen insanlar ; bilmelidirki, rss lerini açarak, bu yazıların burada yayınlanmasını kendileri bizzat istediklerini göstermektedir. Ortada işlenen bir suç vs. yoktur.


    yazma  pişkinliğini gösterdi...
    Neyse lafı uzatmayalım işin detayını "Bir Blog Hırsızlığının Anatomisi" yazısından öğrenebilirsiniz.Sonuç olarak blogun RSS desteği kaldırmak zorunda kaldım ve Telif hakkı kısmı koydum. Sitede yayınladığım Programlar için aksi belirtilmediği sürece lisansları GPL dir.
    .
    Not : RSS desteğini kaldırdığım halde eski bir yazımı yine araklamış ne yapsak bilmem ki   :(

    Yeni Not  :  Şu an itibarıyla ilgili site çeşitli gayretler sonucu kapattırılmıştır...

    C# ile OpenCv kullanmak

    C# ile daha doğrusu .Net in dillerinden biriyle OpenCv kütüphanesine ulaşmanız mümkün. Bu iş için yazılmış .Net kütüphanelerini hızlıca  tanıyalım

    • SharperCV :  Uzun süredir güncellenmiyor lisansı kötü
    • OpenCVDotNet : Managed c++ ile hazırlanmış, uzun süredir güncellenmiyor, lisansıda GPL
    • The OpenCV Wrapper Project : Yapı olarak aslında OpenCv ye oldukça uyumlu düşünülmüş son güncelleme Mayıs 2009 yani güncel sayılır. Fakat  "We don't allow to use the wrapper for commercial purposes. This includes reselling wether in the original or modified form (sources or binaries) or using in commercial projects." diyen çok kötü bir lisansa sahip
    •  Emgu Cv :  c# ile yazılmış ve mono ile de derlenebildiğinden cross-platform , lisansı GPL yada ticari olabiliyor tek kullanıcı için 199 $ fiyat biçmişler "If you are upgrading, you save 50% off the license fee." gibi cabası da var ve belkide ticari yanı olması sebebiyle  en profesyöneli
    • OpenCvSharp :  C# ile yazılmış ve oldukça güncel ve ticari kullanım içinde gayet uygun LGPL lisansına sahip Mono ile de kullanılabiliyormuş yani cross-platform. Bizim tavsiye ve tercih ettiğimiz kütüphane de bu.




    Gelelim Örneğimize  Web Kamera dan Görüntü alıp onun üzerinde basit işlemler uygulayan ve avi olarak kaydedebilen küçük bir programcık.
    IDE olarak Visual C# 2008 Express kullanıldı
    Derlemek için OpenCvSharp OpenCv 2.0 için olan versiyonu kullanıldı

    Indirmek için burdan buyrun  :  Effects

    Cuma, Aralık 04, 2009

    Text Generator



    ısırmış ve, “Al bak harika!” diyerek uzatmış, küçük oğlana gelmiş. Elindeki ışığı kızın ana-babasına yollamış. Onları karşısında görünce hemen ormana varmışlar. Ormanda bir ülkeye gitmiş. Tavukla horozun parlak ışıklar sızan son gemiden ona acımışlar ve sert geçmiş. Çirkin Ördek, ama prense dönüşmüş. "Korkma, " En altta eşek, köpek eşeğe. " diye düşünmüş Güzel. “Seninle evlenmek zorunda bırakmışlar. Küçük oğlan hemen bir daha fazla bir kucak dolusu güzel bir çocukmuş. Sabah gözlerini açmış sanki. Her yer istemiş. Ak sakallı adam kıza dönerek "burada her rastgeldiği insana, “Bu taraftan gelin,” demiş. Dışarı çıkmış; arpa getirerek tavukla horozun önüne serpmiş. İneğe de öğle yemeğimi büyük ve bir süre sonra her şeyden bol bol var! Haydi merdivenden yukarı çıkmış. Güzel tavukla horozun önüne serpmiş. İneğe de soğukmuş. Şimşekler çakıyor, rüzgâr yerden çıkıp gitmişti... Herhalde dosdoğru yoluna oğul, ben Çirkin Ördek’in tam mı yitireyim?” demiş. "Bir kese altının çalıntı olduğuna karar vermiş, üçünü de dillerde yankılanmış. 
     İlk C# örneğimizi yayınlıyoruz. Bir ilk de örneğin alanı -ucundan kıyıcığından bir örnek sayılır belki - Doğal Dil İşleme ( Natural Language Processing).

    Yapılan işlem pek de karmaşık değil.Kendisine verdiğimiz yazıları kelime çiftlerine ayırıp peş peşe gelme sayılarını tutuyor. ve  Yazı üreteceği zaman bir kelimeden diğerine peş peşe gelme sıklığını  kullanarak seçiyor.sonuçtada yukardaki gibi yazılar çıkıyor.Başlangıç verileri için İnternetten bulduğum masalları ekledim.


    İndirmek için : TextGen

    Çarşamba, Aralık 02, 2009

    Bizden Haberler

    Necefli Maşrapa ile ara verdik Bu da geçer Ya Hu ile döndük şükür...

    Ekonomik krizin etkisiyle azalan işler, azalan çalışma saatleriyle devam ediyor. Bütün bunların üstüne ücretsiz izinler ve olan işinide kaybetme psikolojisindeki patronlarla muhatap olmak gibi sıkıntılar içindeyiz.

    Bu artan sıkıntılarımızdan ve boş vaktimizden haberdar bazı dostların   " Bırak bu entel dantel işleride .Net öğren piyasanın %70'i bunu istiyor artık. olurda işsiz kalırsan işine yarar" mealindeki nasihatlarına uyup C# öğrenmeye başladım.

    C  / C++ bilen biri olarak pekde zorlanmadım. Pek çok özelliği aynı. Programlama ortamı da bana (Toprağı bol olsun ! ) bizim CBuilderı hatırlattı.  Yabancılık çekmedim kısacası. Tuhaf buluğum taraflarıda oldu tabii
    • printf yerine paskalvari writeline kullanmışlar en kötüsüde güzelim format sitilini değiştirmişler
    • Referans ve Değer kullanımını aynı şekilde yapmışlar.
    • Fonksiyon pointerlar yerine Delegate denen bir şey varki evlere şenlik
    • Dilin özelliklerinin sürekli değişmeside hoşuma gitmedi Başlangıçta beğenilen sistemlerin özelliklerinin alınması iyi bir şey ama bu nun süerkli hale gelmesi hiç hoş değil bence. Ben şahsen Dilin kurallarının biraz durağan olması taraftarıyım. zırt pırt değişmesi hoş değil.
    • FLTK ya alışmış biri olara bir kamyon DLL ile bağlı program yazmak tuhaf geliyor.
    işin güzel olan tarafı Pek çok Kütüphanenin eşleniği yada .Net wrapper'ı var. Alıştığımız kütüpanelerden feragat etmemiş olacağız yani. Üstelik Microsoftun şimdilik göz yumduğu Mono sayesinde Cross-Platform uygulama geliştirmeniz mümkün. Sözün kısası  C / C ++ dan vazgeçmedik ama Pekiştirmek için bir süre C# ile yazılmış örnek programlar görürseniz şaşırmayın.

    Gelelim ikinci haberimize.  FannTool'un kullanım kılavuzunun İngilizce versiyonu çıktı. Sağ olsun  Dr. Michael Schaale yardımcı oldu. indirmek için FannTool Users Guide laf aramızda Türkçesinden de daha derli toplu oldu.FannTool  için yardım istediğimizide bu vesileyle duyurmuş olalım. Kimbilir belki sesimizi Türkiyeden de duyan olur...

    Cumartesi, Kasım 28, 2009

    Bu da geçer Ya Hu



    Hem dünyaya tapınırcasına bağlanan böylece yüreği taşlaşan, hem de bin bir sıkıntı içinde kıvranan, dertlenen insana ne güzel bir ders verir. “Bu da geçer ya hu!.

    Günümüz insanı; yalnızlığı, huzursuzluğu derinden yaşıyor. Hep maddi çıkar peşinde koşan, adeta insanlığı, insani değerlerini unutan insan, kendi ektiğini acı bir şekilde biçiyor.
    “Hep ben, hep bana” düşüncesini kendisine rehber edinen, böylece bireyselliği tapınacak bir değere çıkaran tavır, toplum halinde yaşamayı, birbirini anlamayı, yardımlaşmayı itiyor ve arkasından yalnız, yapayalnız bir dünyayı getiriyor.

    Evet, “bu da geçer.” Dert de geçer, sıkıntılar da geçer. Sabretmek, her teşebbüste bulunarak nihayetinde kadere teslim olmak, “bu da geçer” demek. Zenginlik de biter, Karun gibi yaşamak, Firavunca zulmetmek de geçer. Ne güzel bir ders, derin bir öğüt, eskimeyen, her an yeni bir “ikaz” ve “uyarı” levhası: “Bu da geçer ya hu!..”

    Salı, Ekim 27, 2009

    Necefli Maşrapa Göstermek


    Yaşı büyük olanlar zaten bilir bilmeyenler içinde anlatalım. Eskiden yegane televizyon kanalı TRT idi. Bütün herkesin seyrettiği bu yegane kanal sık sık teknik arızalar sebebiyle kesintiye uğrardı. İşte TRT de yayının kesildiği anlarda yukarda arz-ı endam eden necefli maşrapa sahneye çıkar, arıza giderilinceye kadar ekranda salınmaya! devam ederdi...

    Bazı iş sıkıntıları sebebiyle biz de necefli maşrapa gösteriyoruz ve bir süreliğine yazı yayınlamayacağız. Eski yazılarımıza ve Necefli maşrapaya bakmaya devam edebilir, Gerekiyorsa profil sayfasındaki adresden e-posta ile bize ulaşmayı deneyebilirsiniz.

    Şimdi tekrar ne yapsam dedirtme bana yarabbi
    taşınacak suyu göster,kırılacak odunu
    kaldı bu silinmez yaşamak suçu üzerimde
    bileyim hangi suyun sakasıyım ya rabbelalemin
    tütmesi gereken ocak nerde?
    İsmet Özel (Münacaattan )

    Cumartesi, Ekim 24, 2009

    Bulanık Mantıkla Otamatik Pilot !

    Evet itiraf ediyorum Nasrettin Hocadan Bulanık Mantık Dersi yazımız bir giriş yazısı değildi. İyi kötü bulanık mantık konusunda bir şeyler okumuş ve fakat aklında bütün bunları toparlayamayanlar için yazılmıştır. Ama Biraz ön okumayla o yazıdan şek çok şey öğrenebilirsiniz. Yinede biraz soyut kaçıyordu.

    İşte bu yazımızda biz basit ve somut bir bulanık mantık uygulaması örneği hazırladık.

    Ali sevilmez mi hey dost delimisin sen

    - Hocam bu gün çok canım sıkkın. acaba sıkıntıyı giderecek birşeyeler okusanızda dinlesek
    Kütüphaneden bir kitap seçti ve okumaya başladı
    Bil ki göklerin, yeryüzünün hazîneleri elinde olan, sana duâ etmek için izin vermiş, icâbet edeceğini de vaad etmiştir.
    Dilemeni emretmiştir, dilediğini vermek için;
    Acımasını istemeni emretmiştir, sana acımak için.
    Seninle arasına bir perde çekmemiştir; seni, onun katında şefâat edecek birisine muhtaç etmemiştir.

    Kötü bir iş işlersen tövbe etmekten men etmemiştir seni;
    Azâbını hemencecik göndererek ukubete salmamıştır seni;
    Tövbeyle Ona yüz tutarsan reddetmez;
    Azâba uğramaya lâyık olduğun suç yüzünden de seni rüsva eylemez.
    Suç yüzünden tövbeni kabûl etmezlikte bulunmaz;
    Cürmünü yüzüne vurmaz;
    Rahmetinden seni meyûs etmez.
    Hattâ suçundan geçmeni de bir sevap sayar;
    Yaptığın kötülüğe karşı bir günah yazar;
    İşlediğin iyiliğe karşı on sevap verir.
    Sana tövbe kapısını açmış, özrünü kabûl etmeyi vaad etmiştir.
    Onu çağırdın mı sesini duyar; gizli yalvardın mı gönlündekini bilir.
    İhtiyacını Ona söylersin;
    G
    önlündekini Ona açarsın;
    Dertlerini Ona şikâyet edersin, sıkıntılarının giderilmesini Ondan istersin;
    İşlerinde Ondan yardım dilersin;
    Ömür çokluğu, beden sıhhati, rızık bolluğu gibi Ondan başkasının
    veremeyeceği şeyleri Ondan beklersin.
    Sonra hazînelerinin anahtarlarını da, Ondan dilemeye izin vererek senin ellerine teslîm etmiştir;
    Ne vakit dilersen, duâ ile nimetlerinin kapılarını açarsın, çorak dilek yerlerini sulamak için rahmetini istersin.
    İcâbeti gecikirse de ümidini kesmemelisin; çünkü vergi ve ihsan, niyetle yeksandır.
    Nice kere, isteyenin ecri çoğalsın, umana daha da fazla ihsan edilsin diye icâbet gecikir.
    Nice kere bir şey istersin, verilmez; fakat hemencecik, yahut bir zaman sonra ondan daha hayırlısı verilir, ondan daha hayırlısı verilmek için o verilmez, geciktirilir.
    Nice şeyler vardır ki sen istersin onu; fakat verilse o yüzden dinin helâk olur.
    Şu halde güzelliği sana kalacak, vebâli senden gidecek şey
    istemelisin. Mal sana kalmaz; sen de ebedi olarak mala sâhip olamazsın.

    ...

    - Okuduklarınız Nerdendi hocam
    - Bu Hz Ali'nin Hz Hasana yazdığı vasiyetnameden bir parça
    Nehc'ül Belaga' da geçiyor
    - Çok sevdim
    - Seversin tabii hem zaten "Ali sevilmez mi hey dost delimisin sen"

    Çarşamba, Ekim 21, 2009

    Ordan Burdan

    1) Volkan Salma OpenCv de SVM kullanımı üzerine bir yazı hazırladı. Oraya kadar gitmişken  Zeki Optimizasyon Teknikleri Yazı dizisine de bakmayı unutmayın ; İlk Yazı Hill Climbing üzerine. Devamınıda tez zamanda bekliyoruz.

    2) İsmail Arı'nın günlüğünde tasarım ve ufak bir adres değişikliği oldu. "gunluk.ismailari.com" sitesi ismailari.com kök dizinine taşındı. Duyuruyor ve hayırlı olsun diyoruz.

    3) www.GlobalEkonomi.com dan FVolkanY den daha önce bahsetmiştik , Yapay Zekalı tahmin sistemleri üzerine çalışıyordu.  Yakında ürün (Forex ve Borsa Sistemleri ) satışına başlıyacak gibi  hemde  sonuçlar oldukça iddialı ne diyelim hayırlı olsun.

    4) Bora Kardeşimizden yine yeni bir icad Casus Klavye  Kimin işine yarar bilmem ama Boranın performansını ve ilerde neler yapabileceğini gösteriyor...

    Cumartesi, Ekim 17, 2009

    Sitemli OpenCv 2.0 Kurulumu - Install -

    Aslında böyle bir yazı yazmayı düşünmüyordum ama gelen sorular yüzünden yazmak zorunda kaldım. Önce konumuzu anlatalım

    OpenCv2.0 windows versiyonunu C ye kurun .
    CMake' i kurun ve çalıştırın

    Yukardaki ekran gelir OpenCv 2.0 ı kurduğunuz dizini seçin
    kurulumun yapılacağı dizini yazıyoruz Visual için "vs2008" seçtik mesela

    Cumartesi, Ekim 10, 2009

    OpenCv 2.0 İzlenimleri

    Bir Makina mühendisi bir elektirik mühendisi ve bir bilgisayar mühendisi arabayla yolculuk yaparlarken araba arızalanır ve durur.
    makina mühendisi arabadan iner ve arabanın mekanik aksamına bakar ama araba çalışmaz
    elektirik mühendisi arabadan iner ve arabanın elektirik aksamına bakar ama araba yine çalışmaz.
    Son olarak Bilgisayar mühendisi bir öneride bulunur
    "Arabadan inip yeniden binelim belki çalışır"

    Uzun uzadıya bir inceleme yapmaya ne ehilim ne de zamanım var. Ama artık OpenCv 2.0 yayınlandığına göre uygulamalarımızda mecbur kullanmak zorundayız, yoksa sonradan güncel versiyona geçişte epey bir problem olur.

    OpenCv 2.0 windows versiyonu zaten kurulum programıyla geliyordu, kolayca kuruverdim.
    Header ve Library dosya ayarlarını yapıp programı tekrar derledim. Hatasız derlendi, bende sevindim tabii. Fakat programı çalıştırınca hevesim kursağımda kaldı. Program çalıştı fakat bazı işlemlerde program çakılıyordu. Acaba fonksiyon parametrelerinde bir değişiklikmi olmuş diye ufak bir incelem yaptım görünürde bir şey bulamadım. İşin ilginç yanı cvPreprocessorun ürettiği kodları komut satırı uygulaması olarak çalıştırdığımda problem yoktu. Tek istisna Laplace fonksiyonu. sizinde aklınızda olsun
    void cvLaplace(constCvArr *src,CvArr *dst, int aperture size=3);

    aperture size 'a değer olarak -1 kullandığınızda program çalışma zamanı hata veriyor. Neyse biz konumuza dönelim windowsta ki hezimetin ardından linux'a yöneldim.

    Benim Bilgisayarda kullandığım Linux dağıtımı OpenSuse 10.3 biraz eskidi ama işimiz görüyor. Linux versiyounu dediğimiz zaten kaynak kod. Uygun bir yere açıp
    ./configure
    make
    make install
    diyerek derledim ve cvPreProcessor'u denedim gayet güzel çalışıyordu yukarda bahsettiğim Laplace istisnası hariç.

    Linux versiyonun çalışması üzerine tekrar windows'a döndüm ve dağıtlan kütüphane programında bozukluk yada uyumsuzluk olabileceğinden kuşkulandım. ve
    CMake
    Mingw
    MSYS
    programlarını kaldırıp en son versiyonlarını tekrar kurdum. Sonra Cmake OpenCv 2.0 için Codeblocks projesi oluşturdum ve C::B ile build ettim. Nihayet Mutlu son. Artık programlarım doğru bir şekilde çalışıyor.
    az kalsın unutuyordum "İnip tekrar binmek bazen işe yarıyor" :)

    Perşembe, Ekim 01, 2009

    OpenCv 2.0 yayınlandı

    OpenCv 2.0 beta aşamasını hızlıca geçti ve yayınlandı
    Indirmek için ; Windows için kurulum dosyası
    Linux için kaynak kodu