THE OBERON EVENING - 1999.05.07/20:00

Atelier des Zentrums Karl der Grosse, Grossmuensterplatz, Zürich. Roughly twenty people were in attendance. The presentations and questions ran until almost midnight.

Welcoming and Introduction

Philipp Heuberger introduced the planned program for the evening. He and Pieter made short introductions of those in attendance.


1. Native Oberon
1.1 State of the Project, P. Muller
1.2 Language and Compiler, P. Reali
2. New Graphical Applications
2.1 Gfx, Leonardo, E. Oswald
2.2 FDD, C. Kleiner (demoed by E. Oswald)
3. Oberon plug-ins and WebNavigator
3.1 Plug-ins, E. Zeller
3.2 HTML 4.0 WebNavigator, B. Eberhard, E. Zeller
4. Open discussion/demos
4.1 Building your own tools, P. Reed
4.2 SharkOberon, A. Signer
4.3 Native Oberon on VPC/Mac, B. Smith-Mannschott
4.4 New Gadgets, C. Hoffmann.
4.5 Animation of cardiac blood-flow, P. Hunziker

List of the attendees (alphabetical)

Session 1: Native Oberon

State of the Project -- Pieter Muller

Recent Developments Simpler installation Interactive Mouse Configuration Install Documentation (André Fischer) (André Fischer) New drivers Adaptec SCSI drivers (Patrik Reali) EIDE/ATA disk driver (with Christian Plattner) 3Com 905B (Reto Strobl, Jaco Geldenhuys) PPP Internet (Edgar Schwarz, Martin Aeschlimann, Claude Knaus) TrueColor support Extended Display interface (with Emil Zeller, Erich Oswald) S3Trio64 driver Diamond FireGL / Permedia 2 driver (with Patrik Reali, Fabian Kuhn) Compiler (Patrik Reali) Small, but important, things FTP tool for basic system (Emil Zeller) TextGadgets ML-MM interclick (idea Reto Strobl, Thomas Holenstein) Many errors fixed - see "Release History" on home page

Recently Completed Projects Ports Linux-based Native Oberon (Peter Matthias) SharkOberon (Andreas Signer) Gneiss Oberon (Jacques Eloff, Frank van Riet) PPC Solaris & Linux (Günter Feldmann) HPUX (Edgar Schwarz) Applications & Libraries OpenType / TrueType support (Erich Oswald)

Projects in the pipeline Ports SPARC Solaris port (Jaco Geldenhuys) Acorn RISC PC, Psion Series 5 port (Sander van der Wal) MacOberon (Ben Smith-Mannschott) Applications & Libraries OberonTeX (with Edward Muller, Alan Freed) Cat Math Library (Alan Freed) VNC Viewer / X Windows / MS Windows (Jörg Kreienbühl) 3D Graphics Library (Fabian Kuhn) HTML 4.0 WebNavigator (Bruno Eberhard, Emil Zeller) Display Test (Jörg Derungs) Drivers Atapi CD/zip drive support (Pieter Muller) ATI Rage Pro Truecolor driver (Edgar Schwarz) Generic SVGA Truecolor driver (Paul Reed)

Language and Compiler - P. Reali

    Adaptec SCSI Driver: Generic SCSI Driver (basis for all SCSI 
    drivers). Adaptec 7xxx Chipset family (PCI only).

Tested on: Dell Precision 410 AIC7890 (onboard) Ultra2 Wide AIC7880 (onboard) Ultra, Wide AHA-294X (?) Ultra AHA-294X (7870) Dell Optiplex GX Pro 200 AHA-2940 (7880) Ultra, Wide patagonia cluster, Dell Precision 410 AIC7890 Ultra 2 wide

New Stuff in Native - Symbol finger prints instead of module key. - allows evolution of a module without invalidating clients - fingerprints are deterministic, meaning that changing an module's interface and then changing it back will restore the key of the original (unchanged version of the module.)

Oberon X (Language extensions under Native) (more info on the web) - support for scientific computing - joint work with Uni-Karlsruhe - Functions can return any type (incl. structured ones) - structures - static arrays - open arrays - new array types - static open array PROCEDURE P(n:LONGINT)... VAR arr: ARRAY n OF T; - dynamic array: new semantic, deep copy - Operators + - * / DIV MOD < <= = # => > ~ & OR :=


PROCEDURE ":=" * (VAR a: HUGEINT; b: LONGINT); BEGIN a := LIntToHInt(b) END ":=";

Low-level programming & Interated Assembler (Native/WinOberon) PROCEDURE "+"*(a, b: HUGEINT): HUGEINT; CODE {SYSTEM.i386} MOV EAX, 16[EBP] ... END "+";

Session 2: New Graphical Applications

Gfx, Leonardo - E. Oswald

The Gfx, which forms the basis for Leonardo supports PostScript-like path-based 2D graphics and scalable (TrueType and OpenType) fonts. The new version of Leonardo, still a work in progress, includes rulers at the edges of the viewer, a little widget in the lower left corner to control zooming and a status line at the bottom of the viewer, which displays the meaning of common interclicks, the mouse coordinates and the dimensions of the shape currently being drawn. The new UI is implemented by a panel that adjusts itself dynamically according to context. Pen control is a great strength of Leonardo. Pen lines may be arbitrarily stroked and colored. The caps and joins may be configured.

Complex objects may be specified by a built-in language and may be imported into the document. The containment hierarchy of the document may be inspected, allowing the manipulation of objects in this way as well.

FDD, C. Kleiner (presented by E. Oswald)

Demonstrated the Four Dimensional Dreams 3-D animation package. (Built from the previous TDD). Uses tweening to fill in the frames between points on the time line where (when) the object positions are set.

P. Hunzicker asked if it would be possible to have programmatical access to the internals of the 3D animation engine. This would allow one to create animated models from 3D data sets calculated by some other module. Interactive composition is nice for small scenes, but quickly becomes tiresome.

Session 3: Oberon Plug-ins & WebNavigator

Oberon plug-ins, E. Zeller

Showed Oberon Viewers running in separate windows under Windows 95. Menu bars can be either the normal "button bar" of Oberon, or, if defined otherwise in an Oberon library, can be a standard windows-style menu bar.

Special applications of this system include:

1. A Netscape (version 4 and above under Win32) plugin allowing standard System-3 things to run in Netscape. This is not slim binaries, but plain (Windows) System-3 x86 binaries.

2. "LiveConnect" a Java and javaScript interface for calling Native methods impelemented in Oberon.

3. Oberon components can be inserted as OLE objects into arbitrary OLE capable programs. (exception MS-Word, go figure.) This is still very much a work in progress, but looks promising. Persistance and printing still need work.

HTML 4.0 WebNavigator, B. Eberhard

Currently browses just on the local hard drive. Supports HTML4 and CSS2. Tables are still not 100%, the logic for sizing them and handling them is quite complicated. Also, the HTML parsing is made more difficult by the fact that most web pages out there are not written to spec, as it were. The browser itself seems fast and responsive. It will probably be retargeted to the Gfx library soon.

Session 4: Open Discussion/Demos

Building Your Own Tools, P. Reed

Paul Reed has a company in London that writes custom software. He came across the "Project Oberon" book some time ago and liked very much what he saw. After years of frustration with commercial development tools failing to perform, he decided to create his own. Previously he was spending 70% of his time wrestling with tools instead of writing code. His recent project, a data-base front end for the National Gallery, London, is written using his Oberon tools and runs under 32-bit Windows.

"Each time I write a line of Oberon code, I'm investing in myself, not in someone else's tools."

SharkOberon, A. Signer

The Shark was passed around the room (It's a small, diskless network computer no larger than a Ceres-3.) ETH "inherited" a bunch of them when compaq bought digital. They are not currently being produced, but the full specs are in the public domain. The Shark is based on the StrongArm processor (now produced by Intel).

There are plans to use the Sharks in combination with a centralized network file system and Signer's port of Native Oberon to Shark, as lab machines to replace the aging Ceres-3s. For space-saving, power-saving simplicity they beat a standard PC hands down.

Native Oberon on Mac under Emulation, B. Smith-Mannschott

Short demo of Native Oberon running under VPC on a Mac using Native's Vesa 2.0 driver. Performance on a G3/300 with 1MB L2 Cache is about twice that of a 486/66. A workable solution for hacking around under Native.

New Gadgets, C. Hoffmann

Two new gadgets were presented, one to embed arbitrary ellipses and the other arbitrary hyperbola/parabola. The Ellipse's 4 control points describe an arbitrary 4-sided figure in which the ellipse is guaranteed to be contained. The parabola is described by 3 control points, and a 4th pseudo-control point, which lines on the line intersecting the minima/maxima of the parabola and the midpoint of the segment joining the control points defining the end points of the curve.

Animation of cardiac blood-flow, P. Hunziker.

P. Hunziker showed his custom application for analysis of blood flow in the heart running under MacOberon (PowerPC). It currently does false coloring to indicate direction of flow. Works very well despite the huge size of the data sets. The hope is to be able to produce an animated 3-D model of the blood flow from the data sets and to add routines for computer-assisted diagnosis and recognition.


Here are some pictures and screen snapshots of the Oberon evening. The images have been converted to JPEG or PNG format and the size and colours reduced to make them load faster.

Pictures of attendees

Native Oberon

Interactive mouse configuration.

Gfx, Leonardo - E. Oswald

Leonardo Panel and sample drawing.

FDD, C. Kleiner (presented by E. Oswald)

Two demonstrations of FDD 3D animations:

Oberon plug-ins, E. Zeller

Oberon documents:

HTML 4.0 WebNavigator, B. Eberhard

WebNavigator panel.

Building Your Own Tools, P. Reed

Windows application compiled with Padded Cell's Oberon tools.

SharkOberon, A. Signer

DEC Shark running SharkOberon.

Native Oberon on Mac under Emulation, B. Smith-Mannschott

Native Oberon on VirtualPC.

New Gadgets, C. Hoffmann

Curve Gadgets.

Animation of cardiac blood-flow, P. Hunziker.

Echocardiography Review Application.


Philipp Heuberger sponsored the venue and his employer, Wavetek Wandel & Golterman, provided the video projector.

Ben Smith-Mannschott wrote the summary of the proceedings.

Patrik Reali took the photographs using a digicam provided by the Department Informatik, ETHZ.

We thank all the participants.

Send updates and corrections to Pieter Muller.
Native Home page.