Port 22 #4
Here is a test of an escape time fractal with an exotic generating formula.
Now this discussion goes deep into the weeds of programming and development tools. Feel free to skip it if you are just here for the pictures.
Often a fractal program will have a way to add new code to implement formulas and other ideas that the base program does not provide. Today's picture is an example. Typically this is done in a custom scripting language.
Such a scripting language is not as efficient as a compiled program, and does not have all the features of a full general purpose programming language. I was too lazy to invent a new language, and then have to invest in debugging and optimizing it to do the things I want to do as fast as I want it to. Especially when I was already working in a perfectly good and familiar language, C#. So, in my program the scripting or add-on language is C#.
One of the core elements of VisualStudio is the Roslyn Compiler for C# and other languages. Roslyn is also a component of the .Net framework. You can use it to compile and execute new code within a program. I can write fractal or generative art hacks in C# code, and build and run optimized code without leaving the executing program.
You may ask why bother? Since I have the source code, I could just exit, modify the source code, compile and run. Several reasons, the first is probably the loss of "momentum" going through that stop, edit, compile, run cycle. There is also reproducibility, if I save the 'recipe' for an image, and then change the core program, the recipe may produce a different image, or fail entirely. Instead, the custom code changes are saved as part of the recipe. I can create a large number of variations, without ever changing the core program, and they have a high probability of working in the future.
Port 22 #3
Next thing to verify, small variations in the basic formula and zooming.
This is not a programming blog, and I should not bore you with programming minutiae. But I have nothing else to talk about right now.
Visual Studio is the development environment. C# is the programming language I use. .Net is a framework, or a set of libraries. Visual Studio 2022 comes with C# 10, and .net 6.0.
I installed VS2022 several months ago. These tools are for the most part supposed to be backwards compatible. I could not build any of my programs, which were built on .Net 4.8. The framework was properly installed (and re-installed several times) but VS2022 could not find it, and asked me to participate in an infinite loop of un-install and reinstall the framework.
In the past, Visual Studio always provided tools to easily move your programs from the older framework to the newer version. That is not provided this time, you need to do the port manually. As there are no significant benefits to running the old framework on the new IDE, and I did not have the time to invest in learning the new framework, and the product was still in 'preview' mode, I gave up.
Port 22 #2
The next goal in the port was to make some simple changes to the coloring algorithm.
I am actually much further along on the software port than these posts would indicated. I had this one queued up to publish a month ago, and generated by the program a few weeks prior to that.
I am falling into the trap where if I do not publish something daily then it gets to be a month or more between posts.
Port 22 #1
After a couple weeks of silence, here is the start of a new series, Port 22.
A sweet red wine, a portal, a port of call? All interesting ideas, but the reality is quite mundane.
I developed the software using the Visual Studio development environment. A new version, Visual Studio 2022 has been released. I am porting my software to the new version.
This is a basic fractal image I had used as a default test in previous versions of the program. So the first goal while porting the software was to reproduce this image.
Black Rainbow #9
Last year I set a goal to make 150 blog posts, and I made over 300 posts. I cannot keep up that pace. This year my goal is 100 blog posts.
I am a little nervous about slowing down. I have had this web site for 25 years now. There has been many changes, and many reboots. There have been a few times when I said I was going to slow down, with the good intention of maintaining a slower pace, and then go a year or more between updates. I won't let that happen this time.
Black Rainbow #2
Here is the first of two very minimal pieces.
I completed the first one in this series some time last year. I had put together several low-resolution "sketches" as candidates for the series. I made a list of additional experiments I wanted to try. Vary the relative size of the black and color bands. Replace the rainbow with other colors, such as shades of silver and gold. Create and mix in a competing "White Rainbow". As usual, I got distracted with other things.
I am cleaning up and finishing some the better early candidates now. The additional experiments will have to wait. Perhaps I will get around to those and post a "Black Rainbow II" series in 2022.
Black Rainbow #1
Here is a series called black rainbow. I was experimenting with putting a black stripe between rainbow colors then twisting and distorting in various ways.
I am still cleaning up the hard drive Why? If you have not been following along, see the notes Footnotes #2 and Footnotes #3. In a way, this is a continuation of the footnotes series.