text:
Celestia/Tutorials/Advanced Asteroids

Once you have written a basic asteroid definition, you may want to put in the work to make your asteroid more accurate. After all, some asteroids have been observed enough that we now know additional parameters about them, such as shapes, colors, and rotational axes.

This tutorial assumes you have read the previous page: Simple Asteroids. It also assumes that you have an .ssc file with code that looks something like the following. For this example, we will be using the asteroid 107 Camilla:

"107 Camilla:Camilla" "Sol" { 	Class "asteroid" Mesh "asteroid.cms" Texture "asteroid.jpg" Radius 105.185 EllipticalOrbit { 	Epoch	       2459000.5 Period		6.52164269786 SemiMajorAxis	3.49059288735 Eccentricity	0.06510884809 Inclination	10.0014540063 AscendingNode	172.582645061 ArgOfPericenter 306.396995698 MeanAnomaly	27.1200816186 } 	Albedo 0.059 RotationPeriod 4.844 }

Mesh
The models  or   that you used are CMS models. These are good for modeling blobs and other simple shapes, but for detailed models, you need to use 3DS or CMOD models. CMOD models are recommended, as Celestia runs much faster using CMOD files compared to 3DS files.

Models for asteroids can be downloaded from several places, but the 3D Asteroid Catalogue is quite comprehensive and is a good place to find models. Models can be downloaded in PLY or OBJ format, but either way they have to be processed before they can be used in Celestia.

For this tutorial, we will be using Blender. It's a free and open-source program, like Celestia, and is extremely powerful. However, its user interface and controls can be quite intimidating! So, there will be screenshots provided. Before you start, download Blender and install it. You will need 2.79 or below, since 2.8 removed support for the 3DS format. (If you have Blender 2.8, there may be plugins that can support importing/exporting 3DS files.)

Note that this tutorial has an inherent limitation, which is that 3DS files have a limit of 65,536 polygons, so the original shape model cannot have any more polygons than this number.

Orientating the model
For 107 Camilla, models can be downloaded here. Camilla has two versions available: one by Torppa et al., which was derived from lightcurve inversion, and one by Hanuš et al., which was derived by directly imaging the asteroid. Lightcurve inversion involves reconstructing the shape from its light curve, a graph showing the brightness of an object over time. This is the easiest way to get a model for an asteroid, but the resulting models are not as good as if they were made from direct imaging. So here, download the Hanuš model, in either PLY or OBJ.

Open Blender. Blender always starts with a cube, which should be deleted. Press  and   to delete the cube. Then, import the file by going to  near the top left, then , then select the model type that you downloaded. You'll see a list of files in your computer, so select your asteroid model.

In some cases, the model is too big to comfortably view, and the you'll be seeing the view inside the model itself. In this case, you might want to scale the model down to a size, but this isn't strictly necessary. To do this, press, then drag your cursor inwards until the entire model is in view. However, make sure that the model doesn't flip while scaling. Click once to set the size.

If you've downloaded the OBJ model, then you need to rotate it so the next steps (UV mapping and adding surface normals) work correctly. Type  then   then , then press  , to rotate it −90° about the X-axis. If you've downloaded the PLY model, then do not do this.

Preparing the model
Right now, these models only have vertices and faces defined. That means that Celestia, or any software, has no way to map textures or smooth out the lighting. To fix these problems, we need to add UV maps and surface normals to the model.

UV mapping
A UV map is simply a set of coordinates that tells the software how to wrap the texture around the model. To add this to your model, go to  near the bottom left of the screen and change that to. (If you can't do that, try right-clicking on the model and try again.) You should see that all the faces and vertices of the model are now highlighted in orange.

Next, select the third tab down on the left side of the screen (see the screenshot at right), which is. Under, click the menu that says   and select.

Surface normals
Surface models are vectors that tell the software how light should reflect off the model. You should already be in the  tab for this. Under, click.

Exporting as 3DS
Before you export your model, type  then   then , then press. This is necessary for both PLY and OBJ models.

Then, export your model as a 3DS model by going to, then   (right below  ), and by selecting 3DS.

Converting to CMOD
Your 3DS model can technically be used as a mesh in Celestia, but it's strongly recommended to use CMOD. To convert it to CMOD, download the 3DS to CMOD converter. There are versions available for Windows and MacOS here. Select the 3DS you've just exported, then output the CMOD (binary is recommended since the resulting file is smaller).

Once you're done, you now have a CMOD file that is ready to use in Celestia! Move your CMOD file to the "models" directory (or create a new "models" directory inside your "extras" directory). Then change the  parameter to the name of your file.

Color
Many asteroids are gray, but they can also have varying shades of brown and reddish colors. To simulate this, you need to specify the asteroid's  with three values representing the red, green, and blue components (RGB), like below:

Color [ 1.000 0.945 0.881 ]

There are two ways to do this: one method uses color indices and the other method uses visual spectra. Using visual spectra is more accurate, but the data only exist for a small sample of asteroids, as well as the process being slightly more difficult.

Using color indices
Color indices tell you the color of the asteroid. For many astronomical objects, including asteroids, the color is on a spectrum ranging from reddish to bluish. (When an asteroid has a "bluish" color, however, this means that it is gray.) The higher the color index, the redder it is.

Astronomers calculate color indices by measuring the brightness of an object in two different wavelength-specific filters called "passbands", and then subtracting the difference. That means there are several types of color indices, depending on the passbands used. Among the most common are U−B, B−V, and V−R indices from the UBVRI photometric system, commonly known as the Johnson photometric system.

To calculate a  value, use FarGetaNik's color calculator. First, make a copy of the spreadsheet. Then, go to the "color index" tab, then enter the appropriate values for the "B−V" and "B−R" cells. (Don't worry about "Albedo" and "Texture Brightness" here.) For the three RGB values, use the "relative" values: cells E11, F11, and G11.

Using SMASS spectra
SMASS (Small Main-Belt Asteroid Spectroscopic Survey) is an extensive survey of asteroids that produced a wealth of data in the form of asteroid spectra. They are available at the SMASS website. Using these spectra, it is possible to calculate an RGB color value for an asteroid.

First, go to the current GitHub repository and click on the green button that says "Clone or download". Then, download the ZIP file.

Then, open up your computer's command line. This is called "Terminal" for macOS, and "Command Prompt" (cmd.exe) for Windows. In the window, type  and change the current directory to the one called "src/tools/spectrum2rgb". You can do this by typing  and dragging the "spectrum2rgb" folder into the command line window.

If you're on Windows, you need to install GCC. Instructions for installing GCC can be found here: https://gcc.gnu.org/install/

Once you have done that, type  into the command line window. This should create a file called "a.out" in the same folder.

Now, go to the SMASS website catalog. Scroll down to the asteroid that you are adding to Celestia. Select a spectrum file by clicking on the file icon. Note that the spectrum must be in the visible (Vis) part of the electromagnetic spectrum, not near-infrared (NIR). You should see two or three columns of numbers.

Save the numbers as a text file. If there are three columns of numbers, delete the third column. That's the error value, and isn't needed. Move the text file into the "spectrum2rgb" folder.

Time to run the code. In the command line window, type this:

./a.out solar_spectrum.txt filename.txt

where  is the name of your text file. After running, the command line prompt should output a color definition that can be used for Celestia, such as below:

Color [ 1.000 0.943 0.905 ]

Rotational axis
For most objects, using  will suffice, because that is the only thing that is known about their rotation. However, for some objects the orientation of the rotational axis is also known. For these asteroids, it's better to use, like so:

UniformRotation { 		Period Inclination AscendingNode }

The  is the same as the   parameter from before. However, the axial orientations are usually given in one of two options: λ and β (ecliptic values) or α and δ (equatorial values). These can usually be found in the same paper that presents the models. For example, according to Pajuelo et al. (2018), the pole solution is λ = 68.0°, β = 58.3°. The  is simply 90 − β and the   is 90 + λ. So, for 107 Camilla the rotational model should look like this:

UniformRotation { 		Period 4.844 Inclination 31.7 AscendingNode 158.0 }

Pajuelo et al. (2018) also lists the pole solution in α and δ, as α = 35.8° and δ = 76.1°. If you were to use these values, simply replace β with δ, and λ with α, respectively. You must also specify that the body frame is in the  frame, since the default for Celestia is the   frame. For 107 Camilla it would look like this:

BodyFrame { EquatorJ2000 { Center "Sol" } } UniformRotation { 		Period 4.844 Inclination 13.9 AscendingNode 125.8 }

For more information, see Celestia/Rotation Models and Celestia/Reference Frames.

Satellites
Like stars and planets, asteroids can have satellites orbiting them. To see how to add them, see the page for Moons.

title: Celestia/Tutorials/Advanced Asteroids


text:
English-Hanzi/When the material of perceptual knowledge accumulates

When the material of perceptual knowledge accumulates, it will leap into rational knowledge, which is thought.

当感性认识的材料积累多了，就会飞跃成为理性认识，这就是思想.

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/


text:
Talk:Wildlife Gardening/Taxon/Danaus plexippus

Removal of some genera
I'm removing some genera that have undergone major taxonomic revision since my source was published since the species the author intended are probably no longer in them. Abyssal (discuss • contribs) 01:24, 16 March 2020 (UTC)

 * style="text-align: center;" |

 * style="text-align: center;" |

 * style="text-align: center;" |

 * style="text-align: center;" |

 * style="text-align: center;" |

Nectar source. Information on native range, cultivation requirements, bloom time and any other criteria that might lead a gardener to select this species over the others.
 * style="text-align: center;" |

 * style="text-align: center;" |

 * style="text-align: center;" |

 * style="text-align: center;" |

 * style="text-align: center;" |

Nectar source. Information on native range, cultivation requirements, bloom time and any other criteria that might lead a gardener to select this species over the others.


text:
User:The Mighty Bleu

The Mighty Blue

title: User:The Mighty Bleu


text:
User talk:108.160.242.130

I think you should clarify why

p' = runState p

(x, s1) = p' s0

would work

ie. Why runState is like

runState :: State s a -> s -> (a, s)

ie. Clarify the syntax behind

newtype State s a = State { runState :: s -> (a, s) }

title: User talk:108.160.242.130


text:
User:Pallavi962

A hand book of life sciences

title: User:Pallavi962


text:
Celestia/Tutorials/Comets

This tutorial assumes you have read the previous page: Simple Asteroids. Once you do, you should have a good idea on how to create comet SSCs for Celestia, as they are similar to asteroids.

List of parameters
In Celestia, comets are treated very similarly to asteroids. An SSC should look very similar in its format to that of an asteroid, but with several key changes:

Name
"Name" "Sol"

Here,  refers to the name(s) of the comet. However, comet naming works differently from asteroid naming. A full name might look something like this: "81P Wild", where 81P refers to the number of the comet plus the letter "P" indicating that it is a periodic comet. "Wild" refers to the comet's discoverer, Paul Wild. The name of the comet should technically be "81P/Wild" with a slash, but slashes inside names do not work in Celestia for technical reasons. So in Celestia, it might be given a name like this:

"81P Wild:Wild 2" "Sol"

The "2" after "Wild" is necessary because it is the second comet discovered by Wild.

For non-periodic comets (comets that do not return), the nomenclature may look something like this:

"C1995 O1 (Hale-Bopp):Hale-Bopp" "Sol"

A few objects have been catalogued as asteroids and were then discovered to show cometary activity. For these, it's common to include the asteroid names and the comet designation, like below:

"2060 Chiron:Chiron:1977 UB:95P Chiron" "Sol"

Class
Class "comet"

This line simply tells Celestia that the object is a comet. Objects defined as comets in Celestia show a tail when they are sufficiently close to the Sun. It is not possible to define an object with more than one type of object, so dual objects like 2060 Chiron tend to be defined as asteroids.

Radius
Radius

As with asteroids, this parameter simply refers to the radius of the asteroid, in kilometers. If you're lucky, JPL's Small Body Database will have a diameter that you can divide by two to get the radius. However, many will not. In that case for comets, the next best thing to use is the total nuclear magnitude (M2), for which a published value should exist for many (but not all) comets.

The total nuclear magnitude is essentially a value of how intrinsically bright the nucleus of the comet is, with a lower value meaning a brighter asteroid. Using this and the albedo value (explained in detail later), it is possible to estimate the size of the comet's nucleus.

Unfortunately, most comets do not have known albedos either. So, it is customary to assume an albedo of about 0.04 for comet nuclei, as they are known to be quite dark. To calculate the radius in kilometers, use this formula:

 * $$R = \frac{664.5}{\sqrt{p}}10^{-0.2M_{2}}$$

where $$p$$ stands for the albedo and $$M_{2}$$ stands for the absolute magnitude.

Albedo
Albedo The albedo of an asteroid is a value from 0 to 1 that refers to what fraction of light gets reflected off the asteroid, with 0 being a complete dark object and 1 reflecting all of the light that hits it.

If you cannot find a published albedo value, it is customary to assume an albedo for 0.04 for comets.

Example code
For the sake of reference, here is what some .ssc code might look like for 81P/Wild:

"81P Wild:Wild 2" "Sol" { 	Class "comet" Mesh "asteroid.cms" Texture	"asteroid.jpg" Radius 2.0 EllipticalOrbit { 	Epoch	       2455809.5 Period         6.41340443513 SemiMajorAxis	3.45186352633 Eccentricity	0.53707073006 Inclination	3.23724754968 AscendingNode	136.097685541 ArgOfPericenter	41.7562320856 MeanAnomaly	85.9757611643 } 	Albedo 0.04 # guess RotationPeriod 8 # guess }

title: Celestia/Tutorials/Comets


text:
User:Atlas.Spheres/sandbox/Arizona Uplands & Plains of Sonora

=The Arizona Uplands & Plains of the Sonora=


text:
User:Cinndeee/sandbox

Coyote
The Coyote (Canis latrans) is a canine that lives in North America, roaming the plains, deserts, mountains, and forests. Coyotes are primarily carnivorous, they prey on rabbits, birds, deer, reptiles, fish, invertebrates, and amphibians. Occasionally, they eat fruits and vegetables. Humans are considered to be the biggest threat to coyotes, followed by gray wolves and cougars. The average male weighs 8 to 20 kg and the average females weigh 7 to 18 kg. The hair of this animal varies depending on where they are geographically located. The predominant color of their hair is fulvous or grey and red.

Habitat
Coyotes live in North America where they roam the mountains, plains, forests, and deserts of the United States, Mexico, and Canada. Although coyotes are known to easily adapt to different habitats, they typically prefer to live in open areas like deserts and prairies. As humans take more and more land, coyotes can also be found living around large cities, where they are beginning to adapt.

Diet
Although they are thought to be only meat eaters, coyotes are actually omnivores--eating vegetation and meat. Generally, coyotes are scavengers and are predators of small prey, but occasionally, they shift to large prey. Coyotes will prey on birds, rabbits, reptiles, fish, deer, invertebrates, and amphibians. Some fruits and grains they feed on include, berries, apples, peaches, watermelon, carrots, beans, wheat, and corn. Most of the time coyotes hunt alone, but when hunting for large prey such as deer, they will hunt in packs. For those that live in large cities, coyotes will normally kill pets and livestock, eat pet food, or garbage.

Life Span
The average lifespan of a coyote is six to eight years in the wild, while those in captivity can live twice as long ranging from thirteen to fifteen years. They are affected by a variety of diseases and parasites which include, intestinal worms, heartworms, fleas, and ticks. They may also be affected by the parvovirus, canine distemper, and mange. However, humans are considered to be the greatest threat to humans. In rural areas, the major cause of death is due to trapping and hunting, while in urban areas, the cause of death is primarily automobiles. There has been an average of automobile collisions from 40 to 70 percent each year.
 * 1) REDIRECT []

Importance
Coyotes play an important ecological role in the environment by helping maintain healthy ecosystems and boosting biodiveristy. As they are the top carnivores in some ecosystems, they regulate mesocarnivore populations, which include, foxes, skunks, opossums, and raccoons.

Facts

 * Coyotes can run up to 40 miles an hour.
 * Coyote pups are born blind.
 * Coyotes are nocturnal.
 * Coyotes are monogamous and only have one mate for the rest of their life.
 * Coyotes have few natural predaters. They include mountain lions, wolves, and bears.

Fish-hook Barrel Cactus
The Fish-hook Barrel Cactus (Ferocactus wisilizeni) also called the Arizona barrel cactus is a species of flowering plant in the cactus family Cactaceae. The fish-hook cactus is characterized by its two-foot diameter, long hooked spines, and barrel body shape. On the cactus, yellow/red flowers and yellow fruit grow at the superior surface. This species of barrel cactus can be found in Northern Sonoran, Mexico and in South-Central Arizona. The fish-hook barrel cactus has a life span of about 50-100 years. The conservation status of this plant is vulnerable and the population is decreasing.

Habitat
The fishhook barrel cactus is found throughout South-Central Arizona and Northern Sonoran, Mexico. It grows primarily in grasslands and desert shrubs, but it can also grow in deserts often on rocky, gritty, or sandy soils on the hillsides from 300 to 1,600 m elevation. The fishhook barrel cactus does not need much water to survive as it can tolerate dry soil moisture, but it does require lots of sunlight. This heat-tolerant plant contains "fishhook" spines along the cactus body to protect it from herbivores. At the top of the cactus, the plant grows yellow/red flowers and yellow/red fruit.

Importance
The fishhook barrel cactus is important not only because it enhances the beauty of the desert landscape, but it provides fruit to animals and birds. Javelina, birds, and deer eat the fruit; the birds especially like the seeds. The fruit can also be used to make candies and jellies.

Facts

 * The fishhook barrel cactus is often called the "Compass Barrel" because most of the larger plants lean towards the southwest.
 * The cactus does contain water, but if it is ingested it can cause diarrhea due to the oxalic acid it contains.
 * The lifespan is 50-100 years.
 * It commonly grows 2-4 feet tall but can grow up to 6-10 feet tall in some cases.

title: User:Cinndeee/sandbox


text:
User:Ggt8

“The truth is rarely pure and never simple.” ― Oscar Wilde, The Importance of Being Earnest

title: User:Ggt8


text:
User talk:2605:E000:1906:DA87:D1AF:BC32:3D89:EA00

Sorry I am not super familiar with the markup but I am a Persian speaker.

Tashdid is -ّ

Tanvin Alef is اً

I tried to fix it but It seems to be blocked.


text:
Celestia/Tutorials

Celestia has a wide variety of object types, including everything as tiny as satellites to massive galaxies millions of light-years across. Practically any and all of them can be added to Celestia. However, it takes some knowledge to do this accurately. Depending on the object, you may need some knowledge of Celestia and SSC/STC/DSC file, astronomy, modeling, programming, and/or general computer knowledge.

Therefore, the following pages have been made to help people create scientifically accurate add-ons.

Table of contents
These tutorials are split into three sections: Solar System objects, extrasolar objects, and deep-sky objects. To use a tutorial, look at that page, and if they exist, any pre-requisite tutorials.

1. Creating Solar System Objects
 * Asteroids (basic): Adding simple asteroids to Celestia. Once you have read this tutorial, you can progress to the next four:
 * Comets: Adding comets to Celestia.
 * Asteroids (advanced): More advanced aspects of asteroid-making in Celestia. This page includes how to prepare models of asteroids, how to calculate the approximate color of an asteroid, how to orientate the asteroid so it rotates correctly, and how to add asteroid satellites.
 * Moons: Adding natural satellites around objects in Celestia.
 * Near-Earth Asteroids: Making asteroids whose orbits get perturbed in Celestia.

2. Creating Extrasolar Objects
 * Stars: Adding stars to Celestia. Once you have read this tutorial, you can progress to the next two:
 * Star Systems: Adding binary stars and multiple star systems to Celestia.
 * Exoplanets: Adding exoplanets to Celestia.

3. Creating Deep-Sky Objects
 * Galaxies: Adding galaxies to Celestia.
 * Globulars: Adding globular clusters to Celestia.

However, before you start making add-ons to Celestia, there are a few things that are useful/essential to know, detailed below.

What are add-ons?
Add-ons are files that you can install that modify Celestia in some way. Often they will include new objects, or they may include better or higher-resolution textures for existing objects.

Add-on files typically contain the following:

 * An SSC, STC, and/or DSC File. These are simply plain text files where the  suffix has been renamed to ,  , or  . In them, they contain instructions that Celestia uses to draw objects.

These can be edited by any plain text editor, such as Notepad++ or TextEdit. Be aware, however, that some text editors such as TextEdit will naturally turn use "smart quotes". These are a different symbol than the typical quotation marks used in most code, and computer files made with them tend to not work. Fortunately, these can be usually be changed in the preference menus.

They may also contain:
 * Models. These tell Celestia the shape of the object.
 * Textures. These are images that Celestia uses to actually render the objects.

Add-ons will typically contain a text file called "README.txt". In it, they will often say to "move this file to the extras directory". What does this mean? Well, to show all of the stars, planets, and other astronomical objects, Celestia reads files from a folder in your computer, called "Celestia" if you're on a Windows or Linux system or "CelestiaResources" if you're on a Mac.

How do I install add-ons?
On Windows or Linux, open the "Celestia" directory and you'll see the "extras" directory right there. If you're on a Mac, right-click on the Celestia app and click on "Show Package Contents". Then, go to "Contents" → "Resources" → "CelestiaResources". All the stuff in this folder (such as the "data" folder, "models" folder, "celestia.cfg", etc.) is used by Celestia to render objects. There is also a folder in there called "extras". When instructions tell you to move a file to the "extras directory", they are talking about this file.

So to recap: to install an add-on, simply move it to the "extras" folder.

title: Celestia/Tutorials


text:
User talk:2600:8800:3000:5B6:9857:F122:7E65:B6A0

Stop
Please stop your vandalism --DannyS712 (discuss • contribs) 02:54, 17 March 2020 (UTC)


text:
User talk:Chris~enwiki

20200317.0055 I'm new to WikiBooks. I have been an editor as Chris@WikiPedia until I was renamed Chris~enwiki. Chris~enwiki (discuss • contribs) 07:57, 17 March 2020 (UTC)

title: User talk:Chris~enwiki


text:
User:MathRob

Hi, I love math and engineering and hope to both learn from and contribute to this platform.

title: User:MathRob


text:
User:Lee yun betty

'I walked the wilderness' said night 'with worries and righteous ire...' 'Put down the cross' said the light 'We need the wood for a fire.'

Lemn Sissay

title: User:Lee yun betty


text:
User:Ndressler23/sandbox

Flathead Catfish, Pylodictis olivaris
These fish resemble cats due to their whiskers and sly way of moving about the sea floor. These fish also vary in size and length. Majority of catfish species in live the Americas. A lot of them live in freshwater and shallow water habitats including the Colorado river. This catfish can grow to about 155cm (61 inches) and can weigh about 56kg (126lb). They are also known to be the second largest catfish in North America. The average length is roughly 25-46in (64-117cm). It maximum lifespan that has been recorded is about 24 years. Male catfish tend mature at about 4 years old and female catfish mature at about 5 years old. The Flathead Catfish prefers live prey. It feeds on other fish and insects as well. The habitat for this animal is west of the Appalachian Mountains.

https://en.wikipedia.org/wiki/Flathead_catfish

Coyote Willow, Salix exigua
These plants are considered endangered, but are native to North America. Their branches have been used as flexible poles and many Native Americans used to use them years ago. They were especially used for building huts and different types of shelters. The flowers that blossom from these plants allow for bees to pollenate, but only the male plants provide this feature. This plant can reach 4-7 meters (13-23ft). The leaves are very narrow grow to about 4-12cm (1.6-4.7in) long and 2-10mil (0.079-0.394in). They are very green and with silky white hairs when they are beginning to grow.

https://en.wikipedia.org/wiki/Salix_exigua

Life Zones of the Lower Colorado River Region:
The Lower Colorado River region has a plant life that spans six main life zones. Yuma is the lowest point at 70 feet and the highest area is around 12,670 feet near Flagstaff. The Lower Sonoran life zone is located at around 4,500 feet and the plants in this zone can survive scorching temperatures and little precipitation. The Lower Sonoran life zone is where most of us live and is correlated with the hot desert sun of the southwest. Creosote, jojoba, mesquite, paloverde, bursar, and cacti can all be found here. The average amount of rain in these regions is about 10 inches or less. When spring time comes, depending on how much rain the region has had, there will be a decent amount of flowers blossoming. A lot of plants can live for years, but those that can not are called ephemerals. Ephemeral means "short duration" since these types of plants rarely make it through an entire spring season. There are five other main life zones in Arizona and they are: the Upper Sonoran, Transition, Canadian, Hudsonian, and Alpine.

https://www.my-arizona-desert-living.com/Arizona-Geography.html

https://apeekatthepeak.org/scenic-drive-natural-environment/

Parker Dam
The Parker Dam is located north of Yuma and on the border of Arizona and California. This dam is also known as the 'deepest dam in the world.'It was built entirely out of concrete and about 85 feet of the dam is actually seen. The Parker Dam's capacity is roughly 646,200 acre feet and Lake Havasu is behind the dam. Lake Havasu goes for about 45 miles behind the dam itself and can cover about 32 square miles. There is a pumping plant for the dam about 2 miles upstream from the start of the dam. The plant is called, The Metropolitan Water District's W.P. Whitsett Pumping Plant for the Colorado River. The water that is divided from this plant is distributed to different states. Arizona, California, and even Nevada are all beneficiaries of the Parker Dam. The dam is also an attraction for people of all ages and has become very popular to travel over. It truly impacts the current of the Colorado River as a whole and ensures it won't stop flowing.

https://www.usbr.gov/projects/index.php?id=207

Land Threats
The Colorado River has a lot of major threats that cause it to be considered the most endangered river in the U.S. Wildfires are a huge threat to this region and has destroyed multiple habitats along the way. The fires seem to favor salt cedar over cottonwood or willow and this makes the Lower Colorado River region, a perfect place for a wildfire to ignite. The high water flows that occur along the river don't help due to the drought in the lands surrounding it. The habitats that surround the river are also crucial because most of them have been overgrown by the salt cedar. This has caused environmentalists to consider revegetation of the land there. The amount of flooding could potentially change the curvature of the land and would alter the environments in which plants and animals thrive in. Pollution and contamination of the land has truly affected the river and ecosystems. The idea of clearing the lands near the river are a potential threat and could cause major harm, if they decide to do so. Some opportunities to change the fact that the river is on the endangered list, would be to stop polluting. Also, the wildfires that occur in the land can be prevented if people stop making fires near brush or other plants. Man made wildfires have become a major issue and is one of the things we as humans need to control more. The vegetation that grows there can be controlled so it doesn't become invasive or kill off other plants.

https://www.audubon.org/important-bird-areas/lower-colorado-river-gadsden-riparian-area

title: User:Ndressler23/sandbox


text:
User:AT2030/sandbox

Led by
GDI Hub ARC

Timeline
Project start: Project end:

Funded by:
Add the name of the project funder.

Summary
Insert project summary here. Please limit to less than 12345 words

This project accelerated disability innovation by....should detail technical advances

It creates a fairer world by....should detail social good

Partners
Add project partners here. Link to appropriate pages as needed.

Policy Implications
Add any relevant connection to policy, both possible connections and future or expected connections.

Led by
UCL, GDI Hub (Felipe Ramos)

Timeline
Project start: March, 2020 Project end: December, 2020

Funded by:
Add the name of the project funder.

Summary
The GDI Research Wikibook is a project database developed collaboratively by a community of GDI Hub Researchers, allowing any user to add and edit content about their individual projects.

Partners
GDI Hub, UCL, etc.

Policy Implications
This project has the following policy implications.

 * Connection to Policy Hub at UCL
 * Other
 * Other
 * Other

title: User:AT2030/sandbox


text:
User talk:Robertocoolkid

Welcome
Welcome to Wikibooks, Robertocoolkid!

 First steps tutorial Wikibooks is for collaborative development of free textbooks.

You do not need technical skills to contribute. You can easily change most books. Please introduce yourself, and let us know what interests you.

If you already contribute at other Wikimedia projects, our Wikimedia Orientation should quickly get you started. (Would you like to provide feedback on this message?)

  Getting help   Made a mistake?   Goodies, tips and tricks
 * Read the Using Wikibooks book for a friendly introduction to the project, or our help pages for more information.
 * You can get friendly help from the community in the user assistance room or our IRC channel.
 * Upload freely licensed files to Wikimedia Commons. You may request permission to upload fair use files locally. Please include author and source information and a non-free use rationale for non-free files.
 * You can restore a previously saved version.
 * Pages should follow the  naming convention.
 * Need to rename a page? Use the move tab (is available once your account is 4 days old - until then, ask for help).
 * To request a page be deleted, add to the top of the page.
 * Was a page you made deleted? Please read the deletion policy, and check the deletion log to find out why. Also check the RFD archives if applicable. You can request undeletion at WB:RFU, or ask the administrator who deleted the page.
 * Please fill in the edit summary and preview your edits before saving.
 * Sign your name on discussion pages by typing ~~~~
 * User scripts can make many tasks easier. Look at the Gadgets tab of my preferences; check off the boxes for the scripts you want, and hit save!

--Pi zero (discuss • contribs) 13:40, 18 March 2020 (UTC)

title: User talk:Robertocoolkid


text:
Professionalism/Susan Fowler, Uber, and Workplace Sexual Harassment

Introduction
Susan Fowler was an engineer at Uber from November 2015 to December 2016. She was a whistle blower about sexual harassment and other issues at Uber.

Susan Fowler's Blog Post
On February 19, 2017, Susan Fowler made a blog post about her experience at Uber. She said that after training, joining a team, and getting a new manager that "it was clear that he was trying to get me to have sex with him." Fowler took screenshots of conversations with her manager and reported him to HR. Fowler hoped that reporting her manager to HR would fix the situation, but it didn't. HR responded by saying this was "clearly sexual harassment" but since this was the manager's first offense, "they wouldn't feel comfortable giving him anything other than a warning and a stern talking-to." Fowler claims she was told that her manager was a "high performer" and thus upper management was not comfortable "punishing him for what was probably just an innocent mistake." HR and management said they sternly talked to her manager but did not want to do anything to "ruin his career over his first offense."

Fowler said she was given a choice: she could change teams and managers or she could stay where she was. She was told he current manager "would most likely give [her] a poor performance review when the time came." The poor review may come in response to her actions but would not be counted as retaliation against Fowler as she had been "given an option" to leave the team.

After deciding to change teams, Fowler met more women engineers at Uber. She was "surprised that some of them had stories similar to [her] own." According to Fowler, "some of the women even had stories about reporting the exact same manager." It was clear to Fowler that HR and management were lying about this being the first offense. Even after more complaints, people were still told this was the manager's first offense and nothing was done. Fowler contends that Uber HR insisted that the other women did not say anything bad about her former manager.

After finishing her projects, Fowler wanted to transfer to a new team. Her current manager blocked her transfer. After receiving great score, Fowler's "performance review and score had been changed." She claims her manager said the new negative review had no real-world consequences, which was a lie. This had "impacts to [her] salary and bonuses" as well as no longer qualifying for the Uber sponsored Stanford computer science graduate program. Fowler contends that keeping her on the team made her manager look good and that she even heard him boasting about being able to keep female engineers on his team.

Fowler recalled another sexist event at Uber. All the site reliability engineers (SREs) were going to get leather jackets from Uber. However, the women were told they would no longer be getting leather jackets as there were not enough women in the organization. Uber was receiving a discount on the men's jackets but not on the women's jackets. The women were told that although over 100 men were getting jackets, it would not be fair for the women to get more expensive jackets. If the women wanted jackets, they would have to find jackets that were the same price as the discounted men's jackets.

Fowler met with HR after reporting the jacket issue. She was told that she was the common theme in all of her reports, implying that she was the issue. Fowler was told that her email reports to HR were unprofessional. She also met with her manager where he told her he was upset about Fowler reporting his manager to HR. He threatened to fire Fowler if she continued to report things to HR. Less than a week later, Fowler had a new job offer and was planning to leave Uber.

Throughout the blog post, Fowler mentioned the number of female SREs at Uber. When she started in November 2015, the department was 25% female. When she left in December 2016, the department was only 3% female and had over 150 engineers.

Past Controversy at Uber
Even before Fowler's blog post, Uber had come under heavy scrutiny. In 2013, an Uber driver had allegedly used nationalistic and homophobic insults before physically hitting a passenger. While Uber deactivated the driver from the Uber phone app, "the company denies any liability for how the.. drivers behave." Many cases such as this had emerged, but Uber did not take any preventative action against them. This lack of initiative caused Uber services to temporarily be banned in New Delhi. A sexual assault charge against an Uber driver revealed that Uber’s screening processes might have been inadequate, as the driver had a history of sexual assault.

Tired of Uber’s culture, former Pando editor-in-chief Sarah Lacy wrote an article bashing the company for its history of sexism. Lacy primarily cited the misogyny displayed by Travis Kalanick, the Uber CEO at the time, and the toxic culture he has built up. In response to this article, Uber senior executive Emil Michael commented that Uber could hire investigators to "expose" Lacy by "prov[ing] a particular and very specific claim about her personal life". Instead of reflecting on how the media views Uber, the Uber executives discuss how to retaliate against journalists by means such as blackmail. Uber also denied the accuracy of screenshots depicting complaints of sexual assault. While the screenshots show clear complaints of sexual harassment and assault, Uber denies that many of these reports exist.

A similar incident in 2013 saw an Uber driver choke one of his passengers. In response Kalanick sent a dismissive email to his press team. The emails aggressively push that Uber is not "responsible even when these things do go bad", and is not "liable for these incidents that aren’t even real". Across the many incidents surrounding Uber and its drivers, Uber leadership has not shown a genuine interest in customer safety.

Fowler's Impacts on Silicon Valley
Posts and stories like Fowler’s have inspired many other women to speak up. She inspired Aimee Lucido to speak up about her own experiences in Silicon Valley. While Lucido is a fellow female engineer at Uber, she spoke about her experiences of sexism at Google. She describes the Silicon Valley culture "disgusting and appalling and horrifying and yet … not surpris[ing] at all". Within a week of Fowler’s blog post, another individual under the alias Amy Vertino to write about her own experiences at Uber. Vertino describes her treatment at Uber as "abuse and dehumanizing", citing "chauvinistic, racist and homophobic attributes". She also draws parallels to Fowler’s complaints against upper management and HR. Keala Denea also followed Fowler’s blog post by writing about her own experience. Unsurprisingly, Denea’s complaints highlight "disrespect, condescending managers, and sexism". Many others have followed suit, speaking out against the injustice that they have faced in Silicon Valley.

Fowler’s blog post has also inspired women outside of Uber to speak up about sexual harassment in the tech industry. Just as management is in a position of power over their employees, venture capitalists (VC’s) have influence over startups. VC’s are the ones who provide startups with funding to get started, so startup founders are usually subject to the whims of VC’s. A few months after Fowler’s blog post, Niniane Wang, Susan Ho, and Leiti Hsu stepped forward with the harassment they faced from VC Justin Caldbeck. Wang recalled that Caldbeck had "started to pressure me for sex". Wang did not go public with this information previous because doing so could jeopardize her relationships with other investors. Ho and Hsu, co-founders of a startup, came forward with stories about Caldbeck messaging them inappropriately and groping them. Caldbeck initially denied the allegations, stating "I strongly deny [these] attacks on my character." Within twenty-four hours, Caldbeck publically apologized for his "many mistakes over the course of [his] career". Soon after, Caldbeck took an indefinite leave of absence from his VC firm. Wang attributes Fowler’s post as one of her inspirations for stepping forward.

Conclusion
Fowler's blog post shows that her HR complaints were not handled properly. Her managers and HR ignored the issues and acted improperly. This is similar to the Ring of Gyges. Those with power and no accountability, such as Fowler's managers, may act in unjust ways for their own personal gain. This lack of accountability is also seen through Uber's past controversy.

Fowler's post began attracting attention to the problems within Silicon Valley. Many others like Fowler shared their experiences, bringing these issues of sexism and harassment into the limelight. When the allegations against Caldbeck surfaced, he found himself being held accountable to behavior that was unacceptable, but was previously ignored.


text: User:Zipheir/Sandbox

title: User:Zipheir/Sandbox


text:
User:Zipheir/sandbox

In this section we introduce Scheme's conditional expressions. These forms allow us to make choices--something that's been lacking from the simple programs we've seen so far.

Truth values in Scheme
We've already seen the boolean values  ("true") and ("false") in previous examples, as the values of expressions like. Booleans have few procedures ; the most commonly seen is probably , which negates its argument:

In Scheme, booleans are not the only objects with truth values; the convention of Scheme is to consider  to be false and every other Scheme value to be true. A very common idiom in Scheme is for procedures to return some useful value (which is rarely ) on success, and  otherwise. While our procedures will stick to the practice of returning , it's important to be aware of this idiom.

and and or
The  and   forms let us manipulate truth values in familiar ways:

In this basic usage, these forms give us the Boolean AND and OR, respectively, of their two arguments (called tests). This is often perfectly sufficient. The  and   forms, however, are a bit more flexible. For one thing, they can take any number of tests:

An  expression is thus true if all the tests are true, and an  expression is true if at least one of the tests is true.

As mentioned above, we can also have tests that evaluate to things other than  and  :

Since the first test expression evaluates to  and the second to  (which is not , the only Scheme value considered false), this   expression must be true--but why does it evaluate to ? The Scheme convention is that , when all the tests are true, returns the value of the last test;  returns the value of the first true test. In this way, we can return values more useful than without affecting the truth values of our expressions.

Simple Conditionals: if
The simplest conditional in Scheme is the  form. Here are some examples:

Like  and ,   is a special form with its own syntax. Here's the general form:

The first component of an expression is a test expression, which is evaluated first. If its value is true, the value of the second component expression (the consequent) is returned. If the test evaluates to false, on the other hand, we get the value of the third component (the alternative). Let's see how this works in the above examples. In the first, the test expression is just , so the value of the form is the value of the consequent expression, . To evaluate the second example, we first consider the test,. This evaluates to, so we evaluate the alternative   and return its value as the value of the entire   expression.

Using, we can write some useful procedures. A simple example:

Using  and   forms in our test expressions, we can combine several tests:

cond
We can write a great number of useful Scheme programs with . In fact, by chaining together  s, we can write any conditional expression we want. Unfortunately, these expressions get complicated very quickly. When nesting s, it can be difficult to keep track of all the clauses and it may be necessary to write results several times. (For example, in the last exercise, how many cases are there in which  is the answer?)  In these cases, we'd like something more convenient.

For this reason, Scheme provides, an extremely flexible conditional form which allows multi-way choices to be expressed easily. Here's a short example:

In its simplest form,  takes a number of clauses, each of which consists of a test and a result expression. To evaluate a  expression, we evaluate the tests of each clause in turn; if one evaluates to true, returns the value of that clause's result expression, skipping any remaining clauses. A test which is just the word is always true, and thus a  will always "choose" the result of a clause with  is its test. Typically, the last clause of a  is such an "else clause".

A simplified version of the form of a  expression is:

where each clause is of the form  or.

Let's step through the evaluation of a simple expression.

To evaluate this expression, we look at the first clause, . The test expression of this clause is, so we evaluate that; since its value is , we skip this clause and go on to the next, . The test of this clause is, which is "always true". We evaluate this clause's result expression,, and return its value, , as the value of the whole  expression. Since this  expression returns   when the first clause's test is true and  otherwise, it's precisely equivalent to the following   form:

As we see, we can replace any  expression with an equivalent. In fact,  is so general that we can use it in place of any other conditional form.

title: User:Zipheir/sandbox


text:
User:A Matheison Locke

= Tony Locke

title: User:A Matheison Locke


text:
User:A Matheison Locke/sandbox

Exercises
{Which of the following does a point have? - Length + Location - Volume - Area
 * type=""}

{A collection of points are colinear if they are: - On the same surface as each other. - On the same circle as each other. + On the same line as each other.
 * type=""}

{A collection of points are coplanar if they are: + On the same flat surface as each other. - On the surface of the same cube. - On the surface of the same cone as each other.
 * type=""}

title: User:A Matheison Locke/sandbox


text:
Bartending/Cocktails/Godfather

Godfather is a cocktail made in tiki glass, very fashionable and a little bit sweet but strong to blow your mind.

Ingredients:
 * 5cl rum
 * 5cl tequila
 * 5cl pineapple juice
 * 2.5cl lemon juice
 * 2.5cl melon vert

Procedure:

 * Pour all cocktail in a shaker and shake with ice.
 * Serve in a tiki glass
 * Garnish with pineapple

title: Bartending/Cocktails/Godfather


text:
Talk:GDI Hub ARC Projects

The objective of this page is to document all of GDI Hub ARC Disability Innovation Projects.

title: Talk:GDI Hub ARC Projects


text: Unicode/Character reference/30000-30FFF

title: Unicode/Character reference/30000-30FFF


text: Unicode/Character reference/31000-31FFF

title: Unicode/Character reference/31000-31FFF


text:
User:Klaas van Buiten/bc

bc ( Basic Calculator ) is a Unix math tool

Description
`bc' [ -hlwsqv ] [long-options] [ FILE ... ]

 * `bc' is a language that supports arbitrary precision numbers with

interactive execution of statements. There are some similarities in the syntax to the C programming language. A standard math library is available by command line option. If requested, the math library is defined before processing any files. `bc' starts by processing code from all the files listed on the command line in the order listed. After all files have been processed, `bc' reads from the standard input. All code is executed as it is read. (If a file contains a command to halt the processor, `bc' will never read from the standard input.)

 * This version of `bc' contains several extensions beyond traditional

`bc' implementations and the POSIX draft standard. Command line options can cause these extensions to print a warning or to be rejected. This document describes the language accepted by this processor. Extensions will be identified as such.

 * The author would like to thank Steve Sommars

() for his extensive help in testing the implementation. Many great suggestions were given. This is a much better product due to his involvement.

 * Email bug reports to . Be sure to include the word

The most basic element in `bc' is the number. Numbers are arbitrary precision numbers. This precision is both in the integer part and the fractional part. All numbers are represented internally in decimal and all computation is done in decimal. (This version truncates results from divide and multiply operations.) There are two attributes of numbers, the length and the scale. The length is the total number of significant decimal digits in a number and the scale is the total number of decimal digits after the decimal point. For example, .000001 has a length of 6 and scale of 6, while 1935.000 has a length of 7 and a scale of 3.

Variables

 * Numbers are stored in two types of variables, simple variables and arrays. Both simple variables and array variables are named.

Names begin with a letter followed by any number of letters, digits and underscores. All letters must be lower case. (Full alphanumeric names are an extension. In POSIX `bc' all names are a single lower case letter.) The type of variable is clear by the context because all array variable names will be followed by brackets ( [ ] ).

 * There are four special variables, SCALE, IBASE, OBASE, and LAST.

SCALE defines how some operations use digits after the decimal point. The default value of SCALE is 0. IBASE and OBASE define the conversion base for input and output numbers. The default for both input and output is base 10. LAST (an extension) is a variable that has the value of the last printed number. These will be discussed in further detail where appropriate. All of these variables may have values assigned to them as well as used in expressions.

Comments

 * Comments in `bc' start with the characters `/*' and end with the characters `*/'.

Comments may start anywhere and appear as a single space in the input. (This causes comments to delimit other input items. For example, a comment can not be found in the middle of a variable name.)  Comments include any newlines (end of line) between the start and the end of the comment.

 * To support the use of scripts for `bc', a single line comment has been added as an extension.

A single line comment starts at a `#' character and continues to the next end of the line. The end of line character is not part of the comment and is processed normally.

Expressions
Constants, (special) variables and/or operators

About Expressions and Special Variables

 * The numbers are manipulated by expressions and statements.

Since the language was designed to be interactive, statements and expressions are executed as soon as possible. There is no main program. Instead, code is executed as it is encountered. (Functions, discussed in detail later, are defined when encountered.)

 * A simple expression is just a constant.

`bc' converts constants into internal decimal numbers using the current input base, specified by the variable IBASE. (There is an exception in functions.) The legal values of IBASE are 2 through 16. Assigning a value outside this range to IBASE will result in a value of 2 or 16. Input numbers may contain the characters 0-9 and A-F. (Note: They must be capitals. Lower case letters are variable names.)  Single digit numbers always have the value of the digit regardless of the value of IBASE. (i.e. A = 10.) For multi-digit numbers, `bc' changes all input digits greater or equal to IBASE to the value of IBASE-1. This makes the number `FFF' always be the largest 3 digit number of the input base.

 * Full expressions are similar to many other high level languages.

Since there is only one kind of number, there are no rules for mixing types. Instead, there are rules on the scale of expressions. Every expression has a scale. This is derived from the scale of original numbers, the operation performed and in many cases, the value of the variable SCALE. Legal values of the variable SCALE are 0 to the maximum number representable by a C integer.

Basic Expressions

 * In the following descriptions of legal expressions, "expr" refers to

a complete expression and "VAR" refers to a simple or an array variable. A simple variable is just a

NAME

 * and an array variable is specified as

NAME[EXPR]

 * Unless specifically mentioned the scale of the result is the maximum scale of the expressions involved.

`- expr'
 * The result is the negation of the expression.

`++ VAR'
 * The variable is incremented by one and the new value is the result of the expression.

`-- VAR'
 * The variable is decremented by one and the new value is the result of the expression.

`VAR ++'
 * The result of the expression is the value of the variable and then the variable is incremented by one.

`VAR --'
 * The result of the expression is the value of the variable and then the variable is decremented by one.

`expr + expr'
 * The result of the expression is the sum of the two expressions.

`expr - expr'
 * The result of the expression is the difference of the two expressions.

`expr * expr'
 * The result of the expression is the product of the two expressions.

`expr / expr'
 * The result of the expression is the quotient of the two expressions.

The scale of the result is the value of the variable `scale'

`expr % expr'
 * The result of the expression is the "remainder" and it is computed in the following way.

To compute a%b, first a/b is computed to SCALE digits. That result is used to compute a-(a/b)*b to the scale of the maximum of SCALE+scale(b) and scale(a). If SCALE is set to zero and both expressions are integers this expression is the integer remainder function.

`expr ^ expr'
 * The result of the expression is the value of the first raised to the second. The second expression must be an integer.

(If the second expression is not an integer, a warning is generated and the expression is truncated to get an integer value.) The scale of the result is SCALE if the exponent is negative. If the exponent is positive the scale of the result is the minimum of the scale of the first expression times the value of the exponent and the maximum of SCALE and the scale of the first expression. (e.g. scale(a^b) = min(scale(a)*b, max(SCALE, scale(a))).) It should be noted that expr^0 will always return the value of 1.

`( expr )'
 * This alters the standard precedence to force the evaluation of the expression.

`VAR = expr'
 * The variable is assigned the value of the expression.

`VAR = expr'
 * This is equivalent to "VAR = VAR  expr" with the exception that the "VAR" part is evaluated only once.

This can make a difference if "VAR" is an array.

Relational Expressions

 * Relational expressions are a special kind of expression that always evaluate to 0 or 1, 0 if the relation is false and 1 if the relation is

true. These may appear in any legal expression. (POSIX `bc' requires that relational expressions are used only in `if', `while', and `for' statements and that only one relational test may be done in them.) The relational operators are

`expr1 < expr2'
 * The result is 1 if expr1 is strictly less than expr2.

`expr1 <= expr2'
 * The result is 1 if expr1 is less than or equal to expr2.

`expr1 > expr2'
 * The result is 1 if expr1 is strictly greater than expr2.

`expr1 >= expr2'
 * The result is 1 if expr1 is greater than or equal to expr2.

`expr1 == expr2'
 * The result is 1 if expr1 is equal to expr2.

`expr1 != expr2'
 * The result is 1 if expr1 is not equal to expr2.

Boolean Expressions

 * Boolean operations are also legal. (POSIX `bc' does NOT have boolean operations).

The result of all boolean operations are 0 and 1 (for false and true) as in relational expressions. The boolean operators are:

`!expr'
 * The result is 1 if expr is 0.

`expr && expr'
 * The result is 1 if both expressions are non-zero.

`expr || expr'
 * The result is 1 if either expression is non-zero.

Precedence

 * The expression precedence is as follows: (lowest to highest)

 * || operator, left associative
 * && operator, left associative
 * ! operator, nonassociative
 * Relational operators, left associative
 * Assignment operator, right associative
 * + and - operators, left associative
 * *, / and % operators, left associative
 * ^ operator, right associative
 * unary - operator, nonassociative
 * ++ and -- operators, nonassociative

 * This precedence was chosen so that POSIX compliant `bc' programs will run correctly.

This will cause the use of the relational and logical operators to have some unusual behavior when used with assignment expressions. Consider the expression:

a = 3 < 5

 * Most C programmers would assume this would assign the result of "3 < 5" (the value 1) to the variable "a".

What this does in `bc' is assign the value 3 to the variable "a" and then compare 3 to 5. It is best to use parentheses when using relational and logical operators with the assignment operators.

Special Expressions

 * There are a few more special expressions that are provided in `bc'.

These have to do with user-defined functions and standard functions. They all appear as "NAME`('PARAMETERS`)'". *Note Functions::, for user-defined functions. The standard functions are:

`length ( expression )'
 * The value of the length function is the number of significant digits in the expression.

`read '
 * The `read' function (an extension) will read a number from the standard input, regardless of where the function occurs.

Beware, this can cause problems with the mixing of data and program in the standard input. The best use for this function is in a previously written program that needs input from the user, but never allows program code to be input from the user. The value of the `read' function is the number read from the standard input using the current value of the variable IBASE for the conversion base.

`scale ( expression )'
 * The value of the `scale' function is the number of digits after the decimal point in the expression.

`sqrt ( expression )'
 * The value of the `sqrt' function is the square root of the expression. If the expression is negative, a run time error is generated.

Statements

 * Statements (as in most algebraic languages) provide the sequencing of expression evaluation.

In `bc' statements are executed "as soon as possible." Execution happens when a newline in encountered and there is one or more complete statements. Due to this immediate execution, newlines are very important in `bc'. In fact, both a semicolon and a newline are used as statement separators. An improperly placed newline will cause a syntax error. Because newlines are statement separators, it is possible to hide a newline by using the backslash character. The sequence "\", where  is the newline appears to `bc' as whitespace instead of a newline. A statement list is a series of statements separated by semicolons and newlines. The following is a list of `bc' statements and what they do: (Things enclosed in brackets ( [ ] ) are optional parts of the statement.)

EXPRESSION
 * This statement does one of two things. If the expression starts with "  ...", it is considered to be an assignment statement.  If the expression is not an assignment statement, the expression is evaluated and printed to the output.

After the number is printed, a newline is printed. For example, "a=1" is an assignment statement and "(a=1)" is an expression that has an embedded assignment. All numbers that are printed are printed in the base specified by the variable OBASE. The legal values for OBASE are 2 through BC_BASE_MAX (*note Environment Variables::). For bases 2 through 16, the usual method of writing numbers is used. For bases greater than 16, `bc' uses a multi-character digit method of printing the numbers where each higher base digit is printed as a base 10 number. The multi-character digits are separated by spaces. Each digit contains the number of characters required to represent the base ten value of "OBASE -1". Since numbers are of arbitrary precision, some numbers may not be printable on a single output line. These long numbers will be split across lines using the "\" as the last character on a line. The maximum number of characters printed per line is 70. Due to the interactive nature of `bc', printing a number causes the side effect of assigning the printed value to the special variable LAST. This allows the user to recover the last value printed without having to retype the expression that printed the number. Assigning to LAST is legal and will overwrite the last printed value with the assigned value. The newly assigned value will remain until the next number is printed or another value is assigned to LAST. (Some installations may allow the use of a single period (.) which is not part of a number as a short hand notation for for LAST.)

STRING
 * The string is printed to the output. Strings start with a double quote character and contain all characters until the next double quote character.  All characters are taken literally, including any newline.  No newline character is printed after the string.

`PRINT' LIST
 * The `print' statement (an extension) provides another method of output. The LIST is a list of strings and expressions separated by commas.  Each string or expression is printed in the order of the list.  No terminating newline is printed.  Expressions are evaluated and their value is printed and assigned to the variable `last'. Strings in the print statement are printed to the output and may contain special characters.  Special characters start with the backslash character (\e).  The special characters recognized by `bc' are "a" (alert or bell), "b" (backspace), "f" (form feed), "n" (newline), "r" (carriage return), "q" (double quote), "t" (tab), and "\e" (backslash).  Any other character following the backslash will be ignored.

{ STATEMENT_LIST }
 * This is the compound statement. It allows multiple statements to be grouped together for execution.

`IF' ( EXPRESSION ) STATEMENT1 [`ELSE' STATEMENT2]
 * The if statement evaluates the expression and executes statement1 or statement2 depending on the value of the expression.

If the expression is non-zero, statement1 is executed. If statement2 is present and the value of the expression is 0, then statement2 is executed. (The `else' clause is an extension.)

`WHILE' ( EXPRESSION ) STATEMENT
 * The while statement will execute the statement while the expression is non-zero.

It evaluates the expression before each execution of the statement. Termination of the loop is caused by a zero expression value or the execution of a `break' statement.

`FOR' ( [EXPRESSION1] ; [EXPRESSION2] ; [EXPRESSION3] ) STATEMENT
 * The `for' statement controls repeated execution of the statement. EXPRESSION1 is evaluated before the loop.

EXPRESSION2 is evaluated before each execution of the statement. If it is non-zero, the statement is evaluated. If it is zero, the loop is terminated. After each execution of the statement, EXPRESSION3 is evaluated before the reevaluation of expression2. If EXPRESSION1 or EXPRESSION3 are missing, nothing is evaluated at the point they would be evaluated. If EXPRESSION2 is missing, it is the same as substituting the value 1 for EXPRESSION2. (The optional expressions are an extension. POSIX `bc' requires all three expressions.) The following is equivalent code for the `for' statement:

 * expression1;
 * while (expression2) {
 * statement;
 * expression3;
 * }

`BREAK'
 * This statement causes a forced exit of the most recent enclosing `while' statement or `for' statement.

`CONTINUE'
 * The `continue' statement (an extension) causes the most recent enclosing `for' statement to start the next iteration.

`HALT'
 * The `halt' statement (an extension) is an executed statement that causes the `bc' processor to quit only when it is executed.

For example, "if (0 == 1) halt" will not cause `bc' to terminate because the `halt' is not executed.

`RETURN'
 * Return the value 0 from a function. (*Note Functions::.)

`RETURN' ( EXPRESSION )
 * Return the value of the expression from a function. (*Note Functions::.)  As an extension, the parenthesis are not required.

Pseudo Statements

 * These statements are not statements in the traditional sense. They are not executed statements.

Their function is performed at "compile"time.

`limits'
 * Print the local limits enforced by the local version of `bc'. This is an extension.

`quit'
 * When the `quit' statement is read, the `bc' processor is terminated, regardless of where the `quit' statement is found.

For example, "if (0 == 1) quit" will cause `bc' to terminate.

`warranty'
 * Print a longer warranty notice. This is an extension.

Functions

 * Functions provide a method of defining a computation that can be executed later.

Functions in `bc' always compute a value and return it to the caller. Function definitions are "dynamic" in the sense that a function is undefined until a definition is encountered in the input. That definition is then used until another definition function for the same name is encountered. The new definition then replaces the older definition. A function is defined as follows:

`define' NAME `(' PARAMETERS `)' `{' NEWLINE AUTO_LIST  STATEMENT_LIST `}'

 * A function call is just an expression of the form "`name' `('PARAMETERS`)'".

Parameters are numbers or arrays (an extension). In the function definition, zero or more parameters are defined by listing their names separated by commas. Numbers are only call by value parameters. Arrays are only call by variable. Arrays are specified in the parameter definition by the notation "NAME`[ ]'". In the function call, actual parameters are full expressions for number parameters. The same notation is used for passing arrays as for defining array parameters. The named array is passed by variable to the function. Since function definitions are dynamic, parameter numbers and types are checked when a function is called. Any mismatch in number or types of parameters will cause a runtime error. A runtime error will also occur for the call to an undefined function.

 * The AUTO_LIST is an optional list of variables that are for "local" use. The syntax of the auto list (if present) is "`auto' NAME, ... ;".

(The semicolon is optional.) Each NAME is the name of an auto variable. Arrays may be specified by using the same notation as used in parameters. These variables have their values pushed onto a stack at the start of the function. The variables are then initialized to zero and used throughout the execution of the function. At function exit, these variables are popped so that the original value (at the time of the function call) of these variables are restored. The parameters are really auto variables that are initialized to a value provided in the function call. Auto variables are different than traditional local variables because if function A calls function B, B may access function A's auto variables by just using the same name, unless function B has called them auto variables. Due to the fact that auto variables and parameters are pushed onto a stack, `bc' supports recursive functions.

 * The function body is a list of `bc' statements. Again, statements are separated by semicolons or newlines.

Return statements cause the termination of a function and the return of a value. There are two versions of the return statement. The first form, "`return'", returns the value 0 to the calling expression. The second form, "`return' (EXPRESSION )", computes the value of the expression and returns that value to the calling expression. There is an implied "`return' (0)" at the end of every function. This allows a function to terminate and return 0 without an explicit `return' statement.

 * Functions also change the usage of the variable IBASE. All constants in the function body will be converted using the value of IBASE at the time of the function call.  Changes of IBASE will be ignored during the execution of the function except for the standard function `read', which will always use the current value of IBASE for conversion of numbers.

 * As an extension, the format of the definition has been slightly relaxed. The standard requires the opening brace be on the same line as the `define' keyword and all other parts must be on following lines. This version of `bc' will allow any number of newlines before and after the opening brace of the function.  For example, the following definitions are legal.

define d (n) { return (2*n); } define d (n) { return (2*n); }

Math Library Functions

 * If `bc' is invoked with the `-l' option, a math library is preloaded and the default SCALE is set to 20. The math functions will calculate

their results to the scale set at the time of their call. The math library defines the following functions:

`s (X)'
 * The sine of X, X is in radians.

`c (X)'
 * The cosine of X, X is in radians.

`a (X)'
 * The arctangent of X, arctangent returns radians.

`l (X)'
 * The natural logarithm of X.

`E (X)'
 * The exponential function of raising E to the value X.

`J (N,X)'
 * The bessel function of integer order N of X.

Examples

 * In /bin/sh, the following will assign the value of "pi" to the shell variable PI.

pi=$(echo "scale=10; 4*a(1)" | bc -l)

 * The following is the definition of the exponential function used in the math library. This function is written in POSIX `bc'.

scale = 20 /* Uses the fact that e^x = (e^(x/2))^2 When x is small enough, we use the series: e^x = 1 + x + x^2/2! + x^3/3! + ...    */     define e(x) { auto a, d, e, f, i, m, v, z       /* Check the sign of x. */ if (x<0) { m = 1 x = -x }      /* Precondition x. */ z = scale; scale = 4 + z + .44*x; while (x > 1) { f += 1; x /= 2; }      /* Initialize the variables. */      v = 1+x a = x      d = 1 for (i=2; 1; i++) { e = (a *= x) / (d *= i)        if (e == 0) { if (f>0) while (f--) v = v*v; scale = z          if (m) return (1/v); return (v/1); }        v += e       } }

 * The following is code that uses the extended features of `bc' to implement a simple program for calculating checkbook balances.

This program is best kept in a file so that it can be used many times without having to retype it at every use.

scale=2 print "\nCheck book program\n!" print " Remember, deposits are negative transactions.\n" print " Exit by a 0 transaction.\n\n" print "Initial balance? "; bal = read bal /= 1 print "\n" while (1) { "current balance = "; bal "transaction? "; trans = read if (trans == 0) break; bal -= trans bal /= 1 }    quit

 * The following is the definition of the recursive factorial function.

define f (x) { if (x <= 1) return (1); return (f(x-1) * x); }

Readline and Libedit Options

 * GNU `bc' can be compiled (via a configure option) to use the GNU `readline' input editor library or the BSD `libedit' library.

This allows the user to do more editing of lines before sending them to `bc'. It also allows for a history of previous lines typed. When this option is selected, `bc' has one more special variable. This special variable, HISTORY is the number of lines of history retained. A value of -1 means that an unlimited number of history lines are retained. This is the default value. Setting the value of HISTORY to a positive number restricts the number of history lines to the number given. The value of 0 disables the history feature. For more information, read the user manuals for the GNU `readline', `history' and BSD `libedit' libraries. One can not enable both `readline' and `libedit' at the same time.

GNU `bc' and Other Implementations

 * This version of `bc' was implemented from the POSIX P1003.2/D11 draft and contains several differences and extensions relative to the draft and traditional implementations. It is not implemented in the traditional way using `dc'. This version is a single process which parses and runs a byte code translation of the program.

There is an "undocumented" option (-c) that causes the program to output the byte code to the standard output instead of running it. It was mainly used for debugging the parser and preparing the math library.

 * A major source of differences is extensions, where a feature is extended to add more functionality and additions,

where new features are added. The following is the list of differences and extensions.

LANG ENVIRONMENT
 * This version does not conform to the POSIX standard in the processing of the LANG environment variable and all environment variables starting with LC_.

NAMES
 * Traditional and POSIX `bc' have single letter names for functions, variables and arrays.

They have been extended to be multi-character names that start with a letter and may contain letters, numbers and the underscore character.

STRINGS
 * Strings are not allowed to contain NUL characters. POSIX says all characters must be included in strings.

LAST
 * POSIX `bc' does not have a \fBlast variable. Some implementations of `bc' use the period (.) in a similar way.

COMPARISONS
 * POSIX `bc' allows comparisons only in the `if' statement, the `while' statement, and the second expression of the `for' statement.

Also, only one relational operation is allowed in each of those statements.

IF STATEMENT, ELSE CLAUSE
 * POSIX `bc' does not have an `else' clause.

FOR STATEMENT
 * POSIX `bc' requires all expressions to be present in the `for' statement.

&&, ||, !
 * POSIX `bc' does not have the logical operators.

READ FUNCTION
 * POSIX `bc' does not have a `read' function.

PRINT STATEMENT
 * POSIX `bc' does not have a `print' statement.

CONTINUE STATEMENT
 * POSIX `bc' does not have a continue statement.

ARRAY PARAMETERS
 * POSIX `bc' does not (currently) support array parameters in full. The POSIX grammar allows for arrays in function definitions,

but does not provide a method to specify an array as an actual parameter. (This is most likely an oversight in the grammar.) Traditional implementations of `bc' have only call by value array parameters.

FUNCTION FORMAT
 * POSIX `bc' requires the opening brace on the same line as the `define' key word and the `auto' statement on the next line.

=+, =-, =*, =/, =%, =^
 * POSIX `bc' does not require these "old style" assignment operators to be defined. This version may allow these "old style" assignments.

Use the `limits' statement to see if the installed version supports them. If it does support the "old style" assignment operators, the statement "a =- 1" will decrement `a' by 1 instead of setting `a' to the value -1.

SPACES IN NUMBERS
 * Other implementations of `bc' allow spaces in numbers. For example, "x=1 3" would assign the value 13 to the variable x.

The same statement would cause a syntax error in this version of `bc'.

ERRORS AND EXECUTION
 * This implementation varies from other implementations in terms of what code will be executed when syntax and other errors are found in the program. If a syntax error is found in a function definition, error recovery tries to find the beginning of a statement and continue to parse the function.  Once a syntax error is found in the function, the function will not be callable and becomes undefined.

Syntax errors in the interactive execution code will invalidate the current execution block. The execution block is terminated by an end of line that appears after a complete sequence of statements. For example,

a = 1 b = 2

has two execution blocks and

{ a = 1 b = 2 }

has one execution block. Any runtime error will terminate the execution of the current execution block. A runtime warning will not terminate the current execution block.

INTERRUPTS
 * During an interactive session, the SIGINT signal (usually generated by the control-C character from the terminal) will cause execution of the current execution block to be interrupted. It will display a "runtime" error indicating which function was interrupted.

After all runtime structures have been cleaned up, a message will be printed to notify the user that `bc' is ready for more input. All previously defined functions remain defined and the value of all non-auto variables are the value at the point of interruption. All auto variables and function parameters are removed during the clean up process. During a non-interactive session, the SIGINT signal will terminate the entire run of `bc'.

Limits

 * The following are the limits currently in place for this `bc' processor. Some of them may have been changed by an installation.

Use the `limits' statement to see the actual values.

`BC_BASE_MAX'
 * The maximum output base is currently set at 999. The maximum input base is 16.

`BC_DIM_MAX'
 * This is currently an arbitrary limit of 65535 as distributed. Your installation may be different.

`BC_SCALE_MAX'
 * The number of digits after the decimal point is limited to INT_MAX digits.

Also, the number of digits before the decimal point is limited to INT_MAX digits.

`BC_STRING_MAX'
 * The limit on the number of characters in a string is INT_MAX characters.

`exponent'
 * The value of the exponent in the raise operation (^) is limited to LONG_MAX.

`multiply'
 * The multiply routine may yield incorrect results if a number has more than LONG_MAX / 90 total digits.

For 32 bit longs, this number is 23,860,929 digits.

`variable names'
 * The current limit on the number of unique names is 32767 for each of simple variables, arrays and functions.

Environment Variables

 * The following environment variables are processed by `bc':

`POSIXLY_CORRECT'
 * This is the same as the -s option (*note Command Line Options::).

`BC_ENV_ARGS'
 * This is another mechanism to get arguments to `bc'. The format is the same as the command line arguments.

These arguments are processed first, so any files listed in the environent arguments are processed before any command line argument files. This allows the user to set up "standard" options and files to be processed at. The maximum output base is currently set at 999. The maximum input base is 16.

`BC_DIM_MAX'
 * This is currently an arbitrary limit of 65535 as distributed. Your installation may be different.

`BC_SCALE_MAX'
 * The number of digits after the decimal point is limited to INT_MAX digits.

Also, the number of digits before the decimal point is limited to INT_MAX digits.

`BC_STRING_MAX'
 * The limit on the number of characters in a string is INT_MAX characters.

`exponent'
 * The value of the exponent in the raise operation (^) is limited to LONG_MAX.

`multiply'
 * The multiply routine may yield incorrect results if a number has more than LONG_MAX / 90 total digits.

For 32 bit longs, this number is 23,860,929 digits.

`variable names'
 * The current limit on the number of unique names is 32767 for each of simple variables, arrays and functions.

title: User:Klaas van Buiten/bc


text:
Interesting social sciences/Cultural studies

https://www.youtube.com/watch?v=jF47SgIWm8M&ab_channel=%D0%92%D0%B0%D0%BB%D0%B5%D1%80%D0%B8%D0%B9%D0%A1%D1%82%D0%B0%D1%80%D0%B8%D0%BA%D0%BE%D0%B2

Personality types in show business.

English subtitles exist in this video.Their degree of suitability for the role of a singer, hero - lover or clown. My assessment of the work of such singers as Vladimir Vysotsky, Vladimir Mayakovsky, Sergey Yesenin, Alla Pugacheva, Larisa Dolina,. Aleksandr Malinin, Tatyana Bulanova, etc.

https://www.youtube.com/watch?v=pIM3Djf0qeE&ab_channel=%D0%92%D0%B0%D0%BB%D0%B5%D1%80%D0%B8%D0%B9%D0%A1%D1%82%D0%B0%D1%80%D0%B8%D0%BA%D0%BE%D0%B2

Georg Simmel about fashion.

English subtitles exist in this video. Volochkova in a bikini is on the cover. Bikinis are an example of fashion too.

https://www.youtube.com/watch?v=NBZN7ZPDfrE&ab_channel=%D0%92%D0%B0%D0%BB%D0%B5%D1%80%D0%B8%D0%B9%D0%A1%D1%82%D0%B0%D1%80%D0%B8%D0%BA%D0%BE%D0%B2

Has cinema died today or will cinema be revived?

Three stages in the development of Russian cinema.English subtitles exist in this video.

Some pseudo‐scientists consider aesthetics as science about the beautiful and further these pseudo‐scientists go to the scholastic reasoning, from which there is no benefit. Instead, I will try to consider the development of such type of art, as show business on example of development of cinema. The development of cinema is result of relations of conflict and control. This my approach should serve as a model for the study of other kinds of art.

Fashion
Basic provisions of the theory of fashion were formulated by George Simmel. According to him, fashionable things are the identification marks indicating belonging to elite. The fashion is the aspiration of bottoms of society to imitate to elite. The fashion did not exist in primitive society because degree of inequality between people, extent of division of people into elite and mass was low in primitive society. The fashion did not change for centuries in caste society and estate society because mass had no right to imitate to elite under the law in caste society and estate society. Only representatives of elite – noblemen and priests – had the right to carry fashionable things in the Middle Ages in Western Europe. It was forbidden for representatives of the lowest estates under the law. Jewelry and furs were fashionable things in the Middle Ages in Western Europe. Merchants had money for acquisition of these things, but merchants had no right to carry fashionable things and merchants did not want to provoke of noblemen to robbery of himself. By the way, Russia which grew rich on trade in these fashionable goods was the chief supplier of furs to Western Europe.

The legal prohibition were cancelled on wearing any clothes, the speed of vertical mobility increased and the hereditary aristocracy disappeared during Modern history. Mass has begun to seek to imitate to elite and mass has begun to seek to wear fashionable things under capitalism with the purpose to resemble of representatives of elite at least externally. Therefore the elite is forced to invent constantly new fashion today to be allocated from bottoms of society. Mass exhausted of elite in this sense so that the elite is forced even to repeat fashion on some things sometimes through a some period. Examples of repetitions of fashion is a thick sole - "platform shoe", leather jacket, a wig. Examples of fashionable things and details of appearance from the recent past: trousers - "bell-bottoms", very tight trousers ("macarons"), sunglasses, a beard, the shaven head "as the cool guy", tattoos, body piercing, a miniskirt, high-heeled shoe, Mercedes-Benz cars, the mobile phone, shorts. Representatives of youth subculture and young women follow for fashion especially fixedly.

“Future shock" in sphere of Russian cinema
The kinds of show business:

• circus,

• music,

• cinema,

• radio,

• phonograph record,

• television,

• video.

Phonograph record, as kind of show‐business, has disappeared already almost today as a result of the invention of the record of music on magnetic tape, the disks DVD and USB flash drive. In my opinion, it is necessary to consider the development of each kind of show business, including the development of cinema, as the result of the relations of social competition with other kinds of show business. Besides, the rapid technical progress in sphere of show business has left a huge mark on these relations, the development of technical progress has conducted to the consecutive invention of cinema, then television, and then video. These three kinds of show business exist in conditions of competition with each other for influence on the consumer today. Technical inventions in the field of the cinema appear with  at breakneck speed, therefore employees of cinema  feel shock from quick changes, which is described in the work of Alvin Toffler "Future shock".

Three stages of the development of Russian cinema:

 * Soviet power considered the cinema as tool  of upbringing for Soviet citizens, that is, in fact, the cinema was a means of manipulation, means of control over public opinion. The purpose of cinema  was the formation of false political stereotypes which were profitable for Soviet power. The purpose of cinema  was upbringing of Soviet citizens with help of demonstration of the optimistic “fairy tales” about the achievements of Soviet society, therefore, the share of movies of foreign production in film distribution was insignificant. Cinema was part of the huge ideological machine on disinformation and deception of soviet citizens. Authorities limited the natural competition between workers of cinema for influence on the consumer. State censorship could forbid the show of popular film even and Soviet power could repress of creators of this popular film because of ideological reasons. Russian films were mediocre under Soviet power often, since censorship forbade the production of talented films, but, on the other hand, the Soviet Government allocated a lot of money for production of films and  maintenance of unprofitable movie theaters in small settlements even. It was necessary to show  small documentary film before a good feature film; therefore the audience languished and audience were bored during broadcast of long speeches of  ruler Leonid Brezhnev in the documentary film waiting of the Indian or American movie. New movies were showed in movie theaters only and new movies weren't showed on Central television under Soviet power.
 * Censorship was cancelled in Russia in 1991. A broad stream of foreign, mainly American, films have rushed on the television screens of the country. The emergence of videocassette recorders in Russia had resulted to a blossoming of video salons where previously forbidden movies were showeded, because videocassette recorders was too expensive and usual man couldn’t buy this videocassette recorder and this man was forced to buy ticket to video salon. This competition from television and video salons had killed domestic Russian cinema almost, many movie theaters were closed in Russia, production of Russian films has stopped almost. The whole generation of people who never were at movie theater has grown.
 * The revival of Russian cinema had begun in 2001 because of certain degradation of the quality of television programs and the beginning of the fight against video pirates. Advertizing revenues had turned out insufficient for acquisition by television of the rights for broadcast of new movies. Television management is forced today to fill the time of TV broadcast with annoying advertizing, old movies, cheap talk shows, culinary programs, quizzes, low-standard comic programs, silly film series (soap operas)  and Star Academy. The number of television channels is becoming more and more, but the quality of the content of television programs are worse and worse. This decline in quality of content becomes inevitable, for example, because of reducing the terms of shootings for television’s films: director shoots one series in the television’s serial on video during one or two days, while director shoots feature film on cellulose acetate film during a few months. An impression is sometimes made that some series are designed for people with limited mental capacities. But, on the other hand, it has allowed to reduce the cost of movies on video in comparison with feature film on cellulose acetate film in many times. Everything returned to back today on a new step of technical development. Good new movies can be watched only at movie theater or with help of Internet in poor quality.  Issue of disks DVD lags behind from Premier films in cinema theatres on one month approximately in Russia. This lag exists for protect of cinema theatres from video‐pirates. Quality cinema demonstration of movies is higher quality of demonstration of television’s and video films always on such indicators as image sharpness and degree of illuminance of the screen. The sharpness of the image of the film on cellulose acetate remains unattainable standard for film on video disks. The power of xenon arc lamps in movie projector surpasses the power of incandescent light bulb in video‐projector in 10‐30 times, therefore  the illuminance of screen during cinema show with help of movie projector also remains unattainable standard for video shows yet. Such high power of xenon arc lamps can be achieved with help of powerful rectifiers, ventilation and cooling of xenon arc lamps only. And nevertheless there was a transition in world cinema from expensive cellulose acetate film to cheap video and to disks in digital cinema contrary to decline in quality of cinema show today. Competition  from outside  television forced to introduce in cinema such technical inventions as surround sound and video projector. Russian movie theatres began to be equipped by imported equipment today. For example, such technical devices have appeared, as platter system, which allows to save of projectionist from need to rewind cellulose acetate film before each session, it allow to put the entire film on one reel, to glue entire film in one ring and to show film on one movie projector without transitions from the one projector to other projector. Multiplexes (movie theaters, complexts with multiple screens within a single complex) exist today, where one projectionist by means of the computer can operate work of film projectors in several halls.

Audience tired from American movies in Russia today, because American movies are a product of conveyor, american movies are product of template production, american movies are generation of alien culture therefore  a need have arisen in new Russian movies. The Russian producers have learned much at the American producers and Russian producers are capable to make blockbuster which isn't worse than the western samples.

Сonclusion: it should be noted the pleasant fact that the Russian cinema hasn't died and Russian cinema could revive on a new step of technical development.

Personality types in the art and show business.

This question in the paragraph is intended for help to those people who choose the profession of poet, artist, composer, projectionist or another profession in the sphere of show business. My tests to the personality type make it  possible to define degree of suitability of the personality  types on these professions. My tests can be used in the process of the selection of students into art schools and drama schools. Different personality types compete with each other in fight for roles in movies. The actor has to have high spirituality, high extraversion and high emotionality, only the psychologist possesses by high spirituality and high emotionality. This high spirituality and high emotionality is absent at technician and theorist completely, therefore technician and theorist are not suitable for the role of actor completely, but technician is suitable for the role of the technical worker in the sphere of art, for example for the role of camera operator or projectionist. Speaker possesses by low spirituality. Speaker possesses by highest degree of extraversion, which helps him to be outstanding orator and not to have fear before public on the theatrical scene, where speaker feels itself like a duck to water. Theorist possesses highest degree of introversion therefore theorist  feels  panicky  fear  before  the  public  on  the  theatrical  scene frequently. Psychologist and  technician  can  possess by extraversion in average degree. This combination of high spirituality and a average degree of extraversion gives to game on the scene large  depth at psychologist. Psychologist possesses by highest degree of emotionalism in comparison  with  other  personality types. Psychologist lives by feelings and intuition as animal, but psychologist lives not by reason often. The high spirituality of psychologists is manifested in the ability to create lyric works. Of course, belonging to personality type of the psychologist doesn't guarantee to the person existence of huge talent yet, but guarantees high degree of suitability for a role of the worker of art. Only the lyrics and high spirituality of the psychologist allow him to cause in reply high degree of empathy of the audience. Speakers are deprived of these abilities completely. Speaker is  the trickster,  who attempts  to  imitate  high spirituality frequently, speaker sings as brass instrument without any feelings and emotions, but this, if one may say so, "creativity" doesn't cause empathy of the audience completely. Speaker can have perfectly trained voice even, speaker can have many money on self-advertisement, speaker can have many friends in the sphere of show business, speaker can have many impudence and enterprise, but speaker does not know how to fulfill songs and to compose verses 'with the soul'. Therefore speaker is forced to search of love of the authorities, for this purpose speaker is capable to sing optimistic,  civil and  even the  Party‐Communist  songs  under  the  Soviet regime as Vladimir Mayakovsky, Joseph Kobzon and Lev Leshchenko. Different stock characters exist in the cinema, for example, stock character of absent-minded professor, Hooker with a heart of gold, Hopeless Romantic, Tortured artist or Lovers are intended for the psychologist, and stock character of compere, Criminal, Outlaw, Jock (athlete), Supersoldier, Swashbuckler, Superhero, Town drunk, White hunter, Tomboy or clown are suitable for a speaker. For example, the most successful roles of speaker Vladimir Vysotskiy were roles of detective, mountain climber or criminal. Vladimir Vysotsky has cried out to the people "truth" in own songs contrary to censorship persecutions. Psychologists as the clown or the courageous hero have a little pathetic appearance. Speakers as the hero lover aren't able to represent depth of love experiences thinly.

Examples of psychologists in the sphere of the art are singers – Michael Jackson, Demis Roussos, Joe Dassin, Alla Pugacheva, Lyubov Uspenskaya, Philipp Kirkorov, Alexander Malinin, Pyotr Leshchenko, Alexander Vertinsky, Larisa Dolina, Alexander Gradsky, Lolita Milyavskaya, Anzhelika Varum, Verka Serduchka (Andrey Danylko). Examples of psychologists in the sphere of the art are actors ‐ Marilyn Monroe, Leonardo DiCaprio,  Dmitriy  Pevtsov,  Renata  Litvinova,  Konstantin Khabensky, Elena Solovey,  Angelina Jolie, John Travolta,  Georgy Vitsin,  Aleksey Batalov. Examples of psychologists in the sphere of the art are poets and writers ‐ Sergei Yesenin, Alexander Pushkin, Mikhail Lermontov, Leo Tolstoy, Fyodor Dostoyevsky,  Maxim  Gorky,  Anton  Chekhov. Examples of psychologists in the sphere of the art are film director ‐ Andrei Tarkovsky, Leonid  Gaidai,  Sergei Bondarchuk. Examples of psychologists in the sphere of the art are clowns ‐ Aleksandr Tsekalo, Savely Kramarov.

Examples of speakers in the sphere of the art are singers ‐ Nikolay Baskov,  Vladimir  Vysotsky, Laima Vaikule,  Oleg  Gazmanov, Garik Sukachov, Sergey Shnurov. Examples of speakers in the sphere of the art are actors - Gérard Depardieu, Adriano Celentano, Sylvester Stallone, Bruce Willis, Steven Seagal, Arnold Schwarzenegger, Mikhail Boyarsky, Alexandr Abdulov. Examples of speakers in the sphere of the art are film directors ‐ Stanislav Govorukhin, Eldar Ryazanov, Nikita  Mikhalkov,  Quentin Tarantino. Examples of speakers in the sphere of the art are clowns ‐ Vladimir Vinokur, Viktor Sukhorukov. It is rumored, that Vladimir Mayakovskiy wrote his verses as staircase and Vladimir Mayakovskiy went to publishing houses with a walking stick that to force pay more money for his verses. Speakers as film director are able to direct by troupe and speakers prefer to shoot blockbuster or comedies. Psychologists prefer to shoot love stories, eroticism, fantasy, horror film or Auteur film, difficult for understanding of most of the audience. For example, Andrey Tarkovsky's Auteur films won prizes at the international film festivals, but this films did not bring profit and  money to film distributors. Bohemian style is style of behavior for man in community of actors. Bohemian style means wide circulation of debauchery, drugs and homosexuality often, because of a big share of psychologists among community of actors. Man‐psychologists adhere to nontraditional sexual orientation frequently, for example Boris Moiseev, or they prefer to come out into the woman's dress as Verka Serduchka (Andrey Mikhaylovich Danilko) and Conchita Wurst (Thomas Neuwirth). As the conclusion, it is necessary to note that such personality type as psychologist is most suitable to the role of actor, and speaker is the imitator of spirituality and speaker is trickster in the art frequently. In general, speakers test themselves in all areas of the life of society, but, in spite of their ambitions and high enterprise, speakers have only partial suitability often.