OpenLLM-France/wikimedia huggingface dataset:
# Introduction to Python Programming/Python Programming - Control Structures
## 4. Control Structures

A set of actions define the flow of events as decided by the flow chart. Within Python programming, none “None” values return True while variables with “None” values return False.

### 4.1. If statements

The simplest control if statements return the value True when a condition is met. There is the simple one line if condition, followed by the if-else, and continued by the if-elif statements.
print "yay! the variable is truly 100!!!"

### 4.2. For Loops

The “for” loops in Python executes a certain block of code for a known number of iterations. The specialty of “for” loop in Python is that the block of code can be iterated for the number of items existing within a list, dictionary, string variable, over a particular range of numbers in counted number of steps, and for the number of items existing in a tuple.
print "the value of "+str(i)+" is "+str(i)

### 4.3. While Loop

The while loop is executed till a conditional statement returns true. The conditional statement is evaluated every time before a block of code is executed, and the execution stops the moment the conditional statement returns false.
# Introduction to Python Programming/Python Programming - Functions
## 5. Functions

A function within Python is a set of code that performs a single utility and may or may not return a result. Functions provide methods of breaking up complex code into reusable blocks of code which can be used as building blocks of different programs. Python already provides for a lot of inbuilt functions such as print, input, etc. You can write your own Python functions called user defined functions.

### 5.1. Defining a function

Like stated earlier, one can write a set of code to perform certain utility. The following rules provide a guideline for writing your own function. Functions are executed when they are called by their user defined function name.
Function blocks start with the keyword “def” followed by the user provided function name and parentheses. The inputs that user provides to the function are placed within the parentheses, further extrapolating the parentheses can be used to define new parameters to be used within the user defined function. Python provides for documentation that be used to describe the function, author, date of creation, and the purpose of the user defined function, etc. The documentation of the user defined function can be accessed by using the __doc__ keyword after the user defined function name. The keyword return is used to exit the function, optionally passing an expression to the caller of the function.

### 5.2. Syntax

Code block
Example

### 5.3. Function Arguments

A function can be called by using passing the arguments in the right order, mentioning the keyword arguments, default arguments, variable length arguments.
Variable length arguments can be passed to the function using the *. Example is provided below.

### 5.4. Scope of variables

There are two types of variables that are defined within the scope of the function that they are used. Variables within a function are local to the function and are called local variables with respect to the function and the global variables are defined outside the scope of the variables.
# Khepera III Toolbox/The Toolbox/Modules/commandline

The commandline module parses command line values and provides a simple interface for accessing the values. The module expects the command line arguments to consist of
* options with exactly one value (key-value pairs), e.g. -s 10000 or --speed 10000
* options without value (just keys), e.g. -h or --help
* an argument list, holding all values that were provided without a key
As an example, the command line
would result in one key (--white-floor), one key-value pair (--speed 15000) and three arguments (10, 12, 10).

## Description

commandline_register_option registers an option with a specific type. By default (for all options that are not explicitly registered), an option is of type cCommandLine_Option_Value and "eats" the next command line argument. E.g. the command line:
would be parsed as one key-value pair (--white-floor 15) by default. If --white-floor is registered as cCommandLine_Option, however, the same line will be parsed as one option (--white-floor) and one argument (15).
Once all necessary options have been registered, commandline_parse can be called to parse the command line. Subsequently, the function commandline_option_value and its _int and _float versions can be used to access option value, while commandline_option_provided returns whether the option has occurred on the command line or not. To access the arguments, commandline_argument and its _int and _float versions are available. The index must be smaller than the number returned by commandline_argument_count.

## Option Hooks

Alternatively, a program can register a hook with an option:
The hook function will be called each time the corresponding option appears on the command line. Note that the function will be invoked more than once if the user provides the same option multiple times.
# Khepera III Toolbox/Network Setup
## USB

The USB port on the Khepera III robot can be used to establish a network connection between the robot and a Linux computer. Start by connecting your robot and your computer with a USB cable.

### Connecting for the first time

If you just bought your Khepera III robot, the USB network interface is disabled. To enable it, connect your robot with a serial cable (using a KoreConnect, for example), log in with username "root" and type:
The first line loads the driver, while the second line configures an IP address. On your computer, you can now set a corresponding IP address by typing
in a terminal, or using your network configuration program. (Note that "usb0" might be called differently on some computers. To get a list of all network endpoints, simply type "ifconfig".)

### Connecting after the install scripts have been run

On a Khepera III robot on which the install scripts have been run, the USB network interface will automatically appear with IP address 192.168.1.2 when you connect the cable. Hence, you only need to configure your computer by typing
in a terminal, or using your network configuration program. (Note that "usb0" might be called differently on some computers. To get a list of all network endpoints, simply type "ifconfig".)

### Testing the connection

To test if the connection works, type
on your robot, or
on your computer. Ping should work in both directions.

## Wireless LAN (802.11)

If you are working with more than one robot, or if you want to communicate with your Khepera III while it is running an experiment, you will probably put a WLAN card in the available CompactFlash slot. This adds a new network interface, which is not configured by default. There is an install script, however, which automatically adds the necessary configuration and configures the interface with an IP address 192.168.141.ID, where ID corresponds to the robot ID.
# Khepera III Toolbox/Parsing Program Output

The Khepera III Toolbox (notably the programs) uses NMEA 0183 messages as output data format. NMEA 0183 is a message-oriented communication protocol known from GPS receivers, which is about equally simple to read for humans and for computers.

## NMEA 0183 Messages

NMEA 0183 is a communication standard specifying electrical characteristics as well as data format characteristics. Here, we are only using the message format of NMEA.
An NMEA message (or sentence) looks as follows:
Messages always start with a $ sign, followed by a command and a list of arguments. The command as well as the arguments are separted by commas. Optionally, the message contain a trailing checksum (e.g., *4D), but none of the Khepera III programs writes this checksum.
The original NMEA specification does not allow the command to be longer than 5 characters. The Khepera III toolbox, however, does not use this restriction in favor of longer and more explicit command names.
A stream of NMEA messages can contain different types of messages, e.g.
which is very handy for reporting results.

## Advantages of NMEA 0183

The NMEA 0183 message format has several advantages:
* It is human readable.
* It is easy to parse by computers and the checksum (if any) is easy to calculate.
* As it uses a start of message character ($) and an end of message character (CRLF), you can break a data stream apart at any point, and the parser will be able to resynchronize (i.e., read all complete messages).
* It starts with a message type and therefore allows messages of different types to be interleaved in the same stream.
* It optionally allows for a checksum, which is useful when the data is transmitted over lossy channels.
* It can be converted to a CSV file with search-and-replace (see below).

## Converting NMEA messages to CSV with a Text Editor

If you have a file with messages of one single type, e.g.
you can use any text editor to transform it into CSV. Simply replace $SPEED, by nothing, and save the file. The resulting file can be loaded in almost any program (Matlab, Microsoft Excel, ...).

## Converting NMEA messages to CSV with k3-nmea-to-csv

Instead of using a text editor, you can also use the k3-nmea-to-csv filter script to convert NMEA messages to CSV. Just pipe your file through that script, by providing the NMEA command of the messages to extract, e.g.:
All messages that are not of type SPEED will be ignored.
Note that you can use this filter script with any program to convert its output to CSV. For example,
would output the IR proximity sensor values as CSV.

## Parsing NMEA with Scripts

NMEA can easily be processed with Perl, Python, Ruby or similar scripting languages. Example scripts can be found in the Examples section.

## Parsing NMEA on the Robot

The modules section contains an NMEA parser (module nmea) written in C with can be used to parse NMEA messages on the robot. This can be useful to read a configuration file, for instance.
# Khepera III Toolbox/The Toolbox/Install Scripts

The folder InstallScripts in the top folder of the Khepera III Tools contains scripts to set up a couple of useful things on the robot. These scripts require a Khepera III robot to be connected via USB to the computer.
Before launching the install scripts, we suggest you to set up SSH public key authentication between your computer and the robot. This can be done with one of the Khepera III Toolbox scripts:
To launch all install scripts, type
If you are launching this install procedure for the first time with your robot, the script will first ask you to give your robot an ID. This ID is used to assign a WLAN IP address for the robot, and may also be used by programs running on the robot as a unique identifier of the robot. Needless to say that this ID must be unique among your fleet of robot. If the robot has been given an ID before, the same robot ID will be used.
If your robot is not connected via USB, but some other mechanism, invoke the install script with the IP address of the robot, e.g.:

## Default Install Scripts

The install script will invoke the following three install scripts (which can also be executed separately if necessary):
* install_robotid SSHHOST ROBOTID: Sets up the robot ID. Invoke this script separately if you wish to change the robot ID of a robot which already has an ID.
* install_profile SSHHOST ROBOTID: Copies a bash profile with a bunch of useful aliases (l, .., ...) onto the robot.
* install_network SSHHOST ROBOTID: Sets up the WLAN network interface. The IP address assigned to the interface is 192.168.141.ROBOTID.

## Creating Your Own Install Scripts

In some circumstances, you may want to install your own things in addition to the default install scripts. To do that, take a copy of install_my_own_stuff.template and write your install commands in there. Do not forget to add your script to install.
# Khepera III Toolbox/The Toolbox

The Khepera III Toolbox offers mainly three types of tools:
* Scripts: Scripts make your daily work with the robot(s) more efficient by offering easy ways to copy files (e.g. programs) onto multiple robots, logging in to robots, and so on.
* Programs: The Programs folder contains a series of useful standard programs for the Khepera III robot. Among them are programs to sample the sensors, set the motor speed, and track the robot's position with odometry measurements. In addition, these programs may serve as starting points for your own programs.
* Modules: This folder contains modules to conveniently access the sensors and actuators on the robots (Modules/khepera3) and a series of other functions. These modules are used by the available programs and can be used in your own programs as well.
In addition, there is a fourth folder which is less frequently used:
# Khepera III Toolbox/The Toolbox/Modules

The Modules folder contains code libraries with functionality useful in many programs. These modules are used by the programs in the Programs folder, and can also be used in your own programs that you write for the Khepera III robot.

## Module List

* commandline: A simple command line parser.
* i2cal: An easy-to-use interface for I2C communication.
* i2c stream: An interface for I2C data streaming.
* khepera3: Functions to access the sensors and actuators of the Khepera III robot. This module requires the i2cal module.
* measurement: A general interface for all programs reporting sensor values.
* nmea: A NMEA parser.
* odometry track: Tracks the robot position (x, y, angle) by measuring the wheel rotation. This module requires the khepera3 module.
* odometry goto: Drives the robot to a specific position (x, y). This module requires the odometry_track module.
# History of wireless telegraphy and broadcasting in Australia/Topical/Biographies/William Trevor Watkins/Research

To date all research has been very largely limited to NLA's Trove, and further to Trove, Newspapers & Gazettes
In the National Library of Australia's Trove website, more than 300 articles (Newspapers & Gazettes) have been tagged as "7AA-7DX - William Trevor Watkins" (search publictag:7AA-7DX - William Trevor Watkins)
The main searches used to identify articles for tagging are as follows:
* With phrase "W. T. Watkins", State "Tasmania" (40 hits)
* With phrase "T. Watkins", State "Tasmania", from 1899 (700 hits)
* With phrase "Trevor Watkins", State "Tasmania", from 1899 (237 hits)
* With words "Watkins" and "Wireless", State "Tasmania", from 1899 (1789 hits)
Key articles relating to Watkins and wireless, also Watkins' family history, have been identified for text correcting and inclusion in Transcriptions and Notes - William Trevor Watkins. Articles transcribed for Notes are tagged: "!Wikibooks 7AA-7DX" (205 articles). Articles reviewed and considered either duplicates of other articles or not of sufficient importance for inclusion are tagged: "!Wikibooks 7AA-7DX Not" (68 articles).
# History of wireless telegraphy and broadcasting in Australia/Topical/Biographies/William Philip Bechervaise/Wikipedia

William Philip Béchervaise (b. 28 October 1831, d. 20 November 1907) was born in Hampshire and was amongst the tens of thousands who travelled to Victoria in the 1850s in search of gold, but then decided to remain. He was the first of that surname to arrive in Australia. He was was nearby to the Eureka Stockade and professed to having been "bunted" by a trooper. Appointed to the Victorian Posts and Telegraphs Department in 1856, he was soon promoted as Telegraph Master at Ballarat in 1858, later combining the role as Postmaster. He remained with the Department in Ballarat till retirement in 1892, excepting for two years when he was transferred to Melbourne to reorganise that office. One of Australia's earliest telephone and telephony experimenters in 1878. As a member of the Telegraph Electrical Society of Victoria from inception in 1874, he was a contemporary of Samuel Walker McGowan, Peter Robert Challen and Henry Sutton. Famously exposed, in parliamentary enquiry, the nepotism within Victorian Posts and Telegraphs in the 1880s.

## Parents and siblings

The Bechervaise surname (spelling is Béchervaise in French) derives from the island of Jersey in the Channel Islands and continues there to this day. His father was John Béchervaise (b. 1790, d. 1867) was born in Jersey, but migrated early to Gosport, Hampshire, England married twice and raised his children there, to the extent that was possible for a sailor. His first wife was Sarah Price (b. 1793, d. 1846) and they had 8 children together, with William Philip Bechervaise being the seventh child and fifth son. Following Sarah's passing, he married Charlotte Frisby (b. 1811, d. 1891) and they had one son. His voyages included time in arctic waters, and as a result he was one of of a large group awarded the first British Arctic Medal of 1818–1855. He published an anonymous memoir Thirty-Six Years of a Seafaring life by An old Quartermaster in 1839 which was widely distributed and well received. Some sources misspell his name Berchervaise. The children were as follows:
* Charlotte - b. 1813, Gosport, Hampshire; d. 1897, Wareham, Dorset, England
* John - b. 1814, Gosport, Hampshire
* Sarah - b.1815, Gosport, Hampshire
* Samuel - b.1821, Gosport, Hampshire;
* Henry - b.1825, Gosport, Hampshire; d. 16 Apr 1901
* Edward Price - b.1829, Gosport, Hampshire
* William Philip - b. 28 Oct 1831, Hampshire; d. 20 November 1907, South Yarra, Melbourne, Victoria
* James - b. 20 May 1836, Alverstoke, Hampshire
* John Savage - b. 1847, Portsea, Hampshire; d. 15 Mar 1917

## Wife and Children

Bechervaise married Lucy Ann née Burton at Victoria in 1858. Lucy was born 7 July 1842 at Hobart, Tasmania to William Henry Burton and Christiana née Burch.

## References

* ↑ Thirty-six Years of Seafaring Life. Portsea, Hampshire: Printed and published by W. Woodward; and sold by Longman & Co., London. 1839.
# History of wireless telegraphy and broadcasting in Australia/Topical/Categories/Coastal

Overview
Individual Stations
Island Stations
* Nauru
* Rabaul (Bita Paka)
* Samarai
New Zealand Stations
* Wellington
* Awarua
Pacific Stations
* Apia
* Ocean Island
* Yap
# MeGUI/Guides/Installation
## Description

This is a guide for installing MeGUI.

## Prerequisites

* The MeGUI zip file, which you can download at Sourceforge.
* Microsoft .NET Framework 4.0
** This allows programs written in .NET languages, such as C#, to run on your machine. It's available as a small download from Microsoft, here.
* Avisynth
** This is a powerful framework that enables script-based frame serving, editing, and manipulation of video files.
** MeGUI currently ships with AviSynth+ MT, which continues to be developed, primarily by pinterf.
** Alternatively:
*** the latest stable version of mainline AviSynth can be downloaded from Sourceforge;
*** the latest multi-threaded version of AviSynth can be found here;
*** single-threaded AviSynth+, here;
*** pinterf's multi-threaded version of AviSynth+, in case you want to stay current ahead of MeGUI's update server/install system-wide, here;
*** with the AVS+ forum thread being here.

## Installation

* Install the Microsoft .NET framework and, optionally, AviSynth.
* Extract the MeGUI zip file.
** To avoid User Account Control and elevation issues, don't unzip to C:\Program Files\ or C:\Program Files (x86)\. Instead, consider putting the MeGUI folder in C:\, C:\*nameofdirectoryhere*\, your C:\Users\*username*\ folder, or basically anywhere else that doesn't require administrator privileges.
** For convenience, you can then make a shortcut by right-clicking MeGUI.exe, hovering over 'Send To', and clicking 'Desktop (create shortcut)' in the sub-menu that pops up.
* Launch MeGUI.
* Go to Options -> Update to make sure you have all the latest versions of packages.

### AAC

The optional freeware Nero AAC encoder was originally the only AAC encoder supported by MeGUI. Development on it has long since ceased, and it is no longer available through Nero's website. Apple's AAC encoder, bundled as part of iTunes, is generally considered superior, and an easy-to-use frontend for it called QAAC can now be used with MeGUI. To enable QAAC:
* Install iTunes, or extract the AppleApplicationSupport.msi file from the iTunes installation exe and install that.
* Launch MeGUI.exe, go to Options -> Settings -> External Program Configuration, and check Enable QAAC under the Misc section.
* QAAC will be downloaded by the MeGUI the first time you try to use it.
If you would really like to use Nero's old AAC instead:
* Download it from VideoHelp into the MeGUI folder you just created.
* Extract the neroAacEnc.exe in the win32 folder of the zip file and copy it to tools\eac3to folder in the MeGUI directory.
* Launch MeGUI.exe, go to Options -> Settings -> External Program Configuration, and check Enable NeroAacEnc. For the Location, select the neroAacEnc.exe you just copied to the "tools\eac3to" directory.
# MeGUI/Guides/iPod Conversion Guide/Video
## Basic Info

This section will walkthrough the encoding of an iPod-compatible video file using either Xvid or x264. You can't just use any settings to encode for the iPod, there are limits as it is a portable device and not capable of everything. Here's a table of the more generic restrictions.
iPod touch (4th generation) video specifications :
| | MPEG-4 AVC | MPEG-4 ASP |
| Bitrate | No restriction | 25000 kbps |
| Frame rate | 30 fps | 30 fps |
| Profile | Main @ 3.1 | Simple |
| Max resolution (pixels) | 1280 by 720 | 640 by 480 |
| Max 4:3 resolution (pixels) | 960 by 720 | 640 by 480 |
| Max 16:9 resolution (pixels) | 1280 by 720 | 640 by 360 |
| Container | .m4v, .mp4, or .mov | .m4v, .mp4, or .mov |
According to the table, AVC support is significantly better than ASP, so you are encouraged to use AVC.
Note: In your AVS file you will need to resize your video to iPod Standards. You can go below these standards if you like, but not above.

## x264 Preset Setup

We will set up an encoding preset for convenience.
* Open MeGUI to its main window.
* Select x264: *scratchpad* in the codec drop down list. Click "Config".
* Under Target Playback Device, select iPhone 4, iPad 1/2, iPod touch 4/5 in the drop down list.
* Click "New" under "Presets", type in "iPod".

## Encoding

Once you have finished creating your presets, you can use them! Return to the MeGUI main window.
* Select your Video Profile first. Use x264: iPod for X264 output.
* Open your AVS script if you have it, and create if not.
** When you are creating the AVS script, you must resize it to 1280 lines, or your iPod will not play it.
* Now, select RAWAVC for your container.
* Calculate your bitrate using Bitrate Calculator. Click "Yes" when asked if you want to copy calculated bitrate into video settings.
* Check that the input AVS script is OK with your iPod. Go to Tools -> AVC Levels Checker.
** If it outputs "This file matches the criteria", then you are good and click "OK".
** If it outputs other things, then there's something wrong. Make sure your source file is less than or equal to 1280 px by 720 px, or make another AVS script using the "Resize" feature in AVS creator.
* Finally, select your Video Output location. Remember that your encoded video will have an extension of ".264".
* Click Queue.
Once you've done this you will need to wait for all the audio and video encoding to finish before you move onto the last step, which is muxing the files together.
Main Page Setup Audio Video Muxing
# MeGUI/Guides/iPod Conversion Guide/Muxing
## Basic Info

This will cover the requirements of muxing a iPod capable MP4 file with an audio stream, a video stream, and an optional chapter stream.

## Muxing

* Open MeGUI. Click Tools. Scroll down to Muxer. Click MP4 Muxer.
* Under video input, browse for your encoded ".264" video file. Leave the Name section blank for safety.
* Under audio input, browse for your encoded ".mp4" audio file.
* Under chapters, you can add your optional chapter file.
* Under output, select your target device in "Device type" (iPod or iPhone).
* Scroll down to Muxed Output. Select your file destination. Click Queue.
When you are done, load the file into iTunes and transfer it to your iPod. Happy Viewing!
Main Page Setup Audio Video Muxing