OpenLLM-France/wikimedia huggingface dataset:
# ColdFusion Programming/variables

Variables are used extensively in Coldfusion.

## CFSET

The basic way to set a variable is to use cfset. There is no difference between setting a variable as a string or a number. Strings must be inclosed by an opening and closing ' or ".

## CFOUTPUT and Pound Signs

The basic way to convert the variable name into its value is to place pound signs around the variable name. The variable name and pound signs must be placed inside of a cfoutput tag.
Additionally you can perform calculations within the pound signs.
Output: 2

## Evaluate

An advanced feature is to use the evaluate function. ColdFusion's evaluate function lets you evaluate a string expression at runtime.
It is particularly useful when you need to programatically choose the variable you want to read from.
Since ColdFusion MX 6.1 it has been highly recommended that developers stay away from using Evaluate for most common tasks. Instead it is recommended that developers use bracket notation.
Since the entire variables system is based on a structure system, this design can be used on any type of variable.

## Variable Lookup

* Local variables
* CGI variables
* File variables
* URL variables
* Form variables
* Cookie variables
* Client variables

## Session Variables

Session variables are easy to use and create. A session variable is used to allow variables to live beyond the life of the page in which they are created in but will die when the users session dies.
On every page of your application where you are going to use the session variable you need to include:
This code should normally be placed in your Application.cfm file.
Then to set a session variable on page 1:
And on a different page called after page 1:

## Client Variables

<cfset tempvar = 8> <cfoutput>#tempvar#</cfoutput>
# Cold War on a Global Scale
## Table of Contents

* Cuban Missile Crisis
* Space Race
* Proxy Wars
* Arms Race
* Nuclear Proliferation
* Espionage
* Ideologies
# ColdFusion Programming/control structures

As in most programming languages Coldfusion includes control structures to help your program be more useful.

## CFIF

The most basic control structure is the CFIF. It works exactly like an If statement in other programming languages.
A sample CFIF statement would look like this:
The result would be: First

## CFSWITCH

Like with other programming languages Coldfusion provides a switch functionality.
Sample CFSWITCH:
The result would be: Bob

## CFLOOP

Index Loop:
* Attributes
** from - starting number
** to - ending number
** index - value within the loop
** step - optional (default 1) - change to make with each iteration
Example:
Results: 1 2 3 4 5 6 7 8 9
Results: 1 3 5 7 9
Conditional Loop:
* Attributes
** condition - continue looping as long as condition is true
Example:
Results: 1 3 5 7 9
Query Loop:
* Attributes
** query - query name you want to loop through
** startrow - optional(default 1) - row to begin with
** endrow - optional(default last) - row to end with
Query getpeople looks like this: Age Name 10 Bill 25 Martha 30 Judy
Example:
Results: 10, Bill 25, Martha 30, Judy
List Loop:
* Attributes
** index - variable to hold element of list
** list - list to go through
** delimiters - optional (default ,) - separator used to break list apart
List people looks like this: (Bill,Martha,Judy)
Example:
Results: Bill! Martha! Judy!
Collection Loop:
* Attributes
** collection - structure name you want to loop through
** item - variable to hold element of structure
Structure place looks like this: Zip Name 55057 Northfield
Example:
Results: Zip-55057, Name-Northfield
# ColdFusion Programming/data structures
## Lists

The truth is that in Coldfusion a list is nothing more than a string separated by a delimiter. The default delimiter is a comma. Any delimiter can be used though.For example, ColdFusion Lists:ColdFusion Arrays:ColdFusion Structures is no less a list than the comma delimited list.
Creating a list
Output: IL,MO,IA,MN
Changing a list
LISTAPPEND
Note that these functions do not change the original list but rather their return value is the modified list that must be set to a variable which can be the same one that you began with.
Output: IL,MO,IA,MN,IN
LISTGETAT
Output: MN
LISTLEN
Output: 5
LISTSETAT
Output: IL,MO,HI,MN,IN
LISTINSERTAT
Output: IL,MO,AL,HI,MN,IN
LISTDELETEAT
Output: IL,MO,AL,MN,IN
LISTSORT
Output: AL,IL,IN,MN,MO

## Arrays

ColdFusion Arrays are very different than lists and provide many more utilities for manipulation. Arrays are collections of objects all linked together front-to-back.
To create an array, do the following:
There are many functions to manipulate Arrays. For instance, to add an item to myArray you may use the function ArrayAppend.

### Multi-dimensional Arrays
## Structures

ColdFusion structures are similar in many regards to other programming languages.

## Queries

In ColdFusion Queries are a datatype.

## CFDUMP

When working with structures one of the most powerful tools available to you to help debug and solve programming issues is the Cfdump tag. The Cfdump tag allows you to visually display any variable regardless of its structure type even when you have nested structures.
where mystruct is the name of the variable to be displayed. Take note that mystruct is surrounded by pound signs. This tag does not take the name of the variable but rather the variable itself. So if we create code like:
the output would be the string: mystruct not the values within mystruct.
# Cold War on a Global Scale/Space Race

The space race was the competition between the USSR and the United States. It took place during the time of the cold war. It lasted effectively from around 1957 all the way to 1969. President John F. Kennedy led the United States in this race and pushed funding for it very heavily. Progress was constantly being made and the boundaries of possibilities were being increased.

## Timeline

* Space exploration was a battle arena in the cold war and the USSR was in the lead for the majority of it.
* The Space Race between the United States and the Soviet Union began on Oct. 4th, 1957 when the Soviet Union launched Sputnik 1 into space.
* The United States soon followed in Jan. 31, 1958 when they successfully put a satellite into orbit.
* Things started heating up when in 1959 the USSR launched a probe named Luna 2 onto the moon.
* The next step was to send a person into space and on April 12, 1961 Yuri Gagarin of the Soviet Union orbited the Moon.
* That same year in April the U.S. launched a man named Alan B. Shepard into space.
* They took small steps at a time, and in 1961 the USSR launched the first woman into space.
* The competition was aimed at becoming the first country to have a man land on the moon.<
* For around 8 years the progress in feats became stagnant until on July 16, 1969 the United States successfully accomplished a lunar landing which basically won the United States the victory in the Space Race.

## Sources

* Staff, History.com. "The Space Race." History.com. A&E Television Networks, 2010. Web. 23 Mar. 2016.
* "TheSpaceRace.com - Timeline of Space Exploration." TheSpaceRace.com - Timeline of Space Exploration. N.p., n.d. Web. 23 Mar. 2016
# Control Systems/State Machines

| The Wikibook of: Control Systems and Control Engineering | Table of Contents | All Versions | PDF Version |
| The Wikibook of: Control Systems and Control Engineering | ← Adaptive Control | Nonlinear Systems → | Glossary |

## State Machines

Digital computers have a lot more power and flexibility to offer than processing simple difference equations like the kind that we have been looking at so far in our discrete cases. Computer systems are capable of handling much more complicated digital control tasks, and they are also capable of changing their algorithms in the middle of the processing time. For tasks like this, we will employ state-machines to allow us to dynamically control several aspects of a single problem with a single computer.
A state machine, in its simplest form, is a system that performs different actions, depending upon the state of the machine.

## State Diagrams

A state diagram depicts the different states of a state machine, and it uses arrows to show which states can be reached, and what are the conditions for reaching them.

### Example

Consider a common controls example of a movable cart that is attached to a horizontal pole. This cart, like the print-head on a printer, is free to travel back and forth across this pole at finite speeds. Dangling from the cart is a pendulum that is capable of freely spinning 360 degrees around its pivot point.
As the cart moves back and forth across the horizontal pole, the pendulum will swing side-to-side. In fact, if the cart moves quickly enough, and in the correct pattern, the pendulum will actually swing up over the top of the cart, and travel a full 360 degrees. The purpose of this contraption is to swing the pendulum upwards so that it is standing up vertically above the cart, and to balance it as such. There are then two distinct stages of operation for our control system:
* we must swing the pendulum from directly downward, to standing vertical
* we must balance the pendulum vertically

## Computer Implementation

| ← Adaptive Control | Control Systems | Nonlinear Systems → |
# Computer Programming Principles
## Computer Programming Principles : Program Design

Computer Programming is the process of writing, testing, troubleshooting, debugging and maintaining of a computer program. Good programming practices mix art, craft and engineering discipline. This book will teach you the basic principles of computer programming and good programming practices. What this book will not do is teach you to use a specific programming language. This book may also be useful as part of a course on computer theory, computer engineering, or software engineering, along side learning a programming language, or as part of an advanced programming course.

### The Problem

* Brainstorming
* Divide And Conquer
* Complexity Reduction
* Simplification
* Generalization
* Research
* Hypothesis Testing
* Trial And Error

### Solutions

* Brainstorming
* Divide And Conquer
* Complexity Reduction
* Simplification
* Generalization
* Research
* Hypothesis Testing
* Trial And Error

### Identifying The Approach

* Brainstorming
* Divide And Conquer
* Complexity Reduction
* Simplification
* Generalization
* Research
* Hypothesis Testing
* Trial And Error

### Quality Requirements

* Performance
* Reliability
* Robustness
* Usability
* Portability
* Operability
* Hypothesis Testing
* Trial And Error

### Methodologies

* Waterfall
* Prototyping
* Incremental
* Spiral
* Object-oriented
* Functional
* Procedural
* Rapid Application Development
* Reverse Programming

### Documentation

* Requirements
* Design
* Technical
* User
* Changes
* Research
* Hypothesis Testing
* Trial And Error

### Maintaining

* Testing
* Troubleshooting
* Debugging
* Optimizing
* Updating

### Appendixes

* Bibliography
* Language Comparison
* Decision Making
* Copying
* Contributors
# Computer Programming/Standards and Best Practices
## What are "Best Practices"

Standards in computer programming are methods of programming that have been declared acceptable and thereafter are recommended as the approach that should be used. Much like what GAAP is to Accounting, programming standards allow programmers to use a common ground when writing code. Closely tied with programming standards, best practices are simply recommended methods of writing code.

## Goal of this section

The goal of this section is to give beginners a checklist that allows them to write decent code and to tell beginners that those things exist, so that they can do further reading on these things and figure out if they want to use it or not.

## Language-specific best practices

| Wikicode | Standards | Best Practices | Template |
| C | Page Here | No Page | No Page |
| C++ | Page Here | Page Here | No Page |
| C# | No Page | No Page | No Page |
| Java | No Page | Page Here | No Page |
| Perl | No Page | No Page | No Page |
| Python | No Page | PEP 8 | No Page |
| Makefile | No Page | No Page | No Page |
| Apache Ant | No Page | Page Here | No Page |
| JavaScript | No Page | Page Here | No Page |
| Visual Basic | Page Here | No Page | No Page |

## Language-independent best practices

* Use a version control system.. Most common: git
* Create a License.txt file
* Use a proper build system like Meson, CMake, Makefile, Apache Ant, Gradle, Buildr...
* Use a code-formatter. Consider configuring your editor to run the formatter everytime you save the file.
* Use a documentation generator
* Enable compiler warnings.
* Fix all compiler warnings.
* If there are good linters available for your language, run them and fix all warnings.
* Have an appropriate amount of unit test.
* Use a 404 link checker to make sure you do not have any 404 links in your documentation.
* If you are working with memory-unsafe languages - Run your tests with ubsan.
* If a part of your code can be fuzzed, fuzz it.
It is important, that you don't just run the unit tests, fuzzers, linters, code-formatters and 404 link checkers once, instead you should run them everytime you change something. The purpose of of unit tests isn't to check whether it works, it is to make sure it keeps working when you change something. Maybe add those things to your pre-commit hooks. Most projects have their servers configured to run those tools everytime someone creates a pull requests.

## Disputed Language-independent best practices

The following are practices that some developers think are best practices, while others think that they are bad practices.
* Use Test-driven Development

## Further reading

* ↑ Troy Hunt. "The 10 commandments of good source control management".
* ↑ Joel Spolsky. "The Joel Test: 12 Steps to Better Code".
* ↑ "Version Management".
# Computer Programming/Tools
## Wikify

Wikify is a program written by Josh Ferguson specifically designed to turn a standard text file into a html/wiki format. It is being used to do the color syntax highlighting for the C++ code in the C++ section of this textbook.
Author's Statement: Wikify can not yet wikify itself, due to the fact that it has html codes in it, which confuses itself. I plan to rewrite it soon so it can wikify itself. Right now though, it works good with simple code. And it can be modified to work with other languages by changing the variables in it. Later on I'll probably move all the important variables into text files so it will be more easy to change things for other languages (i.e. by changing the text files, or extension checks), etc...
The code was written really fast, so the code isn't perfect, even though the author stubbornly maintains that it is close.
Code Snapshot as of 7-22-03
The escape sequences in the code give the wikiscript problems, so here is a link to it. Click on it, and it will take you to a page, where you can click on it, and it will come up.
This should be compilable by any standard C++ compiler.
# Computer Programming/Statements

Note: there are some simplifications in the explanations below. Don't take anything too literally.
Most programming languages have the concept of a statement. A statement is a command that the programmer gives to the computer. For example:
This command has a verb ("println") and other details (what to print). In this case, the command "println" means "show on the screen," not "print on the printer." The programmer either gives the statement directly to the computer (by typing it while running a special program), or creates a text file with the command in it. You could create a file called "hi.txt", put the above command in it, and give the file to the computer.
If you have more than one command in the file, each will be performed in order, top to bottom. So the file could contain:
# Computer Programming/Variables

Variables are references that stand in for a value that is contained at a certain memory address.
Variables are said to have a value and may have a data type. If a variable has a type, then only values of this type may be assigned to it. Variables do not always have a type.
A value can have many values of many different types: integers (7), ratios (1/2), (approximations of) reals (10.234), complex numbers (4+2i), characters ('a'), strings ("hello"), and much more.
Different languages use different names for their types and may not include any of the above.

## Assignment statements

An assignment statement is used to set a variable to a new value.
An assignment statements in wikibook pseudocode is written as let variable := value.
The example set the variable X to the integer value of 10. The assignment statement overwrites the contents of the variable and the previous value is lost.
In some languages, before a variable can be used, it will have to be declared, where the declaration specifies the type.
But this is not needed in wikibook pseudocode.

## Uses

Variables store everything in your program. The purpose of any useful program is to modify variables.
# Dark and Light/Skills/Hunter
## Hunter Skills

•Melee Fight
| Name | Type | Damage | Range | Sta cost | Reload Time | FX points | Description |
| Basic Attack | DD | HP -36 | 5m | 14 | 1 sec | 1 | Special Melee Attack |
| Strong Attack | DD | HP -60 | 5m | 18 | 1 sec | 3 | Special Melee Attack |
| Stun Shots | Stun DD | HP -90 | 5m | 23 | 2 sec | 6 | Melee Attack w/Stun |
| Stun Attack | Stun DD | HP -104 | 5m | 26 | 3 sec | 9 | Melee Attack w/Stun |
•Range Hunting
| Name | Type | Damage | Range | Sta Cost | Reload Time | FX points | Description |
| Strong Shots | DD | HP -40 | 60m | 14 | 2 secs | 1 | Special Bow Attack |
| Power Shots | DD | HP -60 | 60m | 20 | 2 secs | 3 | Special Bow Attack |
| Precision Shots | DD | HP -104 | 70m | 26 | 2 secs | 6 | Special Bow Attack |
| High Precision Shots | DD | HP -132 | 70m | 36 | 3 secs | 9 | Special Bow Attack |
| Power Precision Shots | DD | HP -183 | 70m | 54 | 5 secs | 12 | Special Bow Attack |
| Perfect Shots | DD | HP -235 | 80m | 62 | 8 secs | 15 | Special Bow Attack |
NOTE:There is a minimum range for all these shots. •Survival Abilities
| Name | Type | Effect | Range | Sta Cost | Casting Time | Reload Time | Duration | FX points | Description |
| Fire Resistances | SelfBuff | Fire +2 | 5m | 111 | 5 secs | 30 secs | 30 secs | 1 | Temporary SelfBuff |
| Frost Resistances | SelfBuff | Froze +2 | 5m | 111 | 5 secs | 30 secs | 30 secs | 3 | Temporary SelfBuff |
| Poison Resistances | SelfBuff | Poison +2 | 5m | 111 | 5 secs | 30 secs | 30 secs | 6 | Temporary Self Buff |
| Disease Resistances | SelfBuff | Disease +2 | 5m | 111 | 5 secs | 30 secs | 30 secs | 9 | Temporary Self Buff |
| Stamina Endurance | Expertise | STA Regen +5% | | | | | | 12 | Passive SelfBuff |
| Speed Improvement | Expertise | Speed +5% | | | | | | 15 | Passive SelfBuff |
•Traps Fundamentals
| Name | Type | Damage/Effect | Range | Sta Cost | Casting Time | Reload Time | Duration | FX points | Description |
| Basic Trap Drop | Trap (fire) | HP -80 | 10m | 4 | 2 secs | | 4 secs | 1 | Drops a trap on the ground |
| Caster Trap Drop | Trap (magic) | HP -40/ Mana -87/ Stun 2secs | 10m | 65 | 5 secs | 15 secs | 2 secs | 3 | Drops a trap on the ground |
| Root Trap Drop | Trap (magic) | Velocity=0 Duration 4secs | 10m | 65 | 5 secs | 15 secs | 4 secs | 6 | Drops a trap on the ground |
| Healing Area Drop | Trap AOE | HP +16/2secs | 10m | 65 | 5 secs | 15 secs | 10 secs | 9 | Drops a trap on the ground |
| Ice Area Drop | Trap AOE | DOT HP -14/2secs & STA -9/2secs | 10m | 132 | 5 secs | 15 secs | 10 secs | 12 | Drops a trap on the ground |
back to Hunter Class
# Dark and Light/Skills/Monk

* God Slap
* Devotion Abilities
jump to Healer Skills jump to Citizen Skills
back to Monk Class
# Dark and Light/Skills/Ranger

* Scout Abilities
* Traps Abilities
jump to Hunter Skills jump to Citizen Skills
back to Ranger Class
# Dark and Light/Skills/Rogue

| Name | Type | Effect | Mana Cost | Sta cost | Cast Time | Reload Time | FX points | Description |
| Evisceration | DD (Melee) | 196 dmg | 47 | 51 | - | 3 sec | 1 | all values are at lvl 6. the dmg is not reliable, will hit for a lot less now and then |
| Provocation | DD/Taunt (Melee) | 161 | 47 | 51 | - | 3 sec | 3 | all values are at lvl 6. the dmg is not reliable, will hit for a lot less now and then |
| Faster Way | Self Buff | Melee Haste +35% (+5%/lvl) during 15 sec | 47 | 43 | - | 3 sec | 6 | all values are at lvl 6. |
| Assasinate | DoT (5 m Range) | 71dmg/2sec for 10 sec | 175 | 101 | - | 3 sec | 9 | all values are at lvl 6. |
| Name | Type | Effect | Mana Cost | Sta cost | Cast Time | Reload Time | FX points | Description |
| Invisible Way | Selfonly Buff | Transparency 50% (+5%/lvl) for 30s (+10s/lvl) | none | none | 2 sec | 3600 sec | 1 | rather useless invis buff |
| Fast Move | Grp Buff | Runspeed Enhancement 50% (+5%/lvl) for 30s (+10s/lvl) | ~80 | ~50 | 2 sec | 30sec+ | 3 | works on all group members and pets in range, best spell in the line |
| Evacuation | Instant Spell | Emergency Teleport 85m+ random direction | 116 | 51 | - | 600 sec | 6 | This will teleport you (and your pets) away in a seemingly random direction |
jump to Hunter Skills jump to Citizen Skills
back to Rogue Class
# Dark and Light/Skills/Healer

* Common Fight
** Basic Fighting
** Hard Fighting
** Range Shot
* Healing Fundamentals
** Minor Healing
** Major Healing
** Instant Healing
** Permanent Healing
** Full Healing
* God's Gifts
** Fire Divine Surprise
** Frost Divine Surprise
** Constitution Divine Surprise
** Intelligence Divine Surprise
** Strength Divine Surprise
** Dexterity Divine Surprise
** Speed Divine Surprise
** Saves Divine Surprise
** Stamina Divine Surprise
** Life Divine Surprise
** Mana Divine Surprise
* God's Intervention
** God's Root
** God's Freedom
** God's Cleaning
** Aura of Fire Protection
** Aura of Frost Protection
** Aura of Poison Protection
** Aura of Disease Protection
** Aura of Magic Protection
** Aura of Life Regeneration
** Aura of Mana Regeneration
# Dark and Light/Skills/Necromancer

| Name | Type | Damage | Range | Mana Cost | Stamina Cost | Casting Time | Reload Time | FX Points | Description |
| Skeleton Minion | Pet | N/A | Self | 65 | 9 | 3 secs | 300 Secs | 1 | Summons 1 Great Skeleton Lvl 6 |
| Skeleton Party | Summon | N/A | Self | 33 | 9 | 3 secs | 300 secs | 3 | Summons 1 Lvl 6 Skeleton Minion lasting 300 secs (Upto 4 at 20 FX) |
| Fear | Fear(magic) | N/A | 10 m | 49 | 9 | 2 secs | 5 secs | 6 | Single Target Fear Mob for 3 secs |
| Shadow of Spiders | Summon | N/A | Self | 65 | 9 | 3 secs | 300 secs | 9 | Summons 3 Nervour Spiders Lvl 6 lasting 300 secs (Upto 6 at 20 FX) |
| Raise Corpses | Summon | N/A | 15 m | 65 | 4 | 7 secs | 10 secs | 12 | Summons Lvl 1 Adventurers from corpses in effect range lasting 60 secs |
| Name | Type | Damage | Range | Mana Cost | Stamina Cost | Casting Time | Reload Time | FX Points | Description |
| Curse of Life Energy | Buff(magic) | N/A | 20 m | 33 | 9 | 2 secs | 60 Secs | 1 | Buff lasting 300 sec HP Regen -20% |
| Suffering Pain | Damage over Time | -22HP/2secs | 20 m | 49 | 4 | 3 secs | 2 secs | 3 | Damage over time -22HP Per 2 secs lasting 20 secs |
| Curse of Magic Save | Buff(magic) | N/A | 21 m | 54 | 4 | 5 secs | 60 secs | 6 | Buff lasting 300 secs All SV -10 |
| Bones Dancing | Morph Buff | N/A | 30 m | 163 | 37 | 1 secs | 5 secs | 9 | Morph into Skeleton lasting 5 secs Buff lasting 30 secs – Strength -10% |
jump to Mage Skills jump to Citizen Skills
back to Necromancer Class
# Dark and Light/Skills/Paladin

* Defense Abilities
* Aura Abilities
jump to Fighter Skills jump to Citizen Skills
back to Paladin Class
# Dark and Light/Skills/Fighter

* Melee Strikes
* Range Attacks
* Training Resistances
* Technical Basics
back to Fighter Class
# Dark and Light/Skills/Illusionist

jump to Mage Skills jump to Citizen Skills
back to Illusionist Class