SERF

A place to discuss any and all xTalk implementations, not just LC LCC Forks, but HyperCard, SuperCard, MetaCard, Gain Momentum, Oracle MediaTalk, OpenXION, etc.
Forum rules
Please limit any bashing/harping on any commercial interests to a minimum, thanks!
User avatar
richmond62
Posts: 4830
Joined: Sun Sep 12, 2021 11:03 am
Location: Bulgaria
Contact:

Re: SERF

Post by richmond62 »

Dan Gelder just stopped all work on SERF, even to the extent of refusing to talk about it.
https://richmondmathewson.owlstown.net/
User avatar
tperry2x
Posts: 3208
Joined: Tue Dec 21, 2021 9:10 pm
Location: Somewhere in deepest darkest Norfolk, England
Contact:

Re: SERF

Post 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.
FourthWorld
Posts: 442
Joined: Sat Sep 11, 2021 4:37 pm
Contact:

Re: SERF

Post 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.
User avatar
richmond62
Posts: 4830
Joined: Sun Sep 12, 2021 11:03 am
Location: Bulgaria
Contact:

Re: SERF

Post by richmond62 »

I wonder why stacks viewed within stacks was not, in the end, taken up.
https://richmondmathewson.owlstown.net/
User avatar
richmond62
Posts: 4830
Joined: Sun Sep 12, 2021 11:03 am
Location: Bulgaria
Contact:

Re: SERF

Post 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.
https://richmondmathewson.owlstown.net/
User avatar
richmond62
Posts: 4830
Joined: Sun Sep 12, 2021 11:03 am
Location: Bulgaria
Contact:

Re: SERF

Post 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 4592 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 4591 times
https://richmondmathewson.owlstown.net/
User avatar
richmond62
Posts: 4830
Joined: Sun Sep 12, 2021 11:03 am
Location: Bulgaria
Contact:

Re: SERF

Post 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"
https://richmondmathewson.owlstown.net/
User avatar
richmond62
Posts: 4830
Joined: Sun Sep 12, 2021 11:03 am
Location: Bulgaria
Contact:

Re: SERF

Post by richmond62 »

Mind you: being able to automate a Paint operation (i.e. Paint as a command) might not be a bad thing.
https://richmondmathewson.owlstown.net/
User avatar
tperry2x
Posts: 3208
Joined: Tue Dec 21, 2021 9:10 pm
Location: Somewhere in deepest darkest Norfolk, England
Contact:

Re: SERF

Post 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 4545 times
Until you actually try and run it of course: :roll:
error.png
error.png (103.91 KiB) Viewed 4545 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 4545 times
User avatar
OpenXTalkPaul
Posts: 2633
Joined: Sat Sep 11, 2021 4:19 pm
Contact:

Re: SERF

Post 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.
User avatar
OpenXTalkPaul
Posts: 2633
Joined: Sat Sep 11, 2021 4:19 pm
Contact:

Re: SERF

Post 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.
User avatar
OpenXTalkPaul
Posts: 2633
Joined: Sat Sep 11, 2021 4:19 pm
Contact:

Re: SERF

Post 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).
User avatar
OpenXTalkPaul
Posts: 2633
Joined: Sat Sep 11, 2021 4:19 pm
Contact:

Re: SERF

Post 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
Post Reply

Who is online

Users browsing this forum: No registered users and 2 guests