Page 3 of 3

Re: SERF

Posted: Sun Nov 05, 2023 9:48 pm
by richmond62
Dan Gelder just stopped all work on SERF, even to the extent of refusing to talk about it.

Re: SERF

Posted: Mon Nov 06, 2023 1:01 pm
by tperry2x
richmond62 wrote: Sun Nov 05, 2023 9:48 pm Dan Gelder just stopped all work on SERF, even to the extent of refusing to talk about it.
That is very odd. To spend that much time and effort on something, and then to lock it away like that.
It's a shame, as if this had gone multi-platform, perhaps we'd be typing this on serfTalk [dot org] now?

I don't suppose he's had a change of heart and can be coaxed to work on anything with us - for the open source community? That's an extremely long shot I'd imagine if he's given up on the whole idea. A real pity.

Re: SERF

Posted: Mon Nov 06, 2023 4:00 pm
by FourthWorld
Stacks viewable within other stacks, a shipping feature in Gain Momentum in the mid '90s, proposed for LC nearly 20 years ago:
https://quality.livecode.com/show_bug.cgi?id=2786

As for Dan, I had the pleasure of talking with him a few weeks ago. He's as bright and facile as I recalled from our old exchanges in Usenet's comp.sys.mac.hypercard.

I can't say why he moved on from Serf, but I'd wager it's just a matter of time. He has many interests, and seems well enough employed that he doesn't need to gamble on a dodgy startup to pay the bills. I have the impression that all the things we've seen from him over the years are just the highlights of his passionate curiosity able to find expression through good programming habits.

Re: SERF

Posted: Mon Nov 06, 2023 4:16 pm
by richmond62
I wonder why stacks viewed within stacks was not, in the end, taken up.

Re: SERF

Posted: Wed Feb 12, 2025 3:46 pm
by richmond62
I wonder why I am back here reading this:

https://web.archive.org/web/20000918063 ... ences.html

Possibly because there may be one or two points there that SC and LC missed.

Re: SERF

Posted: Wed Feb 12, 2025 3:54 pm
by richmond62
Let's Go Rockabilly with SERF:

https://web.archive.org/web/20000918063 ... ftalk.html
paint an oval at "10,20,100,168"
Erm:
-
Screenshot 2025-02-12 at 17.50.27.png
Screenshot 2025-02-12 at 17.50.27.png (240.2 KiB) Viewed 18184 times
-
Well, that's considerably more long-winded to get something (a vector shape) something vaguely like SERF's code:
-
Screenshot 2025-02-12 at 18.32.28.png
Screenshot 2025-02-12 at 18.32.28.png (185.34 KiB) Viewed 18183 times

Re: SERF

Posted: Wed Feb 12, 2025 4:39 pm
by richmond62
Something that is more clunky than what we have in OXT is the use of 'part' as in:
hide button part "Stop"


and
put "Hello, " before line 4 of field part "Letter"

Re: SERF

Posted: Wed Feb 12, 2025 6:06 pm
by richmond62
Mind you: being able to automate a Paint operation (i.e. Paint as a command) might not be a bad thing.

Re: SERF

Posted: Thu Feb 13, 2025 1:15 am
by tperry2x

Code: Select all

paint an oval at [rect]
That's a far simpler way of doing it than the SC/LC implementation. I very much prefer Serf's approach.

What is also strange, is that you can seemingly type invalid script in the script editor which it doesn't flag as invalid at all:
no-error.png
no-error.png (99.35 KiB) Viewed 18137 times
Until you actually try and run it of course: :roll:
error.png
error.png (103.91 KiB) Viewed 18137 times
You can kind of bodge it with a two-line (technically 3 line) script:
a-bit-more-convoluted.png
a-bit-more-convoluted.png (98.58 KiB) Viewed 18137 times

Re: SERF

Posted: Sat Feb 15, 2025 10:26 pm
by OpenXTalkPaul
richmond62 wrote: Wed Feb 12, 2025 6:06 pm Mind you: being able to automate a Paint operation (i.e. Paint as a command) might not be a bad thing.
This command looks similar to some handlers an the extension library, that think was included as sort of a demo, that enables scripting of the canvas operations 'built in' (statically linked libSkia) to extension builder from the regular scripting side. I think it was just called something like 'canvas library'. Can be found in one of the two repos along with some widget remakes of classic controls.

There is also a widget that can be used along with SVGML elements as string parmaters to create vector art.

For graphics classic controls you have to set up template graphic first and then 'create graphic tMyGraphic', so I agree its not as intuitive as something like that paint command IMO.
Pixel painting in OXT & LC is weird too, but that is similar to how pixel painting worked in HyperCard (unless you used an XCMD/XFCN to do it). Basically it is like scripting a 'ghost-user' that selects a paint-brush tool and then clicks, then moves the cursor as if an actual user had done it (which is why it's called scripting, it was originally like a movie-script for this phantom-user's actions). If I recall correctly in OXT/LC it is done like 'drag from x1,y1 to x2,y2'. But I beleive that in just about every case of 'xCard/xTalk' there is some way of doing 'Turtle Graphics' sort of scripted drawing.

Re: SERF

Posted: Sat Feb 15, 2025 10:32 pm
by OpenXTalkPaul
Let's not be too harsh in evaluating it, just remember that SERF was always a beta developed by one person (Dan), as far as I know. I remember seeing it floating around on Hotline servers and thinking 'I hope that goes somewhere', this was some time arounf 1998, around the time period that Steve Jobs said they had to let HyperCard wither away and die.

Re: SERF

Posted: Sun Feb 16, 2025 1:00 am
by OpenXTalkPaul
FourthWorld wrote: Mon Nov 06, 2023 4:00 pm Stacks viewable within other stacks, a shipping feature in Gain Momentum in the mid '90s, proposed for LC nearly 20 years ago:
https://quality.livecode.com/show_bug.cgi?id=2786

As for Dan, I had the pleasure of talking with him a few weeks ago. He's as bright and facile as I recalled from our old exchanges in Usenet's comp.sys.mac.hypercard.

I can't say why he moved on from Serf, but I'd wager it's just a matter of time. He has many interests, and seems well enough employed that he doesn't need to gamble on a dodgy startup to pay the bills. I have the impression that all the things we've seen from him over the years are just the highlights of his passionate curiosity able to find expression through good programming habits.
From that feature request thread:
At the moment nothing of this type is possible due to the way the internal architecture is structured. However, the first barrier to remove isn't too bad - the idea of stack and window need to be divorced in the engine. At the moment the stack 'owns' the window it is displayed in, rather than being displayed in a window.
What I'm thinking here is didn't they do this divorcing to some degree since 20 years ago? Isn't the DataGrid basically like a substack that gets displayed within another stack? Now that I think about that, that is a template group from a substack that gets replicated onto other stacks. OK but what about 'menu stack' styled menu buttons? That's a substack that gets displayed in another stack, right? Also you could always do 'go stack tMyStack in window tMyOtherStack' couldn't you? I mean you can replace the contents of a stack's 'window' with contents of a different stack file. I know you could do that in HyperCard. However, the truth is that while the engine may THINK that a stack owns it's window, in reality the OS's Window Manager actually owns the window in most environments (with exceptions of mobile OS or web browser context where there's no 'window'/frames at all).

Re: SERF

Posted: Mon Feb 17, 2025 2:48 pm
by OpenXTalkPaul
richmond62 wrote: Wed Feb 12, 2025 4:39 pm Something that is more clunky than what we have in OXT is the use of 'part' as in:
hide button part "Stop"
That 'part' syntax is the original HyperTalk syntax to generically refer to an object of unknown kind/type (field, button, background, etc.) and it is a valid synonym of 'control' in the OXT engine. I tend to only use that syntax with index numbers and only when I have no idea what type of controls I my script be dealing with.
Try it from message box while a stack is open:

Code: Select all

get the number of parts of topStack; repeat with x = 1 to it;put the name of part x of topStack & cr after msg;end repeat