Now eval3 is using a new URL compressor,
that is always on.
All old URLs should still work. But the new ones should survive linkification better,
because they only use URL-friendly base64 characters. So they're more likely to work if you paste them into Gmail,
or forum markdown.
Here's a sample URL that animates wiggly tree tentacles on a canvas:
The new compressor turns the form fields into a JSON string,
percent-encodes all but the most vanilla characters,
does static-dictionary substitution to make some common strings shorter (like "document" and "function"),
then uses Lempel-Ziv to compress repeated strings,
and finally encodes everything in linkifier-friendly base64.
Aaaand in Vorp, it should be easier to make small movements with the little pink square that is you -
better for lining up throws, or getting onto a beam sensor. And level 2 got a little overhaul.
I've been working on Vorp
Now there are ten lesson levels, and a couple new challenging levels.
URL compression! Plexode pages that store state in the URL, like eval3
now have a URL shortener button in the top right corner, that calculates a compressed URL.
A compressed URL contains all the information that was in the original. URLs aren't stored in a database.
- Given a string to compress, find the repeated substrings and their frequencies.
- Select the one with the biggest length*frequency, to 'squish' by substituting a smaller,
unused string for the larger one.
- Create an 'unsquish' command string to reverse the squish step.
- If the substitution would shorten the string more than the command would lengthen it,
then the new string = the unsquish command + the old string with the substitution made.
- Goto step 1.
Added a new game, Vorp
, to the nav bar.
Refactored the whole site!
For example, now you can go to plexode.com/eval3
instead of plexode.com/cgi-bin/eval3.py
All old-style URLs should get redirected to the new URLs. eval2 and eval3 URL hash fragments are preserved, even on IE.
I also got rid of some cruft, and added some stuff.
Insta-html and eval have a beautiful baby and it is eval3
It is full of wonders. Here is a snake I made with it:
saves and loads content using the href
fragment, so you can save a JS program as a bookmark, or send one to a friend.
Fun Time Example URL
Many moons ago...
Welcome to Plexode!
Want to play a game