Monthly Archives: July 2008

Structure Synth v0.8.5 Released (“Exonautica Reloaded”)

Well, it turned out that version 0.8.0 missed a few dependencies for the Windows build (so it would not run on a clean Windows XP SP2 install). So, before going away on my summer holiday, I made a quick intermediate release of Structure Synth. Now, if it would just stop raining…

reloaded

Version 0.8.5 changes:
The provided Windows binaries did not work for Windows XP (without installing the VS2008 C++ Runtime manually)
Size and position of window are now stored in registry.
Fixed a missing include statement causing compilation errors on Debian.
Fixed a bug which caused errors to be highlighted on the wrong text line in GUI, when comments were present.
Fixed a newly introduced bug which caused the ‘maxdepth’ property for a custom rule to fail.
Bug fix: TemplateExporter: All objects may now use the {UID} tag.
Bug fix: Reset View did not reset scale.

The Second Coming of JavaScript

Some months ago, John Resig created processing.js – an impressive JavaScript port of processing, which draws its output on a ‘canvas’ element entirely client-side inside your browser (at least if your web-browser is Firefox 3 or a recent nightly build of WebKit, that is).

Now Context Free (the original inspiration for Structure Synth) has been ported to JavaScript too: Aza Raskin has created ContextFree.js (Source here).

JavaScript has undergone a tremendous evolution. From creating cheesy ‘onMouseOver’ effects for buttons on web pages to being the ‘glue’ binding together complex applications like Firefox or Songbird (the Mozilla application frameworks works by stringing together C++ components with JavaScript). Likewise Microsoft chose to build their Silverlight technology on .NET components which can be controlled by JavaScript in the browser.

And of course the ActionScript in Adobe Flash is also JavaScript. Adobe (and/or Macromedia) has put a lot of effort into creating fast JavaScript implementations – most notably their Tamarin virtual machine and Just-In-Time compiler, which in theory should make JavaScript almost as fast as native code – or at least comparable to other JIT compiled languages such as Java and the .NET languages. Tamarin is open-sourced, and will eventually make it into Firefox 4.

Finally, while the Tamarin virtual machine was built to execute (and JIT) bytecode originating from JavaScript, other languages may target Tamarin as well. Adobe has demonstrated the possibility of compiling standard C programs into Tamarin parseable byte-code (their demo included Quake, a Nintendo emulator, and several languages like Python and Ruby).

So perhaps a future version of Structure Synth could be running as C++ compiled into Tamarin bytecode in a Flash application…