Shared Knowledge

I have been meaning to post about this for a long time.

In the past I used to keep my latest secrets secret. As a developer writing fractal software (or any other software) you want your application to have those “wow” features that no other app can duplicate.

That was a simple-minded and foolish belief. The entire evolution and progress of the human existance is based on people sharing their knowledge and discoveries.

Fractal Forums (actually there is only the one forum, so maybe it should be Fractal “Forum”) was one of the major things that changed my mind. Seeing people happily sharing ideas and developing them together that lead to incredible discoveries (outside the usual scientific community and peer-reviewed papers) was a welcome breath of fresh air. The original thread covering how the Mandelbulb was discovered shows this process.

Ever since then I have tried my best to share and explain ideas and it has been a very constructive and inspirational experience. Many a time I have shared a snippet of code with another chaos enthusiast who wanted to implement the same thing in their own code. The majority of the time they are very grateful and usually find a new twist to the code or idea I never would have had. This creates the feedback effect of leading to knew ideas that neither of us could have created before.

With this blog I have tried to change from making it an advert for a new release of Visions Of Chaos into a place I can hopefully help others understand the (relatively) simple maths behind chaos theory related ideas so they can enjoy and understand these principals themselves and (most importantly) come up with new ideas and advance the field.

Before the Internet was out there and when I was originally interested in fractals and chaos I only had books from the library to rely on to try and understand and learn how these ideas worked. The first real inspiration was Gleik’s Chaos that really got me into trying to code software to create those simple things like Mandelbrot Sets and Lorenz Attractors. Since the Internet that has all changed. The incredible result of shared knowledge is mind blowing. Whatever obscure topic you are interested in will be covered by someone else out there. You can usually find PDF versions of important papers on any topic. CiteSeer is an excellent resource when researching papers. If that doesn’t work a Google search for “paper name” pdf will usually find a cached copy somewhere. Sites like Open are brilliant with source code to explain how an idea works.

All of this does lead to attribution. If you do share an idea then it can (and usually will) lead to someone using that idea and (in the worse case) calling it their own. This can be discouraging, but don’t let it get you down. I try my best to cite the original sources when I develop a new bit of code. Everyone likes to know that their knowledge and ideas were appreciated and repsected.

Another sig at Fractal Forums included “I beg of you to enrich others as you have been enriched” and I think that sums it up. Without the vast pool of knowledge out there I would have never been able to add all the features into Visions Of Chaos that I have so far and will into the future.

Share the knowledge.


VocDroid v1.1

NOTE: VocDroid has since been updated and is now available as Visions Of Chaos for Android. It is highly recommended you download the new version and ignore VocDroid.

I released an update to VocDroid today. It now has proper settings dialogs to fully customise the rules.

You can download the APK file here.

Getting to grips with Android has been an interesting learning process. I was going to setup a post or two about setting up the SDK and writing a basic app framework, but at this stage it would be the blind leading the blind. Once I get some more experience it is something I would like to do.


Visions Of Chaos for Android

NOTE: VocDroid has since been updated and is now available as Visions Of Chaos for Android. It is highly recommended you download the new version and ignore VocDroid.

My old Nokia phone finally died so I upgraded to a new Android capable smartphone.

After trying a bunch of the freely available apps I wanted to have a go at programming the device for myself. After a few days of hacking I managed to get the first version of Visions Of Chaos for Android (VocDroid) up and running. Currently it only supports 2D Cellular Automata and 2D Cyclic Cellular Automata.

Here are a few screenshots;

You can download the APK file here.


Dots Maker

The game of Dots and Boxes has been around for many years and no doubt most people played it as a kid.

I was recently having a few games with a mate of mine over some beers and we both realised how tedious the initial setup phase of the game is (initially drawing up the grid of dots and then filling in the random spots until you reach the “end game” of actually using some strategy to fill in the boxes). So after some hacking I wrote a simple app to generate and print game setups.

The first version makes a “perfect” setup in which every move is going to give the oponent a completed box.

That worked OK, but it came down filling in the single boxes, then the doubles, then the triples etc without any chance for a free move to be found.

If the Perfect checkbox is unchecked then after the initial perfect setup is generated there is a 1 in 4 chance of existing walls being removed. This allows a few free moves before the end game begins.

There has been some extensive analysis into the game and many strategies exist for good gameplay.

I had always played the rule that if you can complete a box you have to. Apparently this is the simpler version of the game and the real rules state you do not have to take a box unless you want to. Playing this version opens up many more strategies (see previous strategies link).

If you want to try the app, grab it here. Single exe, just download and run it. It detects the optimal grid size for your current printer when you start it up.