OpenLLM-France/wikimedia huggingface dataset:
# Steganography/Introduction
## Basics

As a result of the debate on the control over the export of encryption technology, steganography is a good method for concealing the type of data being transmitted.
Main components of the steganographic system (with public key):
* Secret messages: A message that must be forwarded.
* Cover (c): file or data used to embed a secret message.
* Embedding (e): process hiding stegotext in cover
* extracting (ex): process recovery hiding information
* stegosystem
* Secret key (k): the key required to embed a secret message (pure steganography does not meet Kerckhoffs rule)

### Pros

Steganography is an extremely useful tool when the interested parties have an unsecured communication path. Users can then communicate without fear of government or corporate interference, being a dissident or an illegal activist. But even if we do not do anything illegal, steganography can protect our privacy in an unfavorable environment - for example, facebook by 2015 had an XMPP service running, thanks to which it was possible to connect to the messenger via this universal protocol. Testing the service for the ability to encrypt messages using OTR / GPG came to naught and was blocked by a MiTM attack on facebook and the only solution in this case could be to use steganography.

### Cons

The first negative aspect of steganography is that although the information will be hidden, it can be read by anyone who knows about it and knows the method of hiding. This problem can be easily resolved by applying the principle of in-depth protection and encrypting the message before hiding it. Even if someone found the message, he would not be able to read it. Best combination: steganography in public key + digital watermark + encryption = perfectly. However undoubtedly, the amount of secret information hidden by this method is quite severely limited.

### Magic triangle

The magic triangle was originally introduced by J. Fridrich - it allows to systematize the research according to qualitative features, such as undetectability, bit rate, and persistence of the message.
# More C++ Idioms/Fake Vtable
## Intent

To try to avoid dynamic allocation and avoid inheritance and intrusion in polymorphism.

## Motivation

Someone might want non-intrusive polymorphism in C++.

## Solution and Sample Code

Below is an implementation of a class that can refer to any object whose type satisfies the shape concept, as well as code that uses it:
Output:
Not how one did not need to change any of the concrete shape classes in order to make them referenceable. They were not designed with a common interface in mind, but one can still use all 4 in a common way. One can also create a value class for storing any shape using this same technique, just with a few slight modifications like:
* Adding a do_clone method and using a unique_ptr<void, SomeDeleter> for storage where the deleter also stores a vtable
* Using shared_ptr<void> for storage and constructing one by using make_shared<T> in the constructor
This is a superior way of writing polymorphic code, and it still captures some of the properties that a traditional OO method would use:
* Circles, ellipses, squares, and rectangles are shapes. (they all implement the shape concept)
* Circles are ellipses. (implicit conversion from circle to ellipse)
* Squares are rectangles. (implicit conversion from square to rectangle)
This implementation of polymorphic references is very similar to Rust's implementation of &dyn, both using a data pointer and a vtable pointer.

## Known Uses

* std::function on certain ABIs (you may have to set an ABI flag)
* std::move_only_function
* std::function_ref
* std::any

## Related Idioms

* Type Erasure
* Polymorphic Value Types
# Minecraft/Armour

Minecraft
Blocks | Items | Mobs
Structures
Miscellaneous
Guides

## Use

Armour will protect you from the following types of damage:
* Mob attacks
* Player attacks
* Projectiles
* Cacti
When enchanted, they can protect you from other forms of damage:
* Falling
* Drowning
* Fire and lava
* Explosions

## Types

Types :
| Type | Full set | Helmet | Chestplate | Leggings | Boots |
| Leather | 7 | 1 | 3 | 2 | 1 |
| Chain | 12 | 2 | 5 | 4 | 1 |
| Iron | 15 | 2 | 6 | 5 | 2 |
| Gold | 11 | 2 | 5 | 3 | 1 |
| Diamond | 20 | 3 | 8 | 6 | 3 |
| Netherite | 20 | 3 | 8 | 6 | 3 |

### Leather

The second weakest type. Although you can dye it different colors.

### Chain

Only dropped by monsters that are wearing it. When you get it, most likely you already have better stuff.

### Iron

A common armour, and actually a bit faster and more efficient to get than leather.

### Gold

The weakest armour type you can get. Best to save gold on golden apples and carrots.

### Diamond

Usually the armour most feel safe in, before they fight any bosses or strong enemies.

### Netherite

The best armour in the game. It has the highest defence, gives you protection to fire, and gives you knockback resistance. You can only get it by upgrading diamond armour on a smithing table.

## Armour points

Each armour point protects you from 4% of damage. You may see how many armour points you have by looking at the chestplate icons above your hotbar. The more are filled, the more armour you have.
Note that to see the icons, you need to equip armour first.
# Security IT/NAT

nat was created as a response to the shrinking pool of IP addresses. in short, we get one variable IP address from an ISP defined from a specific APN, goes through the router and directs to a specific computer in own WAN network with private addresses.

## bypass NAT restrictions

a few words explaining

### Full-cone NAT

usually do not need to do here, sometimes must use port forwarding

### (Address)-restricted-cone NAT

* Run uPnP/NAT-PMP/UPnP-IGD/PCP
* Set static private IP, optionally DDNS.
* if doesn't work, use port forwarding
* If doesn't work, use Port Triggering
* If doesn't work, use DMZ

### Port-restricted cone NAT

* use UDP hole punching
* if doesn't work, try TCP hole punching
* optionally, try ICMP hole punching
* UDP multi-hole punching (mirror)

### Symmetric NAT

* sequential hole punching
* Use Supernode

### Cgnat

Investigation
* The only reliable solution that I've found so far has been to use IPsec VPNs initiated from behind the NAT.
* ZeroTier can traversable CGNAT. If you follow the recommendations) (It mainly boils down to opening the port in the firewall) it is the probability that value

## For all types NAT (probably)

* Install zerotier and set bridge mode. It possible bypass NAT and open port

## External links

* NAT problem on vuze wiki
# Universal
### 1...d6

As with many of Black's off-beat 1st move alternatives, this move does not hold independent status as it usually transposes into other mainstream openings. It is certainly not a bad move on Black's part, but it does allow white to transpose into the Pirc or Modern defence by playing 2. e4, so black must enjoy playing these defences or should shy from this move.
White's options are many. Here are the three most popular:
* 2. e4 - Pirc or Modern transposition
* 2. c4 - Allowing 2... e5! Otherwise, heading for various queen's pawn games (e.g., KID, OID)
* 2. Nf3 - Keeping the options open while controlling the e5 square

## Theory table

For explanation of theory tables, see theory table and for notation, see algebraic notation. .
1. d4 d6
| | 2 | 3 | 4 | 5 | 6 |
| | e4 ... | See | 1. e4 | d6 | 2. d4 | = |
| | c4 e5 | Nf3 e4 | Ng5 f5 | Nc3 c6 | Nh3 Nf6 | = |
| Wade Defence | Nf3 Bg4 | c4 Nd7 | e4 Bxf3 | Qxf3 g6 | Nc3 Bg7 | = |
When contributing to this Wikibook, please follow the Conventions for organization.

## References

* Kasparov, Garry, & Keene, Raymond 1989 Batsford chess openings 2. ISBN 0-8050-3409-9.

## External links

* 365Chess. 1. d4 d6
* chessgames. 1. d4 d6
# Character Encodings/Code Tables/MS-DOS/Code page 1108
## Code page 1108

Code page 1108 (DITROFF Base Compatibility) is an extension of code page 850 which alters some code points in the range 0–32 from their definitions in code page 437. DITROFF (device independent troff) is an intermediate format of the standard Unix text formatter Troff.
Code page 1108 (extension from code page 850) :
| | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F |
| 0x 0 | NUL | ☺ 263A | ﬀ FB00 | ﬁ FB01 | ﬂ FB02 | ﬃ FB03 | ﬄ FB04 | • 2022 | – 2013 | ○ 25CB | † 2020 | ‡ 2021 | ™ 2122 | — 2014 | ‘ 2018 | ’ 2019 |
| 1x 16 | ► 25BA | ◄ 25C4 | ⅛ 215B | ⅜ 215C | ⅝ 215D | ⁰ 2070 | ⁴ 2074 | ⁵ 2075 | ↑ 2191 | ↓ 2193 | → 2192 | ← 2190 | ⁶ 2076 | ⁷ 2077 | ⁸ 2078 | ⁹ 2079 |
Differences from Code page 437

## References

* ↑ "Code Page 1108 DITROFF Base Compatibility" (PDF). Archived from the original (PDF) on 2013-01-21.
# Character Encodings/Code Tables/MS-DOS/Code page 30014

Code page 30014 is a code page intended for Cyrillic Uralic languages in the Volga district of Russia.

## Character set

The following table shows code page 30014. Each character is shown with its equivalent Unicode code point. Only the second half of the table (128–255) is shown, the first half (0–127) being the same as code page 437.
Code page 30014 :
| | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F |
| 8x 128 | А 0410 | Б 0411 | В 0412 | Г 0413 | Д 0414 | Е 0415 | Ж 0416 | З 0417 | И 0418 | Й 0419 | К 041A | Л 041B | М 041C | Н 041D | О 041E | П 041F |
| 9x 144 | Р 0420 | С 0421 | Т 0422 | У 0423 | Ф 0424 | Х 0425 | Ц 0426 | Ч 0427 | Ш 0428 | Щ 0429 | Ъ 042A | Ы 042B | Ь 042C | Э 042D | Ю 042E | Я 042F |
| Ax 160 | а 0430 | б 0431 | в 0432 | г 0433 | д 0434 | е 0435 | ж 0436 | з 0437 | и 0438 | й 0439 | к 043A | л 043B | м 043C | н 043D | о 043E | п 043F |
| Bx 176 | ░ 2591 | ▒ 2592 | ▓ 2593 | │ 2502 | ┤ 2524 | Ӝ 04DC | ╢ 2562 | ╖ 2556 | ӝ 04DD | ╣ 2563 | ║ 2551 | ╗ 2557 | ╝ 255D | ╜ 255C | Ӟ 04DE | ┐ 2510 |
| Cx 192 | └ 2514 | ┴ 2534 | ┬ 252C | ├ 251C | ─ 2500 | ┼ 253C | ӟ 04DF | ╟ 255F | ╚ 255A | ╔ 2554 | ╩ 2569 | ╦ 2566 | ╠ 2560 | ═ 2550 | ╬ 256C | Ӵ 04F4 |
| Dx 208 | ╨ 2568 | ӵ 04F5 | ╥ 2565 | ╙ 2559 | Ҥ 04A4 | ҥ 04A5 | ╓ 2553 | ╫ 256B | ╪ 256A | ┘ 2518 | ┌ 250C | █ 2588 | ▄ 2584 | ▌ 258C | ▐ 2590 | ▀ 2580 |
| Ex 224 | р 0440 | с 0441 | т 0442 | у 0443 | ф 0444 | х 0445 | ц 0446 | ч 0447 | ш 0448 | щ 0449 | ъ 044A | ы 044B | ь 044C | э 044D | ю 044E | я 044F |
| Fx 240 | Ё 0401 | ё 0451 | Ӓ 04D2 | ӓ 04D3 | Ӧ 04E6 | ӧ 04E7 | Ӱ 04F0 | ӱ 04F1 | Ї 0407 | ї 0457 | Ӹ 04F8 | ӹ 04F9 | № 2116 | € 20AC | ■ 25A0 | NBSP 00A0 |
Symbols and punctuation  Differences from code page 808
# Character Encodings/Code Tables/HP

* Code page 1056
* Code page 1057
# Chinese Stories/Calling a deer a horse
## Background

When Qin Shi Huangdi died of illness in Shaqiu, there were three people with him: Li Si, Zhao Gao, and Ying Huhai. Li Si was the left hand man of Qin Shihuang, who had helped the emperor defeat his enemies and rule China. Huhai was the second son of the late emperor. Zhao Gao, a power-hungry eunuch, suggested killing Fusu by altering a letter from the late emperor naming Fusu as heir and crowning Huhai instead. Li Si, who was concerned whether Fusu would support him, accepted. Huhai, who was unwise, accepted as well. This is the story of how Zhao Gao came to power.

## The Story

Zhao Gao was a man who was hungry for power. After declaring Huhai Qin Er Shi the second emperor of the Qin Dynasty, he decided to control the entire government. The man brought a deer to a meeting. He showed that deer to the emperor and the officials, and said it was a great horse. The emperor, who regarded Zhao Gao as a teacher and therefore trusted him completely, thought it was a deer, and many officials thought so too. Some were afraid of Zhao Gao, but seeing that Qin Er Shi also regarded it as a horse, said nothing. Others agreed to its being a horse. Zhao Gao murdered the officials who remained silent or called it a deer.
Zhao Gao later killed Li Si with the method of execution that Li Si invented himself. Then Zhao Gao killed Qin Er Shi and declared Ziying emperor when Liu Bang arrived at the capital. When Xiang Yu arrived, Ziying killed Zhao Gao and surrendered, thus ending the reign of the Yings as well as Zhao's rule.

## Idiom & Usage

In its traditional and modern usage, the idiom 指鹿為馬 is widely used to describe a situation where a person falsely identifies a situation in order to deceive others or saying the opposite of the truth to justify an action. This is an example sentence:
如果一個污敗之人講解自己的財富和支出為老老實實，通過咬牙困難以賺來的, 有多少人會不同意; 有多少人會控訴這為指鹿為馬之虚話?
Which translates to:
If a corrupted individual tries to explain his riches and expenditures as the result of honest and gruelling difficulties, how many would disagree; how many people would call his words a deception of "calling a deer a horse"?
# Two Knights Defence: Classical Variation
### 5. O-O

The classical variation. Castling both gives the White King some security and activates the rook to be able to come to e1 which has much potential to support the White e-pawn or pin any pieces that take the e-pawn. Black's possible sensible replies are:
   * 5....Nxe4
   * 5....Bc5
   * 5....d6
   * 5....Be7
When contributing to this Wikibook, please follow the conventions for organization.

## Theory table

For explanation of theory tables, see theory table and for notation, see algebraic notation. .
    1. e4 e5 2. Nf3 Nc6 3. Bc4 Nf6 4.d4 exd4 5. O-O
| | 5 | 6 | 7 | 8 | 9 | 10 |
| 1 | O-O Nxe4 | Re1 d5 | Bxd5 Qxd5 | Nc3 Qh5 | Nxe4 Be6 | Bg5 Bd6 | |
| 2 | ... Bc5 | e5 d5 | exf6 dxc4 | Re1+ Be6 | Ng5 Qd5 | Nc3 Qf5 | |
| 3 | ... d6 | Nxd4 Be7 | Nc3 O-O | Re1 Bd7 | f4 Nxd4 | Qxd4 c6 | +/= |
| 4 | ... Be7 | Nxd4 d6 | | | | | | Transposes to above line |
When contributing to this Wikibook, please follow the Conventions for organization.
# Scouting/BSA/American Cultures Merit Badge

Choose THREE groups that have different racial, cultural, national, or ethnic backgrounds, one of which comes from your own background. Use these groups to meet requirements 1, 2, and 3.

## Requirement 1

Do TWO of the following, choosing a different group for each:
    A. Go to a festival, celebration, or other event identified with one of the groups. Report on what you see and learn.
    B. Go to a place of worship, school, or other institution identified with one of the groups. Report on what you see and learn.
    C. Talk with a person from one of the groups about the heritage and traditions of the group. Report on what you learn.
    D. Learn a song, dance, poem, or story which is traditional to one group, and teach it to a group of your friends.
    E. Go to a library or museum to see a program or exhibit featuring one group's traditions. Report on what you see and learn.

## Requirement 2

Imagine that one of the groups had always lived alone in a city or country to which no other groups ever came. Tell what you think the city or country might be like today. Now tell what you think it might be like if the three groups you chose lived there at the same time.

## Requirement 3

Tell about some differences between the religions and social customs of the three groups. Tell about some ideas, or ways of doing things that are similar in the three groups.

## Requirement 4

Tell about a contribution made to our country by three different people each from a different racial, ethnic, or religious background.

## Requirement 5

Give a talk to your Scout unit or class at school on how people from different groups have gotten along together. Lead a discussion on what can be done to help various groups understand one another better.

## External links

* American Cultures Merit Badge with Workbook PDF, current requirements, and resources.
* Earning Merit Badges in the Boy Scouts of America
* National Interests
* American Culture | American Heritage | Citizenship in the Community | Citizenship in the Nation | Citizenship in the World | Crime Prevention | Disabilities Awareness | Public Health | Traffic Safety
# Writing Adolescent Fiction/Character names/Bangladeshi
## Usage note

In Bangladesh, a person's surname depends on his or her religion. There are different pools of surnames for Islamic families, for Hindu families, and for Buddhist families.
First names are taken from the Arab pool (if Muslim) or the East Indian pool (if Hindu or Buffhist).
Many Bangladeshis have two first names: a "good name", used for legal documents, and a "call name", which is what everybody calls them. The two are often unrelated: a man named Vijay may go by Bubai.
Many male Islamic Bangladeshis put Mohammod/Muhammad before their first names, as a prefix rather than a given name in the truest sense of the term. This can be abbreviated to Md.: Md. Ali Sarkar.

## Girls' names

* Banu
* Dilara
* Diya
* Fatema
* Hira
* Jannatul
* Nadia
* Nasrin
* Rani
* Razia
* Razia Sultana
* Sanjida
* Shahla
* Shamsunnahar
* Sharmin
* Taslima
* Umm Kulthum

## Surnames
### Islamic surnames

* Akhand
* Aktar
* Akther
* Batin
* Bhai
* Bhuiyan
* Bishwash
* Chakladar
* Chaqladar
* Chowdhury
* Chy
* Dewan
* Dihidar
* Fakir
* Faqir
* Farin
* Gazi
* Gomastha
* Haldar
* Hazari
* Howladar
* Inamdar
* Joardar
* Karkun
* Kashem
* Kazi
* Khan
* Khondakar
* Kochi
* Lashkar
* Lohani
* Majumdar
* Malangi
* Malik
* Malla
* Mandal
* Matubbar
* Mazumdar
* Meah
* Mia
* Miah
* Mian
* Mir
* Mirza
* Molla
* Muhuri
* Munshi
* Mustafi
* Nahar
* Panni
* Paran
* Parvez
* Patoyari
* Pramanik
* Qanungo
* Quader
* Quazi
* Quddus
* Rab
* Sardar
* Sarder
* Sarkar
* Shah
* Shamsuddin
* Sheikh
* Shikdar
* Sikdar
* Sikder
* Sircar
* Sunny
* Syed
* Talukdar
* Tarafdar
* Thakur

### Hindu surnames

* Banik
* Bapary
* Bhattacharya
* Bhottacharjo
* Bhottacharjyo
* Bhoumik
* Bhowmik
* Bishwas
* Bondyopadhyay
* Bonik
* Bosu
* Byapari
* Chakrabarty
* Chakraborty
* Chokroborti
* Chottopadhyay
* Choudhuri
* Chowdhury
* Das
* Datta
* De
* Debroy
* Dey
* Dotto
* Dutta
* Gain
* Gangopadhyay
* Gayen
* Ghosh
* Ghush
* Gongopadhyay
* Goswami
* Guha
* Guho
* Gupta
* Gupto
* Gushami
* Majumder
* Mitra
* Mitro
* Mozumdar
* Mukhopadhyay
* Munshi
* Munsi
* Nath
* Nil
* Pal
* Paul
* Prabhupada
* Probhupado
* Purakayastha
* Purkait
* Purokayostho
* Ray
* Roy
* Saha
* Sarkar
* Sarker
* Sen
* Seu
* Sorkar
* Thakur

### Buddhist surnames

* Banik
* Bapary
* Barua
* Baruah
* Bondyopadhyay
* Bonik
* Borua
* Boruya
* Byapari
* Chakma
* Chottopadhyay
* Gonggopadhyay
* Larma
* Mahathero
* Marma
* Mohathero
* Mru
* Mrung
* Mukhopadhyay
* Murong
* Murung
* Mutsuddi
* Pal
* Patoyari
* Patwary
* Paul
* Ray
* Roy
* Sarkar
* Sarker
* Sorkar
* Talukdar
* Talukder
* Tanchangya
* Tonchongga
* Tripura
# Scratch/Lessons/Introduction
## Scratch Introduction

Welcome to learning about Scratch!
When you first start Scratch, you will see something that looks like this:
It is important before you begin to understand some basic ideas about Scratch. Scratch is a very visual programming language, and is mainly concerned with two major elements: The stage and sprites (or actors) who perform on that stage.
Each sprite (and the stage itself) has three major parts:
* scripts - this is how you tell the stage and sprites to "do their stuff"
* costumes/backgrounds - these are images which are added to Scratch which allow you to see the sprites. Each sprite can have multiple costumes, allowing a sprite to change its appearance.
* sounds - Not only can sprites appear and change, but they can also "speak" and tell a story. This can also include sound effects and background noises, which can also appear on the stage as well.
Scripts are made up of graphical blocks that each look something like this:
There are nearly a hundred different kinds of blocks that you can use within your Scratch projects, and each one does something just a little bit different.

## Language Options

It should also be pointed out that Scratch is available in multiple written languages. If you click these buttons:
You will see a list of various different languages like this:
What is useful about this tool is that the text of the blocks for Scratch scripts will change if you select a different language. An example of the move block "translated" into German would look like this:
Scratch will also "remember" the language you select, so you do not need to select a new language each time you start Scratch. When Scratch projects are saved, they are not saved in a specific "written" language, but instead are saved as a "move block" or a "say block" and are "translated" into the language of the person using Scratch to see the script. This allows Scratch projects to be shared between people from different cultures and countries, and is one of the strengths of this computer language.

## Extra Help

Clicking on the light bulb button will open a list of tutorial videos that you can watch. There are also some quick reference guides available in Adobe Acrobat™ format, some "Scratch Cards" which are small trading-card like short ideas on how to use Scratch, available to download at https://scratch.mit.edu/ideas.
# Scratch/Lessons/Sharing Projects
## Sharing Projects with the Scratch Community

In order to share projects with others within the Scratch community, you must first sign up for a user account on the Scratch development team website: https://scratch.mit.edu/join
If you are over 18, you are also asked to provide your current e-mail address. If you are under 18, you are asked to provide your parent's e-mail address. Keep in mind that this website is emphasizing appeal to older children, but adults (and parents especially!) are welcome to sign up for their own accounts.
Try to be truthful about the information that you use when creating this account, as it will help everybody when you are trying to work with the site moderators.
If you have developed a project using Scratch that you would like to share with the larger Scratch community, you can upload the project from within the Scratch design interface by pressing the "Share" button.
After you press the Share button, you will then be prompted with the following screen to share your project:
At this point you should try to offer references to where you obtained the images or other content, and give a brief description about what you have done with this project. What you type into this box will appear on the website as a part of the description of this project.
With version 1.4 of Scratch the "tagging" feature works. Try to enter the tags that will let people find your project.
If you want to replace one of your earlier versions with something more up to date, simply use the same project name and repeat this process. This may not work if the title of your project contains special characters like: ' * ! ) # % or anything else of a similar nature.
Remember, a project cannot be uploaded while you are using a proxy server and will fail to upload if it is over 10mbs. To lower your file size check the "Compress Sounds and Images" box in the bottom right corner of the upload screen.
When you press the "OK" button on the bottom, the following uploading box will appear:
followed by:
and finally:
If you click on the "scratch.mit.edu" part of the box in blue letters, it will automatically open your default web browser to the "home page" of your user account, that should look like this if you are just starting out with a project like this:
It should be noted that you don't have a "private area" of projects only you can see. If you have uploaded something to the scratch website, it is available to everybody with an internet connection. With thousands of Scratch projects which have been uploaded, you can have a small sense of anonymity, but somebody determined to look for everything can eventually find it.
There are other features of the website which will be covered in the next section.
# Scratch/Authors

If you have made some major contributions to this Wikibook and wish to be credited as an author or contributor for the purposes of the GFDL and for citing this book, please add your name to the list below:
You do not need to use your full name, and for many people they will just use their user account name. For full copyright protection, you may wish to disclose you full legal name and where you live, although these legal requirements will vary from country to country.
* Robert Scott Horning, Logan, Utah, USA
* Tanderson11, USA
* Blink456, USA