Effective JSL Experimentation

Times Tables Patterns explained using dynamic lines (Dual code)

Basically the same graphic code with two different languages. Different graphic results !!

An 'undocumented' ( bug ?? ) nice and choreographic effect with JSL code.
Does anyone know the reason and can give a plausible explanation?

	
	For( i = 0, i < _Divisions + 1, I += 1, 
		k = Modulo( Number * I, _Divisions );
		c = f << Add Line Annotation(
			Line(
				{420 + 400 * Cos( I * _Ratio ), 420 + 400 * Sin( I * _Ratio )},
				{420 + 400 * Cos( K * _Ratio ), 420 + 400 * Sin( K * _Ratio )}
			)
		);
		c << Color( colorname );
		Wait( 0.01 );
	);
	Wait( 2 );
	//-- now, clear drawing the same lines (as white color)------------------------------------
	For( i = _Divisions, i >= 0, I -= 1, 
		k = Modulo( Number * I, _Divisions );
		c = f << Add Line Annotation(
			Line(
				{420 + 400 * Cos( I * _Ratio ), 420 + 400 * Sin( I * _Ratio )},
				{420 + 400 * Cos( K * _Ratio ), 420 + 400 * Sin( K * _Ratio )}
			)
		);
		c << Color( "White" );
		Wait( 0.01 );
	);
	



j2Friend : Dynamic multi client management with jsl code.

jsl (JMP language code) is simply fantastic. No comparison is possible with the macro languages of other statistical softwares. This section contains a small contribution to facilitate interfacing with other tools used by modelers.

j2Friend Main features ( Version beta 0.98 - Jun 2020 )

- light, no bloated code, no NET code [mtE_j2f core size is about 100 kb] ,
- fully portable (no installation required),
- Win32/64 App combinations are managed as Clients by a unique mtE_j2f core pack ,
- a Standard COM.App can be managed as Client, simply adding a little dll with its COM.Interface ,
- if available, COM.Client proprietary macro code can be managed directly by jsl code ,
- a Custom.No.COM.App can be managed as Client, adding a callback code in Custom.no.COM.App sourcecode ,

Just few commands and few lines of jsl code to manage complex Host/Clients interactions in JMP

- meHost = Create_Me(); // Start jsl code as Host
- New_Client ( meHost, iClient..X, "mte_CRT.exe", "application", Client_mode ); // Start a Client(s)
- To_Client_As_... ( iClient..X, msg_type ,.., msg_mode); // Send a msg to Client(s)
- Get_Client_as_.. ( iClient, Column or C_Range ); // Get Data from Client(s)
- Client_Close ( iClient ); // Release COM.Client(s) or close no.COM.Client(s)
- Client_CloseDown ( iClient ); // CloseDown a COM.Client(s)

To Client messagging is thread safe and 3 different 'msg mode' can be used in the same code : _as_private ( the default, processed by a single Client only ) , _as_public ( processed by All active Clients ) , _as_common ( as _as public for active Clients with same class only )


These examples (video/jsl code) are for curious people only ( .. as a good data analyst or statistician should be ).
I did put much work in it, and many little secrets and tips .., so it might be worth taking a few minutes to download the examples, watch the videos carefully and analyze the simplicity of the jsl code ..

Questions, comments and suggestions are highly welcome.
Work in progress .. If you like this application, please consider to support it.




j2f Example 1: Vector Data Exchange

Vector Data Exchange : Excel + Minitab as Clients.


j2f Example 2: Vector Data Exchange

Vector Data Exchange : Minitab as Client.


j2f Example 3: Vector Data Exchange : DateTime Type

DateTime limits in Minitab.


j2f Example 4: Stress Test : msg as public.

This code (video) tests (shows) the difference of a private vs a public message.


j2f Example 5: Stress Test : msg as common.

This code (video) tests (shows) the difference of a private vs a common message for Excel Clients.


j2f Example 6: Stress Test : msg as common.

This code (video) tests (shows) the difference of a private vs a common message for Minitab Clients.
Sorry ... for final log print error. The right string is Minitbab 19[64] + ...


j2f Example 7: Stress Test : msg as common.

This code (video) tests (shows) the difference of a private vs a common message for no.COM.App Clients..