Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

World Wide Shell (WOWSH) using Reverse Polish Notation

264 views
Skip to first unread message

lsng....@gmail.com

unread,
Mar 21, 2018, 1:53:18 AM3/21/18
to
World Wide Shell (WOWSH) using Reverse Polish Notation
-- A novel inter process communication mechanism based on embedded shell using reverse polish notation

After several rounds of revision, our team proposed the title as one of the options for a grant application.

Several posts of mine in comp.lang.forth reflected the background of our project.

Your feedback is welcome which we may use as survey results for our grant application.

As you may know, it is almost trivial for an application (program) to have an embedded shell, which is merely a text input interface, disregarding how the text will be processed.

This is rarely done, perhaps due to lack of awareness amongst programmers of the benefits of an embedded shell.

The gforth and colorForth (which we have tested, and by extension other Forth variants) environments are examples of embedded shell. Of course, they predated the modern shell, which may be why Forthers do not make it a point to name it, or promote it to other programming languages.

Inter process communication is of course being widely used in network applications, from the good old BBS, online games to Facebook. However, the behaviour of the processes involved in IPC is strictly controlled by the owner of the application (which consists of multiple processes running on multiple devices, usually over a network).

In this project, we propose that an embedded shell using reverse polish notation be employed to invoke functions included within a host program. The RPN commands may originate from a human user, or another process, on another device over a network.

The significance of this innovation is "one small step for a program, one giant leap for computing."

An embedded shell using reverse polish notation is capable of invoking any function included within a host program during run time. Any modern programming language is capable of implementing this facility. The RPN embedded shell (RPNES) thus becomes a unified interface for communication of applications written in any programming language.

Security may be a huge concern for RPNES. However, we leave it to future programmers to address this issue. We shall focus on more fundamental issues within this project.

Execution efficiency becomes a trivial issue as repetitive function calls can always be compiled and dynamically linked to the existing host program.

If World Wide Web is the universal network to exchange data, RPNES is a universal protocol to coordinate execution of programs.

Perhaps we should find a name like World Wide Web? World Wide Shell: wowsh.

Comments welcome.





lsng....@gmail.com

unread,
Mar 21, 2018, 1:58:34 AM3/21/18
to
WOWSH example:

http://localhost/5gl/zh/glv.html

Enter ">: cube:" and press Execute.

"rpn" button initiates a JavaScript RPN calculator.

Ron Aaron

unread,
Mar 21, 2018, 2:51:35 AM3/21/18
to


On 03/21/18 07:53, lsng....@gmail.com wrote:

> Security may be a huge concern for RPNES. However, we leave it to future programmers to address this issue. We shall focus on more fundamental issues within this project.

Big mistake. Security is built-in, not added-on.

lsng....@gmail.com

unread,
Mar 21, 2018, 3:06:51 AM3/21/18
to
On Wednesday, March 21, 2018 at 2:51:35 PM UTC+8, Ron Aaron wrote:
> On 03/21/18 07:53,
>
> > Security may be a huge concern for RPNES. However, we leave it to future programmers to address this issue. We shall focus on more fundamental issues within this project.
>
> Big mistake. Security is built-in, not added-on.

Define "built-in", please.

Ron Aaron

unread,
Mar 21, 2018, 6:02:04 AM3/21/18
to
Built-in to the design. You can't strap-on security after the fact and
expect it to work as well as a system designed from the beginning with
security in mind.

minf...@arcor.de

unread,
Mar 21, 2018, 6:26:33 AM3/21/18
to
120% true! Security comprises more than just catching buffer overflows or
divisions by zero, it has to be part of fundamental design decisions.

One may look only at the history of Ada. Or more bare metal: Misra-C
or CERT C.

CERT Forth doesn't exist to my knowledge.

Alex McDonald

unread,
Mar 21, 2018, 3:04:16 PM3/21/18
to
localhost?

--
Alex

Liang Ng

unread,
Mar 21, 2018, 4:10:44 PM3/21/18
to

Liang Ng

unread,
Mar 21, 2018, 4:11:16 PM3/21/18
to

Alex McDonald

unread,
Mar 21, 2018, 4:21:42 PM3/21/18
to
I have not a clue what this page is supposed to do or what you are
trying to demonstrate. rpn does nothng on Chrome.

--
Alex

Liang Ng

unread,
Mar 21, 2018, 7:05:59 PM3/21/18
to
LOL.

I gave you the LinkedIn page that explained it previously.

By not mentioning it, at least you asked!!

Enter ">: cube:" and press Execute, not "rpn".

Liang Ng

unread,
Mar 21, 2018, 7:07:41 PM3/21/18
to
Gotcha!

A rudimentary knowledge of JavaScript will let you see what it does.

In fact, the whole site is designed to test the expertise of JavaScript.

There are even clues where you will be able to download the whole PHP script using 5GL / rpn commands!!

Liang Ng

unread,
Mar 21, 2018, 7:09:19 PM3/21/18
to

Liang Ng

unread,
Mar 21, 2018, 7:10:33 PM3/21/18
to
The undocumented part is to demonstrate how 5gl (rpn) can interface to ALL JavaScript and PHP functions seamlessly!!

Alex McDonald

unread,
Mar 21, 2018, 7:10:54 PM3/21/18
to
On 21-Mar-18 23:05, Liang Ng wrote:
> LOL.
>
> I gave you the LinkedIn page that explained it previously.

This is a usenet newsgroup, not a tutorial.

>
> By not mentioning it, at least you asked!!
>
> Enter ">: cube:" and press Execute, not "rpn".
>

I still don't have a clue what you're trying to illustrate with this.

--
Alex

lsng....@gmail.com

unread,
Mar 22, 2018, 12:06:45 AM3/22/18
to

Alex McDonald

unread,
Mar 22, 2018, 5:10:49 AM3/22/18
to
HTTP ERROR 404

I'm learning a great deal from this. Mainly that world domination with
or without RPN isn't really within your grasp.

--
Alex

Kerr-Mudd,John

unread,
Mar 22, 2018, 5:34:42 AM3/22/18
to
On Wed, 21 Mar 2018 23:09:17 GMT, Liang Ng <lsn...@gmail.com> wrote:

> https://www.linkedin.com/pulse/5gl-examples-%25E4%25BC%258D%25E6%25A8%2
> 591%25E7%259B%259B-%25E5%258D%259A%25E5%25A3%25AB-liang-ng-ph-d-/
>

Nope, nothing here.

--
Bah, and indeed, Humbug.

Kerr-Mudd,John

unread,
Mar 22, 2018, 5:36:23 AM3/22/18
to
I get


[">"," cube_r.js fi"," j","\n"]2018-03-22 05:36:47 _: >: cube: _:
[[">"],null] _: "scene=gl_scene;\n\n var cubeGeometry = new
THREE.BoxGeometry(4, 4, 4);\n var cubeMaterial = new
THREE.MeshBasicMaterial({color: 0xff0000, wireframe: true});\n var cube
= new THREE.Mesh(cubeGeometry, cubeMaterial);\n \n \n \/\/ use g: in
5gws to detect 5gl commands here.\n\n \/\/ position the cube\n \/\/
20170824 5th GLAVA\n \/\/ 20170905 use # to escape :\n \/\/ read
keywords until end#\n \n \/\/ cube position wrc#\n cube.position.x = -4;
\n cube.position.y = 3;\n cube.position.z = 0;\n \n \/\/ end# marking?\n
\/\/ Server returns false if invalid, else true.\n\n \/\/ add the cube
to the scene\n scene.add(cube);\n \ngl_renderer.render(gl_scene,
gl_camera);\n"


I must be missing something.

lsng....@gmail.com

unread,
Mar 22, 2018, 5:51:30 AM3/22/18
to
On Thursday, March 22, 2018 at 5:10:49 PM UTC+8, Alex McDonald wrote:
I opened the LinkedIn link using Google Groups.

I am not sure if your newsreaders tempered with links.

Just try opening the link using Google Groups yourself.

lsng....@gmail.com

unread,
Mar 22, 2018, 5:52:04 AM3/22/18
to
On Thursday, March 22, 2018 at 5:34:42 PM UTC+8, Kerr-Mudd,John wrote:
> On Wed, 21 Mar 2018 23:09:17 GMT, wrote:
>
>
> Nope, nothing here.
>
> --
> Bah, and indeed, Humbug.


lsng....@gmail.com

unread,
Mar 22, 2018, 5:53:29 AM3/22/18
to
On Thursday, March 22, 2018 at 5:36:23 PM UTC+8, Kerr-Mudd,John wrote:
Are you able to see a red cube appearing after a series of dialog boxes?

I opened the LinkedIn link using Google Groups. The screenshots were shown in the LinkedIn article.

Liang Ng

unread,
Mar 22, 2018, 7:01:31 AM3/22/18
to
Has anyone ever tried to explain to you what karma is?

Alex McDonald

unread,
Mar 22, 2018, 9:23:19 AM3/22/18
to
On 22-Mar-18 11:01, Liang Ng wrote:
> Has anyone ever tried to explain to you what karma is?
>

This is a newsgroup about Forth and Forth-like languages. You've popped
up here with some notions about RPN and programming languages; posted
links to a web page that appears to do little and explains even less
(and even you note that it's undocumented); posted links to a "Forth
tutorial" that is not a tutorial and doesn't promote an understanding of
Forth; and now you've posted non-functioning links to more stuff about
your proposed lingua franca 5GL.

It's not a great start or look for someone who claims to be an expert,
has a PhD, and is looking for a grant to pursue the subject further.

--
Alex

lsng....@gmail.com

unread,
Mar 22, 2018, 1:57:05 PM3/22/18
to
Your choice of words showed that you are a sophisticated person, perhaps with a specific agenda.

In that case, I am bewildered that you are not able to open the LinkedIn article I posted.

If you cannot even solve a http problem, I really do not know what else there is for us to discuss.

Alex McDonald

unread,
Mar 22, 2018, 2:21:52 PM3/22/18
to
Being unable to open your bad link is not my problem.

(Your choice of email address on this and a few other posts is
interesting; I see you are posting this time from a DISTED account, and
that you are Dr Ng Liang Shing, Head of School, Computing & Engineering.
Correct?)

--
Alex

Jan Coombs

unread,
Mar 22, 2018, 4:54:26 PM3/22/18
to
On Thu, 22 Mar 2018 09:34:41 -0000 (UTC)
"Kerr-Mudd,John" <nots...@invalid.org> wrote:

> On Wed, 21 Mar 2018 23:09:17 GMT, Liang Ng <lsn...@gmail.com>
> wrote:
>
> > https://www.linkedin.com/pulse/5gl-examples-%25E4%25BC%258D%25E6%25A8%2
> > 591%25E7%259B%259B-%25E5%258D%259A%25E5%25A3%25AB-liang-ng-ph-d-/
> >
>
> Nope, nothing here.

Same here, until I logged in to linkedin.com, and then a page
loaded.

The page title is "5GL Examples" and contains two Ubuntu
screenshots and some further instructions.

While there linkedin complained about the email address they
have for me, probably because I've already dumped it.

Jan Coombs
--


Alex McDonald

unread,
Mar 22, 2018, 5:20:11 PM3/22/18
to
Ah, I've not logged in to LinkedIn in a long time. It's a bit odd it
might need a login to allow you to see such a link, but that's web
designers for you; always breaking stuff and wondering why people get
annoyed when their cute tricks prove less than useful.

It seems to be home to a large number of spammer marketeers who seem to
think that splurging out emails like this;

Hi Alex

Hope you are well. I know how busy you must be, but
I just wanted to ...

are good for generating business. There is a special place in hell for them.

--
Alex

lsng....@gmail.com

unread,
Mar 22, 2018, 8:26:37 PM3/22/18
to

lsng....@gmail.com

unread,
Mar 22, 2018, 8:40:32 PM3/22/18
to
The choice of words you used veered towards "knit picking" it seems to me, and perhaps others too.

If you are genuinely interested in solving problems, the problem you faced in accessing those links and pages could have been solved by now, or I could guide you step by step if you accept that.

To compare that to spam marketing is outrageous and contradictory -- you might as well stop responding to me.

I have not heard from anyone requiring LinkedIn login to read the PULSE blog pages. The other poster who logged in to LinkedIn needed to bypass the broken link -- perhaps caused by a bad newsreader, or broken while the reply copied it.

I have posted those links again in follow up to other post. If you do not wish to read them, you may tell me what your last attempt to open those links were.

I regularly posted those LinkedIn pages to WeChat -- notorious for its bad interface and firewall in China -- I have not received complaints like broken link or login required.

It amazes me if someone with more years of programming experience and more resources outside China cannot overcome those problems otherwise.

Kerr-Mudd,John

unread,
Mar 23, 2018, 5:03:08 AM3/23/18
to
On Fri, 23 Mar 2018 00:26:35 GMT, lsng....@gmail.com wrote:

> 1) Can you open this?
>
> https://groups.google.com/d/msg/comp.lang.forth/Oc1TWFSGQA4/5GTAycrTAA
A
> J
>
Yes
but clicking the link attempts a redirect.(probably via some google
ananlytics thing that I've disabled).

> 2) Can you open this?
>
> https://www.linkedin.com/pulse/5gl-examples-%25E4%25BC%258D%25E6%25A8%
2
> 591%25E7%259B%259B-%25E5%258D%259A%25E5%25A3%25AB-liang-ng-ph-d-/
>
No.
Iron (Chrome) 49 on XP

Liang Ng

unread,
Mar 23, 2018, 8:11:31 AM3/23/18
to
Can you try open those links with Android or iOS Firefox?

I suspect you guys have over programmed your environment, disabling what John Doe could otherwise access easily.

Alex McDonald

unread,
Mar 23, 2018, 8:43:35 AM3/23/18
to
On 23-Mar-18 12:11, Liang Ng wrote:
> Can you try open those links with Android or iOS Firefox?

It certainly doesn't work for me on iOS 11 Safari; and the error message
comes from LinkedIn, as you would expect. An HTTP 404 is from the web
server, not from the browser, so unless LinkedIn has some kind of
browser specific error based on the User-Agent header, it's not going to
make any difference.

>
> I suspect you guys have over programmed your environment, disabling what John Doe could otherwise access easily.
>

Perhaps you're misunderstanding where an HTTP 404 error code comes from.
It's not from an "over programmed environment", whatever that might be.

--
Alex

Richard Owlett

unread,
Mar 23, 2018, 8:45:13 AM3/23/18
to
Wake up and "Smell the coffee".

Multiple people have reported problems with *YOUR* site.
To paraphrase a saying from the last century:> One problem report is an
accident.
> Two reports is coincidence.
> Three reports is faulty design.

"John Doe" is not a suitable standard of competency.
E.G. The current Facebook fiasco.

Also I avoid using Google in any way/shape/form if at all possible.
They once said their goal was approximately "Do no harm".
Lately the have not even hinted that they would consider that.

As to LinkedIn, I consider it "Facebook for Geeks"

Yes I visited your site (after you corrected your local host error).
It appeared but did nothing even though I had enabled JavaScript for the
visit.



Alex McDonald

unread,
Mar 23, 2018, 9:08:28 AM3/23/18
to
On 23-Mar-18 00:40, lsng....@gmail.com wrote:
> The choice of words you used veered towards "knit picking" it seems
> to me, and perhaps others too.

I know this is nit picking, but it's nit picking.

>
> If you are genuinely interested in solving problems, the problem you
> faced in accessing those links and pages could have been solved by
> now, or I could guide you step by step if you accept that.

You've been told by me and one other that the links are unusable and
return a 404, and if you understood what that means, you'd realise that
it's LinkedIn that's returning the error. See below.

>
> To compare that to spam marketing is outrageous and contradictory --
> you might as well stop responding to me.

I didn't compare you to spam marketing, but using LinkedIn to do
technical blogging does not inspire confidence.

>
> I have not heard from anyone requiring LinkedIn login to read the
> PULSE blog pages. The other poster who logged in to LinkedIn needed
> to bypass the broken link -- perhaps caused by a bad newsreader, or
> broken while the reply copied it.

I've just used MS Edge, Chrome and Firefox and signed in to LinkedIn.
Guess what; the page loaded. The answer seems to be that you're
exclusively read by logged in LinkedIn users.

>
> I have posted those links again in follow up to other post. If you do
> not wish to read them, you may tell me what your last attempt to open
> those links were.
>
> I regularly posted those LinkedIn pages to WeChat -- notorious for
> its bad interface and firewall in China -- I have not received
> complaints like broken link or login required.
>
> It amazes me if someone with more years of programming experience and
> more resources outside China cannot overcome those problems
> otherwise.
>

I would suggest you open a support case with LinkedIn. Their website
should not be returning a 404; it should be a 401 Unauthorized.

--
Alex

Liang Ng

unread,
Mar 23, 2018, 9:10:06 AM3/23/18
to
Teamviewer debugging seems to be the last resort .... if you are willing ....

Liang Ng

unread,
Mar 23, 2018, 9:14:27 AM3/23/18
to
Thanks a lot for the help.

I will follow up with LinkedIn.

Not sure how customer friendly they are ....

Alex McDonald

unread,
Mar 23, 2018, 9:15:19 AM3/23/18
to
On 23-Mar-18 13:10, Liang Ng wrote:
> Teamviewer debugging seems to be the last resort .... if you are willing ....
>

Either you think I'm a idiot, or you are an idiot.

--
Alex

NN

unread,
Mar 23, 2018, 9:16:44 AM3/23/18
to
Hi Liang,

(a) http://5gl.epizy.com/zh/glv.html?i=1

Works and opens a page to example 01.02 - First Scene

The graphic is interesting and I am guessing the ball is supposed to do something

However I wont execute a script I do not understand. I hope you can understand that


(b) https://www.linkedin.com/pulse/5gl-examples-%25E4%25BC%258D%25E6%25A8%2591%25E7%259B%259B-%25E5%258D%259A%25E5%25A3%25AB-liang-ng-ph-d-/

Reports as file not found.

My suspicion is all those %xxxx are characters our browsers are unable to intrepret /understand.

I googled "liang-ng-ph-d" and the resulting search shows a list...
and as I can see there are non alphanumeric characters.

Perhaps you might find it easier to post the link to your webpage using a link service or a shortener.

Hope that helps.

NN

Alex McDonald

unread,
Mar 23, 2018, 10:22:56 AM3/23/18
to
On 23-Mar-18 13:08, Alex McDonald wrote:
> I would suggest you open a support case with LinkedIn. Their website
> should not be returning a 404; it should be a 401 Unauthorized.

On second thoughts, 403 Access Denied is more appropriate.

--
Alex

Richard Owlett

unread,
Mar 23, 2018, 10:57:30 AM3/23/18
to
On 03/23/2018 08:16 AM, NN wrote:
> Hi Liang,
>
> (a) http://5gl.epizy.com/zh/glv.html?i=1
>
> Works and opens a page to example 01.02 - First Scene
>
> The graphic is interesting and I am guessing the ball is supposed to do something
>
> However I wont execute a script I do not understand. I hope you can understand that
>
> [snip]

I wouldn't bother with problems with that page.
According to <https://validator.w3.org/> , errors and warnings reported.


Liang Ng

unread,
Mar 23, 2018, 10:57:33 AM3/23/18
to

Liang Ng

unread,
Mar 23, 2018, 11:19:57 AM3/23/18
to
Here's a solution: I saved the LinkedIn page as pdf on google drive,

https://drive.google.com/file/d/1LnhffaCYaOb0LWcpoTzHFBbw3e8x4xiA/view?usp=sharing

Liang Ng

unread,
Mar 23, 2018, 11:21:51 AM3/23/18
to
LinkedIn was reported to give strange error if you are not logged in. Hence I saved the LinkedIn page of WOWSH / 5GL example as pdf on google drive,

https://drive.google.com/file/d/1LnhffaCYaOb0LWcpoTzHFBbw3e8x4xiA/view?usp=sharing

Jan Coombs

unread,
Mar 23, 2018, 5:14:33 PM3/23/18
to
On Fri, 23 Mar 2018 13:08:28 +0000
Alex McDonald <al...@rivadpm.com> wrote:

> On 23-Mar-18 00:40, lsng....@gmail.com wrote:
> > The choice of words you used veered towards "knit picking"
> > it seems to me, and perhaps others too.
>
> I know this is nit picking, but it's nit picking.

Thanks, I thought it was crochet, weaving a surface out of a
large collection of knotty bends.

Jan

Rod Pemberton

unread,
Mar 24, 2018, 7:50:14 PM3/24/18
to
On Wed, 21 Mar 2018 16:09:17 -0700 (PDT)
The %25's which are an HTML escape code for % (percent) need to be
converted to actual %'s in the link:

https://www.linkedin.com/pulse/5gl-examples-%E4%BC%8D%E6%A8%91%E7%9B%9B-%E5%8D%9A%E5%A3%AB-liang-ng-ph-d-/

I created a bit.ly shortened link for you:

https://bit.ly/2pEWbUw


Rod Pemberton
--
Facebook is dead. They banned Trump's campaign for a data breach, but
looked the other way for Obama's campaign. So, why was it a breach of
trust, Zuckerberg?

Liang Ng

unread,
Mar 24, 2018, 9:37:24 PM3/24/18
to
Thanks a lot of the link shortener!

Some other people (I can't remember who to be honest) complaint about security breach for link shortener. Hence I was reluctant to do it again.

I recommend bit.do -- you can have customize short linke, e.g. bit.do/5gl

Have a nice day!!

jean-...@buechi-schmitt.ch

unread,
Mar 30, 2018, 9:38:55 AM3/30/18
to
Le mercredi 21 mars 2018 06:53:18 UTC+1, lsng....@gmail.com a écrit :
> World Wide Shell (WOWSH) using Reverse Polish Notation
> -- A novel inter process communication mechanism based on embedded shell using reverse polish notation
>
> After several rounds of revision, our team proposed the title as one of the options for a grant application.
>
> Several posts of mine in comp.lang.forth reflected the background of our project.
>
> Your feedback is welcome which we may use as survey results for our grant application.
>
> As you may know, it is almost trivial for an application (program) to have an embedded shell, which is merely a text input interface, disregarding how the text will be processed.
>
> This is rarely done, perhaps due to lack of awareness amongst programmers of the benefits of an embedded shell.
>
> The gforth and colorForth (which we have tested, and by extension other Forth variants) environments are examples of embedded shell. Of course, they predated the modern shell, which may be why Forthers do not make it a point to name it, or promote it to other programming languages.
>
> Inter process communication is of course being widely used in network applications, from the good old BBS, online games to Facebook. However, the behaviour of the processes involved in IPC is strictly controlled by the owner of the application (which consists of multiple processes running on multiple devices, usually over a network).
>
> In this project, we propose that an embedded shell using reverse polish notation be employed to invoke functions included within a host program. The RPN commands may originate from a human user, or another process, on another device over a network.
>
> The significance of this innovation is "one small step for a program, one giant leap for computing."
>
> An embedded shell using reverse polish notation is capable of invoking any function included within a host program during run time. Any modern programming language is capable of implementing this facility. The RPN embedded shell (RPNES) thus becomes a unified interface for communication of applications written in any programming language.
>
> Security may be a huge concern for RPNES. However, we leave it to future programmers to address this issue. We shall focus on more fundamental issues within this project.
>
> Execution efficiency becomes a trivial issue as repetitive function calls can always be compiled and dynamically linked to the existing host program.
>
> If World Wide Web is the universal network to exchange data, RPNES is a universal protocol to coordinate execution of programs.
>
> Perhaps we should find a name like World Wide Web? World Wide Shell: wowsh.
>
> Comments welcome.
Hello,
I did not really understand what you want to do.
Jean-Pierre Schmitt

Liang Ng

unread,
Mar 31, 2018, 4:09:07 PM3/31/18
to
Is there any specific area that you would like me to explain?

Liang Ng

unread,
Mar 31, 2018, 8:15:02 PM3/31/18
to
Perhaps my latest post has some answers for you?

https://groups.google.com/forum/m/#!topic/comp.lang.forth/E_NrQ1ZPZrY
0 new messages