text:
Oberon/Bibliography

Oberon Bibliography 18 Books | 1 Chapter in book | 27 Technical Reports | 19 Dissertations | 105 Papers | Background Papers | Lecture | Web sites | Authors

Other bibliographies maintained by Oberon supporters:
 * Modulaware Modula-2 and Oberon-2 Bibliography
 * Oberon-related Bibliography and Research Links

Other documentation databases:
 * Collection of Computer Science Bibliographies of the University of Karlsruhe
 * http://www.cs.indiana.edu/cstr/cover.html Computer Science Technical Report database of the University of Indiana, now decommissioned.

Oberon Books
 * 1) Programming in Oberon - M. Reiser and N. Wirth [PDF (10'256'384 B)]
 * 2) The Oberon System - M. Reiser - Out-of-print [PDF (15'861'860 B)]
 * 3) Project Oberon - The Design of an Operating System and Compiler - N. Wirth and J. Gutknecht [PDF (4'398'012 KB)]
 * 4) Compiler Construction - N. Wirth [PDF (597 KB)]
 * 5) Programming in Oberon (2004) - A derivative of Programming in Modula-2 (1982) - N. Wirth [PDF (432'520 B)]
 * 6) Algorithms and Data Structures (1985) (Oberon version: August 2004) - N. Wirth [PDF (1'241'230 KB)]

[War02] J. S. Warford The Theory and Practice of Software Design with BlackBox Component Builder [PDF (14'111'686 B)] [[w:Springer Vieweg Verlag|Verlag Vieweg]], Wiesbaden, 2002, ISBN 3-528-05828-5 Info, More Info
 * Computing Fundamentals

[BrD02] Edited by M. Broy and E. Denert Springer, Heidelberg, 2002, ISBN 3-540-43081-4. Order from Amazon.
 * Software Pioneers - Contributions to Software Engineering
 * with the transcription of a talk given by Niklaus Wirth on Pascal and its successors, at the Software Pioneers Conference.

[BGP00] Edited by L. Böszörményi, J. Gutknecht, G. Pomberger dpunkt.verlag GmbH, 2000, ISBN German 3-932588-85-1 Morgan Kaufmann Publishers, 2000, ISBN 1-55860-723-4 With preface by Tony Hoare.
 * The School of Niklaus Wirth - The Art of Simplicity

[WiR92] N. Wirth and M. Reiser Addison-Wesley, 1992, ISBN 0-201-56543-9 - Examples used in the book Tutorial for the Oberon programming language and concise language reference.
 * Programming in Oberon - Steps Beyond Pascal and Modula

[WiR94] N. Wirth and M. Reiser Addison-Wesley, 1994, ISBN 3893196579 - Translated into German by J. Templ.
 * Programmieren in Oberon - Das neue Pascal

[Rei92] M. Reiser Addison-Wesley, 1992, ISBN 0-201-54422-9 User manual for the programming environment and reference for the standard module library.
 * The Oberon System; User Guide and Programmer's Manual

[WiG92] N. Wirth and J. Gutknecht Addison-Wesley, 1992, ISBN 0-201-54428-8 - Examples used in the book Program listings with explanation for the whole system, including the compiler for NS32000.
 * Project Oberon - The Design of an Operating System and Compiler

[HoH94] H. Haupt und O. Hess Vogel Computer Presse GmbH, 1994, ISBN 3-825-91329-5
 * Schatzkiste für Programmierer unter DOS und Windows, mit CD-ROM

[Moe95] H. Mössenböck Springer, 1995, ISBN 3-540-60062-0 - Examples used in the book Principles and applications of object-oriented programming with examples in the language Oberon-2.
 * Object-Oriented Programming in Oberon-2

[Moe98] H. Mössenböck Springer, 3. Auflage - 1998, ISBN 3-540-64649-3
 * Objektorientierte Programmierung in Oberon-2

[Wir96a] N. Wirth Addison-Wesley, 1996, ISBN 0-201-40353-6 - Examples used in the book. A disk provided with the book gives full listings of the Oberon-0 compiler and associated tools.
 * Compiler Construction

[Wir96b] N. Wirth Addison-Wesley, 1996, ISBN 3-89319-931-4
 * Grundlagen und Techniken des Compilerbaus

[MLK97] J. R. Mühlbacher, B. Leisch, B. Kirk, U. Kreuzeder Springer, 1997, ISBN 3-540-62522-4
 * Oberon-2 Programming with Windows

[Nik97] E. W. Nikitin Springer, 1997, ISBN 0-387-98279-5 - Supplemental files
 * Into the Realm of Oberon: An introduction to Programming and the Oberon-2 Programming Language

[Kna97] M. Knasmüller Schriftenreihe der Johannes-Kepler-Universität Linz 22, 1997, ISBN 3-85320-898-3
 * Oberon-D. On Adding Database Functionality to an Object-Oriented Development Environment

[Szy98] C. Szyperski Addison-Wesley, 1998, ISBN 0-201-17888-5
 * Component Software - Beyond Object-Oriented Programming

[FiM98] A. Fischer and H. Marais vdf Hochschulverlag AG an der ETH Zürich, 1998, ISBN 3-7281-2493-1
 * The Oberon Companion: A Guide to Using and Programming Oberon System 3
 * Out of print but see note about printing a legal personal copy in the second paragraph of Oberon/Beginning as a Novice.
 * Accompanying CD with executables for various platforms and sources.

[MMZ99] B. Marincek, J.L. Marais, E. Zeller Vieweg, 1999, ISBN 3-528-05691-6
 * Oberon - Ein Kurzleitfaden für Studenten

[Hug01] K. Hug Verlag Vieweg, Wiesbaden, 2001, 2. aktualisierte Auflage, ISBN 3-528-15681-3
 * Module, Klassen, Verträge. Ein Lehrbuch zur komponentenorientierten Softwarekonstruktion mit Component Pascal

[Wir13] N. Wirth
 * Project Oberon (New Edition 2013). Originally published with co-author J. Gutknecht, 1992.

Some of these books can be found in the VLB (Verzeichnis Lieferbarer Bücher) used by many booksellers in Europe. For example: Bücherinsel, Osiandersche Buchhandlung or Lehmanns Buchhandlung.

Chapter in book [GuF99] J. Gutknecht and M. Franz - Oberon with Gadgets: A Simple Component Framework - PDF document in Implementing Application Frameworks: Object-Oriented Frameworks at Work - Wiley 1999

ETH Technical Reports The Department Informatik, Institut für Computersysteme publishes freely available technical reports. Some of them are however out of print. Abstracts are available from the complete list of technical reports. Abstracts and full reports electronically available from there.

The reports dealing with Oberon are listed here, the latest publications appearing first.

[San99] M. Sanvido - A Computer System for Model Helicopter Flight Control; Technical Memo No. 3: The Software Core - Report 317, Apr. 1999

[Kot99] M. Kottmann - Software for Model Helicopter Flight Control - Report 316, Mar. 1999

[Wir99b] N. Wirth - An Essay on Programming - Report 315, Mar. 1999

[Wir99a] N. Wirth - '''A Computer System for Model Helicopter Flight Control Technical Memo Nr. 6: The Oberon Compiler for the Strong_ARM''' - Report 314, Mar. 1999

[Wir98] N. Wirth - '''A Computer System for Model Helicopter Flight Control Technical Memo Nr. 2: The Programming Language Oberon SA''' - Report 285, Jan. 1998

[Gut96] J. Gutknecht - Oberon, Gadgets and Some Archetypal Aspects of Persistent Objects - Report 243, Feb. 1996 and Postscript text also in Information Sciences, Vol. 93, no. 1-2, 65-86, 1996

[Sup94] J. Supcik - '''HP-Oberon (TM). The Oberon Implementation for HP 9000 Series 700''' - Report 212, Feb. 1994

[Dis93] A. R. Disteli - Oberon for PC on an MS DOS Base - Report 203, Nov. 1993

[BCF92] M. Brandis, R. Crelier, M. Franz, J. Templ - The Oberon System Family - Report 174, Apr. 1992 - pdf document also in Software - Practice and Experience, 25:12, 1331-1366, Dec. 1995

[Lal91] S. Lalis - XNET - Supporting Distributed Programming in the Oberon Environment - Report 161, May 1991

[Moe91] H. Mössenböck - Differences between Oberon and Oberon-2 - gnu-compressed PS (re-published later as MoW91a) + The Programming Language Oberon-2 - gnu-compressed PS (re-published later as MoW91b) - Report 160, May 1991

[GPH91] R. Griesemer - On the Linearization of Graphs and Writing Symbol Files + C. Pfister (Ed.), B. Heeb, J. Templ - Oberon Technical Notes - Report 156, Mar. 1991

[Szy91] C. Szyperski - Write - An extensible Text Editor for the Oberon System - Report 151, Jan. 1991

[Mar90] J. L. Marais - The Gadgets User Interface Management System - Report 144, Nov. 1990

[Wir90a] N. Wirth - From Modula to Oberon - gnu-compressed PS (re-published later as Wir88a) + The Programming Language Oberon (Revised Edition 1.10.90) gnu-compressed PS (re-published later as Wir88b) - Report 143, Nov. 1990

[Fra90a] M. Franz - MacOberon Reference Manual - Report 142, Nov. 1990

[Fra90b] M. Franz - The Implementation of MacOberon - Report 141, Oct. 1990

[Wir90b] N. Wirth - Die Programmiersprache Oberon - Report 140, Oct. 1990

[Gut90] J. Gutknecht - The Oberon Guide: System Release 1.2 - Report 138, Oct. 1990

[Tem90] J. Templ - SPARC-Oberon User's Guide and Implementation - Report 133, Jun. 1990

[Moe90] H. Mössenböck - Coco/R - A Generator for Fast Compiler Front-Ends - Report 127, Feb. 1990 - Postscript and Postscript compressed

[Szy90] C. Szyperski - Network Communication in the Oberon Environment - Report 126, Feb. 1990

[Cre90] R. Crelier - OP2: A Portable Oberon Compiler - Report 125, Feb. 1990 - pdf and gnu-compressed PS Presented at the 2nd International Modula-2 Conference, Loughborough, Sep. 1991

[Gut89c] J. Gutknecht - The Oberon Guide - Report 119, Dec. 1989

[MTG89] H. Mössenböck, J. Templ and R. Griesemer - Object Oberon: An Object-Oriented Extension of Oberon - Report 109, Jun. 1989 - PDF document

[Gut89b] J. Gutknecht - The Oberon Guide - Report 108, Jun. 1989

[WiG88] N. Wirth and J. Gutknecht - The Oberon System - Report 88, Jul. 1988 - (re-published later as WiG89)

Dissertations Server mastheads at dissertations and e-collection.

[Mul02] P. J. Muller - The Active Object System Design and Multiprocessor Implementation - [https://www.research-collection.ethz.ch/handle/20.500.11850/147091 Dissertation ETH Nr. 14755], 2002

[Osw00b] E. Oswald - A Generic 2D Graphics Interface with Object Framework and Applications - [https://www.research-collection.ethz.ch/handle/20.500.11850/144891 Dissertation ETH Nr. 13778], Dec. 2000

[Sup99] J. Supcik - ODEON - An Object-Oriented Data Model and its Integration in the Oberon System - [https://www.research-collection.ethz.ch/handle/20.500.11850/144223 Dissertation ETH Nr. 13161], 1999

[Qiu98] X. Qiu - Applying Object-Orientation to Developing Integrated Environments for Computer-Aided Control Systems Design - [https://www.research-collection.ethz.ch/handle/20.500.11850/143646 Dissertation ETH Nr. 12724], 1998 - Institut für Automatik Publication (soon)

[Ros97] R. Roshardt - Design und Implementierung einer offenen], modularen Robotersteuerung mit Oberon - [https://www.research-collection.ethz.ch/handle/20.500.11850/143317 Dissertation ETH Nr. 12296], 1997

[Kot97] M. Kottmann - Komponentenorientierte Modellierung und Simulation kombinierter Systeme - [https://www.research-collection.ethz.ch/handle/20.500.11850/143299 Dissertation ETH Nr. 12294] Institut für Automatik Publication No. 9, 1997 - ISBN 3-906487-02-4

[Lud97] S. Ludwig - Hades - Fast Hardware Synthesis Tools and a Reconfigurable Coprocessor - [https://www.research-collection.ethz.ch/handle/20.500.11850/143345 Dissertation ETH Nr. 12276], 1997 and Dissertation ETH Nr. 12276

[Dis97] A. R. Disteli - Integration aktiver Objekte in Oberon am Beispiel eines Serversystems - [https://www.research-collection.ethz.ch/handle/20.500.11850/143279 Dissertation ETH Nr. 12231], 1997

[Geh97] S. Gehring - An Integrated Framework for Structured Circuit Design with Field-Programmable Gate Arrays - [https://www.research-collection.ethz.ch/handle/20.500.11850/143217 Dissertation ETH Nr. 12188], 1997 [PDF (2'442'247 B)]

[Ode98] M. Odersky - A New Approach to Formal Language Definition and its Application to Oberon - [https://www.research-collection.ethz.ch/handle/20.500.11850/139759 Dissertation ETH Nr. 12057], 1998

[Wec96] W. Weck - On Document-Centered Mathematical Component Software - [https://www.research-collection.ethz.ch/handle/20.500.11850/142833 Dissertation ETH Nr. 11817], 1996

[Mar96a] J. Marais - Design and Implementation of a Component Architecture for Oberon - [https://www.research-collection.ethz.ch/handle/20.500.11850/142663 Dissertation ETH Nr. 11697], 1996

[Som96] R. Sommerer - Integration of Online Documents - [https://www.research-collection.ethz.ch/handle/20.500.11850/142549 Dissertation ETH Nr. 11592], 1996

[Bra95] M. M. Brandis - Optimizing Compilers for Structured Programming Languages - [https://www.research-collection.ethz.ch/handle/20.500.11850/142036 Dissertation ETH Nr. 11024], 1995

[Tem94a] J. Templ - Metaprogramming in Oberon - [https://www.research-collection.ethz.ch/handle/20.500.11850/141628 Dissertation ETH Nr. 10655], 1994 - see also th10655 - abstract and PostScript.

[Cre94] R. Crelier - Separate Compilation and Module Extension - [https://www.research-collection.ethz.ch/handle/20.500.11850/141604 Dissertation ETH Nr. 10650], 1994 - see also th10650 - abstract and PostScript.

[Fra94a] M. Franz - Code-Generation On-the-Fly: A Key to Portable Software - [https://www.research-collection.ethz.ch/handle/20.500.11850/141506 Dissertation ETH Nr. 10497], 1994 - see also th10497 - abstract and PostScript. Published by vdf Hochschulverlag AG an der ETH Zürich], 1994 - ISBN 3-7281-2115-0 Abstract

[Gri93] R. Griesemer - A Programming language for Vector Computers - [https://www.research-collection.ethz.ch/handle/20.500.11850/141363 Dissertation ETH Nr. 10277], 1993 - see also th10277 - abstract and PostScript.

[Szy92] C. Szyperski - Insight ETHOS: On Object-Orientation in Operating Systems - [https://www.research-collection.ethz.ch/handle/20.500.11850/140827 Dissertation ETH Nr. 9884], 1992 and vdf Hochschulverlag AG an der ETH Zürich, 1992

Oberon papers in publications Also refer to the papers published by the University of Linz, Austria as well as to their reports accessible by ftp and to the publications of the former Distributed Systems Department of the University of Ulm, Germany.

In the following list, the most recent publications appear first.

[Hel01] M. Heller - Beyond C++ - BYTE Aug. 2001

[Fot01] M. Fothe - Problemlösen mit Oberon - Konzeption und Einsatz eines elektronischen Lehrbuchs - LOG IN 21 (2001) - Heft 2

[GuW00] J. Gutknecht, Wolfgang Weck (Ed.) - Joint Modular Languages Conference, JMLC 2000, Zürich, Switzerland, September 2000, Proceedings - Springer LNCS 1897, 2000, ISBN 3-540-67958-8

 * [Wir00] N. Wirth - The Development of Procedural Programming Languages - Personal Contributions and Perspectives - JMLC 2000, p. 1-10
 * [Hof00] M. Hof - Composable Message Semantics in Oberon - JMLC 2000, p. 11-25
 * [Gut00] J. Gutknecht - Oberon as an Implementation Language for COM Components: A Case Study in Language Interoperability - JMLC 2000, p. 119-133
 * [Osw00a] E. Oswald - Leonardo: A Framework for Modeling and Editing Graphical Components - JMLC 2000, p. 147-160
 * [Sed00] J. Sedlacek - Project C2 - A Survey of an Industrial Embedded Application with Native Oberon for PC - JMLC 2000, p. 186-196
 * [Mik00] V. V. Mikheev - Design of Multilingual Retargetable Compilers: Experience of the XDS Framework Evolution - JMLC 2000, p. 238-249
 * [Rea00] P. Reali - Structuring a Compiler with Active Objects - JMLC 2000, p. 250-262
 * [Mul00] P. Muller - A Multiprocessor Kernel for Active Object-Based Systems - JMLC 2000, p. 263-277
 * [Ree00] P. Reed - Building Your Own Tools: An Oberon Industrial Case-Study - JMLC 2000, p. 291-298

[Col00] H. Collingbourne - What Pascal's inventor did next - PC Plus, Issue 160, February 2000, p. 213-216 - Tutorial on POW! distributed on PC Plus SuperCD 160-A.

[WeR99] M. Weseloh and R. Rüdiger - Applying Modern Software Design Principles: A CAN Tool Based on Extensibility - Proceedings of the 6th international CAN Conference (iCC'99), Torino, Italy, 2nd to 4th November 1999 - Plain Postscript

[Saw99] G. Sawitzki - Keeping Statistics Alive in Documents - Sonderforschungsbereich 373 Quantifikation und Simulation Ökonomischer Prozesse, Berlin 1999 - HTML page

[Zel99] E. Zeller - Fine-grain Integration of Oberon into Windows using Pluggable Objects - 1999 - PDF document

[MiS99] Klaus Miesenberger and Bernhard Stöger - Oberon2Braille: Making the Oberon System accessible for the blind persons - CSUN (California State University, Northridge) 1999 Conference Proceedings (Technology and Persons with Disabilities Conference) - HTML document

[Boe99] T. Börner - Betriebssysteme: Native Oberon für den PC - CHIP 3/99 - S. 131 - CHIP

[QSW98] Qiu X., Schaufelberger W., Wang J., and Sun Y. - Applying O3CACSD to Control System Design and Rapid Prototyping - Proc. 17th American Control Conference, Philadelphia, Jun. 1998

[HuK98] K. Hug, H. Ketz - Informatik-Grundausbildung für Ingenieure mit Oberon-2 - TEX, Die Zeitschrift der Fachhochschule Reutlingen, Heft 61, S. 53-59, Mai 1998

[KeH98] H. Ketz, K. Hug - Informatik-Grundausbildung für Ingenieure - Hochschuldidaktische Betrachtung und Erfahrungsbericht - Informatik und Ausbildung, GI-Fachtagung 98, Stuttgart, 30.3.-1.4.1998 Hg: Claus Volker - Berlin - Springer 1998 S. 52-62

[Lam98] J. Lampe - Depot4 - A generator for dynamically extensible translators - Software - Concepts and Tools (Springer-Verlag), Volume 19:2, 97-108, 1998 - Abstract

[HuK97] K. Hug, H. Ketz - Objektorientierung mit Oberon-2 in der Ingenieur-Grundausbildung - Informatik-Spektrum, Band 20, Heft 6, S. 350-356, Dez. 1997 - Abstract

[DoW97] G. Dotzel, W. Skulski - Oberon-2, a hi performance alternative to C++ - Computers in Physics, 11, 81, 1997 - PDF, formerly HTML document and gnu-compressed PS

[Sve97] S. Sverdlov - Big small Oberon language - PC Week Russia, No. 35, Sep. 1997

[Rue97b] R. Rüdiger - '''Programmierung Erweiterbarer Systeme. Eine Kurzeinführung in Oberon''' - Technischer Bericht, FH Braunschweig/Wolfenbüttel, Juni 1997

[Rue97a] R. Rüdiger - '''Aspekte der Auswahl von Programmiersprachen für die Lehre. Ein Diskussionbeitrag -- Argumente für Oberon als erste Sprache im Informatik-Studium''' - Technischer Bericht, FH Braunschweig/Wolfenbüttel, August 1997 - Plain Postscript

[Kna97c] M. Knasmüller - Oberon-D - 7th ECOOP Workshop for Doctoral Students in Object-Oriented Systems, Jyväskylä, Jun. 1997 - System Software Group papers

[Kna97b] M. Knasmüller - Adding Schema Evolution to the Persistent Development Environment Oberon-D - Department of System Software, Linz University, Technical Report 10, Jun. 1997 - System Software Group papers

[QSW97] Qiu X., Schaufelberger W. and Wang J. - Applying Object-Orientation to Developing an Integrated Environment for Computer-Aided Control System Design - IFAC Symposium on CACSD, 179-184, Gent, Apr. 1997

[Hre97] F. Hrebabetzky - Closed-Loop Control with Oberon - Software - Concepts and Tools (Springer-Verlag), Volume 18:2, 73-79, 1997

[Moe97] H. Mössenböck (Ed.) - Joint Modular Languages Conference, JMLC'97 Linz, Austria March 19-21, 1997, Proceedings - Springer LNCS 1204, 1997, ISBN 3-540-62599-2

 * [Kis97] T. Kistler - Dynamic Runtime Optimization - JMLC'97, p. 53-66
 * [SuN97] J. Supcik, M. C. Norrie - An Object-Oriented Database Programming Environment for Oberon - JMLC'97, p. 82-96 - Abstract and gnu-compressed PS
 * [Kna97a] M. Knasmüller - Adding Persistence to the Oberon System - JMLC'97, p. 97-111 - System Software Group papers; see also https://ssw.jku.at/Research/Reports/Report6.html
 * [RoS97] P. Roe and C. Szyperski - Lightweight Parametric Polymorphism for Oberon - JMLC'97, p. 140-154 - Postscript compressed
 * [Sch97] D. Scherer - A Messaging Architecture for Distributed Objects in Oberon - JMLC'97, p. 182-196
 * [Hof97] M. Hof - Just-in-Time Stub Generation - JMLC'97, p. 197-206 - System Software Group papers
 * [Gut97] J. Gutknecht - Do the Fish Really Need Remote Control? A Proposal for Self-Active Objects in Oberon - JMLC'97, p. 207-220 - Postscript text.
 * [DiR97] A. R. Disteli and P. Reali - Combining Oberon with Active Objects - JMLC'97, p. 221-235 [abstract] [plain] or [gnu-compressed PS Postscript]
 * [Ste97] C. Steindl - Reflection in Oberon - JMLC'97, p. 282-296 - System Software Group papers
 * [Zel97] E. Zeller - Seamless Integration of Online Services in the Oberon Document System - JMLC'97, p. 366-379 - gnu-compressed PS

[Fra97a] M. Franz - The Programming Language Lagoona: A Fresh Look at Object-Orientation - Software - Concepts and Tools (Springer-Verlag), Volume 18:1, 14-26, Mar. 1997 - pdf document

[Fra97b] M. Franz - Adaptive Compression of Syntax Trees and Iterative Dynamic Code Optimization: Two Basic Technologies for Mobile-Object Systems - Technical Report 97-04, Dept. of Information and Computer Science, University of California, Irvine, Feb. 1997

[GuF96] J. Gutknecht and M. Franz - Towards a Framework for Mobile Objects in Oberon - A Concept-Oriented Tour - Technical Report 96-55, Dept. of Information and Computer Science, University of California, Irvine, Dec. 1996

[DoG96] G. Dotzel and H. Goebel - Porting the Oberon System to AlphaAXP - ACM Sigplan Notices, 31:11, Nov. 1996 - HTML document

[BBS96] R. Back, M. Büchi and E. Sekerinski - Adding Type-Bound Actions to Action-Oberon - TUCS Technical Report No. 66, Abo Akademi University, Finland, Nov. 1996 - HTML document

[MoK96] H. Mössenböck and K. Koskimies - Active Text for Structuring and Understanding Source Code - Software - Practice and Experience, 26:7, 833-850, Jul. 1996 - System Software Group papers

[Fra96] M. Franz - Dynamic Linking of Software Components - IEEE Computer, 30:3, pp. 74-81, March 1997 and Technical Report 96-26, Dept. of Information and Computer Science, UCI, Jun. 1996

[FrK96] M. Franz and T. Kistler - Slim Binaries - Communications of the ACM, 40:12, pp. 87-94, December 1997 and Technical Report 96-24, Dept. of Information and Computer Science, UCI, Jun. 1996

[Wir96c] N. Wirth - Tasks versus Threads: An Alternative Multiprocessing Paradigm - Software - Concepts and Tools (Springer-Verlag), Volume 17:1, 6-12, 1996

[Saw96] G. Sawitzki - Extensible Statistical Software: On a Voyage to Oberon - Journal of Computational and Graphical Statistics, 5.3, 263-283, Sep. 1996.

[Mar96b] J. L. Marais - Extensible Software Systems in Oberon - Journal of Computational and Graphical Statistics, 5.3, 284-298, Sep. 1996

[Rue96] R. Rüdiger - [https://public.ostfalia.de/~ruediger/forschung/fh_hh.pdf '''Programmierung Erweiterbarer Systeme. Die Oberon-Sicht'''] - Technische Berichte Nr. 29: 1. Norddeutsches Kolloquium über Informatik an Fachhochschulen (26.-27. April), Juli 1996 Fachbereich Elektrotechnik und Informatik, FH Hamburg - Plain Postscript

[Kot96] M. Kottmann - Combined Modelling and Simulation of Dynamic Systems using Oberon - Proceedings of the IEEE International Symposium on CACSD, Dearborn, 358-362, 1996

[Gut95b] J. Gutknecht - Oberon in Education - Modulator Tech Journal, 5:8, Jul. 1995 - HTML document

[n/a] First Joint Conference of GI and SI, GISI'95, Zürich, 21 Sep. 1995 - Abstracts

 * [Gut95a] J. Gutknecht - The Smart Document or how to Integrate Global Services - GISI'95
 * [Som95] R. Sommerer - Integrating Oberon Resources into the World-Wide Web - GISI'95
 * [Kna95] M. Knasmüller - Oberon Dialogs: A User Interface for End Users - GISI'95 - System Software Group papers; see also master thesis and research paper
 * [Mos95] B. Mösli - A Comparison of C++, FORTRAN 90 and Oberon-2 for Scientific Programming - GISI'95 - HTML document

[Hof95] M. Hof - A Run Time Debugger for Oberon - Department of System Software, Linz University, Technical Report 5, Aug. 1995 - Postscript compressed

[BFD95] C. Berthouzoz, P. Fabian, G. Dotzel - Extensibilité et persistance - L'Object: Logiciel, base de données, réseaux - Vol. 1, no. 2, juin 1995 - HTML document

[Fan95] G. Fankhauser - Oberon/F Component Framework - ComputerWorld Schweiz, 13. Apr. 1995 - HTML document

[Cre95] R. Crelier - Extending Module Interfaces without Invalidating Clients - Software - Concepts and Tools (Springer-Verlag), Volume 16:2, 49-62, 1995

[Fra95] M. Franz - Protocol Extension: A Technique for Structuring Large extensible Software Systems - Software - Concepts and Tools (Springer-Verlag), Volume 16:2, 86-94, 1995

[Pou95] D. Pountain - The Oberon/F System - BYTE 20(1), Jan. 1995

[ScD95] C. Schramer, G. Dotzel - Das OpenVMS Alpha Modula-2 und Oberon-2 Compiler Projekt - Deckblatt 12, 1994 and Ubaye's First Independent Modula-2 & Oberon-2 Journal, Jan 1995 - HTML document in German

[Tem94c] J. Templ - The Oberon Programming language - Dr. Dobb's SourceBook, Winter 1994 - Abstract

[Tem94d] J. Templ - Oberon vs. C++ - Modulator Tech Journal, 4:9, Oct. 1994 - HTML document

[Mar94a] J. L. Marais - Oberon System 3 - Dr. Dobb's Journal, Volume 19, 42-50, Oct. 1994 - Abstract

[Tem94b] J. Templ - Vergleich der Programmiersprachen Oberon und C++ - iX. Multiuser, Multitasking, Issue 9, 138-143, 1994

[Gri94] R. Griesemer - Detection of Side-Effects in Function Procedures - International Computer Science Institute, Berkeley, CA, Technical Report TR-94-032, Sep. 1994 - Abstract, gnu-compressed PS

[Scu94] P. Schulthess (Ed.) - Joint Modular Languages Conference, JMLC'94 Ulm, Germany 28-30 Sep., 1994, Proceedings - Universitätsverlag Ulm GmbH, 1994, ISBN 3-89559-220-X

 * [TSP94] E. Templ, A. Stritzinger and G. Pomberger - Process Visualization with Oberon System 3 and Gadgets - JMLC'94, p. 13-20 - Postscript compressed
 * [NTH94] A. E. Nedorya, E. V. Tarasov and A. D. Hapugin - Restricted Multiple Inheritance - JMLC'94, p. 21-29
 * [Fra94c] M. Franz - Compiler Optimizations Should Pay for Themselves - JMLC'94, p. 111-121
 * [Bra94] M.M. Brandis - Building an Optimizing Compiler for Oberon: Implication on Programming Language Design - JMLC'94, p. 123-136
 * [Hof94] M. Hof - Post Mortem Debugger for Oberon - JMLC'94, p. 137-145 - System Software Group papers
 * [MuD94] P.J. Muller and P.J.A. de Villiers - Using Oberon to Design a Hierarchy of Extensible Device Drivers - JMLC'94, p. 147-158
 * [BGS94] E. Bugnion, M. Gitsels and B. A. Sanders - Object-oriented distributed programming in the Oberon-PVM environment - JMLC'94, p. 173-187
 * [Tra94] S. Traub - The Design of a Distributed Oberon System - JMLC'94, p. 189-200 - HTML document
 * [Dyk94] P. Dykstra - An O-O Functional Logic Language for the Oberon System - JMLC'94, p. 249-272
 * [Lam94] J. Lampe - An Oberon-Based Implementation Tool - JMLC'94, p. 303-312
 * [KiN94] B. Kirk and L. Nigro - A Distributed Architecture for Real Time, in Oberon-2 - JMLC'94, p. 325-366
 * [Gut94a] J. Gutknecht - Oberon - Perpectives of Evolution - JMLC'94, p. 395-406
 * [Mar94b] J. L. Marais - Towards End-User Objects: The Gadgets User Interface System - JMLC'94, p. 407-420
 * [ABV94] F. Arickx, J. Broeckhove, T. Van den Eede, L. Vinck - PC-Oberon: Native Oberon on the PC compatible (ISA) platform - JMLC'94, p. 471-480
 * [Dot94] G. Dotzel - Alpha AXP/OpenVMS Modula-2 and Oberon-2 Compiler Project - JMLC'94, p. 481-503 - HTML document
 * [GFO94] J. Gesswein, K. Froitzheim, R. Ondrus, O. Schirpf - Bringing the Oberon Language to the Macintosh - JMLC'94, p. 505-519 - HTML document

[GQS94] Glattfelder A.H., Qiu X., Schaufelberger W., and Reimann K. - Educational Simulation Software in Oberon - Proc. of the 3rd Symposium on Advances in Control Education, Tokyo, 107-110, Aug. 1994

[Nau94b] D. A. Naumann - Predicate transformer semantics of an Oberon-like language - Proceedings of the IFIP WG2.1/WG2.2/WG2.3 Conference on Programming Languages, 467-487, Jun. 1994

[ScQ94] W. Schaufelberger and X. Qiu - Control Engineering Courseware Development with Oberon - Proc. Int. Conference on Computer Aided Learning in Science and Engineering, Paris, 477-480, 1994

[QiS94] X. Qiu and W. Schaufelberger - Control System Design with Oberon - Proc. of the IEEE/IFAC Joint Symposium on CACSD, Tucson, 271-276, Mar. 1994

[PoS94] D. Pountain and C. Szyperski - Extensible Software Systems, Subtyping or Subclassing?, Inheritance or Delegation? - BYTE 19(5), 57-62, May 1994

[Gut94] J. Gutknecht (Ed.) - Programming Languages and System Architectures, International Conference, Zürich, Switzerland, March 1994, Proceedings Springer LNCS 782, 1997, ISBN 3-540-57840-4

 * [CoG94] D. Corney and J. Gough - Type Test Elimination using Typeflow Analysis - PLSA'94, p. 137-150 - Plain Postscript
 * [Fra94b] M. Franz - Technological Steps toward a Software Component Industry - PLSA'94, p. 259-281
 * [Rad94] A. Radenski - Is Oberon as Simple as Possible? A Smaller Object-Oriented Language Based on the Concept of Module Type - PLSA'94, p. 298-312 - HTML document.
 * [Nau94a] D. A. Naumann - On the Essence of Oberon - PLSA'94, p. 313-327
 * [LaS94] S. Lalis and B. Sanders - Adding Concurrency to the Oberon System - PLSA'94, p. 328-344

[Gut94b] J. Gutknecht - Oberon System 3: A Vision of a Future Software Technology - Software - Concepts and Tools (Springer-Verlag), Volume 15:1, 26-33, 1994

[Saw94] G. Sawitzki - A Portable, Object-Oriented Extensible Statistical Programming Environment Based on Oberon - Proceedings in Computational Statistics (Compstat 1994), 158-159, 1994

[Moe94] H. Mössenböck - Extensibility in the Oberon System - Nordic Journal of Computing, Vol. 1, 77-93, Jan. 1994 - Postscript compressed

[HeZ93] R. Henderson, B. Zorn - A Comparison of Object-Oriented Programming in Four Modern Languages - Department of Computer Science, University of Colorado, Boulder, Colorado - Technical report CU-CS-641-93, Jul. 1993

[Fra93a] M. Franz - Emulating an Operating System on Top of Another - Software - Practice and Experience, 23:6, 677-692, Jun. 1993 - PDF document

[Fra93b] M. Franz - The case for universal symbol files - Structured Programming, 14:3, 136-147, Mar. 1993 - PDF document

[Gut92] J. Gutknecht - Project Oberon: Make it as simple as possible but not simpler - OUTPUT Jubliläumausgabe, 38-44, Dec. 1992

[HeP92] B. Heeb and C. Pfister - Chameleon: A Workstation of a Different Color - Second International Workshop on Field-Programmable Logic and Applications, Vienna - Springer LNCS 705. 1992, ISBN 3-540-57091-8

[Tem91] J. Templ - Design and Implementation of SPARC-Oberon - Software - Practice and Experience, 23:12, 197-205, Dec. 1991

[Mar91] J. Marais - The Gadgets User Interface Management System - Structured Programming, 12, 75-89, 1991

[MoW91a] H. Mössenböck and N. Wirth - Differences between Oberon and Oberon-2 - Structured Programming, 12:4, 175-177, 1991

[MoW91b] H. Mössenböck and N. Wirth - The Programming Language Oberon-2 - Structured Programming, 12:4, 179-195, 1991 - System Software Group papers

[Pou91] D. Pountain - Modula's Children, Part II: Oberon - BYTE 16(3), 135-142, Mar. 1991

[Pou90] D. Pountain - Oberon: A Glimpse at the Future - BYTE 15(2), 385-392, Nov. 1990

[WiG89] N. Wirth and J. Gutknecht - The Oberon System - Software - Practice and Experience, 19:9, 857-893, 1989

[MoT89] H. Mössenböck and J. Templ - Object Oberon - A Modest Object-Oriented Language - Structured Programming, 10:4, 199-207, 1989

[BPS89] G. Blaschek, G. Pomberger, A Stritzinger - Comparison of Object-Oriented Programming languages - Structured Programming, 10:4, 187-197, 1989

[Gut89a] J. Gutknecht - Variations on the Role of Module Interfaces - Structured Programming, 10:1, 40-46, 1989

[Wir89] N. Wirth - Designing a System from Scratch - Structured Programming, 10:1, 10-18, 1989

[Wir88b] N. Wirth - The Programming Language Oberon - Software - Practice and Experience, 18:7, 671-690, Jul. 1988 Note: A revised version appears in the Appendix A of Programming in Oberon and as HTML document

[Wir88a] N. Wirth - From Modula to Oberon - Software - Practice and Experience, 18:7, 661-670, Jul. 1988

[Wir88c] N. Wirth - Type Extensions - ACM Transactions on Programming Languages and Systems, 10:2, 204-214, Apr. 1988

Background Papers [Hen99] Gregor Henger - Technologiestandort Schweiz - Neue Zürcher Zeitung, 14 May 1999 - Oberon microsystems HTML document copy

[KeR98] K. Kelly and S. Reiss - One Huge Computer - Wired, Issue 6.08, Aug. 1998 - HTML document

[Ger99] B. Gerber - Ein digitaler Querdenker tritt ab - Tages-Anzeiger - HTML document 26 Mar. 1999

Lecture [Wir14] N. Wirth - Reviving a Computer System of 25 Years Ago

Web Sites [Wir] N. Wirth - Niklaus Wirth

[Ree] P. Reed - Project Oberon, 2015-present

[Kel] R. Keller - Oberon

[Zn] H. Zinn - Component Pascal Collection

[comp.lang.oberon]   - archive of comp.lang.oberon

[Ev] D. E. Evans - A resource for the Oberon-07 language

[GAUG] Georg-August-Universität Göttingen, GWDG - Oberon archive

[IAD] Иван Андреевич Денисов (Ivan Andreevich Denisov) - Catalog of Oberon Resources: Ru, Uk, En, De

[Rom] Romiras - Oberon Language revisions, beginning 1990-10-01

[Ram] Andres Ramos - Oberon Channel in Youtube

Unpublished documents [Flo98a] P. Floyd - A discussion of Oberon - Jul 1998 - HTML document.

[Flo98b] P. Floyd - A description of Oberon-2 - Aug 1998 - HTML document

[n/a] ETH Students Projects - Projects grouped by semesters

[BrH98] R. Brega and M. Honegger - The Hard Real-Time Operating System for Mechatronics - ETHZ Institute of Robotics, Jun. 1998 - HTML document

[Bor94] A. Borchert - Report of Ulm's Oberon Compiler - Ulm's Oberon System Reference, Sektion Angewandte Informatik, Universität Ulm, 1994 - HTML document

[OMS97a] Oberon Microsystems Inc. - Component Pascal Language Report - HTML document

[OMS97b] Oberon Microsystems Inc. - Component Pascal - HTML document

''22 Jan 2003 - Copyright © 2003 ETH Zürich. All rights reserved.''

E-Mail: oberon at lists.inf.ethz.ch

Homepage: http://www.ethoberon.ethz.ch/

title: Oberon/Bibliography


text:
User:SageGreenRider

Please see w:User:SageGreenRider

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

title: User:SageGreenRider


text:
Dance Routines in Apple Fitness Plus

In Apple Fitness Plus, there are various videos presenting dance routines for exercise. They move quickly and the student can find themselves one step behind. The idea of this book is to capture the dance routines so that the student can anticipate what comes next and stay in time. The pages are organized by trainer, duration, and music (the name of the first song).

LaShawn Jones

 * LaShawn Jones - 20 mins - Started from the Bottom

Jhon Gonzalez

 * Jhon Gonzalez - 30 mins - Me Enamoré

title: Dance Routines in Apple Fitness Plus


text:
User talk:2603:8080:D202:E532:5471:D4DC:F27F:F942

Warning
—Atcovi (Talk - Contribs) 18:38, 29 December 2020 (UTC)


text:
Dance Routines in Apple Fitness Plus/LaShawn Jones 20 mins Started from the Bottom

Started From the Bottom by Drake
(explanation)
 * 0:40

Young'n by Fabolous
(warm up) [verse] [chorus] [verse] [chorus] [verse] [chorus] [verse] [truncated chorus]
 * Stationary march starting on right foot
 * Step, toe-tap to the right then back. Repeat about eight times
 * Two step-taps to the right then back. Repeat about four times
 * Four steps back (pause between two and three) [LaShawn says three but takes four]
 * Three travel (zig-zag) steps forward
 * In wide stance:
 * look right then left several times
 * half head roll, right then left
 * repeat
 * rotate right shoulder back four times
 * rotate left shoulder back four times
 * rotate right shoulder forward four times
 * rotate left shoulder forward four times
 * Four steps back (pause between two and three) [LaShawn says three but takes four]
 * Three travel (zig-zag) steps forward
 * Repeat two above
 * In wide stance:
 * Arms out, rib cage right to left several times
 * Arms to stomach
 * Front back several times
 * Right left several times
 * Smooth it out (rotate hips) four times
 * Pull it in right and left
 * Four steps back (pause between two and three) [LaShawn says three but takes four]
 * Three travel (zig-zag) steps forward
 * Repeat two above
 * In wide stance:
 * Arms out, rib cage right to left several times
 * Arms to stomach
 * Front back several times
 * Right left several times
 * Smooth it out (rotate hips) four times


text: Category:Book:Dance Routines in Apple Fitness Plus


text:
Civic Technology/Teach

If you have a particular skill, you may be able to share it online.

Wikibooks
Wikibooks is a collection of open source books. By editing and improving Wikibooks articles, you can help share your knowledge with others. Editing Wikibooks is also a good opportunity to practice English skills.

title: Civic Technology/Teach


text:
User:Erik Midtskogen

I'm a cabinetmaker, software engineer, musician, and bicycle racer. I am starting a Wikibook on Cabinet Vision, which is an industry-leading CAD/CAM software package in support of the manufacture of cabinetry.

title: User:Erik Midtskogen


text:
Cabinet Vision: The Last Mile

Purpose of this Wikibook
Cabinet Vision is an industry-leading CAD/CAM system in support of the cabinet manufacturing industry. The supplied documentation and videos available from the official Cabinet Vision E-Support web site provide an introduction to the system, along with plenty of useful information on what feature of the application performs what action. However, these materials have relatively little to say about strategies, tactics, and best practices for building out a flexible and full-featured CV installation for a manufacturer of highly-customized cabinetry. The Forums on the E-Support site are presently the main (albeit informal) source of advanced knowledge, presented in a conversational format. Although these resources are indispensable, they don't constitute a complete User's Guide. The result is that many CV technicians struggle to achieve more than beginner-level proficiency with Cabinet Vision, and can't decide which one of the many possible approaches to solving some problem will serve them best in the long run. This guide is intended to remedy that. It is intended as a supplement to these other sources of information, but it is not—nor can it be—a replacement for them.

Intended Audience
Before turning to this guide, you should have watched all or most of the introductory videos on Cabinet Vision and have a good understanding of the various components of the Cabinet Vision user interface. For example, you should know how to use the Assembly Method Wizard and create at least a rudimentary User Created Standard. Perhaps you have your installation of Cabinet Vision set up to generate some rough approximation of your intended build standards, but at this point you don't know the next steps to get it running the way you really want it.

There will also be chapters of this Wikibook intended for advanced users who are pushing the limits of what Cabinet Vision can do.

Contributions
Nobody owns this Wikibook. It is everyone's to read and edit. There are many Cabinet Vision techs whose expertise has the potential to save days or weeks of frustration for a new (or not-so-new) CV tech. All who have expertise that they would like to share are invited to contribute to this Wikibook. Do it not just for the benefit of others, but also to document useful discoveries for your own future reference. Likewise, there are many "classic" posts people have made on the forums that some of us keep bookmarked because they are so useful. But not everyone has your bookmark collection, so feel free to copy the content of those posts into this Wikibook.

Table of Contents

 * 1) /General Strategy and Best Practices/
 * 2) /Catalog Techniques/
 * 3) /Assembly Method Techniques/
 * 4) /Object Intelligence Techniques/
 * 5) User Created Standards Techniques
 * 6) /Shaped Cabinets and Parts in Detail/
 * 7) /Machining Operations in Detail/
 * 8) /Report Center in Detail/
 * 9) /Undocumented System Parameters/

1. High-Level Strategy

2. Catalogs

3. Assembly Methods

4. Object Intelligence

5. User Created Standards

6. The Details of Machining Operations

7. The Report Center

8. Shaped Cabinets and Parts

title: Cabinet Vision: The Last Mile


text:
Cabinet Vision: The Last Mile/High-Level Strategy

Navigation: Home

Introduction
It is very important to make wise decisions early in the process of setting up Cabinet Vision. As you add new functionality, and as your shop begins to depend on Cabinet Vision running without disruption, it becomes hard to fix problems baked into the foundation of your CV buildout. The first order of business is configuring how Cabinet Vision represents the 3-dimensional models entered into it.

General Strategy and Best Practices
The four essential areas of three-dimensional modelling in Cabinet Vision that need configuration are:

 * 1) /Best Practices for Catalogs/
 * 2) /Best Practices for Assembly Methods/
 * 3) /Best Practices for Object Intelligence/
 * 4) /Best Practices for User-Created Standards/

This listing also represents the order of precedence for these strategies, and the increasing difficulty and level of expertise required to implement them well. This means that you should do your very best to set up each area of configuration in sequence, looking to the next one only when it is impossible to achieve the intended result in the current one. You might be surprised at how much you can achieve with object intelligence, for example. Above all, don't make the rookie mistake of immediately looking to UCSs as the solution to all problems. They are powerful and flexible, but that's a double-edged sword. When writing a UCS you need to be careful what you ask for, because once set up, they have a tendency of interfering in situations where you would rather that they not. If you habitually use UCSs to do things that could be done in Catalogs, Assembly Methods, or Object Intelligence, what you'll eventually end up with is an unmanageable mess.


text:
User talk:Meghanironak

Warning
—Atcovi (Talk - Contribs) 05:11, 31 December 2020 (UTC)

title: User talk:Meghanironak


text:
User:Niteshbehani

A creative and passionate mobile application enthusiast with over 10 years of experience in providing IT solution across various industries.

title: User:Niteshbehani


text: User:HARJA LANGUAGE/sandbox

title: User:HARJA LANGUAGE/sandbox


text:
User:JJPMaster/redwarnConfig.js

/*                                                   This is your RedWarn configuration file. It is recommended that you don't edit this yourself and use RedWarn preferences instead. It is writen in JSON formatting and is excecuted every time RedWarn loads.

If somebody has asked you to add code to this page, DO NOT do so as it may comprimise your account and will be reverted as soon as any configuration value changes.

!!! Do not edit below this line unless you understand the risks! If rw.config isn't defined, this file will be reset. !!! rw.config = {"lastVersion":"16","colTheme":"blue-indigo","rwNoticeListByTemplateName":"disable","rwautoLevelSelectDisable":"enable","rwRollbackDoneOption":"RWRBDONEwarnUsr","rollbackMethod":"rollbackLike","rwRollbackIcons":[{"index":0,"shift":0,"modify":{"enabled":true,"color":"rgb(255, 0, 0)","icon":"delete_forever"}},{"index":1,"shift":1,"modify":{"enabled":true,"color":"rgb(255, 165, 0)","icon":"format_indent_increase"}},{"index":2,"shift":2,"modify":{"enabled":true,"color":"rgb(255, 215, 0)","icon":"work_outline"}},{"index":3,"shift":3,"modify":{"enabled":true,"color":"rgb(0, 0, 255)","icon":"replay"}},{"index":4,"shift":4,"modify":{"enabled":true,"color":"rgb(0, 128, 0)","icon":"thumb_up"}},{"index":5,"shift":5,"modify":{"enabled":true,"color":"rgb(0, 0, 0)","icon":"compare_arrows"}},{"index":6,"shift":6,"modify":{"enabled":true,"color":"rgb(0, 0, 0)","icon":"library_add"}},{"index":7,"shift":7,"modify":{"enabled":true,"color":"rgb(0, 0, 0)","icon":"more_vert"}},{"index":8,"shift":8,"modify":{"enabled":false,"color":"rgb(255, 0, 0)","icon":"filter_3"}},{"index":9,"shift":9,"modify":{"enabled":false,"color":"rgb(255, 0, 0)","icon":"offline_bolt"}},{"index":10,"shift":10,"modify":{"enabled":false,"color":"rgb(255, 0, 0)","icon":"copyright"}},{"index":11,"shift":11,"modify":{"enabled":false,"color":"rgb(255, 0, 0)","icon":"face"}},{"index":12,"shift":12,"modify":{"enabled":false,"color":"rgb(255, 0, 0)","icon":"monetization_on"}},{"index":13,"shift":13,"modify":{"enabled":false,"color":"rgb(255, 0, 0)","icon":"link_off"}},{"index":14,"shift":14,"modify":{"enabled":false,"color":"rgb(255, 165, 0)","icon":"history_edu"}},{"index":15,"shift":15,"modify":{"enabled":false,"color":"rgb(255, 165, 0)","icon":"error"}},{"index":16,"shift":16,"modify":{"enabled":false,"color":"rgb(255, 165, 0)","icon":"menu_book"}},{"index":17,"shift":17,"modify":{"enabled":false,"color":"rgb(255, 165, 0)","icon":"child_care"}},{"index":18,"shift":18,"modify":{"enabled":false,"color":"rgb(255, 165, 0)","icon":"campaign"}},{"index":19,"shift":19,"modify":{"enabled":false,"color":"rgb(255, 165, 0)","icon":"announcement"}},{"index":20,"shift":20,"modify":{"enabled":false,"color":"rgb(0, 0, 255)","icon":"brush"}},{"index":21,"shift":21,"modify":{"enabled":false,"color":"rgb(0, 0, 255)","icon":"build"}}],"firstTimeSetupComplete":"yes"}; //

title: User:JJPMaster/redwarnConfig.js


text:
Oberon/A2/TFTP.Mod

MODULE TFTP; (** AUTHOR "be"; PURPOSE "TFTP client"; *) IMPORT IP, UDP, Files, Random, KernelLog; CONST 	Ok = UDP.Ok; 	(* General Settings *) 	TFTPPort = 69; 	MaxSocketRetries = 64; 	MaxRetries = 5; 	MaxWait = 3; 	BlockSize = 512; 	DataTimeout = 3000; (* ms *) 	AckTimeout = 3000; (* ms *) 	(* Packet Types *) 	RRQ = 1; 	WRQ = 2; 	DATA = 3; 	ACK = 4; 	ERROR = 5; 	TFTPId = "TFTP Client: "; TYPE 	ErrorMsg = ARRAY 32 OF CHAR; 	TFTPClient* = OBJECT 		(* Log functions *) 		PROCEDURE LogEnter(level: SIGNED32); 		BEGIN IF (TraceLevel >= level) THEN KernelLog.Enter END 		END LogEnter; 		PROCEDURE LogExit(level: SIGNED32); 		BEGIN IF (TraceLevel >= level) THEN KernelLog.Exit END 		END LogExit; 		PROCEDURE Log(level: SIGNED32; s: ARRAY OF CHAR); 		BEGIN IF (TraceLevel >= level) THEN KernelLog.String(s) END 		END Log; 		PROCEDURE LogInt(level, i: SIZE); 		BEGIN IF (TraceLevel >= level) THEN KernelLog.Int(i, 0) END 		END LogInt; 		(* Get2 - reads a (big endian) 16bit value from 'buf' at position 'ofs'..'ofs'+1 *) 		PROCEDURE Get2(VAR buf: ARRAY OF CHAR; ofs: SIGNED32): SIGNED32; 		BEGIN RETURN ORD(buf[ofs])*100H + ORD(buf[ofs+1]) 		END Get2; 		(* Put2 - writes a (big endian) 16bit value to 'buf' at position 'ofs'..'ofs'+1 *) 		PROCEDURE Put2(VAR buf: ARRAY OF CHAR; ofs, value: SIGNED32); 		BEGIN buf[ofs] := CHR(value DIV 100H MOD 100H); buf[ofs+1] := CHR(value MOD 100H) 		END Put2; 		(* PacketType - returns the type of a packet *) 		PROCEDURE PacketType(VAR buf: ARRAY OF CHAR): SIGNED32; 		BEGIN RETURN Get2(buf, 0) 		END PacketType; 		(* ExtractString - extracts a 0X terminated 8bit string from a buffer *) 		PROCEDURE ExtractString(VAR buf: ARRAY OF CHAR; VAR ofs: SIGNED32; VAR s: ARRAY OF CHAR); 		VAR pos: SIGNED32; 		BEGIN 			WHILE (ofs < LEN(buf)) & (buf[ofs] # 0X) DO 				IF (pos < LEN(s)-1) THEN s[pos] := buf[ofs]; INC(pos) END; 				INC(ofs) 			END; 			s[pos] := 0X; INC(ofs) 		END ExtractString; 		(* PutString - puts a 0X terminated 8bit string to a buffer *) 		PROCEDURE PutString(VAR buf: ARRAY OF CHAR; VAR ofs: SIGNED32; s: ARRAY OF CHAR); 		VAR pos: SIGNED32; 		BEGIN 			WHILE (pos < LEN(s)) & (s[pos] # 0X) DO 				IF (ofs < LEN(buf)-1) THEN buf[ofs] := s[pos]; INC(ofs) END; 				INC(pos) 			END; 			buf[ofs] := 0X; INC(ofs) 		END PutString; 		(* ReceiveAck - receives a server answer *) 		PROCEDURE ReceiveAck(socket: UDP.Socket; VAR fip: IP.Adr; VAR fport: SIGNED32; blockNr: SIGNED32; VAR ack: ARRAY OF CHAR): BOOLEAN; 		VAR ip: IP.Adr; port, ofs, wait: SIGNED32; len: SIZE; res: INTEGER; acked: BOOLEAN; msg: ARRAY 256 OF CHAR; 		BEGIN 			wait := 0; 			REPEAT 				INC(wait); 				LogEnter(3); Log(3, TFTPId); Log(3, "waiting for ack... "); 				IF (wait > 1) THEN Log(3, "(retry "); LogInt(3, wait); Log(3, ")") END; 				LogExit(3); 				acked := FALSE; 				socket.Receive(ack, 0, LEN(ack), AckTimeout, ip, port, len, res); 				LogEnter(3); Log(3, TFTPId); 				IF (res = UDP.Timeout) THEN Log(3, "timeout") 				ELSIF (res = UDP.BufferOverflow) THEN Log(3, "buffer overflow ("); LogInt(3, -len); Log(3, " bytes)") 				ELSIF (res = Ok) THEN 					acked := (PacketType(ack) = ACK) & (Get2(ack, 2) = blockNr) & (IP.AdrsEqual(ip, fip)) & ((fport = port) OR (fport = -1)); 					IF acked THEN Log(3, "got ack") ELSE Log(3, "ack failed") END; 					IF (PacketType(ack) = ERROR) THEN 						wait := MaxWait + 1; 						ofs := 4; ExtractString(ack, ofs, msg); 						Log(3, "; error "); LogInt(3, Get2(ack, 2)); Log(3, ": "); Log(3, msg) 					END 				ELSE 					Log(3, "unknown error "); LogInt(3, SIGNED32(res)) 				END; 				LogExit(3) 			UNTIL acked OR (res # Ok) OR (wait > MaxWait); 			IF acked & (fport = -1) THEN fport := port END; 			RETURN acked 		END ReceiveAck; 		(* SendAck - sends an ack packet *) 		PROCEDURE SendAck(socket: UDP.Socket; fip: IP.Adr; fport: SIGNED32; blockNr: SIGNED32; VAR res: INTEGER); 		VAR ackHdr: ARRAY 4 OF CHAR; retries: SIGNED32; 		BEGIN 			Put2(ackHdr, 0, ACK); Put2(ackHdr, 2, blockNr); 			REPEAT 				INC(retries); 				socket.Send(fip, fport, ackHdr, 0, LEN(ackHdr), res); 			UNTIL (res = Ok) OR (retries > MaxRetries) 		END SendAck; 		(* SendError - sends an error packet *) 		PROCEDURE SendError(socket: UDP.Socket; fip: IP.Adr; fport: SIGNED32; errNo: SIGNED16; s: ErrorMsg; VAR res: INTEGER); 		VAR errHdr: ARRAY BlockSize+4 OF CHAR; p, retries: SIGNED32; 		BEGIN 			Put2(errHdr, 0, ERROR); Put2(errHdr, 2, errNo); 			IF ((errNo = 0) & (s = "")) OR ((errNo > 0) & (errNo < 8)) THEN s := errorMsg[errNo] END; 			WHILE (p < BlockSize-1) & (s[p] # 0X) DO errHdr[4+p] := s[p]; INC(p) END; 			errHdr[4+p] := 0X; 			REPEAT 				INC(retries); 				socket.Send(fip, fport, errHdr, 0, p+4, res) 			UNTIL (res = Ok) OR (retries > MaxRetries) 		END SendError; 		(* GetSocket - finds & initializes a free UDP socket *) 		PROCEDURE GetSocket*(VAR socket: UDP.Socket): BOOLEAN; 		VAR retries, lport: SIGNED32; res: INTEGER; 		BEGIN 			REPEAT 				INC(retries); lport := 1024 + generator.Integer MOD 64512; 				NEW(socket, lport, res) 			UNTIL (res # UDP.PortInUse) OR (retries > MaxSocketRetries); 			IF (res = UDP.PortInUse) THEN socket := NIL END; 			RETURN (socket # NIL) 		END GetSocket; 		(* Send - send a file to TFTP server at fip:fport *) 		PROCEDURE Send*(localFN, remoteFN: ARRAY OF CHAR; fip: IP.Adr; fport: SIGNED32): BOOLEAN; 		VAR buf, ack: ARRAY 4+BlockSize OF CHAR; socket: UDP.Socket; msg: ARRAY 256 OF CHAR; 			file: Files.File; r: Files.Rider; ofs, retries, blockNr, errNo: SIGNED32; res: INTEGER; acked: BOOLEAN; 		BEGIN 			acked := FALSE; 			file := Files.Old(localFN); 			IF (file # NIL) THEN 				IF GetSocket(socket) THEN 					LogEnter(1); Log(1, TFTPId); Log(1, "sending '"); Log(1, localFN); Log(1, "'"); LogExit(1); 					file.Set(r, 0); 					(* issue a WRQ *) 					Put2(buf, 0, WRQ); 					ofs := 2; 					PutString(buf, ofs, remoteFN); 					PutString(buf, ofs, "netascii"); 					socket.Send(fip, fport, buf, 0, ofs, res); 					(* wait for ACK/ERROR *) 					fport := -1; (* allow change of fport *) 					IF ReceiveAck(socket, fip, fport, 0, ack) THEN 						(* send file *) 						blockNr := 0; acked := TRUE; 						WHILE ~r.eof & acked DO 							INC(blockNr); 							Put2(buf, 0, DATA); 							Put2(buf, 2, blockNr); 							file.ReadBytes(r, buf, 4, BlockSize); 							REPEAT 								INC(retries); 								LogEnter(3); Log(3, TFTPId); Log(3, "sending block "); LogInt(3, blockNr); 								Log(3, " ("); LogInt(3, BlockSize-r.res); Log(3, " bytes) "); 								IF (retries > 1) THEN Log(3, "(retry "); LogInt(3, retries); Log(3, ")") END; 								LogExit(3); 								socket.Send(fip, fport, buf, 0, 4 + BlockSize - r.res, res); 								acked := ReceiveAck(socket, fip, fport, blockNr, ack) 							UNTIL acked OR (retries > MaxRetries); 						END; 						LogEnter(1); Log(1, TFTPId); 						IF r.eof & acked THEN Log(1, "file successfully sent") 						ELSE 							Log(1, "sending failed"); 							IF (PacketType(ack) = ERROR) THEN 								Log(1, ":"); 								errNo := Get2(ack, 2); 								IF (errNo > 0) & (errNo < 8) THEN Log(1, errorMsg[errNo]) 								ELSIF (errNo = 0) THEN 										ofs := 4; 									ExtractString(ack, ofs, msg); 									Log(1, msg) 								END 							END 						END; 						LogExit(1) 					ELSE	(* no ACK or block number # 0 *) 						LogEnter(1); Log(1, TFTPId); Log(1, TFTPId); Log(1, "sending failed"); 						IF (PacketType(ack) = ERROR) THEN 							Log(1, ": "); 							errNo := Get2(ack, 2); 							IF (errNo > 0) & (errNo < 8) THEN Log(1, errorMsg[errNo]) 							ELSIF (errNo = 0) THEN 								ofs := 4; 								ExtractString(ack, ofs, msg); 								Log(1, msg) 							END 						END; 						LogExit(1) 					END; 					socket.Close 				ELSE 					LogEnter(1); Log(1, TFTPId); Log(1, "can't get a free socket"); LogExit(1) 				END 			ELSE 				LogEnter(1); Log(1, TFTPId); Log(1, "file not found"); LogExit(1) 			END; 			RETURN acked 		END Send; 		(* Receive - receive a file from TFTP server at source:port *) 		PROCEDURE Receive*(remoteFN, localFN: ARRAY OF CHAR; fip: IP.Adr; fport: SIGNED32): BOOLEAN; 		VAR socket: UDP.Socket; ofs, blockNr, port, retries, waitPacket: SIGNED32; len: SIZE; res: INTEGER; ok, Abort: BOOLEAN; ip: IP.Adr; 			buf: ARRAY 4+BlockSize OF CHAR; file: Files.File; r: Files.Rider; 		BEGIN 			ok := FALSE; 			IF GetSocket(socket) THEN 				LogEnter(1); Log(1, TFTPId); Log(1, "receiving '"); Log(1, remoteFN); Log(1, "'"); LogExit(1); 				(* issue a RRQ *) 				Put2(buf, 0, RRQ); 				ofs := 2; 				PutString(buf, ofs, remoteFN); 				PutString(buf, ofs, "netascii"); 				socket.Send(fip, fport, buf, 0, ofs, res); 				fport := -1; (* allow change of fport *) 				file := Files.New(localFN); 				ASSERT(file # NIL); 				file.Set(r, 0); 				Files.Register(file); 				blockNr := 0; 				REPEAT 					INC(blockNr); 					LogEnter(3); Log(3, TFTPId); Log(3, "receiving block "); LogInt(3, blockNr); 					IF (retries > 1) THEN Log(3, " (retry "); LogInt(3, retries); Log(3, ")") END; 					LogExit(3); 					REPEAT 						socket.Receive(buf, 0, LEN(buf), DataTimeout, ip, port, len, res); 						DEC(len, 4); 						IF (res = Ok) THEN 							res := -1; 							IF (IP.AdrsEqual(ip, fip)) & ((fport = port) OR (fport = -1)) THEN 								IF (fport = -1) THEN fport := port END; 								IF (PacketType(buf) = DATA) THEN 									IF (Get2(buf, 2) = blockNr) THEN 										file.WriteBytes(r, buf, 4, len); 										file.Update; 										IF (r.res = 0) THEN 											LogEnter(3); Log(3, TFTPId); LogInt(3, len); Log(3, " bytes written"); LogExit(3); 											SendAck(socket, fip, fport, blockNr, res); 											Abort := res # Ok 										ELSE 											LogEnter(3); Log(3, TFTPId); Log(3, errorMsg[3]); LogExit(3); 											SendError(socket, fip, fport, 3, "", res); 											Abort := TRUE 										END 									ELSE (* bad block number *) 										INC(waitPacket); len := BlockSize; 										LogEnter(3); Log(3, TFTPId); Log(3, "Bad block number (expected "); LogInt(3, blockNr); 										Log(3, ", got "); LogInt(3, Get2(buf, 2)); Log(3, ")"); LogExit(3) 									END 								ELSE (* wrong packet type *) 									LogEnter(3); Log(3, TFTPId); Log(3, errorMsg[4]); LogExit(3); 									SendError(socket, fip, fport, 4, "", res); 									Abort := TRUE 								END 							ELSE (* ip/port changed *) 								LogEnter(3); Log(3, TFTPId); Log(3, errorMsg[5]); LogExit(3); 								SendError(socket, fip, fport, 5,"", res) 							END 						ELSIF (res = UDP.Timeout) THEN 							INC(waitPacket); len := BlockSize; 							LogEnter(3); Log(3, TFTPId); Log(3, "Timeout ("); LogInt(3, waitPacket); Log(3, ")"); LogExit(3) 						ELSE (* unknown error (UDP/IP error) *) 							LogEnter(3); Log(3, TFTPId); Log(3, errorMsg[0]); LogExit(3); 							SendError(socket, fip, fport, 0, "", res); 							Abort := TRUE 						END; 					UNTIL (res = Ok) OR Abort OR (waitPacket > MaxWait); 				UNTIL Abort OR (waitPacket > MaxWait) OR (len < BlockSize); 				LogEnter(1); Log(1, TFTPId); 				IF ~Abort & (waitPacket <= MaxWait) & (len < BlockSize) THEN 					Log(1, "file successfully received"); 					file.Update; 					ok := TRUE; 				ELSE 					Log(1, "error receiveing file") 				END; 				LogExit(1); 				socket.Close 			ELSE 				LogEnter(1); Log(1, TFTPId); Log(1, "can't get a free socket"); LogExit(1) 			END; 			RETURN ok 		END Receive; 	END TFTPClient; VAR TraceLevel: SIGNED32; 	errorMsg: ARRAY 8 OF ErrorMsg; 	generator: Random.Generator; PROCEDURE Send*(localFN, remoteFN: ARRAY OF CHAR; ip: IP.Adr): BOOLEAN; VAR client: TFTPClient; BEGIN 	NEW(client); 	RETURN client.Send(localFN, remoteFN, ip, TFTPPort) END Send; PROCEDURE Receive*(removeFN, localFN: ARRAY OF CHAR; ip: IP.Adr): BOOLEAN; VAR client: TFTPClient; BEGIN 	NEW(client); 	RETURN client.Receive(removeFN, localFN, ip, TFTPPort) END Receive; PROCEDURE TraceLevel0*; BEGIN TraceLevel := 0 END TraceLevel0; PROCEDURE TraceLevel1*; BEGIN TraceLevel := 1 END TraceLevel1; PROCEDURE TraceLevel2*; BEGIN TraceLevel := 2 END TraceLevel2; PROCEDURE TraceLevel3*; BEGIN TraceLevel := 3 END TraceLevel3; BEGIN 	errorMsg[0] := "Undefined error."; 	errorMsg[1] := "File not found."; 	errorMsg[2] := "Access violation."; 	errorMsg[3] := "Disk full."; 	errorMsg[4] := "Illegal TFTP operation."; 	errorMsg[5] := "Unknown transfer ID."; 	errorMsg[6] := "File already exists."; 	errorMsg[7] := "No such user."; 	TraceLevel := 1; 	NEW(generator) END TFTP. TFTP.TraceLevel3 TestTFTP.Mod

title: Oberon/A2/TFTP.Mod


text:
Oberon/A2/Oberon.TFTPTool.Mod

MODULE TFTPTool IN Oberon;	(** be **) IMPORT In, Out, IP IN A2, TFTP IN A2; PROCEDURE Send*; VAR fnl, fnr: ARRAY 128 OF CHAR; fipstr: ARRAY 64 OF CHAR; fip: IP.Adr; BEGIN 	In.Open; In.String(fnl); In.String(fnr); In.String(fipstr); 	IF In.Done THEN 		fip := IP.StrToAdr(fipstr); 		IF (~IP.IsNilAdr(fip)) THEN 			Out.String("Sending '"); Out.String(fnl); Out.String("' to "); Out.String(fipstr); Out.String("..."); 			IF TFTP.Send(fnl, fnr, fip) THEN Out.String(" success.") 			ELSE Out.String("error; check kernel log.") 			END 		ELSE Out.String("Invalid IP") 		END 	ELSE Out.String('Invalid parameters. Syntax: TestTFTP.Send "<localfilename>" "<remotefilename>" "<ip>"') 	END; 	Out.Ln END Send; PROCEDURE Receive*; VAR fnl, fnr: ARRAY 128 OF CHAR; fipstr: ARRAY 64 OF CHAR; fip: IP.Adr; BEGIN 	In.Open; In.String(fnr); In.String(fnl); In.String(fipstr); 	IF In.Done THEN 		fip := IP.StrToAdr(fipstr); 		IF (~IP.IsNilAdr(fip)) THEN 			Out.String("Receiving '"); Out.String(fnl); Out.String("' from "); Out.String(fipstr); Out.String("..."); 			IF TFTP.Receive(fnr, fnl, fip) THEN Out.String(" success.") 			ELSE Out.String("error; check kernel log.") 			END 		ELSE Out.String("Invalid IP") 		END 	ELSE Out.String('Invalid parameters. Syntax: TestTFTP.Receive "<remotefilename>" "<localfilename>" "<ip>"') 	END; 	Out.Ln END Receive; END TFTPTool. System.Free TestTFTP TFTP ~ TFTP.TraceLevel1 TFTP.TraceLevel2 TFTP.TraceLevel3 TFTPTool.Send "AOS:AosOberon.zip" "FAT:/AosOberon.zip" "10.0.0.4" ~ TFTPTool.Receive "FAT:/AosOberon.zip" "AOS:AosOberon.zip" "10.0.0.4" ~

title: Oberon/A2/Oberon.TFTPTool.Mod


text:
History of wireless telegraphy and broadcasting in Australia/Topical/Biographies/Louis Edward Walker

Louis Edward Walker
A comprehensive biography of Louis Edward Walker has not yet been prepared, however the following resources have been assembled in preparation:

 * Transcriptions and Notes - Louis Edward Walker - More than 10 transcriptions and notes

 * Photos, QSL cards and other graphics - Louis Edward Walker - Nothing uploaded as yet

 * Frank Randell Bradley's 1934 article on the History of the Electric Telegraph in Australia - Essentially complete excepting formatting

 * B. McMahon's 1939 article on "The Early History of the Telegraph Electrical Society, Melbourne"

 * Incubator of Wikipedia Article on Louis Edward Walker - Not yet started

In the National Library of Australia's Trove website, more than 200 articles (Newspapers & Gazettes) have been tagged as "Louis Edward Walker" (search publictag:Louis Edward Walker)

A search in Trove on "Louis Edward Walker", "L. E. Walker", "Louis E. Walker", "Captain Walker" identifies more than 200 articles, the majority of which refer to Louis Edward Walker. Those tagged to date are a quick review to identify the most important for this Wikibook. Articles transcribed for Notes are tagged: "!Wikibooks LE Walker". Articles reviewed and considered either duplicates of other articles or not of sufficient importance for inclusion are tagged: "!Wikibooks LE Walker Not"


text:
History of wireless telegraphy and broadcasting in Australia/Topical/Biographies/Louis Edward Walker/Notes

1905 10
Walker's visit to Australia and New Zealand announced (widely reported around Australia) "WIRELESS TELEGRAPHY. AUSTRALASIAN EXPERIMENTS. MARCONI COMPANY'S PROJECTS. LONDON, Wednesday Night. An effort is to be made to introduce the Marconi system of wireless telegraphy into Australasia. Captain Walker and two electrical engineers, on behalf of the Marconi Company, are sailing for the Commonwealth at an early date. They hope to be able to communicate by means of the wireless system between Tasmania and New Zealand, and Australia and New Zealand. A Bill relating to wireless telegraphy was passed, by the Federal Parliament recently, and is now awaiting the Governor-General's assent. Briefly stated, the object of the measure is to secure to the Commonwealth the exclusive privilege of establishing stations for the purpose of transmitting wireless messages in and to and from Australia, but licenses to erect and use stations and appliances for the purpose of transmitting or receiving messages by means of wireless telegraphy may be granted by the Postmaster-General. Senator Staniforth Smith has given notice of his intention to ask tomorrow the Minister representing the Postmaster-General the following questions:— '1. Is it the intention of the Government to allow a private company to instal a wireless telegraphy service between Australia and New Zealand? Would not such a service seriously deplete the revenues of the State-owned cable between Australia and New Zealand, and thereby increase the financial responsibilities of the people of Australia? 2. If the establishment of any wireless telegraphy stations in the Commonwealth are deemed necessary, would it not be advisable for commercial, national, and defence considerations that these should be owned and controlled by the Commonwealth?' The answer to these questions, it is expected, will indicate the policy of the Government."

Sydney's Australian Star page 1 announcement of Walker's visit per cable "WIRELESS TELEGRAPHY. To be Established in Australia. MARCONI'S REPRESENTATIVES COMING. (OUR SPECIAL MESSAGE.) LONDON, Wednesday, 2.55 p.m. Captain Walker and two electrical engineers on behalf of the Marconi Wireless Telegraphy Co., are starting for Australia. They hope to establish communication between Tasmania and New Zealand and Australia and New Zealand."

Sydney's Australian Star wraps in commentary the announcement of Walker's visit "WIRELESS TELEGRAPHY. It is doubtless but a question of time, and of no long time at that, when that 'invisible girdle' of which Signor Marconi has given the first hint will be placed round the earth. Australian waters are to receive the benefit of the system which the ingenious Anglo-Italian, or rather Irish-Italian, was 'born to introduce.' As will be seen from a cablegram of this morning, Captain Walker and two electrical engineers of the Marconi Co. are coming southwards for the purpose of establishing communication between this continent and Tasmania, and also with New Zealand. As to the comparative ease with which these feats can be accomplished there of course can be no doubt now. The transmission of wireless messages across the Atlantic may be said to have settled the question as to the possibilities of the new use which was being made of the electric fluid. The famous boast of the 'scientist' of ancient days was that he could move the world itself if he could find something on which to rest his leverage. Wireless telegraphy will not be hampered in its future processes by any difficulties as to the something to rest upon, the connecting links in the various stages of expansion which await it. The crowning achievement by-and-bye will be the sending of a message across the Pacific through these 'couriers of the air.'"

Melbourne's The Age reports that PMG not aware of Walker's visit "WIRELESS TELEGRAPHY. NEW ZEALAND, TASMANIA, AUSTRALIA. LONDON, 5th October. In connection with the negotiations which have for some time past been in progress for the establishment of wireless communication between New Zealand and Australia, it is announced that the Marconi Company is making a direct move. Captain Walker, accompanied by two electrical engineers, is starting for Australia with the hope of arranging to establish wireless communication between New Zealand and Tasmania and Australia and New Zealand. (The Postal department has received no information as to the projected visit of representatives of the Marconi Telegraph Company. No arrangement has been made by the Postmaster-General to that effect. When seen last evening, Mr. Chapman said be knew nothing of the scheme.)"

Perth's Daily News in repeating Walker announcement notes he was previously superintendent of telegraphs in Ceylon "WIRELESS TELEGRAPHY. EXPERTS VISITING AUSTRALIA. A SCHEME OF COMMUNICATION. LONDON, October 4. Captain Walker, who was at one time superintendent of telegraphs in Ceylon and has held other high positions in the telegraph service, will, accompanied by two electrical engineers, shortly visit Australia on behalf of the Marconi Co. He hopes to communicate by means of wireless telegraphy between Tasmania and Zealand, and Australia and New Zealand."

Perth's West Australian indicates that Walker a member of the I.E.E. "WIRELESS TELEGRAPHY. THE MARCONI COMPANY. PROPOSED OPERATIONS IN AUSTRALASIA. London, October 4. Captain E. O. Walker, M.I.E.E., and two electrical engineers, on behalf of Marconi's Wireless Telegraph Company, will shortly leave London for Australia. They hope to establish wireless communication between Tasmania and New Zealand, and between Australia and New Zealand."


text:
Cognitive Science: An Introduction/Serious Games and Crowdsourcing Methods

Some aspects of science require enormous amounts of human labor, too much for the individual scientist to do in their own lab.

Crowdsourcing
One way around this is to hire people to do this labor. This requires coordination and a lot of grant money. It has been made less costly by recent internet applications, such as Amazon Mechanical Turk, which facilitates the hiring of people on the internet for small jobs that can be done through a web browser. The cumulative effort of laypersons working on one task is known as crowdsourcing.

Citizen Scientists
Some crowdsourcing projects work without payment. People contribute simply because they want to. Most open-source software projects are like this. There are also science sites where laypersons can volunteer to help out. These helpers are known as citizen scientists.

Serious Games
If a crowdsourcing project is gamified (made into a game), then some people will play the game, and help out on a scientific project, even if they don't care about the scientific aspect: They will play simply because it's fun. These are serious games. Most of the serious games related to cognitive science are more directly aimed at furthering artificial intelligence research, but some are for understanding the human mind and brain.

In the game Eyewire (2012, https://eyewire.org/explore), players trace cells of the mouse retina in images they see. This has contributed to the discovery of six neuron types. Its successor, Neo, is currently being developed.

The ESP game

Peekaboom

Quanty


text:
User:NairobiPapel/common.css

@font-face{font-family:'Lato';src:url('https://phab.wmfusercontent.org/res/phabricator/06e0c291/rsrc/externals/font/lato/lato-regular.woff') } @font-face{font-family:'Lato-Italic';src:url('https://phab.wmfusercontent.org/res/phabricator/06e0c291/rsrc/externals/font/lato/lato-italic.woff') } p{	font-family: Lato !important; } em, kbd,code,pre,ul, a { font-family: Lato-Italic !important; } code{ padding: 0 5px !important; } /*.mw-wiki-logo{ display: none !important; }

title: User:NairobiPapel/common.css


text:
Oberon/authors

Authors of books or articles on Oberon

A | B | C | D | E | F | G | H | K | L | M | N | O | P | Q | R | S | T | W | Z

A

* Frans Arickx - Frans.Arickx at ruca.ua.ac.be ABV94

B

* Ralph Back BBS96 * Cathy Berthouzoz - berthouzoz at latl.unige.ch BFD95 * G. Blaschek BPS89 * Andreas F. Borchert - borchert at mathematik.uni-ulm.de Bor94 * Marc-Michael Brandis - brandis at inf.ethz.ch Bra95, Bra94, BCF92 * Jan Broeckhove - Jan.Broeckhove at ruca.ua.ac.be ABV94 * Edouard Bugnion BGS94 * Martin Büchi BS96

C

* Régis Crelier - regis at intertrust.com Cre95, Cre94, BCF92, Cre90 * Diane W. Corney - d.corney at qut.edu.au Cor95, CoG94

D

* Pieter J. A. de Villiers - pja at cs.sun.ac.za MuD94 * Andreas Reto Disteli Dis97, DiR97, Dis93 * Günter Dotzel - gd at modulaware.com DoW97, DoG96, BFD95, Dot94 * Piter Dykstra - dka at biogron.rhg.nl Dyk94

E

* David Egan Evans - @DavidEganEvans Ev

F

* Petra Fabian BFD95 * George Fankhauser Fan95 * André Fischer - fischer at inf.ethz.ch FiM98 * Michael Fothe - fothe at asgspez.ef.th.schule.de Fot01 * Michael Franz - franz at uci.edu GuF99, Fra97a, Fra97b, GuF96, Fra96, Fra95, Fra94c, Fra94b, Fra94a, Fra93a, Fra93b, Fra90a, Fra90b * Konrad Froitzheim - frz at informatik.uni-ulm.de GFO94

G

* Jürgen Gesswein - gesswein at informatik.uni-ulm.de GFO94 * Martin Gitsels BGS94 * A. H. Glattfelder QSG95 * H. Goebel DoG96 * John Gough - j.gough at qut.edu.au CoG94 * Robert Griesemer Gri94, Gri93, GPH91 * Jürg Gutknecht - gutknecht at inf.ethz.ch GuF99, Gut97, GuF96, Gut96, Gut95a, Gut95b, Gut94a, Gut94b, Gut94c, WiG92, Gut90, WiG89, Gut89c, Gut89b, Gut89a

H

* A. D. Hapugin NTH94 * Beat Heeb GPH91 * Markus Hof - hof at ssw.uni-linz.ac.at Hof97, Hof95, Hof94 * Frank Hrebabetzky - frankh at terra.com.br Hre97 * Karlheinz Hug - karlheinz.hug at fh-reutlingen.de Hug00, HuK98, KeH98, HuK97

K

* Rochus Keller - Oberon * Helmut Ketz - helmut.ketz at fh-reutlingen.de HuK98, KeH98, HuK97 * Brian Kirk - b.kirk at robinsons.co.uk MLK97, KiN94 * Thomas Kistler - Kis97, FrK96 * M. Knasmüller - knasmueller at bmd.at Kna97c, Kna97b, Kna97a, Kna95 * Kai Koskimies - koskimie at cs.uta.fi MoK96 * Markus Kottmann Kot99, Kot97, Kot96 * U. Kreuzeder MLK97

L

* Spyros Lalis LaS94, Lal91 * Jürgen Lampe - lampe at math.tu-dresden.de Lam98, Lam94 * B. Leisch MLK97

M

* Hannes L. Marais FiM98, Mar96a, Mar96b, Mar94a, Mar94b, Mar91, Mar90 * Hanspeter Mössenböck - moessenboeck at ssw.uni-linz.ac.at Moe98, Moe97, MoK96, Moe95, Moe94, MoW91a, MoW91b, Moe91, Moe90, MoT89 * Bernd Mösli - moesli at arithmetica.ch Mos95 * Jörg R. Mühlbacher - muehlbacher at fim.uni-linz.ac.at MLK97, Mue95 * Pieter J. Muller - pieter.muller at alumni.ethz.ch MuD94, Mul02

N

* David A. Naumann Nau94a, Nau94b * A. E. Nedorya NTH94 * Libero Nigro - nigro at ccusc.unical.it KiN94 * Eric W. Nikitin - enikitin at apk.net Nik97 * Moira C. Norrie - norrie at inf.ethz.ch SuN97

O

* Robert Ondrus GFO94 * Erich Oswald - erich.oswald at ergon.ch Osw00a, Osw00b

P

* Cuno Pfister - pfister at oberon.ch or 101644.1636 at compuserve.com * Gustav Pomberger - pomberger at swe.uni-linz.ac.at TSP94, BPS89 * Dick Pountain - dickp at bix.com Pou95, PoS94, Pou91, Pou90

Q

* Xiaobing Qiu Qiu98, QSW98, QSW97, QSG95, ScQ94, QiS94, GQS94

R

* Atanas Radenski - radenski at chapman.edu Rad94 * Patrik Reali - reali at inf.ethz.ch DiR97 * Paul Reed - enquiries at paddedcell.com Ree * Martin Reiser - reiser at inf.ethz.ch WiR94, Rei92, WiR92 * René Roshardt Ros97 * Paul Roe - p.roe at qut.edu.au RoS97 * Roland Rüdiger - R.Ruediger at FH-Wolfenbuettel.de WeR99, Rue97b, Rue97a, Rue96

S

* Beverly A. Sanders - LaS94, BGS94 * Marco Sanvido - sanvido at acm.org San99 * Günther Sawitzki - gs at statlab.uni-heidelberg.de Saw96, Saw94 * W. Schaufelberger - ws at aut.ee.ethz.ch QSW98, QSW97, ScQ94, QSG95, QiS94, GQS94 * Daniel Scherer - scherer at tik.ee.ethz.ch Sch97 * Oliver Schirpf GFO94 * Peter Schulthess - schulthess at informatik.uni-ulm.de Sch94 * Emil Sekerinski - emil at mcmaster.ca BBS96 * Wojtek Skulski - skulski at xia.com DoW97 * Ralph Sommerer - Som95, Som96 * Christoph Steindl - steindl at ssw.uni-linz.ac.at Ste97 * A. Stritzinger - stritzinger at swe.uni-linz.ac.at TSP94, BPS89 * Jacques Supcik - supcik at supcik.ch Sup99, SuN97, Sup94 * Sergey Zalmanovich Sverdlov - c3 at uni-vologda.ac.ru Sve97 * Clemens Szyperski - cszypers at microsoft.com Szy98, RoS97, PoS94, Szy92, Szy91, Szy90

T

* E. V. Tarasov NTH94 * E. Templ - templ at swe.uni-linz.ac.at TSP94 * J. Templ - jt at swe.uni-linz.ac.at Tem94a, Tem94b, Tem94c, Tem94d, Tem91, Tem90, MoT89 * Stefan Traub Tra94

V

* Tom Van den Eede - vdeede at wins.uia.ac.be ABV94 * Luc Vinck - vinck at kihdn-eunet.be ABV94

W

* J. Wang - QSW98, QSW97 * J. S. Warford - War02 * Markus Weseloh - Markus.Weseloh at gmx.de WeR99 * Niklaus Wirth - wirth at inf.ethz.ch Wir, Wir14, Wir13, Wir99a, Wir99b, Wir98, Wir96a, Wir96b, Wir96c, WiR94, WiG92, WiR92, MoW91a, MoW91b, Wir90a, Wir90b, WiG89, Wir89, Wir88a, Wir88b, Wir88c

Z

* Emil Zeller - emil.zeller at acm.org Zel97 * Helmut Zinn Zn

''22 Jan 2003 - Copyright © 2003 ETH Zürich. All rights reserved.''

E-Mail: oberon at lists.inf.ethz.ch

Homepage: http://www.ethoberon.ethz.ch/

title: Oberon/authors


text: Category:Book:Programming Gambas from Zip


text: Category:Book:Science: A Field Of Wonder


text: Category:Book:Guide to Dayi input

title: Category:Book:Guide to Dayi input


text: Category:Book:Debates in Digital Culture 2019


text: Category:Redirects connected to a Wikidata item


text:
History of wireless telegraphy and broadcasting in Australia/Topical/Biographies/Alfred Harold Masters

Alfred Harold Masters
A comprehensive biography of Alfred Harold Masters has not yet been prepared, however the following resources have been assembled in preparation:

 * Research - Alfred Harold Masters - Summary of research to date

 * Transcriptions and Notes - Alfred Harold Masters - More than 80 transcriptions

 * Photos, QSL cards and other graphics - Alfred Harold Masters - Nothing uploaded as yet

 * Incubator of Wikipedia Article on Alfred Harold Masters - About 30% complete

Pending further progress on the foregoing, the following obituary in the Launceston Examiner for Masters adequately summarises his life "Architect's Death. MR. ALFRED Harold Masters, one of the pioneers of radiotelegraphy and X-ray photography and a brilliant engineer and architect died in Launceston yesterday. HE was aged 77. Mr. Masters, who lived at 18 Forest Rd., was born at Albury. His father, Mr. Joseph Masters, was successively inspector, director and secretary of education in Tasmania. Mr. Masters was one of the first students at the Technical College when it was housed in the Quadrant. Mr. Masters began his career in J. and T. Gunn's architectural department. He later went into business as an architect and consulting electrician. For a time he was in partnership with Mr. Eric North. In 1907 Mr. Masters was appointed secretary and director of the Launceston Technical School, where he also conducted classes in architecture and electricity. He resigned from that position in 1915 and became a member of the Technical College Council. Mr. Masters again conducted classes at the college about two years ago. While teaching at the college he built a wireless set which sent the first Morse Code message over a distance in Northern Tasmania. He contacted a naval vessel down the Tamar. He was beaten by only a few hours in taking the first X-ray photographs in Tasmania. He had a very keen interest in photography and was a member of the Camera Club. Mr. Masters was best known for his architectural work. He designed many of the main Launceston buildings, but later confined himself to residential architecture. He took a prominent part in the formation of the Tasmanian Institute of Architects prior to the formation of the Royal Australian Institute of Architects. He was a keen worker for Christ Church (Congregational), Frederick St., being a deacon for many years. He leaves a wife, three daughters — Joyce (Mrs. Edney Forward) and Misses Muriel and Thelma Masters — and a son, Mr. Alan Masters, Hobart."