OpenLLM-France/wikimedia huggingface dataset:
# GLPK/Sandbox (for content under development)

Software profiling and performance optimization

## Background

At the end of 2012, a discussion on code development sparked on the [help-glpk] mailing list. The initial comments covered solver algorithms, including numerical methods, and multi-core execution. After some deliberation, it was agreed that concurrent processing was unlikely to yield much in the way of advantage, but that that algorithmic development under serial processing had a lot to offer. Andrew Makhorin suggested that the split was something like 20/80%.
The title of this page indicates a focus on improving the numerical methods specifically and the run-time performance more generally. This should not preclude improvements to the solver algorithms being considered, but the emphasis is classic software performance optimization.
The issue of thread-safe execution — related to multi-core execution but also different in important ways — was assign its own workflow and wikibook page entitled the thread-safety question. Unless circumstances dictate otherwise, this separation will be maintained.

## Purpose of this page

The purpose of this page (and any subsequent sub-pages) is to summarize the discussion and any consensus decisions that arise. It is also a place where key literature can be recorded for easy reference.
Contentious issues should be debated and resolved on the [help-glpk] list first and should not be "discussed" here using this page as a vehicle.

## General requirements

GLPK is multi-platform and solutions should also be applicable across common environments including Linux, the UNIXes, Mac OS X, and Microsoft Windows. These days, mobile platforms should be considered, including Google Android, Mac IOS, and Microsoft Windows Phone. The use of graphics processing units has been excluded.

## Development tools

This section lists some of the development tool that have been suggested and that have also drawn a favorable response.

### Version control

* git

### Profiling tools

* OProfile
* perf

### Code hosting

* github
* GNU savannah

## Annotated literature

This section lists key literature. The subsections are given in order of increasing generality.

### Linear programming methods

Maros, Istvan (2003). Computational techniques of the Simplex method. USA: Springer-Verlag. ISBN 978-1-4020-7332-8.
* a key reference on the performance of linear programming solvers
# GLPK/Rust

Rust is a general-purpose object-oriented programming language.

## glpk-rs

glpk-rs is a GLPK binding for the Rust language authored by Sébastien Crozet. The project homepage is https://github.com/sebcrozet/glpk-rs. The project is no longer maintained.
The language binding is manually crafted and covers only part of the GLPK API.
# German/Concepts Basic

<< Vorwort | Lektion N | Lektion NA >>

### Richtig oder falsch?

1 a Wir müssen gehen. So wir haben keine Zeit.
1 b Wir müssen gehen. Deshalb haben wir keine Zeit.
2 a Wenn wir haben Stress, machen wir oft Fehler.
2 b Wenn wir Stress haben, machen wir oft Fehler.
3 a Ich mag Leute nicht, die zu spät kommen.
3 b Ich mag Leute nicht, die kommen zu spät.
Richtig sind: 1 b, 2 b, 3 a,
# German/Grammar

Lessons: Level I • Level II • Level III Level IV Level V
Grammar • Appendices • About (including print versions) • Q&A • Planning
| Wikipedia has related information at German grammar A printable version of German grammar is available. | Rauener Steine bei Fürstenwalde |
| Updating: If a section is added or the name of an existing section is changed, please update: The print version The grammar footer. It is not necessary to update these versions if the sections within these main groups are altered. | Rauener Steine bei Fürstenwalde |
# German/Grammar/Cases

German has four cases. A case may determine the particular adjective, adjective ending, pronoun, and noun ending to use. If there is a definite article, the case is often easier to recognise.
The nominative case is used in reference to the subject of a sentence.
Der Mann / Die Frau / Das Kind isst. (The man / the woman / the child is eating.)
The accusative case is used in reference to the direct object of a sentence.
Ich sehe den Mann / die Frau / das Kind. (I see the man / the woman / the child.)
The dative case is used in reference to the indirect object of a sentence.
Er gibt dem Mann / der Frau / dem Kind den Löffel. (He gives the spoon to the man / the woman / the child.)
The genitive case is used in reference to a possessed object of a sentence.
das Buch des Mannes / der Frau / des Kindes (the man's / woman's / child's book)
To determine the case of a noun or pronoun in German, use the following steps, in order.

## Determining Cases

* If the noun or pronoun is a subject, it takes the nominative case. If the noun is an object, it takes either the accusative, dative or genitive case.
* If the expression contains a dative, accusative or genitive preposition, the case of the noun or pronoun takes the case of that preposition.
* If the expression contains a two-way preposition, if the verb is transitive, the expression takes the accusative case. If the verb is intransitive, the expression takes the dative case.
* If the expression contains no prepositions, the expression takes the accusative case if the verb is intransitive, and the dative case if the verb is transitive. (see also Prepositions and Postpositions)
* In some cases, a noun or pronoun will take the genitive case, if it is possessed by the subject, or if the verb implies possession.

## What are cases for?

In English, and many other languages, you know what role a noun plays from its place in the sentence. For example:
The dog bit the man
Here, you know that the man has bite-marks on his leg.
The man bit the dog.
Here, surprisingly, the dog has the bite-marks.
In German, you can change the word order around as you like. You can write:
Der Hund biss den Mann (The dog bit the man)
or
Den Mann biss der Hund (The dog bit the man)
These are both the "unsurprising" version where the man has teeth-marks. You can see that because in both sentences, it says "den Mann", not "der Mann". "Den Mann" is the accusative form which means that the person is the one bitten, not the biter. In both cases, the dog is "der Hund", making it the biter. "The man bit the dog" would be "Der Mann biss den Hund" or "Den Hund biss der Mann".
So while English uses word order to tell us what is the subject (here, the biter) and what is the object (here, the bitten), German uses cases to give us this important information. This allows German to have the advantage over English of being able to stress the object or the subject of a sentence by changing the word order (normally the first noun is the stressed part).
# ERP Internals/Data Tables/Bondholder/Bondholder Person

This table contains one record for every person at every bondholder.
Used by: Bond Manager
Key: Bondholder Number, Person Number
Fields:
* Bondholder Number
* Person Number (a unique identifier assigned by the user)
* Last Name
* First Name
* Job Title
* Department
* Title (Mr/Ms/Mrs/etc.)
* Address 1
* Address 2
* City
* State/Province
* Country
* Zip/Postal Code
* Business Telephone
* Telephone Extension
* Home Telephone
* FAX
* Mobile
* Pager
* E-mail
* Language
* Notes
# ERP Internals/Data Tables/Bondholder Transaction

This table contains one record for every bond transaction.
Used by: Bond Manager
Key: Transaction Number
Fields:
* Transaction Number (a unique number assigned by the ERP package)
* Date
* Type (Purchase/Sale/Interest/DB Adjustment/CR Adjustment)
* Check Number
* Amount
* Currency
* Posted to General Ledger Date/Time
# ERP Internals/Data Tables/Contact/Contact

This table contains one record for every contact.
Used by: Contacts
Key: Contact Number
Fields:
* Contact Number (a unique identifier assigned by the user)
* Type
* Organization/Individual (individual must have exactly one person record)
* Active (Yes/No)
* Group
* Name
* Address 1
* Address 2
* City
* State/Province
* Country
* Zip/Postal Code
* Telephone
* FAX
* E-mail
* Website
* Referred By
* Sales Representative Number
* Last Interaction Date
* Next Interaction Date
* Territory
* Notes
# ERP Internals/Data Tables/Bill of Materials/Line

This table contains one record for every line on every bill of materials.
Used by: Bill of Materials, Advanced Planning and Scheduling
Key: Bill of Materials Number, Line Number
Fields:
* Bill of Materials Number
* Line Number (a unique number assigned by the ERP package)
* Item Type (Item/BOM/Resource)
* Item/BOM/Resource Number
* Quantity
# ERP Internals/Data Tables/Bondholder

This includes a group of tables. They are listed below:
* Bondholder
* Bondholder Person
# ERP Internals/Data Tables/Bill of Materials/Header

This table contains one record for each bill of materials.
Used by: Bill of Materials, Advanced Planning and Scheduling
Key: Bill of Materials Number
Fields:
* Bill of Materials Number (a unique number assigned by the user)
* Description
# ERP Internals/Data Tables/Bill of Materials

This data consists of the following two tables:
* Header
* Line
# ERP Internals/Data Tables/Bondholder/Bondholder

This table contains one record for every bondholder.
Used by: Bond Manager
Key: Bondholder Number
Fields:
* Bondholder Number (a unique identifier assigned by the user)
* Type
* Organization/Individual (individual must have exactly one person record)
* Name
* Address 1
* Address 2
* City
* State/Province
* Country
* Zip/Postal Code
* Telephone
* FAX
* E-mail
* Website
* Number of bonds
# ERP Internals/Data Tables/Chart of Accounts

The Chart of Accounts contains one record for every General Ledger account.
Used by: General Ledger
Key: Account Number
Fields
* Account Number (a unique identifier assigned by the user, commonly composed of segments)
* Description
* Active (Yes/No)
* Type (Asset/Liability/Equity/Income/Expense)
* Normal Balance (Debit/Credit)
* Omit from financial statements if zero (Yes/No)
* Allow job allocations (Yes/No)
* GIFI
* Notes
# ERP Internals/Data Tables/Contact

This includes a group of tables. They are listed below:
* Contact
* Contact Interaction
* Contact Person
# Guide to Game Development/Settings

All the items that could be added into a game settings menu.

## Categories

* Audio
          The Music and Sound Effects for the game
* Display
          The setting that involve the screen and resolutions
* Game HUD
          The options that involve the heads-up-display that is on top of the game play
* Gameplay
          Settings that affect the game itself
* Graphical
          All of the graphical options like: Texture quality, anti-aliasing, polygon count, lighting, water affects etc.
* Input
          All setting that involve the gameplay input like key bindings, input type: mouse/keyboard, controller/gamepad, joystick
# Guide to Game Development/Settings/Display

* Resolution
** Have a variety of resolutions available
** A variety of aspect ratios
** Maybe allow for a numerical input of resolution if the pre-sets aren't good enough for everyone.
* Window Types:
** Fullscreen
** Windowed
** Exclusive fullscreen (borderless fullscreen window)
* VSync
** Double buffering
** Triple buffering
* Refresh rate
** Measured in Hz
** 120 would be a good one to choose, but give people the choice.
* Stereoscopic 3D?
* Stereo separation?
* Stereo depth?

## References

* ↑ http://www.sigchi.org/chi95/proceedings/papers/cw_bdy.htm
# Guide to Game Development/Settings/Game HUD

       Turn off the HUD, cross-hair, mini-maps and interaction & navigation prompts completely throughout the whole game-play experience. Enabling this should deactivate all other options shown below.
       Should you show on-screen prompts about where they need to go?
       An example of what this is would be: "Press 'E' to use" appearing on the screen when you go near it.
* Waypoint markers?
** Options for markers on mini-map on/off.
** Options for markers in the world (like a giant arrow in the 3D world) on/off.
*** Could have distance fade in options for this when on.
* Mini-map?
** Add opacity options for a mini-map.
* HUD Opacity
** Could fade from one value to another when not in use.
* Cross-hair Opacity
* Options to fade out certain HUD options when they're not needed.
** Allow them to select which parts.
** Allow them to set timers for those parts (times after they're no longer useful).
* HUD size slider (makes it bigger or smaller)
# Guide to Game Development/Settings/Input

The 'perfect game' should allow you to have different input types: keyboard & mouse, gamepad/controller and joystick.

## Keyboard & Mouse
### Ability to rebind all keys

* When rebinding keys, allow one gameplay action to be bound to two or more keys
* Some games have one key allowed to be linked to multiple actions
* Allow for rebound keys to not only go to keys, but to mouse movement and mouse buttons if they have a custom mouse.
* Allow them to bind 'double-tap' functionality
* Set-ups for different game modes:
** When on-foot
** When in a car
** Etc
* Default presets:
** Default 1 right-handed
*** Typical preset for a FPS would be:
**** Forward - W
**** Backwards - S
**** Left - A
**** Right - D
**** Jump - Space
**** Run - Left Shift or Double-tap W
**** Crouch - Left Ctrl or C
**** Reload - R
**** Use - E
**** Grenade/Throwing item - G
**** Flash light - F
**** Throw item - Q or \
**** Chat - T or Enter
**** Team Chat - Y
**** Weapon Select - 1-9 or Mouse Wheel
**** See player/scores - TAB
** Default 2 right-handed
** Default 1 left-handed
*** Typical preset for a FPS would be:
**** Forward - I or Arrow-Up or Numpad-8
**** Backwards - K or Arrow-Down or Numpad-5 or Numpad-2
**** Left - J or Arrow-Left or Numpad-4
**** Right - L or Arrow-Right or Numpad-6
**** Jump - Space
**** Run - / or Right Shift
**** Crouch -
**** Reload -
**** Use -
**** Grenade/Throwing item -
**** Flash light -
**** Throw item -
**** Chat -
**** Team Chat -
**** Weapon Select -
**** See player/scores -
** Default 2 left-handed
** Allow them to save configuration pre-sets (Custom 1)
*** This would be useful if two people played the game

### Mouse Sensitivity

* Change normal look-around sensitivity
** Different sensitivity in the x-axis to the y-axis
* Change aim-down-sight sensitivity
** Maybe also change aim-down-scope sensitivity
* When set to 100%, it should be the same as their desktop mouse sensitivity (no mouse acceleration/deceleration)

### Invert mouse

* Invert in the y-axis
* Invert in the x-axis

### Have quick access modes

* Quick save (could be F5)
* Quick load (could be F9)

## Gamepad/Controller

When a gamepad/controller is connected, the game should automatically switch the input to the gamepad/controller (without going into the options menu); this means that the main menu won't say something like "press Enter to continue", instead it will say something like, "press A to continue."

### Button bindings

* Have a few pre-sets of buttons bindings
* Allow for custom button layouts

### Controller vibration

* On
* Off
* Custom vibration strength

### Invert gamepad joystick

* Invert left joystick in both the x-axis and the y-axis
* Invert right joystick in both the x-axis and the y-axis
* Invert d-pad in both the x-axis and the y-axis

### Joystick/Thumbstick sensitivity

* Different sensitivity in the x-axis to the y-axis for both joysticks on the gamepad.
# Guide to Game Development/Settings/Gameplay

This is going to be a little bit vague as it depends on the type of gameplay that it is.
# Guide to Game Development/Settings/Graphical
## General

* Reset all options
** Button with "are you sure?" menu
* Textures
** Texture Quality
*** Low - Extreme
** Texture Filtering Quality
*** Low - High
* Particles
** Low - Extreme
* Character models (polygon count)
** Tessellation
** Textures
* Field of view
** 100 is 'normal'
** Less than 100 is 'zoomed out'
** Greater than 100 is 'zoomed in'
* Brightness
* Shadow quality
* Screen space reflection
* Depth-of-field quality
* Contact hardening shadows
* Reflections
* Motion blur
* Render Distance
** Slider about how much
* Water quality
** Still animation (for low end computers)
** Polygons count
** Animated water textures?

## Occlusion
### Parallax occlusion quality

* Used to make surfaces look more 3D
* Alpha mapping

### Ambient occlusion

* MHBAO
** Standard, better than having no ambient occlusion
* HBAO
** Higher quality than MHBAO
* SSAO
** Screen space ambient occlusion
** Some people don't like this and would prefer not to have it

## Anti-aliasing

* SSAA
** Super Sampling Anti-Aliasing
*** Resolves colours
**** Example: (White + White + White + Green)/4 = Light Lime
* MSAA
** Multi-Sample Anti-Aliasing
* FXAA
** Fast Approximate Anti-Aliasing
** A lot of people prefer not to use this
* TXAA / Temporal Anti-Aliasing
** Nvidia GPUs only
* SMAA
** Minimizes the distortion artifacts known as aliasing when representing a high-resolution image at a lower resolution
* Spatial anti-aliasing

## References

* ↑ https://en.wikipedia.org/wiki/Spatial_anti-aliasing
# Guide to Game Development/Settings/Audio

* Master volume slider
* Music volume slider
* Special effects volume slider
* Voice-over slider (if the game has voice-over)
* Subtitles?
** Opacity
* Audio device selector:
** Pick from your computers audio devices attached to your computers:
*** Speakers
**** Allow linking to 5.1 surround sound
*** Headphones
*** Etc.
* Turn your character's voice off/on.
# Guide to Game Development/The Programming Language

The programming languages that are going to be used to create the games. Note: this could be a nearly endless list, so I'm only going to add a few, but by all means add more if you want.

## Programming languages

* C++
          Industry standard for game development
          Not ideal for a first programming language
* C#
          Can be used with the .Net framework
          Can be used with unity
* Objective-C
          Mac, iPad, iPhone only
* Java
          Works on a variety of platforms
* Python
          Interpreted language
          Works on a variety of platforms
* VB.NET
          Short for "Visual Basic running on the .Net framework"
          Ideal beginner language
          Windows, Windows Modern/Metro and Window Phone 8 only
* Xojo
          Ideal beginner language
          Mac, iPad, iPhone only
* Boo
          Can be used with unity
* Javascript
          Can be used with unity
          Mainly used online
          Can be used for Windows Modern apps.
* Flash Actionscript
          Online only

### Scripting languages to be used with the programming language

* Ruby
* Python - Repeat from above, can be used as a language and as a script.
          Interpreted language
          Works on a variety of platforms

### Game-only programming languages

* DarkBasic
* BlitzPlus

### Shader languages

* GLSL
          Shader language used for OpenGL
* HLSL
          Shader language used for DirectX
# Guide to Game Development/The Programming Language/C++
## Abstract

* Learn C++, most games are made with this language
* C++ can be used on all desktop platforms and most mobile platforms.
* Recommended IDE:
** Windows: Visual Studio for Desktop
** Mac: XCode
** Linux: Either Code Blocks or Eclipse CDT

## External learning resources

* C++ basics
* Learning Resource 1 - Online Course
* Learning Resource 2 - Online Course
* Learning Resource 3 - Youtube Series
* Learning Resource 4 - Youtube Series
# Guide to Game Development/The Programming Language/C-PlusPlus
## Abstract

* Industry standard for game development
* Not ideal for a first programming language
* Works on all platforms except web
* Can do programming on all 3 main operating systems (Windows, Mac and Linux)

## Learn through this wikibook

* How to install and create the project
* Basic console input and outputs
* Variables
* Basic math operators and Concatenation
* If Statement
* Select Case
* Loops
* Arrays
* Lists
* Strings
* Advanced math operators
* Procedures and functions
* Random Numbers
* Stream readers and writers
* Object oriented programming
* Graphics
* Network communications

## External learning resources

Wiki:
* C++ Programming wikibook
Free online courses:
* cplusplus.com tutorials
* cprogramming.com tutorials
Youtube:
* Jamie King's Series' on C++
* thenewboston's Series on C++, he's using a different IDE, but you can use any IDE (like Visual Studio).
# ERP Internals/Glossary/Direct Deposit

A system in which the employee's pay is transferred directly into their bank account without printing a check.
# ERP Internals/Glossary/Donor

Someone that contributes to a not-for-profit enterprise. In a fuzzy kind of way, "donors" can be considered "customers" in that they are a source of revenue.
# ERP Internals/Glossary/Drill Down

To click on a summary number and get a detailed listing of the transactions that made up the number.
# ERP Internals/Glossary/Drop Ship

Directing a supplier to send purchased materials directly to a third party rather than delivering them to the enterprise's facility.
# ERP Internals/Glossary/Deposit

Typically, an enterprise makes a bank deposit once a day. This consists of the checks the enterprise has received plus any cash or credit/debit card receipts.
Alternatively, deposit means a payment made by a customer to an enterprise before work starts on a job or project. The deposit is typically a percentage of the job price.
# ERP Internals/Glossary/Due Date

Invoices that are not COD normally require that the invoice be paid within a certain number of days. This is the Due Date. It is calculated using the invoice date and the terms.
# ERP Internals/Glossary/Debit Card

A plastic card the size of a credit card. When a debit card is used, the amount of the transaction is deducted from the owner's bank account immediately.
# ERP Internals/Glossary/Department

A sub-section of an enterprise. Departments can be by function (accounting, sales, etc.) or by product (consumer goods, industrial products, etc.) Commonly, income and expenses are tracked by department rather than for the enterprise as a whole.
# ERP Internals/Glossary/Depreciation

When an asset that is not for resale and has a life of more than one year is purchased, a portion of its cost is allocated to each year of its use by the enterprise.
# ERP Internals/Glossary/Discount Date

Invoices that allow credit normally allow a discount if the invoice is paid within a certain number of days. This is the discount date. It is calculated using the invoice date and the terms.
# Heliciculture/Diseases and Pests

Basic common sense hygiene may prevent the spread of disease or otherwise improve the health and growth rate of snails. For example, remove and replace food daily to prevent spoilage. Earthworms added to the soil will help keep the pen clean.
Snails have many natural predators, including members of all major vertebrate groups, carnivorous snails, ground beetles, leeches and even predatory caterpillars.Parasites, nematodes, trematodes, fungi, and microarthropods may attack snails, and such problems can spread rapidly when snail populations are dense. The bacterium Pseudomonas aeruginosa causes intestinal infections that can spread rapidly in a crowded snail pen. The second disease is caused by the fungus Fusarium, which parasitises their eggs of Helix aspersa. The affected eggs turn reddish-brown and development stops. This disease is commonly referred to as 'rosy eggs disease'.
Watch for predators such as: rats, mice, moles, skunks, weasels, birds, frogs and toads, lizards, walking insects (e.g., some beetle and cricket varieties), some types of flies, centipedes, and even certain cannibalistic snail varieties (such as Strangesta capillacea).