text:
User talk:Unmarred

Welcome, Unmarred!

If you have any questions, you can ask in the assistance reading room or possibly contact me personally. 1234qwer1234qwer4 (discuss • contribs) 07:14, 26 September 2020 (UTC)

title: User talk:Unmarred


text:
User talk:I know my hamsters

Welcome, I know my hamsters!

If you have any questions, you can ask in the assistance reading room or possibly contact me personally. 1234qwer1234qwer4 (discuss • contribs) 07:21, 26 September 2020 (UTC)

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/

title: User talk:I know my hamsters


text:
User:Davjam2

Subpage with draft content for Haskell/Understanding monads/State: User:Davjam2:Example/StateMonad.

Subpage with draft content on Haskell Numbers: User:Davjam2/Numbers.

title: User:Davjam2


text:
User:Davjam2:Example/StateMonad

Handling Combined States
Suppose we wanted to create a random turnstile, where each visitor would be given a random turnstile input: either they insert a coin (but are not allowed through); or they get to push the arm (and go through if it opens, but are otherwise sent away).

Here's one useful bit of code:

This allows us to generate random  values. However, our random turnstile machine needs to track both the state of a random number generator and the state of the turnstile. We want to write a function like this:

And this function needs to call both  (which is in the   monad) and   (which is in the   monad).

Much of the code in  deals with managing the state: accessing the combined state, unpacking subcomponents, forwarding them to the individual State monads, recombining them and putting the combined state back. The state management code is not too bad in this case, but could easily become cumbersome in a more complex function. And it is something we wanted the  monad to hide from us.

State-Processing a Subcomponent
Ideally we'd want some utility function(s) that allow us to invoke a  monad function (or   monad function) from within a   monad function. These function(s) should take care of the state management for us, ensuring that the right subcomponent of the combined state is updated.

Here's one such a function that works for any combined state represented as a pair, and performs the state update on the fst of the pair:

Note the type:

"converts" a  monad (in this case with state type  ) to another   monad (in this case with state type , where   can be any type, even a  ).

Note how  is no longer directly involved in the details of the state management, and its business logic is much more apparent.

Generic Subcomponent Processing
We can see that  and   are very similar. They both extract a subcomponent of a combined state,  on that subcomponent, then update the combined state with the new value of the subcomponent.

Let's combine them into a single generic subcomponent processing function. To do this, we could pass in separate parameters, one of type  (a function that extracts a subcomponent from a combined state value), and another of type   (a function that, given a combined value and a new value for a subcomponent, returns the revised combined value with the updated subcomponent). However, it's a bit neater to package these two functions together in a type which we'll call :

We can provide specific lenses onto the fst and snd elements in a pair:

So now:

We can now replace  and   with our generic function.

Our final random turnstile code is neater, with three separate logical functions segregated:
 * state management (now in a single  utility function, which can be reused elsewhere);
 * subcomponent accessing and update (using . We could use a standard package for this, which also provides many more lenses, automatic creation of lenses on custom data types, easy combining of lenses for deeply-nested subcomponents, etc); and
 * the "business logic" of the turnstile, which is now very apparent.

In our first implementation, all three of these were muddled together.

Let's give it a go:

I'm not sure we'll sell many of them, though.

title: User:Davjam2:Example/StateMonad


text:
User:N.georgiou/sandbox/Approaches to Knowledge/Seminar group A

Below you will find tabs for each of the issues that we will be discussing in the lectures and seminars. You should add your sandbox contributions to each of the relevant issue by the set deadline.

 * History
 * Truth
 * Evidence
 * Power


text:
User:N.georgiou/sandbox/Approaches to Knowledge/Seminar group A/ History

History Contributions


text:
User:N.georgiou/sandbox/Approaches to Knowledge/Seminar group A/ Truth

Truth Contributions


text:
User:N.georgiou/sandbox/Approaches to Knowledge/Seminar group A/ Evidence

Evidence Contributions


text:
User:N.georgiou/sandbox/Approaches to Knowledge/Seminar group A/ Power

Power Contributions


text:
User:N.georgiou/sandbox/Approaches to Knowledge/Seminar group B

Below you will find tabs for each of the issues that we will be discussing in the lectures and seminars. You should add your sandbox contributions to each of the relevant issue by the set deadline.

 * History
 * Truth
 * Evidence
 * Power


text:
User:N.georgiou/sandbox/Approaches to Knowledge/Seminar group C

Below you will find tabs for each of the issues that we will be discussing in the lectures and seminars. You should add your sandbox contributions to each of the relevant issue by the set deadline.

 * History
 * Truth
 * Evidence
 * Power


text:
User:N.georgiou/sandbox/Approaches to Knowledge/Seminar group C/ History

History Contributions


text:
User:N.georgiou/sandbox/Approaches to Knowledge/Seminar group C/ Truth

Truth Contributions


text:
User:N.georgiou/sandbox/Approaches to Knowledge/Seminar group C/ Evidence

Evidence Contributions


text:
User:N.georgiou/sandbox/Approaches to Knowledge/Seminar group C/ Power

Power Contributions


text:
User:N.georgiou/sandbox/Approaches to Knowledge/Seminar group B/ History

History Contributions


text:
User:N.georgiou/sandbox/Approaches to Knowledge/Seminar group B/ Truth

Truth Contributions


text:
User:N.georgiou/sandbox/Approaches to Knowledge/Seminar group B/ Evidence

Evidence Contributions


text:
World Stamp Catalogue/Valais (Switzerland)

Revenue stamps of the canton of Valais (Switzerland).

=Canton of Valais= The canton of Valais is one of the 26 cantons of Switzerland, situated in the southwestern part of the country, around the valley of the Rhône from its headwaters to Lake Geneva, separating the Pennine Alps from the Bernese Alps. It is composed of 13 districts (hence the 13 stars on the flag) and its capital is Sion. Revenue stamps were issued between 1863 and 1951 for 12 different tax purposes. Numerous special issues exist. Most stamps depict the arms of Valais.

1870
Colored paper, perforated 11.25.

Special issue - 1870's
Colored paper, imperforate.

1875
Rose on brick colored paper. Different perforations: 25c and 50c, perforated 11.5 (A), 11.75 (B) or 12.75 (C). 1Fr perforated B or C, 1.50Fr - 6Fr perforated 11.75 (B).

1882
10c and 20c, of the latter 8 different types exist:
 * rose or orange (shades)
 * 'Ces' size: type I has a large 'C' (2.8mm), type II has a smaller 'C' (2.3mm).
 * 4 different perforations: 11.5 (A), 11.75 (B), 12.75-13 (C), imperforate (D).
 * With (w) or without watermark.

'''Ces. types'''

Ces. type II
The 20c value of one issue was mistakenly printed on a frame indicating 'TIMBRE 10Cs.'.

Special issue - 1880's
Orange on colored paper, imperforate.

1875
Rose or rose-orange. 'Ces.' type I Perforated 11 (A), 11.5 (B), 11.75 (C), 12.75 (D) or mixed (E). 'Ces.' type II Perforated 11 (F) or 11.5 (G).

Special issue - 1870's
Rose on colored paper, imperforate. 3 values (20c, 40c, and 2Fr).

1884
6 values, brown-orange (shades). Stamps with talon, removed when used. Perforated 11.5 or 12.75.

Special issue - 1880's
Colored paper, imperforate. 4 values (3, 60, 100 and 110Fr) each in different colors.


text:
Wikijunior:Bird Alphabet/D

D is for Duck

title: Wikijunior:Bird Alphabet/D


text:
Wikijunior:Bird Alphabet/Q

Q is for Quail

title: Wikijunior:Bird Alphabet/Q


text:
Wikijunior:Bird Alphabet/U

U is for Umbrellabird

title: Wikijunior:Bird Alphabet/U


text:
History of wireless telegraphy and broadcasting in Australia/Research

Australian historical researchers have been blessed by the National Library of Australia's Trove, more particularly the Digitised Newspapers which enable personal text correction (line by line) of OCRed scans. While the quality of that OCRed content is initially highly variable, once a researcher has corrected the text, within a few minutes or at most a few hours, the corrected text is indexed and accessible by the normal search processes.

The following is intended to assist editors researching data to further develop this Wikibook:

Gazettes

 * Gazettes
 * Aus National Gazette
 * ACT Gazette
 * NSW Gazette
 * Vic Gazette
 * Qld Gazette
 * SA Gazette
 * WA Gazette
 * Tas Gazette
 * NZ National Gazette

Newspapers

Magazines and Journals


text:
User:GCooper316/sandbox/Approaches to Knowledge/2020-21/Seminar group 1

Sample text


text:
User:GCooper316/sandbox/Approaches to Knowledge/2020-21/Seminar group 2

Sample text


text:
User:GCooper316/sandbox/Approaches to Knowledge/2020-21/Seminar group 8

This is the sandbox for Approaches to Knowledge 2020-21 Seminar group 8, which meets remotely every Thursdays 9-10am via Zoom.

Below are pages associated with each of the issues that will be explored in this module:

 * History
 * Truth
 * Evidence
 * Power

In the first week, please head to this page for an introductory exercise ahead of your Thursday seminar:

Week 1 - Introductions


text:
User:GCooper316/sandbox/Approaches to Knowledge/2020-21/Seminar group 10

This is the sandbox for Approaches to Knowledge 2020-21 Seminar group 10, which meets virtually every Thursdays 10-11am.

Below are the sections associated with each of the issues that will be explored in this module. These are sections for everyone in the seminar group to contribute to, throughout the module:

 * History
 * Truth
 * Evidence
 * Power

In the first week, please head to this page for an introductory exercise ahead of your Thursday seminar:

Week 1 - Introductions


text:
User:Reusablegrape

I am ReusableGrape.
I am here to exist. I have no aspirations. No ambitions.
 * I simply exist.
 * And that's how I want to keep it.

Ok, enough with the seriousness. I do have ambitions. Well, an ambition. And that is to create open source software. The only reason I'm here on WikiBooks is because I think I'll write a book sometime :p

 * sys.exit

Reusablegrape (discuss • contribs)

title: User:Reusablegrape


text:
Oberon/ETH Oberon/faq2.3.6

FAQ on ETH Oberon - current release (2.3.6)

Download anonymous FTP from ftp://ftp.ethoberon.ethz.ch/ETHOberon/

Links

 * ETH Oberon Home Page
 * FAQ on ETH Oberon (alpha/beta releases)
 * #|FAQ on the Oberon Language: specifically related to the Oberon language and the compiler.
 * #|FAQ on Bluebottle
 * #|FAQ on Oberon for .net

 * Logistics
 * Installation - All implementations
 * Installation - Native
 * Installation - Native on Mac
 * Installation - Windows
 * Installation - Linux
 * Installation - MacOberon
 * Getting started and beyond
 * Applications and Programming
 * Legal matter, copyright
 * Background information

Logistics
 * 1) ; Where can I obtain the latest ETH Oberon System version?
 * A: Access the table of variants and select the implementation which suits your platform. [Formerly access ftp://ftp.ethoberon.ethz.ch/Oberon/ETHOberon/ and read the Welcome text in 00README.] Proceed with the installation according to instructions linked in the last column of the table. Depending on your geographical location and preferences, you might as well access a mirror site. [expired] The DOS-based version of Native Oberon is also available on a double CD-ROM and on-line from the Brighton University as Brighton University Resource Kit. [expired]
 * 1) ; Where can I obtain other Oberon systems, such as Oberon V4?
 * A: For obtaining the latest version of Oberon V4, access the server of the University of Linz at ftp://ftp.ssw.uni-linz.ac.at/pub/Oberon/. For obtaining informations on Oberon developments outside of the ETH, you may elect to access:
 * the Cetus links on Oberon
 * the Oberon Webring
 * Links2ToGo Oberon
 * 1) ; Who is responsible for maintaining the system?
 * A: Professor Jürg Gutknecht's group - http://www.cs.inf.ethz.ch/group/gutknecht/ [note "last modified" at the bottom of the page]- conducts the research and development work and maintains the ETH Oberon System. An overview of the different implementations is found in the table of variants. [The former "ETH Oberon System" page is no longer hosted at the ETHZ].
 * 1) ; How and where can I obtain support?
 * A:
 * Consult the support section or
 * fill-in and send the feedback form at the top [expired] or
 * send an e-mail to oberon@lists.inf.ethz.ch or
 * in Oberon for Windows, open the Bug Report/Survey form Bugs.Text [expired] and send it.
 *
 * Your text may include any blending of:
 * problem descriptions asking for clarification and technical help
 * comments, critics and suggestions
 * description of why and where you are using that system
 * feedback on your appreciations (satisfaction/dissatisfaction) of the system addressed to the development team as an encouragement.
 * 1) ; What kind of support can I obtain from there?
 * A: Correction of software and documentation errors. Implementation of suggested improvements which do not require changes to the module interfaces and do not require a lot of manpower. The simplest approach is to submit a tentative solution with the suggestion to the mailing list.
 * 1) ; Where can I submit my own software extensions as contributions to the Oberon users community?
 * A: Upload your contributions to ftp://ftp.inf.ethz.ch/incoming/ and follow the guidelines in ftp://ftp.ethoberon.ethz.ch/Oberon/ETHOberon/Contrib/readme.txt. Currently a project can be maintained in GitHub, as for Extended Oberon.
 * 1) ; Where can I find others contributions, and mine?
 * A: Previously, download from ftp://ftp.ethoberon.ethz.ch/Oberon/ETHOberon/Contrib/. Currently, refer to links in the table of variants and in the support section. A2 has the SVN archive.
 * 1) ; Any suggestions for contributions?
 * A: In the first place, contributions related to PC Native Oberon. The list of projects is no longer dynamic but see http://cas.inf.ethz.ch/projects/a2/.
 * 1) ; How can I be kept informed on new developments?
 * A: You may request to be included in the Oberon Developers mailing list [expired]. Information on new developments and changes in the infrastructure (e.g. ftp site) are dispatched at intervals, event driven. Users may also request to be included in a Native Oberon mailing list which specifically addresses that implementation. The next item explains how this is done.
 * Alternatively, consult the HTML documents on this site - http://www.ethoberon.ethz.ch. Ben Smith-Mannschott wrote a summary of the Oberon evening that took place in Zürich on May 7, 1999. The page also has [had] links to some pictures and screen snapshots of the demos.
 * 1) ; Where can I find others contributions, and mine?
 * A: Previously, download from ftp://ftp.ethoberon.ethz.ch/Oberon/ETHOberon/Contrib/. Currently, refer to links in the table of variants and in the support section. A2 has the SVN archive.
 * 1) ; Any suggestions for contributions?
 * A: In the first place, contributions related to PC Native Oberon. The list of projects is no longer dynamic but see http://cas.inf.ethz.ch/projects/a2/.
 * 1) ; How can I be kept informed on new developments?
 * A: You may request to be included in the Oberon Developers mailing list [expired]. Information on new developments and changes in the infrastructure (e.g. ftp site) are dispatched at intervals, event driven. Users may also request to be included in a Native Oberon mailing list which specifically addresses that implementation. The next item explains how this is done.
 * Alternatively, consult the HTML documents on this site - http://www.ethoberon.ethz.ch. Ben Smith-Mannschott wrote a summary of the Oberon evening that took place in Zürich on May 7, 1999. The page also has [had] links to some pictures and screen snapshots of the demos.
 * A: You may request to be included in the Oberon Developers mailing list [expired]. Information on new developments and changes in the infrastructure (e.g. ftp site) are dispatched at intervals, event driven. Users may also request to be included in a Native Oberon mailing list which specifically addresses that implementation. The next item explains how this is done.
 * Alternatively, consult the HTML documents on this site - http://www.ethoberon.ethz.ch. Ben Smith-Mannschott wrote a summary of the Oberon evening that took place in Zürich on May 7, 1999. The page also has [had] links to some pictures and screen snapshots of the demos.

[Top] Installation- All implementations

[ Native | Windows | Linux | MacOberon ]

Note: These installation sections act as breaking news for the current public release 2.3.4. The follow-up release will be accompanied by a new install.txt incorporating most of the information which arouse from user questions. Questions related to problems will be moved to a special section, if the problem solutions have been integrated in a new release.
 * 1) ; What are the overall system requirements?
 * A: Hardware requirements (processor, main storage, external storage) are specified at the beginning of the installation instructions documents - see below.
 * In general, Oberon is so tiny that it will easily fit on any up-to-date platform. For Native Oberon, one has to determine if the hardware components at hand are supported - see below.
 * 1) ; What are the specific system requirements with respect to hardware components and peripheral units? In particular, which video cards will PC Native Oberon work?
 * A: The ETH Oberon System for Windows and the Linux implementations do not have special requirements beyond those of the underlying operating system. The PC Native Oberon implementation requirements are found in the Hardware Compatibility List.
 * 1) ; Does a Native Oberon exist for the iMac, running without MacOS on the bare hardware?
 * A: No, unfortunately not. Because of Apple's proprietary hardware, this will probably never exist. There is a slightly outdated version of the ETH System for MacOS. It will probably run on the iMac.
 * 1) ; Does a Native Oberon exist for the iMac, running without MacOS on the bare hardware?
 * A: No, unfortunately not. Because of Apple's proprietary hardware, this will probably never exist. There is a slightly outdated version of the ETH System for MacOS. It will probably run on the iMac.
 * A: No, unfortunately not. Because of Apple's proprietary hardware, this will probably never exist. There is a slightly outdated version of the ETH System for MacOS. It will probably run on the iMac.

Can Oberon co-exist with my installed software? A: Yes, it can in various combinations. Here is a working example:  Device Id Num Part  Size    System Type /dev/ hda1   6  0    6    400 MB  C:DOS FAT16 - DOS 6.21 hda2   6  1    6  2.040 MB  E:DOS FAT16 - Win NT & Oberon for Windows hda3  4f  2   79    196 MB  Native Oberon or QNX Posix hda4   5  3    5            Extended hda5  50  4   80    196 MB  | Native Oberon (alt) or Lynx RTOS / DM hda6   83  5  131  1,004 MB  | Linux fs - SuSE 6.1 & Linux-based Oberon hda7  82  6  130    119 MB  | Linux swap hda8   6  7    6  1,004 MB  | D:DOS FAT16 - Native Oberon in a file  In all, four Native Oberon and one Oberon for Windows. The Win NT Bootmanager is used and is defined as:  Win NT Win NT [VGA mode] DOS 6.21

SuSE Linux

DOS booting is controlled by a boot menu:

DOS 6.21

Native Oberon in primary partition

Native Oberon in logical drive

Native Oberon in a file

and Linux booting is controlled by LILO with a menu defined as:

SuSE Linux 6.1

Native Oberon in primary partition

Native Oberon in logical drive

Linux Native Oberon is also installed and working under X11. The other two Stand-Alone Oberon systems can also be started under X11. All these systems, except Linux Oberon, can be started with boot diskettes.

How different are the various ETH Oberon System implementations offered on the site?

A: In essence, the development team is striving after the ultimate goal of producing a universally portable system. In practice, this goal is beyond reach but what has been achieved up to now is quite impressive. The majority of modules are portable and those which are not are easily identified in two ways:

the names of non-portable modules are prefixed. In the case of Native Oberon, "IDE." is an example of prefix. The prefix used in Oberon for Windows is "Win32.". Useful hint: In order to access directly and unmistakably the source module text of a module, without prior knowledge of the correct prefix, execute the Oberon command:
 Miscellaneous.ShowMod [ moduleName | ^ ]

comments embedded in the source text of non-portable modules alert the readers. In a few cases, only a small number of procedures in a module cause the entire module to be non-portable. Win32.Watson.Mod is an example.

 The various implementations also show differences in their release levels since the concurrent maintenance of that many ports consumes a manpower which exceeds the manpower available in the group. Some ports are necessarily lagging behind. Presently, Native Oberon (all variants) and Oberon for Windows are in unison.

Among the different PC Native Oberon implementations, one is "Linux-based". If it's "Native", doesn't that mean that it doesn't run on top of another OS at all, but under its own steam? Yet, there's "Linux" in its name, so it can't be so --- please explain!

A: Linux Native Oberon is an emulation of Native Oberon running on Linux with X11. It works by replacing a handful (8 in all) of low-level modules with implementations for Linux. The interfaces of these modules are exactly the same as those of Native Oberon, so the rest of the Native Oberon modules are loaded unchanged on this base. Any modules you write, are also binary compatible with Native Oberon. You can even set up Linux Native and real Native to boot interchangably from the same disk partition.

What is the correct procedure for installing Oberon in my environment?

A: Installation instructions are contained in readme.txt files found in each of the implementation directories.

What is the correct procedure for updating/upgrading an existing, running Oberon system?

A: Apply the recipe described in the section RE-INSTALLATION OF OBERON in the readme.txt file corresponding to your implementation. Special instructions for Native Oberon are given below.

What kind of troubleshooting information is available before seeking support from oberon@inf.ethz.ch?

A: The install.txt of the stand-alone Native Oberon features a TROUBLESHOOTING section which should help in many circumstances. This FAQ document is destined to document other frequently encountered problems.

I have the CHIP CD 3/99 with Oberon. What should I pay attention to?

A: One detail escaped the attention of the producers: three files are not ASCII files, namely Oberon\00README.txt, Oberon\license.txt and Oberon\Win95NT\00README.txt. Open them with Quick View instead of using the Notepad by default.

The .Arc files in Oberon\Native\StdAlone\ are Oberon files for use after the Oberon installation.

[Top] Installation - Native Installation instructions are found in:

an HTML document install.html

a plain ASCII text installA.txt

an Oberon text document install.Text for those using the Oberon browser. This is the original text which is mechanically converted to the two other forms.

Known problems

I installed the DOS-based Native Oberon but I can't get it to boot: it either freezes or starts to beep wildly. Can you help? Hint: The beta release 2.3.4b has been corrected.

A1: Yes, sometimes the installation program operates with wrong drive letters, that is, it does not name the drives in the same order as DOS will do when it is used to bootstrap Oberon. When you used install.exe to install DOS-based Native Oberon in a large file on a FAT16 partition, or used config.exe to re-configure the system, the drive may have been given the name d:. This information will be recorded in the native.par file, constructed automatically, as:
 DiskFile="d:\nodosbas\native.dsk" and later on, when DOS is booted, the loader will be confused because DOS knows that drive as C: for instance. If the TRAP information is obtained for that case, it will show TRAP=8, meaning: the wrong disk is used. Temporary fix: change the drive letter in native.par with an editor. The next release will be corrected.

A2: Yes, when the system is installed in a logical partition, this symptom may appear. If the TRAP information is obtained for that case, it will show TRAP=15 and the line above says: Error: ~16-bit FAT. The next release will be corrected. No such problem exists when the system is installed in a primary partition. The partition should however be at least 16 MB large. Smaller partitions/logical drives are formatted with 12-bit FAT, which is currently not supported by the module Disk.

CDAudio does not work in this version 2.3.4b, but was working in 2.3.2 and 2.3.0.?

A: There is a known incompatibility between the new ATADisk driver (Standard ATA/EIDE) and the Atapi CD driver, that will be fixed later.

I can open a zip archive, but at times a file extraction falters. What is wrong?

A: Yes, we have seen intermittent problems with UnZip. UnZip was removed and replaced by zlib in the beta version.

Dynamic arrays with an even number of dimensions do misbehave. What is wrong?

A: A patch for PC Native Oberon 2.3.5b is to be found on ftp://ftp.ethoberon.ethz.ch/Oberon/ETHOberon/Native/Update/patches/CompilerPatch235.Arc. The bug was found by Alan Freed and fixed by Patrik Reali.

I'm having a heck of a time downloading the DosBased files. When I assemble the pieces using the copy /b dosbased.aa+... etc. to get a dosbased.zip, the resulting zip file appears corrupted? Any ideas?

A1: It turns out that the downloads seem to have been fine, but the copy /b in an NT DOS box may have been the problem. When I did the copy in real DOS 6.22, it all worked. (Reported by Mark Woodworth).

A2: To get the fuzzy copy command out of the way, a combined dosbased.zip is now uploaded to ftp.inf.ethz.ch. The subdirectories ETHOberon/Native/DosBased/Full/ and ETHOberon/Native/Update/v236/DosBased/Full/ each contain such a combined dosbased.zip.

BIOS

My BIOS has a setting "Plug & Play OS Yes/No". How should this be set?

A: Set it to "No", so that the BIOS enables all Plug & Play devices.

Boot manager

I am using BootMagic. Are there any special settings required for Native Oberon?

A: Yes, disable the "hide partitions from operating system" setting in the boot menu setup. Otherwise, BootMagic will hide FAT partitions from Oberon.

Mouse

I am not sure which mouse driver I should select in the prompt line? Any hint?

A: The latest beta release (and prior betas) allows you to interactively select the mouse driver. Things are now much simpler.

I am having a problem installing Native Oberon 2.3.6. I cannot get past the Mouse Configuration Screen because the PS/2 probe seems to hang my AT keyboard interface. The mouse is a Logitech serial mouse. Is there some way to specify the mouse at the boot prompt like we used to do and bypass the Mouse Configuration screen?

A: This problem was fixed in subsequent releases.

When installing a serial mouse for Native Oberon by pressing "M" at the mouse configuration screen of Oberon-0, many trap viewers appear. What can be wrong?

A: Check if the COM ports are configured to their standard settings in the BIOS. COM1 should be at 3F8H, IRQ 4 and COM2 at 2F8H, IRQ 3.

I have a Logitech Trackman (M/N T-CC2-9F, S/N LU469200987). The trackman works when configured as MT="LM1"(type = > LogiMan = 5) - and it does not work when configured as any other type - but it does not produce middle button clicks, so the left hand must press the Ctrl key instead. What should I do? Sent by baslepoly@bluemail.ch .

A: The originator changed the Input.Mod and managed to make the middle button work. The modification will be studied and included in the next release.

Display / video card / chip set

If I acquire an S3-Virge card with AGP, will it work with Native Oberon?

A: This kind of question is difficult to answer, because the only real way to know is to try it. If the card supports Vesa 2.0, chances are very good that the Native Vesa 2.0 driver will work. Read on to the next question.

When configuring Native Oberon, looking at the video options, I see a list of card resolution combinations, and each combination also appears with "VESA2.0". Does it mean that only VESA2.0 compatible cards can be used that are listed? I.e., not -all- VESA2.0 cards???

A: The Vesa 2.0 driver uses the Vesa BIOS services to initialize the card with a linear frame buffer. So, yes, it should work with all Vesa 2.0 cards. However, some cards only support Vesa 2.0 for a few modes, e.g. the Diamond FireGL only has Vesa 2.0 support for 640x480 modes! Run the vesainfo.exe utility available from ftp://ftp.ethoberon.ethz.ch/Oberon/ETHOberon/Contrib/Native/ under DOS (without loading any TSRs or drivers) to see which modes your Vesa 2.0 bios supports. As an example, running this utility against the Intel 740 AGP video card shows that the card supports all these VESA 2.0 modes:
 VESA 2.0 8192kb Intel740 Super VGA

100 C000:3165 A000 RW 64K 64K E7000000 640x400x8 101 C000:3165 A000 RW 64K 64K E7000000 640x480x8 103 C000:3165 A000 RW 64K 64K E7000000 800x600x8 105 C000:3165 A000 RW 64K 64K E7000000 1024x768x8 107 C000:3165 A000 RW 64K 64K E7000000 1280x1024x8 11C C000:3165 A000 RW 64K 64K E7000000 1600x1200x8 11D C000:3165 A000 RW 64K 64K E7000000 320x200x8 11E C000:3165 A000 RW 64K 64K E7000000 320x240x8 121 C000:3165 A000 RW 64K 64K E7000000 400x300x8 124 C000:3165 A000 RW 64K 64K E7000000 512x384x8 136 C000:3165 A000 RW 64K 64K E7000000 1152x864x8

How can I adjust the display refresh rate?

A: The display refresh rate can be changed by executing a DOS refresh command immediately before starting Native Oberon. The most immediate solution is to insert the refresh command in the AUTOEXEC.BAT file used to start Oberon:
 rem The display refresh rate can be adjusted now before starting Oberon rem The DOS command is usually provided by the video card manufacturer rem s3refrsh applies to the S3 Trio64V+ chip set rem The x and y values are obtained by executing: s3refrsh /? c:\dos\s3refrsh x y >nul cd native oberon

oberon.bat would start Native Oberon with:
 noboot native.bin oberon.par

Hard disk / controller

I tried to install Oberon to my hard disk. The jumper is set to "slave mode". When I clicked the command that displays the disk partitions, the mouse pointer jammed for a while and then a Trap viewer appeared to the right-bottom corner?

A: With a single disk, that disk must be a "master". When two disks are installed, one master and one slave, you can install Oberon on any of them.

How do I get ETH Native Oberon release 2.3.6 to run off a SyQuest SparQ removable cartridge drive attached to an IDE (ATAPI 1.2) controller?

A: When booting from Oberon-0, at the OBL> prompt enter ATABM=0 and execute Config.Disk Standard ATA/EIDE. Peter Percival experienced that it is necessary to disable bus-mastering with ATABM=0 in this case. If it is enabled, a TRAP is raised:
 TRAP 17 Disk error ATADisk.Report PC=9213 err=9 Partition.Show reports
 Disk 0 956 Mb Num Disk  Mb  Typ  Description 0   0     956   6  C:DOS FAT16 >= 32M and System.OpenKernelLog produces the following Kernel.Log information (extract):
 ETH Oberon System 3 / PC Native 2.3.6 (13 May 1999) ... Disk0: IDE1.0, 957Mb, 1945*16*63, removable, SyQuest SparQ, ver 4.23 Disk1: IDE1.1, 0Mb, 0*0*0, Disk2: IDE0.0, packet, removable, ASUS CD-S340 Native Oberon can be installed on the removable disk.

Communication

My PC has a 3Com 509B card. The green light on the 509B illuminates when the system starts up. When executing 'Desktops.OpenDoc "ftp://.host./"', after a few seconds the System.Log reports 'ftp://.host./ loading document failed' and the light extinguishes. Any hint?

A: Check your card configuration with a configuration program supplied by the card vendor [w:3Com|3Com]. The program 3C5X9CFG.EXE was located on the second diskette of the latest drivers, which could be downloaded from support.3com.com/infodeli/tools/nic/3c509b.htm. A reverse engineered configurator is now available from https://github.com/hackerb9/3C509B-nestor. Use it to configure (IRQ, I/O base, ...) and test your card. DO NOT choose Auto Select mode. More generally, if you have a 3Com card and you don't know exactly which one, run 3LINK-ID.EXE.

When I try to use PPP, I get the following trap:
 TRAP 99 HALT statement PPPMain.SendPacket PC = 808 How do I get around this problem?

A: Check that NetSystem.Route0.Mode = "" in Oberon.Text

Can I use an ISDN adapter card?

A: This has not been tried here, but it might be possible with some ISDN adapters, if the adapter has a serial interface similar to a modem. Paul Provoost has a ZYXEL ISDN adapter that has a COMx interface. It works! Citing him: Using an ISDN adapter with a serial interface like a modem is just like using a modem. However you must pay attention to the CHAP and PAP way of identifying yourself. I use PAP, and this means that I must fill in the PAPname and PAPPassword strings in Oberon.Text. The relevant part of my Oberon.Text is:
 DIAL = { Host = { " " }    {* SLIP only *} Init = { COM2 57600 }    {* modem port and speed *} PAPName = { "provo005@tref.nl" }    {* if using PAP only *} PAPPassword = { "............" }    {* if using PAP only *} Dial = { "ATZ" 10 "OK" "ATD 2301333" 60 "CONNECT" CALL PPPMain.StartInst } Notice that immediately following the "CONNECT" PPPMain.Startinst is called. End of citation Watch out for cards that require special Windows drivers to function, they will not work with Native. Perhaps Edgar Schwarz knows more about this.

I understand that I must supply interrupt and i/o address values to the operating system, but how?

A: If this is the case, the card probably requires a special driver.

Customization

I want to use other fonts than those provided by the basic system. How do I proceed?

A: The OpenType for Oberon package allows you to convert TrueType fonts to Oberon raster fonts in two ways: Installation and usage information are found in OType.Text -> access Contributions - ftp://ftp.ethoberon.ethz.ch/Oberon/ETHOberon/Contrib/

 * convert to a file with a suffix ".Scn.Fnt", ".Pr3.Fnt", ".Pr6.Fnt" or ".Pr2.Fnt"
 * convert dynamically, on-the-fly when needed

What does Native Oberon do when it is performing "garbage collection" on the harddisk?

A: The Disk module keeps track of which sectors are in use by using a bitmap. This map is saved to disk when the system exits cleanly (System.Quit or System.Reboot). When the system starts, the map is read from disk. If the map is more than 90% full (i.e. less than 10% of the sectors are free), a garbage collection is performed. This starts with an empty map, and then all registered files are found and their sectors added to the map. All sectors that are left over are then freed up for re-use. System.Watch can be used to see how much space is currently free. The threshold value (here 10%) is obtained from the OBL configuration string DiskGC documented in the config strings page.

Low-level tracing

Oberon-0 does not boot. Can I follow the boot process in detail?

A: Low-level tracing of Oberon can be performed by connecting two PCs with the following set-up: The trace output of the Oberon test PC will be sent over the serial cable for display on the other PC's terminal program.

 * Connect COM1 on the Oberon test PC with COM1 on the other PC via a null-modem cable (e.g. Laplink).
 * On the Oberon test PC, set the configuration strings TraceBPS=19200 and TracePort=1. This enables tracing to COM1 at 19200 bps, 8 bits data, 1 stop bit, no parity.
 * On the other PC, configure a serial terminal program with the same parameters: V24.Panel in Oberon, or HyperTerm in Windows, or Miniterm in Linux, or Telix in DOS.

[Top] Installation - Native on Mac

Can I run Native Oberon on a Motorola Starmax PPC (Mac clone) using BlueLabel (a new PC emulator allowing to "compose" a virtual PC with lots of freedom in setup) - See report?

A: Citation: "Native Oberon 2.3.4 runs now on an emulated Pentium PC on Mac (Motorola Starmax 5000, PowerPC 603/275MHz, Mac OS 8.1, BlueLabel 1.0.5). Two known follow-up problems remain to be solved." - Patrick Hunziker. For Mac-related questions you may also contact Ben Smith-Mannschott who has also been playing with Native on a Mac using VirtualPC. He had problems with the boot diskette, but got it running by using a diskette image file instead of a real diskette.

[Top] Installation - Windows Temporary fix: use the command: System.Set NetSystem Async := No ~ to change a registry entry.
 * 1) ; NetSystem does not work on some Windows systems. Why?
 * A: The most recent version on ftp.inf.ethz.ch has been corrected. Some patient work was needed until the problem could be reproduced here.
 * 1) ; I have installed the ETH Oberon System for Windows NT. When starting Oberon, it appears in a normal window, approximately 760 x 550 pixels, which cannot be maximized. What is wrong?
 * A: Locate the Oberon shortcut on the desktop. Position the mouse focus on it and click the right mouse key. Select Properties in the menu. Now select the Shortcut tab. Finally, select Maximized for the Run text field and finalize the new setting.
 * 1) ; I want to specifiy the working directory in a shortcut to oberon.exe ("Start in" property). Why does this not work?
 * A: Oberon uses the registry entry System\Work for the working directory. If you want to use the "Start in" directory of the shortcut set the registry entry "Work" to an empty string. ( System.Set System Work := "" )
 * 1) ; I have installed the ETH Oberon System for Windows NT. When I try to print a document using the default Windows printer, all I get is what appears to be very tiny, unreadable text. What is wrong?
 * A: Open the PrinterInfo.Panel and click the Update Button to display the current setting. If your printer is set to 600 dpi, install the corresponding fonts with Installer.Install Pr6Fnt.Arc or set your printer to accept 300 dpi fonts, which are installed by default.
 * 1) ; I have installed the ETH Oberon System for Windows NT. Reading Printers.Tool, two different printer drivers are offered and the Windows print manager is installed by default. Which is the best choice?
 * A: We recommend to use the PSPrinter if the documents to print only use the Oberon raster fonts (Syntax, Oberon, Courier, Math or Greek). Make sure that these fonts are available as Pr2, Pr3 or Pr6 fonts in the Oberon system directory as need be. If other fonts happen to have been used, you have to specify a font mapping. For viewing and printing PS files, we recommend to use Ghostscript. Another variant may be used if you have access to a network PS printer. You may then choose to install the LPRPrinter, which is found among the applications (LPRPrinter.Arc). WinPrinter prints Oberon fonts as bitmaps (for each character). Thus, the resulting page can get very complex. Most cheap printers do not have enough printer memory to print complex pages with this printer driver. In that case, the output will get messed up. To print with 300 DPI resolution at least 1 MB of printer memory is needed, to print with 600 DPI resolution at least 4 MB are needed. WinPrinter has proven to work with the following printers:
 * HP LaserJet 5L (with 5 MB memory)
 * HP LaserJet 4 Mi/Si PS
 * HP LaserJet 8000 N
 * A: We recommend to use the PSPrinter if the documents to print only use the Oberon raster fonts (Syntax, Oberon, Courier, Math or Greek). Make sure that these fonts are available as Pr2, Pr3 or Pr6 fonts in the Oberon system directory as need be. If other fonts happen to have been used, you have to specify a font mapping. For viewing and printing PS files, we recommend to use Ghostscript. Another variant may be used if you have access to a network PS printer. You may then choose to install the LPRPrinter, which is found among the applications (LPRPrinter.Arc). WinPrinter prints Oberon fonts as bitmaps (for each character). Thus, the resulting page can get very complex. Most cheap printers do not have enough printer memory to print complex pages with this printer driver. In that case, the output will get messed up. To print with 300 DPI resolution at least 1 MB of printer memory is needed, to print with 600 DPI resolution at least 4 MB are needed. WinPrinter has proven to work with the following printers:
 * HP LaserJet 5L (with 5 MB memory)
 * HP LaserJet 4 Mi/Si PS
 * HP LaserJet 8000 N

[Top] Installation - Linux

I have installed the ETH Oberon System for Linux with KDE. How can I control that system with a 2-button mouse? Neither the Ctrl nor the Alt key activate a command.

A: A 2-button mouse is unsuitable. It would be possible to emulate the MM button using the keyboard Ctrl key, but the Input.Mod would have to be modified for this implementation.

I tried to install the ETH Oberon System on a x86 SuSE 6.2 Linux system. Although I exactly followed the installation instructions the system crashes every time I try to execute it. There's a X-window and even an Oberon-trap-window.

A1: This may happen if Oberon gets out of file handles during initialization. When the initialization is done, the garbage collector prevents such situations. The Oberon system has been tested on RedHat Linux systems where this never happened. Here is a work-around. In Oberon.Text remove or comment out the line:
 { TextDocs.ReplaceSystemEditor } and change the line:
 { System.Open System3.Tool } to:
 { System.Open System.Tool }

A2: The Oberon startscript contains an error. Replace the line:
 xset fp+ /usr/local/X11/lib/fonts/OberonXFonts by:
 xset fp+ ${ohome}/XFonts Information supplied by Guenter Feldmann.

[Top] Installation - MacOberon

 * 1) ; Is there no way to use a 3-button mouse with MacOberon, instead using the ctrl and alt/option keys?
 * A: Patrick Hunziker recently found out that the 3-button mouse Microspeed Mac Mouse Deluxe can easily be configured to work with MacOberon, using the Microspeed Mac Mouse Deluxe driver 3.4. Note that this product is now discontinued. Consult Microspeed for an alternative.

[Top] Getting started and beyond

Now that my system is installed, how do I familiarize with its specialities?

A: Each implementation features a text document GettingStarted.Text. To many, the graphical user interface is unusual (compared to that of commercial software) and the manipulation of the mouse is considered as awkward at the beginning. The text mentioned contain sandboxes which help overwinding that difficulty.

I became aware that Native was case sensitive with respect to its file names. What are the rules?

A: All Native Oberon systems are case sensitive with respect to file names. Case sensitivity in the file system is consistent with case sensitivity in the Oberon language. Windows Oberon is not case sensitive. In MacOberon using a file name with the "wrong case" will result in a trap:
 F := Files.New("ABC"); Files.Register(F); Files.Old("abc"); --> trap

Native Oberon users generate many files which all land into the same directory, some of them short-lived or redundant, others not-to-be-remembered-by-name. How do other users clean out redundant files or find the others using information other than the file name?

A: Here is what we suggest to do: For temporary files, always prepend "Temp", so you can easily delete them. For retrieving a file by theme/subject, use the following methods, in order: Seeing a list of files, N days old, would help to find a file quickly. This is not possible at present but someone could take ftp://ftp.ethoberon.ethz.ch/Oberon/ETHOberon/Contrib/Native/TestDir.Mod and make such a tool out of it. Here is another "Clean up" recipe brought forward by Peter Easthope: After installing the system do "System.Directory ^ ... *\d". This gives a complete list of files. Store it in a file named Directory. When you want to tidy the file system do "System.Directory ^ ... *\d" again and store it in Directory.new. Do "Diff.Do Directory Directory.new". The new files appear in the right viewer of the comparator in blue and are easy to find. Step through the viewers and copy the file names you wish to delete into the argument of System.DeleteFiles ~. Once the argument is assembled, execute "System.DeleteFiles ...". Some will object that they did not do "System.Directory ^ ... *\d" after system installation and hence can not use this technique. Oberon occupies so little space that two or more partitions can be allocated for it at very little cost. In about 30 minutes the system can be installed in a spare partition and the directory listing can be obtained.

 * When you start writing an "important" text, put the name in some .Tool file. Either your version of System.Tool, or in some other project-related tool.
 * When you work on a text, copy its name to a "log/diary" text of yours.
 * Find.Panel

A timer overflow occurs when a machine runs long enough. How long is this period and how can I work around any possible problem?

A1: The period is approximately 24 days.

A2: To ascertain that a task runs correctly:

A3: To ascertain that a selection is correctly handled (the Display.SelectMsg or the Oberon.SelectMsg are involved): For an example of the use of modular arithmetic comparisons on signed numbers, see "TCP/IP Illustrated, Vol. 2: The Implementation" by Wright and Stevens, pp. 810-812.

 * 1) initialize the T.time field with Input.Time or Oberon.Time when the task is established and at every call of the Handle procedure.
 * 2) test for (time2-time1) < 0 and NOT (time1 > time2) (it is better to substract the timer values).
 * 1) initialize the M.time field with -1
 * 2) a selection exists if (M.time # -1)
 * 3) after calling Oberon.GetSelection or Gadgets.GetSelection, test if (M.time # -1)
 * 4) test for (time2-time1) < 0 and NOT (time1 > time2) (it is better to substract the timer values). It may also be necessary to test if (M.time1 # -1) or (M.time2 # -1) depending on the situation.

I am often missing a way to move text, instead just copy it. Any good idea?

A: A cut-and-paste facility was added in release 2.3.6. Proceed in two steps: Make sure no other selection exists, otherwise it will be copied instead. Note: Currently this works only with the TextGadgets editor, but in the next release it will also work with TextFrames and ScriptFrames (editors Edit, Script, ET).

 * Select by dragging on MR and MR+ML to delete the selection
 * Set the caret and ML+MM to copy from recall buffer

Is there a way to operate in single track, so both tools and documents would open in a single track using the whole screen width? The problem is that the text viewer does not automatically "word wrap" the texts. It concerns low resolution (VGA) monitors, which are still quite common on laptops. So, one must choose a very small font to be able to read a whole line in either track.

A: With Native Oberon, edit Oberon.Text as follows:
 System = { ..   InitCommands = { { System.Open System.Tool } { Configuration.Marker set system} { System.Grow } { System.OpenLog } } .. } With Oberon for Windows, edit Configuration.Text as follows:
 .. Configuration.Marker set system System.Grow System.OpenLog .. This will start Oberon in single-track, but this setting can be left at any time with System.Close, and resumed with System.Grow.

My e-mail correspondant alarms me: "What was all that junk at the bottom of your post? about 60 lines of rubbish, like an attachment, encryption, or uuencode". What do I tell him/her?

A: You, as an Oberon user, sent a mail with embedded Oberon objects. You should not send oberonish stuff in your mail if the addressees are not Oberon users or perhaps don't read their mail with Oberon. To make sure that no such "rubbish" is sent by mistake, set the Content type (in your Mail.Panel Settings Iconizer - bottom right!) to "ASCII" or "ISO-8859-1". The Oberon mailer will remove all the Oberon objects on-the-fly, replacing then by a space. If Content type is set to "Auto", the mail will only be Oberon-encoded if it contains at least one Gadget. As an Oberon user, you can view the source of a message (use the [Source] Button in the menu bar). The line after "--- start of oberon mail ---" marks the beginning of the mail with encoded Oberon objects, perceived as junk. You can also view it by selecting this beginning and executing AsciiCoder.DecodeText % @

Can I send prepared e-mail in batch mode?

A: No, that is not foreseen in the current layout of the Mail.Panel.

Is there a short way to delete read messages from mail panel? I know I can delete them from the list by RM + LM clicking, but this way of deleting does not delete from the file "MailMessages". I do not want to edit this file.

A: Use the Mail.Collect command. This renames MailMessages to MailMessages.Bak, and copies the non-deleted messages to a new MailMessages file. So all messages you have deleted with MR+ML interclicks will disappear.

Note that the current file size limit of Native Oberon is about 12Mb, so it is a good idea to periodically collect your mail, not using Mail.Collect, but rather starting "afresh" with an empty "MailMessages" file.

How should one organize the correspondence exchanged with different correspondents?

A: Peter Easthope submitted a case study entitled "A gadget for correspondence" providing a workable answer.

Which word processor is available?

A: Edit is the simplest possible text editor common to all implementations and the text editor ET is offered as an application (ET.Arc). None of them have text formatting capabilities. In the basic Native Oberon system one can use Script. Open its documentation with Script.Open ScriptGuide.Text. In the Windows, Linux and Macintosh implementations, Script is an application which must be installed (Script.Arc). If Gadgets is installed on top of the basic system, you can compose TextDocs documents. See TextDocs.Tool and EditTools.Tool. Open a document with Desktops.OpenDoc. Script and the editor of TextDocs documents are formatting document editors that allows arbitrary objects like graphics or pictures to flow within the text stream. Mouse events are forwarded to objects when the mouse cursor resides within their screen area, so the object's content can be manipulated and edited in-place. TextStyle gadgets control the look of the text following their occurrence. TextStyle attributes cover formatting modes, widths of the left and right margins, tabulator stops, line spacing and page break at the style location. When made visible, a TextStyle displays as a "ruler" at the style location showing its current state. The most important style attributes can be set directly at the ruler with mouse commands. The text editor TGX, an extension of ET, is offered as a contribution by Christian Hoffmann - christian.hoffmann@wsl.ch. Other Oberon systems have their own brand editor(s) / word processor(s).

Which document processing sytem is available?

A1: OberonTeX is a port of TeX and LaTeX for the ETH Oberon System. The beta version is available as a contribution. Note that this is a work-in-progress, and updates will be made continuously. Beta testers/developers are sought.

A2: The module HTML.Mod can be used to convert an Oberon text to HTML. The text must be composed according to a small number of rules enabling the compiler to recognize headings, normal text, italic text, preformatted text, lists and horizontal rulers. Though very rudimentary, it covers basic needs. The HTML document you are reading now has been prepared with that tool.

Is there a way to use a different default font family or size for all documents I open?

A1: Write a command My.DefaultFont to modify Fonts.Default, e.g.
 MODULE My; IMPORT Fonts; PROCEDURE DefaultFont*; BEGIN Fonts.Default := Fonts.This("Oberon12.Scn.Fnt") END DefaultFont; END My. This will only affect new texts that you create. Existing texts have their font stored with them.

A2: Select the most suitable command among those offered in the EditTools module: EditTools.IncSize, EditTools.ChangeSize, etc. (open EditTools.Tools to be informed). These command operate on the selected text. To make a large selection, Copy the viewer, select the top in the top viewer, and select the bottom in the bottom viewer while holding down the SHIFT key.

Is there a way to convert Oberon *.Text files to DOS *.txt?

A: For all implementations, open the text in a viewer with Desktops.OpenDoc, mark the text with F1 (*) and execute.
 EditTools.StoreAscii * In Native Oberon, you can convert several files in one go.
 Miscellaneous.MakeDOSText { oberonfile => dosfile } ~

How would you transfer big files between Linux and Native Oberon?

A:

If you have Linux on the same machine, we suggest creating a FAT16 partition to transfer files between Linux and Oberon. On Linux, you can mount the FAT partition directly, and on Oberon, you can access it with the DOS module. To transfer a whole directory structure, build a "command script" using Unix. In Linux:
 find /some/dir -type f > Temp.Script    # list all files into Temp.Script vi Temp.Script    # edit script
 * %s/$/" => /    # append " => to every line
 * %s/^/"/    # prepend " to every line

Go~<ESC>    # append ~ at end of file
 * 1    # go to first line

ODOS.Copy<ESC>    # prepend DOS.Copy command ZZ    # save and exit In Oberon:
 DOS.Copy "/some/dir/Temp.Script" => Temp.Script ~ Desktops.OpenDoc Temp.Script and add the Oberon file name at the end of every line. Execute the command and voilà!

Use Linux Oberon or Linux Native Oberon to compress the files first, using the Compress utility of Oberon. Then transfer these compressed files via diskette.

If you have a LAN, transfer the files with FTP.

How far is Oberon insensitive against the Y2K problem?

A: We believe the date routines in the system will continue to function correctly after 2000. If problems are detected, they will be fixed speedily.

Can a virus like Melissa affect an Oberon system?

A: No, but only until an evil person finds a breach in the Mail system. Mail messages with attachments can not even affect an Oberon system running under Windows. Morality: use plain text when sending e-mail. Refrain from using attachments. Use only the Oberon Mail system for receiving mail.

Can I program in Oberon-2 under ETH Oberon System?

A: Yes, the compiler is an Oberon-2 compiler but the option \2 must be specified in the Compiler.Compile command. The system is however entirely programmed in the original Oberon language.

Does Native Oberon use Slim binaries or purely "native" binaries?

A: It does not use slim binaries, the .Obj and .Sym file formats are used. This applies to the latest SharkOberon implementation too - see next question.

How much manpower was needed for porting the system to the DNARD Network Computer (SharkOberon)?

A: Four man-months were enough to write a backend for the compiler and to port the system for which a few drivers had to be written: display, keyboard, mouse (2-button mouse) and Ethernet driver. The kernel includes its custom memory management and trap handler. Floating-point is emulated. An assembler has been added to the compiler in order to support low level programming. The compiler is based on the original Wirth compiler from Project Oberon. This is probably one of the reasons why the project could be done in only 4 months by a graduate student. As far as is known, the only extensions are the FOR statement and pointer to open array.

Can I use that system for developing Windows software with the ETH Oberon System for Windows?

A: Yes, EXE and DLL executable files can be built with the PELinker described in the UserGuide.Text document included. But do that may not be the wisest thing to do. There exist also other Oberon-based development systems offering this capability.

More generally, to be informed on Oberon-based programming environments related to Oberon, consult Guy Laden's Oberon System Implementation List - http://www.math.tau.ac.il/~guy/Oberon/systems.html and the associated Oberon Compiler List - http://www.math.tau.ac.il/~guy/Oberon/compilers.html

Can I call Windows API or DLL functions in the ETH Oberon System for Windows?

A: Yes. Details on how to achieve that are found in the UserGuide.Text document included.

How can I control I/O ports of a PC?

'A1: Serial port: Use the facilities provided in the V24 module found in all the ETH Oberon System implementations. PC Native Oberon supports a serial mouse.

A2: Parallel port: Use the facilities provided in the Centronics module of PC Native Oberon. It is limited to output only, i.e. a bi-directional protocol is not supported. Refer to Serial and parallel port support and to "Parallel port" in the Wikipedia.

A3: Sound card: Get some inspiration by looking at the source text in the Sound module of PC Native Oberon or in Win.Audio.Arc for the ETH Oberon System for Windows. These support the Soundblaster compatible cards. Watch this: some of the modules used in the Windows implementation are not portable (compile with option \N).

Has Oberon, in the widest sense, been documented in English only?

A: Not quite true. Four books in German have been published, but extremely few papers or articles document Oberon in German (mostly), French, Dutch or Russian. Consult the bibliography.

Some of the key books describing the Oberon language and the Oberon operating system cannot be ordered anymore. To cut short on all rumors, what is the final word on their availability?

A: With the help of many participants, the current status is summarized in the bibliography.

Where can I find introductory material, or even better, an introductory course to the ETH Oberon System?

A: Access the An Introduction to Oberon by Günther Sawitzki - http://www.statlab.uni-heidelberg.de/projects/oberon/Ito/ The german version Einführung in die Programmiersprache Oberon is accessible from there.

I wonder if anybody has worked answers to the exercises in the books
 A: Answer due ... A: No.

 [Top] Applications and Programming

What are the pros and contras of Native Oberon?

A: Pros Contras

Can you give example(s) of its use as a software development platform?

A: Padded Cell Software Ltd develop custom 32-bit Windows applications with their Oberon cross-compiler and linker working under PC Native Oberon or DOS. See the screenshot from the recent Oberon Evening in Zurich - Section 4.1.

Citation: "Being able to cross-compile from ETH Oberon System to Win32 means that we are totally independent of Microsoft for our production of software. Even if the target is Windows, there's a world of difference between getting a system working for a user, and getting it working smoothly as a development machine - now we don't have to!" - Paul Reed, Managing Director, Padded Cell Software Ltd.

 * Compiler Construction by N. Wirth
 * Programming in Oberon / Programmieren in Oberon by N. Wirth and M. Reiser
 * slimware
 * mature and stable operating system
 * extensible
 * easy to maintain
 * internet-ready
 * powerful object-oriented programming language
 * fast compiler
 * ideal software development platform
 * minimal operating system suitable for embedded systems
 * free of charge
 * open source code, self-documented
 * easy to install
 * can coexist with or under other OSs
 * unconventional user interface
 * few professional applications
 * limited support of contemporary adapters and peripherals
 * not a commercially supported product
 * known and appreciated only by a very small community

Is the Oberon system effectively useable for anything else than software development?

A: Here is an example of industrial application which we have visited recently.

Where do I find mathematical routines for Oberon?

A:
 * Computational Analysis Tools by Alan Freed.
 * Oberon Math & Utility routines by Ulf Dittmer.
 * Linear Algebra PACKage by Günther Sawitzki. Wikipedia article about LAPACK.

I want to build some drivers. Version 2.3.2 had several *.Mod with examples of 'i386' code. It's not clear to me how to pass parameters and return values from i386 code PROCEDUREs. Is there formal 'i386 code' syntax, on line?

A: Patrik Reali documented this on his OP2 for PC Native Oberon pages.

What is your response to having a CLI (Command Line Interface) viewer as an extension to Oberon?

A: Command-line interface compared to TUI.

 [Top] Legal matter, copyright

In which legal terms is the ETH Oberon System copyright protected?

A: It is permitted to use, copy, modify or distribute the system software according to the terms contained in the Legal information section of the Install.txt file distributed with PC Native Oberon and of the Distribution.Text file distributed with ETH Oberon System for Windows. The source code is copyright-protected as specified by the license terms. An excerpt of the license text appears as comment at the beginning of each source module text as a reminder.

[Top] Background information

How different is the ETH Oberon System compared to other Oberon systems?

A: The Oberon sytems ancestry at the ETH is as follows.
 Oberon system = V1 ( V2 V4 | ETH Oberon ). The main difference between V1 and V2 is the introduction of an extensible text model and the text editor Write. The main difference between V2 and V4 is the unification of the two text editors Edit and Write. In order to avoid confusion with ETH Oberon (which was then called "System 3"), the direct successor of V2 was named V4. The main difference between V2 and ETH Oberon System is that the ETH Oberon, which emerged approximately one year later, introduced a more general object model, not restricted to text elements, and the notion of persistent object libraries. Citation of Josef Templ - approx. 1994 At present, the Oberon System V4 is maintained by the System Software Group of the University of Linz which has developed it considerably. In the mean time, several other Oberon systems have appeared.

[Top] ''9 Dec 2002 - Copyright © 2002 ETH Zürich. All rights reserved.''

E-Mail: oberon at inf.ethz.ch

Homepage: www.ethoberon.ethz.ch/

title: Oberon/ETH Oberon/faq2.3.6


text:
User talk:Pocathasaigh

Welcome
Welcome to Wikibooks, Pocathasaigh!

 First steps tutorial Wikibooks is for collaborative development of free textbooks.

You do not need technical skills to contribute. You can easily change most books. Please introduce yourself, and let us know what interests you.

If you already contribute at other Wikimedia projects, our Wikimedia Orientation should quickly get you started. (Would you like to provide feedback on this message?)

  Getting help   Made a mistake?   Goodies, tips and tricks
 * Read the Using Wikibooks book for a friendly introduction to the project, or our help pages for more information.
 * You can get friendly help from the community in the user assistance room or our IRC channel.
 * Upload freely licensed files to Wikimedia Commons. You may request permission to upload fair use files locally. Please include author and source information and a non-free use rationale for non-free files.
 * You can restore a previously saved version.
 * Pages should follow the  naming convention.
 * Need to rename a page? Use the move tab (is available once your account is 4 days old - until then, ask for help).
 * To request a page be deleted, add to the top of the page.
 * Was a page you made deleted? Please read the deletion policy, and check the deletion log to find out why. Also check the RFD archives if applicable. You can request undeletion at WB:RFU, or ask the administrator who deleted the page.
 * Please fill in the edit summary and preview your edits before saving.
 * Sign your name on discussion pages by typing ~~~~
 * User scripts can make many tasks easier. Look at the Gadgets tab of my preferences; check off the boxes for the scripts you want, and hit save!

Cheers Jules  (Mrjulesd) 19:09, 27 September 2020 (UTC)

title: User talk:Pocathasaigh


text:
Template:Vocabq/doc

Overview
Vocabq is intended for use in foreign language learning books. It displays a word or phrase and its translation into a second language. It also allows users to interact with foreign language learning by quizzing themselves on the words or phrases, using the forthcoming open-source language learning app, vocabq.

Usage
To display a single word or phrase and its translation, use the stand-alone format:

To display multiple words/phrases and their translations, use the table format as follows:
 * For the first row of the table, use the stand-alone format from above, plus true.
 * For all remaining rows of the table, use only t1, t2, and optionally alt. You cannot specify language names in the middle of the table; the language names are only specified on the first row.
 * For the last row of the table, use t1, t2, optionally alt, and add true.

To insert a link that users can use to quiz themselves on the words or phrases from the same page, use the special code.

For this template,  is simply the first language to be displayed, which may vary within a page. For example, for English speakers learning Spanish, it might be useful to have a table of translations from English into Spanish, and another table of translations from Spanish into English.

Examples
Stand-alone format:

Table format:

An example use of this template is on the page Polish/Adjectives.

title: Template:Vocabq/doc


text:
User:GCooper316/sandbox/Approaches to Knowledge/2020-21/Seminar group 8/Week 1 Introductions

Two truths and a lie
'''Welcome to your first week of Approaches to Knowledge! As an introductory exercise, please make the following edit to this page. Write out two truths and a lie (in any order) below the latest contribution, and sign off with your username. '''

I'm an amateur bassoonist. I'm an 'official' cockney. My parents' lakeland terrier growls at the sound of my name. --GCooper316 (discuss • contribs) 21:06, 27 September 2020 (UTC)

Lions are my favourite animals. I once rode a tiger. When I was a kid, I got fascinated by a book with a leopard in it.--Granosyenite (discuss • contribs) 04:50, 2 October 2020 (UTC)

I have two cats. I used to play flute and piccolo in the school orchestra. I'm trilingual. --Kiseki101 (discuss • contribs) 12:00, 5 October 2020 (UTC)

I've travelled to 20 countries. None of my baby teeth ever fell out. I am a citizen of the UAE. Bentham2.0 (discuss • contribs) 21:32, 5 October 2020 (UTC)

I had a conversation with David Cameron. I am an only child. I have swam with sharks. - GianaVBlake

I used to be a child prodigy for playing the ocarina, I am Canadian, I have drawn from cadavers in a lab. - Sttehee

I wear headphones with my ears folded. I am obsessed with spicy food. I LOVE black pepper. - AmandaZCX


text:
User:GCooper316/sandbox/Approaches to Knowledge/2020-21/Seminar group 10/Week 1 Introductions

Two truths and a lie
'''Welcome to your first week of Approaches to Knowledge! To kick things off, please make the following edit to this page. Write out two truths and a lie about yourself (in any order) below the latest contribution, and sign off with your username. '''

I'm an amateur bassoonist. I'm an 'official' cockney. My parents' lakeland terrier growls at the sound of my name. --GCooper316 (discuss • contribs) 21:06, 27 September 2020 (UTC) I've lived in 4 different countries since 2015. I did rhythmic gymnastics for 6 years. My favourite travel destination is Marbella, Spain. -- Piscesmoodphase 11:15, 1 October 2020 (UTC + 3)

I'm excellent at sports. I drank battery acid when I was 3 years old. I've travelled to Japan 3 times. --Gonkponk (discuss • contribs) 09:35, 8 October 2020 (UTC)

My favourite colour is red. I got an F in Math when I was in grade 5. I'd been dreamed of being an astronaut. -- Uhmmmm 23:52, 5 October 2020 (UTC + 9)

I know how to play 3 instruments. I've travelled to 5 continents. I’ve never seen real snow. -- Anarmi632

I have a black dog. I have a brown dog. I have a grey dog. -- Gingerisadog3025

I've made nearly 100 artworks in the past year. My english name was given to me by a teacher. I've been to 11 countries. -- randomOmellette123

I've got my driver's license. I have long hair. I've never had a pet. -- Unisx

I can play the flute. I am currently studying remotely. I 've studied in London before.--Tracyyyf (discuss • contribs) 06:08, 8 October 2020 (UTC)


text:
Exercise as it relates to Disease/Do walking strategies to increase activity reduce reported sitting in workplaces?

This is a critique of the research article: Gilson, N. et al.(2009) 'Do walking strategies to increase physical activity reduce reported sitting in workplaces: a randomized control trial. International Journal of Behavioral Nutrition and Physical Activity, 6(1), 43

What is the background to this research?
Move less, sit more —ubiquitous in modern society. As humans we are spending more and more time in environments that limit our physical activity while promoting sedentary behaviour such as sitting. Sedentary behaviours require very little energy expenditure, with the western population spending around 60hrs/wk sedentary. High levels of this type of behaviour is associated with an increased risk to type 2 diabetes, cardiovascular disease, obesity and death, so it's obvious we want to spend less time engaged in this behaviour. Indicative of this, studies have suggested that disrupting long periods of sitting with low intensity physical activity provides numerous health benefits.

Walking is one such activity. Generally, increasing an individuals time spend walking has been linked to lower the risk of chronic disease in sedentary individuals. The workplace could be a key area in which walking can be incorporated to promote behaviour change in sedentary individuals as it could provide numerous health benefits. The article chosen for this critique aims to determine if walking strategies can reduce sitting—a sedentary behaviour—and increase physical activity in the workplace.

Where was the research from?
The study was conducted across major regional universities in the UK, Spain and Australia.

This article was published in the International Journal of Behavioural Nutrition and Physical Activity in 2006 by Nicholas D Gilson and colleagues. Informed consent was provided by all participants and the study protocol was approved by the ethics committee of each university.

All authors declared no conflict of interest.

What kind of research was this?
The study was a randomized controlled study that used convenience sampling. Pre intervention step counts were measured over five consecutive workdays. Using those results, participants were randomly assigned to a control group (maintain normal behaviour), route-based walking group (at least 10 minutes of sustained walking each workday) and an incidental walking group (walking in workday tasks).

What did the research involve?
The purpose of this study was to see if walking strategies reduced sitting in a workplace. The participants in this study were staff from white-collar universities in the UK (n=64; age =41.4 +/- 10.4; 58 women) Australia (n=70; age=43.1 +/- 10.8; 54 women) and Spain (n=80;age 39.1 +/- 9.7; 58 women) who undertook a 10 week intervention.

Personal information which included age, gender, contact details and body mass index calculations were recorded pre-intervention. For 5 consecutive workdays, a diary and unsealed pedometer were used to record the step counts of the participants. These pedometers were used by the participants throughout the duration of the intervention. Workday sitting times (h:m) were measured by a question formatted logbook. These questions were adapted to allow for more accurate recall by the participants. Based on this pre-intervention information, the participants were randomly assigned to one of three groups.

The three groups in this study were:

-	Control group - Participants in the control group were given instructions to maintain their normal behaviour over the intervention.

-	Intervention group 1 (route-based) - Participants in the route – based walking group were given instructions to increase their step count by incorporating brisk, sustained route-based walking during work breaks.

-	Intervention group 2 (incidental) - Participants in the incidental walking group were also given instructions to increase their step count. It was suggested that this be achieved through walking and talking to colleagues face-to-face, rather than phone calls or sending emails. It was also suggested participants should stand and walk during meetings, opposed to sitting down at a table.

Importantly, the participants were told not to partake in any additional physical activities other than those in their usual routine. If they did, they were asked to report it.

Throughout the study, step counts and reported sitting time were re-assessed during week one, five and ten.

What were the basic results?
As seen in Table 1 - the results found that both intervention groups significantly increased their walking compared to the control group. Alternatively, the control group had a non-significant decrease in their step count.

- Mean ± SD and 95% confidence intervals for pre- and intervention sleep steps/day (*p < 0.05; **p < 0.001).

However, while there was a tendency for reported sitting times to decrease in the intervention groups and increase slightly in the control group (table 2), there were no significant differences in reported sitting times between the groups. Despite this non-significant change, the researchers concluded the results partially supported their hypothesis—that walking intervention can reduce sitting times.

- Mean ± SD and 95% confidence intervals for pre- and intervention sitting times (mins/day).

Limitations
The self-report method used throughout the study can impact the validity of the results. As the sample size was relatively small, the statistical power of the results could potentially be impacted.

The gender group distribution, as acknowledged by the authors, can also impact the generalisability of the results towards men and other workplaces.

What conclusions can we take from this research?
We can conclude that both intervention groups targeted by route-based and incidental walking, significantly increased their physical activity throughout the day. The researchers also concluded that the non-significant results partially supported their hypothesis. However, despite a decrease trend in the amount of time spent sitting during work hours, there isn't enough supporting evidence in this study to confidently come to this conclusion. This is highlighted through the limitations that are present—including response bias, and poor generalisability. Overall, this study provides a great base and springboard for future studies that focus on reducing sedentary behaviours in workplaces.

Practical Advice
Based on this study, there is numerous things people can take and incorporate into their life such as:

- Creating walking strategies during work to allow you to walk more throughout the day allowing 10,000 steps/day, and

- Minimise time throughout the day spend sitting, and break it up with periods of walking to decrease risk of cardiovascular disease


text:
Fijian/Prepositions

 * to/at – I : used to personal names.
 * Together with – 'ei
 * to,for, towards, at – Ki
 * MAI : used to place names and personal names.
 * At the restaurant ;  mai na valenikana
 * With, and – kei
 * To – VEI : used to place names.

title: Fijian/Prepositions


text:
Fijian/Morphemes

Affixes

 * I'a
 * Va'a

title: Fijian/Morphemes


text:
User talk:OliBrown

Welcome, OliBrown!

If you have any questions, you can ask in the assistance reading room or possibly contact me personally. 𝟙𝟤𝟯𝟺𝐪𝑤𝒆𝓇𝟷𝟮𝟥𝟜𝓺𝔴𝕖𝖗𝟰 (𝗍𝗮𝘭𝙠) 10:40, 28 September 2020 (UTC)

title: User talk:OliBrown


text:
User talk:GCooper316

Welcome, GCooper316!

If you have any questions, you can ask in the assistance reading room or possibly contact me personally. 𝟙𝟤𝟯𝟺𝐪𝑤𝒆𝓇𝟷𝟮𝟥𝟜𝓺𝔴𝕖𝖗𝟰 (𝗍𝗮𝘭𝙠) 10:59, 28 September 2020 (UTC)

title: User talk:GCooper316


text:
User talk:Wildfoxes

Welcome, Wildfoxes!

If you have any questions, you can ask in the assistance reading room or possibly contact me personally. 𝟙𝟤𝟯𝟺𝐪𝑤𝒆𝓇𝟷𝟮𝟥𝟜𝓺𝔴𝕖𝖗𝟰 (𝗍𝗮𝘭𝙠) 11:00, 28 September 2020 (UTC)

title: User talk:Wildfoxes


text:
User talk:PagChomp

Welcome, PagChomp!

If you have any questions, you can ask in the assistance reading room or possibly contact me personally. 𝟙𝟤𝟯𝟺𝐪𝑤𝒆𝓇𝟷𝟮𝟥𝟜𝓺𝔴𝕖𝖗𝟰 (𝗍𝗮𝘭𝙠) 11:07, 28 September 2020 (UTC)

title: User talk:PagChomp


text:
User:PanosKratimenos/sandbox

BASC0001: Approaches to Knowledge
This is the sandbox overview page for those studying BASC0001: Approaches to Knowledge, and are in a seminar group led by Panos Kratimenos. Please click on the relevant link below to access the sandbox for your seminar group.

Seminar group 11 (Thursdays 11am-12pm GMT)

Seminar group 14 (Thursdays 2pm-3pm GMT)

title: User:PanosKratimenos/sandbox


text:
User:PanosKratimenos/sandbox/BASC001/2020-21/Thursday11-12/

Welcome to the sandbox for the BASC001: Approaches to Knowledge seminar group 11 which meets on Thursdays from 11am-12pm.

Before we meet on Thursday 8th October, please add your contribution to the following page:

Week 1 Introductions

Week 2: Before we meet on Thursday 15th October, please add contributions in relation to the History of eugenics here:

Week 2 The History of Eugenics

Below are the links to pages concerning each of the issues that we will be covering in the first half of term.

History

Evidence

Truth

Power


text:
User:PanosKratimenos/sandbox/BASC001/2020-21/Thursday2-3/

Welcome to the sandbox for the BASC001: Approaches to Knowledge seminar group 14 which meets on Thursdays from 2pm to 3pm.

Before we meet on Thursday 8th October, please add your contribution to the following page:

Week 1 Introductions

Week 2: Before we meet on Thursday 15th October, please add contributions in relation to the History of eugenics here:

Week 2 The History of Eugenics

Below are the links to pages concerning each of the issues that we will be covering in the first half of term.

History

Evidence

Truth

Power