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)