Wednesday, December 24, 2008

disposable e-mail account

If you are bored of giving your e-mail address to lousy forums/websites so that they can fill your inbox with lots of spam, then try mailinator which offers a disposable e-mail service. Give a e-mail to the lousy website when you sign-up and then go to mailinator and check your e-mail (you don't need to log in with a password). Do the confirmation thing through the e-mail and voila! You didn't have to give your usual e-mail for a stupid confirmation of a stupid website/forum.

Monday, December 22, 2008

reprogram your mouse buttons via x-mouse

x-mouse I have a Logitech cordless optical mouse. I recently tried to reprogram its buttons for new functionality, but Logitech recommends the usage of native windows vista mouse drivers instead of offering a more functional one, so here I am, googling for an application that'll give me the desired functionality. Then, I found X-Mouse. It has every option I need when I tweak my mouse buttons and a very low RAM consumption. You can change the functionality of left, right, middle, left thumb, right thumb button into one of the offered functions (like "close application", "copy/cut/paste", "send a custom keystroke sequence", "launch any application", "double click" so on) . I highly recommend it.

Thursday, December 18, 2008

varargs in javascript

I'm learning Javascript in my spare time. So when I learnt the possibility of using varargs in Javascript, I wanted to share it. Here we go;

You probably know how functions are defined in Javascript:

function transform(){
// write stuff to html below
document.write("transform function initiated");

It is, of course, possible to define functions with arguments such as;

function transformWithMessage(message){
document.write("transform function initiated: "+message);

Now, I'll show functions with indefinite number of arguments;

// defined similarly to a function with no argument
function transform(){
document.write("transform function initiated: ");
// arguments array holds any argument sent to transform() function
for(var i=0; i< arguments.length; i++)
document.write(arguments[i]+" ");

A call such as transform("first lock engaged", "second lock engaged") will result in an output such as transform function initiated: first lock engaged second lock engaged . Similarly, a call such as transform("first", "second", "third") will result in an output such as transform function initiated: first second third .

Sunday, December 14, 2008

tag your mp3 files

I always listen to music in mp3 format. That's not because I'm a big fan of lossy compression, but because mp3 files are really easy to obtain and have good enough quality if you're a bit picky in terms of ripping quality. So, you got mp3 through a p2p sharing application, or you ripped it yourself from your cds. You have to make sure that the id3 tags (metadata of mp3 files) are correct. I'm using a two step process that I can easily recommend. First get MusicBrainz's application and install it. The application will scan the desired folders and automatically tag mp3 files. I'm directly quoting from Wiki for giving info on MusicBrain's app.:

MusicBrainz captures information about artists, their recorded works, and the relationships between them. Recorded works entries capture at a minimum the album title, track titles, and the length of each track. These entries are maintained according to a common style guide. Recorded works can additionally store information about the release date and country, the CD disc ID, an acoustic fingerprint for each track and have an optional free-form text field or annotation attached to them.

The automatic tagging process is not perfect, but it is good enough for tagging large mp3 archives by spending little time. The bulk of work is complete.

The second step in tagging is complementary. Mp3 Tag Studio must be downloaded and installed. Then you'll use this app for fine-tuning id3 information. You can mass tag mp3s (assuming they share same artist/album information) or you can import metadata of the songs from their filename (which's not, of course, reliable). After that, id3 information of your mp3 archive will be close to flawless.

Friday, December 5, 2008

javascript plug-in for eclipse

My favorite IDE for Java is Eclipse. So when I searched for a development environment for javascript, I checked if there's a javascript plug-in for Eclipse and the answer is yes. The installation is a piece of cake:
  1. Eclipse > Help > Software Updates > Available Software
  2. Type javascript in the search area
  3. Tick the checkbox next to "Javascript Developer Tools" with latest version
  4. Click Install

Tuesday, December 2, 2008

gaudi: google audio indexing and in quotes

Google's audio indexing service basically scans video content (from Youtube) for extracting audio data from it. Later, it applies a speech recognition algorithm for extracting words from obtained audio data and then index this textual data; GAUDI is not as interesting as it should be due to the spesific catalogue that it works on. For now, it's limited to election material of US presidency.

Another addition to Google Labs is "In Quotes" which's an application less ambitious than GAUDI. In Quotes can search words from newspapers and magazines and it is -again- limited to election material. Interested to find Sarah Palin's words on Turkey. Then visit In Quotes.

Monday, November 24, 2008

7 retarded food myths

I doubt that there's some internet user out there who didn't receive a forward e-mail that explains how coke will melt our stomach, or how monosodium glutamate is dangerous for health. Take a look at Cracked's list for these stupid food myths.

force unleashed

force unleashedI recently finished Star Wars: Force Unleashed on my PSP. I'd say that the plot is quite good and the fact that the game is just between the third and fourth episodes in timeline is what makes the plot more interesting. The plot takes us from the training of Darth Vader's secret apprentice to the foundation of rebellion. Gameplay can sometimes become frustrating because of camera angles and few glitches you encounter. But overall, I think this game gets my 8 on 10.

Tuesday, November 18, 2008

scanner class

Java 5 introduced Scanner class which has a functionality similar to the Reader in addition to the StringTokenizer class. Scanner can read input from a File, InputStream and ReadableByteChannel and can tokenize this data. It is more powerful than StringTokenizer, because it can parse primitives directly instead of taking them as String and parsing them to the corresponding primitive type.
Assume that we want to take the user input which consists of two Strings (e.g. name and last name) and an integer (e.g. student number).
Let's see how Scanner class works:
First we will link scanner to some input source.

// I link Scanner to System input.
Scanner scanner = new Scanner(;

Then Scanner will take the input from user and parse the input values to desired variables.

String name =;
String lastName =;
int studentNumber = scanner.nextInt();
// above I parsed anything I needed, below I'll close my Scanner.
/*Scanner closed. If the input source implements Closeable interface, it will be closed after that method call.*/

It is also possible to parse numbers with base other than decimal.

scanner.useRadix(2); // I'm setting Scanner to take a binary number as input
int number = scanner.nextInt();
// assume that the input was "101" which's "5" in decimal base
// then number is now "5".

Sunday, November 16, 2008

cooler for-loops

JDK 5 offers an interesting enhancement for for-loops. With the new feature, for-loops are less error-prone and with a higher readability. You can convert your for-loop from
for(int i=0; i < integerArray.length; i++) {
System.out.println( integerArray[i] );

// read below as int i "in" integerArray
for(int i : integerArray){
System.out.println( i );

Better, huh? Same stuff works with object arrays too.


dealextreme There's an online store that I use for buying cheap and made-in-china stuff with world wide free shipping. They tend to be slow (you have to wait something closer to 14 business days in average) but trustworthy (payment through paypal). But notice that we are talking about really cheap goods, so you better use your brain while you shop from Dealextreme. Buying a universal remote keychain = good idea, buying a condom = not a very good idea if you don't consider children.

Thursday, October 23, 2008

5 reasons luke skywalker is a complete idiot

Topless Robot gives solid evidence about the stupidity of Luke Skywalker. This stuff rocks!

Tuesday, October 21, 2008

varargs in java 5

I'm going to talk about one of the minor enhancements of Java 5; Varargs. Normally, if you are going to pass an arbitrary number of elements (object or primitive type) to a function, you would put them into an array and then pass the array to the function.
Assuming we have a concat() function such as

String concat(String[] tokens){
String result = "";
for(int i=0; i<tokens.length; i++){
result += tokens[i];
return result;

We will put all the Strings to be concatanated in an array and pass them to concat(). i.e. concat( new String[]{"come", "on", "eileen"} ) .

With Varargs, it is now possible to skip the array creation and pass the elements (again, object or primitive type) directly to the method. You change the concat() function so that it can accept them. String concat(String[] tokens){ becomes String concat(String... tokens){ and now you're free to pass any number of elements to concat() function without worrying about an array.
i.e. concat("come", "on", "eileen"); concat("dexymidnightrunners");

hugo gernsback

I was reading "Ultimate World" by Hugo Gernsback. After a little googling, I learnt that Hugo Award -which was my stepping stone for sci-fi literature ~10 years before- is named after Mr. Gernsback. If you need sci-fi reading recommandations, then take a look at Hugo Award and of course Nebula Award. My favorite novels from these awards are:

  • Dune and Children of Dune by Frank Herbert
  • The Forever War by Joe Haldeman
  • Neuromancer by William Gibson
  • Fahrenheit 451 by Ray Bradbury

Monday, October 20, 2008

video lectures

Here you can find an awesome video lecture site that's mainly focused on computer science. Every lecture video here has a powerpoint presentation screen next to it and that works great. Highly recommended!

linus torvalds' blog

Linus Torvalds begin recently to blog. Check it here.

top ten worst video game movies

james remar as raidenIf you want to know Gametrailers' list for top ten worst video game movies, take a look here (I think Doom is not bad enough for this list). As you'll see, Uwe Boll is the true king of crappy video game movies. Check his ratings @ imdb. No movie of his with a rating more than 5 over 10.

Wednesday, October 15, 2008

software holds cell phone calls while you drive

A Canadian company developed a software that will hold incoming calls during your drive. Required implementation is rather straightforward. Using the cellular network structure, the approximate location of the driver can be found. After that, you pick a time granularity (minute?) and do the math. If in the first minute the driver's on location X and in the second he's on location Y,then
distance(X, Y)/1 > driving_speed_threshold
will tell you if the driver is on the move. Notice that "1" stands for the difference between time.

For the details of the news, you can check here.


You probably know the famous Turing test. In Turing test, there's a human judge who evaluates two entities. One of the entities is human and the other is a machine. If the judge can't find which one is human by talking to them, then the machine passes the Turing test.
Loebner prize is given every year to the best chatbot. 2008's winner is not very close to pass the Turing test but you can chat with him if you want to know him better.

Tuesday, October 14, 2008

emails we shouldnt send

An engineer from Google finds a solution for emails sent with the undesired effect of alcohol drinks. The implemented system will check if you can solve few simple math questions, thus prevent you from sending stupid "We should get back together" emails. Check it here.
I think an SMS version would be appropriate assuming it is easier to send a SMS than an email.

bastard!! online

Bastard!! will have its own MMORPG. It is interesting indeed since this anime can't be considered 'popular' and the competition in MMORPG domain is fierce. Check the trailer here.

Monday, October 13, 2008

propaganda posters

propaganda poster

You better take a look at these propaganda posters that I discovered from digg. They are true gems imo: the way they manage to associate every single harmful event to Germany and Japan, and the solid racism they deliver. Bon appétit!

Friday, October 10, 2008

bug in kotor 2

Knights of the Old Republic II is a nice game, but obviously not a completed one in terms of testing. During my jedi's Korriban visit, I was annoyed because of a single and recurring bug: my main character decides not to move at all. Furthermore, that bug still exists although I updated the game with the latest (and probably the last) patch. With a bit of luck I found a workaround. All you have to do is save your game (eventhough your character doesn't move), and after that load that save. You'll see that now you can walk/run.

windows services

Black Viper offers a nice site with lots of information on Windows Services. If you're interested in freeing up some of your ram by closing unnecessary services, I'd recommend to take a look at the site. The site even contains reg files which apply the optimal service settings with your single click.
And no, Black Viper is not a 11 year old guy as you extrapolated from the nickname.

free movie downloads

Direkfilmindir (which means "download movies directly" in Turkish) offers a small but free collection of movies. These downloads are direct from the site's server and there's no fee for forum registration.

Thursday, October 9, 2008

mp3 stuttering

I had a mp3 stuttering problem on vista and I had no idea if it was caused by a sound card malfunction, or a software or vista itself. Neither disabling sound enhancements from vista, nor updating sound card driver didn't help.

After I discovered the direct relation between mp3 stuttering and my torrent application, I googled a bit and found that playing music severely degrades network transfer performance in Vista. After that, my torrent application began to die if I try to close it and I googled a few forums about it. There was a chance that the whole problem is caused by my firewall application (zonealarm) which, few years back, did sweet surprises to me like locking edonkey up. So I kicked zonealarm and got comodo firewall and mp3 stuttering, lock-up on bittorrent goes away. I recommend trying this before mingling with windows services.

operation aborted error of maxthon 2

I was getting "operation aborted" error from maxthon 2 everytime I hang on facebook.
Here's the cure:

-open maxthon setup center
-choose "add hunter" from the left tab.
-click on "edit filter list" link of "content filter"
-add "facebook" to the white list