24.12.10

Türkiye - İngiltere Beyin Seferleri



Geçenlerde bir İngiliz gazetesi İngiltere'nin  ekonomik açıdan duraklamasını anlatırken yoğun kar yağışından aşırı derecede etkilenen bir İngiliz havaalanıyla Atatürk Havaalanı'nı karşılaştırmış, onlar yükseliyor, biz ise duraladık gibilerinden bir yazı kaleme almış. Duraklamayı yavaşlatacak ya da tersine çevirecek taze kanı nerede arayacaklarını çok iyi biliyorlar. Tıpkı 60'larda Almanya'nın çok iyi bildiği gibi. (Bakın altta posta kutuma düşen bir iletiyi sizinle paylaşıyorum)


Taze kanı, üretken beyinleri ülkelerine çekebilmek için çalışıyorlar. Öbür taraftan Tübitak da beyin göçünü tersine çevirmeye yarayacak bir takım tedbirler almaya başladı. Umarım bu çalışmaları artarak devam eder. Örneğin yurt dışındaki araştırmacılara ülkemize dönmeleri halinde 2.750 TL'lik karşılıksız burs vereceklerini bu akşam haberlerde izledim. Sevindirici bir gelişme.

Tübitak ne kadar özendirirse özendirsin, iş insanların zihninde bitiyor. Son söz: Bu toprakların ekmeğini yiyip suyunu içtiysen, alfabeyi bu topraklarda söktüysen, toprağına vefa gösterip; anlının terini de bu topraklara akıtacaksın.


------------------------------------------------------------------------------------------------------------------------

İngiltere Başkonsolosluğu ve ODTÜ Teknokent Animasyon Teknolojileri ve Oyun Geliştirme Merkezi İşbirliğinde Düzenlenecek “İngiltere’de Oyun Sektörü ve Yatırım Fırsatları” Semineri’ne (Seminar on Computer Games Industry and Investment Opportunities in England) Davetlisiniz!


5 Ocak 2011, Çarşamba günü saat 10:00-15:00 arasında ODTÜ Teknokent İkizler Binası Konferans Salonu’nda gerçekleştirilecek seminerde İngiltere’nin en büyük dijital teknolojiler ve oyun  teknoparkının da içinde bulunduğu oyun kümelenmesinden temsilciler, İngiltere Başkonsolosluğu temsilcileri ve Turkcell’den yetkililer Türkiye’de dijital teknolojiler ve oyun alanında faaliyet gösteren firma ve kişilerle buluşuyor...

İngiltere’nin oyunla ilgili en önemli yapısı olan Digital City’nin (http://www.thedigitalcity.org/) CEO’su Mark Elliot’ın oyun sektörü ve işbirliği olanları ile ilgili bilgi aktaracağı ve İlgiltere’de yatırım olanaklarının tartışılacağı bu etkinlikte sektörün tüm paydaşları ile bir arada olmayı diliyoruz.


TARİH/ DATE: 05.01.2011
YER/PLACE: ODTÜ TEKNOKENT İKİZLER BİNASI
SAAT/HOUR: 10:00-15:00


KONFERANS PROGRAMI/ CONFERENCE PROGRAMME
10:00- 10:15
Açılış Konuşması/ Openning Speech

Mustafa İhsan KIZILTAŞ - ODTÜ Teknokent Genel Müdürü
10:15-11:00
İngiltere’de Yatırım Olanakları

Taçlan TOPAL - İngiltere Başkonsolosluğu Yatırım Müdürü
11:00- 11:45
Dünyada ve Türkiye’de Yükselen Trend: Social Gaming

Sertaç PIÇAKÇI - Turkcell, Social Community Services, Social Games
11:45- 12:30
Öğlen Yemeği/ Lunch
12:30- 13:30
The Computer Games Industry In North East England And Industry Conditions And Opportunities In The World Market

Mark SOUTH - Senior Digital Industry Specialist, One North East 
13:30- 15:00
From Garages To Global: How Digital City Can Help You Make Fly

Mark ELLIOT- Business Director, Digital City


LCV: Katılımlarınızı lütfen 31 Aralık 2010 tarihine kadar bildiriniz.
Emek Kepenek
            0312 210 64 00-134
            emek.kepenek@metutech.metu.edu.tr


Saygılarımızla,


Ortadoğu Teknopark A.Ş.

20.12.10

Yazılım Mühendisliği Pratikleri

TAI'de katıldığım bir eğitimde aldığım notlarımı sizinle paylaşmak istiyorum. Bunlar yazılım mühendisliği gerektiren işlerde göz önünde bulundurulması gereken pratiklerdir. Kaliteli bir iş için dikkat edilmesi gerekir.


PRATİKLER

1.Yönetim
  • Planlama
  • Check-list (Başlamadan önce yapılması gerekenler)
  • Görev paylaşımı
  • Risklerin tanımlanması
  • Başarının ölçülmesi ve değerlendirilmesi
  • Süreç yönetimi
  • Kayıtlı çalışma

2.Kaynak Yönetimi
  • İdeal ekip sayısı 5-7 (Tecrübe olarak söyleniyor)
  • Çalışanlara değer verme, adil olma, ödüllendirme
  • Eğitim
  • Uzmanlaşma
  • Etkin iletişim

3.Bütçe Yönetimi
  • İşgücü, zaman, yatırım ve maliyetler
  • Proje başlamadan önce deneysel kestirimler
  • Sürekli izleme ve ölçme

4.Metrik Yönetimi
  • Nokta atışı sayısal değerler
  • Amaç, başarımı ölçmek ve riskleri tanımlamak
  • Efor metrikleri
  • Geliştirilen kodun metrikleri
  • Gereksinim metrikleri
  • Değişiklik istekleri metrikleri
  • Hata metrikleri
  • Test metrikleri

5.Disiplin*
  • En önemlisi. Yetki ve sorumluluklar belli olmalı.
  • Saha kurallarını koymak ve kurum kültürü (Birçok toplantının verimsiz geçmesinin nedeni saha kurallarının tam konulamaması)
  • Son sözü söylememek projeye zarar verir. Hayır demeyi herkes bilmeli. Net olunmalı.
  • Sonuç odaklı olunmalı.

6.Gereksinim Yönetimi
  • Gereksinimlerin belirlenmesi
  • Gereksinimlerin herkesce anlaşılması
  • Gereksinim belirlemenin son aşaması olarak gereksinimlerin dondurulması.

7.Sistem Mühendisliği
  • İç içe çalışma (Geliştiriciler ile)
  • Sistem mimarisine hakim olma
  • Sistem yazılım uyumunun sağlanması

8.Arayüz Tanımlama ve Denetleme
  • Gereksinim analizi bitmeden önce tüm dış arayüzler tanımlanmalı
  • Çökmeler genellikle arayüzlerde olur. Genellikle iç arayüzlerde değil dış arayüzlerde hata çıkar. Bunun nedeni ekipler arası iletişim eksikliğidir.

9.Tasarım
  • Standartlara hakimiyet (178B, IEEE12207)
  • Planlara uyum
  • Sistem ve yazılım geliştirilmeye açık olmalı
  • Bir arayüzün başka bir arayüzle bağlantısı mümkün olduğunca az olmalı
  • Sadelik ve basitlik önemli
  • İnsan makine arayüz(GUI) tasarımına dikkat edilmeli. (Bir istatistiğe göre burada harcanan efor projeye harcanan eforun %47’si kadarmış)

10.Kodlama
  • Anlaşılabilir
  • Kısa yordamlar
  • Açıklamalar
  • Sık sık yedekleme
  • Hatalara teslim olmayın. Hatalar tecrübeleri arttırır.

11.Test
  • Projenin kritik bileşenleri fonksiyonel olarak test edilmeli (White-Box)
  • Aşırı yüklemelerle test edilmeli (Aşırı yükleme testi)
  • Projenin sonuna doğru, en gerçekçi senaryolarla denenmeli

12.Hata ayıklama (Debugging)
  • Hatalar birer birer ayıklanmalı

15.12.10

UML Diyagramları

YAPISAL DİYAGRAMLAR

  Sınıf (Class) diyagramı: Class odaklı tasarımlarda kullanılır. Sınıfların özelliklerini birbirleri arasındaki ilişkiyi göstermede kullanılır. Özellikle nesne yönelimli projelerde tercih edilirler. Kodlamada kolaylık sağlarlar.



  Nesne (Object) diyagramı: Bir nesne(object) sınıfın (class) bir örneğidir. Bu tür diyagramlarda sınıfın yerine gerçek nesneler kullanılır. Bu sayede modellenen sistemin yapısının belirli bir andaki bütün ya da kısmi  görünüşü tarif edilir.



  Bileşen (Component) diyagramı: Bir yazılım projesi birden fazla bileşene yani component’e ayrılarak programcılar arasında paylaştırılabilir. Bu component’ler programcılar tarafından birbirlerinden bağımsız geliştirilirler ve en sonunda da birleştirilirler. Bu birleştirme işlemi component diyagramındaki gibi olmalıdır.


File:Component-4.png

  Paket (Package) diyagramı, bir sistemin hangi mantıksal gruplara bölündüğünü ve bu gruplar arasındaki bağımlılıkları betimler. Fazla detaya inmeden genel hatlarıyla modelleme yapılır, bu diyagram sistemin temel mantığı oluşturulurken kullanılmalıdır.


File:Package import-1.png

  Dağılım (Deployment) diyagramı, sistemde kullanılan donanımları, bu donanımların içinde yer alan bileşenleri ve bu bileşenlerin arasındaki bağlantıları gösterir.
  
File:UML Diagramme Deploiement.gif

  Birleşik Yapı (Composite Structure) diyagramı: bir sınıfın iç yapısını ve bu yapının mümkün kıldığı iletişimleri tarif eder. Bu daha detay bir diyagramdır. Deneyimsiz bir programcıya bu diyagram deneyimli bir programcı tarafından hazırlanıp bir yol haritası olması için verilebilir.

File:Composite Structure Diagram.png

DAVRANIŞ DİYAGRAMLARI

Kullanım Senaryosu (Use-Case) diyagramı: Aktörler vardır. Bu aktörlerin yaptıkları ve yapamadıkları şeyler bu diyagramla ifade edilir. Bu diyagramı oluşturmanın faydaları:

·         Müşteri ile geliştiriciler arasında iletişimi sağlamak
·         Sistemin sınırlarını belirlemek
·         User Guide oluşturmada yardımcı olmak

  Durum (Statechart) diyagramı: Bir nesnenin sahip olacağı tüm durumların modellendiği diyagramdır. Nesneler çeşitli durumlarda bulunabilirler ve birtakım olaylar sonucunda bir durumdan başka bir duruma geçebilirler ve bu geçiş esnasında başka olayların meydana gelmesini tetikleyebilirler. Tüm bu ilişkiler bu durum diyagramıyla ifade edilirler. Daha çok sistemin genel işleyişinde mantıksal bir hata yapılmaması için kullanılan diyagramlardır.

 Faaliyet (Activity) diyagramı: Modellenen sistemdeki iş akışını adım adım gösterir. Kapsamlı bir şekilde komut akışını tarif eder. En önemli özelliği paralel davranışları desteklemesidir. Multithreaded uygulamalar geliştirirken uygulamanın algoritmik mantığı bu diyagramla gösterilebilmektedir. Karmaşık algoritmalarda da tercih edilebilecek bir diyagramdır. Bu diyagramlar sayesinde gereksiz yere ardışık yapılan işlemler rahatlıkla görülebilir ve bunların paralel yapılması sağlanabilir.



 Sıralama (Sequence) diyagramı: Bir uygulamada nesnelerin birbirleri ile olan ilişkisi zamana göre değişiyorsa, statik bir ilişkiden bahsetmek mümkün değilse, ilişki yapısı dinamikse bu diyagramlar kullanılır. Nesnelerin yaşam süreleri de bu diyagramla gösterilir.

 İletişim (Communication) diyagramı: Sınıf, Sıralama ve Kullanım Senaryoları diyagramlarındaki bilgileri kullanarak sistemin hem statik yapısını hem de dinamik davranışını gösterir. Bu üç diyagramın üzerinde, onları kapsayıcı nitelikte bir diyagramdır ve sistemi daha genel hatlarıyla ortaya koymada kullanılır.

 Etkileşime Bakış (Interaction Overview) diyagramı: Farklı etkileşim diyagramları kullanarak, bunlar arasındaki komut akışını gösterir. Bir başka deyişle, elemanları etkileşim diyagramları olan faaliyet diyagramlarıdır.

  Zaman Akış (Timing) diyagramı: Odağın zaman kısıtlamaları olduğu etkileşim diyagramıdır. Nesnelerin bir zaman akışı içerisinde birbirleri ile etkileşimini göstermede kullanılır.

 KAYNAKLAR


1-) UML Weekend Crash Course, Thomas A. Pender, Wiley Publishing Inc., 2002.
2-) UML Bible, Tom Pender, John Wiley, 2003.
3-) UML Distilled: A Brief Guide to the Standard Object Modeling Language, Martin Fowler, Kendall Scott, Addison Wesley, 1999.
4-) The Elements of UML Style, Scott W. Ambler, Cambridge University, 2003.
5-) Visual Modeling with Rational Rose 2000 and UML, Terry Quatrani, Addison Wesley,1999.
6-) The Object Primer 3rd Edition: Agile Model Driven Development with UML2, Scott W. Ambler, 2003.
7-) UML in a Nutshell , Sinan Si Alhir, O’Reilly, 1998.
8-) UML 2 for Dummies, Michael Jesse Chonoles and James A. Schardt, Hungry Minds, 2003.
9-) www.adtmag.com/article.asp?id=2656
10-) www.visualuml.com/whitepapers/UML%20collaboration%20diagrams.pdf


Konuyla ilgili olarak aşağıdaki yazılarıma da bakabilirsiniz:


9.12.10

UML Kullanmanın Avantajları

File:UML Diagrams.jpg
UML büyük projelerde kesinlikle kullanılması gereken bir modelleme dilidir.  
(Bakın: UML Nedir?

Bu dilin oldukça kapsamlı olduğunu ve bir yazılım projesinde gerekecek her modellemeyi bünyesinde barındırdığını ayrıca belirtmek isterim.  UML kullanmanın faydalarını aşağıdaki gibi sıralayabiliriz:



  • Tasarım ve analiz UML ile yapıldıktan sonra ve mantıksal hatalar ayıklandıktan sonra kodlama işi oldukça kolaylaşacaktır.
  • Takım çalışması yapmak kolaylaşacaktır.
  • Ekipte meydana gelecek değişiklikte yeni gelenlere projenin anlatılması daha rahat olacaktır.
  • Proje başkalarına devredilirken diyagramlar devralanın projeyi rahatlıkla anlamasını sağlayacaktır.
  • Olası tüm senaryolar baştan belirlendiği için programın tutarlılığı artar.
  • Tekrar kullanılabilecek kodların sayısı artar. Bu da maliyeti düşürür. 

Bir sonraki yazımda UML diyagramlarından da bahsetmek istiyorum, özellikle de favori diyagramım olan user case diyagramlarından. Projelerinizde UML kullanırsanız asla pişman olmazsınız, ancak dikkat etmeniz gereken bir nokta var: UML kullanmış olmak için kullanılmamalıdır, sağlayacağı fayda harcatacağı emekten daha az olmamalıdır.  Örneğin çok küçük bir yazılım projesinde gereksiz diyagramlar kullanıldığında bu vakit ve emek kaybına yol açabilir. Amaç kaliteli yazılım geliştirmektir, UML ise sadece araçtır, bunu unutmayalım. 

6.12.10

K-NN Algoritması

Arkadaşlar bitirme projesinde bu algoritmayı kullandık, aşağıdaki yazı da bitirme projemin ara raporunda kullandığım, son raporda da kullanacağım bir yazıdır, Oktay Hoca'dan proje alan arkadaşların yazıyı raporlarında kullanmamasını rica ediyorum. 

Bu algoritmayı C#'da kodladık, ileride kısaca kodları da paylaşmak istiyorum. Umarım faydalı olur..
K-NN (En Yakın Komşuluk) Algoritması

KNN, eğitimli öğrenme algoritmasıdır ve amacı, yeni bir örnek geldiğinde varolan öğrenme verisi üzerinde sınıflandırma yapmaktır. Algoritma, yeni bir örnek geldiğinde, onun en yakın K komşusuna bakarak örneğin sınıfına karar verir. [1]

Bu algoritma ile yeni bir vektörü sınıflandırabilmek için doküman vektörü ve eğitim dokümanları vektörleri kullanılır. Tüm eğitim dökümanları ve kategorisi belirlenecek olan doküman vektörel olarak ifade edildikten sonra bu vektörler K-NN algoritması ile karşılaştırılırlar. 

Kategorisi belirlenmek istenen metnin vektörü, öğrenme kümesindeki metinlerin vektörleri ile karşılaştırılır. 

K-NN algoritmasında terim ağırlıklandırma için 3 çeşit yöntem kullanılabilir.
1-Bit ağırlıklandırma yöntemi,
2-Frekans ağırlıklandırma yöntemi,
3-Tf-IDF ağırlıklandırma yöntemi.

Algoritma En yakın komşuluk prensibine dayanır. Tüm dokümanlar vektörel olarak temsil edilir. Sorgu dokümanı ile diğer dokümanlar arasındaki cosinüs benzerliği hesaplanır. Benzerlik oranı 1’e en yakın olan n tane vektörün kategorisinden çok olanı dokümana atanır.
Uygulamada K-NN algoritmasının kullanılmasındaki nedenler aşağıdaki gibi sıralanabilir:
Uygulanabilirliği basit bir algoritma olması.
Gürültülü eğitim dokümanlarına karşı dirençli olması.
Eğitim dokümanları sayısı fazla ise etkili olması
Bu metot ölçeklendirilebilir bir metottur ve çok geniş veritabanları üzerinde de uygulanabilir.[4]

Her bir kelime vektörel uzayda bir boyuta karşılık gelmektedir. Her bir metin bu sayede vektörel uzayda ifade edilebilmektedir. K-NN algoritması ile vektörel uzayda bu metinlerin birbirlerine ne kadar benzedikleri tespit edilebilir. Bir başka ifadeyle birbirine en yakın metinler bulunabilir.

 Şekil 1  İki Boyutlu Vektör Uzayı

Yukarıdaki şekilde iki kelimeden oluşan bir ortak sözlüğe sahip dört metnin vektörel uzayda ifadesi gösterilmiştir. Eğer sözlük üç kelimeden oluşsaydı grafiğimiz de üç boyutlu olacaktı. Burada d1, d2 ve d3 eğitim dokümanlarımızdan oluşan vektörler, q ise sınıfını bulmak istediğimiz dökümanın vektörüdür.

Q dökümanının d1, d2 ve d3 eğitim dokümanlarından hangisine daha fazla benzediğini bulmak için aralarındaki açının cosinüs değerine bakılır. Aralarındaki açı ne kadar küçükse elde edilen cos(açı) değeri o kadar 1’e yakın olacaktır. Elde edilen değerin 1’e yakın olması, iki dökümanın birbirine ne kadar benzediğini ifade eder. 

Örneğin yukarıdaki örnekte q ile d2 arasındaki açı en küçüktür. Bu nedenle de q dökümanının en yakın olduğu doküman d2 dökümanıdır. Aralarındaki açının cosinüs degeri de 1’e yakın bir değer olarak karşımıza çıkmaktadır.

K-NN algoritmasında temel olarak aşağıdaki adımlar gerçekleştirilir:
1. K değerinin belirlenmesi.
2. Tüm öğrenme örnekleri ile olan uzaklığının hesaplanması.
3. Minimum uzaklıkğa göre sıralama işleminin yapılması.
4. Ait oldukları sınıf değerlerinin bulunması.
5. Değeri baskın olan sınıfın seçilmesi.

Burada k değerinin belirlenmesi, bize en yakın kaç vektöre bakılması gerektiğini ifade etmektedir. Örneğin k değerimiz 3 olsun. Bu durumda öğrenme kümesindeki dökümanlardan en yakın 3 tanesi alınarak dökümanın hangi sınıfa ait olduğuna karar verilir. Örneğin aşağıdaki gibi iki boyutlu kordinat sistemine yerleştirilmiş örneklerimiz olsun.

 
Şekil 2 Örnekler[2]

Yukarıdaki örneklerden maviye mi yoksa kırmızıya mı benzediğini tespit etmemiz gereken bir de yeşil örneğimiz olsun.

 
Şekil 3 Örnekler ve Sınıflandırılacak Veri[2]

K değerimizi 3 aldığımızdan yeşil örneğe en yakın olan 3 örneğe bakarız. K değeri 4 olsaydı en yakın 4 örneğe bakacaktık.

 
Şekil 4 En Yakın Üç Komşu[2]

En yakın 3 örnekten 2 tanesi kırmızı olduğundan yeşil örnek için de kırmızı sınıfına aittir diyebiliriz.

K-NN algoritmasında benzerlik hesabı aşağıdaki formülden yararlanılarak yapılabilir.

Denklem 1: K-NN Denklemi[4]
 

Yukarıdaki formülde: Wij terimin doküman içerisindeki ağırlığı, di eğitim dokümanı vektörüdür. q ise kategorisi bulunması istenen vektördür.

Kaynaklar

1.     http://ab.org.tr/ab08/bildiri/71.pdf (Erişim Tarihi: Kasım 2010)
3.     P. Hall; B. U. Park; R. J. Samworth (2008). "Choice of neighbor order in nearest-neighbor classification".
4.   http://www.metinmadenciligi.com/kaynaklar/mm1.pdf (Erişim Tarihi: Kasım 2010)


5.12.10

Hadis Veritabanı


Hadis Programı başlıklı yazımda bahsettiğim hadis veritabanını aşağıdaki linkten indirebilirsiniz. Veritabanını www.muhaddis.org adresinden txt formatında aldım, aşağıdan indirebileceğiniz dosyada bu txt orjinal formatı da var. Bir de txt formatı access formatına çevirdim, bunu da dosyaya ekledim.

Bu veri tabanı Kütüb-i Sitte hadislerini içermektedir. Veritabanında hadis metninin yanında, fasıl, konu, ravi gibi bilgilerin bulunduğu alanlar da mevcuttur.


Kütüb-i Sitte: Altı Kitap anlamına gelmektedir. Altı sahih hadis kitabı, hadis kitapları içinde en sahihleri olarak kabul edilir. Bunlar: Buhârî ve Müslim'in el-Câmiu's-Sahih'leri ile Ebu Davud, Tirmizi, Nesâî ve ibn Mâce'nin Sünen'leridir. Hadis tasnifinin altın çağı olan Hicrî üçüncü yüzyılda hazırlanmıştır. Mümkün mertebe sahih hadisleri içerirler. 


Hadis ilimleri ile ilgili bir yazıyı buradan okuyabilirsiniz.

Hadis Veritabanını(access ve txt formatlarında) buradan indirebilirsiniz. (Hadis Veritabanı indir.)

Google'da hadis veritabanı olarak aratıldığında insanların veritabanına daha rahat ulaşabilmeleri için bu şekilde bir yazıyla siteme eklemek istedim, umarım faydalı olur, hayırlara vesile olur.



4.12.10

Yılbaşı Gecesinin Talihsiz Talihlisi

Yılbaşı gecesinin en talihsiz kişilerinden birini açıklıyorum, hem de haftalar öncesinden. Bu kişi öyle bir kişi ki, bilmeden sırtına o gece çok ağır bir yük yüklenecek. Bu yükün ağırlığını ölçen bir tartı da (zannediyorum) bu dünyada yok.

2009 - 2010 sezonunda Fenerbahçe son maçta şampiyonluğu kazandığını zannederek seviniyordu. Talihsiz kişi de kazandığını zannedecek, sevinecek. Belki havalara uçacak, Fenerbahçeliler gibi timsah yürüyüşü yapacak. Ama tüm sevinci boşuna. Çok kısa bir zaman sonra, o yükün ağırlığını ölçen bir terazinin karşısında kendisini bulduğunda, kaybettiklerini anlayacak. Ve diyecek ki; yanlış anons yapmışlar. Ben aslında kazanmamışım, kaybetmişim, yazıklar olsun bana. Bir de o kadar sevinmişim ağlanacak halime.


Ne acı. Yılbaşındaki talihsiz insanın durumu, Sülün Osman’ın Galata Köprüsü’nü sattığı adamınkinden bile kötü. Her ikisi de başta çok karlı bir ticaret yaptığını, az bir karşılığa çok şey kazandığını zanneder. Ancak gerçek açıkça belirdiğinde, neyin ne olduğu kalplerde şüpheye yer kalmayacak şekilde görüldüğünde, her ikisi de aslında satın aldıkları şeyin ne olduğunu anlarlar. Birisi sadece bir hayali satın almıştır, hayal kırıklığı da hayalin yanında hediyesi olarak gelmiştir. Diğeri ise dağlar kadar, milyonlarca YTL günahı satın almıştır, hediyesi ise çetin bir azaptır. (Allah dilerse affeder ancak affetmezse; kumar Allah’ın yasakladığı bir iştir ve Allah’ın, emirlerini dinlemeyenlere vaadi açıktır.)

Bir de o talihsiz kişi olmak için sırada bekleyenler var.

Yılbaşında asıl talihli kişiler; ikramiye çıkıp da kazandığını zannedenler değil, Allah’ın merhameti ile hiçbir ikramiye kazanamayanlardır. Bunların zararı yalnızca bilete verdikleri paradır. O gözlerine görünmeyen az miktardaki paraya da sonradan çok üzülecekler, o ayrı. Ancak ikramiyenin çıkması durumuna göre izafi olarak daha şanslıdırlar. Bunlardan da şanslısı (gösteriş için yapmadıkları sürece) bilet almayıp bu işten uzak duranlar ve yakınlarını sakındıranlardır.

Yılbaşına az bir zaman kala bilet kuyruğunda bekleyen talihsize yaklaşıp röportaj yapan muhabir “kazanırsanız ne yapacaksınız?” diye sorduğunda talihsizin cevabı: “bir kısmıyla hayır yapacağım” olur. Ve bunu öyle bir söyler ki, zannedersin elinin emeğiyle hayır yapıyor. Paranın tamamını bağışlasa, yine de helal kazanılmış 1 kuruşun bağışlanması gibi olmaz, olamaz. Ancak vatandaş bunu unutarak ya da bilmeyerek kendince, kendi çapında lütufta bulunuyor, yapacağı bağışla kendini aklayacağını zannediyor.



Piyangodan çıkan paranın haram olduğu gibi, piyango bileti almak da haramdır.(Kaynak: İslam Fıkhı Ansiklopedisi) (Bakın: Prof. Dr. Hayrettin Karaman)


Gelin biz kaybedeblerden olmayalım. Medyanın gazına gelip koşarak piyango bileti almaya gitmeyelim. Herkesin yaptığı şeyi, babalarımızdan gördüğümüz şeyi yapmayalım. Milli Piyango bileti almayalım, yakınlarımıza da aldırmayalım. 

3.12.10

Hadis Programı

Burada güzel bir çalışma var. Program belirlediğiniz aralıklarla Hadis-i Şerif ya da vecize gösteriyor. Programı çalıştırıp gösterme aralığını ayarladığınızda belirttiğiniz dakika aralıklarıyla bir Hadis ya da  bir Vecize gösterecektir, isterseniz sadece Hadis ya da  sadece Vecize göstermesini sağlayabilirsiniz. 

Ben de böyle bir program yazmayı istemiştim, bu nedenle bu programın nasıl olabileceği hakkında önceden biraz düşünmüşlüğüm var. Böyle bir program yazmayı ya da geliştirmeyi isteyebilecek değerli kardeşlerime programın nasıl iyileştirilebileceği konusunda naçizane birkaç önerim olacak.

Aşağıda yazılanları okumadan önce programı indirip çalıştırmanızı tavsiye ediyorum.

- Mouse imleci form üzerine geldiğinde formun kapanmasını engellerseniz kullanıcı hadis okurken biden formun kaybolması sorunu çözülür. Bu şu an için gerçekten önemli bir gereksinim. Bunun dışında yazacaklarım biraz daha düşük öncelikli gereksinimler olacak.

-Form biraz daha yavaş çıkarsa daha güzel olabilir.

-Formun saydamlığı ekranda belirmeye başladığında 0 dan 100 e doğru 1 saniye içerisinde kademeli olarak çekilirse güzel bir belirme görüntüsü elde edilecektir.

-Kullanıcı ayarlar bölümünden formun boyutunu, arkaplan rengini, içeriğin yazı karakterini, rengini ve boyutunu ayarlayabilir, bu sayede kişiselleştirilebilir bir program olacaktır.

-Formun ekranda belireceği yer kullanıcı tarafından ayarlanabilir. 

-Programa Allah'ın güzel isimleri de eklenebilir. (Bu ayrıca bir program da olabilir. Bu konudaki fikir ve henüz tamamlanmamış çalışmalarımı dileyenle paylaşabilirim.)

-http://www.muhaddis.org/ adresinden yaklaşık 6000 hadisten oluşan kütüb-i sitte hadislerine ulaşabilirsiniz. (Burada txt formatında bir veri tabanı var, bunu alanların arasındaki '|' karakterini access'e tanıtarak access deki sihirbaz ile çevirebiliyorsun. Bende çevrilmiş hali var dileyene ulaştırabilirim).


Related Posts Plugin for WordPress, Blogger...