[Oberon] One man's bloatware... (was RE: Free ride on other systems goes far.

Bob Walkden bob at web-options.com
Fri Feb 15 00:12:48 CET 2013


> WDYS?

...is another man's economy of effort.

I probably couldn't count the number of times I've heard systems being
criticised for carrying around a lot of 'legacy'. It's one of the criticisms
of Windows that one hears very often, and is also applied to systems like
Linux with its monolithic kernel. 

It seems ironic to me that someone on an Oberon list should consider it
economy of effort to have an Oberon bobbing about on top of Linux like a
cork on the ocean.

B

> -----Original Message-----
> From: eas lab [mailto:lab.eas at gmail.com]
> Sent: 14 February 2013 10:51
> To: oberon at lists.inf.ethz.ch
> Subject: [Oberon] Free ride on other systems goes far.
> 
> My recent discovery that ETH Oberon (2.4.3) for Linux x86 aka LEO, can
> directly run and display the output of *nix commands -- provided the
> command exits: else LEO will also wait until its decedant exits -- once
> again shows the economy of effort gained by riding on other systems.
> 
> The economical [in terms of long term effort] attribute of *nix of
> being suitable to concatenate functions is show in this example which
> would clean-up a USEnet article which had become badly formatted,
> like:-
> >> some long lines folded unintentionally
> > not at
> >> the original line boundry.
>    to give
> 2> some long lines folded unintentionally not at the original line
> 2> boundry.
> 
> Don't bother to read the actual-tested-HERE-*nix-lines.
> Just read the explanations-lines starting with "=>"
> 
> => Use `sed` to remove all leading  ">"
>  System.Execute  sed s/">"//g /tmp/SysExcData  > /tmp/SysExcData.tmp
> 
> => Use `tr` to replace all <EOL>  with space, to create one-long-line
> System.Execute  cat /tmp/SysExcData.tmp | tr "\012" "\040"
> >/tmp/SysExcData.tmp2
> 
> => Use `fmt -u -w 77 ` to format lines with word-break: LineLen < 77
> System.Execute  fmt -u -w 77 /tmp/SysExcData.tmp2  >
> /tmp/SysExcData.tmp
> 
> => Use `sed` to prepend <what ever> to all lines; in this case "2>"
>  System.Execute sed s/^/"2>"/  /tmp/SysExcData.tmp >
> /tmp/SysExcData.tmp2  System.Execute sed s/^/">"/  /tmp/SysExcData.tmp
> > /tmp/SysExcData.tmp2 ==> this fails ? but:
>  System.Execute sed s/7/X/  /tmp/SysExcData.tmp  ==OK; suspect the "^"
> char  System.Execute sed s/^/XY/  /tmp/SysExcData.tmp  == also fails
>   System.Execute sed s/"^"/XY/  /tmp/SysExcData.tmp
>   == also fails
> => Perhaps LEO can't handle "^"? So put the "^" in a file & tell sed to
> use => <the char in BadChar>, to avoid the need to mention the
> <badChar> ; => a-la PeeCee talk.
> 
>  System.Execute sed s/`cat BadChar`/XY/  /tmp/SysExcData.tmp
>   ==OK !!
> 
>  System.Execute sed s/`cat BadChar`/"2>"/  /tmp/SysExcData.tmp >
> /tmp/SysExcData.tmp2
>  ==OK ==> /tmp/SysExcData.tmp2 ==
> 2> shortline1 LongLine2 Use `fmt -u -w 77 ` to make lines: LineLen < 77
> 2> Use `fmt -u -w 77 ` to make lines: LineLen < 77 shortline3 LongLine2
> 2> Use `fmt -u -w 77 ` to make lines: LineLen < 77 Use `fmt -u -w 77 `
> 2> to make
> 2> lines: LineLen < 77 shortline5
> 
> Also, ETHO has already got a scripting sequential-only-language:
> ET.Do <File with one Module.Procedure per line, to be executed
> sequentially>.
> So some of the scripting can be moved to the LEO level.
> 
> This facility of LEO removes the stress of having to switch between LEO
> and various terminals. Now it's all on one screen. I like it.
> 
> WDYS?
> 
> == Chris Glur.
> 
> --
> Oberon at lists.inf.ethz.ch mailing list for ETH Oberon and related
> systems https://lists.inf.ethz.ch/mailman/listinfo/oberon




More information about the Oberon mailing list