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.