-
Using a datatable as a JSL data structure
Video made with JSL. Designed for 1920x1080 display. The JSL uses a data table to keep a row of data per moving point in the video. The ForEachRow loops use the column name variables rowpos and colpos to place a point at a row,column in the bitmap matrices and rowstep and colstep to advance the rowpos and colpos for each…
-
Ray Marching and WebP
This post shows a way-too-slow way to do ray marching and a perfectly fine Python way to make an animated WebP (like an animated Gif, but so much nicer!) Part 1: file formats This JSL uses the Python PIL library to make some test files to compare size, speed, and quality of PNG, JPEG, and WebP files. GIF is in part 2. If…
-
AI Riddle
An eight year old stopped by for breakfast this morning, and our conversation turned to riddles. "Ask me one," he said. I've a very limited supply on hand, so..."OK google, tell me a riddle." The first was harder than we cared for, and I gave up quickly..."OK google, what's the answer?". I was slightly surprised that the…
-
JSL to make a video from AI images
I started this project by making a collection of 13,000 512x512 AI images. The next step is to load some meta data about the images into a data table. Later I'll be choosing images with similar colors to replace parts of a zoomed in image. The table looks like this: The H,L,S and R,G,B values match the swatch color. The…
-
Jet theme
JMP has color themes for many purposes. Jet is one of the continuous Chromatic themes. It isn't the right choice for Height in the graph above because Jet is trying to use all the colors rather than trying to assign colors in a way that means short to tall (a scheme from the Sequential section might work better.) It looks…
-
Three JSL Easter Eggs
* drawing program* look in the scripting index, under MouseBox. The sample script for SetClick is a tiny sketchpad. * 15-puzzle* while you are looking at MouseBox, check out the SetDropTrack script. Classic game. * maze* Along with the other samples that ship with JMP, there is a set of 3D samples. Look in…
-
Directory Tree: Explore Space Used by Folders
The Multiple File Import tool in JMP can make a data table of the names/size/date of the files it found. The JSL in the attached add-in (JMP 16, Windows only) takes that data table and creates a nested tree view of the disk space used by the files. It is medium speed; it loaded 500K files from the root of the C drive in…
-
Browser Scripting with Python Selenium
Much of the web uses restful APIs to move data to and from servers. Rest is a simple concept that has nothing to do with sleeping; rest means representational state transfer, but this article is not about rest. This article is about a kludgy mechanism for working around the lack of a rest API when you really need to…
-
JSL Character String Functions
Simple Find and Replace JMP's scripting language, JSL, can store numbers, strings, and other objects in variables. A string assignment might look like this: place = "Cary, North Carolina, USA"; the variable place now holds the string. Here's a set of functions for working with strings in JSL. Place will keep that same…
-
Friend and Foe
I'm not sure what the point of this training exercise was, but I did learn Bob's name. There were a bunch of us in a large room and we were each assigned a friend and a foe (secretly, no shared information). We milled about the room, trying to move away from our foe and towards our friend. After a while we stopped and the…