Monthly Archives: September 2015

Monkey “Cheese”

The selfie taken by NarutoThis image, provided by PETA, is a court exhibit in a case that states the photographer should be granted copyrights to the image, and therefore, receive monetary damages, because the photograph was used on the cover of a wildlife book.

The catch? The photographer is a macaque monkey (Naruto) who lives on the Indonesian island of Sulawesi. Reportedly, the monkey took this selfie using a camera that belonged to David Slater, a wildlife photographer.

A lawsuit was filed by PETA in San Francisco, on September 22, 2015.  Slater states that he should be the copyright holder of the photograph, because (1) he setup the camera so that the photograph could be taken, and (2), he was the owner of the camera, and the “intellect” behind the photograph.

PETA claims that Naruto should own the copyrights to the photograph and should receive any benefits that are gained from the photograph, which was used on the cover of a wildlife book. PETA stated that macaque monkeys are a critically endangered species, and that their numbers have decreased by around 90%, over the past 25 years.

PETA also sought a court order that would grant both PETA and Dr. Antje Engelhardt (a primatologist), the rights to administer Naruto’s benefits, on the condition that all benefits would be used specifically for the benefit of Naruto, his family, and community. The benefits would be used to help preserve Naruto’s habitat.

Can a monkey be granted photographic copyrights?

Control Structures

All computer programs are written in one or more of three basic control (logic) structures. These control structures are: (a) sequence, (b) selection, and (c) repetition. Control structures control a program’s flow of logic.

Sequence Structure

The sequence structure is used in every computer program. This structure instructs the computer to process instructions one-by-one. An example of this type of structure might be: (a) reading a recipe, (b) driving directions, or (c) solving math problems. The processing starts at step one, and follows through, step-by-step, until step N. The steps used to solve problems are called algorithms. The sequence structure can be used inside of the selection structure, or, inside of a repetition structure.

Selection Structure

The selection (decision) structure directs a computer to make a decision based on a specified condition. An example of a selection structure might be: (a) if an order total is less than a customer’s credit limit, authorize the transaction, otherwise, decline the transaction. A selection structure can be used inside of a repetition structure.

Repetition Structure

The repetition structure, sometimes referred to as an iteration, or loop, directs a computer to repeat one or more instructions until a specified condition has been met. An example of a repetition structure might be: (a) read a file line-by-line, until the entire file has been read. The repetition structure can be used inside of a decision structure.

Central Processing Unit

The central processing unit, more commonly referred to as the processor, is the brain behind the computer. There are three primary components that make up the central processing unit (CPU). These components carry out the instructions that allow the computer to function.

Arithmetic Logic Unit

The Arithmetic Logic Unit (ALU) contains all of the electrical circuits that are used to carry out instructions. The processor is capable of executing many different types of instructions, such as addition, subtraction, multiplication, division, exponentiation, logarithms and so on. The processor can carry out logical instructions such as, greater than, less than and equal to.


Registers are tiny storage components located on the processor. The registers are used to store data that is needed frequently, or quickly. Because registers are located on the processor, they are incredibly fast. Registers are volatile storage, meaning, they are unable to maintain data storage without a power source.

An example usage of registers is the addition of two numbers. Each of the numbers to be added are stored in a register, on the processor. The ALU will pull these numbers out of the registers, add them together, and then store the sum into another register. Data is constantly moving in, and out, of the registers.

Control Unit

The control unit has two primary functions within the processor. Just as its name implies, the control unit is in charge of moving data around inside of the processor. It can pull data out of the registers or move new data into them. It is also able to access program instructions and feed commands into the ALU.

The control unit is also in charge of external data movement between the processor, primary and secondary storage devices, and other I/O devices.


Registers offer incredible speed. They are faster than primary storage devices, such as Random Access Memory (RAM). The primary reasons why this type of memory is not standard throughout the computer, is because of its cost. This type of storage is extremely expensive, and not practical for general usage; therefore, slower, more economical memory, such as RAM, is normally used for primary storage.

Real Numbers

The following is a listing of real numbers:

Natural 1, 2, 3, 4, …
Whole 0, 1, 2, 3, 4, …
Integers … -4, -3, -2, -1, 0, 1, 2, 3, 4, …
Rational Any number that can be written in the form of p/q, where p and q are integers and q ≠ 0.
Irrational Any real number that is not rational.
  • Every natural number is a whole number.
  • Every whole number is an integer.
  • Every integer is a rational number.
  • All real numbers can be written in decimal form.
  • Rational numbers in decimal form are either terminating or repeat forever.
  • Irrational numbers are decimals that never terminate or repeat.
  • Integers are rational numbers because they can be written in the form:
Terminating Example .15, .128
Repeating Example 1.33, 4.7234

Irrational numbers are decimals that never terminate or repeat. An example would be π (pi).

Machine Language

All data in a modern-day computer is represented by microscopic, 2-state switches. These switches can either be on, or off. There are no other existing states for these switches. These switches are called transistors.

When the switch is in the off state, represented by 02, the circuit is open, and there is no power flowing through the switch. When the switch is in the on-state, represented as 12, the circuit is closed, and there is power flowing through the switch.

This process can be roughly equated to basic household light switches. When the light switch is in position 12, the circuit is closed, and the light is operating. When the light switch is in position 02, the circuit is open, and the light is non-operational. Assuming the lack of potentiometers within the circuit, no other state exists within the light switch.

Von Neumann computer technology has not currently advanced to the point where minor power fluctuations within a circuit, can be detected (economically), therefore, von Neumann computers are only able to understand these basic 2-state switches.

This limitation meant that the first stored computer programmers had to write all of the computer’s instructions using a base 2 numbering system, known as binary. Unlike the n10 (base 10) decimal numbering system, the n2 numbering system can only be represented using the digits 0 and 1.

Instructions written using the n2 numbering system are known as Machine Language Instructions. Machine language is a platform-dependent language, i.e., each machine type will have its own machine language set. Machine language is a very important concept, because it is the only way to communicate directly with a stored program computer.