Monday, November 2, 2009

Nota Okuma Çalıştırıcısı (Note Reading Trainer)

Müzik notlarını tanımak için alıştırma programı yaz.

Güncelleme 7 Kasım 2009: Delphi ile ilk sürümü hazırladım ve sourceforge'a koydum:




Nota okumayı hızlandırmak için de deliberate practice gerek. Sadece parçaları deşifre ederken öğrenmeye çalışmak yavaş yol almamıza neden olur.

Program rastgele bir nota gösterecek (sol + fa anahtarı) ve adını tuşlamanı isteyecek. Bu esnada süre tutacak. Zaman içerisinde bilme sürelerinin değişimini ve doğruluğu gösterecek. Ayrıca hangi notalarda zorlandığını gösterecek (büyük olasılıkla fa anahtarının alt bölümleri olur)

Nota aralığı: Middle C + 2 oktav yukarısı ve aşağısı.

Ekranda hatırlamayı kolaylaştıran FACE, Every Good Boy Deserves Fudge, All Cows Eat Grass, Green Birds Don't Fly Away, ACE ifadeleri olsun (sol tarafta misal)

Andrew'in ilgili dersi: #5 Theory: Reading Sheet Music

İleri düzey:
* Intervalic reading (lesson #6)
* Akor tanıma (inversionlar, açık pozisyonlar)
* Cep telefonlarında çalışabilecek bir sürüm hazırla

Sunday, October 18, 2009

Yemek Önerici

Yemek yapmak bir dert. Derdin bir kısmı "bugün ne yapsak" ve pazardan nelerin alınması gerektiği. Sorunu otomatize edecek bir program yazabiliriz.

* Öncelikle kullanıcı programa hangi mevsimde/ayda hangi sebze/meyveleri, balık/tavuk/et, baklagil vs. istediğini ve iki gün yenilebilecek yemek için gerekli miktarları programa girecek. Her mevsim yenebilecekler için (cırdıngış vb.) genel bir kategori olur. Kısacası, kullanıcı programı ilk açtığında programı eğitecek. İlla herşeyi ilk seferde yazması gerekmez, sonradan da veritabanına eklemelerde bulunabilir.
* Veritabanı dosyaları text olacak, kolayca edit edilebilecek anlaşılır bir formatı olacak (xml?).
* Birden fazla veritabanı dosyası seçilebilecek. Böylece başkalarının veritabanlarını kendi sistemimize ekleyebileceğiz. Veritabanı dizini olur, kullanıcı settings'ten o dizinde bulunan dosyalarıdan hangilerini kullanmak istedeğini seçebilir.
* Program bilgisayar saatinden hangi mevsimde olduğumuzu anlayacak
* Mevsime uygun haftalık yemek listesini oluşturacak. Bir önceki haftanın yemeklerini kullanmayacak. Eğer yemeklerden birini canımız istemiyorsa iptal edebileceğiz, yerine yeni yemek önerecek
* Yemekler için gerekli sebze listesini oluşturacak
* Mevsime uygun meyve, et/balık vs. listesini oluşturacak
* Meyve ve sebze listesini miktarları ile birlikte kullanıcıya sunacak
* Program yeni haftanın listesini vermeden önce kullanıcıya geçen hafta hangi yemekleri yapmadığını sormalı (checklist), yapılmayan yemeklerin dayanıklı malzemelerini stokta tutmalı
* Pazar alışverişinden sonra kullanıcı stoğu güncelleyebilmeli (program ona 1 kg patetes al dediği halde 2 kg almış olabilir)
* Program sebze/meyvelerin tipik dayanma sürelerini bilmeli, ona göre stoktan düşmeli
* Programa sebzelerin tipik pişme süreleri girilebilmeli (düdüklüde, tencerede, fırında, yağda)
* Elindeki malzemeleri girdiğinde sana yapabileceğin yemekleri söylemeli (bkz Supercook)

Bu programı haftalık alışverişten önce çalıştırırsak satın alınacaklar listesini oluşturmuş oluruz.

Sourceforge'da biraz aradım. Bu işi yaptığı iddasında olan projeler var ama hiçbir dokümantasyon vs. yok, projenin çalışıp çalışmayacağı meçhul. Sanki öylesine başlatılıp yüzüstü bırakılmışlar gibi duruyor.

Saturday, September 19, 2009

cep telefonu ile kontrol

cep telefonu ile kontrol edilebilecekler:

* Kombi (zaten var galiba): Eve girmeden önce evin ısınması için kullanılabilir
* Elektrik ve suyun kapatılması: Evden uzun süreli ayrılmışsan
* Ev ışıklarının açılması: Evde biri vamış izlenimi verip hırsızlık riskini düşürmek için
* Bilgisayarını açıp uzaktan erişmek için

Saturday, June 27, 2009

Cırdıngış Aparatı

Kıyma makinası gibi bir aparat olabilir. Bir gözüne yoğrulmuş hamur külçesi, diğerine un konur. Kolu çevirdikçe hamurdan bir parça koparıp hafif una bulayarak (yapışmaması için) cırdıngışa çevirecek. Diğer fikirler:

Sunday, April 26, 2009

English Vocabulary Developer

Specification

DEVELOPMENT HISTORY

April 26, 2009

1. Add an item to right click (context) menu:HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\



Notes:
* The right click menu item wont appear until you fill both the Default and Contexts data values.
* The above method only works for internet explorer. It seems for the time being there is no way to modify Chrome's context menu
* Google Chrome installation directory: C:\Users\UserName\AppData\Local\Google\Chrome\

2. Associate right click menu item with a program:
* Tried with test.exe... nothing happened. Copied an htm file as test.htm. It had some bluetooth script written with vbscript... Vista responded and asked if I allow the operation. Seems like we cannot call an exe directly. We have to use a script and embed it into an htm file.
* Learn how to call an executable from javascript/vbscript
* Learn how to avoid confirmation dialogs: Saved script that calls Notepad.exe in a *.hta (stand alone html) file. At first Vista asked if I allow. I said allow and checked "do not ask again for this program". Works fine.

3. Write a program that gets the selected text and writes it to a text file
* Get selected text
* Write selected text to file.
** Write text to file. When I call the hta file from context menu it does nothing. If I double click on hta, it writes the file just fine. Hmmm
** Write selected text to file.

Saturday, April 25, 2009

Chord Finder

Input: A song in mp3 format

Output: Chords and notes of song in midi format

Personal benefit: Motivation to learn music theory in an applied setting

Difficulty: Polyphonic music

Similar product: iChords

First version should be able to guess the tone of the piece from input notes of just the basic melody. Input will be in ASCII format (name and duration of notes). It will look at the # distirbution and last note. Use org metodu as test cases.

Second version should guess all chords.

Western music theory should be implemented. Basic guessing rules:
* The last note is the tone of the piece.
* Değitirici işaretler parçanın tonunu belirler. Örneğin Fa notalarının çoğu # almış ise parça ya Em ya da G'dir. Hangisi olduğunu son nota belirler.
* Circle of fifths, i.e. if the piece is in C then it is highly probable that there is F and G

Or instead of a lot of heuristics, should I use neural networks with minimal rules and train it manually?

Sunday, April 12, 2009

Guidelines & Quick List

* Always search the internet first if there already is a tool or an open source base on which you can build on... or at least cool ideas

* Check out sites like GetaCoder, RentaCoder. See pdf ebook of GetaCoder

* If you decide to develop it yourself, host it on sourceforge and/or google code. Invite code reviews

* English Vocabulary Developer (web development)

* Find difference between two images
** use imagemagick
** PDF

* Lunar lander clone (game development)

* Code review tool (web development)

* Audio tool that equates the max audio level of multiple mp3 files so that I don't have to fiddle with volume each time a song changes. See Mp3Gain (windows development)
** Check out Winamp plugin Rocksteady
** Consider building on something like audacity. I have to add batch edit. It seems it already has that: batch preferences

* The Flying Life Guard

VS developer center

Checkout AppJet (web programming)