Çarşamba, Eylül 27, 2006

BluePlayer 0.1


Audiere bir Ses kütüphanesi. Hatta daha önce bahsettiğim Irrlicht Oyun motoru da Bu kütüphaneyi kullanıyor. Pek tabii ki cross-platform ve açık kaynak kodlu.Tek büyük dezavantajı kötü bir dökümantasyonu var.
Peki Neymiş efendim özellikleri

Audiere is a high-level audio API. It can play Ogg Vorbis, MP3, FLAC, uncompressed WAV,AIFF, MOD, S3M, XM, and IT files.
For audio output, Audiere supports
DirectSound or WinMM in Windows,
OSS on Linux and Cygwin,
and SGI AL on IRIX.
Audiere is open source and licensed under the LGPL. This means that you may freely use
Audiere in commercial products, as long as you do not modify the source code. If you do modify Audiere and release a product that uses your modifications, you must release your changes to the code under the LGPL as well. Audiere is portable. It is tested on Windows, Linux-i386, Cygwin, and IRIX with at least three major compilers. Most of Audiere is endian-independent, so I expect it would work with few modifications on other architectures.
features
* Braindead easy API
* Supported file formats: Uncompressed WAV*, Uncompressed AIFF*, Ogg Vorbis*, FLAC*, MP3, MOD, S3M, IT, XM (* supports seeking)
* Streaming and buffered audio
* Volume, pan, and pitch shift modification
* Flat tone, square wave, white noise, and pink noise generation
* Runtime enumeration of audio devices and supported file formats
* Custom file streams
* Python, Delphi, Java, XPCOM (JavaScript in Mozilla) bindings

FLTK dan daha önce zaten bahsetmiştim. FLTK ve Audiere kullanılarak yazılmış basit bir ses dosyası çalar yazdım. ve pek tabii ki CodeBlocks Kullandım. Peki özelliği ne bunun diyorsanız
cross-platform olması. Hem IDE C::B hem GUI FLTK hem Ses kütüphanesi Audiere taşınabilir. Şimdilik windows sürümünü veriyorum. Linux için daha sonra inşallah
Indirmek için : BPlayer

Pazartesi, Eylül 25, 2006

Ramazan-ı Şerife dairdir

BK - Hocam Ramazan ayı gelince medeyada abidik gubdik konularda Fetvalar arıyorlar verecek Abidik gubidik adamları buluyorlarda sonra başlıyorlar Ramazan ayına ve Oruca demogojiye.

MCH - Öncelikle böyle yapanaları uyaralım
Mesail-i şer'iyede bir kısım mesail, eşhasa taalluk eder; bir kısım, umuma, umumiyet itibariyle taalluk eder ki; onlara "Şeair-i İslâmiye" tabir edilir. Bu şeairin umuma taalluku cihetiyle umum onda hissedardır. Umumun rızası olmazsa onlara ilişmek, umumun hukukuna tecavüzdür. O şeairin en cüz'îsi (sünnet kabilinden bir mes'elesi) en büyük bir mes'ele hükmünde nazar-ı ehemmiyettedir. Doğrudan doğruya umum âlem-i İslâma taalluk ettiği gibi; Asr-ı Saadetten şimdiye kadar bütün eazım-ı İslâmın bağlandığı o nuranî zincirleri koparmaya, tahrib ve tahrif etmeye çalışanlar ve yardım edenler düşünsünler ki, ne kadar dehşetli bir hataya düşüyorlar. Ve zerre miktar şuurları varsa, titresinler!..
- Pek sonra
- Sonrada Ramazan risalesini tavsiye edelim

Ramazan-ı Şerifteki orucun çok hikmetleri; hem Cenab-ı Hakk'ın rububiyetine, hem insanın hayat-ı içtimaiyesine, hem hayat-ı şahsiyesine, hem nefsin terbiyesine, hem niam-ı İlahiyenin şükrüne bakar hikmetleri var.
...
Ramazan-ı Şerifte ise, ehl-i iman birden muntazam bir ordu hükmüne geçer. Sultan-ı Ezelî'nin ziyafetine davet edilmiş bir surette akşama yakın "Buyurunuz" emrini bekliyorlar
...
İşte Ramazan-ı Şerif'teki oruç, hakikî ve hâlis, azametli ve umumî bir şükrün anahtarıdır. Çünki sair vakitlerde mecburiyet tahtında olmayan insanların çoğu, hakikî açlık hissetmedikleri zaman, çok nimetlerin kıymetini derk edemiyor. Kuru bir parça ekmek, tok olan adamlara, hususan zengin olsa, ondaki derece-i nimet anlaşılmıyor. Halbuki iftar vaktinde o kuru ekmek, bir mü'minin nazarında çok kıymetdar bir nimet-i İlahiye olduğuna kuvve-i zaikası şehadet eder. Padişahtan tâ en fukaraya kadar herkes, Ramazan-ı Şerifte o nimetlerin kıymetlerini anlamakla bir şükr-ü manevîye mazhar olur. Hem gündüzdeki yemekten memnuiyeti cihetiyle; "O nimetler benim mülküm değil. Ben bunların tenavülünde hür değilim; demek başkasının malıdır ve in'amıdır. Onun emrini bekliyorum." diye nimeti nimet bilir; bir şükr-ü manevî eder.
...
zenginler, fukaranın acınacak acı hallerini ve açlıklarını, oruçtaki açlıkla tam hissedebilirler. Eğer oruç olmazsa, nefisperest çok zenginler bulunabilir ki, açlık ve fakirlik ne kadar elîm ve onlar şefkate ne kadar muhtaç olduğunu idrak edemez.
...
Nefis, kendini hür ve serbest ister ve öyle telakki eder. ...İşte Ramazan-ı Şerifte en zenginden en fakire kadar herkesin nefsi anlar ki: Kendisi mâlik değil, memluktür; hür değil, abddir. Emir olunmazsa en âdi ve en rahat şeyi de yapamaz, elini suya uzatamaz diye mevhum rububiyeti kırılır, ubudiyeti takınır, hakikî vazifesi olan şükre girer
...
Ramazan-ı Şerif âdeta bir âhiret ticareti için gayet kârlı bir meşher, bir pazardır. Ve uhrevî hasılât için, gayet münbit bir zemindir. Ve neşvünema-i a'mal için, bahardaki mâh-i Nisandır.
...

http://www.nur.org/risale/ramazanrisalesi.htm
http://medya.nurpenceresi.com/np-SesliDers/29Mektub-RamazanRisalesi1.wma



Perşembe, Eylül 21, 2006

Anti Crack üzerine

Nedir Bu Reverse Engineering dedikleri ? yazımızda belirttiğimiz gibi çoğu kimse Reverse Engineeringden Crack işini anlıyor. Oysa RE sayesinde programlarınızın kırılmasını zorlaştırabilirsiniz

  • Program korunmaya değermi ? Değmezse hiç uğraşmayın çünkü Kırılmıyacak program yoktur…
  • Programınız çok kıymetliyse ! profosyonel çözümlere bakın
  • Anti-Debugging* için önlemler alın.
  • Programlarınızda anlamlı prosedür isimleri kullanmayın bool KontrolSeriNo(...) gibi Kolaylıkla devre dışı bırakılabilir - siz hiç derlediğiniz programlara DeCompiler** larla baktınızmı baktınız mı ?
  • Kullanıcının bir şekilde programı kırmaya çalıştığını tespit ettiyseniz . aman uyandırmayın bir veya iki gün bekleyip haberdar edin. Mesela Hatalı bir seri noyu bir jump değişikliğiyle doğru olarak kabulettirdiyse hemen bunu bidirmeyin bir gün sonra akkında dialogunda gösterin
  • CheckSum kullanın
  • Kodunuzun kendi kendini onarır hale getirin. SMC***
  • Parola girildikten sonra 1 veya 2 sn bir bekleme koyun. Deneyerek parola kırmayı -brute force -zorlaştıracaktır.
  • Birden fazla kontrol rutini yazın her seferinda farklı yada rastgele- bir şekilde çağırın.
  • Seri No kontrolünü string karşılaştırmayla yapmayın ****
  • Sistem saatine ve tarihine güvenmeyin!
  • Kritik Mesajları – mesela kullanım süreniz dolmuştur vb gibi- kodun içine düz şekilde yerleştirmeyin şifreleyin ve dinamik olarak oluşturun.
  • Koruma şemanızı açıklamayın
  • Önemli dialog kutularınızı ve menülerinizi dinamik olarak oluşturun -çalışma zamanında-
  • Demo versiyonlarınızda kısıtladığınız opsiyonları sadece disable yaparak yapmayın ilgili koduda kaldırın. – sadece ilgili kısmı enable yaparak kullanıma açabilirler-
  • Kullanıcıya programın hakkında bilgiyi Hakkında dialog kuytusunda verin
kısa kısa ve yazdım ama sizin için birer ip ucu olabilir eğer açık olmayan kısımlar varsa becere bildiğim kadarıyla açıklamaya çalışırım.

* En basit olarak IsDebuggerPresent() API var mesela
**
mesela Delphi ve CBuilder için DeDe var
*** Self Modified Code kendini değiştiren kod
**** Debugger ile kontrol kısmına gelip doğru Seri No yu kolaylıkla alabilirler hatta verdiğiniz hata mesajıyla doğru seri Noyu değiştirip sizin programınızla keygen yapıverirler :)

Perşembe, Eylül 14, 2006

Algoritma Dersleri

Top Coder sitesinin hazırladığı Algoritma Dersleri. Basit kalıpları öğrenip RAD* kullanarak programlar yapan insanların ihmal ettiği bir konu. Değişik problemlerle karşılaştıklarında ya tekerleği yeniden icat etmeye kalkışırlar ya da bu işi yapan component aramaya başlarlar.
Oysa RAD programcıları tembelleştirmek için değil işlerini kolaylaştırmak için vardır
her ne ise

Algorithms Tutorials
Başlıkları şöyle
The Importance of Algorithms
How To Dissect a TopCoder Problem Statement
How to Find a Solution
Geometry Concepts:
- Section 1: Basic Concepts
- Section 2: Line Intersection and its Applications
- Section 3: Using Geometry in TopCoder Problems
Introduction to Graphs and Their Data Structures:
- Section 1: Recognizing and Representing a Graph
- Section 2: Searching a Graph
- Section 3: Finding the Best Path through a Graph
Greedy is Good
Dynamic Programming: From novice to advanced
Computational Complexity
Using Regular Expressions
Understanding Probabilities
Data Structures
Sorting
Maximum Flow
Representation of Integers and Reals
Binary Search

Ulaşabileceğiniz adres ise burada
bu sitede Algoritma problemleri de var

* Rapid Application Development Hızlı uygula geliştirme (VBasic ,Delphi, CBuilder gibi)

Çarşamba, Eylül 06, 2006

Vel Asr

Asra and olsun;
Gerçekten insan, ziyandadır.


Ancak iman edip
salih amellerde bulunanlar,
birbirlerine hakkı tavsiye edenler ve
birbirlerine sabrı tavsiye edenler başka.

BK - Asırdan başlıyalım dediniz başladık hocam çok kısa olmadımı ?
MCH - Onca kısalığına rağmen gereken herşeyi anlatıyor.
- Nasıl yani ?
- Bu sure hakkında İmam Şafi (r.a.) şöyle buyurdu.
"İnsanlar sadece bu sure inmiş olsaydı bu süre insanlara yeterdi. Zira bu sürede bir şahsın kemal derecesine ulaşabilmesi için gerekli olan mertebeler mevcuttur. Bunlar hakkı bilmek, hakla amel etmek ve o hakkı ehil olanlara öğretip yaymak ve bunu öğretmek üzerine sabırla devam etmektir"
- ...

Cumartesi, Eylül 02, 2006

Hoş geliniz MCH !

MCH'nin katılış hikayesi

BK
- Hocam bir şey sorabilirmiyim ?
MCH
- Tabii evladım buyur.
- Üç aylar girdi Kandiller geçti dini konularda hiç bir şey yazamadım. Bu da beni rahatsız ediyor.
- Niçin yazamıyorsun ?
- Şey hocam bu konularda ehil değilim, çekiniyorum.
- Duyanda İslami ilimlerin derin mevzularında tetkikatlarını yazacak sanır. Ehil ağızlarda işittiğin nasihatlardan başta nefsin için olmak üzere aktarsan yeter.
- Allah razı olsun hocam sizden ehlini mi bulacağım
- Estağfirullah
- Pekii Bu karışık, hızlı, günahkar Asrımızda nereden başlamamız lazım
- Asır'dan Başlayalım evladım Asırdan