• Announcing Oberon Commander and Connections

    From johnmdrake@gmail.com@21:1/5 to All on Wed Mar 18 09:51:24 2020
    Hello. This is probably the first real Oberon program I've written in years and the first I've publicly released in a couple of decades. (I had contributed a System 3 Pacman clone years ago...but sadly the Oberon S3 software repository is defunct. I'
    ve learned my lesson and I'm putting this on GitHub.)

    Anyway, as an IT contractor I ran into the problem of needing to see which user computers were online so that they could be backed up. We had several lists of machines and everyone was either just typing the address into the command Windows Explorer
    address bar and seeing what comes up with a DOS prompt or typing "PING HOST" at the command prompt. I did write a Power Shell script to handle this using the Test-Connection command. Power Shell is an awesome tool! I watched some Microsoft
    instructional videos and noticed how the "Noun-Verb" nature of Power Shell is analogous to the "Module.Procedure" nature of Oberon commands. I figured "It should be easy to write an Oberon command to do the same thing." Well...easy is relative. What I'
    ve run into over the years, dropping in and out of Oberon, is that some things aren't as easy as the could be and processing command arguments is one of them. There are three different ways commands work.

    Module.Procedure arg1 arg2...argn ~
    Module.Procedure ^
    Module.Procedure *

    You have to first scan the parameters to see if you're getting the argument list following the command, from a selection or from a marked viewer. Then you have to attach a scanner using the appropriate convention (different for each possibility), and
    THEN you scan your arguments.

    So...I wrote Commander.Mod. It handles all of this so all you have to do is init a scanner and start scanning.

    Connections.Mod takes a list of hosts either following the command, from a marked viewer or a selection, and tests each one to see if its alive. It can use a "quiet" mode that only shows the ones that are alive or a "verbose" mode that shows which ones
    are alive and which ones aren't.

    ConnectionTask.Mod is exactly like Connections.Mod except it uses single process multitasking so it doesn't black the system while it's running. It is a good and (in my opinion) easy to understand tutorial of how single process multitasking works.
    Basically if you have a repeated task, remove the loop and let Oberon do the loop for you. So:

    PROCEDURE ProcessItems(scanner : Commander.Scanner);
    BEGIN
    REPEAT
    Commander.ScanWhitespace(scanner);
    TestConnection(scanner.s);
    UNTIL Commander.AtEnd(scanner);
    END ProcessItems;

    Becomes:

    PROCEDURE ProcessNextItem;
    BEGIN
    Commander.ScanWhitespace(scanner);
    TestConnection(scanner.s);
    IF Commander.AtEnd(scanner) THEN
    Oberon.Remove(scannertask);
    taskrunning := FALSE;
    ELSE
    scannertask.time := Input.Time() + Input.TimeUnit * 5;
    END;
    END ProcessNextItem;

    I think Oberon could have a new lease on life as a portable system admin toolkit. It's a small download that doesn't require "installation" which means it can be run without admin rights and loaded on even the smallest thumb drives. (It actually fits
    on 3 floppy disks.) Power Shell is powerful (no pun intended), but getting some of my fellow techs who are too young to remember DOS to navigate it has at times proven a little challenging. And writing a GUI to do this would be overkill. A self
    explaining "tool" file that both includes the command and the documentation for how they work feels like a nice compromise.

    Also I wrote this with portability in mind. While I have currently only tested this with Oberon V4, I am confident it could easily be ported to Oberon System 3 and even BlackBox Component Pascal.

    Here's the github link:

    https://github.com/jmdrake/oberoncommander/

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From cfbsoftware@gmail.com@21:1/5 to johnm...@gmail.com on Wed Mar 18 15:12:28 2020
    On Thursday, March 19, 2020 at 3:21:25 AM UTC+10:30, johnm...@gmail.com wrote:
    Hello. This is probably the first real Oberon program I've written in years and the first I've publicly released in a couple of decades. (I had contributed a System 3 Pacman clone years ago...but sadly the Oberon S3 software repository is defunct. I'
    ve learned my lesson and I'm putting this on GitHub.)

    Hi John,

    Good to see you are still alive and (hopefully) well. I often wondered where you had disappeared to ...

    The ETH repository only disappeared relative recently. Fortunately there are still some mirrors e.g. as announced in the ETH Oberon mailing list:

    http://lists.inf.ethz.ch/pipermail/oberon/2020/013932.html

    Your clone of Pacman is included.

    Cheers,
    Chris Burrows
    https://www.astrobe.com

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From johnmdrake@gmail.com@21:1/5 to cfbso...@gmail.com on Wed Mar 18 20:07:43 2020
    On Wednesday, March 18, 2020 at 5:12:29 PM UTC-5, cfbso...@gmail.com wrote:
    On Thursday, March 19, 2020 at 3:21:25 AM UTC+10:30, johnm...@gmail.com wrote:
    Hello. This is probably the first real Oberon program I've written in years and the first I've publicly released in a couple of decades. (I had contributed a System 3 Pacman clone years ago...but sadly the Oberon S3 software repository is defunct.
    I've learned my lesson and I'm putting this on GitHub.)

    Hi John,

    Good to see you are still alive and (hopefully) well. I often wondered where you had disappeared to ...

    The ETH repository only disappeared relative recently. Fortunately there are still some mirrors e.g. as announced in the ETH Oberon mailing list:

    http://lists.inf.ethz.ch/pipermail/oberon/2020/013932.html

    Your clone of Pacman is included.

    Cheers,
    Chris Burrows
    https://www.astrobe.com

    Hello Chris! Thanks for the kind words and the information. Yes my PacMan game is still alive! And a lot of other really cool software. i wish I could find a copy of Oberon System 3 Arkanoid. :( I'd even be willing to pay for that one.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)