OpenLLM-France/wikimedia huggingface dataset:
# The animals speak/Lulu

Lulu is the old gibbon of the park of the golden head, in Lyon. She arrived in 1961. She was for a long time the attraction of the gones (the children of Lyon) because she remained all day sitting on a rock, surrounded by water, where she was thrown peanuts that she caught in flight and then peeled with her exquisitely delicate fingers.
# The animals speak/The ears speak

The movements of the ears are very expressive. Some seem easy enough to understand. Erect ears indicate attention to a potential danger, or to a prey. Ears curved forward suggest submission. But most movements are beyond my comprehension. I have been trying for several years to understand them without much success. They are not necessarily always signals. They may only manifest nervous agitation, a little like scratches. To better understand, I imitate the movements of the ears with my hands, awkwardly, and observe the reactions of the animals. They are generally not impressed by my attempts at dialogue, but it seems to me that the bat-eared fox took me for a handicapped person and that she wanted to show me what an expert can do:
# The animals speak/The elephant of the Gruss family

It was the elephant of the Gruss family who invited me to write this book a few years ago. I had come to spend a beautiful summer day with my daughter, at the Alexis Gruss park in Piolenc, France. The afternoon was devoted to children, in a pedagogical way. They showed not only their circus performances, but also how they trained and how they lived with their animals. The dance master honored us with a waltz lesson to his horses. They obeyed each of his looks, for a few pieces of sugar. I do not know if human beings could dance as well as they. But the most impressive of all was the elephant. Under the tent, more visible than her prowess was her confidence for her mahout. Or rather her love, it seemed to me. She threw him on her head, vigorously placing her foot on a springboard, and proudly received him on her shoulders, looking at us majestically.
After work, pleasure. The mahout was tenderly tending his elephant and gave her every day an hour of mud-bathing, in a stream of water, in freedom in the park, in front of everybody, without any barrier, because she could not hurt a fly. I stared at her for too long, enough to irritate her, without doing it on purpose. Her gaze showed me her nervousness and I said to myself "she is conscious", which is obvious, for who has not lost his common sense, but not for a scientist, trained in Cartesianism (animal-machines, etc.).
My astonished reaction calmed her. I stayed calm and she too. She even showed me her humor. An eight-year-old girl turned her back on her and had not seen her approach. The elephant cuckooed the little girl with her trunk over her shoulder, and slightly frightened her, then she threw me a complicit look.
# The animals speak/Living together

"Live and let live" is the rule universally understood and accepted by all animals. Even predators are no exception. Obviously they do not let their prey live, but those are limited in number and they let live all the others. The lamb can not sleep next to the lion but the bird can, because lions do not attack birds. In the park of the Head of Gold, mothers are not afraid to raise their ducklings in the moat which separates the public from the lion and the lioness, where they sometimes come to drink.
Animals are generally more tolerant than humans. When they break the "let live" rule, they always have a good reason. They fight for food, sex, or possession of territory, but if they do not have such reasons, and if they do not feel threatened, animals simply let other animals live.
# The animals speak/Mallards of the Rose Garden
### The cunning of the broken leg

This mallard came in front of me as a lame, as if his leg was broken. Then he went into the water, where I filmed him, continuing to show me his apparently broken leg. But the leg was never broken. I think he wanted to test my apparent friendship.
# The animals speak/Starry turtles

(Radiated tortoise, Astrochelys radiata)
# The animals speak/The eyes speak

Eye contact is one of the first modes of communication for all animals with visual perception. Everyone sees that it is seen and everyone sees that its reactions cause the other to react. Approaching the animals by looking at them, with the eyes or the camera, always makes them much effect. Be careful. They can be stressed, harassed, even traumatized, simply by being looked at. We can also push them to attack (a dog, otherwise very nice, bit me on the arm when I was eight years old, because I stared at it too long). Never pursue with your gaze a caged animal which seeks to hide, because it is a rape.

### Between pleasure and fear

Animals are generally shared between pleasure and fear of being watched. When the gaze is too tight, they flee to escape the stress:
But curiosity can overcome fear:
That I look at them can even encourage them to come and meet me:
You can also play hide and seek with the look:
Lulu, a grey gibbon, and the dean of the park of the Head of Gold in Lyon, knows how to look at you while hiding her gaze in the shadow:
A mallard has kept the pleasure of being watched:
The ducklings are the least frightened by the gaze of the camera, which is not bigger than them. They came to give it a few pecks:
(unfinished)

### The predatory eye

A camera resembles the eye of a predator, like the barrel of a rifle. Animals generally know very well that an eye which looks at them can be a danger and they do not like to be fixed:
A human being can also feel threatened by a gaze:
Many animals are afraid to look at you in the face:
Prey, above all, do not like to be fixed and avoid looking at you in the face. Predators in general do not have this fear:
The gaze of the feline seems to reveal its predatory instincts:
(unfinished)

### Remote silent communication

A glance is enough to establish communication over long distances:
(unfinished)

### Hello and goodbye

When it leaves you, a giraffe do not cease to follow you with its eyes:
(unfinished)

### The strangeness of the gaze

The gaze of an animal can sometimes seem very strange, because we do not know how to interpret its expressions:
(unfinished)
# VCE Physics/Unit 1
## Description from the Study Design

Ideas in physics are dynamic. As physicists explore concepts, theories evolve. Often this requires the detection, description and explanation of things that cannot be seen. In this unit students explore how physics explains phenomena, at various scales, which are not always visible to the unaided human eye. They examine some of the fundamental ideas and models used by physicists in an attempt to understand and explain the world. Students consider thermal concepts by investigating heat, probe common analogies used to explain electricity and consider the origins and formation of matter. Students use thermodynamic principles to explain phenomena related to changes in thermal energy. They apply thermal laws when investigating energy transfers within and between systems, and assess the impact of human use of energy on the environment. Students examine the motion of electrons and explain how it can be manipulated and utilised. They explore current scientifically accepted theories that explain how matter and energy have changed since the origins of the Universe.
Students undertake quantitative investigations involving at least one independent, continuous variable.

## Comments

The title of this unit is somewhat misleading. It relates most strongly to Area of Study 3 : What is matter and how is it formed which refers to underlying fundamental concepts that underpin the whole of physics. As Feynman said in his famous lectures:
So the title would be apt if the unit kicked off with parts of AoS3 combined with kinematics (how things move) and dynamics (what makes things move). As it stands, this unit starts with thermal physics (AoS1) and that AoS refers to "kinetic energy" when this concept has not yet been covered by this course... it seems to be simply hoping "kinetic energy" is a concept which students have studied previously, understood sufficiently AND remembered!
So, if you are using this book to learn from, or teaching using this book, while this book deliberately follows the Study Design, feel free to start elsewhere. A suggestion would be Unit 2 : Area of Study 1 : How can motion be described and explained. We might add a full suggested order at a later date.

## In This Unit
### Area of Study 1 : How can thermal effects be explained?

* Temperature, and how we measure it
* Temperature, energy, heat and work
* Applying thermal physics to climate science
* An investigation related to thermal physics

### Area of Study 2 : How do electric circuits work?

* Sub sections to be determined

### Area of Study 3 : What is matter and how is it formed?

* Sub sections to be determined
# VCE Mathematical Methods/Inverse functions
## Theory
### The Existence of Inverse Functions

A function has an inverse if and only if it is one-to-one: that is, if for each y-value there is only one corresponding x-value. To test whether or not a function is one-to-one, we can draw multiple horizontal lines through the graph of the function. If any of these horizontal lines intersects with the graph of the function more than once, then the function is NOT one-to-one.
For example, take the graph of the function $f:\mathbb {R} \to \mathbb {R} ,f(x)=x^{2}$.
We can draw a horizontal line anywhere on the graph (except for the turning point at $x=0$) which will intersect with the graph twice. Therefore f is NOT a one-to-one function, and will NOT have an inverse function.
However, consider the function $g:\mathbb {R} \to \mathbb {R} ,g(x)=x^{3}$.
This function IS one-to-one, and will therefore have an inverse function, which we label $g^{-1}\,$.

### The rule of an inverse function

The rule of the inverse of a function f can be found by letting $y=f(x)$, swapping the y and x variables, and re-arranging to make y the subject.
For example, consider g. To find the rule of $g^{-1}(x)$, let $g(x)=y$ Now $y=x^{3}\,$. Swap the x and y variables to get $x=y^{3}\,$. Now take the cube root of each side to get $y={\sqrt[{3}]{x}}\,$. Now let $y=g^{-1}(x)$ and we have:-
$g^{-1}(x)={\sqrt[{3}]{x}}$

### The domain and range of inverse functions

Because, in finding inverse functions, we are swapping the x and y values in each ordered pair, it's logical that the domain of a function is the range of the inverse; and the range of a function is the domain of the inverse.
Thus: ${\mbox{dom}}f={\mbox{ran}}f^{-1}{\mbox{ and ran}}f={\mbox{dom}}f^{-1}\,$
# Visual Studio/Embedded development
## Constraints
### Visual Studio

Not all versions of Visual Studio can work for a particular Windows CE version. In particular, VS 2008 is the upper limit for Windows CE 6 and 7, and only Visual Studio 2012-2015 can be used for Windows Embedded Compact 2013.

### Windows

The major difficulty that you're likely to face is the restriction of Windows versions that you can use to develop and virtually test it.
* For Windows CE 7 and below, Virtual PC 2007 is needed. That version works properly only up to Windows 7. Windows 8 and 10 (32-bit) can install Virtual PC 2007, but you will most likely face issues with booting up Windows CE. The 64-bit versions cannot run Virtual PC 2007, and you cannot substitute with VMWare or VirtualBox (described below). Your only option in this case is to use VirtualBox/VMWare inside your host using a Windows 7 license or earlier, and install Virtual PC 2007 inside the virtual machine.
* For the 2013 version, Hyper V is used, which is only available on Windows Server or Windows 8 + (64-bit). You'll also need a processor which support SLAT.

## Procedure

We assume that you've resolved the issues mentioned above from now on, unless otherwise specified.
* Install the desired version of Visual Studio. Note that if you're only going to use Platform Builder, you can safely deselect the optional components. Install VS2005/VS2008 SP1 as needed.
* Install the Windows Embedded Compact 7 toolkit. While you should select the core components (Platform Builder, Compact Tool Kit and the Silverlight tools), you need not (and should not) download/install all the architecture packs unless you also plan to deploy onto a real device. For Virtual PC, the x86 pack is enough.
* Install Virtual PC 2007.
* Open Visual Studio and create a new Platform Builder project.
* In the next screen, select the Virtual PC BSP.
* Here, you are given the change to customise the OS design or go with one of the suggested templates. No matter which option you choose, you can change it later. For now, we'll select the Enterprise Device>Handheld option.
* You can now complete the wizard. Select the option to build the release config at the last wizard screen. If you have not done that, then go to Build>Advanced Build Commands>Sysgen.
* Open Visual Studio, and select the option to import a vmc file. Locate the vmc default file (typically located at C:\WINCE700\platform\VirtualPC\VM if you've used the default options). After importing, make sure that the network settings are set correctly, this is needed.
* Start the virtual machine, which will soon start giving BOOTME messages.
If you did this using VMWare or VirtualBox, the VM will halt instead saying that the network adaptor is not supported. You may also receive this error if the network adaptor is disabled.
* Go to Target>Attach Device. Platform Builder should soon recognise the VM and start uploading to it.
* You should now see CE7 on Virtual PC 2007.
# Visual Studio/Linux development

Recent versions of Visual Studio have included cross-platform support, notably for Android, iOS and now Linux. As Linux applications cannot (obviously) run natively on Windows, one can either
* use another Linux machine
* use Windows Subsystem for Linux
In this guide, we'll use the latter method as it's more 'native', though those wishing to use the former method can also use this guide.

## Pre-requisites

You'll need
* Windows 10 (64-bit only)
* Visual Studio 2017 or later

## Procedure

* Install the Linux development workload from Visual Studio Installer if you already haven't.
* Install the Windows Subsystem from Linux tools and download a Linux flavour from the Windows Store of your choosing Here's an example guide. Set up the Linux configuration.
* Run the following commands on the Linux bash:
* Open /etc/ssh/sshd_config using a code editor; for example, sudo nano /etc/ssh/sshd_config. Look for PasswordAuthentication and set it to yes.
* Start the SSH service:
* Open Visual Studio and create/import a Linux project:
* Open Cross-Platform Manager, and click Add. Enter the host name as localhost, port number as 22 and enter your UNIX username (not Windows!) and password. If you are not using Windows Subsystem for Linux, enter the host name of the Linux machine that you'll use instead of localhost. If all goes well, you'll see a message telling that IntelliSense is configuring libraries.
You need to have the Linux compiler installed on WSFL! Use appropriate apt-get commands as necessary to install them (eg: sudo apt-get g++). Otherwise, you'll get an error when trying to run (or after clicking Add in the previous step)
* Make sure that the target is set correctly, and then debug as normal. You'll see the output in the Linux Console Window on the bottom of Visual Studio (not in the bash shell or Command Prompt).
If you can't see any output, make sure that your program has at least one waiting state. This is because the Linux Console Window disappears, and its contents erased, when the program stops debugging (it has the same effect as debugging a normal Windows program through VS if you haven't configured it not to close immediately).

## Usage

You can use it much like you'll debug a normal Windows program. The main exception is that features like CPU tracking are restricted, which is because the app is technically run elsewhere - on the Linux subsystem. One can easily set breakpoints, watch, locals and autos as normal. When (if?) a segmentation fault occurs, Visual Studio will halt the program and show the nearest location where the fault could have occurred (like what you'd get if you used gdb and enabled debugging symbols).
It is often possible to customise debugging settings. To do so would be the same as it's done on Windows - by going to Project Settings.
# Visual Studio/Azure

Visual Studio can be used to integrate many services with Azure. Here we present a brief overview of the possibilities.

### App publishing

Apps can be published into Azure. This brings several advantages - for example - web applications can easily be debugged.. The Azure web page says that

### Azure App Services

The Visual Studio website (https://docs.microsoft.com/en-us/visualstudio/azure/?view=vs-2019) contains multiple resources on integrating Azure with Visual Studio, including using Azure App Services amongst others.

### References

* ↑ https://tutorials.visualstudio.com/aspnet-azure/intro
* ↑ https://tutorials.visualstudio.com/first-azure-function/intro
# Visual Studio

Visual Studio is one of the most popular IDEs used to develop programs on Windows. This book aims to provide a high-level overview on what Visual Studio is all about, and describe some of the features which make it very powerful and popular. We also include a small section on Visual Studio Code, though this book is not designed to be a guide for that software.

## Contents

* Need and use
* Installation
* The IDE
* Intellisense and debugging
* Extensions
* Embedded development
* Visual Studio Code
* Linux development
* Python
* Azure
# Visual Studio/Need and use

Integrated Development Environments (IDE) are often used for developing software applications. Their purpose is to provide a space where many of the different faculties a developer might need are available and work seamlessly together. Visual Studio is one of those IDEs.
Visual Studio is an IDE that runs on Windows. While there are many IDEs that function on Windows, Visual Studio has been popular over the years for a few different reasons:
* It's built for Windows and supports the latest tools.
* It has very powerful debugging tools to track down errors.
* It's free: the Community edition (available since 2015) has full feature-parity with the Professional edition; and it has 90% of the features of the Enterprise edition.
* It supports a wide variety of languages and suits for many use cases.
But it's not all glitter and gold:
* It consumes a lot of space. Depending on what you want, you may need anywhere from 5 GB to 80 GB!
* Being very powerful, its UI could be intimidating for new users. Such users may be better off downloading an older Express edition (more on that later)
* The Enterprise edition is very costly.
So assuming that you jump on the VS bandwagon, which edition do you get? It's actually easy; since the 2015 edition, VS has only three major editions:
* Community: The free version, this will likely meet the needs of the vast majority of today's developers. However, there is a catch; you cannot use this edition as part of a large company unless you are into open-source. Hobbyists and the wannabe developer shouldn't face any problems.
* Professional: It's just the Community version with the usage limitations removed.
* Enterprise: The most advanced version of VS, it includes virtually all features that a developer would ever need. Developers who buy this edition generally know what they are getting to.
Most of the Professional and Enterprise editions include MSDN. This's actually a big deal as it allows you to obtain many software licenses for free for development purposes. Check the Visual Studio website for more information.
For versions before 2013, the Community edition was precluded with the Express edition (from 2005). These editions are packaged per-language (before 2012) or per-usage (2012 and 2013; eg: Desktop, Store etc). However, unlike the Community edition, the Express editions are beset with significant feature limitations. However, they are also significantly easier to use, and you may prefer them when starting to the programming world.
The Premium version used to exist before the 2015 edition and was a cross-over between the Professional and Enterprise editions, but that is now discontinued.
So now that you want it, how do you get it? For the latest version, go to the Visual Studio website and download the installer you need. However, the 2017 installers onwards are highly customizable and hence deserving of its own section. We'll see this on the next section.
# Visual Studio/Extensions

Like most other programs of its genre, Visual Studio supports the use of extensions to further the capabilities of the program. Note that Extensions are supported in all editions of Visual Studio except the Express editions (the free Community edition can install extensions).

## For all versions

For all versions of Visual Studio, extensions can be installed via the classic method: by downloading the extension's installer from the publisher's website and installing it, which will register the extension with Visual Studio.

## Using Extensions Gallery

From Visual Studio 2010 onwards, it is additionally possible to install extensions using the Extensions Manager. Note that a restart of Visual Studio is required before the installation starts for most extensions.
Using this method allows VS to monitor updates to the extensions and inform users of any new updates, making it easier for users to update extensions. When an update to an extension is released, the user is given a notification and can update the extension from the Extension Manager.

## List of (useful) extensions

References:,.
Note that not all extensions are free; some are paid. Not all extensions listed below install via Visual Studio's Extension Manager and must be installed manually. It goes without saying that this list is non-exhaustive; if you find one that isn't listed here, you can add it below.
* Roslynator
* SideWaffle Template Pack
* Power Commands for Visual Studio
* Resharper for Visual Studio
* SlowCheetah
* Web Essentials
* Devart
* CodeMaid
* OzCode

## References

* ↑ https://blogs.msdn.microsoft.com/saraford/2010/03/11/how-to-install-visual-studio-extensions/
* ↑ https://medium.com/@thiagoloureiro/some-of-my-favorite-visual-studio-extensions-877f44097f0d
* ↑ https://blog.elmah.io/list-of-the-best-free-visual-studio-extensions/
# Using an Abacus/Basics
## Types of Abacus

There are many sorts of abacuses from different times and places. In modern times, the ones most used are:
* The Chinese abacus, the suanpan. It may have 7, 9, 11 or 13 rods. Each column has 2 upper beads (quinary) and 5 lower beads (unary), separated by a bar passing through the abacus.
* The Japanese abacus, the soroban. 9, 11, 13, 15, 17, 21, 23, 25, 27, 29 or 31 rods. 1 quinary and 5 unary beads. Reference point.
* The modern soroban (since 1922, gaining popularity from 1945 onward). 9, 11, 13, 15, 17, 21, 23, 25, 27, 29 or 31 rods. 1 quinary and 4 unary beads. Reference point.
The above is a Japanese Soroban with a zeroing mechanism. By pressing the button two levers push the top beads up, and the other beads down, resetting the abacus.
The reference points allow the user to choose one rod as the base rod that counts multiples of one. This is very useful when calculating with decimal numbers or with numbers that end with zero.
This course uses the modern soroban with as many rods as necessary for the examples.

## Unary and Quinary Beads and Activation

The unary beads are the lower beads, and they represent one unit each. The quinary beads are the upper beads, and represent five units each. Beads are counted when they are pushed to the central bar and are then said to be activated.

## Representing Numbers

The numbers from 0 to 9 are represented as follows:

#### Soroban

4+1 abacus number representation :
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |

#### Suanpan

5+2 abacus number representation :
| 0 | 1 | 2 | 3 | 4 | 5 | 5 | 6 | 7 | 8 | 9 | 10 |
| 10 | 11 | 12 | 13 | 14 | 15 | 15 | 16 | 17 | 18 | 19 | 20 |