Here's a program that I wrote a while ago. It utilises the hardware "speaker" to produce beeps. It's original purpose was to annoy the people in my library by creating obnoxious sounds. Since there weren't any speakers in the library I figured I might use the speaker embeded in the motherboard. Unfortunately the speaker can only produce monotonous beeps but with this program they become enough to annoy anyone =)
The program can create random or customised beeps. If that's to boring for you, it can also play a custom sequence of beeps. There are two example songs/sequences and a readme explaining how to create sequences.
Download: Beeper 2.0
System: Windows XP (tested on), Windows Vista & 98 & 95 (should work)
Having a Problem or Suggestion? : Contact
Have fun annoying people in Style =D
Thursday, February 5, 2009
Tuesday, February 3, 2009
Twitter GUI 0.7 (without GUI)
The first releasable version of the Twitter Application I'm currently working on. At the moment it's more like a follower/following equaliser. When you run the JAR file it shows a window like this:

Just Click On OK while displaying eternal gratitude towards me. After that is done, Enter Your Twitter Username and Password:

Next select either yes or no:

If no is selected, the program will unfollow anyone that does not follow you. if yes is selected, the program will ask you before unfollowing someone. Now wait some time and answer any yes/no dialogs thrown your way concerning unfollowing. Unfortunately you can not see the progress as the application has no proper GUI yet, just wait for a while. It shouldn't take longer than a minute for this to appear:

Congratulations! You have just followed anyone that followed you and unfollowed many that you followed but that didn't follow back.
This isn't a final release yet as you may have guessed. The application was just designed to test any post/get methods working together with the Twitter API. My next step will be to actually implement a Graphical User Interface, not just dialog boxes.
Get the JAR file here: http://www.zirconcode.com/downloads/Twitter 0.7.jar
If double clicking on the JAR file doesn't run it, right click and open with a Java Runtime Environment.
It has been tested under Ubuntu 8.10 only. As it is Java it should work on other operating systems also but E-Mail me if it doesn't. My E-Mail can be found on ZirconCode's contact area.
Have Fun =) & Check back regularly for a proper release (Version: 1.0)
Going to work on my neural network now...

Just Click On OK while displaying eternal gratitude towards me. After that is done, Enter Your Twitter Username and Password:

Next select either yes or no:

If no is selected, the program will unfollow anyone that does not follow you. if yes is selected, the program will ask you before unfollowing someone. Now wait some time and answer any yes/no dialogs thrown your way concerning unfollowing. Unfortunately you can not see the progress as the application has no proper GUI yet, just wait for a while. It shouldn't take longer than a minute for this to appear:

Congratulations! You have just followed anyone that followed you and unfollowed many that you followed but that didn't follow back.
This isn't a final release yet as you may have guessed. The application was just designed to test any post/get methods working together with the Twitter API. My next step will be to actually implement a Graphical User Interface, not just dialog boxes.
Get the JAR file here: http://www.zirconcode.com/downloads/Twitter 0.7.jar
If double clicking on the JAR file doesn't run it, right click and open with a Java Runtime Environment.
It has been tested under Ubuntu 8.10 only. As it is Java it should work on other operating systems also but E-Mail me if it doesn't. My E-Mail can be found on ZirconCode's contact area.
Have Fun =) & Check back regularly for a proper release (Version: 1.0)
Going to work on my neural network now...
Sunday, February 1, 2009
Google goes on Site Killing Spree
Google has flagged all sites as Harmful, even themselves:
http://tinyurl.com/adwf7n
http://tinyurl.com/aws7nx
http://tinyurl.com/avke5k
http://tinyurl.com/dby5zk
Google failed.
I have found nothing on the Google Blog or in the Google search engine about this except for an 2 years old BBC Blog introducing Google's warning messages.
The only reasons I see why Google would do such a thing is because they failed. The only other explanation is some conspiracy theory about aliens taking over the world.
http://tinyurl.com/adwf7n
http://tinyurl.com/aws7nx
http://tinyurl.com/avke5k
http://tinyurl.com/dby5zk
Google failed.
I have found nothing on the Google Blog or in the Google search engine about this except for an 2 years old BBC Blog introducing Google's warning messages.
The only reasons I see why Google would do such a thing is because they failed. The only other explanation is some conspiracy theory about aliens taking over the world.
Saturday, January 31, 2009
How to use If() for Experts
I just had a really funny problem in Java:
String name1 = "something";
String name 2 = "somethingelse";
if(name1.equals(name2))
{
result = true;
}
if(result = true)System.out.println(true);
Guess the output (in the Java Console). It was: true
yes that's right: true
How could the output be true if the two Strings are so different. "something" is definitely not equal to "somethingelse". I even used .equal to compare the two Strings like I learned from previous mistakes.
Well after like an hour of searching I found my stupid mistake:
if(result = true)System.out.println(true);
The single equal sign assigned the value true to result.
I should have typed:
if(result == true)System.out.println(true);
To make it a comparison.
Don't ask me how Eclipse didn't catch that mistake...
String name1 = "something";
String name 2 = "somethingelse";
if(name1.equals(name2))
{
result = true;
}
if(result = true)System.out.println(true);
Guess the output (in the Java Console). It was: true
yes that's right: true
How could the output be true if the two Strings are so different. "something" is definitely not equal to "somethingelse". I even used .equal to compare the two Strings like I learned from previous mistakes.
Well after like an hour of searching I found my stupid mistake:
if(result = true)System.out.println(true);
The single equal sign assigned the value true to result.
I should have typed:
if(result == true)System.out.println(true);
To make it a comparison.
Don't ask me how Eclipse didn't catch that mistake...
Update
I finally finished the Exams and my reward is the next Semester =/.
Right before the Exams I got interested in Neuroscience. I kind of started thinking how easy it would be to simulate the brain if you would know how a neuron worked. You would just have to make many of them right? After watching this and this Goggle TechTalk I was really interested in the stuff. Unfortunately I had to study so I didn't have time to pursue the matter. However I did borrow some Psychology books from my schools Psychology guy.
I got pretty good semester and exam Grades, all of them above 90% except for French which was around 75% =(. Well I guess I can't complain since I never studied for anything except for the Exams. I'll just have to start studying =(.
After the Exams I got a 4 day break and I created a working model of a 100 neurons interacting together within a week (I think that's pretty good). Unfortunately the connections are random and static, something which I'm going to work on next. Also I'll have to implement some output and input 'neurons' so I can put the brain into a testing environment.
The negative aspect of me getting interested in Neuroscience is that I won't be able to work on my MMORPG as much. My excuse is that I probably won't have an entire day to work on it anyway. I will continue the work on my MMORPG as soon as I enter the next Holidays. I feel kind of bad about abandoning the MMORPG for now but I think Neuroscience is a lot more important to my career. I hate to make choices =(.
Since I don't have enough time to write more here's a List of things I have/want to do:
- Work on Brain (not mine)
- I'm developing a Twitter Application to save time
- I feel like making a Monster Hunter Portable 2G cheat which will make me start cooking in the middle of battle. Just to annoy my friends when we fight something important.
- Finish off an FTP Password Cracker
- Release some of my older Delphi Apps.
- Improve website and add more Social Networking Functionalities.
- Create a timeline of my life for various unexplainable reasons.
As you can see I have tons of things I want to do. Now I just have to fight my laziness and do them =).
Right before the Exams I got interested in Neuroscience. I kind of started thinking how easy it would be to simulate the brain if you would know how a neuron worked. You would just have to make many of them right? After watching this and this Goggle TechTalk I was really interested in the stuff. Unfortunately I had to study so I didn't have time to pursue the matter. However I did borrow some Psychology books from my schools Psychology guy.
I got pretty good semester and exam Grades, all of them above 90% except for French which was around 75% =(. Well I guess I can't complain since I never studied for anything except for the Exams. I'll just have to start studying =(.
After the Exams I got a 4 day break and I created a working model of a 100 neurons interacting together within a week (I think that's pretty good). Unfortunately the connections are random and static, something which I'm going to work on next. Also I'll have to implement some output and input 'neurons' so I can put the brain into a testing environment.
The negative aspect of me getting interested in Neuroscience is that I won't be able to work on my MMORPG as much. My excuse is that I probably won't have an entire day to work on it anyway. I will continue the work on my MMORPG as soon as I enter the next Holidays. I feel kind of bad about abandoning the MMORPG for now but I think Neuroscience is a lot more important to my career. I hate to make choices =(.
Since I don't have enough time to write more here's a List of things I have/want to do:
- Work on Brain (not mine)
- I'm developing a Twitter Application to save time
- I feel like making a Monster Hunter Portable 2G cheat which will make me start cooking in the middle of battle. Just to annoy my friends when we fight something important.
- Finish off an FTP Password Cracker
- Release some of my older Delphi Apps.
- Improve website and add more Social Networking Functionalities.
- Create a timeline of my life for various unexplainable reasons.
As you can see I have tons of things I want to do. Now I just have to fight my laziness and do them =).
Monday, January 5, 2009
Back to School
There are only two days left of the Christmas Holiday for me and unfortunately I still need to do some school work. This means that I probably won't have a free day for working on my MMORPG for a long time, hopefully I can get a free day next weekend but no promises. This time of the year is the time I hate most since I have exams and projects due soon after returning to school.
I calculated that I have about an hour of free time on a typical school day if I don't go to bed too late (little sleep = me be grumpy and dumb). I'm not sure what I'm going to do in that hour yet, maybe work on some small project or improve my website or something similar. I've always been interested in psychology and I'm currently reading an introduction (600 pages!), maybe I'll delve deeper into neuroscience (sounds interesting). Or maybe I'll just play Shogi (Japanese chess), I learned it in just half a day so there's probably room for improvement (learning some strategies etc.). I'll probably find something to do, lets just hope it's productive =).
side note: This reminds me, I wanted to make a list of a 100 negative words because my English teacher said I should learn new vocabulary and this was the first thing which came to my mind (go figure).
I calculated that I have about an hour of free time on a typical school day if I don't go to bed too late (little sleep = me be grumpy and dumb). I'm not sure what I'm going to do in that hour yet, maybe work on some small project or improve my website or something similar. I've always been interested in psychology and I'm currently reading an introduction (600 pages!), maybe I'll delve deeper into neuroscience (sounds interesting). Or maybe I'll just play Shogi (Japanese chess), I learned it in just half a day so there's probably room for improvement (learning some strategies etc.). I'll probably find something to do, lets just hope it's productive =).
side note: This reminds me, I wanted to make a list of a 100 negative words because my English teacher said I should learn new vocabulary and this was the first thing which came to my mind (go figure).
Wednesday, December 31, 2008
Happy New Year!
Happy New Year!
I added a Sidebar on ZirconCode.com with the Blogger, Twitter, and RSS logo so you people can find me there. The sidebar is not complete yet and will later also include a search and navigation function along with some more social bookmarking logos. Otherwise nothing new, I didn`t have time to work on the MMORPG.
Have a nice New Year and don`t forget to make some great New Years resolutions =)
I added a Sidebar on ZirconCode.com with the Blogger, Twitter, and RSS logo so you people can find me there. The sidebar is not complete yet and will later also include a search and navigation function along with some more social bookmarking logos. Otherwise nothing new, I didn`t have time to work on the MMORPG.
Have a nice New Year and don`t forget to make some great New Years resolutions =)
Tuesday, December 30, 2008
MMORPG Day 9
On Day 9 of MMORPG development I turned the player into a grey box and allowed him to walk around. To do that I had to implement collision detection, which is easy to do for tile based maps.
The walking was handled by four methods in the Character class: walkUp, walkDown, walkLeft, walkRight. When a method was called (probably by a key press), it checked if the player would collide with the tile the player was about to walk on and then accordingly moved the player. The collision system looks something like this:

Each tile had four edges, each of which could be walk-through or not. To move the player the walk-methods had to check if the corresponding wall on the current tile was walk-trough and if the corresponding wall on the next tile was walk-through. If this was not the case, the player was not moved. In the above case the player (black dot) wants to move left. The tile the player is on allows that but the tile the player is going to move too doesn't so the player isn't allowed move.
I had to make an additional collision map for my current test map. The collision map stores the collision values of all four walls of each tile in the map. It was a simple arrays of 0's and 1's, where a 1 stands for collision and 0 stands for walk-through.
Each time the player moved his height he had too be properly adjusted so that if he moved to a higher tile, he doesn't sink into the floor and if he moved to a lower tile, he doesn't float above it. This was also handled by the four walk methods. The methods simply found the average of the tiles Vertices and used that as the players height. This has some disadvantages on very very steep tiles but I'm not planing to let the player walk on top of tiles with more than a 45 degrees slope.
It's kind of great to be able to walk around the small test world and I'm happy because the MMORPG is now a big step closer to being finished.
The walking was handled by four methods in the Character class: walkUp, walkDown, walkLeft, walkRight. When a method was called (probably by a key press), it checked if the player would collide with the tile the player was about to walk on and then accordingly moved the player. The collision system looks something like this:

Each tile had four edges, each of which could be walk-through or not. To move the player the walk-methods had to check if the corresponding wall on the current tile was walk-trough and if the corresponding wall on the next tile was walk-through. If this was not the case, the player was not moved. In the above case the player (black dot) wants to move left. The tile the player is on allows that but the tile the player is going to move too doesn't so the player isn't allowed move.
I had to make an additional collision map for my current test map. The collision map stores the collision values of all four walls of each tile in the map. It was a simple arrays of 0's and 1's, where a 1 stands for collision and 0 stands for walk-through.
Each time the player moved his height he had too be properly adjusted so that if he moved to a higher tile, he doesn't sink into the floor and if he moved to a lower tile, he doesn't float above it. This was also handled by the four walk methods. The methods simply found the average of the tiles Vertices and used that as the players height. This has some disadvantages on very very steep tiles but I'm not planing to let the player walk on top of tiles with more than a 45 degrees slope.
It's kind of great to be able to walk around the small test world and I'm happy because the MMORPG is now a big step closer to being finished.
Monday, December 29, 2008
MMORPG Day 8
On Day 8 I totally restructured the Map class (object). I found my current Map class was going nowhere and I saw no way out. I had one of those "Java Revelations" where you suddenly think of a way a lot easier and elegant than the one you're currently using. I shrank the code for the Map by half and now it's a lot easier to alter and more open to different options.
What I basically did was to substitute arrays and loops for things I was doing in a totally different way. I'm pretty surprised that I hadn't thought about this stuff before but I probably didn't think it was necessary. I now have an array of tiles in my Map class. Each tile holds all the variables about itself and almost nothing gets stored in the Map class itself except very general things. A Tiles variables include: Walkability (collision of all four sides), Colour(s), Object (ex. thing on top), Heights (all four corners), Actions (some script of a scripting language I haven't created yet triggered by character moving near/on tile).
I thought of a way to determine an objects/characters height when on a Tile. I would simply take the four sides of a Tile and find the average (height1+height2+height3+height4/4). The Characters height would have to be altered accordingly when moving. I hope to interpolate between nearby tiles when the character is not standing on any to find the next best height.
Nothing else really happened on day 8 which is kind of disappointing but I hope twice as much is going to happen on day 9 as I kind of pre-worked.
What I basically did was to substitute arrays and loops for things I was doing in a totally different way. I'm pretty surprised that I hadn't thought about this stuff before but I probably didn't think it was necessary. I now have an array of tiles in my Map class. Each tile holds all the variables about itself and almost nothing gets stored in the Map class itself except very general things. A Tiles variables include: Walkability (collision of all four sides), Colour(s), Object (ex. thing on top), Heights (all four corners), Actions (some script of a scripting language I haven't created yet triggered by character moving near/on tile).
I thought of a way to determine an objects/characters height when on a Tile. I would simply take the four sides of a Tile and find the average (height1+height2+height3+height4/4). The Characters height would have to be altered accordingly when moving. I hope to interpolate between nearby tiles when the character is not standing on any to find the next best height.
Nothing else really happened on day 8 which is kind of disappointing but I hope twice as much is going to happen on day 9 as I kind of pre-worked.
Sunday, December 28, 2008
MMORPG Day 7
Day 7 improved the look of the MMORPG a lot. Here's how the MMORPG looked after day 7:

It was very easy to add colour to the height field I had already created. I simply created a text file similar to the height field file and put colours inside instead of heights. The colours where given as rgb (red green blue) as that was the only option I would even consider. There was one simple problem I had to face:

The height field had a number for each Vertex (those red dots) so the colour file had stored a colour for each vertex too. I could probably have Interpolated Colours between the vertices to create the gradient colours inside the squares but that would have slowed down the Applet a lot so I simply assigned the colour of a squares bottom-right vertex to the entire square. This way the first row of vertices from the left and top simply got ignored but if I ever change my mind to interpolating colours I won't have to change any files.
I plan to approach the adding of objects on top of the tiles the same way. I'll simply create another file for the same map and store objects numbers instead of Colours or heights. I hope it works. I'll see if it works tomorrow (hopefully).

It was very easy to add colour to the height field I had already created. I simply created a text file similar to the height field file and put colours inside instead of heights. The colours where given as rgb (red green blue) as that was the only option I would even consider. There was one simple problem I had to face:

The height field had a number for each Vertex (those red dots) so the colour file had stored a colour for each vertex too. I could probably have Interpolated Colours between the vertices to create the gradient colours inside the squares but that would have slowed down the Applet a lot so I simply assigned the colour of a squares bottom-right vertex to the entire square. This way the first row of vertices from the left and top simply got ignored but if I ever change my mind to interpolating colours I won't have to change any files.
I plan to approach the adding of objects on top of the tiles the same way. I'll simply create another file for the same map and store objects numbers instead of Colours or heights. I hope it works. I'll see if it works tomorrow (hopefully).
Subscribe to:
Posts (Atom)