OpenLLM-France/wikimedia huggingface dataset:
# Final Fantasy VII/Ancient Forest
## Ancient Forest Puzzles

The puzzles here aren't very difficult, as long as you figure out the gist of things before too long. The enemies are annoying, but not impossible if you're strong enough to destroy the Ultima Weapon - which is, of course, the only way to reach the Ancient Forest without doing a whole lot of chocobo breeding. The basis of the puzzles are as follows:
* Pressing [OK] when facing one of the jumping insects or frogs picks it up. Pressing [OK] again while holding an insect or frog drops/uses it.
* You can reset the puzzle at any time by pressing Square. You can also reset any given screen by leaving the screen and returning.
* Dropping an insect in front of a hole that emits a frog sound will replace one insect with one frog. This can only be done once per reset.
* If you drop a frog or insect in front of one of the hanging pitcher plants, the insect or frog is eaten by the plant and you can jump on top of the plant. After a short time, the plant will eat the insect or spit out the frog.
* If you stand on top of a pitcher plant that has eaten a frog, when the plant spits out the frog, it also sends you flying in a pre-set direction. You can clear some otherwise un-jumpable gaps in this fashion.
* The giant piranha plants must either be avoided or fed one of the bowling-ball-sized fruits that can be found up high in some screens. They hurt a lot if you step on them. However, if you are very careful, you can swipe the item from inside the first piranha plant without getting eaten.
* The flowers with hanging purple vines will launch you in a preset direction if you can reach them.
There are several very nice items in the forest - including a triple AP growth sword for Cloud that does very good damage as well - and it's possible to get them all with a bit of work. You may want to have a character with maximum hit percent though; the plant creatures have absurdly high evade scores. Magic usually does the trick as well.
# FreedomBox for Communities/Troubleshooting Guide

This document describes the some of the frequently occurring or important known problems that occur while setting up FreedomBox in villages. Solutions or workarounds are noted too. It should be helpful to anyone trying to debug a problem during setup or operation of FreedomBoxes in villages.

# Can't connect to FreedomBox

When you are unable to connect to FreedomBox via Wi-Fi, most of the time only way to reach FreedomBox is to use a TTL-to-USB link and get a serial console.

## How to connect pin's to the cable

| Wire Colour | Purpose |
| White | TX |
| Green | RX |
| Black | GRND |
| Red (don't connect) | PWR |
Warning: Never connect Red (PWR) wire when connecting the TTL-to-USB cable. This will burn out the board or the converter.

# Firmware load error connecting multiple TP-Link AR9271 wireless devices to olimex

When we connect 2 or more TP-Link AR9271 wireless devices to olimex board its likely that we will see this error.
usb 5-1: firmware: failed to load ath9k_htc/htc_9271-1.4.0.fw (-2)usb 5-1: Direct firmware load for ath9k_htc/htc_9271-1.4.0.fw failed with error -2
lsusb will list all the devices but won't create wireless wlx***** device, please check check with ip a command. Main cause of this problem is lack of sufficient power to TP-Link devices. To solve this issue connect all TP-Link wireless devices to USB extension with external power [This is very important because by default power is supplied to TP-Link devices via olimex board through USB cables, since they are directly connected and olimex can't provide addition power (Need to work on exactly how much power is required and is supplied) we have to provide external power which can be activated by using USB extension with power].
# FreedomBox for Communities/Offline Wikipedia

Offline availability of Wikipedia pages, Project Gutenberg, Stack Exchange and other content can be useful for education, especially in situations where Internet connectivity is intermittent or when the bandwidth is congested or metered. It could also be suitable for a class room that might otherwise not have Internet access.
Kiwix is an application that can serve a web interface on which users can browse pages and search them.

## Installing Kiwix

Install Kiwix on the FreedomBox server machine by following these instructions.
* Download and install kiwix-tools from Kiwix website. Do this as the root user. sudo su - cd wget https://download.kiwix.org/release/kiwix-tools/kiwix-tools_linux-x86_64.tar.gz tar -xf kiwix-tools_linux-x86_64.tar.gz cp kiwix-tools*/* /usr/local/bin Explanation: Kiwix used to be available in Debian package repositories, but isn't anymore. The workaround is to install via tarball, as described above. However, the tarball method may make it hard to update or uninstall Kiwix, should this become necessary. Alternatively, it may be possible to use a flatpack, but this is untested. The potential benefits would be the usual ones gained from using a Package manager.
* Create a folder for holding Kiwix library in the /srv folder (this can be separate disk so that it can hold larger volumes of data). mkdir -p /srv/apps/kiwix
* Download files from Kiwix content download page. cd /srv/apps/kiwix wget http://download.kiwix.org/zim/wikipedia_en_simple_all_nopic.zim
* Create and add the .zim files to a library file. Add as many .zim file as you wish in a similar way. kiwix-manage /srv/apps/kiwix/library.xml add /srv/apps/kiwix/wikipedia_en_simple_all_nopic.zim
* Setup kiwix web service to run on the system as soon as the system starts. addgroup --system kiwix adduser --system --ingroup kiwix --home /srv/apps/kiwix --gecos 'Kiwix - Offline Wikipedia' kiwix cat << EOF > /etc/systemd/system/kiwix.service [Unit] Description=Kiwix - Offline Wikipedia After=network.target [Service] ExecStart=/usr/local/bin/kiwix-serve --library --port=4201 --urlRootLocation=/kiwix /srv/apps/kiwix/library.xml User=kiwix Group=kiwix [Install] WantedBy=multi-user.target EOF systemctl daemon-reload systemctl enable kiwix systemctl start kiwix
* Create Apache configuration to forward requests on /kiwix to kiwix. cat << EOF > /etc/apache2/conf-available/kiwix.conf <Location /kiwix> ProxyPass http://localhost:4201 </Location> EOF a2enconf kiwix systemctl reload apache2

## Adding new content repositories

* Login as root user and download files from Kiwix content download page. sudo su - cd /srv/apps/kiwix wget <url_to_zim_file>
* Add the .zim files to a library file. kiwix-manage /srv/apps/kiwix/library.xml add </path/to/zim/file.zim>

## Accessing Kiwix

Visit the URL http://<myfreedombox.domain>/kiwix/ . You should see an interface showing a entry for each of the .zim file added. Select the entry to start browsing the content of the .zim file. There is also a search interface available to allow you to search within all of the offline content available.
* ↑ https://wiki.kiwix.org/wiki/Debian
# Freefem
## FREEFEM: a PDE solver
### Summary

The project freefem has two branches: the 2D solver (freefem++) is mature and well documented and used by many while the 3D solver (freefem3D) is still under construction but one is welcome to use it.
The code is open source and can be downloaded from the freefem web site
To solve a Partial Differential Equation (PDE) or set of equations with freefem one must first write an algorithm which uses only linear systems (one or more) of PDE as intermediate steps.
Then each system must be well posed, i.e. provided with admissible boundary conditions and written in variational form. For instance Dirichlet's problem
$-\Delta v=f~{\hbox{ in }}D,~~v|_{\partial D}=g$
defines in an open set D of the plane a scalar function v(x,y) at every point (x,y) of D; v would be the electrostatic potential in the vacuum with charge density f(x,y) around objects of boundary əD at potential g(x,y).
The automatic triangulation, the finite element solver and the graphics are integrated in freefem and driven by a freefem script.

### Example

The Dirichlet problem above can be solved with freefem++ by the following script
# FreedomBox for Communities/Wi-Fi Roaming

Community could be spread over a large area such an entire village or an educational institution. If there are multiple Wi-Fi access points with different names, users will have to know and provide password for each of these networks. To avoid this, it is desirable for the entire community to have a single Wi-Fi network name called SSID. When a user is connected to the nearest Wi-Fi account point and then moves such that they are out of the range of that access point and in range of another access point, we wish that the transition to be smooth. Existing connections should not break. User should not see a drop in Wi-Fi connection. User should not be promoted for a new password. This is known as Wi-Fi roaming and is commonly deployed in large area Wi-Fi networks such as campuses.

## Access Point

Wi-Fi roaming is simple to implement on the access point side. The following conditions must be met:
* Each of the Wi-Fi access points in the network must be configured to have the same SSID.
* Each access point must be configured not to provide IP addresses on their own but instead relay any requests from clients in the Wi-Fi network to servers in the back-haul network. This can be achieved on the most Wi-Fi access points by configuring them in repeater mode.
* Have a single entity on the LAN (back-haul network that connects all access points) provide DHCP addresses to all the agents. In case of community setups with FreedomBox, the FreedomBox server performs this task. See section on configuring FreedomBox network.

## Client

Wi-Fi roaming on the client side is where all the magic is. They need to keep scanning for access points. When a user moves closes to an access point with a better signal (either more strength or better signal-to-noise ratio), they switch to that access point. Since clients store a given password in relation to an SSID, if the SSID of the new network is the same as the old one, the client will try to connect to it with the same password as the earlier network. Well implemented clients behave better than others. So, Wi-Fi roaming experience is dependent on the client. Most mobile devices are expected to work well.

## Testing

Use an Mobile application that shows the signal strength, SSID, connected access point and channel number of Wi-Fi networks in the area. Connect to the network and roam around to move away to a better access point. You should see a switch from one channel to another channel.
# Financial Modelling in Microsoft Excel/Specifying a model

Find out first –
* what exactly it is for, & what it needs to do
* what inputs it needs and where the data & assumptions will come from
* what business logic is required
* what level of detail it needs to provide
* what flexibility is required – i.e. what needs to be able to change
* who will use it & how, & what are their skills
* how often it will be used, & for how long
* how soon it is needed
For anything except a small model with a clearcut specification and design, it is a good idea - and essential in many cases - to document the specification clearly,
It is extremely important to fully understand and document the business logic, i.e. all the business rules that need to go into the model. For example, most business models involve tax, so you’d expect some rules on how tax affects the model. As you will see, errors in logic – and especially omissions – are among the hardest to find – and they can be extremely dangerous.
You should always ensure you have copies of all relevant correspondence or documents, and anything that will help you understand the business. For example, if you are modelling a workers’ compensation portfolio, you would need documentation on the benefits that are paid, previous actuaries’ reports, publications that might indicate recent trends or issues, etc.
Where other people will be using the model, ensure you know their skill level and experience, and find out how they will use the model (e.g. daily or weekly; briefly or for hours on end; in depth, using all the features, or just using basic features; etc.). It doesn’t matter how clever your model is, if no-one can use it!

## Writing a specification

A specification is a written description of your model. It should cover
* what your model will and won’t do
* what data and other information it needs
* what results it will produce
* documentation and support (if applicable)
* maintenance (if applicable)
* timing
* cost
# Find Employment
## Introduction

This wikibook is an attempt to explain the process of finding a job and getting hired for that job. It will explain such topics as finding a job, writing a resume, and performing at an interview.
Disclaimer: External Links are provided for reference, and do not constitute an endorsement. Spam will not be tolerated, and will be removed on sight.

## Table of Contents

* Introduction

### Getting Started

* Your Career Path
* Education and Training
* Financial Aid
* Find Prospective Employers

### Apply

* About Resumes
* Resume Sections
* Electronic Resumes
* Cover Letters
* Applying Online
* Follow Up

### Interview

* Interviewing
* Interview Questions
* Interview Tips

### The Offer

* Offer Strategies

### Start Business

* Start Business

### Appendices

* Regional Job Help
* Summer Work
* Industries

## Resources and Licensing

* Resources
* Licensing
* Finding a Job on FindEmployment
# Find Employment/Applying Online
## Applying Online

Many companies offer online or email-based application methods. This can be a tempting idea, but there are a number of factors to consider. First off, many online applications don't allow for uploading your resume or coverletters directly, but instead ask that you copy+paste the text into an available plain-text edit box. This can be very frustrating, considering that you have (or should have) spent a lot of time and effort formatting your resume and cover letters to look stylish and eye-catching. Note that when you copy+paste a heavily formatted document into a plain-text edit box, you lose more than just the fancy look: your text can be out of order, you can be missing important line-breaks, and you may also wind up with annoying control characters or blank characters in your edit box.

## Plain-Text Resume

If you are applying to many places that accept resumes in this way, it may be a good idea to take the time to prepare a second, plain-text resume before hand. You can create one in notepad or a similar editor, and you can ensure that everything looks as nice as is possible in such a simple format.

## Email

Also, be sure to look for options where you can email a resume instead of uploading a plain-text one. If you are going to be emailing a large number of resumes, it might be worthwhile to invest the time (and money) to convert your resume to PDF format, to look more professional. Certain word processing programs such as OpenOffice.org can easily (and freely) produce PDF documents, and can also be used to convert pre-existing documents to PDF.
# GLSL Programming/GLUT/Lighting Textured Surfaces

This tutorial covers per-vertex lighting of textured surfaces.
It combines the shader code of the tutorial on textured spheres and the tutorial on specular highlights to compute lighting with a diffuse material color determined by a texture. If you haven't read the tutorial on textured spheres or the tutorial on specular highlights, this would be a very good opportunity to read them.

### Texturing and Diffuse Per-Vertex Lighting

In the tutorial on textured spheres, the texture color was used as output of the fragment shader. However, it is also possible to use the texture color as any of the parameters in lighting computations, in particular the material constant $k_{\text{diffuse}}$ for diffuse reflection, which was introduced in the tutorial on diffuse reflection. It appears in the diffuse part of the Phong reflection model:
$I_{\text{diffuse}}=I_{\text{incoming}}\,k_{\text{diffuse}}\max(0,\mathbf {N} \cdot \mathbf {L} )$
where this equation is used with different material constants for the three color components red, green, and blue. By using a texture to determine these material constants, they can vary over the surface.

### Shader Code

In comparison to the per-vertex lighting in the tutorial on specular highlights, the vertex shader here computes two varying colors: diffuseColor is multiplied with the texture color in the fragment shader and specularColor is just the specular term, which shouldn't be multiplied with the texture color. This makes perfect sense but for historically reasons (i.e. older graphics hardware that was less capable) this is sometimes referred to as “separate specular color”.
And the fragment shader modulates the diffuseColor with the texture color and adds the specularColor:
In order to assign a texture image to this shader, you should follow the steps discussed in the tutorial on textured spheres.

### Summary

Congratulations, you have reached the end. We have looked at:
* How texturing and per-vertex lighting are usually combined.
* What a “separate specular color” is.

### Further Reading

If you still want to know more
* about the diffuse reflection term of the Phong reflection model, you should read the tutorial on diffuse reflection.
* about per-vertex lighting or the rest of the Phong reflection model, i.e. the ambient and the specular term, you should read tutorial on specular highlights.
* about the basics of texturing, you should read tutorial on textured spheres.
< GLSL Programming/GLUT
| Back to OpenGL Programming - Lighting section | Back to GLSL Programming - GLUT section |
# GLSL Programming/GLUT/Multiple Lights

This tutorial covers lighting by multiple light sources.
This tutorial is an extension of the tutorial on smooth specular highlights. If you haven't read that tutorial, you should read it first.

### Multiple Lights

In the previous tutorials on diffuse reflection, etc., we have only used one light source, which was specified by the variable light0. However, we could handle an array of light sources.
Here, we take a certain number of these lights into account and add their contributions to the total lighting. This can be computed with a for-loop in the fragment shader of the tutorial on smooth specular highlights. The structure is this:
The total lighting by all lights is accumulated in totalLighting by initializing it to the ambient lighting and then adding the diffuse and specular reflection of each light to the previous value of totalLighting at the end of the for-loop. A for-loop should be familiar to any C/C++/Java/JavaScript programmer. Note that for-loops in GLSL are usually severely limited. Often (e.g. in OpenGL ES 2.0) the limits (here: 0 and numberOfLights) have to be constants, i.e. you cannot even use uniforms to determine the limits. (The technical reason for the limitation is that the limits have to be known at compile time in order to “un-roll” the loop.)

### Complete Shader Code

The vertex shader is the same as in the tutorial on smooth specular highlights:
The only tricky thing about the fragment shader is that the nesting of loops and conditionals appears to be limited on some GPUs and/or graphics drivers. In fact, I had to reduce the nesting by avoiding if-else-statements in order to compile the shader on my computer (the OpenGL API reported an internal error). In principle, nesting of conditionals and loops is allowed in GLSL; however, it is probably a good idea to test shaders that make extensive use of nested loops and conditionals on several systems.

### Summary

Congratulations, you have reached the end of this tutorial. We have seen:
* How a for-loop can be used in GLSL to compute the lighting of multiple lights in a fragment shader.

### Further Reading

If you still want to know more
* about other parts of the shader code, you should read the tutorial on smooth specular highlights.
< GLSL Programming/GLUT
| Back to OpenGL Programming - Lighting section | Back to GLSL Programming - GLUT section |
# GLSL Programming/GLUT/Shading in View Space

GLSL is a shading language for shading.
# GLSL Programming/GLUT/Smooth Specular Highlights

This tutorial covers per-pixel lighting (also known as Phong shading).
It is based on the tutorial on specular highlights. If you haven't read that tutorial yet, you should read it first. The main disadvantage of per-vertex lighting (i.e. of computing the surface lighting for each vertex and then interpolating the vertex colors) is the limited quality, in particular for specular highlights as demonstrated by the figure to the left. The remedy is per-pixel lighting which computes the lighting for each fragment based on an interpolated normal vector. While the resulting image quality is considerably higher, the performance costs are also significant.

### Per-Pixel Lighting (Phong Shading)

Per-pixel lighting is also known as Phong shading (in contrast to per-vertex lighting, which is also known as Gouraud shading). This should not be confused with the Phong reflection model (also called Phong lighting), which computes the surface lighting by an ambient, a diffuse, and a specular term as discussed in the tutorial on specular highlights.
The key idea of per-pixel lighting is easy to understand: normal vectors and positions are interpolated for each fragment and the lighting is computed in the fragment shader.

### Shader Code

Apart from optimizations, implementing per-pixel lighting based on shader code for per-vertex lighting is straightforward: the lighting computation is moved from the vertex shader to the fragment shader and the vertex shader has to write the attributes required for the lighting computation to varyings. The fragment shader then uses these varyings to compute the lighting (instead of the attributes that the vertex shader used). That's about it.
In this tutorial, we adapt the shader code from the tutorial on specular highlights to per-pixel lighting. The resulting vertex shader looks like this:
Most of the work is now done in the fragment shader:
Note that the vertex shader writes a normalized vector to varyingNormalDirection in order to make sure that all directions are weighted equally in the interpolation. The fragment shader normalizes it again because the interpolated directions are no longer normalized.

### Summary

Congratulations, now you know how per-pixel Phong lighting works. We have seen:
* Why the quality provided by per-vertex lighting is sometimes insufficient (in particular because of specular highlights).
* How per-pixel lighting works and how to implement it based on a shader for per-vertex lighting.

### Further Reading

If you still want to know more
* about the shader version for per-vertex lighting, you should read the tutorial on specular highlights.
< GLSL Programming/GLUT
| Back to OpenGL Programming - Lighting section | Back to GLSL Programming - GLUT section |