OpenLLM-France/wikimedia huggingface dataset:
# Oberon/Computers

| ← Comparing Versions and Pages | ↑ Oberon front page | Contributing → |
| Machine, Oberon variant | Image | Processor | Boot Store | Memory | Persistent Store | Approximate Price, US$ | Notes |
| Ceres, V2 | | NS320xx | 32 kB ROM | 2 MB DRAM | 40 MB Hard disk drive | Rare and collectable; price unpredictable | [1] [2] |
| Intel 80386 PC and descendants, ETH Oberon | ETH Oberon on a Tatung TWN-5213 CU tablet. | i386, i486, P5 and various successors | Hard disk drive | SDRAM | Hard disk drive | Negligible for a disused machine | ETH Oberon is installed and used routinely. |
| A2 Swiss Industry Controller [de], [en] | | FPGA based A2CPU | 16 MB flash | 1 MB battery-buffered RAM, 128 MB DDR3 | | | Oberon mailing list at 2021-11-11 |
| Digilent Xilinx Spartan 3 Starter Board, Oberon V5 | | Xilinx Spartan 3 | SD | 1 MiB SRAM | SD | 100 | Used and NOS boards on the market |
| Digilent Arty A7-100T FPGA Development Board, Oberon V5 | | XC7A100TCSG324-1 | SD | 512 KiB BRAM | SD | 300 | |
| Digilent Nexys A7-100T FPGA Trainer board, Oberon V5 | | XC7A100T-1CSG324C | SD | 512 KiB BRAM | SD | 350 | |
| Pepino LX9, Oberon V5 | | Xilinx Spartan-6 FPGA | 128 MB SPI | 1 MB SRAM | | 100 | Discontinued |
| OberonStation, Oberon V5 | | Xilinx XC3S700AN FPGA | microSD | 1 MB SRAM | microSD | | Website unreachable September 2018. |
| RiskZero | | Spartan-6 FPGA | full size SD, microSD | 4 MB ZBT | full size SD, microSD | refer to Design files and cost. | Prototyping. |
| RiskFive | | Xilinx Artix-7 FPGA | 16-32 MB SPI Flash | 4 MB ZBT | microSD | "expensive" | Motherboard plus FPGA module. Available. |
| Radiona ULX3S, Oberon V5 | | Lattice ECP5 LFE5U-85F-6BG381C (85K LUT) FPGA | 4–16 MB Quad-SPI Flash | 32 MB SDRAM 166 MHz | microSD | 60-140 | Boards with 12K LUT also available. |
| Sun Fire T2000 | | SPARC T-series processor | | | | ?? | |
* ↑ Photo at the ETHZ and the Oberon system.
* ↑ Ceres-1 and Ceres-3 at the Computer History Museum
* ↑ ETH Oberon includes floating point calculations in software, allowing full functionality in absence of a 80387 coprocessor
* ↑ Visible in vertical orientation adjacent to the green PS/2 adapter, in the photo on page 5 of Project Oberon
* ↑ Installation data and instructions
| ← Comparing Versions and Pages | ↑ Oberon front page | Contributing → |
# Oberon/FAQ

| ← Contributing | ↑ Oberon front page | Glossary → |
Also refer to the ETH Oberon FAQ.

## Q0. Why do some Oberon systems have a flat file system? Isn't a tree structured file system indispensable in highly productive (=8~/) contemporary environments?

    A. The tree structured file system came into prominence during the 1950s and '60s when computer memories were miniscule. The tree structure helped with organization of the operating system. Typical memory access is far faster than file access. With current hardware, a data structure can be composed and used in memory with much faster performance than a data structure in a file system. With some focus on choice of meaningful names for files, most users will find the flat file system entirely adequate. Also, an emulated Oberon subsystem can have access to a tree structured file system of the host. Additionally, ETH Oberon running on a bare PC supports the FAT and ISO 9660:1988 file systems, which are tree structured. In reality, a flat file system in Oberon is a benefit rather than detriment.

## Q1. Are Oberon and A2 fundamentally the same while having different interfaces?

    A. Both systems respect the "simple as possible" principle. Otherwise they differ widely.
    Central in Oberon is the task loop implemented in procedure Oberon.Loop. A procedure installed in the loop without backgrounding executes to completion in one pass of the loop. A long-running procedure can appear to the user as a queuing delay. During the long-running procedure, the only activity visible to the user will be output which the programmer has deliberately arranged. To avoid queuing delay, the programmer has the responsibility of implementing background execution. Backgrounding is achieved by dividing a large task into smaller portions which are inserted between other tasks in the loop. Therefore two levels of execution priority exist in Oberon: foreground and background.
    Central in A2 is the active objects system (Aos). Processor time is allocated to active objects by time-slicing. This avoids queuing delay by limiting the time interval which a processor devotes to an active object. Time-slicing removes the responsibility for backgrounding from the programmer. Refer to Wikipedia and the thesis of P.J. Muller, section 4.2.3, page 35.
    A2 has many aspects and capabilities not in preceding Oberons. Refer to the mailing list at 2022-01-07.

## Q2. In ETH Oberon (or A2O) MM+MR opens a viewer with Edit whereas I prefer ET. How can that be fixed?

    A. In ETH Oberon open TextFrames.Mod. MM on Edit.Open.
    In the Oberon sub-system of A2.
    Change
    to
    , MM on Edit.Store, recompile the module (TextFrames.Mod or Oberon.TextFrames.Mod) and reboot. TextFrames and all modules which import it could be reloaded but rebooting is simpler.
| ← Contributing | ↑ Oberon front page | Glossary → |
# Oberon/Support

| ← Glossary | ↑ Oberon front page |
* Gitlab at ETHZ
* The foregoing http://www.ocp.inf.ethz.ch/wiki/OCP/Home has been decommissioned.
* ETH Hall of Fame and additional contributors.
* ETH Oberon Site Map. Formerly hosted at ETHZ and primarily addressing ETH Oberon and preceding systems.
* The Oberon mailing list: https://lists.inf.ethz.ch/mailman/listinfo/oberon
# Ada Programming/Libraries/Ada.Float Text IO

This language feature is available from Ada 95 on.
Ada.Float_Text_IO is a unit of the Predefined Language Environment since Ada 95.

## See also
### Wikibook

* Ada Programming/Libraries/Ada

### External examples

* Search for examples of Ada.Float_Text_IO in: Rosetta Code, GitHub (gists), any Alire crate or this Wikibook.
* Search for posts related to Ada.Float_Text_IO in: Stack Overflow, comp.lang.ada or any Ada related page.

### Ada Reference Manual
#### Ada 95

* A.10.9: Input-Output for Real Types

#### Ada 2005

* A.10.9: Input-Output for Real Types

#### Ada 2012

* A.10.9: Input-Output for Real Types

### Open-Source Implementations

FSF GNAT
* Specification: a-flteio.ads
drake
* Specification: textio/a-flteio.ads
# Bug Bounty Beginner To Master
## Contents

* Preface
* Introduction to Bug Bounty
* Understanding Cybersecurity Basics
* The Bug Bounty Process
* Top Bug Bounty Platforms
* Common Web Application Vulnerabilities
* Identifying Bugs and Exploiting Vulnerabilities
* Reporting and Submitting Bugs
* Ethical Considerations and Legal Aspects
* Bug Hunting Methodologies
* Advanced Bug Bounty Techniques
* Case Studies and Real-World Examples
* Tools and Resources
* Building a Successful Bug Bounty Career
* Final Thoughts

## About the Author

* Mohammad Sheikh Shahinur Rahman is a multifaceted individual from Bangladesh, known for his work as a poet, writer, journalist, software engineer, and Chief Technology Officer at IT Amadersomaj Inc. He has made notable contributions in various fields, including technology, literature, and digital security. His books reflect his diverse expertise, with notable works such as *Bug Bounty Beginner To Master*, *Flutter Beginner To Master*, *Death Or You*, *Mastering Goals: The Path to Achievement and Success*, and *How to Maintain a Happy Sexual Life*.
* Career and Contributions: In addition to being an accomplished writer, Rahman has significant experience as a cybersecurity expert, specializing in ethical hacking, digital forensics, and web application security. He is passionate about helping others understand the importance of cybersecurity, ethical hacking, and the bug bounty hunting process. His works aim to guide readers from beginners to experts in the field, empowering them to explore and succeed in the world of cybersecurity.
* Background: Rahman’s technical expertise is complemented by a strong background in software engineering, where he combines his analytical skills with creative pursuits. His poetry is celebrated for its emotional depth and introspection, touching on themes of life, death, and love. As an advocate for cybersecurity education, Rahman also focuses on teaching individuals how to identify, report, and mitigate security vulnerabilities.

## Key Features

* In-depth coverage of the bug bounty process
* Focus on ethical hacking techniques and methodologies
* Real-world examples and case studies
* A beginner-to-master approach, ensuring you can start from scratch and progress to advanced bug hunting techniques

## Audience

* Beginner hackers looking to enter the world of bug bounty hunting
* Experienced cybersecurity professionals interested in expanding their knowledge
* Anyone interested in understanding the ethical and legal aspects of bug bounty hunting

## Authors

* Mohammad Sheikh Shahinur Rahman
# Programming Gambas from Zip/RadioButtons
## Radio Buttons and Groups

Radio buttons are like the buttons on the old cassette players. When you press down on one the others pop up. They are used for selecting one option among many.
If you have some radio buttons in a form, only one can be highlighted. Click one and the others clear. Even in code if you set one button’s highlight the others will unhighlight by themselves. The value property (boolean) indicates if the button is highlighted. When you click a radio button rb1 rb1.value = true happens automatically. When you click another button rb1.value = false happens automatically.
You might need two sets of radio buttons. To keep them separate, create them in a panel or some other container. Put the panel there first, and then make radio buttons in it, or select all the buttons you want to work together, right-click, and choose Embed in a container.
Another trick is to make them all share their events. Click any of the buttons and one and only one _Click event will fire. This avoids writing separate _Click handlers for each button. One handler does them all. But how do you know which button was clicked? Your one handler will probably want to do something based on which button was selected. This is where Last comes in. Last is the very last object that something happened to or that did something.
There are two sets of buttons, with each set in their own panel. rbRoad, rbSea and rbAir are in Panel1. rbApple, rbOrange and rbPear are in Panel2. The panels are the parents of their buttons. The buttons are their children.
The Group property for the road, sea and air buttons is set to rbTransport. It is as if they are acting like they are one single radio button, rbTransport.
The Group property for the apple, orange and pear buttons is set to rbFruit. It is as if they are one radio button, rbFruit.
Double-click one of the transport buttons (any one). You will find yourself writing a handler for the rbTransport group of buttons. Likewise, double-click one of the fruit buttons and you will find yourself writing a handler that rbApple, rbOrange and rbPear all respond to.
The LCase function makes the text inside the brackets lower case. Run the program and click on buttons.
In the next section, we add the ability to save settings to this program. Whatever state the buttons are in when we close the application will be the state to which they are restored when the application runs next time.
# Programming Gambas from Zip/SaveSettings

This section builds on the Radio Buttons exercise from the previous page.

## Add Settings Saving to the Radio Buttons

Gambas provides a neat way to save settings. Settings can be the path to the last data file, so it does not have to be relocated the next time the program starts. They can be anything the user typed or chose that you want to remember for next time. Here we shall save the selected radio buttons.
First, make sure the Settings component is enabled as part of your project. After starting a new QT graphical project, select Project Menu > Properties…, look through for the gb.settings component and tick it:
Use the same form as on the previous page (RadioButtons) with the fruit and transport buttons, but change the code to this:
Run the program. Select a transport and fruit. Close the program. Run it again: your choices have been restored.
You could have your settings saved when the form closes. Gambas wiki has this example, showing how you can restore the window to whatever place it was last dragged to and whatever size it was resized to when last the program ran:
Me means the current form.
Where are these settings actually stored? In your home folder is a hidden folder for settings called .config . In Linux any file or folder whose name starts with a dot is hidden. Look in .config for the Gambas3 folder. In it you will find a text file with the same name as your program. Open it and you will see the settings file.
Settings are neatly arranged under headings. Now you can see the significance of the string that has the slash in it: the first item is the heading. Settings["Radiobuttons/Fruit"] is the Fruit setting under the Radiobuttons heading.
You need to be careful: the very first time you run your program there may not be a settings file. If your form opens and looks for a particular setting when no settings file exists there will be problems. Test for empty (null) strings.

## Saving a colour, a checkbox and the contents of a TableView

On the form is a checkbox cbSurnameFirst, a panel Panel1, a label with the text “Choose colour:”, a colorbutton ColorButton1, a label Label1 whose text is “Fill”, colour blue and underlined, and a tableview tv1.
Run the program. Fill the tableview with random letters. Choose a colour. Highlight the completely useless button “Surname first”. Close the program. Run the program again. Settings are restored.

### IF Function

There is a special form of the IF...THEN...ELSE statement that saves writing several lines of code. It is in the form of a function. These two are equivalent:
is equivalent to
In the one-line statement, the If(IsNull(colour), &hFFFFFF, colour) is one single thing. It is a number representing a color. Which colour? In the brackets are three items: a test that is either true or false, the answer if the test comes up true and the answer if the test comes up false. The pattern is if( TrueOrFalseThing, ValueIfTrue, ValueIfFalse). &hFFFFFF is the hexadecimal number for White (all red, green and blue LED lights fully on).
This is a sample settings file. On the left the checkbox is unchecked. On the right, the checkbox is checked.
# Programming Gambas from Zip/Afterword
## Afterword

This book is the work of someone who has only picked up Gambas in the last six months. It began as a Christmas holidays project. The only object-oriented programming experience I have had prior to this is with Xojo, another delightful language in which to program, though, unlike Gambas, commercial. Neither has this book been proof read, so there will be errors for sure. Programming is about errors every step of the way. The sample programs have been tested and they work, but even there something may have crept through that needs fixing.
My interest in computers began in 1974 while a student at a teachers college in Brisbane. At that time I was one of a small group whom a lecturer invited to learn programming after hours from an acoustic coupler. The telephone handset was fastened with rubber clips to a teletype and messages went to and from the University of Queensland computer, a massive thing with a whopping 20 megabytes of memory that could handle 64 remote users concurrently. After graduation I went on staff in a primary school in north Queensland, and would often bike over to the secondary school to check out the latest version of a computer language called MBASIC written by some young bloke called Bill Gates.
That was in 1976 and the school was the first in the state to have a computer, a DEC-10. There were no floppy disks in those days: it was all stored on paper tape. It was fascinating to type a command (even the word made you feel powerful) on a keyboard and the paper tape writer somewhere else in the room would punch out confetti from a zigzag strip of paper. It could be read by lights shining through the small holes as they were pulled over the light sensors at the dazzling speed of 300 characters per second.
In one school a staff member couldn’t see what was difficult about using computers to print student reports. “Can’t you just press the PRINT button?” Forty years on I am still writing PRINT buttons. We all pursue the goal of finding the holy grail of programming: one button to rule them all, one button to do everything. Programming has only ever been a hobby, though. That there are people who write languages, database engines and operating systems is awe-inspiring. There are wizards out there. They walk among us. They look like ordinary people.
With that background, can you forgive me for using i and j as names for integer variables? For those who want to, there is http://Gambaswiki.org/wiki/doc/naming where my agricultural standards can be refined. For example,
This book also lacks an introduction to many tools.
Look at them all. All this book provides are buttons, textboxes, labels, grid- and tableviews and forms. The goodies remain in their boxes, unopened, under the Christmas tree. I may find out about them myself someday. They certainly look exciting.
To the person learning Gambas and programming for the first time, good luck.
Thanks again, Benoît and all the writers on forums.
Gerard
Waterford, Ireland, 2019
# Afrikaans/Cover

* Afrikaans ~ English
* Learning the Afrikaans Language
# XSLTForms/setnode

The xf:setnode action is an experimental extension of XForms, helpful for updating an instance document with the output of an XSLT transformation (see the transform function) or with the output of a mixed-content editor (see the discussion of using TinyMCE as an XForms control).
The action is indicated using the xf:setnode element. It has three crucial attributes:
* The ref attribute is a single-node binding attribute which indicates the target node.
* The inner attribute specifies the node(s) which should replace the children of the target node; its value is the serialized XML form of the nodes.
* The outer attribute specifies the node which should replace the target node; its value is the serialized XML form of the replacement node.
The inner and outer attributes are mutually exclusive; one or the other must be specified, but not both. As is usual when representing serialized XML within an attribute value, the left angle brackets and ampersands in the serialized form must be escaped.
The value of the inner or outer attribute is parsed as XML to produce DOM nodes, and the resulting nodes replace either the children of the target node, or the target node itself.

### Example

The following example shows a trigger which replaces an instance named input with a new document.

### Using setnode with transform

A perhaps more common usage of setnode is to update an instance with the result of running an XSLT stylesheet or a mixed-content editor, both of which return strings with the serialized-XML form of their result.
Suppose we have an input instance which the user can modify through the form, and an XSLT stylesheet (make-svg.xsl) which can process the input instance and create an SVG diagram representing some information from the instance. To allow the user to generate a fresh diagram, we could supply a trigger specified as follows:
This assumes that we have an instance named svg, where the output of the transformation should go. It also assumes that there is a switch statement somewhere with a case named picture, which displays the generated SVG.

### Achieving similar effects in standard XForms 1.1

In standard XForms 1.1, one way to achieve similar effects is to submit the string (the serialized XML) to a server which reflects it back unchanged, with the MIME type application/xml (or similar), and specify that the submission updates the instance in question.
The example given above would be rewritten as:
The parse-as-xml submission submits the string value of the svg instance to the server, which reflects it back as XML (so the browser parses it and updates the instance normally):
The CGI script on the server does nothing but return the submitted data, labeled as XML:

### Achieving similar effects in standard XForms 2.0

To achieve similar effects in XForms 2.0, one can use the xf:insert action, using the XForms 2.0 parse function in the value of the origin attribute.
[Example needed.]
# Mambo Open Source/Have more than one Mambo installation on the same server

* TOC
* Chapters
* Home
* Configuration
* Design
* Content
* Development
* Miscellaneous
This is a guide on how to set up multiple mambo installations on one server with only one database.

## What is the ting?

When one wants to set up multiple installations on one server, there are some issues to deal with. The first is the amount of storage on the server. One mambo installation requires at least 8MB, so if you have a small web hotel with only 15 megs, you have already met a definite limitation.
If you have enough storage space, though, it is the database that is the "problem". It is not really a problem though, as there are workaround for this. If you have the option to have multiple databases with your web host, that is surely recommended. This is very easy to manage, and easy to use. But, the most common feature is only one mysql database.

## The problem

The problem is of course overlapping tables. A database consists of many tables, and each of these tables contain data. Mambo has tables like "components", "users" and of course the "content" table. If you want to have two mambo installations on the same sql database, the problem occurs - the databases will overlap and overwrite each other!

## The solution

Mambo has by default a setting called database prefix, that adds a prefix to all the tables. For instance, if the prefix is "mos_" (which is default in mambo - all tables will get this prefix unless otherwise is specified) and the table is named "downloads", the table will in fact be named "mos_downloads".
This prefix is specified during the installation of mambo. By default it is "mos_", as mentioned above, and that is what you should use for your site. Then, when installing the second site - simply change the database prefix! This will ensure that no tables overlap, and that everything runs smoothly.
# Mambo Open Source/Step-by-step installation

* TOC
* Chapters
* Home
* Configuration
* Design
* Content
* Development
* Miscellaneous
This is a guide on how to install Mambo Open Source for a complete newbie. I will assume that you have transferred the files to a compatible server. If not, please read the placing the files page.
This part of the installation ensures that the server is compatible with Mambo and that Mambo will run on it.