Hi, we always used line segments for our informati...
# share-your-work
m
Hi, we always used line segments for our information processing needs. Until we had computers. Then we used bytes. To go back to the good old days, I have been working on a Line Segment Computer. It is a bit inspired by cellpond by @Lu Wilson and

viewpoint

by Scott Kim but instead of cells/pixels you have line segments and the rules are not necessarily local. You can read about the WHY and the WHAT here: https://ernestum.net/talise_txt/ (incidentally, it might be the answer to this recent post by @Wil Chung) Or try it here: https://ernestum.net/talise/ (WASM, not optimized for mobile!) My writing is still a bit rusty and the demo might still be buggy but this thing needs to get out now or I will never publish it ... Any feedback, ideas, collaborations warmly invited. (aaahhh this is scary for me 😬😱)
k
I enjoyed the writing, but couldn't quite tell what was going on with the demo. Pressing keys didn't seem to add or remove any lines. It wasn't clear if the parallel horizontal line segments along the left were dynamically reflecting some state or just drawings on the wall. I couldn't reproduce the mouse drawings in the text with a for the previous click and b for the next click. Keep going! This is interesting stuff.
a
I've tried that too, did change the color of lines, I figured that pressing some keys would do that. But didn't get what else to do.
m
Thanks for checking it out and your feedback! I just uploaded a new version of the demo. You will have to clear the browser cache or use a private window to try it. At the bottom you should see a number of example programs. Initially only the "mouse pointer" program is active. You can click on it's name to view the code and edit it. Any changes come into effect immediately (unless you have a syntax error). The idea is to gradually explore by enabling more and more of the example programs. Some obscure commands: •
Talise(...)
= tagged line segment = create a new tagged line segment •
q(the_query)
= query the memory for the_query return a set of lines •
for _, line in ipairs(...) do
= lua's weird way to iterate over sets •
q(the_query, "name for query", {R, G, B, A}, width)
= same as
q(...)
but also render the lines in the given color, thickness (you can omit the name) In the Agents tab you can add your own agents. They will persist in the browser cache! The examples will be reset with every refresh!
What to expect ...
a
this is what I see. How can I "run" some particular program?
image.png
k
Looks like you need to check the box to the left of any example, maybe. Sorry, I'm not able to try it just yet..
m
Yes, you have to tick the checkbox next to the name to enable/run it. the little arrow ">" to the very left allows you to single-step a program when it is paused.
Running a program means, its code is evaluated once for each frame.
a
Yep, I did that, but all other windows to wide. Maybe you can record some tiny gif?
oh! I see now, thanks
m
This should give an idea