Saturday, April 11, 2009

I am moving my blog to Orinetz

I want to tell readers of my blog that I am going to move my major blogging effort to Orinetz Network. Blogspot is a nice place for blogging, however a web-programmer and linguist need more freedom to express himself. I need a place where I can effectively express myself in more than one language.

That is why I decided to purchase a domain and start a new website there. I had uploaded several web application to orinetz. In the mean time, there are Blog, Question and Answer Forum, Online Gravity Simulator and Programmable Comics in Orinetz Network.

I am especially proud of the new Gravity Simulator. Compared to the old one mentioned several times in this blog, the new Gravity simulator have many advantages:

  • It is browser based, you only need your browser to run it
  • It is collision capable simulator
  • It is multilingual - at the moment there are only two languages in Orinetz Network though
  • Space objects are drawn to scale
  • Anyone may make their planetary system there


All in all, I believe that this Gravity Simulator is already far more realistic than its older counterpart. This is my first step toward making Orinetz as a multilingual science fiction directory. In the future I plan to make more browser-based applications related to science fiction and applications related to learning new languages. This also add something in the list of programming languages I ever used to make gravity simulators.

Thursday, October 23, 2008

Orimath Referral and Reselling Business

Lately I had added a new marketing module in my website www.orimath.com. This new marketing function will enable anybody who have PayPal account to get extra income by referring my products to their friends or resell my products in their website or blog. If someone buy a product in my website, they will get a share. All they have to do are :


After they get the referral code, they can either put the codes in their email and send them to their friends, or they can put referral link in their blogs, websites, or social network profile.


Example of Referral Hyperlink



Example of Referral Banner




Beside referral links, orimath.com also provide resellers with reseller buttons. By putting these referral buttons in their own websites or blogs, resellers can sell my products direcly from their websites or blogs. Resellers will also get a portion of the sales generated by their reseller buttons. Clicking these buttons will redirect you to PayPal to pay for the products. After purchase is made and paid, you will be sent to my download page to download the products you had paid for.


Example of Reseller Buttons





Oh and last but not least. I just added a new product into orimath. A polynomial solver. This could help you to solve and learn how to solve polynomial using various numerical method. See this link for more into about the product.

Friday, September 26, 2008

Shopping Cart,Multi Download and Discount in Orimath.com

After adding Fractal Gallery into Orimath.com, today I work to upgrade the purchasing and download system. Now any users who wish to buy more than one item wont need to surf around between Orimath.com and PayPal. Just check-up several items that you wish to purchase and put them into your shopping cart. No login is required.




Now, users can grab several items at once





Orimath.com shopping cart system


Have you finished your shopping in Orimath.com ? You just need to click that Buy Now button. You will be automatically be brought to PayPal to pay your purchase. By purchasing more than one item in Orimath.com you will get USD 0.15 discount per item, starting from the second item you put into your shopping cart.





This is the Multiple Download page


After finishing the payment procedure using PayPal, user will be redirected back to Orimath.com. Meanwhile in Orimath.com, the purchased product will wait for user to download them. Just click once in each picture and user will get the product they bought.

This upgrade have been installed, checked for validity and ready for use. I will have to say thanks for Sonata, who had helped me as the tester and everyone who had visit my site. Thanks to all of you. :)

Wednesday, September 24, 2008

System Update in Orimath.com

Orimath.com is the website I used to sell Orimath Quadratic Solver, which is basically a commercial version of the Quadratic Solver I used to answer questions in Yahoo!Answer. The website used to sell only one product, there is practically no other software other than the Orimath Quadratic Solver itself. But that already changed.

Yesterday Orimath.com got a facelift. The index page had been changed to fit more with its role as a webstore. I added a new feature called Fractal Store.






At the moment this post is written 8 fractal patterns are being sold in the web. The pattern is sold as programs capable of rendering the fractal in any resolution. User can also explore the fractals in any range they want to, this would give users freedom to choose which part of the pattern they want to render into high resolution fractal image.

However, since fractal rendering is a time consuming process, it is advised that exploration should be done in low resolution. Should users find certain part of the fractal interesting, they can take high resolution shoot on that particular part.

Tuesday, September 16, 2008

Newton Fractal and Durand Kerner method

Newton Fractal and Durand Kerner method

I had known about Newton Fractal for a long enough time, even before I wrote the code for RTC7681 and RTC7683. But it is impossible to do, as long as I don't know what numerical method people use to get the complex roots of complex polynomial function.

Anyway I just decided to ask the question in Yahoo!Answer recently and several people was kind enough to answer my question. Too bad I can only choose one best answer. Internet is a really helpful thing to have, just imagine how many knowledge do millions of user around the world can have. So I just need to transform Durand-Kerner method into computer code and voila I have my Newton Fractal.

All pictures showed below is a actually Newton Fractal plot of the same complex polynomial function, but different pictures showed different level of detail. The complex polynomial function used is f(x) = x8 + x6 + 5i x5 + ( 3 + 2i )x4 + ( 3 + 5i )x2 -1. The value of a used is 1 + 1i.




The picture above is the Newton Fractal plot of the complex polynomial function mentioned earlier. The plot range is between -300-300i and 300+300i. Even though this is the least detailed plot of the fractal, this one is drawn the latest as that was the last thing I am curious about. If I wasn't too curious about the geometry of the Newton Fractal in big range, I would probably never care to plot it. Anyway the prospect of being able to get the same small detail in big scale win my curiousity.




This particular Newton Fractal was plotted with plot range between -3-3i and 3+3i. So this one have about 100 times more detailed, than the previous Newton Fractal plot result. This is the first plot I told my cute little computer to execute, as that is the range I used to test the program with different polynomial function and a value.




Curious what would happen if we take a look on those little blob in plot range between -2.3-0.3i and -1.7+0.3i ? I was curious as well. So I decided to spend about 8 hours of my computer time to plot the function in high resolution ( 8000x8000 pixels2 ). I have ordered the ( 70x70 cm2 glossy paper print of the plot result and planned to use it as a poster in my room. Too bad I can't share either the 183 MB BMP file or 20.7 MB JPG File due to the upload speed where I live. But if you click the image, you can still view it in 2000x2000 pixels2 detail.


Extreme Resolution



I was still curious about bigger picture of the Newton Fractal, so I decided to do more experiments. The first extreme experiment result was the picture above, depicting the plot result with range between -3e5-3e5i and 3e5+3e5i. It seems that the greater range we go, the less detail we can expect to get.




And on the range of -3e8-3e8i and 3e8+3e8i, you will get no complex picture at all. See the picture above and you will realize that the pictur consist of only 5 different color, instead of 8. This means that in the big picture of things, the probability to get 5 roots out of 8 from x8 + x6 + 5i x5 + ( 3 + 2i )x4 + ( 3 + 5i )x2 -1 = 0 using Newton-Raphson method is great. To get the other 3 roots however will be almost impossible.




On the other hand, it is not easy to get a plot result with good complexity on the micro scale either. Most of the time you are going to Fall into the Sea, but by using a numerical method called Bisection combined with low resolution exploration, we can expect to arrive in some Island of Complexity. The plot result above for example, was drawn with plot range between -2.2113+0.0002i and -2.2117+0.0006i.

Thursday, September 11, 2008

Who is the god of a simulated reality ?

I have been interested in stories about deities since I was small, and lately I asked lots of questions about this in several internet forums. I am a Christian myself, but I would state that there is no observational evidence about the existence of what we called gods. Some people would say that there is no observational evidence for the inexistence of gods as well, but this argument can be easily countered by the fact that there is no observational evidence about the existence of unicorns and flying sphagetti monster as well. This of course won't mean that gods doesn't exists, but it does mean that the existence of gods is as hypothetical as the existence of either unicorns or flying sphagetti monster.

So what is a possible solution when there are no conclusive evidence ? We should look at how we prove the existence of something hypothetical. A hypothetical object could be proven to be exist, even if they are not visible, by observing whether their predicted effect could be observed in experiments. Of course to do so we have to be clear on the properties of the hypothetical object we are going to look for. In this case I tried to look for possible definitions of gods in case of simulated reality.

So I put my question in a science fiction forum about what they think regarding the gods of a simulated reality. This is a reply from David Jackson, a fellow member of Orions Arm mailing list who happen to run a digital fiction blog. I find his reply to be somewhat insightful, so lets hear how he define a god :

Well ... let's see. What constitutes a god?
  1. IMO, a true god should be the ultimate agent of creation for a thing. He need not craft ever detail of that thing -- it is enough to initiate the creative spark that subsequently develops into the finished product.
  2. Likewise, he need not have absolute authority over the development of the thing once it gets going, but he SHOULD have the power to dictate arbitrary changes and have those changes proceed/develop according to the pre-existing nature of the thing and the overall influence of the change itself.
  3. A god need not be omnipotent, IMO. It is enough that he should be able to obtain a particular piece of information he desires when and if knowing it becomes important.
  4. A god should have power over the future of a thing even after it has left the cradle. So he should be able to recall it for further changes on a whim, terminate the thing outright, suspend its development indefinitely, etc.
So that is David Jackson definition of a god. Then he go on to explain his points whether each objects in a simulated reality could be considered as a god. Since I am the one who make the poll in the Great Big Group, I think I will have to explain why I included each option for my friends there to choose. Green colored text is my reason to include the option as a god candidate, Blue colored text is David Jackson's argument.

So ... how do these criteria match our godly candidates?

The programmer who made the program

It is clear, programmers made the program. Programmers are godlike in the sense that they are the creator deity of the simulated reality. Most people I asked in other forum would choose this option. Programmer is the one who create the environment and the very law that the universe where simulated reality run have to obey. But David Jackson have better knowledge about software development than I am.
Well, he certainly created the program, and has some degree of arbitrary power over its development. But, in the real world, a programmer actually tends to have very little freedom within a project. He is handed a set of goals to accomplish, and sets about accomplishing those goals to the best of his ability. Good managers will give good programmers considerable leeway in designing and implementing their programs ... but programmers without any direction whatsoever are a bad idea.


Anyone who run the program and play

The program have left its cradle and people who may not know anything about how the program is written, puchased the program and play it. The player have full control on the lives of any creature in the simulated reality, and the programmer will not interfere. Players in this sense are gods, just like Odin, Osiris and Zeus are gods.
He is constrained by the nature of the program, warts and all. Since he has no authority over the nature of his experience regarding the program and no ability to dictate arbitrary changes, I'd say he's out as a god.


The computer where the simulation is run

My reason to include this option is they are the one that make sure the law the programmer had made is always obeyed in simulated reality universe.
Basically this is the same as the person who runs and plays the program. They experience different aspects of the same process. A user is just as much a part of a program's process flow as the CPU is ... so by the same argument, no, the computer is not a god. It's merely an environment.


The simulation software

This is the very law of the simulated reality universe itself. If the simulated universe can evolve, this is the very equation that govern how the evolution are being done.
Am I a god of myself? Considering how a bad cold can knock me down ... I'd say no. Likewise, the first time a segfault brings the simulation to its knees, it pretty much loses all claim on godhood.


The harddisk

My reason is the harddisk store the deeds of all creature in the simulated reality universe. The harddisk know everything and is closer to omniscience (relative to the simulated reality) than even the programmers themselves.
Part of the environment. Not even a directive part of the environment, so, no.


The server admin

Well, some of them say they are gods, so I included them here :)
Have you met many server admins? They only think they're gods.


The memory (RAM)

This is the very environment where creatures inside the simulated reality lived and evolved.
Same basic principle as the hard disk, so no.


Conclusion

When all is said and done, I'd have to say that the project manager or designer is the closest thing to a god I can think of when it comes to a software project. He is tasked with identifying a need, formulating a plan to address that needs, and delegating the implementation of that plan to his programmer peons. Depending on his position in the company, he may be able to initiate holds and recalls of the product. If he is forward-thinking, he can direct his programmers to include the kinds of "kill switches" Microsoft builds into all its products to obsolete them after some amount of time in-market.

Sure ... every now and then some hacker comes along with a crack to disable your kill switch ... but, then, Adam bit that apple. So a PM still has at least as much claim to godhood as Yahweh.

Tuesday, August 19, 2008

Example of Chaos in Rule 23-3

The evolution property of Cellular Automata Rule 23-3 known as Conway's Life have been known to be chaotic. This means a small change in initial condition, will have a big effect on the evolution of said world.

This Morning (August 10th 2008,1 AM (GMT+8)) I had been lucky enough to observe this particular property of Rule 23-3 while doing some experiments involving 21 Conway's Worlds.

The experiments involved 7 worlds with worldsize of 30 x 30 pixels, 7 worlds with worldsize of 60 x 60 pixels and 7 worlds with worldsize of 120 x 120 pixels. The main objective of the experiments was to determine the average longevity of Conway's world in relation to the worldsize of said Conway's world.

What interest me the most was an unusually high longevity observed in one world with worldsize of 120 x 120 pixels. This particular initial condition below, was shown to have longevity of 9150 cycles.

Initial Condition
Death Condition


This unusually high longevity (about 2.135 Standard Deviation from the mean value) had made me wonder about the rarity or abundance of Conway's world with such long lifetime. So I alter the initial condition by killing one live cell from the original initial condition above. This had decreased the lifetime of the world down to 3059 cycles.


Initial Condition
Death Condition


Since killing one live cell in the initial condition made the longevity of the world being near to the mean longevity value, this might means that initial conditions that produce world with high longevity value to be rare. But more experiments must be done before taking any further conclusions.

If you are interested to help calculating the average lifetime of a Conway's world with certain worldsize, just download the program and do some experiments by yourself. Submit your experiment results to this particular maling list Yahoo!Groups : Cellular Automata Research.