recursal/Fanatic-Fandom huggingface dataset:
Room for History

The story potential for the Prima franchise is immense as the story world before the events of (Core Narrative 1) have yet to be explored. By the end of (Core Narrative 7) we are very familiar with the idea of Pandora's box due to the role it plays throughout the franchise, but the previous roles it played in the events leading up to our stories' modern setting can be capitalized off of. Prima is set on an alternate version of modern day Earth. The Earth's own history is rich with story potential, giving Prima an advantage as the amount of stories that can be told during each time period is near endless.

Ancient Greece is a setting we would love to explore as a potential Westcoast expansion giving the nature of the origins of Pandora's box, a key element in the franchise. There's an entire world of story potential to be explored during this time period, and this would be a perfect time to explore the more mythological side of the franchise. A series acting as a type of prequel would also be incentive for new fans to dive into Prima. Aside from this, there is also the decade long war between humanity, titans, and gods, before the events of (Core Narrative 2)
Phase 3 Plan

## Micro Story 1

**Micro Story Title:** The heart below.

**Platform:** Drama Series.

**Logline:** "Apparently, Area 51 is actually a secret world organization that has been in charge of manipulating humanity for almost a century. Since it was created, it has been planting false propaganda about the extraterrestrial presence in people's heads. However, all that is just a facade to hide what is truly behind those walls.

What would happen when a simple security guard accidentally trespass a forbidden area? Would he be afraid of the truth or fall in love with the lie?

**About:** This is a love story. The main character fell in love with a mermaid and she tricked him to open Pandora's box releasing the bad to the world. The mermaid betrayed him at the end.
What are tuples?

A tuple is a collection and iterable which is ordered and unchangeable.

## Syntax

This is how you create a tuple:

```
aTuple = ("Thing01", "Thing02", "Thing03")
print(aTuple)

# Returns :
('Thing01', 'Thing02', 'Thing03')

```

You can access items in a tuple using number indexes :

```
print(aTuple[2])

# Returns:
Thing03

```

## The difference between lists and tuples

* Tuples are **immutable** (cannot change the values in place) where lists are mutable (can be changed in place).
* Syntax :

```
tupple_colours = ('red', 'blue', 'green')
list_colours = ['red', 'blue', 'green']

```

* Tuples do not need to be copied, since tuples are immutable.
* Tuples are **smaller** in size than lists.
* Tuples are **heterogeneous** whereas lists are homogeneous. Meaning that different data can be stored in a single tuple while lists must have all the same data types stored in them.
* Lists are for varying length, whereas tuples have **fixed length**.
* Tuples show structure where lists show order.
* Tuples are **comparable** and **hashable** so we can sort lists of them and use tuples as key values in dictionaries. (hashable: A type that has a hash function. Immutable types like integers, floats, and strings are hashable; mutable types like lists and dictionaries are not.)
* Tuples can be used as values in sets, lists can not.

## Tuples as dictionary keys

Some tuples can be used as dictionary keys (specifically, tuples that contain immutable values like strings, numbers, and other tuples). E.g :

```
tupleDict = {('this', 'is'): 15,
             ('an', 'example'): 19,
             ('tupleDict'): 24}

```

Lists can never be used as dictionary keys, because lists are not immutable. E.g :

```
listDict = {['this', 'is']: 15,
            ['an', 'example']: 19,
            ['tupleDict']: 24}

# Returns:
TypeError: unhashable type: 'list'

```

## Tuples as values in sets

Tuples can be used as values in sets :

```
tupleSet = {('this', 'is'),
            ('an', 'example'),
            ('example', 'snippet')}
print(tupleSet)
print(type(tupleSet))

# Returns:
{('example', 'snippet'), ('an', 'example'), ('this', 'is')}
<class 'set'>

```

Lists can not :

```
listSet = {['this', 'is'],
           ['an', 'example'],
           ['example', 'snippet']}

# Returns:
TypeError: unhashable type: 'list'

```

## References

Python Tuples

Difference between lists and tuples in Python?

Python Learn: Tuples

What advantages do tuples have over lists?
List Comprehension

List comprehension provides a concise way of creating lists.

```

```

```

```

## Examples

### Basic Example

Here is a piece of code that calculates the squares of 0 - 9 NOT using list comprehension.

```
squares = []
for x in range(10):
    squares.append(x * x)

```

Returns :

```
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

```

Now here is the same code but using list comprehension:

```
squares = [x * x for x in range(10)]

```

### Filtering

Here we are calculating the same set of values as above but we are only keeping the even numbers.

```
even_squares = [x * x for x in range(10) if x % 2 == 0

```

Returns :

```
[0, 4, 16, 36, 64]

```

If you wanted to do the same thing with a for-loop:

```
even_squares = []
            even_squares.append(x * x)

```
Working with JSON in Python

## What is JSON?

JSON (Java Script Object Notation) is a subset of the JavaScript programming language dealing with object literal syntax. More in depth information on it can be found HERE.

Example JSON:

```
{
    "firstName": "Jane",
    "lastName": "Doe",
    "hobbies": ["running", "sky diving", "singing"],
    "age": 35,
    "children": [
        {
            "firstName": "Alice",
            "age": 6
        },
        {
            "firstName": "Bob",
            "age": 8
        }
    ]
}

```

It supports primitive types such as strings and numbers, as well as nested lists and objects. Looks a lot like a Python dictionary doesn't it!

## The JSON Python module

Python comes with the built-in package we need for encoding and decoding JSON data. We just need to import the module using:

```
import json

```

The process of encoding JSON is often called **serialization**. This refers to the transofrmation of data into a series of bytes to be stored or transmitted across a network.

Another term often used is **marshaling**. This term refers to the task of passing objects to remote objects (RMI). To "marshal" an object means to record its state and CodeBase(s) in such a way that when the marshalled object is "unmarshalled", a copy of the original Object is obtained, possibly by automatically loading the class definitions of the Object. This is a more complex topic and won't go into it any further here.

*NOTE:* **CodeBase** is information that tells the reciever of Object where the implementation of this object can be found.

Now **deserialization** is the reciprocal process of decoding data that has been stored or delivered in the JSON standard syntax.

### Serializing JSON

When a computer processes a heap of information it will need to take a big ol' data dump.
So the *json* library has a *dump()* method for writing data to files. There is also a *dumps()* method for writing to a Python string.
Simple Python objects are translated to JSON according to this conversion chart:

 list, tuple
 str
 int, long, float
 True
 False
 None

Here is an example of serialization:

```

# Python object.
data = {
    "president": {
        "name": "Zaphod Beeblebrox",
        "species": "Betelgeusian"
    }
}

# Write object to file.
with open("data_file.json", "w") as write_file:
    json.dump(data, write_file)

# Or you can serialize your data by writing it to a native Python str object.
json_string = json.dump(data)

```

You can also use the *indent* keyword argument to specify the indentation size for nested structures:

```
json.dumps(data, indent=4)

```

Another formatting option is the *seperators* keyword argument. By default this is a 2-tuple of the seperator strings (", ", ": "), but a common alternative for compact JSON is (",", ":").

You can kind more keywords HERE.

### Deserializing JSON

In the *json* library you will find *load()* and *loads()* for turning JSON encoded data into Python objects.

 array
 string
Regex python module

A RegEx, or Regular Expression, is a sequence of characters that forms a search pattern.

It is useful for mainly two tasks:

1. Verifying that strings match a pattern (for instance, that a string has the format of an email address).
2. Performing substitutions in a string (such as changing all American spelling to British ones).

## Some basics

The below example checks whether the pattern "spam" matches the string and prints "Match if it does.

```
import re

# Run 're.match' function to determine whether it matches at the beginning of a string.
if re.**match**(pattern, "spamspamspam"):
    print("Match")
else:
    print("No Match")

>>>
Match
>>>

```

Other functions we can use to match patterns are *:*

*re.search*: finds a match of a pattern anywhere in the string.

*re.findall*: returns a list of all substrings that match a pattern.

```
if re.**match**(pattern, "eggspamsausagespam"):
    print("Match")
else:
    print("No match")

if re.**search**(pattern, "eggspamsausagespam"):
    print("Match")
else:
    print("No Match")

print(re.**findall**(pattern, "eggspamsausagespam"))

>>>
No match
Match
['spam', 'spam']
>>>

```

The regex search returns an object with several methods that give details about it.

*group*: returns the string matched.

*start/end*: returns the start and ending postions of the first match respectively.

*span*: returns the starts and end positions of the first match as a tuple.

```
import re

pattern = r"pam"

match = re.**search**(pattern, "eggspamsausage")

if match:
    print(match.**group**())
    print(match.**start**())
    print(match.**end**())
    print(match.**span**())

>>>
pam
4
7
(4, 7)
>>>

```

## Search and Replace

One of the most important regular expressions is *sub*.

```
re.**sub**(<pattern>, <repl>, <string>, max=0)

```

**pattern** = the pattern you are matching.

**repl** = the thing you are replacing the matched pattern with.

**string** = The thing you are running the substitute on.

e.g:

```
import re

my_string = "My name is Renee. Hi Renee."
pattern = r"Renee"
new_string = re.**sub**(pattern, "Daniel", my_string)
print(new_string)

>>>
My name is Daniel. Hi Daniel.
>>>

```
Python

## Basics

* Class level and Instance level
* List Comprehension
* Guide to Python Dictionaries
* The Difference Between Methods and Functions
* What are tuples?
* Variables vs Objects
* Introduction to the \_\_name\_\_ Variable
* Python Sets

## Advanced

* Learning Generators
* Map, Filter, and Reduce
* What is lambda?
* Understanding Decorators
* What are dispatch tables?
* Introduction to Python's \_\_slots\_\_
* Co-Routines in Python
* OOP in Python
* Monads

## Modules

* Debugging with Pdb
* Testing with pytest
* Learning Numpy
* Pickling and Shelving in Python
* Selenium - The web-based automation tool
* Pandas Python Library
* Python virtual environment
* Partial functions in the functools module
* Building CLI interfaces with Argparse
* Regex python module
* Working with JSON in Python

UI
--

* Qt Designer and PyQt

## Misc.

* Interesting Reads
* Interesting advanced Python concepts
* Python Style Guide
Basic Stuff

## Handy Shortcuts

* Scroll through frames: **<**and **>**arrow keys
* Play through sequence: **space bar**

## Create Buffer Compression File

**Playback** -> **Export Buffer Compression File...**

## Point Group Objects

One point group and one camera are created by default when starting a new project.

There are 3 different types of point groups:

1. Camera : Used to reconstruct the motion of a camera.
2. Object : Used to reconstruct the motion of a moving object.
3. MoCap: A special type for motion capture.

## Navigating the Display Area

Zoom in and out: **Right-Mouse button**

Move around footage: **Middle-Mouse button**

Zoom out to fit image in display area: Hit **Full Frame**button
Livslängd

Galaxen är hem till en stor mängd olika arter med varierande form och biologi. Den vanligaste arten i galaxen är Människan, som lever i genomsnitt 90–100 år med god tillgång till medicin och sjukvård. På planeter med bristande sjukvård kan medelivslängden (med inräknad barnadödlighet) sjunka till så lågt som 40 år.
Co-Routines in Python

## What are they?

So as discussed in Learning Generators, a generator function is a function with the *yield* statement instead of the usual *return*statement.
Python generators can also consume values using a (*yield*) statement. In addition two new methods on generator objects, *send()* and *close()*, create a framework for objects that *consume* and produce values. Generator functions that define these objects are called ***co-routines***.

## How do they work?

Co-routines consume values using a (*yield*) statement as follows :

```
value = (yield)

```

With this syntax, execution pauses at this statement until the object's *send* method is invoked with an argument :

```
coroutine.send(data)

```

Then, execution resumes, with *value* being assigned to the value of *data.*To signal the end of a computation, we shut down a co-routine using the *close()* method. This raises a *GeneratorExit* exception inside the co-routine, which we can catch with a *try/except* clause.

## Differences between generators and co-routines

Co-routines are similar to generators with a few differences. The main differences are:

* Generators are data PRODUCERS
* Co-routines are data CONSUMERS

Here is an example of a **generator** :

```
def fib():
    a, b = 0, 1
    while True:
        yield a
        a, b = b, a + b

```

We would then commonly use it in a for-loop like this:

```
for i in fib():
    print(i)

```

It is fast and does not put a lot of pressure on memory because it GENERATES the values on the fly rather that storing them in a list.

Now if we use *yield* in the above example, we get a **co-routine**.

```
def grep(pattern):
    print("Searching for ", pattern)
    while True:
        line = (yield)
        if pattern in line:
            print(line)

```

Co-routines consume values which are sent to it.

So what does *yield* return? Well we have turned it into a co-routine. It does not contain any value initially, instead we supply it values externally.

We supply values by using the *.send()* method :

```
search = grep('coroutine')
next(search)

# Output: Searching for coroutine
search.send("I love you")
seach.send("Don't you love me?")
search.send("I love coroutines instead!")
# Output: I love coroutines instead!

```

The send values are accessed by *yield*. Why did we run *next()*? It is required in order to start the coroutine. Just like generators, co-routines do not start the function immediately. Instead they run it in response to the *\_\_next\_\_()* and *.send()* methods. Therefore you have to run *next()* so that the execution advances to the *yield* expression.

We can close a co-routine by calling the *.close()* method :

```
search = grep('couroutine')
# ...
search.close()

```

## References

Coroutines  - pythontips.com

Coroutines and Tasks - docs.python.org

Why do we need coroutines in python? - Stackoverflow

Python Coroutines - wla.berkley.edu
Debugging with Pdb

## How to use Pdb in your program

To use Pdb (Python DeBugger) we need to import pdb and set traces where you want the tracing to begin.

```
import pdb

names = ("Renee", "Dan", "Jonny", "Joel")
pdb.set_trace() # Trace will commence here.
for each in names:
        print("Hello %s" % each)

```

Now when running the code in a terminal it will look something like this:

```
D:\pythonStuff\learning\debugging
λ python epdb2.py
> d:\pythonstuff\learning\debugging\epdb2.py(5)<module>()
-> for each in names:
(Pdb)

```

## Commands

When you execute your python program in the command line and you get the above with the (Pdb) promt you can use some of the following commands.

### Next (n)

Press the lower-case "n" and press enter. This will tell pbd to execute the next line of code. You can use this to step through your code line by line.

### Repeating last command (enter)

By pressing "enter" at the prompt, pbd will execute the last command you used.

### Quit (q)

This will exit you out and back to the regular command prompt.

### Print (p)

This allows you to print the value of a variable in your code.
For example with the code above, if I type:

```
p names

```

it will return:

```
('Renee', 'Dan', 'Jonny', 'Joel')

```

You can also print multiple variables by typing:

```
p variable1, variable2, variable3

```

Note that if you try and print a variable name before that declaration has been executed, you will get a NameError exception.

### Continue (c)

If you wish to stop debugging and just let your code execute on it's own, press "c".

### List (l)

"l" (lower-case L) shows you the area of code you are currently executing. By default it lists 11 lines of code.
The line of code you are about to execute (the current line) is displayed with an arrow ("->") pointing to it.

### Stepping into subroutines (s)

While stepping through a program, when you come up to a function/subroutine you may want to "step into" it. To enter the subroutine, step through the program till you get up to the line of code that calls said subroutine, and press "s". This will allow you to start debugging the code inside the subroutine.

### Continue to end of current subroutine (r)

If you want to skip  ahead to the end of the subroutine, you can press "r" ("continue till return").
This will allow you to skip to the end of the subroutine and go back to stepping through the code.
Interesting Reads

str() vs repr() : Both are used to get a string representation of an object, but what is the difference and why should you use them?

enum in Python : A quick look at what the enum module is and how it works.

Decent Code : A guide/checklist to help people level-up their coding and code-reviewing.

An A-Z of useful Python tricks : Just what the title suggests.

Python Tricks 101 : A bunch of cool python tricks.

File Handling Cheat Sheet in Python : Important basics of handling files in Python.

Controlling the Web with Python : An example of how you can use the Selenium module to automate web tasks.

Generating WordClouds in Python : How to generate word clouds from csv files.

What Can I Do With Python? : Project ideas and tutorials for Python projects.

Web Scraping, Regular Expressions and Data Visualization : Example of how to do all that stuff in a small project.
Using Modern OpenGL with GLEW

In order for us to gain access to modern OpenGL functions we are going to need to get ourselves the OpenGL Extension Wrangler Library (GLEW). Which is a cross-platform open-source C/C++ extension loading library. We could also use GLAD to do this but for our purposes we are going to be using GLEW.

### Step 1 : Downloading GLEW

So our first step will be to go to the website glew.sourceforge.net.  Then we need to click on the download for Windows 32-bit and 64-bit Binaries.

Once that download is complete, go into the downloaded zip folder and copy the glew-2.1.0 folder into our Dependencies folder of our project.

You can rename this folder to 'GLEW' if you like.

### Step 2 : Check out the documentation

If you look inside your new GLEW folder you will see a folder named 'doc'. In here you can find all the documentation for GLEW. This is important to look through to get a good idea of how all of this is supposed to be run. For example it tells us how we initialize GLEW if you go to index.html -> Usage.

### Step 3 : Setting it up for our project

Inside Visual Studio right click on your project in Solution Explorer and go to 'Properties'. Then go to 'C/C++' and 'General'.

Go to 'Additional Include Directories', add a semicolon to the end of what is in there currently and add the location of the GLEW 'include' folder along with the macro for solution directory in front. In my case it will look like this : $(SolutionDir)Dependencies\GLEW\include

Next we want to link up the libraries. so we go into Dependencies -> GLEW -> lib ->Win32 copy that directory down and so the same as above except we are adding this into Links -> General ->Additional Library Dependencies.
$(SolutionDir)Dependencies\GLEW\lib\Release\Win32

Then we want to go to Linker -> Input and then to Additional Dependencies and add glew32s.lib to the list of things we have in there.

Now we should be able to call glewInit(); in our Application.cpp file as well as add #inclue <GL/glew.h>. Make sure you have your #include line ABOVE any of your other #includes in your code. Otherwise you will get an error.

Also in our code we need to make sure that we define GLEW\_STATIC, otherwise we will get a linking error. To do this we must go back into properties, go to C/C++ -> Preprocessor and in Preprocessor Definitions we add GLEW\_STATIC;

### Step 4 : The semantics of usage

Now we have to make sure that we are calling glewInit() in the proper place AND we need to make sure that we create a valid rendering context BEFORE the init (as stated in the usage docs).

<- As you can see here, we call glewInit() AFTER glfMakeContextCurrent.

Now we have access to all current/modern functions!

## References

Using Modern OpenGL in C++ - TheChernoProject
The Difference Between Methods and Functions

Because Python has both functions AND methods, let's look into the key differences between the two.

## Python Methods

A method is a function that **is a member of a class**. For example:

```
        print("Hello! I am a member of SomeClass.")

thing = SomeClass()
thing.someMethod()

```

### Key Features

1. Methods are called by name, but it is associated to an object (**dependent**).
2. A method is implicitly passed the object on which it is invoked.
3. It may or may not return any data.
4. A method can operate on the data (instance variables) that is contained by the corresponding class.

## Python Functions

A function is a block of code which only runs when it is called.

You can pass data, known as parameters, into a function. And a function can return data as a result. For example:

```
def someFunction(name):
    print("Hello %s!" % name)

someFunction("Renee")

# Returns:
Hello Renee!

```

### Key Features

1. A function is a block of code that is also called by its name (**independent**).
2. The function can have different parameters or may not have any at all. If any data (parameters) are passed, they are passed explicitly.
3. It may or may not return any data.
4. Functions do not deal with Classes and the concept of instances.

## References

What is a "method" in Python? - stackoverflow

Difference between Method and Function in Python - GeeksforGeeks

Python Functions - w3schools.com
CLI To-Do List

**= COMPLETED =**

## About

The idea for this basic script is to emulate my physical pen-and-paper To-Do list by creating a command-line script that can create, store, and edit a To-Do list from the command-line.

Git: CLI\_ToDoList

## What I Learnt

I learnt (re-learnt) how to use the Argparse module in Python and handle files.

I learnt how to manipulate lines inside text files and how to edit them from the command line.

I also learnt how to use the datetime, and colorama modules. As well as finding out you can use the webbrowser module to open text files in basic text editing programs in Windows and Linux.

Another thing that I learnt was how to find out the operating system your script is being run in using the os module.

## References

Here are some of the sites that helped me while building my script.

How to get current date and time in Python

How do I check if I'm running on Windows in Python?

colorama 0.4.1

Creating and Deleting Directories with Python

Python File Handling

argparse python docs

Building Beautiful Command Line Interfaces with Python

Python Advanced Tutorial 3 - Argparse

Using Python for deleting a specific line in a file

Python Argparse Cookbook
Python Sets

## What is a set?

A set is a collection of items which is unordered and unindexed. They are defined using curly braces:

```
some_set = {"thing01", "thing02", "thing03"}

```

Or you can build a set using the set constructor:

```
some_set = set(("thing01", "thing02", "thing03"))

# Note the rounded braces used here instead of the curly braces.

```

You can have different types in a single set too, like so:

```
some_set = {12, "thing"}

```

## Accessing items

Unlike lists you can not asscess items in a set using indexing, because sets are unordered and have no indexes.

```
for thing in set_of_things:
  print(thing)

```

But you can loop through a set with a for-loop, or ask if a specific item exists in the set by using the ***in*** keyword:

```
set_of_things = {"Bulbasaur", 1, "Grass"}
print("Grass" in set_of_things)

## Changing items

Once a set is created, you cannot change the items inside it. But you CAN add new ones.

### Adding items

To add a new item to a set we need to use the ***add()*** method.

To add more than one item to a set we need to use the ***update()*** method.

```
set_of_things = {"Bulbasaur", 1, "Grass"}
set_of_things.add("Cute")

set_of_things.update(["Lettuce Boi", "Grass Baby", "Onion Frog"])

```

### Removing items

To remove an item in a set we can use either the ***remove()*** or the ***discard()*** method.

```
set_of_things.remove("Onion Frog")
set_of_things.discard(1)

```

You can also use the ***pop()*** method to remove the last item in the list, however this isn't ideal in the case of sets as sets so not have any order, so you won't necessarily know what you are removing.

### Empty the set

To empty/clear the set you can use the ***clear()*** method:

```
set_of_things.clear()

```

If you want to delete the set entirely you can use the ***del()***keyword:

```
del set_of_things

```

## Getting the length of a set

We can determine how many items are in a set by using the ***len()*** method. Same as we use for strings and lists.

```
print(len(set_of_things))

```
Pandas Python Library

## What is it?

"Pandas" stands for "Python Data Analysis Library". It is used for (as the name suggests) analyzing data in Python, and is the preferred and widely used tools in data munging/wrangling .

It is a open-source, free to use (under a BSD license).

## What does it do?

It takes in data (like a CSV or TSV file, or a SQL database) and creates a Python object with rows and columns called a data frame, that looks very similar to a table in statistical software (like Excel or SPSS for example).

It is far easier to work with that lists and/or dictionaries through for-loops or list comprehension.

## References

A Quick Introduction to the "Pandas" Python Library by Adi Bronshtein
Debate Rules

Occasionally, debates can get 'heated' or in formal terms, a contention, especially regarding controversial issues. If you disagree with another user's perspective on a topic, do not spam the comments section of their page or harass them, instead create a new page with Rebuttal:<insert debate article name>.

If you choose otherwise, then you will be warned. If you continue to perform similar actions to those of which you have been warned not to perform, you will be blocked from editing. There on, your block will increase if these actions are performed.
Selenium - The web-based automation tool

## What is it?

Selenium is an open-source web-based automation tool, a Python module that lets you automate scripts with your web browser.
It is a tool that can be used to test web applications, this can be done in various way. For instance you can :

* Tap buttons on a page
* Enter content in structures (entering texts to search fields for example)
* Skim the site to check whether everything is "OK", etc.

This is all done by searching for elements in a web application, and allows you to interact with them.

This is done with functions such as .click() or .send\_keys(***some text***)
This is similar to accessing html elements in Beautiful Soup.

## References

Selenium Webdriver using Python: Tutorial with Example - Guru99

Advanced Python Programming: Browser Automation with Selenium - The Codex

Selenium project description - pypi.org
Debate:Gun Control

I am for gun control as firmer gun control laws assist in reducing deaths caused by firearms. Guns are the leading cause of death(Homicides 66%) and suicide(52.2%).Firmer gun control laws may lead to fewer suicides as 52% of suicides in 2013 were caused by guns. Guns are rarely used in self defense, and legally owned guns are often stolen by criminals. Firmer Gun Control laws would also help reduce the societal costs caused by gun violence. In 2010 gun violence cost each person $564 and the U.S. Government lost 5.5 billion in tax revenue as a result.

Mandatory safety features of guns may help prevent more accidental deaths; it may also help parents to stay far more aware of their children when they're around loaded guns. With firmer gun control laws, less people would have guns which allows for conflicts to remain less violent and toned down. Civilians wouldn’t be able to access military grade firearms or firearm accessories due to restrictions as a result of such gun control laws. These types of weapons are used for mass murders,school shootings,a plethora of homicides, and even genocide by criminals, but not for law-abiding citizens. Firmer gun control laws would have a massive impact on reducing death rates, as well as ensuring the safety of many more citizens than before.
Exposition Rules and Standards

There are a few regulations and rules you must follow in order to use the Exposition Wiki.

## Quality of Expositions

In order to keep this Wiki in a good shape, we need to set quality standards to delete junk. Junk is expositions that are bad, short and unedited for too long, blacklisted, etc. Here are some guidelines to follow.

(1) Try to make your expositions long, without using fill. Fill, or filler, is unnecessary information, thrown in to extend the piece of writing/movie. As we aren't 'moviemakersforkids.com', it will apply to the former.

(2) Do not use blacklisted subjects.

(3) If your exposition applies to a specific area, e.g. Pikachu VS Raichu, you must put it under the correct category. If your pasta is a fictional topic, it must be marked as such.

(4) All unfinished expositions must be marked at the **top** with WIP and have an 'unfinished' category.

(5) If your exposition contains questionable content, it may be subject to deletion. If an exposition is deleted, the owner and/or writer will usually be contacted. If they are not, wait a few days. If still not, they didn't bother to send a deletion message. This is perfectly acceptable, as many expositions will probably be junk.

## Rules for your Exposition

### Basically more standards.

(1) Your expositions will be deleted after 3 weeks of no edits from the owner or original writer. If they are under 500 words. This will vary, and is just a guideline.
Favourite Sites

This is basically just a list of sites such as blogs, Youtube channels, and podcasts that I like to try and keep up with.

### Programming

#### Coding Challenges

* Hacker Rank
* Code Wars

#### Tutorial Sites

* Real Python
* Python Central
* Awesome Python

#### Blogs

* Python Conquers The Universe
* Coding Horror : Programming and human factors
* Hacker Noon
* Casper Beyer - Medium
* Software Engineering Daily
* Lucumr
* Love-Python
* Hacker News
* Jon Skeet's Coding Blog
* The Code Ship
* Technology: As If People Mattered

#### Forums

* Rohitab
* r/programming

#### Youtube

* Commaai Archive
* Bisqwit
* Coding Tech
* Computerphile
* DevTips
* Engineer Man
* Sentdex
* Traversy Media
* Trevor Payne
* FreeCodeCamp.org
* The Coding Train

#### Podcasts

* Software Engineering Radio
* Programming Throwdown

### VFX

#### Blogs

* Rigging Dojo
* VFX Blog

#### Forums

* Tech-Artists.org
* Real-Time VFX
* CG Society

#### Youtube

* FX Hive
* Tech Art Aid
* VFX Pipeline

### Youtube

* The Linux Foundation
* Two Minute Papers
* Welch Labs
Exposition Wiki

## Welcome to the Wiki

Welcome to the Exposition/Persuasive Wiki. This wiki is made for debates and expositions. We also allow a small amount (not an overflow) of procedure writing. If you have a question please contact a staff member here.

## What is an exposition?

An exposition is piece of writing used to persuade people to join one side of an argument, change their opinions, etc. This Wiki will also hold regular debates, so jump in to one of them if you want!
Should the D.A.C.A. program be modified?

I am against the United states government extending or modifying the D.A.C.A. Program (the deferred action for childhood arrivals). The United states government has already begun to alter the D.A.C.A. program. A main reason why we must end the D.A.C.A. program is because we, as the general population, pay hundreds of millions to reunite many minors(some of which are uneducated) with their illegal parents in the US.

Although protecting illegal immigrants from consequences of violating the law may appear virtuous; if they get unto D.A.C.A., the incentives for law violating will increase on our border. Economists call this the moral hazard problem. House Judiciary Committee Chairman Bob Goodlatte states,"President Obama's refusal to enforce our immigration laws and decision to unilaterally create immigration programs encouraged more illegal immigration and contributed to the surge of unaccompanied minors and families seeking to enter the U.S. illegally." This discusses how D.A.C.A. actually encourages illegal immigration. Before Trump was even president, the D.A.C.A. program was still temporary and was likely to be removed anyway.

Although dissenters of this and the dreamers may state that it provides a possible path for citizenship for people that are illegal immigrants, despite having lived in america their whole lives, by D.A.C.A. protecting illegal immigrants they may be conveying the wrong message to our country; that they should,in fact, be offered the same rights as those who legally obtained them. It would decrease job opportunities and resources due to more people illegally coming to America. Also, the dream act requires an applicant to have an Associate’s degree in college. Statistics taken in 2014 reveal that only 10.5 million illegal immigrants out of 64.1 million Americans have college degrees. That merely accounts for 16% of American population and there are plethora of immigrants far beyond that. Therefore, I am against the United states government extending or modifying the D.A.C.A. program.
Кризисы Ньярманга

драконы, насколько бы они не были далеки от людей, могут служить примером неудачного брака.

Сын Тиамат и Бахамута
Ньярманг, был рожден обычным по меркам того времени драконом, сохранившим в
себе оба аспекта своих родителей. Мало известно о его судьбе до начала первого кризиса, кроме
того, что во время конфликта бога металиков и богини хроматов, который и разделил драконов навсегда, он был в другом плане.

Однако именно он, получив неизвестным путем божественную
силу попытался вернуть драконам утраченную полноаспектность, чем привлек под
свои знамена как и истинных драконов, так и тех, кого не считали достойными этого названия, таких как, кристаллических, стихийных, и силовых драконов.  Но этих сил не хватило что бы побороть их собратьев. Объединенные силы
Тиамат и Бахамута во главе с ними самими разбили желающих стать
настоящими драконами. Повержен был и сам Ньярманг. Однако, он был спасен Келемвором, богом смерти,
который поместил умирающего бога в свой зверинец.

Основные боевые действия происходили на хребтах величия, около Алмазного пика, недалеко от места силы.

### Второй Кризис.

История второго кризиса началась с приключения Саргота, опытного приключенца, который в компании друида и мага, проник в подплан Келемвора, где он и хранил мертвых богов. Детали приключения полностью неизвестны, но в итоге, друид вернулся без души, а маг крупно поссорился со Сарготом и ударился в некромантию и драконистику, пытаясь одновременно мешать Сарготу , а сам герой вывез оттуда харизматичную жену (Казалось бы, что может пойти не так, когда берешь жену из плана мертвых). Артефакт который они вынесли был Каменем Забытой Души - он уже сам по себе, привлек внимание баатезу, как ценное приобретение для Войны Крови, и для поимки Саргота отрядили Демона Ямы - но тот в своей миссии не преуспел, да и не то, что бы хотел это делать, занявшийся вместо этого ловлей душ.

Не вполне понятно, куда делся Камень, к моменту начала приключения основной группы, возможно Срагот его кому-то передал. Некромант, теперь, всячески мешал Сарготу с новой женой, и в конце выяснилось, почему. Каким-то образом порвать Ньярманга пополам оказалось способом, позволяющим при условии изъятия Камня вынести его в матплан. И дух Саргота, убитого чемпионом нежити и пойманного в темпоральную ловушку, которую сломала партия, проткнул мечом свою жену, и они преобразовались в аватар Ньярманга.

Именно Баатезу пришли за тем артефактом, что запирал Ньярманга у Келемвора, в этом изначальная связь демонов и культистов.
Blacklisted Subjects

This article was made to tell you which subjects you are **NOT** allowed to make expositions about.

## Semi-Blacklisted Subjects

This is for subjects that are able to be used limitedly or in special circumstances.

• Political arguments. This is a controversial topic and there will be strict limits imposed on it. You are prohibited from making expositions with things like this in it:

"Don't vote for Example. Why would you vote for him? He stinks and is terrible."

## Blacklisted Subjects

• Real life court trials. This isn't courtofjustice.co.uk or something. We don't want to hear about the terrible crimes people have done. It is unnecessary and sometimes disgusting.

• Inappropriate or mature content. You know what I mean. This also prohibits talk about these subjects, and demotions and or punishments will be given out if a user makes the mistake of doing that.
La dette

**La dette** est le sixième épisode de la saison 2 de *Balthazar.*

## Synopsis

*Nos héros sont réunis pour la remise de médaille de Delgado quand un appel d'urgence trouble la fête : une jeune fille terrifiée demande de l'aide, elle a été enlevée... La communication coupe sur ses cris de terreur... A l'endroit où son téléphone a borné pour la dernière fois, une voiture vide. Et dans le coffre... des serpents. La jeune fille enlevée, Lola, est l'unique témoin d'un incendie criminel qui a envoyé le principal suspect en prison. A-t-il monté une opération depuis sa cellule pour mettre sa menace à exécution ? Quel est le lien entre la disparition de Lola et cet incendie ? Pourquoi ces serpents dans le coffre ? Et surtout, Lola est-elle encore vivante ?*

## Fiche technique

* Créée par Clélia Constantine et Clothilde Jamin
* Réalisateur : Jérémy Minui
* Scénario : Nicolas Clément, Clélia Constantine, Julie-Anna Grignon et Clothilde Jamin

## Distribution

* Tomer Sisley : Raphaël Balthazar
* Hélène de Fougerolles : Hélène Bach
* Yannig Samot : Jérôme Delgado
* Philypa Phoenix : Fatim
* Côme Levin : Eddy
* Aliocha Itovich : Antoine Bach
* Pauline Cheviller : Lise
* Gabriel Caballero : Hugo Bach
* Aminthe Audiard : Manon Bach
* Leslie Medina : Maya
* Romain Deroo : Olivier Courtani
* Cédric Appietto : Stéphane Lafont
* Caroline Chirache : Solène Delpias
* Jean-Patrick Delgado : Phlippe Brunel
* Marie-Pierre Nouveau : Nathalie Brunel
* Léa Biron : Lola Brunel
* Daphné Bonneton : Thaïs le Mauff

## Vidéos

Bande annonce Episodes 5 & 6 Balthazar Saison 2
Хронология событий

**1** - Начало древнейшей сохранившейся летописной истории. К власти на Востоке пришел Хио Ву Та, "Демон Востока"

**500** - Хио Ву Та захоронен, начало правления его переемников, тридцатилетнее Восстание, истребление и бегство змеелюдей-эсан. Начало эпохи Перемен, войны, дробление и переформирование государств.

**1500** - Начало эпохи Вечного Мира на Востоке, на западе - основание государства эсан и королевства гноллов, Нирта

**2500** - Первая Империя Ардеры, с гигантскими крабами-стражами и воинствующим пелоризмом, а также Старым собором на месте явления Аватара Пелора.

**3300**- Формирование Северного Союза людей и эсан

**3600** - Первый кризис Ньярманга. У Нирта есть действующая система обороны и связи, в Гилосе живут дикие эльфийские племена. В Ардере, вокруг Старого Собора (со священным источником) строят Новый Собор.

**3800** - Начало войны Альянса людей и эсан против Нирта.

**3903**- Конец войны, катастрофа, водный блок над Ухташ. В Ардере - Вторая Империя, все еще с грифоньими всадниками.

**4100** - получение Алараном, эльфийским героем-полуэльфом, дара бессмертия и анонимности. Второе междуцарствие в Ардере, становление Третьей Империи без воинствующих орденов.

**4535** - Откровение и войны солнцепоклонников на восточном континенте

**5111** - Люциус и Ралгурд встречаются в таверне Фабрада. Старт событий игры.**1207**год от Катастрофы и **576**от Откровения.
Нити

Особый способ ворожбы, принятый на востоке. Основные отличия
его от обычного в том, что он не взаимодействует с эфирным планом, а использует
ресурсы из плетения мира. В многом именно благодаря использованию такого
необычного стиля колдовства и сформировались особые восточные стихийные школы,
такие как воздуха, огня, земли и различные из смешения, вроде школы речного
песка.

Одним из наиболее интересным приемом данных школ является
возможность выплетать и вплетать нити в узор, тем самым убирая или добавляя
свойства. Например в Набау, водные нити выплели из узора, буквально убрав жидкости из этого места, почти сразу превратив джунгли в
пустыню, что стало известно позже как «Водный блок».

Подобная зона не только не дает воде проникать в это место, но и не дает призывать воду из водного плана.
Пелор

**Пелор** - одно из верховных божеств этого мира. Является персонифицированным солнцем, но не все уверены в истинности этой трактовки. О его сущности больше всего известно через **Откровение**, и оно же служит главным источником путаницы.

### Откровение

Началось с теологического спора - собрались как-то девять течений солнцепоклонников выяснить, какой бог настоящий. Организовано это было, конечно, самоуверенными пелоритами. Было это на территории Тетраполии, потому она у пелоритов теперь зовется епископатом Откровения. Откровение состояло в том что они сделали коммун, но в итоге связались либо с различными богами, либо с различными аспектами одного и того же божества.

Потом была большая резня. Победителями вышла коалиция добрячков, причем пелориты заграбастали большую часть профита, ауриэлитам остался Блондейл, а инвиктитам один монастырь и запрет на проповедничество. Еще выжили адепты Черного Солнца, которые сбежали в пустыню и там с тех пор укоренились. Все остальные были вырезаны. Это положение дел закреплено Конкордатом Откровения, который год назад пошел под откос из-за желания пиратора привлечь побольше мяса для войны.

### Пелориты

Церковь Пелора на территории Третьей Империи имела множество заведений, обучающих новое поколение священнослужителей, и среди этих учреждений была, хоть и негласная, но четкая иерархия престижа. Обители Нового Собора и Нуцеи были парной вершиной этого множества.

В военно-социальном плане лидером было столичное заведение, ведь здесь обучались все императрицы и добрая часть императоров Ардеры со времен самого его основания в годы Первой Империи. Выпускники Собора чаще шли в капелланы, а молодые люди, оставившие в стороне жреческую часть образования, обычно выходили отсюда с определенным набором общественных связей.

Почти все одногодки участвовали в ведущих свою историю как минимум от прошлого Междуцарствия "кружках самообразования" - внеурочных сессиях обмена полученным вне обители опытом между учениками. Кружки были традиционно "секретными" (хотя об их существовании, конечно же, все знали), а неотъемлемое от дворянского образования дуэльное искусство было под суровым запретом (который, хоть и активно обходился путем использования простейших лечебных чар, но каждый год как минимум пара горе-фехтовальщиков навсегда покидала соборское обучение).

В то же время, почти все Местоблюстители Престола обучались в самой же Нуцее. Также как и большинство клириков-проповедников в приходах и представителей специализированных в божественной магии профессий, о существовании которых даже образованный обыватель мог и не догадываться. Здесь послушник тоже "обрастал" связями, но другого рода: внутрицерковными, и неминуемо оказывался вовлечен в сложный аппарат пелорической иерархии. И если при отборе в соборскую обитель социальные возможности будущего послушника были важным фактором наряду с божественной предрасположенностью, то здесь последняя доминировала абсолютно.
Prostitution

**Prostitution** is the business of engaging in sexual activity in exchange for payment. A person who works in this field is called a prostitute or a sex worker.

## Street prostitution

A **street prostition** is a form of prostitution in which a "street walker" solicits customers from a public place, most commonly a street, while waiting at street corners or walking alongside a street, but also other public places such as Galaxies Opera House on the planet Coruscant.

The street prostitute is often dressed in a skimpy clothes.

The sex act may be performed in the customer's airspeeder or in a nearby alley, or at the prostitute's residence or in a rented hotel room.

## Escort

A **escort** or **call girl** is a sex worker who (unlike a street walker) doesn't display her profession to the general public; nor does she usually work in a brothel. The client must make an appointment, usually by using a comlink. Call girls may work either incall, where the client comes to them, or outcall, where they go to the client.

Call girls often advertise their services via the HoloNet, although an intermediary advertiser, such as an escort agency, may be involved in promoting escorts.

Some BD-3000 luxury droids are known to work as escort.
Кахир

**Кахир** - император сравнительно молодого государства, Империи Динора. Бывший капитан стражи города Динора, объединил земли перед демонической угрозой и стал самопровозглашенным императором.

Не сохранилось сведений о его родителях. Наиболее расхожая версия состоит в том, что он является незаконнорожденным сыном одного из высокопоставленных магов фабрадского Конклава и представительницы Старых Семей Динора.

Во время службы в страже заслужил полную ее лояльность, что в значительной мере облегчило последующий переворот, смещение и убийство динорского головы. Также в это время сформировалось ядро его последователей. Среди них

Бобур Фирен, гном, представитель Динорской Торговой Компании по Запроливью, в будущем первый начальник имперской тайной службы;

Солхильд Римиро, бывший маг-наемник из "Солнечных Стрел", в будущем военный губернатор Блондейла, имперский советник первого ранга, а также императрица;

Рори Бэйлброн - Рори Меркури инкогнито.
Presse Saison 1

Une revue de presse de la saison 1 de *Balthazar.*

## Interviews

* Interview de Hélène de Fougerolles - TF1 Pro - 13/11/2018
* Interview de Tomer Sisley - TF1 Pro - 13/11/2018
* Tomer Sisley : « Les scénaristes ont créé ce personnage en pensant à moi » - CinéTéléRevue - 20/11/2018
* Hélène de Fougerolles : "Mon émotivité m’a rattrapée" - CinéTéléRevue - 06/12/2018
* Hélène de Fougerolles pour « Balthazar » : « Jouer un flic, j’adore ça ! » - Télé 7 Jours - 06/12/2018
* Balthazar : "Tomer Sisley porte cette série par son charisme et sa prestance" selon Hélène de Fougerolles - 13/11/2018 - Allociné
* Hélène de Fougerolles : "Tomer Sisley est le partenaire rêvé !" - 13/12/2018 - Télé 7 Jours

## Tournage

* Balthazar (TF1) : les secrets des effets spéciaux dévoilés - Télé Loisirs - 13/12/2018

## Audiences

* Audiences TV Prime (jeudi 6 décembre 2018) : Envoyé spécial sous les 10%, Balthazar démarre très fort, Orelsan et Wisdom en échec - Toute la télé - 07/12/2018