P+

["Experience with Remote Procedure Calls in a Real-Time Control System", B. Carpenter et al, Soft Prac & Exp 14(9):901-907 (Sep 1984)].

P1754

<processor, standard>

IEEE Std 1754-1994 "A 32-Bit Microprocessor Architecture". The IEEE standard defining a version of the SPARC microprocessor architecture.

The P1754 standard (the first microprocessor standard) was approved after four years on 1994-03-17. It is compatible with, but distinct from, SPARC International's 32 bit version of the SPARC Architecture, SPARC V8, from which it is largely derived. It is possible for a processor to comply with neither, one, or both specifications.

SI article.

Last updated: 1996-12-21

p2c

A Pascal to C translator by Dave Gillespie <[email protected]>.

Version 1.20.

Supports ANSI/ISO standard Pascal as well as substantial subsets of HP Pascal, Turbo Pascal, VAX, and many other dialects.

Last updated: 1990-04-13

P2P

peer-to-peer

P3L

(Superscript 3). A language with explicit parallelism including constructs for farms and geometric parallelism. P3L currently uses C++ as a host language.

[S. Pelagatti, "A method for the development and the support of massively parallel programs. PhD Thesis - TD 11/93, University of Pisa, Mar 1993].

Last updated: 1994-07-15

P4

A macro/subroutine package for parallel programming by Rusty Lusk <[email protected]>. P4 uses monitors on shared memory machines and message passing on distributed memory machines. It is implemented as a subroutine library for C and Fortran. An enhancement of the "Argonne macros", PARMACS.

ftp://info.mcs.anl.gov/pub/p4t1.2.tar.Z. E-mail: <[email protected]>.

P6

<processor>

("P" from Pentium, 6 from 686, the successor to 586 which is what the Pentium would have been had it followed the naming scheme its predecessors) The name for the Pentium Pro during development.

Last updated: 1995-11-15

pa

<networking>

The country code for Panama.

Last updated: 1999-01-27

PABX

Private Automatic Branch eXchange

PACE

A CPU based on the Nova design, but with 16-bit addressing, more addressing modes and a 10 level stack (like the Intel 8008).

Last updated: 1994-11-30

Packard Bell Electronics, Inc.

<company>

A leading US computer vendor.

As recently as 29 November 1995 the Wall Street Journal reported that the company was having financial difficulties and that one of its major suppliers of CPUs, Intel, was about to make a large cash loan, so as to prevent loss of a major customer. Packard Bell is a privately held company and the WSJ also reported that NEC has been rumored to have bought a large minority block of shares to help the company stay in business.

Its computers are sold in major retail outlets in the USA and are available as a bundled package: desktop or tower 486 CPU, single 3.5 inch floppy disk drive, CD-ROM, sound card, 14 inch colour monitor, and 4-8MB of RAM.

1995 end-of-year prices in Computer Currents magazine (a California Bay Area bi-monthly giveaway publication) are US$1500 (approx. 1000 pounds) for a 486 desktop, with 8MB RAM, 420MB hard disk drive, single 3.5 inch floppy drive, 14 inch colour monitor, 2-speed CD-ROM, and 16-bit sound card.

Headquarters: Sacramento, California, USA.

Last updated: 1996-01-02

packed decimal

binary coded decimal

Packed Encoding Rules

<protocol, standard>

(PER) ASN.1 encoding rules for producing a compact transfer syntax for data structures described in ASN.1, defined in 1994.

PER provides a much more compact encoding then BER. It tries to represents the data units using the minimum number of bits. The compactness requires that the decoder knows the complete abstract syntax of the data structure to be decoded, however.

Documents: ITU-T X.691, ISO 8825-2.

Last updated: 1998-05-19

packet

The unit of data sent across a network. "Packet" is a generic term used to describe a unit of data at any layer of the OSI protocol stack, but it is most correctly used to describe application layer data units ("application protocol data unit", APDU).

See also datagram, frame.

Last updated: 1994-11-30

Packet Assembler/Disassembler

(PAD) Hardware or software device for splitting a data stream into discrete packets for transmission over some medium and then reforming the stream(s) at the receiver.

The term is most often used for interfaces to X.25 lines.

Last updated: 1995-01-31

packet driver

<networking>

IBM PC local area network software that divides data into packets which it routes to the network. It also handles incoming data, reassembling the packets so that application programs can read the data as a continuous stream.

FTP Software created the specification for IBM PC packet drivers but Crynwr Software dominate the market and have done the vast majority of the implementations.

Packet drivers provide a simple, common programming interface that allows multiple applications to share a network interface at the data link layer. Packet drivers demultiplex incoming packets among the applications by using the network media's standard packet type or service access point field(s).

The packet driver provides calls to initiate access to a specific packet type, to end access to it, to send a packet, to get statistics on the network interface and to get information about the interface.

Protocol implementations that use the packet driver can coexist and can make use of one another's services, whereas multiple applications which do not use the driver do not coexist on one machine properly. Through use of the packet driver, a user could run TCP/IP, XNS and a proprietary protocol implementation such as DECnet, Banyan's, LifeNet's, Novell's or 3Com's without the difficulties associated with pre-empting the network interface.

Applications which use the packet driver can also run on new network hardware of the same class without being modified; only a new packet driver need be supplied.

There are several levels of packet driver. The first is the basic packet driver, which provides minimal functionality but should be simple to implement and which uses very few host resources. The basic driver provides operations to broadcast and receive packets. The second driver is the extended packet driver, which is a superset of the basic driver. The extended driver supports less commonly used functions of the network interface such as multicast, and also gathers statistics on use of the interface and makes these available to the application. The third level, the high-performance functions, support performance improvements and tuning.

http://crynwr.com/crynwr/home.html.

Last updated: 1994-12-05

Packet in Plastic Grid Array

<integrated circuit>

(PPGA) The package used for Intel's Celeron Socket 370 CPU.

[Description?]

Last updated: 1999-06-24

Packet InterNet Groper

ping

packet radio

<communications, radio>

The use of packet switched communications protocols in large networks (i.e not wireless LANs or Bluetooth) having wireless links to terminals at least. Packet radio is split into amateur packet radio (AX25) and General Packet Radio Service (GRPS).

Last updated: 2001-05-12

packet sniffer

<networking, tool, security>

A network monitoring utility program that captures data packets and decodes them using built-in knowledge of common protocols. Sniffers are used to help debug and monitor networking problems. A sniffer installed as malware might capture user names and passwords without the user's knowledge and transfer them to a criminal.

Last updated: 2022-12-07

packet sniffing

packet sniffer

packet switch

packet switching

packet-switched

packet switching

packet switching

<communications>

A communications paradigm in which packets (messages or fragments of messages) are individually routed between nodes, with no previously established communication path. Packets are routed to their destination through the most expedient route (as determined by some routing algorithm). Not all packets travelling between the same two hosts, even those from a single message, will necessarily follow the same route.

The destination computer reassembles the packets into their appropriate sequence. Packet switching is used to optimise the use of the bandwidth available in a network and to minimise the latency. X.25 is an international standard packet switching network.

Also called connectionless. Opposite of circuit switched or connection-oriented. See also virtual circuit, wormhole routing.

Last updated: 1999-03-30

Packet Switch Node

(PSN) A dedicated computer whose purpose is to accept, route and forward packets in a packet-switched network.

Last updated: 1994-11-30

packet writing

<storage>

A technique for writing CD-Rs and CD-RWs that is more efficient in both disk space used and the time it takes to write the CD.

Adaptec's DirectCD is a packet writing recorder for Windows 95 and Windows NT that uses the UDF version 1.5 file system.

[Is this true? How does it work?]

Last updated: 1999-09-01

PackIt

<file format, tool>

A file format used on the Apple Macintosh to represent collections of Mac files, possibly Huffman compressed. Packing many small related files together before a MacBinary transfer or a translation to BinHex 4.0 is common practice.

Last updated: 1994-11-30

PACT I

An early system on the IBM 701. Version PACT IA was for the IBM 704.

[Listed in CACM 2(5):16 (May 1959)].

Last updated: 1994-11-30

PACTOLUS

Digital simulation.

[Sammet 1969, p. 627].

Last updated: 1994-11-30

PAD

Packet Assembler/Disassembler

padded cell

Where you put lusers so they can't hurt anything. A program that limits a luser to a carefully restricted subset of the capabilities of the host system (for example, the "rsh" utility on USG Unix). Note that this is different from an iron box because it is overt and not aimed at enforcing security so much as protecting others (and the luser) from the consequences of the luser's boundless naivet'e (see naive). Also "padded cell environment".

[Jargon File]

Last updated: 1994-11-30

Paddle

A language for transformations leading from specification to program. Used in the POPART programming environment generator.

Last updated: 1994-11-30

PAGE

A typesetting language.

["Computer Composition Using PAGE-1", J.L. Pierson, Wiley 1972].

page

<operating system>

1. paging.

<web>

2. web page.

Last updated: 1997-04-10

paged

paging

Page Description Language

(PDL) A language such as Adobe Systems, Inc.'s PostScript or Xerox's Interpress which allows the appearance of a printed page to be described in a high-level, device-independent way. Printing then becomes a two-stage process: an application program produces a description in the language, which is then interpreted by a specific output device. Such a language can therefore serve as an interchange standard for transmission and storage of printable documents.

Last updated: 1995-02-20

Paged Memory Management Unit

Memory Management Unit

page fault

<memory management>

In a paged virtual memory system, an access to a page (block) of memory that is not currently mapped to physical memory. When a page fault occurs the operating system either fetches the page in from secondary storage (usually disk) if the access was legitimate or otherwise reports the access as illegal.

Last updated: 1995-11-11

page in

<storage, architecture>

What a paging system does when it copies part of a task's working memory from swap space on disk to RAM.

[Jargon File]

Last updated: 1995-01-23

pagelet

<web>

A component of an HTML page, that contains directives, layout, and code in a single context. A pagelet may be a separate file or web page that contains information you want displayed across several pages. They are similar to server-side include files, as implemented in ASP+. Pagelets act like independent HTML frames and provide discrete access to content. They use Cascading Style Sheets as templates for defining their layout behavior in a single context.

[.NET Framework Essentials, 2nd Edition, Thuan L. Thai and Lam Hoang, February 2002, 0-596-00302-1]

Last updated: 2004-02-19

page mode

<hardware, storage>

1. See page mode DRAM.

<hardware>

2. An operation mode of video terminals like the IBM 3270, in which the terminal only sends a completed input screen (page) to the host instead of sending each character as the keys are pressed.

Last updated: 1995-03-28

Page Mode DRAM

Page Mode Dynamic Random Access Memory

Page Mode Dynamic Random Access Memory

<hardware, storage>

A technique used to support faster sequential access to DRAM by allowing any number of accesses to the currently open row to be made after supplying the row address just once.

The RAS signal is kept active, and with each falling edge of the CAS\ signal a new column address can be supplied and the corresponding bits can be accessed. This is faster than a full RAS-CAS cycle because only the shorter Column Access Time needs to be obeyed.

Note that strictly speaking such a DRAM is not a true random access memory since accesses to the open row are faster than to other locations.

EDO RAM is replacing Page Mode DRAM in many new microcomputers.

[Is "Fast Page Mode" the same as "Page Mode"?]

Last updated: 1996-10-06

page out

<storage, architecture>

What a paging system does when it copies part of a task's working memory from RAM to swap space on disk.

[Jargon File]

Last updated: 1995-01-23

pager

<hardware, communications>

1. (Or "beeper", "bleeper" (UK?)) A small wireless receiver that, when triggered (generally via phone), will beep or vibrate (un)pleasantly. The wearer will have been trained to respond to this signal by looking at a small screen on the device for an unimportant message.

In recent years, pagers have grown more complex, allowing for long alphanumeric messages to be received and scrolled though (as opposed to earlier models, which supported only short numeric messages); at the same time as pager functions are integrated into some PDAs. If this trend continues, the distinction between PDAs and high-end pagers will disappear.

Short Message Service allows a mobile phone to display a message, just like an alphanumeric pager.

<tool>

2. A program for viewing a text file a screenful at a time via a text terminal, as opposed to scrolling through it in a GUI window, or catting it all at once to the terminal.

The best known pagers are more, less, pg and list.com.

Last updated: 1997-09-11

paging

<operating system>

A technique for increasing the memory space available by moving infrequently-used parts of a program's working memory from RAM to a secondary storage medium, usually hard {disk. The unit of transfer is called a page.

A memory management unit (MMU) monitors accesses to memory and splits each address into a page number (the most significant bits) and an offset within that page (the lower bits). It then looks up the page number in its page table. The page may be marked as paged in or paged out. If it is paged in then the memory access can proceed after translating the virtual address to a physical address. If the requested page is paged out then space must be made for it by paging out some other page, i.e. copying it to disk. The requested page is then located on the area of the disk allocated for "swap space" and is read back into RAM. The page table is updated to indicate that the page is paged in and its physical address recorded.

The MMU also records whether a page has been modified since it was last paged in. If it has not been modified then there is no need to copy it back to disk and the space can be reused immediately.

Paging allows the total memory requirements of all running tasks (possibly just one) to exceed the amount of physical memory, whereas swapping simply allows multiple processes to run concurrently, so long as each process on its own fits within physical memory.

Last updated: 1996-11-22

PaiLisp

<language>

A parallel Lisp built on Scheme in 1986.

["A Parallel Lisp Language PaiLisp and its Kernel Specification", T. Ito et al, in Parallel Lisp: Languages and Systems, T. Ito et al eds, LNCS 441, Springer 1989].

Last updated: 1995-01-30

pain in the net

flamer

Paintbrush

<graphics, tool>

A Microsoft Windows tool for creating bitmap graphics.

Last updated: 1996-08-26

PAISley

An operational specification language from Bell Labs.

["An Operational Approach to Requirements Specification for Embedded Systems", P. Zave, IEEE Trans Soft Eng SE-8(3):250-269 (May 1982)].

Last updated: 1995-01-30

Pajek

<mathematics>

A program for analysing and visualising large networks. "Pajek" is Slovene for spider. The program runs on Windows and is free for noncommercial use. Pajek is developed by Vladimir Batagelj and Andrej Mrvar with contributions from Matjaž Zaveršnik.

Pajek home.

Last updated: 2014-04-24

PAL

<language>

1. Paradox Application Language.

2. For the AVANCE distributed persistent operating system.

["PAL Reference Manual", M. Ahlsen et al, SYSLAB WP-125, Stockholm 1987].

["AVANCE: An Object Management System", A. Bjornerstedt et al, SIGPLAN Notices 23(11):206-221 (OOPSLA '88) (Nov 1988)].

[What is it?]

<language>

3. An object-oriented Prolog-like language.

["Inheritance Hierarchy Mechanism in Prolog", K. Akama, Proc Logic Prog '86, LNCS 264, Springer 1986, pp. 12-21].

<language>

4. PDP Assembly Language.

<language>

5. Pedagogic Algorithmic Language.

<hardware, integrated circuit>

6. Programmable Array Logic.

<television>

7. phase alternating line.

Last updated: 2001-04-02

Palace

<virtual reality, chat>

A proprietary multi-user virtual reality-like talk system.

The Palace is distinguished from most other VR-like systems in that it is only two-dimensional rather than three; rooms, avatars, and "props" are made up of relatively small 2D bitmap images.

Palace is a crude hack, or lightweight, depending on your point of view.

http://thepalace.com/.

Last updated: 1997-09-14

palette

colour palette

palmtop

<computer>

(Or "pocket computer", "Hand-held Personal Computer", H/PC) A small general-purpose, programmable, battery-powered computer cabable of handling both numbers and text (in contrast to most pocket calculators) which can be operated comfortably while held in one hand. A palmtop is usually loaded with an operating system such as Windows CE. Data can be transferred between the palmtop and a desktop PC.

A palmtop is very similar to a Personal Digital Assistant though a palmptop may have a larger keyboard and more RAM and is possibly more general purpose in concept, if not in practise.

The Psion Organiser is one of the best known examples. [Was it the first?]

Last updated: 1998-04-19

Palo Alto Research Center

XEROX PARC

Palo Alto Research Centre

XEROX PARC

PAM

Pluggable Authentication Module

Pam

<language>

A toy ALGOL-like language used in "Formal Specification of Programming Languages: A Panoramic Primer", F.G. Pagan, P-H 1981.

Last updated: 1996-12-23

Pandora

<language>

Parlog extended to allow don't-know nondeterminism.

["Pandora: Non-Deterministic Parallel Logic Programming", R. Bahgat et al, Proc 6th Intl Conf Logic Programming, MIT Press 1989 pp. 471-486].

Last updated: 1995-04-27

panic

<operating system>

1. What Unix does when a critical internal consistency checks fails in such a way that Unix cannot continue. The kernel attempts to print a short message on the console and write an image of memory into the swap area on disk. This can be analysed later using adb. The kernel will then either wait in a tight loop until the machine is rebooted or will initiate an automatic reboot.

Unix manual page: panic(8).

2. Action taken by software which discovers some fatal problem which prevents it from continuing to run.

Last updated: 1995-03-01

PANON

A family of pattern-directed string processing languages based on generalised Markov algorithms.

PANON-1 is based on simple generalised Markov algorithms and PANON-2 on conditional functional generalised Markov algorithms.

["String Processing Languages and Generalized Markov Algorithms", A. C. Forino, Proc IFIP Working Conf on Symb Manip Languages, pp.141-206, Amsterdam 1968].

PANS

Pretty Amazing New Stuff.

Pansophic

A US Software Engineering company.

Pantone

<graphics>

A set of standard colours for printing, each of which is specified by a single number. You can buy a Pantone swatch book containing samples of each colour. Some computer graphics software allows colours to be specified as Pantone numbers. Even though a computer monitor can only show an approximation to some of the colours, the software can output a colour separation for each different Pantone colour, enabling a print shop to exactly reproduce the original desired colour.

Last updated: 1996-03-23

PAP

<networking, protocol, security>

1. Password Authentication Protocol.

<networking, protocol, printer>

2. Printer Access Protocol.

Last updated: 1996-03-23

Paper Feed Control Character

(PFCC) An obscure mechanism used in Fortran run-time systems whereby the first character of a line of output to a line-printer caused various actions after the line was printed:

 space	return newline
 0	return newline return newline
 1	form-feed
 +	return

papermail

snail mail

paper-net

snail mail

paper tape

<hardware, history>

Punched paper tape. An early input/output and storage medium borrowed from telegraph and teletype systems.

Data entered at the keyboard of the teletype could be directed to a perforator or punch which punched a pattern of holes across the width of a paper tape to represent the characters typed. The paper tape could be read by a tape reader feeding the computer. Computer output could be similarly punched onto tape and printed off-line.

As well as storage of the program and data, use of paper tape enabled batch processing.

The first units had five data hole positions plus a sprocket hole (for the driving wheel) across the width of the tape. These used commercial telegraph code (ITA2 also known as Murray), Baudot code or proprietary codes such as Elliott which were more programmer-friendly. Later systems had eight data holes and used ASCII coding.

Last updated: 2003-12-02

paraconsistent probability

<logic>

A notion introduced by Florentin Smarandache: The probability (T, I, F) that an event occurs is calculated from different sources which may be contradictory or may overlap information; here T, I, F are real subsets representing the truth, indeterminacy, and falsity percentages respectively, and n_sup = sup(T)+sup(I)+sup(F) > 100.

["Neutrosophy / Neutrosophic probability, set, and logic", F. Smarandache, American Research Press, 1998].

See neutrosophic probability

Last updated: 2001-01-20

PARADE

PARallel Applicative Database Engine. A project at Glasgow University to construct a transaction-processor in the parallel functional programming language Haskell to run on an ICL EDS+ database machine.

PARADIGM PLUS

A configurable object-oriented CASE tool from Proto Soft.

Paradigms of AI Programming

A book by Peter Norvig with Scheme and Prolog interpreters and compilers in Common Lisp.

ftp://Unix.sri.com/pub/norvig/.

["Paradigms of AI Programming", Peter Norvig].

Paradise

Paradise is a subsystem (a set of packages) developed to implement inter-processes, inter-tasks and inter-machine communication for Ada programs under Unix. This subsystem gives the user full access to files, pipes, sockets (both Unix and Internet) and pseudo-devices.

Paradise has been ported to Sun, DEC, Sony MIPS, Verdex compiler, DEC compiler, Alsys/Systeam compiler.

Version 2.0 of the library. E-mail: <[email protected]>.

Last updated: 1992-09-30

Paradox

<database>

A relational database for Microsoft Windows, originally from Borland.

Paradox 5 ran on Microsoft Windows [version?] and provided a graphical environment, a debugger, a data modelling tool, and many "ObjectPAL" commands.

Paradox 7 ran under Windows 95 and Windows NT.

http://corel.com/paradox9/index.htm.

[Update?]

Last updated: 1996-05-27

paradox

<logic>

An apparently sound argument leading to a contradiction.

Some famous examples are Russell's paradox and the liar paradox. Most paradoxes stem from some kind of self-reference.

Smarandache Linguistic Paradox.

Last updated: 1999-11-05

Paradox Application Language

(PAL) The programming language for Paradox, Borland's relational database.

Last updated: 1995-01-26

Paragon

Mark Sherman. IEEE Software (Nov 1991).

Paralation

PARALlel reLATION. Sabot, MIT 1987. A framework for parallel programming. A "field" is an array of objects, placed at different sites. A paralation is a group of fields, defining nearness between field elements. Operations can be performed in parallel on every site of a paralation.

["The Paralation Model: Architecture Independent Programming", G.W. Sabot <[email protected]>, MIT Press 1988].

Paralation C

Paralation embedded in C. Under development.

Paralation LISP

Embeds the paralation model in Common LISP. Available from MIT Press, (800)356-0343.

ParAlfl

Hudak, Yale. Parallel functional language, a superset of Alfl. Used by the Alfalfa system on Intel iPSC and Encore Multimax.

["Para-Functional Programming", P. Hudak, Computer 19(8):60-70 (Aug 1986)].

["Alfalfa: Distributed Graph Reduction on a Hypercube Multiprocessor", B. Goldberg & P. Hudak, TR, Yale U, Nov 1986].

Parallaxis

<language>

A procedural programming language developed by Thomas Braeunl <[email protected]> at the University of Stuttgart. It is based on Modula-2, but extended for data parallel (SIMD) programming. The main approach for machine independent parallel programming is to include a description of the virtual parallel machine with each parallel algorithm.

There is a simulator and X Window System-based profiler for workstations, Macintosh, and IBM PC.

Version 2.0 runs on MP-1, CM-2, Sun-3, Sun-4, DECstation, HP 700, RS/6000.

http://ee.uwa.edu.au/~braunl/parallaxis/.

["User Manual for Parallaxis Version 2.0", T. Braunl, U Stuttgart].

Last updated: 2000-05-31

parallel

parallel processing

Parallel Advanced Technology Attachment

<storage, standard>

(PATA, Parallel ATA) A back-formation introduced around 2003 to distinguish the original Advanced Technology Attachment (ATA) standards from the new Serial Advanced Technology Attachment (Serial ATA, SATA).

Last updated: 2010-02-20

Parallel ATA

Parallel Advanced Technology Attachment

Parallel C

<language, parallel>

1. Never implemented, but influenced the design of C*. [Details?]

2. C for the transputer by 3L.

3. (PC) Extensions to C developed at the University of Houston providing a shared memory SIMD model on message passing computers.

ftp://karazm.math.uh.edu/pub/Parallel/Tools/pc.1.1.1.tar.Z.

E-mail: Ridgway Scott <[email protected]>.

Last updated: 1995-03-21

parallel computer

parallel processor

parallel computing

parallel processing

Parallel FORTH

Forth For the MPP.

Parallel Fortran

<language>

(Pfortran) Extensions to Fortran by Ridgway Scott <[email protected]> of Houston University. Pfortran provides a shared memory SIMD model on message passing computers.

It was under development in 1994.

["Pfortran: A Parallel Dialect of Fortran", L.R. Scott, Fortran Forum 11(3):20-31, Sep 1992].

Last updated: 1994-11-08

Parallel Haskell

<language, parallel>

(pH) A parallel variant of Haskell incorporating ideas from Id and Sisal. pH is under development.

Mailing list: [email protected].

Last updated: 1995-03-31

parallelism

1. parallel processing.

<parallel>

2. The maximum number of independent subtasks in a given task at a given point in its execution. E.g. in computing the expression

 (a + b) *

(c + d) the expressions a, b, c and d can all be calculated in parallel giving a degree of parallelism of (at least) four. Once they have been evaluated then the expressions a + b and c + d can be calculated as two independent parallel processes.

The Bernstein condition states that processes P and Q can be executed in parallel (or in either sequential order) only if:

(i) there is no overlap between the inputs of P and the outputs of Q and vice versa and

(ii) there is no overlap between the outputs of P, the outputs of Q and the inputs of any other task.

If process P outputs value v which process Q reads then P must be executed before Q. If both processes write to some variable then its final value will depend on their execution order so they cannot be executed in parallel if any other process depends on that variable's value.

Last updated: 1995-05-07

Parallel Pascal

<language>

A data-parallel language, similar to Actus and Glypnir.

["Parallel Pascal: An Extended Pascal for Parallel Computers", A. Reeves, J Parallel Dist Computing 1:64-80 (1984)].

Last updated: 1995-05-07

parallel port

<hardware>

An interface from a computer system where data is transferred in or out in parallel, that is, on more than one wire. A parallel port carries one bit on each wire thus multiplying the transfer rate obtainable over a single wire. There will usually be some control signals on the port as well to say when data is ready to be sent or received.

The commonest kind of parallel port is a printer port, e.g. a Centronics port which transfers eight bits at a time. Disks are also connected via special parallel ports, e.g. SCSI or IDE.

Last updated: 1995-01-24

Parallel Presence Detect

 {presence detect}

parallel processing

<parallel>

(Or "multiprocessing") The simultaneous use of more than one computer to solve a problem. There are many different kinds of parallel computer (or "parallel processor"). They are distinguished by the kind of interconnection between processors (known as "processing elements" or PEs) and between processors and memory. Flynn's taxonomy also classifies parallel (and serial) computers according to whether all processors execute the same instructions at the same time ("single instruction/multiple data" - SIMD) or each processor executes different instructions ("multiple instruction/multiple data" - MIMD).

The processors may either communicate in order to be able to cooperate in solving a problem or they may run completely independently, possibly under the control of another processor which distributes work to the others and collects results from them (a "processor farm"). The difficulty of cooperative problem solving is aptly demonstrated by the following dubious reasoning:

 If it takes one man one minute to dig a post-hole
 then sixty men can dig it in one second.

Amdahl's Law states this more formally.

Processors communicate via some kind of network or bus or a combination of both. Memory may be either shared memory (all processors have equal access to all memory) or private (each processor has its own memory - "distributed memory") or a combination of both.

Many different software systems have been designed for programming parallel computers, both at the operating system and programming language level. These systems must provide mechanisms for partitioning the overall problem into separate tasks and allocating tasks to processors. Such mechanisms may provide either implicit parallelism - the system (the compiler or some other program) partitions the problem and allocates tasks to processors automatically or explicit parallelism where the programmer must annotate his program to show how it is to be partitioned. It is also usual to provide synchronisation primitives such as semaphores and monitors to allow processes to share resources without conflict.

Load balancing attempts to keep all processors busy by allocating new tasks, or by moving existing tasks between processors, according to some algorithm.

Communication between tasks may be either via shared memory or message passing. Either may be implemented in terms of the other and in fact, at the lowest level, shared memory uses message passing since the address and data signals which flow between processor and memory may be considered as messages.

The terms "parallel processing" and "multiprocessing" imply multiple processors working on one task whereas "concurrent processing" and "multitasking" imply a single processor sharing its time between several tasks.

See also cellular automaton,symmetric multi-processing.

Usenet newsgroup: comp.parallel.

Institutions, research groups.

Last updated: 2004-11-07

parallel processor

<parallel>

A computer with more than one central processing unit, used for parallel processing.

Last updated: 1996-04-23

parallel random-access machine

<parallel>

(PRAM) An idealised parallel processor consisting of P processors, unbounded shared memory, and a common clock. Each processor is a random-access machine (RAM) consisting of R registers, a program counter, and a read-only signature register. Each RAM has an identical program, but the RAMs can branch to different parts of the program. The RAMs execute the program synchronously one instruction in one clock cycle.

See also pm2.

Last updated: 1997-06-04

parallel reduction

A form of applicative order reduction in which all redexes in an expression are reduced simultaneously. Variants include parallel outermost reduction and lenient reduction. See normal order reduction.

Parallel Server Option

Oracle Parallel Server

Parallel SML

["Parallel SML: A Functional Language and its Implementation in Dactl", Kevin Hammond, Pitman Press 1990].

Parallel Sysplex

<operating system>

A Sysplex that uses one or more coupling facilities.

http://s390.ibm.com/products/pso/psohp.html.

Last updated: 1996-11-21

Parallel Virtual Machine

<parallel, networking, tool>

(PVM) 1. A software system designed to allow a network of heterogeneous machines to be used as a single distributed parallel processor.

PVM was developed by the University of Tennessee, The Oak Ridge National Laboratory and the Emory University.

http://epm.ornl.gov/pvm/.

Usenet newsgroup: comp.parallel.pvm.

2. The intermediate language used by the Gambit compiler for Scheme.

[And Multilisp?]

Last updated: 1995-01-30

param

formal argument

parameter

formal argument

parameter RAM

(PRAM) A small memory in a Macintosh with a battery power supply which stores system parameters (desktop pattern, selectable memory configuration, etc.) when the computer is turned off.

Last updated: 1995-10-08

parametric polymorphism

Polymorphism was first identified by Christopher Strachey in 1967 and developed by Hindley and Milner.

For example we could specify that the argument of the "head" function was a list without specifying a type for the elements of the list. In Haskell we would write:

 head :: [a] -> a

meaning head has type function from "list of a" to "a" where "a" is a type variable). This is known as parametric polymorphism. Polymorphic typing allows strong type checking as well as generic functions. ML in 1976 was the first language with polymorphic typing.

See also generic type variable.

Last updated: 2014-01-05

paraML

An extension of Standard ML which supports coarse-grained parallelism. Peter Bailey, while at the Edinburgh Parallel Computing Centre at University of Edinburgh, has implemented of Murray Cole's original four skeletons in paraML.

See also Skel-ML.

paranoid programming

<programming>

A programming style that tries to prepare for the worst external conditions, including incorrect input, resource limitations, hardware and software failure and even can't happen errors, to the fullest possible extent. While some believe in the motto "professional programming is paranoid programming", the expression usually has the connotation that the efforts are unnecessary or too costly ("Maybe this code is just paranoid programming, but I think it is necessary to avoid a possible overflow condition".)

Last updated: 2001-01-27

ParaSoft Corp

Distributors of the message passing system Express.

ftp://ftp.parasoft.com/. Telephone: +1 (818) 792-9941. E-mail: <[email protected]>.

Last updated: 1994-10-19

Parasol

Parallel Systems Object Language.

An object-oriented language which supports network and parallel computing. It has modules and exceptions.

["The Parasol Programming Language", R. Jervis <[email protected]>, Dr Dobbs J, Oct 1993, pp. 34-41].

Last updated: 1995-01-26

PARC

XEROX PARC

ParcPlace Systems

<company>

A company spun-off from Xerox PARC that developed the original version of VisualWorks.

Last updated: 2002-04-15

parent

<mathematics, data>

The ancestor node in a tree that points to the current node (one of its child nodes).

Last updated: 2005-09-15

parentheses

See left parenthesis, right parenthesis.

Last updated: 1997-12-03

parent message

<messaging>

What a followup follows up.

[Jargon File]

Last updated: 1997-12-03

parent process

<operating system>

The Unix process that created one or more other processes.

Every process except process 0 is created when another process executes the fork system call. The process that invoked fork is the parent process, and the newly created process is the child process. Every process has one parent process, but can have many child processes.

The kernel identifies each process by its process identifier (PID). Process 0 is a special process that is created when the system boots; after forking a child process (process 1), process 0 becomes the swapper process. Process 1, known as init, is the ancestor of every other process in the system and enjoys a special relationship with them.

Last updated: 1997-12-03

Pari

<mathematics, tool>

A system for symbolic mathematics, especially number theory.

Version 1.37 for Unix, Macintosh, MS-DOS, Amiga.

E-mail: <[email protected]>.

ftp://math.ucla.edu/pub/pari.

Last updated: 1995-04-12

Paris

PARallel Instruction Set.

A low-level language for the Connection Machine.

Last updated: 1995-02-16

parity

<storage, communications>

An extra bit added to a byte or word to reveal errors in storage (in RAM or disk) or transmission. Even (odd) parity means that the parity bit is set so that there are an even (odd) number of one bits in the word, including the parity bit. A single parity bit can only reveal single bit errors since if an even number of bits are wrong then the parity bit will not change. Moreover, it is not possible to tell which bit is wrong, as it is with more sophisticated error detection and correction systems.

See also longitudinal parity, checksum, cyclic redundancy check.

Last updated: 1996-03-01

parity bit

<storage, communications>

An extra bit added to a byte or word to reveal errors.

See parity.

Last updated: 1996-03-01

parity error

<storage, communications>

An error discovered by the inclusion of a parity bit.

Last updated: 1996-03-01

Parkinson's Law of Data

"Data expands to fill the space available for storage"; buying more memory encourages the use of more memory-intensive techniques. It has been observed over the last 10 years that the memory usage of evolving systems tends to double roughly once every 18 months. Fortunately, memory density available for constant dollars also tends to double about once every 12 months (see Moore's Law); unfortunately, the laws of physics guarantee that the latter cannot continue indefinitely.

[Jargon File]

Park-Miller

A pseudorandom number generation algorithm which was discredited by Marsaglia and Steve Sullivanin in the July 1993 CACM.

[CACM Oct 1988].

Parlance

A concurrent language.

["Parallel Processing Structures: Languages, Schedules, and Performance Results", P.F. Reynolds, PhD Thesis, UT Austin 1979].

Last updated: 1994-12-12

Parlog

Clark & Gregory, Imperial College 1983. An AND-parallel Prolog, with guards and committed choice nondeterminism (don't care nondeterminism). Shallow backtracking only.

Implementations: MacParlog and PC-Parlog from Parallel Logic Programming Ltd., Box 49 Twickenham TW2 5PH, UK.

See also SPM.

ftp://ftp.inria.fr/lang/Parlog.tar.Z. E-mail: <[email protected]>.

["Parlog: A Parallel Logic Programming Language", K.L. Clark and S. Gregory, Imperial College, London, May 1983]. ("Parlog83", in which the ouput mechanism was assignment).

["Parallel Logic Programming in PARLOG, The Language and Its Implementation", S. Gregory, A-W 1987]. ("Parlog86", in which the output mechanism was unification, as in GHC). (See Strand).

Parlog++

An object-oriented extension to MacParlog. It combines object-oriented and parallel logic programming, giving the benefits of both paradigms within a single coherent development environment.

Andrew Davison <[email protected]>, then Imperial College now U Melbourne. Object orientation plus parallel logic, built on top of MacParlog.

"Parlog++: A Parlog Object-Oriented Language", A. Davison, Parlog Group, Imperial College 1988. Sold by PLP Ltd. E-mail: <[email protected]>.

parm

/parm/ Further-compressed form of param. This term is an IBMism, and written use is almost unknown outside IBM shops; spoken /parm/ is more widely distributed, but the synonym arg is favoured among hackers. Compare var.

[Jargon File]

PARMACS

The "Argonne macros" from Argonne National Laboratory. A package of macros written in m4 for portable parallel programming, using monitors on shared memory machines, and message passing on distributed memory machines.

[E. Lusk et al, "Portable Programs for Parallel Processors", HRW 1987. p4].

ftp://research.att.com/netlib/parmacs.

ParMod

"Parallel Programming with ParMod", S. Eichholz, Proc 1987 Intl Conf on Parallel Proc, pp.377-380.

PARS

Programmable Airline Reservation System

parse

parser

PARSEC

<language>

An extensible language with PL/I-like syntax, derived from PROTEUS.

["PARSEC User's Manual", Bolt Beranek & Newman, Dec 1972].

Last updated: 2009-06-26

parsed

parser

parser

<language>

An algorithm or program to determine the syntactic structure of ("to parse") a sentence or string of symbols in some language. A parser normally takes as input a sequence of tokens output by a lexical analyser. It may produce some kind of abstract syntax tree as output. A parser may be produced automatically from a grammar by a parser generator such as yacc.

A parser is normally part of some larger program, like a compiler, which takes the output of the parser and attempts to extract meaning from it in some way, e.g. translating it into another language.

Last updated: 2009-06-26

parser generator

A program which takes a formal description of a grammar (e.g. in BNF) and outputs source code for a parser which will recognise valid strings obeying that grammar and perform associated actions. Unix's yacc is a well known example.

parsing

parser

Parsley

A Pascal extension for construction of parse trees, by Barber of Summit Software. It features Iterators.

["PARSLEY: A New Compiler-Compiler", in Software Development Tools, Techniques and Alternatives, Arlington VA, Jul 1983, pp.232-241].

Last updated: 1995-02-22

Partial Differential Equation LANguage

(PDELAN)

["An Extension of Fortran Containing Finite Difference Operators", J. Gary et al, Soft Prac & Exp 2(4) (Oct 1972)].

partial equivalence relation

(PER) A relation R on a set S where R is symmetric (x R y => y R x) and transitive (x R y R z => x R z) and where there may exist elements in S for which the relation is not defined. A PER is an equivalence relation on the subset for which it is defined, i.e. it is also reflexive (x R x).

partial evaluation

<compiler, algorithm>

(Or "specialisation") An optimisation technique where the compiler evaluates some subexpressions at compile-time. For example,

 pow x 0 = 1
 pow x n = if even n
 	  then pxn2 * pxn2
 	  else x * pow x (n-1)
 	 where pxn2 = pow x (n/2)
 f x = pow x 5

Since n is known we can specialise pow in its second argument and unfold the recursive calls:

 pow5 x = x * x4 where x4 = x2 * x2
 	       x2 = x * x
 f x = pow5 x

pow5 is known as the residual. We could now also unfold pow5 giving:

 f x = x * x4 where x4 = x2 * x2
 	    x2 = x  * x

It is important that the partial evaluation algorithm should terminate. This is not guaranteed in the presence of recursive function definitions. For example, if partial evaluation were applied to the right hand side of the second clause for pow above, it would never terminate because the value of n is not known.

Partial evaluation might change the termination properties of the program if, for example, the expression (x * 0) was reduced to 0 it would terminate even if x (and thus x * 0) did not.

It may be necessary to reorder an expression to partially evaluate it, e.g.

 f x y = (x + y) + 1
 g z = f 3 z

If we rewrite f:

 f x y = (x + 1) + y

then the expression x+1 becomes a constant for the function g and we can say

 g z = f 3 z = (3 + 1) + z = 4 + z

Partial evaluation of built-in functions applied to constant arguments is known as constant folding.

See also full laziness.

Last updated: 1999-05-25

partial function

A function which is not defined for all arguments of its input type. E.g.

 f(x) = 1/x if x /= 0.

The opposite of a total function. In denotational semantics, a partial function

 f : D -> C

may be represented as a total function

 ft : D' -> lift(C)

where D' is a superset of D and

 ft x = f x	if x in D
 ft x = bottom	otherwise

where lift(C) = C U bottom. Bottom (LaTeX \perp) denotes "undefined".

Last updated: 1995-02-03

partial key

<database>

A key which identifies a subset of a set of information items (e.g. database "records"), and which could narrow the subset to one item if other partial key(s) were combined with it.

Last updated: 1997-04-26

partially ordered set

<mathematics>

A set with a partial order.

partial order

<mathematics>

(Informally, "order", "ordering") A binary relation R that is a pre-order (i.e. it is reflexive (x R x) and transitive (x R y R z => x R z)) and antisymmetric (x R y R x => x = y).

The order is partial, rather than total, because there may exist elements x and y for which neither x R y nor y R x.

In domain theory, if D is a set of values including the undefined value (bottom) then we can define a partial ordering relation <= on D by

 x <= y  if  x = bottom or x = y.

The constructed set D x D contains the very undefined element, (bottom, bottom) and the not so undefined elements, (x, bottom) and (bottom, x). The partial ordering on D x D is then

 (x1,y1) <= (x2,y2)  if  x1 <= x2 and y1 <= y2.

The partial ordering on D -> D is defined by

 f <= g  if  f(x) <= g(x)  for all x in D.

(No f x is more defined than g x.)

A lattice is a partial ordering where all finite subsets have a least upper bound and a greatest lower bound.

("<=" is written in LaTeX as \sqsubseteq).

Last updated: 1995-02-03

Partial Response Maximum Likelihood

<storage>

(PRML) A method for converting the weak analog signal from the head of a magnetic disk drive into a digital signal. PRML attempts to correctly interpret even small changes in the analog signal, whereas peak detection relies on fixed thresholds. Because PRML can correctly decode a weaker signal it allows higher density recording.

For example, PRML would read the magnetic flux density pattern 70, 60, 55, 60, 70 as binary "101", and the same for 45, 40, 30, 40, 45. A peak detector would decode everything above, say, 50 as high, and below 50 as low, so the first pattern would read "111" and the second as "000".

Last updated: 1996-12-27

partition

<storage>

1. A logical section of a disk. Each partition normally has its own file system. Unix tends to treat partitions as though they were separate physical entities.

<mathematics>

2. A division of a set into subsets so that each of its elements is in exactly one subset.

Last updated: 1996-12-09

partitioned data set

<file format>

(PDS) A data set on an IBM mainframe that contains members, each of which acts like a separate data set. Partitioned data sets are more space-efficient than individual data sets, because they can put more than one data set on a track. They are also used to hold libraries, with one function per member. The syntax for a member is NAME.OF.PDS(MEMBER) although some systems (such as Phoenix) could use NAME.OF.PDS:MEMBER

Original PDSes were of fixed size, and needed frequent compression to recover space after deleting or changing members. Newer PDS/E Extended PDSes do not have this problem.

Last updated: 2003-12-05

PARTS

Digitalk. Visual language for OS/2 2.0.

PARULEL

"The PARULEL Parallel Rule Language", S. Stolfo et al, Proc 1991 Intl Conf Parallel Proc, CRC Press 1991, pp.36-45.

PASC

Perceptional Adaptive Subband Coding

Pascal

<language>

(After the French mathematician Blaise Pascal (1623-1662)) A programming language designed by Niklaus Wirth around 1970. Pascal was designed for simplicity and for teaching programming, in reaction to the complexity of ALGOL 68. It emphasises structured programming constructs, data structures and strong typing. Innovations included enumeration types, subranges, sets, variant records, and the case statement. Pascal has been extremely influential in programming language design and has a great number of variants and descendants.

ANSI/IEEE770X3.97-1993 is very similar to ISO Pascal but does not include conformant arrays.

ISO 7185-1983(E). Level 0 and Level 1. Changes from Jensen & Wirth's Pascal include name equivalence; names must be bound before they are used; loop index must be local to the procedure; formal procedure parameters must include their arguments; conformant array schemas.

An ALGOL-descended language designed by Niklaus Wirth on the CDC 6600 around 1967--68 as an instructional tool for elementary programming. This language, designed primarily to keep students from shooting themselves in the foot and thus extremely restrictive from a general-purpose-programming point of view, was later promoted as a general-purpose tool and, in fact, became the ancestor of a large family of languages including Modula-2 and Ada (see also bondage-and-discipline language). The hackish point of view on Pascal was probably best summed up by a devastating (and, in its deadpan way, screamingly funny) 1981 paper by Brian Kernighan (of K&R fame) entitled "Why Pascal is Not My Favourite Programming Language", which was turned down by the technical journals but circulated widely via photocopies. It was eventually published in "Comparing and Assessing Programming Languages", edited by Alan Feuer and Narain Gehani (Prentice-Hall, 1984). Part of his discussion is worth repeating here, because its criticisms are still apposite to Pascal itself after ten years of improvement and could also stand as an indictment of many other bondage-and-discipline languages. At the end of a summary of the case against Pascal, Kernighan wrote:

9. There is no escape

This last point is perhaps the most important. The language is inadequate but circumscribed, because there is no way to escape its limitations. There are no casts to disable the type-checking when necessary. There is no way to replace the defective run-time environment with a sensible one, unless one controls the compiler that defines the "standard procedures". The language is closed.

People who use Pascal for serious programming fall into a fatal trap. Because the language is impotent, it must be extended. But each group extends Pascal in its own direction, to make it look like whatever language they really want. Extensions for separate compilation, Fortran-like COMMON, string data types, internal static variables, initialisation, octal numbers, bit operators, etc., all add to the utility of the language for one group but destroy its portability to others.

I feel that it is a mistake to use Pascal for anything much beyond its original target. In its pure form, Pascal is a toy language, suitable for teaching but not for real programming.

Pascal has since been almost entirely displaced (by C) from the niches it had acquired in serious applications and systems programming, but retains some popularity as a hobbyist language in the MS-DOS and Macintosh worlds.

See also Kamin's interpreters, p2c.

["The Programming Language Pascal", N. Wirth, Acta Informatica 1:35-63, 1971].

["PASCAL User Manual and Report", K. Jensen & N. Wirth, Springer 1975] made significant revisions to the language.

[BS 6192, "Specification for Computer Programming Language Pascal", British Standards Institute 1982].

[Jargon File]

Last updated: 1996-06-12

Pascal-

Pascal subset used in Brinch Hansen on Pascal Compilers, P. Brinch Hansen, P-H 1985.

[Jargon File]

Pascal-80

A successor of Platon. Developed at RC International for systems programming. Later it was renamed Real-Time Pascal. "PASCAL80 Report", J. Staunstrup, RC Intl, Denmark Jan 1980.

Pascal+CSP

"Pascal+CSP, Merging Pascal and CSP in a Parallel Processing Oriented Language", J. Adamo, Proc 3rd Intl Conf Distrib Comp Sys, IEEE 1982, pp.542-547.

Pascal-F

Pascal extended to include fixed-point arithmetic. E. Nelson, "Pascal-F: Programming Language for Real-Time Automotive Control", IEEE ElectroTechnol. Rev. (USA), 2:39, 1968.

Pascal-FC

A Pascal derived from Pascal-S which provides several types of concurrency: semaphores, monitors, both occam/CSP-style and Ada-style rendezvous.

["The Teaching Language Pascal-FC", G.L. Davies et al, Computer J 33(2):147-154 (Apr 1990)].

Last updated: 1994-11-02

Pascal/L

A SIMD parallel extension of Pascal.

["Implementation of an Array and Vector Processing Language", C. Fernstrom, Intl Conf Parallel Proc, IEEE, pp.113-127 (1982)].

Last updated: 1994-11-02

Pascal-Linda

Ian Flockhart, U Edinburgh, 1991. Under development.

Pascal-m

["Pascal-m: A Language for Loosely Coupled Distributed Systems", S. Abramsky et al in Distributed Computing Systems, Y. Paker et al eds, Academic Press 1986, pp. 163-189].

Last updated: 1994-11-02

Pascal-P

<language>

The variant of Pascal used by the UCSD p-system environment. Pascal-P has extended string and array operations, random-access files and separate compilation. It uses P-code intermediate code and is available from Pecan.

Last updated: 1994-11-02

Pascal P4

compiler and interpreter

Version ? 1

compiler, assembler/interpreter, documentation

Urs Ammann, Kesav Nori, Christian Jacobi

ftp://ftp.cwi.nl/pascal/.

A compiler for Pascal written in Pascal, producing an intermediate code, with an assembler and interpreter for the code.

reference: Pascal Implementation, by Steven Pemberton and Martin Daniels, published by Ellis Horwood, Chichester, UK (an imprint of Prentice Hall), ISBN: 0-13-653-0311. Also available in Japanese.

E-mail: <[email protected]>.

Last updated: 1993-07-05

Pascal Plus

<language>

Pascal with extensions for object-oriented multiprogramming by Jim Welsh and D. Bustard of Queens University, Belfast, UK. Pascal Plus uses an "envelope" construct for both packages and classes.

["Pascal Plus - Another Language for Modular Multiprogramming", J. Welsh et al, Soft Prac & Exp 9:947 (1979)].

["Sequential Program Structures", J. Welsh et al, P-H 1984, ISBN 0-13806828-3].

Last updated: 1997-12-09

Pascal/R

Pascal with relational database constructs added. The first successful integrated database language.

["Pascal/R Report", J.W. Schmidt et al, U Hamburg, Fachbereich Informatik, Report 66, Jan 1980].

Last updated: 1994-10-19

Pascal-S

Simplified Pascal. June, 1975. A strict subset of Pascal, omits scalar types, subranges, sets, files, pointers, packed structures, 'with' and 'goto. Source for a complete Pascal-S compiler is in "Pascal-S: A Subset and Its Implementation", N. Wirth in Pascal - The Language and Its Implementation, by D.W. Barron, Wiley 1979.

ftp://csseq.cs.tamu.edu/mcguire/pascal-s.

Pascal-SC

ESPRIT DIAMOND Project. An extension of Pascal for numerical analysis, with controlled rounding, overloading, dynamic arrays and modules. "PASCAL-SC, A Computer Language for Scientific Computation", G. Bohlender et al, Academic Press 1987.

pasos2

version: Alpha

parts: Compiler, run-time library

author: Willem Jan Withagen <[email protected]>

how to get: ftp://ftp.eb.ele.tue.nl/pub/src/pascal/pasos2*.

A PASCAL/i386 compiler which generates code for OS/2 and DOS. It uses EMX as DOS extender and GNU/GAS, MASM or TASM as assembler.

1993-12-17

Pasqual

["Pasqual: A Proposed Generalization of Pascal", R.D. Tennent, TR75-32, Queen's U, Canada, 1975].

PASRO

<robotics>

PAScal for RObots.

["PASRO - Pascal for Robots", C. Blume et al, Springer 1985].

Last updated: 1999-07-19

PASSIM

A simulation language based on Pascal.

["PASSIM: A Discrete-Event Simulation Package for Pascal", D.H Uyeno et al, Simulation 35(6):183-190 (Dec 1980)].

passive matrix display

<hardware>

A type of liquid crystal display which relies on persistence to maintain the state of each display element (pixel) between refresh scans. The resolution of such displays is limited by the ratio between the time to set a pixel and the time it takes to fade.

Contrast active matrix display.

Last updated: 1995-12-09

passphrase

<operating system>

A string of words and characters that you type in to authenticate yourself. Passphrases differ from passwords only in length. Passwords are usually short - six to ten characters. Passphrases are usually much longer - up to 100 characters or more.

Modern passphrases were invented by Sigmund N. Porter in 1982.

Their greater length makes passphrases more secure.

Phil Zimmermann's popular encryption program PGP, for example, requires you to make up a passphrase that you then must enter whenever you sign or decrypt messages.

http://world.std.com/~reinhold/diceware.page.html.

Last updated: 1996-12-21

passw0rd

<security>

A common default password, often given out by system administrtors to new users, the hope being that they will change it immediately.

Last updated: 2011-11-22

password

<security>

An arbitrary string of characters chosen by a user or system administrator and used to authenticate the user when he attempts to log on, in order to prevent unauthorised access to his account.

A favourite activity among unimaginative computer nerds and crackers is writing programs which attempt to discover passwords by using lists of commonly chosen passwords such as people's names (spelled forward or backward). It is recommended that to defeat such methods passwords use a mixture of upper and lower case letters or digits and avoid proper names and real words. If you have trouble remembering random strings of characters, make up an acronym like "ihGr8trmP" ("I have great trouble remembering my password").

Last updated: 1994-10-27

Password Authentication Protocol

<networking>

(PAP) An authentication scheme used by PPP servers to validate the identity of the originator of the connection.

PAP applies a two-way handshaking procedure. After the link is established the originator sends an id-password pair to the server. If authentication succeeds the server sends back an acknowledgement; otherwise it either terminates the connection or gives the originator another chance.

PAP is not a strong authentication method. Passwords are sent over the circuit "in the clear" and there is no protection against playback or repeated "trial and error" attacks. The originator is in total control of the frequency and timing of the attempts. Therefore, any server that can use a stronger authentication method, such as CHAP, will offer to negotiate that method prior to PAP. The use of PAP is appropriate, however, if a plaintext password must be available to simulate a login at a remote host.

PAP is defined in RFC 1334.

Last updated: 1996-03-23

paste

copy and paste

pastie

/pay'stee/ An adhesive label designed to be attached to a key on a keyboard to indicate some non-standard character which can be accessed through that key. Pasties are likely to be used in APL environments, where almost every key is associated with a special character. A pastie on the R key, for example, might remind the user that it is used to generate the rho character. The term properly refers to nipple-concealing devices formerly worn by strippers in concession to indecent-exposure laws; compare tits on a keyboard.

[Jargon File]

PAT

<language>

1. Personalized Array Translator.

<networking>

2. Port Address Translation.

Last updated: 1998-05-09

PATA

<storage>

1. Parallel Advanced Technology Attachment.

2. Pooling Agreement for Technical Assistance.

patch

<software>

1. A temporary addition to a piece of code, usually as a quick-and-dirty remedy to an existing bug or misfeature. A patch may or may not work, and may or may not eventually be incorporated permanently into the program. Distinguished from a diff or mod by the fact that a patch is generated by more primitive means than the rest of the program; the classical examples are instructions modified by using the front panel switches, and changes made directly to the binary executable of a program originally written in an HLL. Compare one-line fix.

2. To insert a patch into a piece of code.

3. [in the Unix world] A diff.

4. A set of modifications to binaries to be applied by a patching program. IBM systems often receive updates to the operating system in the form of absolute hexadecimal patches. If you have modified your OS, you have to disassemble these back to the source code. The patches might later be corrected by other patches on top of them (patches were said to "grow scar tissue"). The result was often a convoluted patch space and headaches galore.

There is a classic story of a tiger team penetrating a secure military computer that illustrates the danger inherent in binary patches (or, indeed, any patches that you can't - or don't - inspect and examine before installing). They couldn't find any trap doors or any way to penetrate security of IBM's OS, so they made a site visit to an IBM office (remember, these were official military types who were purportedly on official business), swiped some IBM stationery, and created a fake patch. The patch was actually the trapdoor they needed. The patch was distributed at about the right time for an IBM patch, had official stationery and all accompanying documentation, and was dutifully installed. The installation manager very shortly thereafter learned something about proper procedures.

5. Larry Wall's "patch" utility program, which automatically applies a patch to a set of source code or other text files. Patch accepts input in any of the four forms output by the Unix diff utility. When the files being patched are not identical to those on which the diffs were based, patch uses heuristics to determine how to proceed.

Diff and patch are the standard way of producing and applying updates under Unix. Both have been ported to other operating systems.

Patch Home.

[Jargon File]

Last updated: 2005-05-16

patch pumpkin

pumpkin

patch space

An unused block of bits left in a binary so that it can later be modified by insertion of machine-language instructions there (typically, the patch space is modified to contain new code, and the superseded code is patched to contain a jump or call to the patch space). The widening use of HLLs has made this term rare; it is now primarily historical outside IBM shops. See patch, zap, hook.

[Jargon File]

PATCHY

A Fortran code management program written at CERN.

path

<file system>

1. pathname.

<networking>

2. A bang path or explicitly routed Internet address; a node-by-node specification of a link between two machines.

<operating system>

3. The list of directories the kernel (under Unix) or the command interpreter (under MS-DOS) searches for executables. It is stored as part of the environment in both operating systems.

Other, similar constructs abound under Unix; the C preprocessor, for example, uses such a search path to locate "#include" files.

[Jargon File]

Last updated: 1996-11-21

path coverage testing

<testing>

Testing a program by examining which lines of executable code are visited (as in code coverage testing) and also the ways of getting to each line of code and the subsequent sequence of execution.

Path coverage testing is the most comprehensive type of testing that a test suite can provide. It can find more bugs, especially those that are caused by data coupling. However, path coverage is hard and usually only used for small and/or critical sections of code.

Last updated: 2005-01-25

pathname

<file system>

(Or "path") The specification of a node (file or directory) in a hierarchical file system. The path is usually specified by listing the nodes top-down, separating the directories by the pathname separator ("/" in Unix, "\" in MS-DOS).

A pathname may be an absolute pathname (starting from the root directory, "/") or a relative pathname (starting from the current working directory).

The part of the pathname of a file after the last separator is called the basename.

Last updated: 1997-03-10

pathname separator

<file system>

The character used to separate elements of a path or pathname. Under Unix and POSIX.1 compliant systems the pathname separator is the (forward) slash, in MS-DOS backslash serves the same purpose. For obvious reasons the no directory or file name can contain this character.

Last updated: 1996-11-21

pathological

1. [scientific computation] Used of a data set that is grossly atypical of normal expected input, especially one that exposes a weakness or bug in whatever algorithm one is using. An algorithm that can be broken by pathological inputs may still be useful if such inputs are very unlikely to occur in practice.

2. When used of test input, implies that it was purposefully engineered as a worst case. The implication in both senses is that the data is spectacularly ill-conditioned or that someone had to explicitly set out to break the algorithm in order to come up with such a crazy example.

3. Also said of an unlikely collection of circumstances. "If the network is down and comes up halfway through the execution of that command by root, the system may just crash." "Yes, but that's a pathological case." Often used to dismiss the case from discussion, with the implication that the consequences are acceptable, since they will happen so infrequently (if at all) that it doesn't seem worth going to the extra trouble to handle that case (see sense 1).

[Jargon File]

Path Pascal

Parallel extension of Pascal. Processes have shared access to data objects. Constraints on their synchronisation are specified in a path expression.

["An Overview of Path Pascal's Design", R.H. Campbell, SIGPLAN Notices 15(9):13-24 (Sep 1980)].

pathspec

pathname

pattern matching

1. A function is defined to take arguments of a particular type, form or value. When applying the function to its actual arguments it is necessary to match the type, form or value of the actual arguments against the formal arguments in some definition. For example, the function

 length []     = 0
 length (x:xs) = 1 + length xs

uses pattern matching in its argument to distinguish a null list from a non-null one.

There are well known algorithm for translating pattern matching into conditional expressions such as "if" or "case". E.g. the above function could be transformed to

 length l = case l of
 	   []   -> 0
 	   x:xs -> 1 : length xs

Pattern matching is usually performed in textual order though there are languages which match more specific patterns before less specific ones.

2. Descriptive of a type of language or utility such as awk or Perl which is suited to searching for strings or patterns in input data, usually using some kind of regular expression.

Last updated: 1994-11-28

pattern recognition

<artificial intelligence, data processing>

A branch of artificial intelligence concerned with the classification or description of observations.

Pattern recognition aims to classify data (patterns) based on either a priori knowledge or on statistical information extracted from the patterns. The patterns to be classified are usually groups of measurements or observations, defining points in an appropriate multidimensional space.

A complete pattern recognition system consists of a sensor that gathers the observations to be classified or described; a feature extraction mechanism that computes numeric or symbolic information from the observations; and a classification or description scheme that does the actual job of classifying or describing observations, relying on the extracted features.

The classification or description scheme is usually based on the availability of a set of patterns that have already been classified or described. This set of patterns is termed the training set and the resulting learning strategy is characterised as supervised. Learning can also be unsupervised, in the sense that the system is not given an a priori labelling of patterns, instead it establishes the classes itself based on the statistical regularities of the patterns.

The classification or description scheme usually uses one of the following approaches: statistical (or decision theoretic), syntactic (or structural), or neural. Statistical pattern recognition is based on statistical characterisations of patterns, assuming that the patterns are generated by a probabilistic system. Structural pattern recognition is based on the structural interrelationships of features. Neural pattern recognition employs the neural computing paradigm that has emerged with neural networks.

Last updated: 1995-09-22

PAW

<tool>

Physics Analysis Workbench.

PAW++

An extended version of PAW with a Motif human interface.

payware

/pay'weir/ Commercial software. Opposite: shareware or freeware.

[Jargon File]

PB Cache

Pipeline Burst Cache

PBCAK

PEBCAK

PBD

Programmer Brain Damage

PBEM

play by electronic mail

PBKAC

PEBCAK

PBM

play by mail. See play by electronic mail.

PBX

Private Branch Exchange

PC

<computer>

1. personal computer.

<computer>

2. IBM PC.

<hardware>

3. program counter.

<hardware>

4. printed circuit.

<language>

5. Parallel C.

pC++

Data parallel extension to C++. Classes and methods for managing distributed collections.

E-mail: Dennis Gannon <[email protected]>.

["Distributed pC++: Basic Ideas for an Object Parallel Language", F. Bodin et al, Proc Supercomput 91, ACM SIGARCH, pp. 273-282].

Last updated: 2001-02-22

PC-1834

<computer>

An IBM PC-like computer, using a K1810 WM 86 Intel 8086 clone from the formerly known Eastern bloc, introduced in 1988.

Last updated: 2004-03-24

PC200

Sinclair PC200

PC-7150

<hardware>

An IBM PC-like computer, using a K1810 WM 86 Intel 8086 clone from the formerly known Eastern bloc, introduced in 1988.

Last updated: 2004-03-24

PCA

<tool, programming>

A dynamic analyser from DEC giving information on run-time performance and code use.

Last updated: 2004-03-24

P-CAD

<application>

A CAE system marketed by CADAM, an IBM company.

Last updated: 2004-03-24

PC AT

IBM PC AT

PCB

<hardware>

1. Power Circuit Breaker.

<hardware>

2. Power Control Box.

<hardware>

3. Printed Circuit Board.

4. Process Control Block.

5. Product Configuration Baseline.

6. Program Control Block.

<networking>

7. Protocol Control Block.

(TCP).

PC Card

Personal Computer Memory Card International Association

PCCTS

Purdue Compiler-Construction Tool Set

PCF

A simply typed, functional language.

["Fully Abstract Translations Between Functional Languages", J. Riecke, 18th POPL, pp. 245-254 (1991)].

["LCF Considered as a Programming Language", Theor CS 5:223, 1977].

Last updated: 1996-01-18

PCI

Peripheral Component Interconnect

PCI bus

Peripheral Component Interconnect

PCI Configuration Utility

<tool>

(PCU) A piece of software for configuring a specific PCI hardware device.

[What software? What hardware?]

Last updated: 1998-11-22

PCI Mezzanine Card

<hardware>

(PMC) A family of low profile mezzanine cards for VMEbus, Futurebus+, desktop computers and other computer systems with logical and electrical layers based on the Peripheral Component Interconnect (PCI) specification. PMC is defined in IEEE P1386.1 and follows the Common Mezzanine Card (CMC) mechanical specification.

PCI2.0 defines a 4.2 inch by 12.3 inch board that plugs perpendicularly into a mother board.

Last updated: 1994-10-06

PCI slot

<hardware>

A connector on Peripheral Component Interconnect and the associated physical space occupied by the installed PCI card.

Last updated: 1997-12-07

PC-ism

/P-C-izm/ A piece of code or coding technique that takes advantage of the unprotected single-tasking environment in IBM PCs and the like, e.g. by busy-waiting on a hardware register, direct diddling of screen memory or using hard timing loops. Compare ill-behaved, vaxism, Unixism.

[Jargon File]

PCjr

IBM PCjr

PCL

1. Printer Control Language. A Document description language used by Hewlett-Packard Laserjet printers, a superset of HP-GL/2.

[PCL 5 Printer Language Printer Technical Reference Manual, HP 33459-90903. Versions: PCL 3, PCL 5].

2. Portable CommonLoops.

3. Peripheral Conversion Language. A Honeywell command language for file transfer between I/O devices on the CP-V and CP-6 operating systems.

4. ["PCL - A Process Oriented Job Control Language", V. Lesser et al, Proc 1st Intl Conf Distrib Comp Sys, IEEE 1979, pp.315-329].

PCLIPS

Parallel CLIPS - U Lowell. Concurrent independent CLIPS expert systems. They use 'rassert' (remote assert) to enter facts into each other's database. "PCLIPS: A Distributed Expert System Environment", R. Miller, CLIPS Users Group Conf, Aug 1990. E-mail: <[email protected]>(?).

PCM

<data>

1. Pulse Code Modulation.

<company>

2. Plug Compatible Manufacturer.

Last updated: 2003-06-24

PCMCIA

<body, standard>

Personal Computer Memory Card International Association. (Or People Can't Memorise Computer Industry Acronyms).

PCMIA

Personal Computer Manufacturer Interface adapter

PCN

1. Program Composition Notation.

<communications>

2. Personal Communication Network.

PC-NFS

Personal Computer Network File System

P-code

<language>

The intermediate language produced by the Pascal-P compiler. P-code is the assembly language for a hypothetical stack machine, the P-machine, said to imitate the instruction set of the Burroughs 6700.

The term was first used in the Wirth reference below. Byte articles on writing a Pascal Compiler in Northstar BASIC (ca Aug 1978) also used the term.

P-code was initially the intermediate code generated by the P2 compiler from ETH Zurich. P-code was later used as the intermediate language in the UCSD Pascal System, and in its two main derivatives, Apple Pascal and the UCSD P-system.

Variants: P2 P-code, P4 P-code, UCSD P-code, LASL P-code.

[Algorithms + Data Structures = Programs, N. Wirth, P-H 1976].

["A Comparison of PASCAL Intermediate Languages", P.A. Nelson, SIGPLAN Notices 14(8):208-213, Aug 1979].

Last updated: 2004-11-08

PC Pursuit

A TELENET service which enabled people to dial up BBSes in other cities for less than normal long-distance rates. PC Pursuit died because TELENET were too mean to upgrade beyond 2400 bits per second.

Last updated: 1994-10-17

PC-RT

<computer>

An incorrect name for the RT-PC.

Last updated: 1995-04-06

PCS

1. Personal Communication Services.

2. PC-Scheme.

PC-Scheme

Version 3.03

compiler, debugger, profiler, editor, libraries

ftp://altdorf.ai.mit.edu/archive/pc-scheme/.

Written at Texas Instruments. Runs on MS-DOS 286/386 IBM PCs and compatibles. Includes an optimising compiler, an emacs-like editor, inspector, debugger, performance testing, foreign function interface, window system and an object-oriented subsystem. Also supports the dialect used in Hal Abelson and Gerald Sussman's SICP.

Conformance: Revised^3 Report, also supports dialect used in SICP.

restriction: official version is $95, contact <[email protected]>

ports: MS-DOS

See also PCS/Geneva.

Last updated: 1992-02-23

PCS/Geneva

A cleaned-up version of Texas Instrument's PC Scheme developed at the University of Geneva. The main extensions to PC Scheme are 486 support, BGI graphics, LIM-EMS pagination support, line editing and assembly code-level interfacing.

Version 4.02PL1.

E-mail: <[email protected]>.

Last updated: 1994-01-11

PC support

<job>

(Or "PC analyst", end user support) A person who works with microcomputer applications including word processors, spreadsheets, presentation graphics, database management systems, electronic mail, and communications. He also evaluates, installs and supports PCs, Macintoshes, and associated peripherals.

Last updated: 2004-03-20

PC-TALK III

<communications, tool>

An MS-DOS communications program by Andrew Fluegelman.

Last updated: 1997-08-25

PCTE

Portable Common Tool Environment

PCTE+

A European NATO specification based on PCTE with security enhancements.

PC-TILES

<language>

A visual programming language.

Last updated: 1997-08-25

PCU

PCI Configuration Utility

PC-ware

Pejorative term for software full of PC-isms on a machine with a more capable operating system.

pcx

<filename extension>

A filename extension for images created with the IBM PC Paintbrush tool.

[Format?]

Last updated: 1995-12-10

PD

public domain

PDA

Personal Digital Assistant

PDC

Primary Domain Controller

PDC Prolog

Prolog Development Centre Prolog. A Prolog evolved from Turbo Prolog by the original authors.

PDEL

Partial Differential Equation Language. A preprocessor for PL/I.

["PDEL - A Language for Partial Differential Equations", A.F. Cardenas, CACM 13(3):184-191 (Mar 1970)].

PDELAN

Partial Differential Equation LANguage

PDES

Product Data Exchange using STEP

PDF

Portable Document Format

PDFTeX

<tool>

A modification of TeX to produce PDF output instead of the canonical DVI.

pdftexlib.tar.gz.

Thanh's source of pdfTeX.

User Manual.

FAQ.

Last updated: 2000-12-21

PDH

Plesiochronous Digital Hierarchy

PDIL

<language>

A language developed at Agence d'Informatique, France in the 1970s for description of communication protocols. It was part of the RHIN project.

Last updated: 1995-02-28

pdksh

Version 4.9

interpreter

Simon J. Gerraty <[email protected]>

comp.sources.misc volume 4

It is not intended to be the ultimate shell but rather a usable ksh work alike.

conformance: Almost identical to ksh88, but missing arrays

E-mail: Simon J Gerraty <[email protected]> (zen.void.oz.au is down)

ports: Sun, 386bsd, ?

1993-10-11

PDL

1. Page Description Language.

2. Program Design Language.

3. Push Down List.

4. Dave Lebling, one of the co-authors of Zork. His network address on the ITS machines was at one time <pdl@dms>.

5. Propositional Dynamic Logic.

[Jargon File]

PDL2

<language>

Process Design Language 2.

PDM

1. Product Development Management.

2. Product Data Management.

Last updated: 1997-02-11

PDP

Programmed Data Processor

PDP-10

<computer>

Programmed Data Processor model 10.

The series of mainframes from DEC that made time-sharing real. It looms large in hacker folklore because of its adoption in the mid-1970s by many university computing facilities and research labs, including the MIT AI Lab, Stanford, and CMU. Some aspects of the instruction set (most notably the bit-field instructions) are still considered unsurpassed.

The PDP-10 was eventually eclipsed by the VAX machines (descendants of the PDP-11) when DEC recognised that the PDP-10 and VAX product lines were competing with each other and decided to concentrate its software development effort on the more profitable VAX. The machine was finally dropped from DEC's line in 1983, following the failure of the Jupiter Project at DEC to build a viable new model. (Some attempts by other companies to market clones came to nothing; see Foonly and Mars.) This event spelled the doom of ITS and the technical cultures that had spawned the original Jargon File, but by mid-1991 it had become something of a badge of honourable old-timerhood among hackers to have cut one's teeth on a PDP-10.

See TOPS-10, AOS, BLT, DDT, DPB, EXCH, HAKMEM, JFCL, LDB, pop, push.

alt.sys.pdp10

[Was the PDP-10 a mini or a mainframe?]

Last updated: 2001-01-05

PDP-11

Programmed Data Processor model 11.

A series of minicomputers based on an instruction set designed by C. Gordon Bell at DEC in the early 1970s (late 60s?). The PDP-11 family, which came after, but was not derived from, the PDP-10, was the most successful computer of its time until it was itself succeeded by the VAX.

Models included the 11/23 and 11/24 (based on the F11 chipset); 11/44, 11/04, 11/34, 11/05, 11/10, 11/15, 11/20, 11/35, 11/40, 11/45, 11/70, 11/60 (MSI and SSI); LSI-11/2 and LSI-11 (LSI-11 chipset). In addition there were the 11/8x (J11 chipset) and SBC-11/21 (T11 chip) and then there was compatibility mode in the early VAX processors.

The B and C languages were both used initially to implement Unix on the PDP-11. The microprocessor design tradition owes a heavy debt to the PDP-11 instruction set.

See also SEX.

Last updated: 1994-12-21

PDP-20

The most famous computer that never was. PDP-10 computers running the TOPS-10 operating system were labelled "DECsystem-10" as a way of differentiating them from the PDP-11. Later on, those systems running TOPS-20 were labelled "DECSYSTEM-20" (the block capitals being the result of a lawsuit brought against DEC by Singer, which once made a computer called "system-10"), but contrary to popular lore there was never a "PDP-20"; the only difference between a 10 and a 20 was the operating system and the colour of the paint. Most (but not all) machines sold to run TOPS-10 were painted "Basil Blue", whereas most TOPS-20 machines were painted "Chinese Red" (often mistakenly called orange).

[Jargon File]

Last updated: 1994-12-21

PDP-6

<computer>

Programmed Data Processor model 6. A computer designed around 1960 with more or less exactly the same hardware architecture as the PDP-10. It already had multi-user time sharing and batch processing and multi-level priority interrupts

Last updated: 1996-12-21

PDP-7

<computer>

A minicomputer sold by DEC in 1964. It had a memory cycle time of 1.75 microseconds and add time of 4 microseconds. I/O included a keyboard, printer, paper-tape and dual transport DECtape drives (type 555).

DEC provided an "advanced" Fortran II compiler, a Symbolic Assembler, Editor, DDT Debugging System, Maintenance routines and a library of arithmetic, utility and programming aids developed on the program-compatible PDP-4.

[DEC sales brochure].

The PDP-7 was considered reliable enough (when properly programmed) to be used for control of nuclear reactors and such.

Around 1970 Ken Thompson built the operating system that became Unix on a scavenged PDP-7 so he could play a descendant of the SPACEWAR game.

Last updated: 1995-03-10

PDP Assembly Language

<language>

(PAL) The assembly language for the PDP-8 and PDP-11.

[Description?]

Last updated: 1995-01-26

PDS

<hardware>

1. Processor Direct Slot.

2. partitioned data set.

PDSA cycle

Plan, Do, See, Approve (from Japan).

PDS/MaGen

Problem Descriptor System. A system for generating matrices and reports for mathematical programming and operations research.

["PDS MaGen User Information Manual", Haverly Systems (Dec 1977)].

Last updated: 1994-10-27

PDU

Protocol Data Unit

PE

<database>

1. periodic group

<storage>

2. Phase Encoded.

<architecture>

3. processing element.

Last updated: 1995-10-30

pe

<networking>

The country code for Peru.

Last updated: 1999-01-27

PeaceNet

One of the IGC networks. PeaceNet serves peace and social justice advocates around the world in such areas as human rights, disarmament, and international relations. A number of alternative news services provide a range of information about these and other topics from around the world.

E-mail: <[email protected]>. ftp://igc.apc.org/.

peak envelope power

<communications>

(PEP) The maximum power output by a radio transmitter over one complete RF cycle at any modulation.

Last updated: 2008-02-11

Peano

Giuseppe Peano

Peano arithmetic

<mathematics>

Giuseppe Peano's system for representing natural numbers inductively using only two symbols, "0" (zero) and "S" (successor).

This system could be expressed as a recursive data type with the following Haskell definition:

 data Peano = Zero | Succ Peano

The number three, usually written "SSS0", would be Succ (Succ (Succ Zero)). Addition of Peano numbers can be expressed as a simple syntactic transformation:

 plus Zero     n = n
 plus (Succ m) n = Succ (plus m n)

Last updated: 1995-03-28

PEARL

<language, mathematics>

1. A language for constructive mathematics developed by Constable at Cornell University in the 1980s.

<language, real-time>

2. Process and Experiment Automation Real-Time Language.

<language, education>

3. One of five pedagogical languages based on Markov algorithms, used in "Nonpareil, a Machine Level Machine Independent Language for the Study of Semantics", B. Higman, ULICS Intl Report No ICSI 170, U London (1968). Compare Brilliant, Diamond, Nonpareil, Ruby.

<language>

4. A multilevel language developed by Brian Randell ca 1970 and mentioned in "Machine Oriented Higher Level Languages", W. van der Poel, N-H 1974.

<language, tool, history>

5. An obsolete term for Larry Wall's PERL programming language, which never fell into common usage other than in typographical errors. The missing 'a' remains as an atrophied remnant in the expansion "Practical Extraction and Report Language".

["Programming Perl", Larry Wall and Randal L. Schwartz, O'Reilly & Associates, Inc. Sebastopol, CA. ISBN 0-93715-64-1].

Last updated: 2000-08-16

Pebble

A polymorphic language.

["A Kernel Language for Abstract Data Types and Modules", R.M. Burstall & B. Lampson, in Semantics of Data Types, LNCS 173, Springer 1984].

Last updated: 1995-01-26

Pebbleman

DoD requirements that led to APSE. They were written in Jul 1978 and revised Jan 1979.

Last updated: 1995-01-26

PEBCAK

<humour>

(Or "PEBKAC", "PBCAK", "PBKAC") Tech support shorthand for "Problem (Exists) between Chair and Keyboard".

An alternative is "PICNIC" - "Problem In Chair, Not In Computer".

An acronym commonly used by helpdesk technicians to indicate that a problem is due to the user rather than the system.

See also nut loose on keyboard, UBD.

Last updated: 2012-08-26

PEBKAC

PEBCAK

PECOS

A constraint-based language, built on the object-oriented module of Le-Lisp.

["Pecos Reference Manual", ILOG, 1990. ILOG, 12 av Raspail, BP 7, F94251 Gentilly, France].

Last updated: 1995-01-26

Pedagogic Algorithmic Language

["PAL - A Language for Teaching Programming Linguistics", A. Evans Jr, Proc ACM 23rd Natl Conf, Brandon/Systems Press (1968)].

Last updated: 1995-01-26

PEEK

The command in most microcomputer BASICs for reading memory contents (a byte) at an absolute address. POKE is the corresponding command to write a value to an absolute address.

This is often extended to mean the corresponding constructs in any High Level Language.

Much hacking on small microcomputers without MMUs consists of "peek"ing around memory, more or less at random, to find the location where the system keeps interesting stuff. Long (and variably accurate) lists of such addresses for various computers circulate (see interrupt list). The results of "poke"s at these addresses may be highly useful, mildly amusing, useless but neat, or total lossage (see killer poke).

Since a real operating system provides useful, higher-level services for the tasks commonly performed with peeks and pokes on micros, and real languages tend not to encourage low-level memory groveling, a question like "How do I do a peek in C?" is diagnostic of the newbie. Of course, operating system kernels often have to do exactly this; a real C hacker would unhesitatingly, if unportably, assign an absolute address to a pointer variable and indirect through it.

[Jargon File]

Last updated: 1995-01-31

PEEL

Used to implement version of Emacs on PRIME computers.

peephole optimisation

<compiler>

A kind of low-level code optimisation that considers only a few adjacent machine code instructions at a time and looks for certain combinations which can be replaced with more efficient sequences. E.g.

 ADD R0, #1
 ADD R0, #1

(add one to register R0) could be replaced by

 ADD R0, #2

as long as there were no jumps to the second instruction.

Last updated: 2008-11-17

peephole optimization

peephole optimisation

peer

<networking>

A unit of communications hardware or software that is on the same protocol layer of a network as another. A common way of viewing a communications link is as two protocol stacks, which are actually connected only at the very lowest (physical) layer, but can be regarded as being connected at each higher layer by virtue of the services provided by the lower layers. Peer-to-peer communication refers to these real or virtual connections between corresponding systems in each layer.

To give a simple example, when two people talk to each other, the lowest layer is the physical layer which concerns the sound pressure waves travelling from mouth to ear (so mouths and ears are peers) the next layer might be the speech and hearing centres in the people's brains and the top layer their cerebellums or minds. Although, barring telepathy, nothing passes directly between the two minds, there is a peer-to-peer communication between them.

Last updated: 2007-03-27

peer-to-peer

<networking>

1. The kind of communication found in a system using layered protocols. Each software or hardware component can be considered to communicate only with its peer in the same layer via the connection provided by the lower layers.

Last updated: 1994-12-14

2. A decentralised file sharing system like BitTorrent, Gnutella or Kazaa where computers that download data also store that data and serve it to other downloaders. This increases the total bandwidth available in proportion to the number of users and so reduces download time. It also improves resilience by providing multiple redundant sources for the same data. This contrasts with client-server where all clients download the data from a single server (or mirror), sharing its fixed bandwidth.

Peer-to-peer networks are typically ad-hoc and rely on users sharing the content they have downloaded for the benefit of other users. Users who fail to do this are called "leaches". A "seed" is a node on a peer-to-peer network that is sharing a complete copy of a file, as opposed to other nodes that may only have some of the parts into which the file has been split.

Last updated: 2010-02-20

peer-to-peer network

peer-to-peer

Pegasus

<networking, product>

1. A product to support Internet searches, electronic mail, and Usenet news.

[Details? Addesss?]

Last updated: 1997-07-14

<project>

2. An open source project run by The Open Group which implements a Common Information Model (CIM) Object Manager.

Pegasus Home.

Last updated: 2003-06-07

PEIPA

Pilot European Image Processing Archive

PEM

Privacy Enhanced Mail

PENCIL

Pictorial ENCodIng Language. On-line system to display line structures. Sammet 1969, 675.

pencil and paper

An archaic information storage and transmission device that works by depositing smears of graphite on bleached wood pulp. More recent developments in paper-based technology include improved "write-once" update devices which use tiny rolling heads similar to mouse balls to deposit coloured pigment. All these devices require an operator skilled at so-called "handwriting" technique. These technologies are ubiquitous outside hackerdom, but nearly forgotten inside it. Most hackers had terrible handwriting to begin with, and years of keyboarding tend to have encouraged it to degrade further. Perhaps for this reason, hackers deprecate pencil-and-paper technology and often resist using it in any but the most trivial contexts.

[Jargon File]

Last updated: 1994-12-06

penis war

<jargon, abuse>

(Or "Dick Size War", "DSW") Any argument which has degenerated into quantitative boasting of the sort "My [program|bot|etc.] is [faster|meaner|etc.] than yours!". Generally as unconstructive (and with as little emphasis on empirical proof) as men debating who has the biggest penis.

The term is often used on IRC, alt.sysadmin.recovery, and sometimes applied to IRC botwars, because of their equally pointless nature.

Last updated: 1999-07-14

Pentium

<processor>

Intel's superscalar successor to the 486. It has two 32-bit 486-type integer pipelines with dependency checking. It can execute a maximum of two instructions per cycle. It does pipelined floating-point and performs branch prediction. It has 16 kilobytes of on-chip cache, a 64-bit memory interface, 8 32-bit general-purpose registers and 8 80-bit floating-point registers. It is built from 3.1 million transistors on a 262.4 mm^2 die with ~2.3 million transistors in the core logic. Its clock rate is 66MHz, heat dissipation is 16W, integer performance is 64.5 SPECint92, floating-point performance 56.9 SPECfp92.

It is called "Pentium" because it is the fifth in the 80x86 line. It would have been called the 80586 had a US court not ruled that you can't trademark a number.

The successors are the Pentium Pro and Pentium II.

The following Pentium variants all belong to "x86 Family 6", as reported by "Microsoft Windows" when identifying the CPU:

 Model  Name
 1      Pentium Pro
 2      ?
 3      Pentium II
 4      ?
 5, 6   Celeron or Pentium II
 7      Pentium III
 8      Celeron uPGA2 or Mobile Pentium III

A floating-point division bug was discovered in October 1994.

[Internal implementation, "Microprocessor Report" newsletter, 1993-03-29, volume 7, number 4].

[Pentium based computers, PC Magazine, 1994-01-25].

Last updated: 2003-09-30

Pentium 2

Pentium II

Pentium 3

Pentium III

Pentium II

<processor>

Intel Corporation's successor to the Pentium Pro.

The Pentium II can execute all the instructions of all the earlier members of the Intel 80x86 processor family. There are four versions targetted at different user markets. The Celeron is the simplest and cheapest. The standard Pentium II is aimed at mainstream home and business users. The Pentium II Xeon is intended for higher performance business servers. There is also a mobile version of the Pentium II for use in portable computers.

All versions of the Pentium II are packaged on a special daughterboard that plugs into a card-edge processor slot on the motherboard. The daughterboard is enclosed within a rectangular black box called a Single Edge Contact (SEC) cartridge. The budget Celeron may be sold as a card only without the box. Consumer line Pentium II's require a 242-pin slot called Slot 1. The Xeon uses a 330-pin slot called Slot 2. Intel refers to Slot 1 and Slot 2 as SEC-242 and SEC-330 in some of their technical documentation. The daughterboard has mounting points for the Pentium II CPU itself plus various support chips and cache memory chips. All components on the daughterboard are normally permanently soldered in place. Previous generation Socket 7 motherboards cannot normally be upgraded to accept the Pentium II, so it is necessary to install a new motherboard.

All Pentium II processors have Multimedia Extensions (MMX) and integrated Level One and Level Two cache controllers. Additional features include Dynamic Execution and Dual Independent Bus Architecture, with separate 64 bit system and cache busses. Pentium II is a superscalar CPU having about 7.5 million transistors.

The first Pentium II's produced were code named Klamath. They were manufactured using a 0.35 micron process and supported clock rates of 233, 266, 300 and 333 MHz at a bus speed of 66 MHz. Second generation Pentium II's, code named Deschutes, are made with a 0.25 micron process and support rates of 350, 400 and 450 MHz at a bus speed of 100 MHz.

http://intel.com/PentiumII/.

Last updated: 1998-10-06

Pentium III

<processor>

The microprocessor that was Intel Corporation's successor to the Pentium II, introduced in 1999 with a 500 MHz clock rate. The Pentim III is very similar to the Pentium II in architecture. Its external bus can be clocked at 100 or 133 MHz, it can have up to 512 KB of secondary cache, and it comes in various packages including SECC2 and FC-PGA.

The Pentium III has a P6 Dynamic Execution microarchitecture, a multi-transaction system bus, and MMX, like the Pentium II. It adds Dual Independent Bus (DIB) Architecture, the Intel Processor Serial Number, Internet Streaming SIMD Extensions and 70 new instructions. Some versions also include an Advanced Transfer Cache and Advanced System Buffering.

When Intel released a 1.13 GHz version of the Pentium III processor using a 0.18 micron fabrication process on 2000-07-31, it was the world's highest performance microprocessor for PCs.

http://intel.com/PentiumIII.

Last updated: 2000-10-05

Pentium II Xeon

<processor>

The successor to Intel Corporation's Pentium II processor.

The Xeon has the same P6 core as existing Pentium Pro/Pentium II units, but it supports a 100 MHz system bus and offers as much as 2 MB of level 2 cache.

http://intel.com/PentiumII/xeon/home.htm.

Last updated: 1998-09-09

Pentium Pro

<processor>

(Known as "P6" during development) Intel's successor to the Pentium processor, in development Jan 1995, generally available 1995-11-01. The P6 has an internal RISC architecture with a CISC-RISC translator, 3-way superscalar execution, and out-of order execution (or "speculative execution", which Intel calls "Dynamic Execution"). It also features branch prediction and register renaming, and is superpipelined (14 stages).

The P6 is made as a two-chip assembly: the first chip is the CPU and 16 kilobyte first-level cache (5.5 million transistors) and the other is a 256 (or 512) kilobyte second-level cache (15 million transistors). The first version has a clock rate of 133 Mhz and consumes about 20W of power. It is about twice as fast as the 100 MHz Pentium. The original 0.35 micron versions of the Pentium Pro released on 1995-11-01 run at 150 and 166 Mhz for desktop machines and up to 200 Mhz for servers. Heat disspation is about 20 Watts.

The Pentium Pro is optimised for 32-bit software and runs 16-bit software slower than the original Pentium. The successor was the Pentium II.

[Performance?]

Last updated: 1996-03-01

peon

<jargon>

A person with no special (root or wheel) privileges on a computer system. "I can't create an account on foovax for you; I'm only a peon there."

[Jargon File]

Last updated: 2001-12-23

PeopleSoft

<application, company>

A company selling web-based ERP systems. Originally PeopleSoft supplied human resource management systems, they now provide financial data management, customer relationship management, supply chain management, workforce management, and data analytics systems.

http://peoplesoft.com/.

Last updated: 2003-06-01

PEP

peak envelope power

Pepper

<language>

A variant of POP-11 by Chris Dollin <[email protected]>.

Last updated: 2002-05-26

PEPsy

Prolog extended with parallel modules within which explicit OR-parallelism can be used.

["PEPsy: A Prolog for Parallel Processing", M. Ratcliffe et al, ECRC TR CA-17, 1986].

PER

<networking>

1. Packed Encoding Rules.

<mathematics>

2. partial equivalence relation.

Last updated: 1998-05-27

percent

%

Common: ITU-T: percent sign; mod; grapes. INTERCAL: double-oh-seven.

Last updated: 1995-03-06

Perceptional Adaptive Subband Coding

<audio, compression>

(PASC) A version of MPEG-1 Layer 1 used for the Philips Digital Compact Cassette DCC.

Last updated: 2001-12-13

perceptron

1. A single McCulloch-Pitts neuron.

2. A network of neurons in which the output(s) of some neurons are connected through weighted connections to the input(s) of other neurons. A multilayer perceptron is a specific instance of this.

percussive maintenance

<jargon>

The fine art of whacking a device to get it working, possibly using a fine adjuster.

Last updated: 1999-01-15

perf

chad

perfect programmer syndrome

Arrogance; the egotistical conviction that one is above normal human error. Most frequently found among programmers of some native ability but relatively little experience (especially new graduates; their perceptions may be distorted by a history of excellent performance at solving toy problems). "Of course my program is correct, there is no need to test it." "Yes, I can see there may be a problem here, but *I'll* never type "rm -r /" while in root mode."

[Jargon File]

PERFORM

<programming>

A COBOL statement used for executing "paragraphs".

[What's a paragraph?]

Last updated: 1997-06-10

period

<data>

1. The time between repetitions of any cyclic event or phenomenon such as an electromagnetic wave or planetary orbit. Period is the reciprocal of frequency.

<character>

2. American for full stop.

Last updated: 2010-07-25

periodic group

<database>

(PE) Groups of logically related fields which occur multiple times within a group.

Periodic groups are a non-relational technique. An example of a PE would be for storing the history of a person's name changes, where name was kept in logically related fields such as surname, first name and middle name - with the person having changed their name more than once.

[Clarification?]

Last updated: 1995-10-30

peripheral

<hardware>

(Or "peripheral device", "device") Any part of a computer other than the CPU or working memory, i.e. disks, keyboards, monitors, mice, printers, scanners, tape drives, microphones, speakers, cameras, to list just the less exotic ones.

High speed working memory, such as RAM, ROM or, in the old days, core would not normally be referred to as peripherals. The more modern term "device" is also more general in that it is used for things such as a pseudo-tty, a RAM drive, or a network adapter.

Some argue that, since the advent of the personal computer, the motherboard, hard disk, keyboard, mouse, and monitor are all parts of the base system, and only use the term "peripheral" for optional additional components.

Last updated: 2002-09-03

Peripheral Component Interconnect

<hardware>

(PCI) A standard for connecting peripherals to a personal computer, designed by Intel and released around Autumn 1993. PCI is supported by most major manufacturers including Apple Computer. It is technically far superior to VESA's local bus. It runs at 20 - 33 MHz and carries 32 bits at a time over a 124-pin connector or 64 bits over a 188-pin connector. An address is sent in one cycle followed by one word of data (or several in burst mode).

PCI is used in systems based on Pentium, Pentium Pro, AMD 5x86, AMD K5 and AMD K6 processors, in some DEC Alpha and PowerPC systems, and probably Cyrix 586 and Cyrix 686 systems. However, it is processor independent and so can work with other processor architectures as well.

Technically, PCI is not a bus but a bridge or mezzanine. It includes buffers to decouple the CPU from relatively slow peripherals and allow them to operate asynchronously.

Last updated: 1997-12-07

peripheral device

peripheral

Peripheral Technology Group

<company>

A national and international distributor of IBM PC-to-Unix and Internet connectivity products. They cater for resellers, dealers and VARs and are one of the top Seagate and Micropolis distributors in the US.

http://ptgs.com/.

Address: Eden Prairie, MN, USA (a suburb of Minneapolis).

Eden Prairie ("Silicon Prairie") is the home of Digi International, Ontrack, Open Systems, LaserMaster, Best Buy, and others.

Last updated: 1995-11-29

Perl

<language, tool>

A high-level programming language, started by Larry Wall in 1987 and developed as an open source project. It has an eclectic heritage, deriving from the ubiquitous C programming language and to a lesser extent from sed, awk, various Unix shell languages, Lisp, and at least a dozen other tools and languages. Originally developed for Unix, it is now available for many platforms.

Perl's elaborate support for regular expression matching and substitution has made it the language of choice for tasks involving string manipulation, whether for text or binary data. It is particularly popular for writing CGI scripts.

The language's highly flexible syntax and concise regular expression operators, make densely written Perl code indecipherable to the uninitiated. The syntax is, however, really quite simple and powerful and, once the basics have been mastered, a joy to write.

Perl's only primitive data type is the "scalar", which can hold a number, a string, the undefined value, or a typed reference. Perl's aggregate data types are arrays, which are ordered lists of scalars indexed by natural numbers, and hashes (or "associative arrays") which are unordered lists of scalars indexed by strings. A reference can point to a scalar, array, hash, function, or filehandle. Objects are implemented as references "blessed" with a class name. Strings in Perl are eight-bit clean, including nulls, and so can contain binary data.

Unlike C but like most Lisp dialects, Perl internally and dynamically handles all memory allocation, garbage collection, and type coercion.

Perl supports closures, recursive functions, symbols with either lexical scope or dynamic scope, nested data structures of arbitrary content and complexity (as lists or hashes of references), and packages (which can serve as classes, optionally inheriting methods from one or more other classes). There is ongoing work on threads, Unicode, exceptions, and backtracking. Perl program files can contain embedded documentation in POD (Plain Old Documentation), a simple markup language.

The normal Perl distribution contains documentation for the language, as well as over a hundred modules (program libraries). Hundreds more are available from The Comprehensive Perl Archive Network. Modules are themselves generally written in Perl, but can be implemented as interfaces to code in other languages, typically compiled C.

The free availability of modules for almost any conceivable task, as well as the fact that Perl offers direct access to almost all system calls and places no arbitrary limits on data structure size or complexity, has led some to describe Perl, in a parody of a famous remark about lex, as the "Swiss Army chainsaw" of programming.

The use of Perl has grown significantly since its adoption as the language of choice of many web developers. CGI interfaces and libraries for Perl exist for several platforms and Perl's speed and flexibility make it well suited for form processing and on-the-fly web page creation.

Perl programs are generally stored as text source files, which are compiled into virtual machine code at run time; this, in combination with its rich variety of data types and its common use as a glue language, makes Perl somewhat hard to classify as either a "scripting language" or an "applications language" -- see Ousterhout's dichotomy. Perl programs are usually called "Perl scripts", if only for historical reasons.

Version 5 was a major rewrite and enhancement of version 4, released sometime before November 1993. It added real data structures by way of "references", un-adorned subroutine calls, and method inheritance.

The spelling "Perl" is preferred over the older "PERL" (even though some explain the language's name as originating in the acronym for "Practical Extraction and Report Language"). The program that interprets/compiles Perl code is called "perl", typically "/usr/local/bin/perl" or "/usr/bin/perl".

http://perl.com/.

Usenet newsgroups: comp.lang.perl.announce, comp.lang.perl.misc.

["Programming Perl", Larry Wall and Randal L. Schwartz, O'Reilly & Associates, Inc. Sebastopol, CA. ISBN 0-93715-64-1].

["Learning Perl" by Randal L. Schwartz, O'Reilly & Associates, Inc., Sebastopol, CA].

[Jargon File]

Last updated: 1999-12-04

Perl5

<language, tool>

A commonly used but unofficial term for 5.* versions of Perl.

Last updated: 1999-12-04

perl-byacc

A modified version of byacc that generates a parser in Perl code, by Rick Ohnemus <[email protected]>. It has a "-p" switch so multiple parsers can be used in one program (C or Perl). Version 1.8.2 should work on most Unix systems. It also works with SAS/C 6.x on Amiga.

Last updated: 1993-01-24

Perl profiler

<tool>

(pprof) A tool by Anthony Iano-Fletcher of Nottingham University, UK to profile, and collate data from, Perl scripts.

Version: 1?

Source posted on comp.lang.perl in mid-June 1993.

Last updated: 1993-06-17

permanent link

<web>

A URL that always points to the same piece of web content. Web pages that appear for a limited time at their main URL, such as web logs or news sites, often display an alternative, permanent link. Readers can quote, bookmark, or link to this URL in order to refer to a particular item, rather than the page displaying the latest item.

For example, the URL http://news.bbc.co.uk/ points to the latest news from the BBC whereas http://news.bbc.co.uk/1/2614839.stm is a permanent link to a particular news story.

Last updated: 2003-12-27

Permanent Virtual Circuit

<networking>

(PVC, or in ATM terminology, "Permanent Virtual Connection") A virtual circuit that is permanently established, saving the time associated with circuit establishment and tear-down.

Last updated: 1997-10-06

Permanent Virtual Connection

Permanent Virtual Circuit

permission

<file system>

(Or "file mode") The ability to access (read, write, execute, traverse, etc.) a file or directory. Depending on the operating system, each file may have different permissions for different kinds of access and different users or groups of users.

chmod ("change mode") is the UNIX command to change permissions.

Last updated: 2000-12-07

permutation

<mathematics>

1. An ordering of a certain number of elements of a given set.

For instance, the permutations of (1,2,3) are (1,2,3) (2,3,1) (3,1,2) (3,2,1) (1,3,2) (2,1,3).

Permutations form one of the canonical examples of a "group" - they can be composed and you can find an inverse permutation that reverses the action of any given permutation.

The number of permutations of r things taken from a set of n is

 n P r = n! / (n-r)!

where "n P r" is usually written with n and r as subscripts and n! is the factorial of n.

What the football pools call a "permutation" is not a permutation but a combination - the order does not matter.

2. A bijection for which the domain and range are the same set and so

f(f'(x)) = f'(f(x)) = x.

Last updated: 2001-05-10

perplexity

The geometric mean of the number of words which may follow any given word for a certain lexicon and grammar.

persistence

<programming>

1. A property of a programming language where created objects and variables continue to exist and retain their values between runs of the program.

<hardware>

2. The length of time a phosphor dot on the screen of a cathode ray tube will remain illuminated after it has been energised by the electron beam. Long-persistence phosphors reduce flicker, but generate ghost-like images that linger on screen for a fraction of a second.

Last updated: 1994-11-09

persistent

persistence

Persistent Functional Language

<language, database>

(PFL) A functional database language developed by Carol Small at Birkbeck College, London, UK and Alexandra Poulovassilis (now at King's College London).

In PFL, functions are defined equationally and bulk data is stored using a special class of functions called selectors. PFL is a lazy language, supports higher-order functions, has a strong polymorphic type inference system, and allows new user-defined data types and values. All functions, types and values persist in a database. Functions can be written which update all aspects of the database: by adding data to selectors, by defining new equations, and by introducing new data types and values.

PFL is "semi-referentially transparent", in the sense that whilst updates are referentially opaque and are executed destructively, all evaluation is referentially transparent. Similarly, type checking is "semi-static" in the sense that whilst updates are dynamically type checked at run time, expressions are type checked before they are evaluated and no type errors can occur during their evaluation.

["A Functional Approach to Database Updates", C. Small, Information Systems 18(8), 1993, pp. 581-95].

Last updated: 1995-04-27

persistent memory

non-volatile storage

Personal Communication Network

<networking>

(PCN) Any network supporting Personal Communication Service (PCS). Also, sometimes used to refer to the specific implementation (using the GSM-derivative DCS-1800) of initial PCS capabilities in the United Kingdom.

Last updated: 1996-08-23

Personal Communication Services

<communications>

(PCS) Telecommunications services that bundle voice communications, numeric and text messaging, voice-mail and various other features into one device, service contract and bill. PCS are carried over cellular links, most often digital.

Last updated: 1996-08-01

personal computer

<computer>

(PC) A general-purpose single-user microcomputer designed to be operated by one person at a time.

This term and the concept has been successfully hijacked by IBM due to the huge market share of the IBM PC, despite its many obvious weaknesses when compared to other equally valid claimants to the term, e.g. the Acorn Archimedes, Amiga, Atari, Macintosh.

Last updated: 1994-11-02

Personal Computer Memory Card International Association

<body, hardware, standard>

(PCMCIA, or "PC Card") An international trade association and the standards they have developed for devicies, such as modems and external hard disk drives, that can be plugged into notebook computers. A PCMCIA card is about the size of a credit card.

For some unfathomable reason, around 1995(?) they decided to rename PCMCIA cards "PC Cards", perhaps to encourage sales to confused purchasers.

ftp://ftp.sidewinder.com/pub/Portables/PCMCIA.

Address: PCMCIA Administration, 1030 East Duane Avenue, Suite G, Sunnyvale, CA 94086 USA.

Telephone: +1 (408) 720 0107. Fax: +1 (408) 720 9416. BBS: +1 (408) 720 9388.

Last updated: 1996-10-16

Personal Digital Assistant

<computer>

(PDA) A small hand-held computer typically providing calendar, contacts, and note-taking applications but may include other applications, for example a web browser and media player. Small keyboards and pen-based input systems are most commonly used for user input.

The Apple Newton was a fairly early example.

[First? Notable examples? Current Best?]

Last updated: 2002-09-03

Personal Identification Number

<security>

(PIN, "PIN number") A password, typically four digits entered through a telephone keypad or automatic teller machine.

Last updated: 1996-11-03

Personalized Array Translator

<language>

(PAT) A small subset of APL.

E-mail: <[email protected]>.

[Sammet 1969, p. 252].

Last updated: 1998-05-09

person of no account

(University of California at Santa Cruz) Used when referring to a person with no network address, frequently to forestall confusion. Most often as part of an introduction: "This is Bill, a person of no account, but he used to be [email protected]".

Compare return from the dead.

[Jargon File]

Last updated: 1994-11-22

perspective

<games>

In computer games, the virtual position from which the human player views the playing area. There are three different perspectives: first person, second person, and third person.

First person perspective: Viewing the world through the eyes of the primary character in three dimensions. e.g. Doom, Quake.

Second person perspective: Viewing the game through a spectator's eyes, in two or three dimensions. Depending on the game, the main character is always in view. e.g. Super Mario Bros., Tomb Raider.

Third person perspective: a point of view which is independent of where characters or playing units are. The gaming world is viewed much as a satellite would view a battlefield. E.g. Warcraft, Command & Conquer.

Last updated: 1997-06-19

PERT

Program Evaluation and Review Technique

pessimal

/pes'im-l/ (Latin-based antonym for "optimal") Maximally bad. "This is a pessimal situation." Also "pessimise" To make as bad as possible. These words are the obvious Latin-based antonyms for "optimal" and "optimise", but for some reason they do not appear in most English dictionaries, although "pessimise" is listed in the OED.

[Jargon File]

Last updated: 1995-02-01

pessimising compiler

/pes'*-mi:z"ing k*m-pi:l"r/ (Antonym of "optimising compiler") A compiler that produces object code that is worse than the straightforward or obvious hand translation. The implication is that the compiler is actually trying to optimise the program, but through excessive cleverness is doing the opposite. A few pessimizing compilers have been written on purpose, however, as pranks or burlesques.

Last updated: 1995-02-01

peta-

prefix

petabyte

<unit, data>

(PB) A unit of data equal to one quadrillion bytes but see binary prefix for other definitions. A petabyte is 10^15 bytes or 1000^5 bytes or 1000 terabytes.

As of 2013-11-05, the Internet Archive Wayback Machine contains almost two petabytes of data.

A petabyte is the amount of data that would be required to store a 2000 by 1600 pixel image of every one of the 314 million people living in the USA in 2012.

1000 petabytes are one exabyte.

See prefix.

Last updated: 2007-09-13

petaflops

<unit>

10^15 flops or 1000 teraflops.

As with flops, the term ends in S in both the singular and plural as the S stands for seconds.

The first computer to perform one petaflops was recorded in June 2008. By June 2012 there were 20.

Last updated: 2013-04-27

petdingo

<tool>

An Estelle to C++ translator.

Last updated: 1997-01-24

Peter P. Chen

<person>

The developer of the Entity-Relationship model.

Last updated: 1995-02-07

Petri net

<parallel, simulation>

A directed, bipartite graph in which nodes are either "places" (represented by circles) or "transitions" (represented by rectangles), invented by Carl Adam Petri. A Petri net is marked by placing "tokens" on places. When all the places with arcs to a transition (its input places) have a token, the transition "fires", removing a token from each input place and adding a token to each place pointed to by the transition (its output places).

Petri nets are used to model concurrent systems, particularly network protocols.

Variants on the basic idea include the coloured Petri Net, Time Petri Net, Timed Petri Net, Stochastic Petri Net, and Predicate Transition Net.

FAQ.

Last updated: 1996-09-10

PETSCII

<character>

/pet'skee/ PET ASCII. The variation (many would say perversion) of the ASCII character set used by the Commodore Business Machines' PET series of personal computers and the later Commodore 64, Commodore 16, and Commodore 128 computers. The PETSCII set used left-arrow and up-arrow (as in old-style ASCII) instead of underscore and caret, placed the unshifted alphabet at positions 65--90, put the shifted alphabet at positions 193--218, and added graphic characters.

[Jargon File]

Last updated: 1995-10-29

PEX

(PHIGS Extension to X) Extension to the X Window System providing 3d graphics support.

pf

<networking>

The country code for French Polynesia.

Last updated: 1999-01-27

PFE

<text, editor>

1. Programmer's File Editor.

<language>

2. Portable Forth Environment.

Last updated: 2000-12-07

PFL

<language>

1. A concurrent extension of ML by Holmstrom and Matthews, using CCS.

["PFL: A Functional Language for Parallel Programming", S. Holmstrom in Proc Declarative Language Workshop, London 1983].

<language, database>

2. Persistent Functional Language.

pfm

program file manager

pForth

<language>

A portable (hence the "p") ANS-standard Forth implemented in ANSI C. Phil Burk initially began developing pForth in 1994 to support ASIC development at 3DO.

Last updated: 1998-06-30

Pfortran

Parallel Fortran

PFP

Plastic Flat Package

pg

<networking>

The country code for Papua New Guinea.

Last updated: 1999-01-27

PGA

<graphics, specification>

1. Professional Graphics Adapter.

<hardware>

2. Pin Grid Array.

Last updated: 1999-08-04

PGA370

Socket 370

PGP

Pretty Good Privacy

PH

<tool>

The tool for looking up people in Eudora on the Macintosh. Equivalent to Unix's finger service.

Last updated: 1995-03-31

pH

Parallel Haskell

ph

<networking>

The country code for the Philippines.

Last updated: 1999-01-27

phacker

<communications, security>

A telephone system cracker. A phacker may attempt to gain unauthorised access to a phone system in order to make free or untraceable calls or he may disrupt, alter or illegally tap phone systems via computer.

The disruptions may include causing a phone line to be engaged so no calls go in or out, redirecting outgoing or incoming calls, as well as listening to actual calls made.

Phackers are frequently confidence tricksters or phone freaks (nuisance callers who can only relate to other people by phone). Phackers are sometimes employed by illegal enterprises to conduct business using untraceable calls, or to disrupt, or follow legal authorities' investigations. Phackers interventions may be lethal to the person being phacked.

A phacker may be a phone company employee, or usually, ex-employee who specialises in illegal phone system disruption, alteration or tapping via physically altering installations. A phacker is generally considered to be a socially and intellectually retarded cracker.

See Captain Crunch.

Last updated: 1998-08-09

phage

A program that modifies other programs or databases in unauthorised ways; especially one that propagates a virus or Trojan horse. See also worm, mockingbird. The analogy, of course, is with phage viruses in biology.

[Jargon File]

phase

1. The offset of one's waking-sleeping schedule with respect to the standard 24-hour cycle; a useful concept among people who often work at night and/or according to no fixed schedule. It is not uncommon to change one's phase by as much as 6 hours per day on a regular basis. "What's your phase?" "I've been getting in about 8 P.M. lately, but I'm going to wrap around to the day schedule by Friday." A person who is roughly 12 hours out of phase is sometimes said to be in "night mode". (The term "day mode" is also (but less frequently) used, meaning you're working 9 to 5 (or, more likely, 10 to 6).) The act of altering one's cycle is called "changing phase"; "phase shifting" has also been recently reported from Caltech.

2. "change phase the hard way": To stay awake for a very long time in order to get into a different phase.

3. "change phase the easy way": To stay asleep, etc. However, some claim that either staying awake longer or sleeping longer is easy, and that it is *shortening* your day or night that is really hard (see wrap around). The "jet lag" that afflicts travelers who cross many time-zone boundaries may be attributed to two distinct causes: the strain of travel per se, and the strain of changing phase. Hackers who suddenly find that they must change phase drastically in a short period of time, particularly the hard way, experience something very like jet lag without travelling.

phase alternating line

<television>

(PAL) The video signal format used in the UK [where else?].

PAL uses Amplitude Modulation for the video information, and Frequency Modulation for the audio information. The phase of the colour subcarrier is reversed on alternate lines which (together with the use of a delay line) allows the receiver to cancel any phase errors introduced in the path between the studio and the end-user's receiver. Such phase errors are quite common and would cause the displayed colours to shift in hue.

The US equivalent, NTSC, does not have this feature and thus requires a user control to correct for transmission phase errors, hence the mis-expansion "Never Twice the Same Colour".

Last updated: 2001-06-08

Phase Encoded

<storage>

(PE) A recording method used for 1600 BPI magnetic tapes.

Compare NRZI, GCR.

Last updated: 1996-02-03

phase of the moon

Used humorously as a random parameter on which something is said to depend. Sometimes implies unreliability of whatever is dependent, or that reliability seems to be dependent on conditions nobody has been able to determine. "This feature depends on having the channel open in mumble mode, having the foo switch set, and on the phase of the moon."

See also heisenbug.

True story: Once upon a time there was a bug that really did depend on the phase of the moon. There was a little subroutine that had traditionally been used in various programs at MIT to calculate an approximation to the moon's true phase. GLS incorporated this routine into a Lisp program that, when it wrote out a file, would print a timestamp line almost 80 characters long. Very occasionally the first line of the message would be too long and would overflow onto the next line, and when the file was later read back in the program would barf. The length of the first line depended on both the precise date and time and the length of the phase specification when the timestamp was printed, and so the bug literally depended on the phase of the moon!

The first paper edition of the Jargon File (Steele-1983) included an example of one of the timestamp lines that exhibited this bug, but the typesetter "corrected" it. This has since been described as the phase-of-the-moon-bug bug.

[Jargon File]

Last updated: 1995-02-22

phase-shift keying

<communications>

(PSK) A digital modulation scheme that conveys data by changing the phase of a carrier wave. The data can either determine the absolute phase relative to the unmodulated carrier or reference signal ("coherent phase-shift keying", CPSK) or the change in phase ("differential phase-shift keying", DPSK). The number of different phases used determines the amount of data that can be transmitted in each cycle. Each cycle can be considered to constitute one "symbol", e.g. with two possible phases, each cycle carries one bit. The more phases that are used, the less tollerant to noise the transmissions becomes.

Alternatives to PSK are amplitude-shift keying (ASK) and frequency-shift keying (FSK).

Last updated: 2010-01-26

phase space

<mathematics>

The 2n-dimensional space consisting of the possible values of (x1, x1., x2, x2., ..., xn, xn.) for a system of n first-order ordinary differential equations (or more generally, Pfaffian forms).

If n=1, the phase space is known as a phase plane.

http://mathworld.wolfram.com/PhaseSpace.html.

Last updated: 2008-05-02

phase-wrapping

(MIT) wrap around.

[Jargon File]

Last updated: 1995-02-22

PHIGS

Programmers Hierarchical Interactive Graphics System

Philip R. Bagley

<person>

A pioneer of computer document retrieval. See metadata.

Last updated: 2010-05-15

Philips

<company>

A Dutch multinational electronics company. It produces washing machines, consumer electronics, integrated circuits and light bulbs. Together with Sony they set the Compact Disc standard, especially Green Book CD-ROM. They are members of the Open Software Foundation. Philips Research Labs developed the POOL and SPL languages.

Address: Philips Research Labs, Eindhoven, Netherlands.

Last updated: 1995-02-07

Philips SCC68070

<processor>

A microprocessor which is object code compatible with the Motorola 68000. It is not a performance improvement over the 68060; it's performance rather resembles that of the 68000.

Last updated: 1995-04-22

Phil Katz

<person>

The founder of PKWARE, Inc..

Last updated: 2017-02-26

philosophy

See computer ethics, liar paradox, netiquette, proof.

phishing

<security>

("brand spoofing", "carding", after "fishing") /fishing/ Sending e-mail that claims to be from some well-known organisation, e.g. a bank, to trick the recipient into revealing information for use in identity theft. The user is told to visit a website where they are asked to enter information such as passwords, credit card details, social security or bank account numbers. The website usually looks like it belongs to the organisation in question and may silently redirect the user to the real website after collecting their data.

For example, a scam started in 2003 claimed that the user's eBay account would be suspended unless he updated his credit card information on a given website.

Last updated: 2006-01-19

PHOCUS

An object-oriented Prolog-like language.

["PHOCUS: Production Rules, Horn Clauses, Objects and Contexts in a Unification Based System", D. Chan et al, Actes du Sem Prog et Logique, Tregastel (May 1987), pp. 77-108].

Last updated: 1994-11-09

Phoenix

<operating system>

An operating system, built in BCPL on top of IBM MVT and later MVS by Cambridge University Computing Service from 1973 to 1995, which ran on the university central mainframe. All parts of the system were named after birds, including Eagle (the job scheduler, also the nearest pub), Pigeon (the mailer), GCAL (the text processor) and Wren (the command language), leading to Wren Libraries (a local pun).

Phoenix was much used by chemists in daytime and by the rest of the university in the evenings, and was only abandoned in favour of Unix in 1995; it is one reason Cambridge made little contribution to Unix until then.

Computing Service Phoenix closure memo

Last updated: 2003-12-05

phone freaking

<spelling>

It's spelled phreaking.

Last updated: 2022-09-11

phone mail

voice mail

phone phreaking

 {phreaking}

Phonetastic

<communications>

A CTI product from Callware. Phonetastic employs if-then rules and customer records to tell those receiving calls who is calling (based on ANI and DNIS) and to determine how the call should be routed, e.g. to a certain sales representative or to the general sales department; receive high-priority treatment; receive a fax-back, etc.

Last updated: 1996-12-08

Phong shading

<graphics>

A model of how light is reflected from surfaces used extensively in three dimensional graphics to generate visually realistic images.

[Details?]

Last updated: 1994-11-09

phosphor fatigue

screen saver

photo CD

<multimedia, specification, standard, storage, graphics>

A standard for storing photographic images on CD-ROM, produced by Kodak.

Kodak Photo CD page.

Last updated: 1995-12-12

Photoshop

<graphics, tool>

An image manipulation program by Adobe Systems, Inc..

http://adobe.com/Apps/Photoshop.html.

[Summary?]

Last updated: 1995-07-05

PHP

PHP: Hypertext Preprocessor

PHP: Hypertext Preprocessor

<web, programming>

(PHP) An Open Source, server-side, cross-platform, scripting language used to create dynamic web pages.

PHP can be embedded in HTML using special tags like:

 <?php echo '<p>Hello World</p>'; ?>

This is stored in a file with a ".php" extension. The web server passes the file to the PHP interpreter which executes the code in the <?php ... ?> tags. The tagged code is then replaced with its output, typically ordinary HTML, in the response sent to the web browser.

PHP is a recursive acronym.

PHP Home.

Cheat sheet.

Last updated: 2010-03-20

phpmyadmin

<software, database, tool>

A free web interface for MySQL administration, written in PHP.

Home.

Last updated: 2020-06-14

phreak

 <jargon> A person who engages in {phreaking} or an act of {phreaking}.

 (2022-09-11)

phreaking

<jargon>

/freek'ing/ "phone phreak" 1. The art and science of cracking the telephone network so as, for example, to make free long-distance calls.

2. By extension, security-cracking in any other context (especially, but not exclusively, on communications networks).

At one time phreaking was a semi-respectable activity among hackers; there was a gentleman's agreement that phreaking as an intellectual game and a form of exploration was OK, but serious theft of services was taboo. There was significant crossover between the hacker community and the hard-core phone phreaks who ran semi-underground networks of their own through such media as the legendary "TAP Newsletter".

This ethos began to break down in the mid-1980s as wider dissemination of the techniques put them in the hands of less responsible phreaks. Around the same time, changes in the phone network made old-style technical ingenuity less effective as a way of hacking it, so phreaking came to depend more on overtly criminal acts such as stealing phone-card numbers.

The crimes and punishments of gangs like the "414 group" turned that game very ugly. A few old-time hackers still phreak casually just to keep their hand in, but most these days have hardly even heard of "blue boxes" or any of the other paraphernalia of the great phreaks of yore.

[Jargon File]

Last updated: 1994-11-09

physical

<jargon>

The opposite of logical in its jargon sense. Compare real, virtual, and transparent.

It is said that what you can touch and see is real; what you can see but not touch is virtual; what you can touch but not see is transparent; and what you can neither touch nor see is probably imaginary.

Last updated: 2001-10-26

physical address

<memory management>

The address presented to a computer's main memory in a virtual memory system, in contrast to the virtual address which is the address generated by the CPU. A memory management unit translates virtual addresses into physical addresses.

Last updated: 1995-03-31

physical addressing

<networking>

The low level addressing scheme used on Ethernet. The 48-bit destination Ethernet address in a packet is compared with the receiving node's Ethernet address.

Compare IP address.

Last updated: 1994-12-23

physical file

<file system>

A low-level view of the physical characteristics of a file, such as its location on a disk or its physical structure, for example, whether indexed or sequential.

Last updated: 2004-12-23

physical layer

<networking>

Layer one, the lowest layer in the OSI seven layer model. The physical layer encompasses details such as electrical and mechanical connections to the network, transmission of binary data as changing voltage levels on wires or similar concepts on other connectors, and data rates.

The physical layer is used by the data link layer.

Example physical layer protocols are CSMA/CD, token ring and bus.

Last updated: 2004-06-29

physical memory

<memory management>

The memory hardware (normally RAM) installed in a computer. The term is only used in contrast to virtual memory.

Last updated: 1996-03-23

physical memory address

physical address

Physical Sequential

<file format>

(PS, QSAM, Queued Sequential Access Method) The simplest data set on an IBM mainframe. Sequential files can only be read or written from the beginning: they do not support random access.

[Why "Queued"?]

Last updated: 2003-12-05

Physical Transport Network

<communications>

(PTN) The actual hardware through which data transfer devices are connected.

Virtual Circuits may be leased by the owner of the physical network to organisations which cannot afford the high costs of laying long distance cable.

Last updated: 2003-11-23

Physics Analysis Workbench

<tool>

(PAW) A general purpose portable tool for analysis and presentation of physics data.

Last updated: 1994-11-28

PI

<programming>

An interface between Prolog application programs and the X Window System that aims to be independent from the Prolog engine, provided that it has a Quintus foreign function interface (e.g. SICStus and YAP). PI is mostly written in Prolog and is divided in two libraries: Edipo - the lower level interface to the Xlib functions; and Ytoolkit - the higher level user interface toolkit.

ftp://ftp.ncc.up.pt/pub/prolog/ytoolkit.tar.Z.

E-mail: Ze' Paulo Leal <[email protected]>.

Last updated: 1993-03-02

pi

<character>

1. The greek lower-case letter P.

<mathematics>

2. The mathematical constant that is the circumference of a circle divided by its diameter. Pi is written as the greek character pi.

Some have suggested that pi is the wrong choice and a better constant to describe the geometry of circles would have been 2*pi, for which they have proposed the name tau. Most practising mathematicians think this is silly. The xkcd comic strip proposed a compromise between pi and tau, namely 1.5*pi or "pau".

Last updated: 2013-12-09

PIC

<hardware>

1. programmable interrupt controller.

2. A graphics language by Brian Kernighan, for textually describing pictures with troff.

[Featured in "More Programming Pearls", Jon Bentley].

["PIC - A Language for Typesetting Graphics", B.W. Kernighan, Soft Prac & Exp 12(1):1-21 (Jan 1982)].

["PIC - A Graphics Language for Typesetting, Revised User Manual", Bell Labs TR 116, Dec 1984].

Last updated: 1994-10-28

3. personal intelligent communicator.

Last updated: 2001-04-30

pi-calculus

<theory>

A process algebra in which channel names can act both as transmission medium and as transmitted data. Its basic atomic actions are individual point to point communications which are nondeterministically selected and globally sequentialised.

[Details? Examples?]

Last updated: 1995-03-20

Pick BASIC

Data/BASIC

PICL

Language on Ncube or iPSC machines?

PICNIC

PEBCAK

pico-

prefix

picosecond

<unit>

10^-12 seconds.

Last updated: 1997-04-26

PICS

Platform for Internet Content Selection

PICT

<file format>

An Apple graphics format.

[Details?]

Last updated: 1997-06-06

PicTeX

A version of TeX for pictures.

ftp://june.cs.washington.edu/tex/PiCTeX.tar.Z.

pictogram

<text>

(Or "pictograph") A symbol which is a picture that represents an object or concept, e.g. a picture of an envelope used to represent an e-mail message.

Pictograms are common in everyday life, e.g. signs in public places or roads, whereas the term "icon" is specific to interfaces on computers or other electronic devices.

Pictograms are the most common kind of ideogram (symbols representing concepts), the other kind are not pictures but are conventions.

Last updated: 2014-07-30

pictograph

pictogram

Pictorial Janus

K. Kahn, Xerox. Visual extension of Janus. Requires Strand88 and a PostScript interpreter.

picture

image

picture element

<graphics>

(pixel) The smallest resolvable rectangular area of an image, either on a screen or stored in memory. Each pixel in a monochrome image has its own brightness, from 0 for black to the maximum value (e.g. 255 for an eight-bit pixel) for white. In a colour image, each pixel has its own brightness and colour, usually represented as a triple of red, green and blue intensities (see RGB).

Compare voxel.

Last updated: 1998-05-08

Picture Quality Scale

<graphics>

(PQS) A system for rating image quality based upon features of images that affect their perception by the human eye, rather than the traditional signal-to-noise ratio which examines differences for every single pixel.

[Details?]

Last updated: 1995-01-12

PID

process identifier

pidgen+

<language>

A language for the Apple II.

ftp://ftp.wustl.edu/system/apple2/Lang/pidgen/.

[Published in Dr. Dobbs Journal?]

Last updated: 1994-11-29

Pidgin

<software, communications>

A text chat application that work with many different chat systems at the same time. Systems it works with include AOL Instant Messenger, Yahoo! Messenger, Windows Live Messenger, IRC and Facebook. There are plug-ins to add even more systems, e.g. Skype and to add features.

Pidgin was first released in 1998. The name "Pidgin" was applied in 2007. It is available for several operating systems. It is licensed under the GNU General Public License.

The name "Pidgin" comes from the term for a simplified human language that evolves from two or more languages.

Pidgin Home.

Last updated: 2012-04-15

PIE

A language from CMU similar to Actus.

Last updated: 1994-11-29

pif

Program Information File

piggybacking

1. A method for passing acknowledgement frames and data frames in the same direction along a line.

2. The practice of increasing memory capacity by soldering chips on top of other chips. The chip-enable or high address pins would be connected to the address bus by a flying lead. Many Ohio Superboards were expanded to a massive 8K of RAM in this way.

Last updated: 1994-11-29

pig, run like a

To run very slowly on given hardware, said of software. Distinct from hog.

[Jargon File]

Last updated: 1994-11-29

PIGUI

Platform Independent Graphical User Interface

PIL

Procedure Implementation Language.

A subsystem of DOCUS.

[Sammet 1969, p.678].

Last updated: 1994-11-29

PILE

1. Polytechnic's Instructional Language for Educators. Similar in use to an enhanced PILOT, but structurally more like Pascal with Awk-like associative arrays (optionally stored on disk). Distributed to about 50 sites by Initial Teaching Alphabet Foundation for Apple II and CP/M.

["A Universal Computer Aided Instruction System," Henry G. Dietz & Ronald J Juels, Proc Natl Educ Computing Conf '83, pp.279-282].

<language, music>

2. ["PILE _ A Language for Sound Synthesis", P. Berg, Computer Music Journal 3.1, 1979].

Last updated: 1999-06-04

PIL/I

Variant of JOSS. Sammet 1969, p.217.

PILOT

Programmed Inquiry Learning Or Teaching. CAI language, many versions. "Guide to 8080 PILOT", J. Starkweather, Dr Dobb's J (Apr 1977).

pilot error

<jargon>

(Sun, from aviation) A user's misconfiguration or misuse of a piece of software, producing apparently bug-like results.

E.g. "Joe Luser reported a bug in sendmail that causes it to generate bogus headers." "That's not a bug, that's pilot error. His "sendmail.cf" is hosed."

Compare UBD.

[Jargon File]

Last updated: 1994-12-05

Pilot European Image Processing Archive

(PEIPA) An archive devoted to image processing, computer vision, and computer graphics. It includes software, images, reference material, and miscellaneous goodies.

The archive is funded by the British Machine Vision Association (BMVA) and the University of Essex and is closely associated with the Pixel mailing list and Technical Committee 5 (Benchmarking and Software) of the IAPR.

http://peipa.essex.ac.uk/.

PIM

1. Personal Information Manager.

2. Product Information Management.

Last updated: 1997-02-11

PIN

Personal Identification Number

PINBOL

<language, games>

A decision table language for controlling pinball machines used at Atari. PINBOL included a multitasking executive and an interpreter that worked on data structures compiled from condition:action lists.

Last updated: 1996-11-03

Pine

Program for Internet News & Email. A tool for reading, sending, and managing electronic messages. It was designed specifically with novice computer users in mind, but can be tailored to accommodate the needs of "power users" as well. Pine uses Internet message protocols (e.g. RFC 822, SMTP, MIME, IMAP, NNTP) and runs under Unix and MS-DOS.

The guiding principles for Pine's user-interface were: careful limitation of features, one-character mnemonic commands, always-present command menus, immediate user feedback, and high tolerance for user mistakes. It is intended that Pine can be learned by exploration rather than reading manuals. Feedback from the University of Washington community and a growing number of Internet sites has been encouraging.

Pine's message composition editor, Pico, is also available as a separate stand-alone program. Pico is a very simple and easy-to-use text editor offering paragraph justification, cut/paste, and a spelling checker.

Pine features on-line help; a message index showing a message summary which includes the status, sender, size, date and subject of messages; commands to view and process messages; a message composer with easy-to-use editor and spelling checker; an address book for saving long complex addresses and personal distribution lists under a nickname; message attachments via Multipurpose Internet Mail Extensions; folder management commands for creating, deleting, listing, or renaming message folders; access to remote message folders and archives via the Interactive Mail Access Protocol as defined in RFC 1176; access to Usenet news via NNTP or IMAP.

Pine, Pico and UW's IMAP server are copyrighted but freely available.

Unix Pine runs on Ultrix, AIX, SunOS, SVR4 and PTX. PC-Pine is available for Packet Driver, Novell LWP, FTP PC/TCP and Sun PC/NFS. A Microsoft Windows/WinSock version is planned, as are extensions for off-line use.

Pine was originally based on Elm but has evolved much since ("Pine Is No-longer Elm"). Pine is the work of Mike Seibel, Mark Crispin, Steve Hubert, Sheryl Erez, David Miller and Laurence Lundblade (now at Virginia Tech) at the University of Washington Office of Computing and Communications.

ftp://ftp.cac.washington.edu/mail/pine.tar.Z. telnet://demo.cac.washington.edu/ (login as "pinedemo").

E-mail: <[email protected]>, <[email protected]>, <[email protected]>.

(21 Sep 93)

pin feed

sprocket feed

ping

<networking, tool>

(ping, originally contrived to match submariners' term for the sound of a returned sonar pulse) A program written in 1983 by Mike Muuss (who also wrote TTCP) used to test reachability of destinations by sending them one, or repeated, ICMP echo requests and waiting for replies. Since ping works at the IP level its server-side is often implemented entirely within the operating system kernel and is thus the lowest level test of whether a remote host is alive. Ping will often respond even when higher level, TCP-based services cannot.

Sadly, Mike Muuss was killed in a road accident on 2000-11-20.

The term is also used as a verb: "Ping host X to see if it is up."

The Unix command "ping" can be used to do this and to measure round-trip delays.

The funniest use of "ping" was described in January 1991 by Steve Hayman on the Usenet group comp.sys.next. He was trying to isolate a faulty cable segment on a TCP/IP Ethernet hooked up to a NeXT machine. Using the sound recording feature on the NeXT, he wrote a script that repeatedly invoked ping, listened for an echo, and played back the recording on each returned packet. This caused the machine to repeat, over and over, "Ping ... ping ... ping ..." as long as the network was up. He turned the volume to maximum, ferreted through the building with one ear cocked, and found a faulty tee connector in no time.

Ping did not stand for "Packet InterNet Groper", Dave Mills offered this backronym expansion some time later.

See also ACK, ENQ, traceroute, spray.

The Story of the Ping Program.

Unix manual page: ping(8).

Last updated: 2005-06-22

ping command

ping

ping-flood

<networking>

To flood another user with ping requests.

Last updated: 1997-04-07

pinging

ping

ping-pong

<architecture>

A phenomenon which can occur in a multi-processor system with private caches where two processors are alternately caching a shared location. Each time one writes to it, it invalidates the other's copy.

Last updated: 1995-12-29

Pin Grid Array

<hardware>

(PGA) A style of integrated circuit socket or pin-out with pins laid out on a square or rectangular grid with a separation of 0.1 inch in each direction. The pins near the centre of the array are often missing.

PGA is often used on motherboards for processors, e.g. Socket 6 and Socket 8.

PPGA is "plastic PGA" (as opposed to ceramic?).

See also SPGA.

Last updated: 2000-03-09

Pink-Shirt Book

<publication>

"The Peter Norton Programmer's Guide to the IBM PC".

The original cover featured a picture of Peter Norton with a silly smirk on his face, wearing a pink shirt. Perhaps in recognition of this usage, the current edition has a different picture of Norton wearing a pink shirt.

See also book titles.

[Jargon File]

Last updated: 1995-03-28

pin-out

<hardware>

(Or "pinout") The allocation of logical functions or signals to the electrical connection points (pins) of an integrated circuit or other component or connector.

Last updated: 1996-04-04

PIO mode

programmed input/output mode

PIP

<tool>

Peripheral Interchange Program.

A program on CP/M, RSX-11, RSTS/E, TOPS-10, and OS/8 (derived from a utility on the PDP-6) that was used for file copying (and in OS/8 and RT-11 for just about every other file operation you might want to do). It is said that when the program was written, during the development of the PDP-6 in 1963, it was called ATLATL ("Anything, Lord, to Anything, Lord"; this played on the Nahuatl word "atlatl" for a spear-thrower, with connotations of utility and primitivity that were no doubt quite intentional).

See also BLT, dd, cat.

[Jargon File]

Last updated: 1995-03-28

pipe

<operating system>

1. One of Unix's buffers which can be written to by one asynchronous process and read by another, with the kernel suspending and waking up the sender and receiver according to how full the pipe is. In later versions of Unix, rather than using an anonymous kernel-managed temporary file to implement a pipe, it can be named and is implemented as a local socket pair.

<character>

2. "|" ASCII character 124. Used to represent a pipe between two processes in a shell command line. E.g.

 grep foo log | more

which feeds the output of grep into the input of more without requiring a named temporary file and without waiting for the first process to finish.

<jargon, networking>

3. A connection to a network.

See also light pipe.

Last updated: 1996-09-24

pipeline

<architecture>

A sequence of functional units ("stages") which performs a task in several steps, like an assembly line in a factory. Each functional unit takes inputs and produces outputs which are stored in its output buffer. One stage's output buffer is the next stage's input buffer. This arrangement allows all the stages to work in parallel thus giving greater throughput than if each input had to pass through the whole pipeline before the next input could enter.

The costs are greater latency and complexity due to the need to synchronise the stages in some way so that different inputs do not interfere. The pipeline will only work at full efficiency if it can be filled and emptied at the same rate that it can process.

Pipelines may be synchronous or asynchronous. A synchronous pipeline has a master clock and each stage must complete its work within one cycle. The minimum clock period is thus determined by the slowest stage. An asynchronous pipeline requires handshaking between stages so that a new output is not written to the interstage buffer before the previous one has been used.

Many CPUs are arranged as one or more pipelines, with different stages performing tasks such as fetch instruction, decode instruction, fetch arguments, arithmetic operations, store results. For maximum performance, these rely on a continuous stream of instructions fetched from sequential locations in memory. Pipelining is often combined with instruction prefetch in an attempt to keep the pipeline busy.

When a branch is taken, the contents of early stages will contain instructions from locations after the branch which should not be executed. The pipeline then has to be flushed and reloaded. This is known as a pipeline break.

Last updated: 1996-10-13

pipeline break

<architecture>

(Or "pipeline stall") The delay caused on a processor using pipelines when a transfer of control is taken. Normally when a control-transfer instruction (a branch, conditional branch, call or trap) is taken, any following instructions which have been loaded into the processor's pipeline must be discarded or "flushed" and new instructions loaded from the branch destination. This introduces a delay before the processor can resume execution.

"Delayed control-transfer" is a technique used to reduce this effect.

Last updated: 1996-10-13

Pipeline Burst Cache

<hardware, storage>

(PB Cache) A synchronous cache built from pipelined SRAM.

A cache in which reading or writing a new location takes multiple cycles but subsequent locations can be accessed in a single cycle. On Pentium systems in 1996, pipeline burst caches are frequently used as secondary caches. The first 8 bytes of data are transferred in 3 CPU cycles, and the next 3 8-byte pieces of data are transferred in one cycle each.

Last updated: 1996-10-13

pipelined

pipeline

Pipelined Burst Cache

Pipeline Burst Cache

pipeline stall

pipeline break

pipelining

pipeline

PIPEX Ltd.

UUNET PIPEX

piping

pipe

piracy

software piracy

pirate

software pirate

PIRL

Pattern Information Retrieval Language.

A language for digraph manipulation, embeddable in Fortran or ALGOL, for IBM 7094.

["PIRL - Pattern Information Retrieval Language", S. Berkowitz, Naval Ship Res Dev Ctr, Wash DC].

Last updated: 1994-11-29

pistol

[IBM] A tool that makes it all too easy for you to shoot yourself in the foot. "Unix "rm *" makes such a nice pistol!"

[Jargon File]

PIT

Language for IBM 650. (See IT).

PITA

Pain in the arse/ass.

pixel

picture element

pixels per inch

<unit, graphics>

(ppi) The unit used to measure resolution of a bitmap display or video input device.

Last updated: 2010-02-28

pixmap

(Contraction of "pixel map"). A 3 dimensional array of bits corresponding to a 2 dimensional array of pixels. It is used, for example, in the X Window System to describe a memory region where graphics can be drawn without affecting the screen. Typically this is used for the efficient handling of expose events, icon images or for animation. Compare bitmap.

[Xlib Guide].

pizza box

[Sun] The largish thin box housing the electronics in (especially Sun) desktop workstations, so named because of its size and shape and the dimpled pattern that looks like air holes.

Two megabyte single-platter removable disk packs used to be called pizzas, and the huge drive they were stuck into was referred to as a pizza oven. It's an index of progress that in the old days just the disk was pizza-sized, while now the entire computer is.

[Jargon File]

PJPEG

Progressive JPEG

PK

zip

pk

<networking>

The country code for Pakistan.

Last updated: 1999-01-27

PKE

public-key encryption

PKI

Public Key Infrastructure

PKLITE

<compression, tool>

An executable file compression utility for MS-DOS from PKWARE, Inc.. PKLITE compresses the body of the executable and adds a small, fast decompress routine in the header. In many cases it performs better than lzexe. With headpack the output is smaller and cannot be decompressed.

Last updated: 1999-01-07

PKUNZIP

<tool, compression>

A program to unpack archives created by PKZIP, written by PKWARE, Inc. and released as shareware. Versions exist for MS-DOS, Microsoft Windows and Open VMS. PKUNZIP is no longer distributed, its functions having been incorporated into PKZIP.

Last updated: 1999-01-07

PKWARE, Inc.

<company, compression>

The company, founded by Phil Katz in 1986, which produces the PKZIP and PKUNZIP compression tools and libraries for many platforms.

http://pkware.com/.

Address: 201 E. Pittsburgh Ave., Suite 400, Milwaukee, WI 53204 USA

Last updated: 1999-01-07

PKZIP

<tool>

A file compression and archiver utility for MS-DOS and Microsoft Windows from PKWARE, Inc.. PKZIP uses a variation on the sliding window compression algorithm. It comes with pkunzip and pklite and is available as shareware from most FTP archives in a self-expanding MS-DOS executable.

Current versions as of 1999-10-07: PKZIP 2.60 GUI for Microsoft Windows 3.1x, Windows 9x, Windows NT; PKZIP 2.50 Command Line for Windows 9x NT; PKZIP 2.04g for MS-DOS; PKZIP 2.51 for Unix, (Linux, SPARC Solaris, Digital, HP-UX, IBM AIX and SCO Unix); PKZIP 2.50 for OS/2; PKZIP for Open VMS/VAX.

WINZIP is a version with a GUI for Microsoft Windows.

A distribution in about 1995-06-22 claiming to be "PKZIP 3" was actually a Trojan horse which attempted to reformat the hard disk and delete all files on it.

http://pkware.com/catalog/pkzip_win.html.

[Status, history of WINZIP, PKLITE?]

Last updated: 1999-01-16

pl

<networking>

The country code for Poland.

Last updated: 1999-01-27

PL1

<spelling>

It's spelled "PL/I".

Last updated: 1996-12-13

PL/1

<spelling>

It's spelled "PL/I".

Last updated: 1996-12-13

PL-11

<language>

A high-level machine-oriented language for the PDP-11 developed by R.D. Russell of CERN in Nov 1971. It is similar to PL360 and is written in Fortran IV and cross-compiled on other machines.

Last updated: 1995-01-05

PL360

Structured assembly language for the IBM 360 and IBM 370, with a few high-level constructs. Syntactically it resembles ALGOL 60. Its grammar is defined entirely by operator precedence.

["PL/360, A Programming Language for the 360 Computers", N. Wirth, J ACM 15(1):37-74 (Jan 1968)].

Last updated: 1995-01-05

PL516

An ALGOL-like assembly language for the DDP-516, similar to PL360.

["PL 516, An ALGOL-like Assembly Language for the DDP-516", B.A. Wichmann, Natl Phys Lab UK, Report CCU 9, 1970].

Last updated: 1995-01-05

PL-6

<language>

A PL/I-like system language for the Honeywell operating system, CP-6.

Last updated: 1995-01-05

PL.8

A systems dialect of PL/I, developed originally for the IBM 801 RISC minicomputer, later used internally for IBM RT and R/6000 development.

["An Overview of the PL.8 Compiler", M. Auslander et al, Proc SIGPLAN '82 Symp on Compiler Writing].

Last updated: 1995-01-05

Pla

<language, music>

A high-level music programming language, written in SAIL. Pla includes concurrency based on message passing.

["Pla: A Composer's Idea of a Language", B. Schottstaedt, Computer Music J 7(1):11-20, Winter 1983].

Last updated: 1999-06-04

PLACE

Programming Language for Automatic Checkout Equipment.

["The Compiler for the Programming Language for Automatic Checkout Equipment (PLACE)", AFAPL TR-68-27, Battelle Inst, Columbus, May 1968].

PLAGO

A translator-interpreter for a PL/I subset. "PLAGO/360 User's Manual, Poly Inst Brooklyn.

plaid screen

[XEROX PARC] A "special effect" that occurs when certain kinds of memory smashes overwrite the control blocks or image memory of a bit-mapped display. The term "salt and pepper" may refer to a different pattern of similar origin. Though the term as coined at PARC refers to the result of an error, some of the X demos induce plaid-screen effects deliberately as a display hack.

[Jargon File]

PLAIN

Programming LAnguage for INteraction. Pascal-like, with extensions for database, string handling, exceptions and pattern matching. "Revised Report on the Programming Language PLAIN", A. Wasserman, SIGPLAN Notices 6(5):59-80 (May 1981).

plain ASCII

/playn-as'kee/ flat ASCII.

[Jargon File]

Plain Old Documentation

<text>

(pod, occasionally "POD") A simple markup language used to embed documentation, literate programming-style, in Perl programs. Pod readers and converters are part of the standard Perl distribution and the documentation provided with Perl is all in pod format.

The Pod Specification.

Last updated: 1998-12-18

Plain Old Telephone Service

<communications>

(POTS) The traditional voice service provided by phone companies, especially when opposed to data services.

Note that the acronym POTS is sometimes expanded as "Plain Old Telephone System" in which sense it is synonymous to Public Switched Telephone Network but used somewhat derogatively.

Last updated: 1998-05-18

Plain Old Telephone System

Public Switched Telephone Network

plain TeX

<publication>

Donald Knuth's original set of user-level macros for interaction with his TeX formatter. Dedicated TeX fans still prefer these over the more user-friendly LaTeX macros used by the majority of the TeX community.

Last updated: 1997-11-20

plaintext

<cryptography>

A message before encryption or after decryption, i.e. in its usual form which anyone can read, as opposed to its encrypted form ("ciphertext").

Last updated: 1995-05-10

PLAN

<language>

Programming LANguage Nineteen hundred.

The assembly language for ICL 1900 series computers.

Last updated: 1995-03-21

Plan 9

<operating system>

(Named after the classically bad, exceptionally low-budget SF film "Plan 9 from Outer Space") An operating system developed at Bell Labs by many researchers previously intimately involved with Unix.

Plan 9 is superficially Unix-like but features far finer control over the name-space (on a per-process basis) and is inherently distributed and scalable.

Plan 9 is divided according to service functions. CPU servers concentrate computing power into large multiprocessors; file servers provide repositories for storage and terminals give each user of the system a dedicated computer with bitmap screen and mouse on which to run a window system. The sharing of computing and file storage services provides a sense of community for a group of programmers, amortises costs and centralises and hence simplifies management and administration.

The pieces communicate by a single protocol, built above a reliable data transport layer offered by an appropriate network, that defines each service as a rooted tree of files. Even for services not usually considered as files, the unified design permits some simplification. Each process has a local file name space that contains attachments to all services the process is using and thereby to the files in those services. One of the most important jobs of a terminal is to support its user's customised view of the entire system as represented by the services visible in the name space.

http://plan9.bell-labs.com/plan9dist/.

Last updated: 2005-02-15

Planet

["An Experiment in Language Design for Distributed Systems", D. Crookes et al, Soft Prac & Exp 14(10):957-971 (Oct 1984)].

plan file

<operating system>

On Unix systems that support finger, the ".plan" file in a user's home directory is displayed when the user is fingered. This feature was originally intended to be used to keep potential fingerers apprised of one's location and near-future plans, but has been turned almost universally to humorous and self-expressive purposes (like a sig block). See also Hacking X for Y.

A later innovation in plan files was the introduction of "scrolling plan files" which are one-dimensional animations made using only the printable ASCII character set, carriage return and line feed, avoiding terminal specific escape sequences, since the finger command will (for security reasons; see letterbomb) not pass the escape character.

Scrolling .plan files have become art forms in miniature, and some sites have started competitions to find who can create the longest running, funniest, and most original animations. A compiler (ASP) is available on Usenet for producing them. Typical animation components include:

 Centipede:	  mmmmme
 Lorry/Truck:	  oo-oP
 Andalusian Video Snail: _@/

In the mid-1990s WWW home pages largely supplanted .plan files, providing a much richer forum for the publication of personal minutiae and digital creativity.

See also twirling baton.

[Jargon File]

Last updated: 1998-01-16

PLANIT

Programming LANguage for Interaction and Teaching. CAI language. "PLANIT - A Flexible Language Designed for Computer-Human Interaction", S.L. Feingold, Proc FJCC 31, AFIPS (Fall 1967) Sammet 1969, p.706.

Plankalkül

<language, history>

(Or "Plankalkuel" if you don't have umlauts). The first programming language, designed by Konrad Zuse, ca. 1945. Zuse wrote "Rechenplan allgemeiner Struktur" in 1944 which developed into Plankalkül. Plankalkül included arrays and records and used a style of assignment in which the new value appears on the right.

Zuse wrote Plankalkül for his Z3 computer (finished before 1945) and implemented it on there as well. Much of his work may have been either lost or confiscated in the aftermath of World War II.

ESR Plankalkül.

["The Plankalkül of Konrad Zuse", F.L. Bauer et al, CACM 15(7):678-685, Jul 1972].

Last updated: 2002-05-28

PLANNER

A language for writing theorem provers by Carl Hewitt <[email protected]> MIT 1967. Never fully implemented.

CONNIVER was an outgrowth of PLANNER and microPLANNER a subset. PLASMA is a PLANNER-like system modelled on Actors. See also POPLER, QLISP, Scheme.

["PLANNER: A Language for Proving Theorems in Robots", Carl Hewitt, Proc IJCAI-69, Wash DC, May 1969].

Planner-73

The original name for PLASMA.

PLANS

Programming Language for Allocation and Network Scheduling. A PL/I preprocessor, used for developing scheduling algorithms. "A User's Guide to the Programming Language for Allocation and Network Scheduling", H.R. Ramsey et al, TR SAI-77-068-DEN, Science Applications Inc (Jun 1977).

plants

["The Algorithmic Beauty of Plants", Przemyslaw Prusinkiewicz, Aristid Lindenmayer. New York: Springer-Verlag, 1990. 3-54097297-8].

PLASMA

PLAnner-like System Modelled on Actors. Carl Hewitt, 1975. The first actor language. Originally called Planner-73, and implemented in MacLisp. Lisp-like syntax, but with several kinds of parentheses and brackets.

["A PLASMA Primer", B. Smith et al, AI Lab Working Paper 92, MIT Oct 1975].

["Viewing Control Structures as Patterns of Passing Messages", C. Hewitt, AI Lab Memo 410, MIT 1976].

Plastic Pin Grid Array

<hardware, processor>

(PPGA) The package used for certain Intel Celeron processors. PPGA processors fit into Socket 370 motherboard sockets.

The Plastic Pin Grid Array packaging is similar to that used on Pentium processors. The silicon core is covered by a heat slug that faces down toward the motherboard.

The Celeron 300A to the 533 use a PPGA package. The Celeron 566 onward use a FC-PGA package.

Celeron processors are also available in Slot 1 SEPP packaging.

Last updated: 2000-08-26

platform

Specific computer hardware, as in the phrase "platform-independent". It may also refer to a specific combination of hardware and operating system and/or compiler, as in "this program has been ported to several platforms". It is also used to refer to support software for a particular activity, as in "This program provides a platform for research into routing protocols".

Last updated: 1994-12-07

Platform for Internet Content Selection

<web>

(PICS) A standard for metadata associated with web content, originally designed to help parents and teachers control what children access on the Internet, but also used for code signing and privacy. The PICS platform is one on which other rating services and filtering software have been built.

(http://w3.org/PICS).

Last updated: 2001-03-29

Platform Independent Graphical User Interface

(PIGUI) The PIGUI FAQ.

[Summary?]

Last updated: 1994-11-22

platinum-iridium

<standard>

A standard, against which all others of the same category are measured. Usage: silly.

The notion is that one of whatever it is has actually been cast in platinum-iridium alloy and placed in the vault beside the Standard Kilogram at the International Bureau of Weights and Measures near Paris, as the bar defining the standard metre once was.

"This garbage collection algorithm has been tested against the platinum-iridium cons cell in Paris."

Compare golden.

[Jargon File]

Last updated: 1997-02-20

Platon

Distributed language based on asynchronous message passing.

["Message Passing Communication Versus Procedure Call Communication", J. Staunstrup, Soft Prac & Exp 12(3):223-234 (Mar 1982)].

["Platon Reference Manual", S. Soerensen et al, RECAU, U Aarhus, Denmark].

PLAY

<language, music>

A language for real-time music synthesis. 1977.

["An Introduction to the Play Program", J. Chadabe ete al, Computer Music J 2,1 (1978)].

Last updated: 1999-06-04

play by electronic mail

<games>

A kind of game where the players use electronic mail to communicate. This may be done via a human moderator or an automatic mailing list exploder on some central machine or it may be fully distributed with each player just addressing his mail to all other players.

This is a natural extension of "play by mail" games conducted via snail mail.

http://fermi.clas.virginia.edu/~gl8f/pbm.html. Usenet newsgroup: rec.games.pbm.

Last updated: 1994-10-27

Playground

A visual language for children, developed for Apple's Vivarium Project. OOPSLA 89 or 90?

Play, Inc.

<company>

The company which designed and markets Snappy Video Snapshot.

http://play.com.

Last updated: 1997-07-11

playpen

(IBM) A room where programmers work.

Compare salt mines.

[Jargon File]

Playstation

<games, hardware>

The leading family of games consoles, from Sony Corporation consisting of the original Playstation (PS1) and the Playstation 2 (PS2).

The basic Playstations consist of a small box containing the processor and a DVD reader, with video outputs to connect to a TV, sockets for two game controllers, and a socket for one or two memory cards. The PS2 also has USB sockets.

The PS2 can run PS1 software because the PS2's I/O processor is the same as the PS1's CPU.

http://scea.sony.com/playstation/.

FAQ.

[Dates? Features?]

Last updated: 2003-07-29

playte

<data, jargon>

/playt/ 16 bits, by analogy with byte. Usage: rare and extremely silly.

See also dynner, crumb.

[Jargon File]

Last updated: 1997-12-03

PLC

Programmable Logic Controller

PL/C

Programming Language/Cornell

PL Cornell

Programming Language/Cornell

PLD

Programmable Logic Device

plenum cable

<hardware>

Cable that can be (legally) installed in the plenum (the space between a ceiling and the floor above it). Such cable is (usually) teflon-coated so that it will not give off toxic fumes when burned. In some parts of the world such cable is required by law.

Last updated: 1996-08-25

pleonasm

Redundancy of expression; tautology.

Last updated: 1995-03-25

plesiochronous

<communications>

Nearly synchronised, a term describing a communication system where transmitted signals have the same nominal digital rate but are synchronised on different clocks.

According to ITU-T standards, corresponding signals are plesiochronous if their significant instants occur at nominally the same rate, with any variation in rate being constrained within specified limits.

[Pronunciation? /ples'ee-oh-kroh'nus/?]

Last updated: 1995-03-02

Plesiochronous Digital Hierarchy

<communications>

(PDH) A transmission system for voice communication using plesiochronous synchronisation.

PDH is the conventional multiplexing technology for network transmission systems. The transmitter adds dummy information bits to allow multiple channels to be bit interleaved. The receiver discards these bits once the signals have been demultiplexed.

PDH combines multiple 2 Mb/s (E1) channels in Europe and 1.544 Mb/s (DS1) channels in the US and Japan.

PDH is being replaced by SONET and other SDH (Synchronous Digital Hierarchy) schemes.

Last updated: 2003-09-30

Pleuk grammar development system

<grammar, tool>

A shell for grammar development by Jo Calder <[email protected]>, Kevin Humphreys <[email protected]>, Chris Brew <[email protected]>, and Mike Reape <[email protected]>. It handles various grammatical formalisms and requires SICStus Prolog version 2.1#6 or later.

ftp://ai.uga.edu/ai.natural.language/.

E-mail: <[email protected]>.

Last updated: 2000-07-22

Plexus

A modular web server written in Perl by Tony Sanders <[email protected]>. Comes with interfaces to allow many other information services to be served via the Web.

Version 3.0m 1994-07-22.

Last updated: 1994-07-22

PL/I

<language>

Programming Language One.

An attempt to combine the best features of Fortran, COBOL and ALGOL 60. Developed by George Radin of IBM in 1964. Originally named NPL and Fortran VI. The result is large but elegant. PL/I was one of the first languages to have a formal semantic definition, using the Vienna Definition Language. EPL, a dialect of PL/I, was used to write almost all of the Multics operating system. PL/I is still widely used internally at IBM. The PL/I standard is ANS X3.53-1976.

PL/I has no reserved words. Types are fixed, float, complex, character strings with maximum length, bit strings, and label variables. Arrays have lower bounds and may be dynamic. It also has summation, multi-level structures, structure assignment, untyped pointers, side effects and aliasing. Control flow constructs include goto; do-end groups; do-to-by-while-end loops; external procedures; internal nested procedures and blocks; generic procedures and exception handling. Procedures may be declared recursive. Many implementations support concurrency ('call task' and 'wait(event)' are equivalent to fork/join) and compile-time statements.

LPI is a PL/I interpreter.

["A Structural View of PL/I", D. Beech, Computing Surveys, 2,1 33-64 (1970)].

Last updated: 1994-10-25

PL/I-FORMAC

<language>

A variant of FORMAC.

["The PL/I-FORMAC Interpreter", J. Xenakis, Proc 2nd Symp Symbolic and Algebraic Manip, ACM, Mar 1971].

[Sammet 1969, p. 486].

[Details? Relatonship to PL/I?]

Last updated: 1994-10-25

pling

<character>

exclamation mark.

Last updated: 1998-09-20

plingnet

UUCPNET. See also pling.

[Jargon File]

PLisp

1. PostScript Lisp? A Common Lisp translator and programming environment in PostScript by John Peterson <[email protected]>.

2. Pattern LISP. 1990. A pattern-matching rewrite-rule language, optimised for describing syntax translation rules. (See LISP70).

PL/I SUBSET

An early 70's version of PL/I for minicomputers.

PL/I Subset G

("General Purpose") The commercial PL/I subset, i.e. what was actually implemented by most vendors. ANS X3.74-1981.

PLITS

Programming Language In The Sky. A computational model for concurrency with communication via asynchronous message-passing.

["High Level Programming for Distributed Computing", J.A. Feldman, CACM 22(6):353- 368 (Jun 1979)].

PLL

phase-locked loop

PL/M

Programming Language/Microcomputers. MAA (later Digital Research) for Intel, 1972. A very low level language incorporating ideas from PL/I, ALGOL and XPL. Integrated macro processor. Originally the implementation language for CP/M. "PL/M-80 Programming Manual", Doc 98-268B, Intel 1976. "A Guide to PL/M Programming for Microcomputer Applications", D. McCracken, A-W 1978. Versions: PL/M-80, PL/M-86, PL/M-286.

PLMK

<chat>

please let me know.

Last updated: 1999-09-27

plokta

<jargon, humour>

/plok't*/ Press Lots Of Keys To Abort. To press random keys in an attempt to get some response from the system. One might plokta when the abort procedure for a program is not known, or when trying to figure out if the system is just sluggish or really hung. Plokta can also be used while trying to figure out any unknown key sequence for a particular operation. Someone going into "plokta mode" usually places both hands flat on the keyboard and mashes them down, hoping for some useful response.

A slightly more directed form of plokta can be seen in mail messages or Usenet articles from new users - the text might end with

       ^X^C
       q
       quit
       :q
       ^C
       end
       x
       exit
       ZZ
       ^D
       ?
       help

as the user vainly tries to find the right exit sequence, with the incorrect tries piling up at the end of the message.

[Jargon File]

Last updated: 2017-12-08

plotter

<hardware>

A device that uses one or more pens that can be raised, lowered and moved over the printing media to draw graphics or text.

The heart of the plotter is the printer head assembly, consisting of a horizontal bar and, attached to it, the head assembly holding the pen in use. The pen can be positioned horizontally by moving the pen assembly along the bar. Vertical positioning is achieved by either moving the bar (stationary page plotter) or the paper (rolling page plotter). Combinations of horizontal and vertical movement are used to draw arbitrary lines and curves in a single action, in contrast to printers which usually scan horizontally across the page.

Colour plots can be made by using more than one pen. Older plotters required a separate pen for each colour and the pens had to be changed by hand. Modern colour plotters usually use only four pens (cyan, magenta, yellow, and black, see CMYK) and need no human intervention to change them.

Monochromatic plotters have been largely phased out by laser printers except when large paper size is needed, e.g. in CAD.

Last updated: 1996-01-10

PL/P

Programming Language, Prime. Russ Barbour, PRIME Computer, late 70's. Subset of PL/I used internally for implementation of PRIMOS. (See SPL[4]).

PL/PROPHET

PL/I-like language for the PROPHET system, used by pharmacologists. "The Implementation of the PROPHET System", P.A. Castleman et al, NCC 43, AFIPS (1974).

PL/S

Programming Language/Systems

PL/Seq

Programming Language for Sequences. A DSP language. "A General High Level Language for Signal Processors", J. Skytta & O. Hyvarinen, Digital Signal Processing 84, Proc Intl Conf, Fiorence, Italy, Sep 1984, pp.217-221.

PL/SQL

Procedural Language/SQL

PLTL

Propositional Linear Temporal Logic

plug and play

<jargon>

1. Hardware or software that, after being installed ("plugged in"), can immediately be used ("played with"), as opposed to hardware or software which requires configuration.

See also turnkey, plug and pray.

2. A new recruit who needs no training. "The new guy, John, is great. He's totally plug-and-play."

Last updated: 1997-03-30

plug and pray

<humour>

The Windows 95 equivalent of the Macintosh's plug and play, referring to difficulties encountered when setting up new hardware under Windows 95.

Last updated: 1997-10-11

Plug Compatible Manufacturer

<company>

(PCM) A manufacturer of equipment that some other manufacturer's system can identify and work with. The PCM's device replaces the original manufacturer's.

Most PCMs competed with IBM. PCM devices normally offer a cost-performance benefit over the original device. For example, several PCM versions of the Direct-Access Storage Device IBM 3350 offered twice the storage and improved data access (dual port).

Plug compatible devices include replacement CPUs, such as the Hitachi 7/90 series (which could be substituted for IBM 3090 series processors), I/O subsystems, and dumb terminals like the IBM 3270.

[Used outside mainframe market?]

Last updated: 2003-06-24

Pluggable Authentication Module

<security>

(PAM) The new industry standard integrated login framework. PAM is used by system entry components, such as the Common Desktop Environment's dtlogin, to authenticate users logging into a Unix system. It provides pluggability for a variety of system-entry services. PAM's ability to stack authentication modules can be used to integrate login with different authentication mechanisms such as RSA, DCE and Kerberos, and thus unify login mechanisms. PAM can also integrate smart card authentication.

White paper.

[OSF-RFC 86.0 V. Samar, R. Schemers, "Unified Login with Pluggable Authentication Modules (PAM)", Oct 1995].

Last updated: 1997-07-18

plugh

<games>

/ploogh/ A magic word from the ADVENT game.

[Jargon File]

Last updated: 1996-04-01

plug-in

<tool>

A file containing data used to alter, enhance, or extend the operation of a parent application program. One of the first uses of this term was in Silicon Beach's SuperPaint application (late 1980s?) for the Macintosh. It had a Plug-ins folder containing different tools and effects.

The Netscape Navigator web browser supports plug-ins which display or interpret a particular file format or protocol such as Shockwave, RealAudio, Adobe Systems, Inc. PDF, Corel CMX (vector graphics). The file to be displayed is included in a web page using an EMBED HTML tag.

Plug-ins, both commercially and indepently authored, can usually be downloaded for free and are stored locally. Plug-ins come in different versions specific to particular operating systems (Microsoft Windows 3.1, 3.2, and Macintosh are available).

Compare applet.

Plug-in Plaza.

PC Mag Plug-ins.

Last updated: 1996-05-25

PLUM

A compiler for a substantial subset of PL/I for the Univac 1100, from the University of Maryland.

["PL/I Programming with PLUM", M.V. Zelkowitz, Paladin House, 1978].

Last updated: 1995-02-23

Plumber

<programming, tool>

A system for obtaining information about memory leaks in Ada and C programs.

http://home.earthlink.net/~owenomalley/plumber.html.

(17 Feb 1999)

plumbing

(Unix) Term used for shell code, so called because of the prevalence of "pipelines" that feed the output of one program to the input of another. Under Unix, user utilities can often be implemented or at least prototyped by a suitable collection of pipelines and temporary file grinding encapsulated in a shell script. This is much less effort than writing C every time, and the capability is considered one of Unix's major winning features. A few other operating systems such as IBM's VM/CMS support similar facilities.

The tee utility is specifically designed for plumbing.

[Jargon File]

Last updated: 1995-02-23

Plural EuLisp

EuLisp with parallel extensions. "Collections and Garbage Collection", S.C. Merall et al, in Memory Management - IWMM92, Springer 1992, pp.473-489.

PLUS

Late 60's. Machine-oriented systems language used internally by Univac.

plus

<character>

"+", ASCII character 43, 0x2B. The mathematical symbol for the addition operator, also used with the same meaning in arithmetic expressions in nearly all programming languages.

Common names: ITU-T: plus; add. Rare: cross; INTERCAL: intersection.

In programming, the operator is sometimes overloaded to perform other tasks like concatenating strings. In the C language and its many imitators, the symbol is doubled, as in "x++" or "++x" to give an increment operator that adds one to its operand ("x" in this case) and also returns x's previous or resulting value respectively.

In a regular expression, "+" means match one or more instances of the previous pattern. Thus /b(an)+a/ would match any of "bana", "banana", "bananana", etc. (see banana problem).

Last updated: 2010-03-20

PLUSS

Proposition of a Language Useable for Structured Specifications

ply

<mathematics, data>

1. Of a node in a tree, the number of branches between that node and the root.

2. Of a tree, the maximum ply of any of its nodes.

Last updated: 1998-12-29

PM

1. preventive maintenance.

2. Presentation Manager

3. ["PM, A System for Polynomial Manipulations", G.E. Collins, CACM 9(8):578-589 (Aug 1966)].

[Jargon File]

pm

<networking>

The country code for St. Pierre and Miquelon.

Last updated: 1999-01-27

pm2

<language, compiler>

A software emulator for parallel random access machine (PRAM) and a parallel Modula-2 compiler for the emulator. pm2 programming language is Modula-2/Pascal mixture having extensions for parallel execution in a PRAM. Parallelism is expressed by pardo-loop-structure. Additional features include private/shared variables, two synchronisation strategies, load balancing and parallel dynamic memory allocation.

ftp://cs.joensuu.fi/pub/Software/pram/.

E-mail: Simo Juvaste <[email protected]>.

Last updated: 1997-06-04

P-mail

Physical mail, as opposed to e-mail. Synonymous with snail-mail.

[Jargon File]

PMBX

Private Manual Branch EXchange

PMC

PCI Mezzanine Card

PML

Parallel ML.

["Synchronous Operations as First-Class Values", J.H. Reppy <[email protected]>, Proc SIGPLAN 88 Conf Prog Lang Design and Impl, June 1988, pp. 250-259].

PMP

Portable Media Player

pn

<networking>

The country code for Pitcairn Island.

Last updated: 1999-01-27

pnambic

<jargon>

/p*-nam'bik/ (From the scene in the film, "The Wizard of Oz" in which the true nature of the wizard is first discovered: "Pay no attention to the man behind the curtain"). A term coined by Daniel Klein <[email protected]> for a stage of development of a process or function that, owing to incomplete implementation or to the complexity of the system, requires human interaction to simulate or replace some or all of its actions, inputs or outputs. The term may also be applied to a process or function whose apparent operations are wholly or partially falsified or one requiring prestidigitization.

The ultimate pnambic product was "Dan Bricklin's Demo", a program which supported flashy user-interface design prototyping.

There is a related maxim among hackers: "Any sufficiently advanced technology is indistinguishable from a rigged demo." See magic for illumination of this point.

["Open Channel", IEEE "Computer", November 1981].

[Jargon File]

Last updated: 1994-11-01

PNG

Portable Network Graphics

PNP

<electronics>

1. A type of bipolar transistor consisting of a layer of N-doped semiconductor (the "base") between two P-doped layers (the "collector" and "emitter"). PNP transistors are commonly operated with the emitter at ground and the collector at a negative voltage.

In the 1960s, the germanium PNP transistor was the cheapest and best for use at ordinary temperatures. The leakage current from collector to base in this type of device is larger than for the silicon transistor, and also varies more with temperature. The effect of these deficiencies can be lessened by proper biasing and feedback, which can make the circuit both serviceable and reliable. Neither germanium nor PNP transistors are as common today.

The voltages used on a PNP transistor are inverted when compared with vacuum tubes. Further, the behaviour of vacuum tubes is usually described in terms of voltages whereas transistors are better described in terms of current.

<architecture>

2. plug and play.

Last updated: 1997-05-05

PNU-Prolog

A parallel extension of NU-Prolog, implemented as a preproccessor.

ftp://munnari.oz.au/pub/bebop.tar.Z.

POA

Portable Object Adapter

PoB

Prisoner of Bill

POC

Point Of Contact

POCAL

PETRA Operator's CommAnd Language.

pocket calculator

<computer>

A small battery-powered digital electronic device for performing simple arithmetic operations on data input on a keypad and outputting the result (usually a single number) to a simple LCD or other display.

The most sophisticated programmable calculators are really pocket computers which are limited to handling numerical data only.

Last updated: 1996-12-23

pocket computer

palmtop

pod

Not to be confused with P.O.D..

<printer>

1. (Allegedly from abbreviation POD for "Prince Of Darkness") A Diablo 630 (or, latterly, any letter-quality impact printer). From the DEC-10 PODTYPE program used to feed formatted text to it.

<text>

2. Plain Old Documentation.

[Jargon File]

Last updated: 1998-12-18

P.O.D.

<data>

Piece Of Data (as opposed to code).

[Jargon File]

Last updated: 2000-04-08

podcast

<networking>

Any series of audio files that can be downloaded from the Internet, often released on some regular schedule, e.g. daily or weekly.

Podcasts are named after Apple Computer, Inc.'s iPod portable audio players, though most podcasts are in MP3 format and so can be played on virtually any modern audio player.

Last updated: 2009-12-16

POE

PowerOpen Environment

POFAC

A subset of Fortran.

[Mentioned in Machine Oriented Higher Level Languages, W. van der Poel, N-H 1974, p. 273].

["POFAC Description", R. Haentjens, Report 19, Cenre d'Information, Ecole Royale Militaire, Brussels, 1973].

Last updated: 1994-10-20

POFOD

Probability of Failure on Demand

POGO

Early system on G-15. Listed in CACM 2(5):16 (May 1959).

point

<unit, text>

1. (Sometimes abbreviated "pt") The unit of length used in typography to specify text character height, rule width, and other small measurements.

There are six slightly different definitions: Truchet point, Didot point, ATA point, TeX point, Postscript point, and IN point.

In Europe, the most commonly used is Didot and in the US, the formerly standard ATA point has essentially been replaced by the PostScript point due to the demise of traditional typesetting systems and rise of desktop computer based systems running software such as QuarkXPress, Adobe InDesign and Adobe Pagemaker.

There are 20 twips in a point and 12 points in a pica (known as a "Cicero" in the Didot system).

Different point systems.

Last updated: 2004-12-23

<hardware>

2. To move a pointing device so that the on-screen pointer is positioned over a certain object on the screen such as a button in a graphical user interface. In most window systems it is then necessary to click a (physical) button on the pointing device to activate or select the object. In some systems, just pointing to an object is known as "mouse-over" event which may cause some help text (called a "tool tip" in Windows) to be displayed.

Last updated: 2001-05-21

point-and-drool interface

<abuse>

(Or "point-and-grunt interface") A parody of "point-and-shoot interface", describing a windows, icons, and mouse-based (WIMP) graphical user interface. The implication, of course, is that such an interface is only suitable for idiots.

See for the rest of us, WIMP, drool-proof paper.

[Jargon File]

Last updated: 2000-08-08

point-and-grunt interface

point-and-drool interface

pointed domain

<theory>

In most formulations of domain theory, a domain is defined to have a bottom element and algebraic CPOs without bottoms are called "predomains". David Schmidt's domains do not have this requirement and he calls a domain with a bottom "pointed".

Last updated: 1999-07-07

pointer

<programming>

1. An address, from the point of view of a programming language. A pointer may be typed, with its type indicating the type of data to which it points.

The terms "pointer" and "reference" are generally interchangeable although particular programming languages often differentiate these two in subtle ways. For example, Perl always calls them references, never pointers. Conversely, in C, "pointer" is used, although "a reference" is often used to denote the concept that a pointer implements.

Anthony Hoare once said:

Pointers are like jumps, leading wildly from one part of the data structure to another. Their introduction into high-level languages has been a step backward from which we may never recover.

[C.A.R.Hoare "Hints on Programming Language Design", 1973, Prentice-Hall collection of essays and papers by Tony Hoare].

<operating system>

2. (Or "mouse pointer") An icon, usually a small arrow, that moves on the screen in response to movement of a pointing device, typically a mouse. The pointer shows the user which object on the screen will be selected etc. when a mouse button is clicked.

Last updated: 1999-07-07

pointer swizzling

swizzle

pointing device

<hardware>

Any hardware component that allows a user to input spatial data to a computer. CAD systems and Graphical User Interfaces (GUI) allow the user to control and provide data to the computer using physical "gestures" - point, click, and drag - typically by moving a hand-held mouse across the surface of the physical desktop and activating switches on the mouse. Movements of the pointing device are echoed on a graphical representation of a desktop on the screen by movements of the mouse pointer and other visual changes.

While the most common pointing device by far is a mouse, other kinds include tracker ball, trackpad, lightpen, various kinds of digitising tablets which use a stylus, and even a special "data glove" that translates the user's movements to computer gestures.

Last updated: 1997-02-03

pointing stick

TrackPoint

Point Of Contact

<networking>

(POC) An individual associated with a particular Internet entity (IP network, domain, ASN).

Last updated: 1998-09-07

point of presence

(PoP) A site where there exists a collection of telecommunications equipment, usually modems, digital leased lines and multi-protocol routers. An Internet access provider may operate several PoPs distributed throughout their area of operation to increase the chance that their subscribers will be able to reach one with a local telephone call. The alternative is for them to use virtual PoPs (virtual points of presence) via some third party.

Last updated: 1994-12-13

point of sale terminal

<hardware>

(Or "POS") A computer, probably with a bar code reader, serving as a glorified cash register.

Last updated: 1997-11-23

Point-to-Point Protocol

<communications, protocol>

(PPP) The protocol defined in RFC 1661, the Internet standard for transmitting network layer datagrams (e.g. IP packets) over serial point-to-point links.

PPP has a number of advantages over SLIP; it is designed to operate both over asynchronous connections and bit-oriented synchronous systems, it can configure connections to a remote network dynamically, and test that the link is usable. PPP can be configured to encapsulate different network layer protocols (such as IP, IPX, or AppleTalk) by using the appropriate Network Control Protocol (NCP).

RFC 1220 describes how PPP can be used with remote bridging.

Usenet newsgroup: comp.protocols.ppp.

A paper on PPP.

Last updated: 1994-12-13

Point-to-Point Protocol over ATM

<networking>

(PPPoA) A network protocol for encapsulating PPP frames in ATM AAL5. It is used mainly with cable modem, DSL and ADSL services.

PPPoA offers standard PPP features such as authentication, encryption, and compression. It is very slightly more efficient than PPPoE and, like PPPoE, supports VC-MUX and LLC encapsulation.

PPPoA is specified in RFC 2364.

Last updated: 2007-06-15

Point-to-Point Protocol over Ethernet

<communications, protocol>

(PPPoE) The protocol defined in RFC 2516 that allows one or more computers to connect to the Internet via a shared modem. The computers connect to the modem via a local area network such as Ethernet and the modem connects to an Internet Service Provider (ISP) via a serial connection such as PPP over ADSL.

PPPoE provides each user with a connection that looks and behaves like a point-to-point dial-up connection even though they are actually sharing an Ethernet or wireless network. At the same time, the ISP only needs to provide a single Internet connection, with the same kind of accounting as for PPP. Also, the IP address is only assigned when the PPPoE connection is open, allowing the dynamic reuse of IP addresses via DHCP.

PPPoE works by encapsulating PPP frames in Ethernet frames.

Last updated: 2006-09-20

Point-to-Point Tunneling Protocol

<communications, protocol>

(PPTP) A tunneling protocol for connecting Windows NT clients and servers over Remote Access Services (RAS). PPTP can be used to create a Virtual Private Network between computers running NT. It is an extension of PPP sponsored by Microsoft.

Microsoft Point to Point Encryption may be used with PPTP to provide an encrypted connection but PPTP itself does not use encryption.

Compare: Layer Two Tunneling Protocol.

[Origin? Standard? Document?]

Last updated: 1998-09-23

Poisson distribution

<mathematics>

A probability distribution used to describe the occurrence of unlikely events in a large number of independent trials.

Poisson distributions are often used in building simulated user loads.

[Formula?]

Last updated: 2003-03-18

POJO

Plain Old Java Object

[As opposed to?]

poke

The BASIC command to write a value to an absolute address.

See peek.

[Jargon File]

Last updated: 1995-01-31

Pokémon exception handling

<programming, humour>

A humourous term for a try-catch exception handling construct with no constraint on which exceptions will be caught, for when you just "Gotta Catch 'Em All." (a slogan used in the Pokémon media empire).

Pokémon is a trademark of the Pokémon Company of Japan.

[Dodgy Coder].

Last updated: 2012-07-10

Polka

<language>

An object-oriented parallel logic programming language, built on top of Parlog.

["Polka: A Parlog Object-Oriented Language", Andrew Davison, TR, Parlog Group, Imperial College, London 1988].

Last updated: 1995-01-31

poll

To check the status of an input line, sensor, or memory location to see if a particular external event has been registered.

Contrast interrupt.

[Jargon File]

Last updated: 1995-01-31

polling

poll

Poly

<language>

1. A polymorphic, block-structured language developed by D.C.J. Matthews at Cambridge in the early 1980s.

["An Overview of the Poly Programming Language", D.C.J. Matthews, in Data Types and Persistence, M.P. Atkinson et al eds, Springer 1988].

2. A language developed at St Andrews University, Scotland.

[Software Practice & Exp, Oct 1986].

3. A polymorphic language used in the referenced book.

["Polymorphic Programming Languages", David M. Harland, Ellis Horwood 1984].

Last updated: 2000-11-07

polygon pusher

(Or "rectangle slinger"). A chip designer who spends most of his or her time at the physical layout level (which requires drawing *lots* of multi-coloured polygons).

[Jargon File]

POLYGOTH

<language>

A distributed language integrating classes with a parallel block structure, including multiprocedures and fragments.

["Operational Semantics of a Distributed Object-Oriented Language and its Z Formal Specification", M. Benveniste <[email protected]>, TR532, IRISA/INRIA-Rennes].

Last updated: 1995-10-17

polylithism

<programming>

A property of a data-object that can exist in many shapes and sizes, but not simultaneously; which distinguishes it from a union. It is often implemented as a set of classes (or structs) derived from a common base class (or with a common header, as in the case of structs), typically without any methods.

It has been loosely described as polymorphic data.

[Clarification?]

Last updated: 1996-01-07

Poly/ML

<language>

SML implemented in D.C.J. Matthews's Poly, for Motorola 68020 and SPARC by Abstract Hardware Ltd.

Last updated: 1999-11-23

polymorphic

polymorphism

polymorphic lambda-calculus

<language, types>

(Or "second order typed lambda-calculus", "System F", "Lambda-2"). An extension of typed lambda-calculus allowing functions which take types as parameters. E.g. the polymorphic function "twice" may be written:

 	twice = /\ t . \  (f :: t -> t) . \ (x :: t) . f (f x)

(where "/\" is an upper case Greek lambda and "(v :: T)" is usually written as v with subscript T). The parameter t will be bound to the type to which twice is applied, e.g.:

 twice Int

takes and returns a function of type Int -> Int. (Actual type arguments are often written in square brackets [ ]). Function twice itself has a higher type:

 twice :: Delta t . (t -> t) -> (t -> t)

(where Delta is an upper case Greek delta). Thus /\ introduces an object which is a function of a type and Delta introduces a type which is a function of a type.

Polymorphic lambda-calculus was invented by Jean-Yves Girard in 1971 and independently by John C. Reynolds in 1974.

["Proofs and Types", J-Y. Girard, Cambridge U Press 1989].

Last updated: 2005-03-07

polymorphism

<theory, programming>

The ability to leave parts of a type in a typed language unspecified. The term has three distinct uses:

* Parametric polymorphism refers to the use of type variables in a strongly typed language.

* Overloading, sometimes called ad-hoc polymorphism, means using the same syntax for different types.

* object-oriented polymorphism allows a variable to refer to objects whose class is not known at compile time.

Last updated: 2014-01-05

polynomial

<mathematics>

1. An arithmetic expression composed by summing multiples of powers of some variable.

 P(x) = sum a_i x^i for i = 0 .. N

The multipliers, a_i, are known as "coefficients" and N, the highest power of x with a non-zero coefficient, is known as the "degree" of the polynomial. If N=0 then P(x) is constant, if N=1, P(x) is linear in x. N=2 gives a "quadratic" and N=3, a "cubic".

<complexity>

2. polynomial-time.

polynomial-time

<complexity>

(P) The set or property of problems which can be solved by a known polynomial-time algorithm.

Last updated: 1995-04-10

polynomial-time algorithm

<complexity>

A known algorithm (or Turing Machine) that is guaranteed to terminate within a number of steps which is a polynomial function of the size of the problem.

See also computational complexity, exponential time, nondeterministic polynomial-time (NP), NP-complete.

Last updated: 1995-04-13

polyvinyl chloride

<hardware>

(PVC) A common plastic used for insulating and jacketing many wire and cable products.

Last updated: 2001-03-26

POM

phase of the moon

Usually used in the phrase "POM-dependent", which means flaky.

Last updated: 1995-04-10

pompom

<graphics>

Algorithmic art by Denis Howe.

View pompom.

Last updated: 2018-01-01

Ponder

A non-strict polymorphic, functional language by Jon Fairbairn <[email protected]>.

Ponder's type system is unusual. It is more powerful than the Hindley-Milner type system used by ML and Miranda and extended by Haskell. Ponder adds extra recursive 'mu' types to those of Girard's System F, allowing more general recursion. Surprisingly, the type system and type inference algorithm are still not completely understood.

["Ponder and its Type System", J. Fairbairn, TR 31, Cambridge U Computer Lab, Nov 1982].

[J. Fairbairn, "Design and Implementation of a Simple Typed Language based on the Lambda-Calculus", Technical Report No. 75, Computer Laboratory, University of Cambridge, May 1985].

[J. Fairbairn, "A New Type-Checker for a Functional Language", Technical Report No. 53, Computer Laboratory, University of Cambridge, 1984].

[J. Fairbairn, "Some Types with Inclusion Properties in \forall, \rightarrow, \mu", Technical Report No. 171, Computer Laboratory, University of Cambridge, Jun 1989].

[Valeria C. V. de Paiva, "Subtyping in Ponder (Preliminary Report)", Technical Report No. 203, Computer Laboratory, University of Cambridge, Aug 1990].

Pong

<games>

A computer game invented in 1972 by Atari's Nolan Bushnell. The game is a minimalist rendering of table tennis. Each of the two players are represented as a white slab, controllable by a knob, which deflects a bouncing ball. The goal of the game is to "AVOID MISSING BALL FOR HIGH SCORE".

Yahoo.

Last updated: 1997-11-23

POOL

Parallel Object-Oriented Language.

A series of languages from Philips Research Labs.

See POOL2, POOL-I, POOL-T.

Last updated: 1995-02-07

POOL2

Parallel Object-Oriented Language 2.

Philips Research Labs, 1987.

Strongly typed, synchronous message passing, designed to run on DOOM (DOOM = Decentralised Object-Oriented Machine).

["POOL and DOOM: The Object- Oriented Approach", J.K. Annot, PAM den Haan, in Parallel Computers, Object-Oriented, Functional and Logic, P. Treleaven ed].

["Issues in the Design of a Parallel Object-Oriented Language", P. America, Formal Aspects of Computing 1(4):366-411 (1989)].

Last updated: 1995-02-07

POOL-I

One of the POOL languages.

["A Parallel Object-Oriented Language with Inheritance and Subtyping", P. America et al, SIGPLAN Notices 25(10):161-168 (OOPSLA/ECOOP '90) (Oct 1990)].

Last updated: 1995-02-07

Pooling Agreement for Technical Assistance

<business>

(PATA) Written limitations on what types of technical information is shared when two companies (or departments) work together on a common project. Often because of security concerns rather than marketing concerns.

Last updated: 2010-02-20

POOL-T

Object-oriented, concurrent, synchronous. Predecessor of POOL2.

["Definition of the Programming Language POOL-T", Esprit Project 415, Doc. 0091, Philips Research Labs, Eindhoven, Netherlands, June 1985].

Last updated: 1995-02-07

POP

<language>

1. A family of programming languages, POP-1, POP-2, POP-10, Pop-11, POP++, POP-9X, POPLOG.

2. Post Office Protocol.

See also pop, PoP.

[Jargon File]

Last updated: 1996-02-18

PoP

Point Of Presence

pop

<programming>

To remove something from the top of a stack.

Opposite of push.

(Not to be confused with Post Office Protocol or POP-1 the language).

[Jargon File]

Last updated: 1996-02-18

POP++

An object-oriented extension of POPLOG. Available from Integral Solutions.

[Jargon File]

POP-1

Package for Online Programming. Edinburgh, 1966. First of the POP family of languages. Used reverse Polish notation. Implemented as a threaded interpreter. EPU-R-17, U Edinburgh (Jul 1966). "POP-1: An Online Language", R. Popplestone, Mach Intell 2, E. Dale et al eds, Oliver and Boyd, Edinburgh 1968.

POP-10

Descendant of POP-2, for the PDP-10 by Julian Davies, 1973. ["POP-10 User's Manual", D.J.M. Davies, CS R25, U West Ontario, 1976].

Pop-11

<language>

A programming language created by Robin Popplestone in 1975, originally for the PDP-11. Pop-11 is stack-oriented, extensible, and efficient like FORTH. It is also functional, dynamically typed, interactive, with garbage collection like LISP, and the syntax is block structured like Pascal.

["Programming in POP-11", J. Laventhol <[email protected]>, Blackwell 1987].

AlphaPop is an implementation for the Macintosh from Computable Functions Inc. PopTalk and POPLOG from the University of Sussex are available for VAX/VMS and most workstations.

E-mail: Robin Popplestone <[email protected]>

Last updated: 2003-03-25

POP-2

Robin POPplestone, Edinburgh, 1967. An innovative language incorporating many of Landin's ideas, including streams, closures, and functions as first-class citizens. ALGOL-like syntax. The first implementation was named Multi-POP, based on a REVPOL function written in POP-1, producing the reverse-polish form as output. "POP-2 Papers", R.M. Burstall et al, Oliver & Boyd 1968. "Programming in POP-2", R.M. Burstall et al, Edinburgh U Press 1971. "POP-2 User's Manual", R. Popplestone, Mach Intell 2, E. Dale et al eds, Oliver and Boyd, Edinburgh 1968.

POP3

<messaging, protocol>

Version 3 of the Post Office Protocol. POP3 is defined in RFC 1081, written in November 1988 by Marshall Rose, which is based on RFC 918 (since revised as RFC 937). POP3 allows a client computer to retrieve electronic mail from a POP3 server via a (temporary) TCP/IP or other[?] connection. It does not provide for sending mail, which is assumed to be done via SMTP or some other method.

POP is useful for computers, e.g. mobile or home computers, without a permanent network connection which therefore require a "post office" (the POP server) to hold their mail until they can retrieve it.

Although similar in form to the original POP proposed for the Internet community, POP3 is similar in spirit to the ideas investigated by the MZnet project at the University of California, Irvine, and is incompatible with earlier versions of POP.

Substantial work was done on examining POP in a PC-based environment. This work, which resulted in additional functionality in this protocol, was performed by the ACIS Networking Systems Group at Stanford University.

RFC 1082 (POP3 Extended Service) extends POP3 to deal with accessing mailboxes for mailing lists.

Last updated: 1997-01-09

POP-9X

Proposed BSI standard for Pop-11.

POPART

A grammar-driven programming environment generator. Uses Paddle.

["POPART: Producer of Paddles and Related Tools, System Builders' Manual", D.S. Wile TR RR-82-21, ISI, Marina del Rey, CA 1982].

Last updated: 1994-11-30

POPCORN

AI system built on POP-2. "The POPCORN Reference Manual", S. Hardy, Essex U, Colchester, 1973.

pop-down menu

pull-down menu

POPJ

/pop'J/ [PDP-10 return-from-subroutine instruction]. To return from a digression. By verb doubling, "Popj, popj" means roughly "Now let's see, where were we?" See RTI.

[Jargon File]

Poplar

Morris, 1978. A blend of LISP with SNOBOL4 pattern matching and APL-like postfix syntax. Implicit iteration over lists, sorting primitive. "Experience with an Applicative String-Processing Language", J.H. Morris et al, 7th POPL, ACM 1980, pp.32-46.

POPLER

A PLANNER-type language for the POP-2 environment.

["Popler 1.6 Reference Manual", D. Davies et al, U Edinburgh, TPU Report No 1 (May 1973)].

POPLOG

A multi-language programming environment, which includes the languages Pop-11, ML, Common Lisp and Prolog. It supports mixed-language programming and incremental compilation and includes a comprehensive X Window System interface. It is built on top of a two-stack virtual machine, PVM. POPLOG was developed at the University of Sussex, Brighton, UK.

["POPLOG's Two-Level Virtual Machine Support for Interactive Languages", R. Smith et al, in Research Directions in Cognitive Science, v.5 (1992)].

POPLOG ML

SML for the Poplog system from the University of Sussex, UK.

POP server

Post Office Protocol

PopTalk

<language, product>

A commercial object-oriented derivative of POP, from Cambridge Consultants, used in the expert system MUSE.

Last updated: 1995-02-27

PopularitY of Programming Languages

<programming>

(PYPL) An index like Tiobe showing the popularity of programming languages based by analyzing searches for language tutorials on Google.

Home.

Last updated: 2020-01-31

POR

power-on reset

porn

pornography

porno

pornography

pornography

<application>

Still and moving images, usually of women, in varying states of nudity, posing or performing erotic acts with men, women, animals, machines, or other props. Some say it degrades women, some say it corrupts young boys (who down-load it from the web or exchange it on floppy disks). Most of it is in the form of JPEG images. Many websites offer porn of all sorts, almost always for a subscription. It is said that these are a driving force in the evolution of new technology and techniques for the web. Advertisments for them certainly constitute a significant proportion of all spam. There are even pornographic computer games, an early example being Mac Playmate.

Beware - many institutions, particularly universities, have strict rules against their computers and networks being used to transfer or store such things, and you might get corrupted.

Last updated: 2002-03-08

port

<networking>

1. A logical channel or channel endpoint in a communications system. The Transmission Control Protocol and User Datagram Protocol transport layer protocols used on Ethernet use port numbers to distinguish between (demultiplex) different logical channels on the same network interface on a computer.

Each application program has a unique port number associated with it, defined in /etc/services or the Network Information Service "services" database. Some protocols, e.g. telnet and HTTP (which is actually a special form of telnet) have default ports specified as above but can use other ports as well.

Some port numbers are defined in RFC 3232 (which replaces RFC 1700). Ports are now divided into: "Well Known" or "Privileged", and "Ephemeral" or "Unprivileged" (comprising "Registered", "Dynamic", "Private").

Last updated: 2004-12-30

<operating system, programming>

2. To translate or modify software to run on a different platform, or the results of doing so. The portability of the software determines how easy it is to port.

<language>

3. An imperative language descended from Zed from Waterloo Microsystems (now Hayes Canada) ca. 1979.

["Port Language" document in the Waterloo Port Development System].

Last updated: 2002-06-19

portability

<operating system, programming>

The ease with which a piece of software (or file format) can be "ported", i.e. made to run on a new platform and/or compile with a new compiler.

The most important factor is the language in which the software is written and the most portable language is almost certainly C (though see Vaxocentrism for counterexamples). This is true in the sense that C compilers are available for most systems and are often the first compiler provided for a new system. This has led several compiler writers to compile other languages to C code in order to benefit from its portability (as well as the quality of compilers available for it).

The least portable type of language is obviously assembly code since it is specific to one particular (family of) processor(s). It may be possible to translate mechanically from one assembly code (or even machine code) into another but this is not really portability. At the other end of the scale would come interpreted or semi-compiled languages such as LISP or Java which rely on the availability of a portable interpreter or virtual machine written in a lower level language (often C for the reasons outlined above).

The act or result of porting a program is called a "port". E.g. "I've nearly finished the Pentium port of my big bang simulation."

Portability is also an attribute of file formats and depends on their adherence to standards (e.g. ISO 8859) or the availability of the relevant "viewing" software for different platforms (e.g. PDF).

Last updated: 1997-06-18

portable

portability

Portable AIRTIME

<communications, wireless>

A wireless, digital communications system enabling user-to-user voice communication, "quicknotes", and alphanumeric messaging.

[Details?]

Last updated: 2000-12-07

Portable Commodore 64

<computer>

A version of the Commodore 64 modelled after the original Osborne portable PCs, with a flip-down keyboard that revealed a 5-inch colour monitor, and a built-in 1541 floppy disk drive. It is thought that few were made but that they did go on sale, at least in Canada.

[Relationship to Commodore 65?]

Last updated: 1997-09-14

Portable Common Loops

(PCL) A language which started out as an implementation of CommonLoops and turned into a portable CLOS implementation. Version 1992-08-28. It runs under Lucid Common LISP 4.0.1 and CMU Common LISP 16e.

ftp://parcftp.xerox.com/pcl.

Last updated: 1992-09-02

[Was it developed by Richard Harris <[email protected]>?]

Portable Common Tool Environment

<tool>

(PCTE) An ECMA standard framework for software tools developed in the Esprit programme. It is based on an entity-relationship Object Management System and defines the way in which tools access this.

Last updated: 2001-03-03

portable computer

<computer>

(Commonly, "laptop") A portable personal computer you can carry with one hand. Some laptops run so hot that it would be quite uncomforable to actually use them on your lap for long. The term "notebook" is often used to describe these, though it also implies a low weight (less than 2kg). A "luggable" is one you could carry in one hand but is so heavy you wouldn't want to. One that can by easily operated while held in one hand is a "palmtop".

The computer considered by most historians to be the first true portable computer was the Osborne 1 but see the link below for other contenders.

History of laptop computers.

Last updated: 2007-05-21

Portable Document Format

<file format>

(PDF) The native file format for Adobe Systems' Acrobat. PDF is the file format for representing documents in a manner that is independent of the original application software, hardware, and operating system used to create those documents. A PDF file can describe documents containing any combination of text, graphics, and images in a device-independent and resolution independent format. These documents can be one page or thousands of pages, very simple or extremely complex with a rich use of fonts, graphics, colour, and images.

http://adobe.com/products/acrobat/adobepdf.html.

["The Portable Document Format Reference Manual", Adobe systems, Inc. Addison-Wesley Publ. Co., ISBN: 0-201-62628-4].

Last updated: 2000-09-08

Portable Forth Environment

<language>

(PFE) A highly portable Forth development system based on the ANSI standard for Forth, by Dirk-Uwe Zoller of FHT, Mannheim, Germany. PFE aims to be correct, complete, usable, and simple but it isn't optimised for speed. It supports all dpANS word sets. It runs on Linux, RS/6000, and HP-UX.

Tektronix adopted PFE in 1998 and added modules and multithreading. You can load additional C objects at run time to extend the Forth dictionary. It can be targeted at different embedded environments by changing the terminal driver and initilisation routines.

http://pfe.sourceforge.net/.

E-mail: Guido Draheim <[email protected]>.

Last updated: 2000-12-07

Portable Network Graphics

<file format>

/ping/ (PNG) An extensible file format for the lossless, portable, well-compressed storage of raster images. PNG provides a patent-free replacement for GIF and can also replace many common uses of TIFF. Indexed-colour, greyscale and truecolour images are supported, plus an optional alpha channel. Sample depths range from 1 to 16 bits.

PNG is designed for on-line viewing applications, such as the World Wide Web, so it is fully streamable with a progressive display option. PNG is robust, providing both full file integrity checking and simple detection of common transmission errors. Also, PNG can store gamma correction and chromaticity data for improved colour matching on heterogeneous platforms.

Filename extension: .png.

RFC 2083. W3C PNG pages. PNG home page.

Last updated: 1997-08-07

Portable Object Adapter

<architecture>

(POA) Part of the CORBA architecture.

[Details?]

Last updated: 2004-06-23

Portable Operating System Interface

<operating system, standard>

(POSIX) A set of IEEE standards designed to provide application portability between Unix variants. IEEE 1003.1 defines a Unix-like operating system interface, IEEE 1003.2 defines the shell and utilities and IEEE 1003.4 defines real-time extensions.

["More UNIX For Dummies", ISBN: 1-56884-361-5] says it stands for "Portable Operating System Interface with an X thrown in to make it sound cooler."

Last updated: 1997-12-04

Portable Pixmap

<file format>

(PPM) A colour image file format.

A PPM file contains the following:

 a two character "{magic number}" - "P3",
 the width in pixels,
 the height in pixels,
 the maximum colour component value,
 HEIGHT rows of WIDTH {pixels}.

The rows are ordered from top to bottom with the pixels in each row ordered from left to right. Each pixel is represented as three values for red, green, and blue.

All parts are separated by whitespace and numbers are in decimal ASCIII representation. A zero pixel component means that colour is absent. Characters from a "#" to the next end-of-line are ignored and no line should be longer than 70 characters.

Here is an example of a small pixmap in this format:

 P3
 # feep.ppm
 4 4
 15
  0  0  0    0  0  0    0  0  0   15  0 15
  0  0  0    0 15  7    0  0  0    0  0  0
  0  0  0    0  0  0    0 15  7    0  0  0
 15  0 15    0  0  0    0  0  0    0  0  0

A "RAWBITS" variant has magic number "P6", pixel values are stored as plain binary bytes, instead of ASCII decimal and no whitespace is allowed after a single whitespace character after the maximum colour component value which must be less than or equal to 255.

Last updated: 1998-02-06

Portable Scheme Debugger

(PSD) A package for source code debugging of R4RS-compliant Scheme under GNU Emacs by Kellom ?ki Pertti <[email protected]>. Version 1.1. Distributed under GNU GPL. It works with scm, Elk and Scheme->C.

ftp://ftp.cs.tut.fi/pub/src/languages/schemes/psd.tar.Z.

Last updated: 1992-10-08

Portable Scheme Interpreter

(PSI) A portable scheme interpreter by Ozan Yigit <[email protected]>, David Keldsen and Pontus Hedman that includes a simple DAG compiler and a virtual machine. It can be used as an integrated extension interpreter in other systems and allows easy addition of new primitives. There are some unique debugging and tracing facilities. Acceptable performance results from a fairly straight-forward implementation. Continuations are fully and portably supported and perform well. PSI is based on the simple compilers and virtual machine in Kent Dbyvig's thesis.

The pre-release version conforms to R4RS with a number of useful extensions.

Last updated: 1993-02-19

Portable Standard Lisp

<language>

(PSL) A dialect of Lisp from Utah University. PSL is available as a kit for 68000 and also runs on VAX. It compiles Lisp to C-code virtual machine language.

["The Portable Standard LISP Users Manual", TR-10, CS Dept, U Utah, Jan 1982].

["A Portable Lisp System", M.L. Griss et al, Proc 1982 ACM Symp on Lisp and Functional Prog, Aug 1982].

Last updated: 2000-09-25

Portable Tool Interface

<programming, standard>

(PTI) A standard such as PCTE, allowing interworking between different software tools via defined interfaces to the user and to the repository or object management system.

Last updated: 2000-09-25

Port Address Translation

<networking>

(PAT) A function provided by some routers which allows hosts on a LAN to communicate with the rest of a network (such as the Internet) without revealing their own private IP address. All outbound packets have their IP address translated to the routers external IP address. Replies come back to the router which then translates them back into the private IP address of the original host for final delivery.

Compare SOCKS.

Last updated: 1998-05-08

PORTAL

Process-Oriented Real-Time Algorithmic Language.

["PORTAL - A Pascal-based Real-Time Programming Language", R. Schild in Algorithmic Languages, J.W. deBakker et al eds, N-H 1981].

portal

<web>

A website that aims to be an entry point to the web, typically offering a search engine and/or links to useful pages, and possibly news or other services. These services are usually provided for free in the hope that users will make the site their default home page or at least visit it often. Popular examples are Yahoo and MSN. Most portals on the Internet exist to generate advertising income for their owners, others may be focused on a specific group of users and may be part of an intranet or extranet. Some may just concentrate on one particular subject, say technology or medicine, and are known as a vertical portals.

Last updated: 2001-07-07

porting

Translating software to run on a different computer and/or operating system.

Last updated: 1995-01-06

Port Language

["Communicating Parallel Processes", J. Kerridge et al, Soft Prac & Exp 16(1):63-86 (Jan 1986)].

portmapper

<networking>

A server that converts TCP/IP protocol port numbers into RPC program numbers. It must be running in order to make RPC calls.

When an RPC server starts, it tells portmap the port number it is listening on and what RPC program numbers it serves. Before a client can call a given RPC program number, it must contacts portmap on the server machine to determine the port number to which RPC packets should be sent.

Last updated: 1996-12-09

port number

port

POS

point of sale

POSE

<language A query language written in 1967.

["POSE: A Language for Posing Problems to Computers", S. Schlesinger et al, CACM 10:279-285, May 1967].

Last updated: 1996-12-09

poset

partially ordered set

positional representation

<mathematics>

The conventional way of writing numbers as a string of digits in which each digit, D, has value D * R^I, where R is the radix or (number) base and I is the digit's position counting leftward from zero at the least significant (right-hand) end. Each digit can be zero to R-1. Each position has a weight or significance R times greater than the position to its right and the right-most place has a weight of one.

Decimal numbers are radix ten, binary numbers are radix two, octal radix eight and hexadecimal radix 16.

Positional representation makes arithmetic operations on large numbers much easier than, say, roman numerals. It is fundamental to the binary representation used by digital computers.

Last updated: 2006-11-10

POSIX

Portable Operating System Interface

POSIX Threads

<programming>

(Pthreads) A POSIX standard API that defines a set of C programming language types, functions and constants for creating and manipulating pre-emptive threads.

The standard's full name is "POSIX.1c, Threads extensions (IEEE Std 1003.1c-1995)". Implementations are available on many Unix-like POSIX-conformant operating systems such as FreeBSD, NetBSD, OpenBSD, GNU/Linux, Mac OS X and Solaris as well as DR-DOS and Microsoft Windows.

Pthreads was designed and implemented in the PART Project (POSIX / Ada-Runtime Project).

Last updated: 2012-04-18

POST

power-on self-test

post

<messaging>

To send a message to a mailing list or newsgroup. Usually implies that the message is sent indiscriminately to multiple users, in contrast to "mail" which implies one or more deliberately selected individual recipients.

You should only post a message if you think it will be of interest to a significant proportion of the readers of the group or list, otherwise you should use private electronic mail instead. See netiquette.

[Jargon File]

Last updated: 1997-12-04

postcardware

Shareware that borders on freeware, in that the author requests only that satisfied users send a postcard of their home town or something. (This practice, silly as it might seem, serves to remind users that they are otherwise getting something for nothing, and may also be psychologically related to real estate "sales" in which $1 changes hands just to keep the transaction from being a gift.)

[Jargon File]

posted write-through

A cache with a posted write-through policy (e.g. Intel 80386) delays the write-back to main memory until the bus is not in use.

Postel, Jon

Jon Postel

postfix notation

<language>

(Or "Reverse Polish Notation", RPN) One of the possible orderings of functions and operands: in postfix notation the functions are preceded by all their operands. For example, what may normally be written as "1+2" becomes "1 2 +". Postfix notation is well suited for stack based architectures but modern compilers reduced this advantage considerably.

The best-known language with postfix syntax is FORTH. Some Hewlett-Packard calculators use it, e.g. HP-25, HP-29C, HP-41C, HP-23SII.

Compare: infix notation, prefix notation.

Last updated: 2003-06-23

postfix syntax

postfix notation

POSTGRES

<database>

An active DBMS developed at the University of California at Berkeley by a team led by Michael Stonebraker (1986-1994). Postgres was later taken by Illustra and developed into a commercial product, which in turn was bought by Informix and integrated into their product, Universal Server.

PostgreSQL is a further development of the original POSTGRES code as a free software alternative to commercial DBMS vendor offerings.

[Details? Reference? Relationship to Ingres?]

Last updated: 1999-07-04

PostgreSQL

<database>

/'post-gres-kyu-el/ An enhancement of the POSTGRES database system.

PostgreSQL is an advanced relational database management system with some object oriented approaches. PostgreSQL is developed and distributed as free software, and while retaining its freedom it remains technically and featurewise a worthy competitor to even the most advanced commercial alternatives.

It was also one of the first databases to offer MVCC as opposed to row-level locking or table locking, thereby greatly improving multi-user performance.

PostgreSQL implements an extended subset of ANSI SQL and runs on many platforms. It also has interfaces to many different programming languages and database protocols, like ODBC and JDBC.

http://postgresql.org/.

Last updated: 1999-09-18

posting

A message sent to a newsgroup or mailing list (may also be called "a post") or the act of sending it. Distinguished from a "letter" or ordinary electronic mail message by the fact that it is broadcast rather than point-to-point. It is not clear whether messages sent to a small mailing list are postings or e-mail; perhaps the best dividing line is that if you don't know the names of all the potential recipients, it is a posting.

[Jargon File]

postmaster

The electronic mail contact and maintenance person at a site connected to the Internet or UUCPNET. Often, but not always, the same as the admin. The Internet standard for electronic mail (RFC 822) requires each machine to have a "postmaster" address; usually it is aliased to this person. See also webmaster.

post office problem

<algorithm>

Given a set of points (in N dimensions), find another point which minimises the sum of the distances from that point to each of the others.

Last updated: 2007-03-07

Post Office Protocol

<messaging, protocol>

(POP) A protocol designed to allow single-user computers to retrieve electronic mail from a POP server via TCP/IP. The default port is 110.

The POP server might be a computer with a permanent Internet connection whereas its clients might only connect to it occasionally, e.g. by modem.

There are (in 1994) three versions: POP, POP2, and POP3. Later versions are NOT compatible with earlier ones.

[Details?]

Last updated: 2007-03-07

post-order traversal

traversal

POSTQUEL

POSTGRES QUERy Language. The language used by the POSTGRES database system.

["The Design of POSTGRES", M. Stonebraker et al, Proc ACM SIGMOD Conf, June 1986].

Version 4.0.

PostScript

<language, text, graphics>

A page description language based on work originally done by John Gaffney at Evans and Sutherland in 1976, evolving through "JaM" ("John and Martin", Martin Newell) at XEROX PARC, and finally implemented in its current form by John Warnock et al. after he and Chuck Geschke founded Adobe Systems, Inc. in 1982.

PostScript is an interpreted, stack-based language (like FORTH). It was used as a page description language by the Apple LaserWriter, and now many laser printers and on-screen graphics systems. Its primary application is to describe the appearance of text, graphical shapes, and sampled images on printed or displayed pages.

A program in PostScript can communicate a document description from a composition system to a printing system in a device-independent way.

PostScript is an unusually powerful printer language because it is a full programming language, rather than a series of low-level escape sequences. (In this it parallels Emacs, which exploited a similar insight about editing tasks). It is also noteworthy for implementing on-the fly rasterisation, from Bezier curve descriptions, of high-quality fonts at low (e.g. 300 dpi) resolution (it was formerly believed that hand-tuned bitmap fonts were required for this task).

PostScript's combination of technical merits and widespread availability made it the language of choice for graphical output until PDF appeared.

The Postscript point, 1/72 inch, is slightly different from other point units.

An introduction.

["PostScript Language Reference Manual" ("The Red Book"), Adobe Systems, A-W 1985].

[Jargon File]

Last updated: 2002-03-11

Postscript point

<unit, text>

The variant of the point used by Postscript, equal to 0.3527777778 mm, or 1/72 inch.

Last updated: 2002-03-11

Post, Telephone and Telegraph administration

<communications, company>

(PTT) One of the many national bodies responsible for providing communications services in a particular country. Traditionally, PTTs had monopolies in their respective countries. This monopoly was first broken in the USA, with the UK joining somewhat later. Currently the markets are being deregulated in Europe as well as other parts of the world.

Well-known PTTs include MCI, AT&T, and British Telecom.

Compare: telco.

Last updated: 1998-05-18

POSYBL

Programming system for distributed applications. A Linda implementation for Unix networks by Ioannis Schoinas <[email protected]>.

ftp://ariadne.csi.forth.gr/pub/POSYBL.TAR.Z.

Last updated: 1995-12-04

potential difference

voltage

POTS

Plain Old Telephone Service

pound

<character>

A British pound sign or Americal hash character.

Last updated: 2013-08-15

pound on

bang on

pound sign

<character>

"£", ASCII character 163, 0xA3. A stylised capital "L" used to prefix amounts in British pounds sterling (GBP).

Americans call the hash character ("#") "pound" but that is an antiquated reference to pounds weight (lb).

Last updated: 2013-08-15

POWER

Performance Optimization with Enhanced RISC. The IBM processor architecture on which PowerPC was based.

PowerBuilder

<tool, database>

A graphical user interface development tool from Powersoft for developing client-server database applications. It runs under MS-DOS(?) and Microsoft Windows. There are also versions for Microsoft Windows, Windows NT, Macintosh, and Unix.

Applications can be built by creating windows, controls (such as listboxes and buttons), and menus within the PowerBuilder development environment. The language used to program PowerBuilder, PowerScript, is loosely based on BASIC.

PowerBuilder supports programming on many database backends including Sybase and Oracle. It also has added support for ODBC database drivers. PowerBuilder also comes with a built-in database backend (WATCOM SQL 32-bit relational database).

Product information.

FAQ.

Usenet newsgroup: comp.soft-sys.powerbuilder.

[Correct list of platforms?]

Last updated: 2001-03-23

power cycle

<hardware>

(Or "cycle power", "cycle") To turn a machine's power off and on, with the intention of clearing some kind of hung or gronked state. Synonym 120 reset; see also Big Red Switch. Compare Vulcan nerve pinch, bounce and boot, and see the AI Koan about Tom Knight and the novice.

[Jargon File]

Last updated: 2012-02-09

powerdomain

<theory>

The powerdomain of a domain D is a domain containing some of the subsets of D. Due to the asymmetry condition in the definition of a partial order (and therefore of a domain) the powerdomain cannot contain all the subsets of D. This is because there may be different sets X and Y such that X <= Y and Y <= X which, by the asymmetry condition would have to be considered equal.

There are at least three possible orderings of the subsets of a powerdomain:

Egli-Milner:

 X <= Y  iff  for all x in X, exists y in Y: x <= y
         and  for all y in Y, exists x in X: x <= y

("The other domain always contains a related element").

Hoare or Partial Correctness or Safety:

 X <= Y  iff  for all x in X, exists y in Y: x <= y

("The bigger domain always contains a bigger element").

Smyth or Total Correctness or Liveness:

 X <= Y  iff  for all y in Y, exists x in X: x <= y

("The smaller domain always contains a smaller element").

If a powerdomain represents the result of an abstract interpretation in which a bigger value is a safe approximation to a smaller value then the Hoare powerdomain is appropriate because the safe approximation Y to the powerdomain X contains a safe approximation to each point in X.

("<=" is written in LaTeX as \sqsubseteq).

Last updated: 1995-02-03

PowerFuL

<language>

A language combining functional programming and logic programming, using "angelic Powerdomains".

Last updated: 1998-06-30

power hit

(Or "power glitch") A sudden increase (spike) or decrease (drop-out) in the mains electricity supply. These can cause crashes and even permanent damage to computers. Computers and other electronic equipment should really include some kind of over-voltage protection in its mains input to prevent such damamge.

[Jargon File]

Power Mac

<computer>

Apple Computer's personal computer based on the PowerPC, introduced on 1994-03-14.

The Power Mac G4 (Quicksilver 2002) was the first Power Mac to clock at 1 GHz. In mid-2003, the Power Mac G5 was released, the first Mac to be based on a 64-bit architecture. IBM manufactured the CPU for this new model. The clock speed was initially 1.6 GHz but a dual 2 GHz system was available in September. Existing 680x0 code (both applications and device drivers) run on Power Mac systems without modification via a Motorola 68LC040 emulator. The performance of these unmodified applications is equivalent to a fast 68040-based Macintosh, e.g. a fast Macintosh Quadra.

The Power Mac runs Macintosh operating system from System 7.5 to Mac OS 8.5.

Power Mac Home.

Last updated: 2003-11-26

Power Macintosh

Power Mac

power-on reset

<hardware>

(POR) The processes that take place when a hardware device is turned on. This may include running power-on self-test or reloading software from non-volatile storage. The term implies that the device has some reasonably complex internal state that will be set back to a "normal" initial condition. This state may include the physical state of the device (e.g. a printer) as well as data in the memory of an embedded system.

If a device has no reset button, and sometimes even if it does, turning it off and on again (power cycling) may be the only way to clear a fault.

Last updated: 2012-02-09

power-on self-test

<hardware, testing>

(POST) A sequence of diagnostic tests that are run automatically by a device when the power is turned on.

In a personal computer a typical POST sequence does the following:

- checks that the system board is working

- checks that the memory is working

- compares the current system configuration with that recorded by the PC's configuration program to see if anything has been added or removed or broken

- starts the video operation

- checks that the diskette drive, hard disk drive, CD-ROM drive, and any other drives that may be installed are working.

When POST is finished, typically it will beep, and then let your operating system start to boot. If POST finds an error, it may beep more than once (or possibly not at all if it is your PC speaker that is broken) and display a POST error message. These messages are often nothing more than a single ominous number. Some common numbers and their meanings are:

161 Dead battery (get a new battery for the system board)

162 Configuration changed (you added some memory or a new card to the PC)

301 Keyboard error (take the book off the corner of the keyboard)

Because a successful POST indicates that the system is restored to known state, turning the power off and on is a standard way to reset a system whose software has hung. Compare 120 reset, Big Red Switch, power cycle.

Last updated: 2001-03-30

PowerOpen

The PowerOpen Association defines and promotes the PowerOpen Environment (POE).

PowerOpen Association

An independent body established to promote, and test conformance with, the PowerOpen Environment (POE).

Last updated: 1994-11-08

PowerOpen Environment

<operating system>

(POE) A definition containing API and ABI specifications based on the PowerPC architecture. It is not an operating system. The presence of the ABI specification in the POE distinguishes it from other open systems (POSIX, XPG4, etc.) since it allows platform independent binary compatibility which is otherwise typically limited to particular hardware.

The POE is an open standard, derived from AIX and conforming to industry open standards including POSIX, XPG4 and Motif. The POE specification will be publicly available to anyone wishing to produce either application programs or hardware platforms. The PowerOpen Association will provide the necessary conformance testing and POE branding.

The POE is hardware bus independent. System implementations can range from laptop computers to supercomputers. It requires a multi-user, multitasking operating system. It provides networking support, an X Window System extension, a Macintosh Application Services extension and Motif. It is conformance tested and certified by an independent party (the PowerOpen Association).

The POE specification is targeted for availability in the first quarter of 1994. The PowerOpen Association will soon have some of the information material available on-line.

Last updated: 1994-11-08

PowerPC

<processor, standard>

(PPC) A RISC microprocessor designed to meet a standard which was jointly designed by Motorola, IBM, and Apple Computer (the PowerPC Alliance). The PowerPC standard specifies a common instruction set architecture (ISA), allowing anyone to design and fabricate PowerPC processors, which will run the same code. The PowerPC architecture is based on the IBM POWER architecture, used in IBM's RS/6000 workstations. Currently IBM and Motorola are working on PowerPC chips.

The PowerPC standard specifies both 32-bit and 64-bit data paths. Early implementations were 32-bit (e.g. PowerPC 601); later higher-performance implementations were 64-bit (e.g. PowerPC 620). A PowerPC has 32 integer registers (32- or 64 bit) and 32 floating-point (IEEE standard 64 bit) floating-point registers.

The POWER CPU chip and PowerPC have a (large) common core, but both have instructions that the other doesn't. The PowerPC offers the following features that POWER does not:

Support for running in little-endian mode.

Addition of single precision floating-point operations.

Control of branch prediction direction.

A hardware coherency model (not in Book I).

Some other floating-point instructions (some optional).

The real time clock (upper and lower) was replaced with the time base registers (upper and lower), which don't count in sec/ns (the decrementer also changed).

64-bit instruction operands, registers, etc. (in 64 bit processors).

See also PowerOpen, PowerPC Platform (PReP).

IBM PPC info.

gopher://info.hed.apple.com/, "Apple Corporate News/" (press releases), "Apple Technologies/" and "Product Information/". gopher://ike.engr.washington.edu/, "IBM General News/", "IBM Product Announcements/", "IBM Detailed Product Announcements/", "IBM Hardware Catalog/".

Usenet newsgroups: comp.sys.powerpc, comp.sys.mac.hardware.

["Microprocessor Report", 16 October 1991].

Last updated: 1994-09-30

PowerPC 601

<processor>

A 32-bit RISC processor with 2.8 million transistors (~1.2 million in the core logic) and 32 kilobytes of on-chip cache. Die size: 118.8 mm2. Heat dissipation at 66MHz: 9W. Performance at 66MHz: integer >60 SPECint92, floating-point >80 SPECfp92. Estimated manufacturing cost: $76. Maximum instructions per cycle: 3. 32 32-bit general-purpose registers. 32 64-bit floating-point registers. Successors: PowerPC 603, 604, 620.

Last updated: 2000-01-12

PowerPC G3

<processor>

A processor chip from Apple Computer, Inc..

Described by Apple as "the third generation in the development of advanced processor technology" the first PowerPC G3 products were launched in 1997. It is specifically optimised for the Macintosh Operating System and uses backside cache to improve performance. The PowerPC G3 has been used by Apple in notebook, desktop and server products.

http://apple.com/powermac/technologies/g3.html.

Last updated: 1998-10-03

PowerPC Platform

<architecture, standard>

(PPCP, PReP - PowerPC Reference Platform, formerly CHRP - Common Hardware Reference Platform) An open system standard, designed by IBM, intended to ensure compatibility among PowerPC-based systems built by different companies. The PReP standard specifies the PCI bus, but will also support ISA, MicroChannel and PCMCIA.

PReP-compliant systems will be able to run the Macintosh OS, OS/2, WorkplaceOS, AIX, Solaris, Taligent and Windows NT. IBM systems will (of course) be PReP-compliant. Apple's first PowerPC Macintoshes will not be compliant, but future ones may be.

IBM info.

http://billboard.emedia.com.au/chipster/computers/CHRP/whatsCHRP.html.

[Current OS statuses?]

Last updated: 1997-03-23

PowerPC Reference Platform

PowerPC Platform

Powerpoint

<graphics, tool>

A Microsoft application for creating presentations, speeches, slides, etc.

Last updated: 1996-08-26

power save mode

<architecture>

A feature of a component or subsystem designed to actively reduce its power consumption when not in use. Almost any electronic device might benefit from having a power save mode but the most common application is for portable computers which attempt to conserve battery life by incorporating power saving modes in the CPU, display, disks, printer, or other units.

Last updated: 1995-10-14

powerset

<mathematics>

The powerset of a set S is the set of possible subsets of S, usually written PS.

Last updated: 1994-11-08

Powersoft Corporation

<company>

A leading vendor of client/server application development tools.

In February 1994, Watcom became a wholly-owned subsidiary of Powersoft Corporation which merged with Sybase on 13 February 1995. In April 1995, the new company is the fastest growing top-ten software company and the seventh largest software company in the world.

http://powersoft.com/.

Headquarters: Concord, Massachusetts, USA.

Last updated: 1995-12-27

power supply

power supply unit

power supply unit

<hardware>

(PSU) An electronic module that converts high voltage (110 or 240 VAC) alternating current mains electricity into smoothed direct current at the various differnt voltages required by the motherboard; internal peripheral devices, cheifly storage devices: hard disks, CD or DVD, floppy disks and external connections such as USB. A PSU needs a high enough power output rating to supply all the devices connected to it and should output as little as possible electrical noise, both on the output wires and as electromagnetic radiation.

See also uninterruptable power supply.

Last updated: 2007-09-20

PP96

<language>

A parallel Pascal extension.

[Details? Any relation to Parallel Pascal?]

Last updated: 1998-04-29

PPC

PowerPC

PPCP

PowerPC Platform

PPD

Parallel Presence Detect

PPGA

Plastic Pin Grid Array

ppi

pixels per inch

PPL

Polymorphic Programming Language. An interactive, extensible language, based on APL, from Harvard University.

["Some Features of PPL - A Polymorphic Programming Language", T.A. Standish, SIGPLAN Notices 4(8) (Aug 1969)].

Last updated: 1994-10-06

PPLambda

<language>

essentially the first-order predicate calculus superposed upon the simply-typed polymorphic lambda-calculus. PPLambda is the object language for LCF.

["Logic and Computation: Interactive Proof with Cambridge LCF", L. Paulson, Cambridge U Press, 1987].

Last updated: 1995-05-01

PPM

Portable Pixmap

PPN

Project-Programmer Number.

A user-ID under TOPS-10 and its various mutant progeny at SAIL, BBN, CompuServe and elsewhere. Old-time hackers from the PDP-10 era sometimes use this to refer to user IDs on other systems as well.

[Jargon File]

Last updated: 1994-11-18

PPP

Point-to-Point Protocol

PPPoA

Point-to-Point Protocol over ATM

PPPoE

Point-to-Point Protocol over Ethernet

P-Prolog

<language>

A parallel logic language.

["P-Prolog: A Parallel Logic Language Based on Exclusive Relation", R. Yang et al, Third Intl Conf on Logic Prog, 1986, pp. 255-269].

Last updated: 1994-11-18

PPTP

Point-to-Point Tunneling Protocol

PQS

Picture Quality Scale

PR

Packet Radio

pr

<networking>

The country code for Puerto Rico.

Last updated: 1999-01-27

pr0n

pron

PRA

PRAgmatics.

The language used by COPS for specification of code generators.

["Metalanguages of the Compiler Production System COPS", J. Borowiec, in GI Fachgesprach "Compiler-Compiler", ed W. Henhapl, Tech Hochs Darmstadt 1978, pp. 122-159].

Last updated: 1994-11-18

pragma

<programming>

(pragmatic information) A standardised form of comment which has meaning to the compiler or some other program. It may use a special syntax or a specific form within the normal comment syntax. A pragma usually conveys non-essential information, often intended to help the compiler to optimise the program or to generate formatted documentation.

Last updated: 2010-01-19

PRAM

<hardware>

1. parallel random-access machine.

2. parameter RAM.

Praxis Critical Systems

<company>

The company that supplies SPARK.

Last updated: 2001-07-12

pre\box

<computer>

Phase 5's Amiga clone, announced on 1998-03-10. The pre\box will have a processor card with four PowerPC processors running in parallel. The processors will range from four 200 MHz PPC604e chips to four 300MHz PPC750 chips. It will have a Voodoo2 video graphics card, as well as a custom video chip working in concert, with 8 MB of video ram. It will run Amiga OS 3.1 (or higher if Gateway 2000 delivers the next upgrade before its release) and have Motorola 68000 CPU emulation in software.

Other features include EIDE, Ultra Wide SCSI-II, PCI, Ethernet and DIMM sockets. Extra RAM, hard disks and CD-ROM will be available. The initial specification will probably be 32MB RAM, 32-speed CD and 4GB hard disk in an ATX minitower. Systems should start at about $2000 for four parallel 200 MHZ CPUs and be available at the end of 1998.

Full press release.

Last updated: 1998-07-29

PRE-CC

PREttier Compiler-Compiler.

An earlier version of PRECCX.

Last updated: 1995-01-24

PRECCX

<tool>

(Pre-C-Compiler eXtended) An infinite-lookahead compiler-compiler by Peter Breuer <[email protected]> for context dependent grammars. PRECCX generates ANSI C. Specification scripts are in very EBNF with inherited attributes and synthetic attributes allowed. Scripts can be compiled in separate modules and linked later. Meta-production rules are allowed. Grammars can be essentially LL(oo) with optimisations. A converter for yacc scripts is available.

Versions 1.xx were known as "PRECC" and only had unbounded lookahead. The 2.xx series added the "X" for "extended" and featured higher order parameterisation (inherited attributes).

Version 2.42 integrates inherited and synthesized attributes by using a "monadic" model for parsing. You can now synthsize attributes during the pass and inherit them in the remainder, e.g.

 @ foo = bar\x gum(x)

synthesises an x in bar and passes it down into gum as a parameter. Useful for @ what = ?\x did_you_say(x), for example. It now compiles into C instead of running an interpreter at parse-time.

Version 2.42 runs under Unix and MS-DOS.

http://comlab.ox.ac.uk/archive/redo/precc.html.

E-mail: Peter Breuer <[email protected]>, Jonathan Bowen <[email protected]>.

["The PRECC Compiler-Compiler" by P.T. Breuer and J.P. Bowen. In E. Davies and A. Findlay (eds.), Proc. UKUUG/SUKUG Joint New Year 1993 Conference, St. Cross Centre, Oxford, UK, 6-8 January 1993, ISBN 1 873611 06 4 (UKUUG), 0 9520700 0 6 (SUKUG) UKUUG/SUKUG Secretariat, Owles Hall, Buntingford, Herts SG9 9PL, UK, pp 167-182, 1993].

Last updated: 2000-04-24

precedence

operator precedence

precedence lossage

/pre's*-dens los'*j/ A misunderstanding of operator precedence resulting in unintended grouping of arithmetic or logical operators when coding an expression. Used especially of mistakes in C code due to the nonintuitively low precedence of "&", "|", "^", "<<" and ">>". For example, the following C expression, intended to test the least significant bit of x,

 x & 1 == 0

is parsed as

 x & (1 == 0)

which is always zero (false).

Some lazy programmers ignore precedence and parenthesise everything. Lisp fans enjoy pointing out that this can't happen in *their* favourite language, which eschews precedence entirely, requiring one to use explicit parentheses everywhere.

[Jargon File]

Last updated: 1994-12-16

precharge

<storage>

The phase in the access cycle of DRAM during which the storage capacitors are charged to the appropriate value.

Last updated: 1997-02-23

precision

<mathematics>

The number of decimal places to which a number is computed.

Compare accuracy.

Last updated: 1998-04-19

predecessor

parent

predicate calculus

predicate logic

predicate logic

<logic>

(Or "predicate calculus") An extension of propositional logic with separate symbols for predicates, subjects, and quantifiers.

For example, where propositional logic might assign a single symbol P to the proposition "All men are mortal", predicate logic can define the predicate M(x) which asserts that the subject, x, is mortal and bind x with the universal quantifier ("For all"):

 All x . M(x)

Higher-order predicate logic allows predicates to be the subjects of other predicates.

Last updated: 2002-05-21

predict

<simulation>

1. simulation, predictive analytics.

<architecture>

2. branch prediction.

<audio, compression>

3. predictive audio compression.

predomain

<theory>

A domain with no bottom element.

Last updated: 1995-05-04

pre-emptive multitasking

<operating system, parallel>

A type of multitasking where the scheduler can interrupt and suspend ("swap out") the currently running task in order to start or continue running ("swap in") another task. The tasks under pre-emptive multitasking can be written as though they were the only task and the scheduler decides when to swap them. The scheduler must ensure that when swapping tasks, sufficient state is saved and restored that tasks do not interfere.

The length of time for which a process runs is known as its "time slice" and may depend on the task's priority or its use of resources such as memory and I/O.

OS/2, Unix and the Amiga use pre-emptive multitasking.

This contrasts with cooperative multitasking where each task must include calls to allow it to be descheduled periodically.

Last updated: 1995-03-20

prefetch

instruction prefetch

prefix

<unit>

1. An SI prefix used to multiply the value of an SI unit by some power of ten.

<programming, mathematics>

2. In mathematics or programming, a prefix operator is one that is written before its operand. In a programming language using prefix notation, all operators are prefix operators.

Last updated: 2014-07-08

prefix notation

<language>

(Or "prefix syntax") One of the possible orderings of functions and operands: in prefix notation the function precedes all its operands. For example, what may normally be written as "1+2" becomes "(+ 1 2)". A few languages (e.g., lisp) have strictly prefix syntax, many more employ prefix notation in combination with infix notation.

The opposite, postfix notation, is somewhat rarer.

Last updated: 2014-07-08

prefix syntax

prefix notation

pre-order

<theory>

1. traversal.

2. A relation R is a pre-order if it is reflexive (x R x) and transitive (x R y R z => x R z).

If a pre-order is also antisymmetric (x R y R x => x = y) then it is a partial ordering.

Last updated: 2001-10-01

pre-order traversal

traversal

PREP

1. (PReP) PowerPC Reference Platform.

2. (PREP) PRogrammed Electronics Patterns. Language for designing integrated circuits. ["Computer Assisted Mask Production", R.L. Rosenfeld, Proc IEEE 57(9) Sep 1969].

prepaging

<architecture>

(Or "working set model") A technique whereby the operating system in a paging virtual memory multitasking environment loads all pages of a process's working set into memory before the process is restarted.

Under demand paging a process accesses its working set by page faults every time it is restarted. Under prepaging the system remembers the pages in each process's working set and loads them into physical memory before restarting the process. Prepaging reduces the page fault rate of reloaded processes and hence generally improves CPU efficiency.

["Modern Operating Systems", Andrew S. Tanenbaum, pub. Prentice Hall, Inc. 1992].

Last updated: 1998-04-23

prepend

<jargon>

/pree'pend'/ (by analogy with "append") To prefix or add to the beginning.

[Jargon File]

Last updated: 1998-04-23

preprocessor

<programming>

A program that transforms input data in some way before it is read by the main program. In the case of a compiler, the input is source code. The main advantage of using a preprocessor is that it is possible to change the specification of the input data without changing the main program. The separation can also help to make the system's overall behaviour easier to understand. The disadvantage is that performance may be reduced by the extra input and output performed between the two programs.

For example, the C preprocessor, cpp, handles textual macro substitution (it acts as a "macro preprocessor"), conditional compilation and inclusion of other files.

A preprocessor may be used to transform a program into a simpler language, e.g. to transform C++ into C.

Last updated: 2007-04-05

pre-sales support rep

<job>

A person who supports sales by analysing customer requirements, proposing and demonstrating technical solutions, ensuring acceptable product installations, training users and providing initial technical support.

Last updated: 2004-03-20

presence detect

<storage>

A means of identifying a memory chip to the memory controller logic. The original scheme, Parallel Presence Detect (PPD) used a separate pin for each bit of information. The limited number of pins available only gave the density and the speed of the chips. To pass more information, the Serial Presence Detect (SPD) scheme was introduced, storing the information in serial EEPROM with one pin to enable it and one for data.

Last updated: 2012-06-25

presentation layer

<networking>

The second highest layer (layer 6) in the OSI seven layer model. Performs functions such as text compression, code or format conversion to try to smooth out differences between hosts. Allows incompatible processes in the application layer to communicate via the session layer.

Documents: ITU Rec. X.226 (ISO 8823), ITU Rec. X.216 (ISO 8822).

Last updated: 1996-07-20

Presentation Manager

The elephantine graphical user interface to the OS/2 operating system.

prestidigitization

/pres`t*-di"j*-ti:-zay"sh*n/ 1. A term coined by Daniel Klein <[email protected]> for the act of putting something into digital notation via sleight of hand.

["Open Channel", IEEE "Computer", November 1981].

2. Data entry through legerdemain.

[Jargon File]

Last updated: 1994-11-01

PRESTO

A parallel language for shared-memory multiprocessors, built on top of C++ by Bershad et al, U Washington 1987. PRESTO provides classes for threads and spinlocks as well as Mesa-style monitors and condition variables.

ftp://cs.washington.edu/pub/presto1.0.tar.Z. E-mail: <[email protected]>.

["PRESTO: A Kernel for Parallel Programming Environments", B.N. Bershad et al, U Wash CS TR, Jan 1987].

Pretty Amazing New Stuff

<humour, communications>

(PANS) What PSTN is evolving into.

Last updated: 1996-10-16

Pretty Good Privacy

<tool, cryptography>

(PGP) A high security RSA public-key encryption application for MS-DOS, Unix, VAX/VMS, and other computers. It was written by Philip R. Zimmermann <[email protected]> of Phil's Pretty Good(tm) Software and later augmented by a cast of thousands, especially including Hal Finney, Branko Lankester, and Peter Gutmann.

PGP was distributed as "guerrilla freeware". The authors don't mind if it is distributed widely, just don't ask Philip Zimmermann to send you a copy. PGP uses a public-key encryption algorithm claimed by US patent #4,405,829. The exclusive rights to this patent are held by a California company called Public Key Partners, and you may be infringing this patent if you use PGP in the USA. This is explained in the PGP User's Guide, Volume II.

PGP allows people to exchange files or messages with privacy and authentication. Privacy and authentication are provided without managing the keys associated with conventional cryptographic software. No secure channels are needed to exchange keys between users, which makes PGP much easier to use. This is because PGP is based on public-key cryptography.

PGP encrypts data using the International Data Encryption Algorithm with a random session key, and uses the RSA algorithm to encrypt the session key.

In December 1994 Philip Zimmermann faced prosecution for "exporting" PGP out of the United States but in January 1996 the US Goverment dropped the case. A US law prohibits the export of encryption software out of the country. Zimmermann did not do this, but the US government hoped to establish the proposition that posting an encryption program on a BBS or on the Internet constitutes exporting it - in effect, stretching export control into domestic censorship. If the government had won it would have had a chilling effect on the free flow of information on the global network, as well as on everyone's privacy from government snooping.

FAQ. UK FTP. USA FTP. http://pegasus.esprit.ec.org/people/arne/pgp.html.

Justice Dept. announcement.

["Protect Your Privacy: A Guide for PGP Users", William Stallings, Prentice-Hall, ISBN 0-13-185596-4].

Last updated: 1996-04-07

pretty pictures

(scientific computation) The next step up from numbers. Interesting graphical output from a program that may not have any sensible relationship to the system the program is intended to model, but good for showing to management.

[Jargon File]

Last updated: 1995-02-15

prettyprint

/prit'ee-print/ (Or "pretty-print") To generate "pretty" human-readable output from a hairy internal representation; especially used for the process of grinding program code.

[Jargon File]

Last updated: 1995-02-15

pretzel key

feature key

preventive maintenance

(PM) To bring down a machine for inspection or test purposes.

See provocative maintenance, scratch monkey.

Last updated: 1995-02-15

PRI

ISDN Primary Rate Interface.

See also BRI

Last updated: 1994-12-08

primary cache

<hardware, architecture>

(L1 cache, level one cache) A small, fast cache memory inside or close to the CPU chip.

For example, an Intel 80486 has an eight-kilobyte on-chip cache, and most Pentiums have a 16-KB on-chip level one cache that consists of an 8-KB instruction cache and an 8-KB data cache.

The larger, slower secondary cache is normally connected to the CPU via its external bus.

Last updated: 1997-06-25

Primary Domain Controller

<networking>

(PDC) Each Windows NT domain has a Primary Domain Controller and zero or more Backup Domain Controllers. The PDC holds the SAM database and authenticates access requests from workstations and servers in the domain.

Last updated: 2003-07-16

primary key

<database>

A unique identifier, often an integer, that labels a certain row in a table of a relational database.

When this value occurs in other tables as a reference to a particular row in the first table it is called a "foreign key".

Some RDBMSes can generate a new unique identifier each time a new row is inserted, others merely allow a column to be constrained to contain unique values.

A table may have multiple candidate keys, from which the primary key is chosen. The primary key should be an arbitrary value, such as an autoincrementing integer. This avoids dependence on uniqueness, permanence and format of existing columns with real-world meaning (e.g. a person's name) or other external identifier (e.g. social security number).

There should be enough possible primary key values to cater for the current and expected number of rows, bearing in mind that a wider column will generally be slower to process.

Last updated: 2006-05-29

primary management domain

<messaging>

(PRMD) The component of an X.400 electronic mail address that gives the organisation name, usually abbreviated to p= in written addresses.

See also ADMD.

Last updated: 2003-05-15

Primary Rate Interface

(PRI) A type of ISDN connection. In North America and Japan, this consists of 24 channels, usually divided into 23 B channels and 1 D channel, and runs over the same physical interface as T1. Elsewhere the PRI has 31 user channels, usually divided into 30 B channels and 1 D channel and is based on the E1 interface.

PRI is typically used for connections such as one between a PBX (private branch exchange, a telephone exchange operated by the customer of a telephone company) and a CO (central office, of the telephone company) or IXC (inter exchange carrier, a long distance telephone company).

Last updated: 1995-01-18

primary storage

main memory

Prime Computer

<company>

(Or "Pr1ME") A minicomputer manufacturer.

[Dates? Status? Products? Addresses?]

Last updated: 1996-09-28

Primenet, Inc.

Arizona's Internet provider.

Last updated: 1994-12-08

prime number theorem

<mathematics>

The number of prime numbers less than x is about x/log(x). Here "is about" means that the ratio of the two things tends to 1 as x tends to infinity. This was first conjectured by Gauss in the early 19th century, and was proved (independently) by Hadamard and de la Vall'ee Poussin in 1896. Their proofs relied on complex analysis, but Erdös and Selberg later found an "elementary" proof.

Last updated: 1995-04-10

prime time

(From TV programming) Normal high-usage hours on a time-sharing system; the day shift. Avoidance of prime time was traditionally given as a major reason for night mode hacking. The rise of the personal workstation has rendered this term, along with time-sharing itself, almost obsolete. The hackish tendency to late-night hacking runs has changed not a bit.

[Jargon File]

Last updated: 1995-01-18

primitive

<programming>

A function, operator, or type which is built into a programming language (or operating system), either for speed of execution or because it would be impossible to write it in the language. Primitives typically include the arithmetic and logical operations (plus, minus, and, or, etc.) and are implemented by a small number of machine language instructions.

Last updated: 1995-05-01

Princeton University

<body, education>

Chartered in 1746 as the College of New Jersey, Princeton was British North America's fourth college. First located in Elizabeth, then in Newark, the College moved to Princeton in 1756. The College was housed in Nassau Hall, newly built on land donated by Nathaniel and Rebeckah FitzRandolph. Nassau Hall contained the entire College for nearly half a century. The College was officially renamed Princeton University in 1896; five years later in 1900 the Graduate School was established.

Fully coeducational since 1969, Princeton now enrolls approximately 6,400 students (4,535 undergraduates and 1,866 graduate students). The ratio of full-time students to faculty members (in full-time equivalents) is eight to one.

Today Princeton's main campus in Princeton Borough and Princeton Township consists of more than 5.5 million square feet of space in 160 buildings on 600 acres. The University's James Forrestal Campus in Plainsboro consists of one million square feet of space in four complexes on 340 acres.

As Mercer County's largest private employer and one of the largest in the Mercer/Middlesex/Somerset County region, with approximately 4,830 permanent employees - including more than 1,000 faculty members - the University plays a major role in the educational, cultural, and economic life of the region.

http://princeton.edu/index.html.

Last updated: 1994-01-19

principal type

The most general type of an expression. For example, the following are all valid types for the lambda abstraction (\ x . x):

 Int -> Int
 Bool -> Bool
 (a->b) -> (a->b)

but any valid type will be an instance of the principal type: a -> a. An instance is derived by substituting the same type expression for all occurences of some type variable. The principal type of an expression can be computed from those of its subexpressions by Robinson's unification algorithm.

Last updated: 1994-12-16

PRINT

<language>

PRe-edited INTerpreter.

An early mathematics language for the IBM 705.

[Sammet 1969, p. 134].

Last updated: 1995-05-01

printed circuit board

<hardware>

(PCB) A thin board to which electronic components are fixed by solder. Component leads and integrated circuit pins may pass through holes ("vias") in the board or they may be surface mounted, in which case no holes are required (though they may still be used to connect different layers).

The simplest kind of PCB has components and wires on one side and interconnections (the printed circuit) on the other. PCBs may have components mounted on both sides and may have many internal layers, allowing more connections to fit in the same board area. Boards with internal conductor layers usually have "plated-through holes" to improve the electrical connection to the internal layers.

The connections are metal strips (usually copper). The pattern of connections is often produced using photo-resist and acid etching. Boards, especially those for high frequency circuits such as modern microprocessors, usually have one or more "ground planes" and "power planes" which are large areas of copper for greater current carrying ability.

A computer or other electronic system might be built from several PCBs, e.g. processor, memory, graphics controller, disk controller etc. These boards might all plug into a motherboard or backplane or be connected by a ribbon cable.

Last updated: 1995-05-01

printer

<printer>

A peripheral device for producing text and images on paper. There are many different types, broadly grouped into "impact printers" and "non-impact printers".

Compare plotter. See also Braille printer, tree-killer.

Last updated: 1996-01-13

Printer Access Protocol

<networking, protocol, printer>

(PAP) A protocol used in Mac OS Appletalk to provide bi-directional communication between PostScript printers and the client computer.

Last updated: 1999-03-02

printer port

<hardware, printer>

A connector found on many microcomputers intended for attaching a printer. This may be a general-purpose input/output parallel port or may be a special Centronics interface.

Most printers can also be connected to a serial port but that is unlikely to be described as a "printer port".

Last updated: 1996-01-07

printf

<library>

The standard function in the C programming language library for printing formatted output.

The first argument is a format string which may contain ordinary characters which are just printed and "conversion specifications" - sequences beginning with '%' such as %6d which describe how the other arguments should be printed, in this case as a six-character decimal integer padded on the right with spaces.

Possible conversion specifications are d, i or u (decimal integer), o (octal), x, X or p (hexadecimal), f (floating-point), e or E (mantissa and exponent, e.g. 1.23E-22), g or G (f or e format as appropriate to the value printed), c (a single character), s (a string), % (i.e. %% - print a % character). d, i, f, e, g are signed, the rest are unsigned.

The variant fprintf prints to a given output stream and sprintf stores what would be printed in a string variable.

Unix manual page: printf(3).

Last updated: 1996-12-08

PRINT I

An early system on IBM 705.

[CACM 2(5):16 (May 1959)].

printing discussion

[XEROX PARC] A protracted, low-level, time-consuming, generally pointless discussion of something only peripherally interesting to all.

[Jargon File]

print server

<printer>

A server device that is set up on a network to route print requests and status information between computers and printers connected by a network. A typical print server routes print requests for multiple computers and printers on a network.

For example, a networked workstation user submits a print command that includes a print file and information about the printer to be used, usually a nearby printer for convenience. The print server sends the print file to the requested printer. The printer spools the print file and provides job status. The print server relays the status of the printer back to the workstation and makes this status information available to other devices on the network.

Last updated: 1999-02-18

Print Services Facility

<printer>

(PSF) IBM's system software which generates native IBM printer language, IPDS and, depending on the version, PostScript and LaserJet PCL.

See also: Advanced Function Presentation.

Last updated: 1998-06-28

priority inheritance

<parallel>

A technique for avoiding priority inversion by temporarily raising the prioriry of all processes that want to access a shared resource to the highest priority level of any of them. Priority inversion occurs where a low priority process, L is holding a resource required by a high priority process, H, but L is not running because a medium priority process, M is running. Under priority inheritance, L temporarily inherits H's priority, allowing L to run and release the resource H is waiting for.

For example, an ambulance (H) is stuck behind a lorry (L) waiting at a junction (the shared resource) for a gap in a line of cars (M) using the junction. Applying priority inheritance, the cars give way to the lorry as they would to the ambulance, thus allowing the lorry and then the ambulance to use the junction.

Last updated: 2005-02-11

priority interrupt

<jargon>

Any stimulus compelling enough to yank one right out of hack mode. Classically used to describe being dragged away by an SO for immediate sex, but may also refer to more mundane interruptions such as a fire alarm going off in the near vicinity. Also called an NMI (non-maskable interrupt), especially in PC-land.

[Jargon File]

Last updated: 2005-02-13

priority inversion

<parallel>

The state of a concurrent system where a high priority task is waiting for a low priority task which is waiting for a medium priority task. The system may become unstable and crash under these circumstances.

In an operating system that uses multiple tasks, each task (or context) may be given a priority. These priorities help the scheduler decide which task to run next. Consider tasks, L, M, and H, with priorities Low, Medium, and High. M is running and H is blocked waiting for some resource that is held by L. So long as any task with a priority higher than L is runable, it will prevent task L, and thus task H, from running.

Priority inversion is generally considered either as a high-level design failure or an implementation issue to be taken into account depending on who is talking. Most operating systems have methods in place to prevent or take inversion into account. Priority inheritance is one method.

The most public instance of priority inversion is the repeated 'fail-safe' rebooting of the Mars Pathfinder. base station ('Sagan Memorial Station').

Last updated: 2003-06-04

priority queue

<programming>

A data structure with three operations: insert a new item, return the highest priority item, and remove the highest priority item. The obvious way to represent priority queues is by maintaining a sorted list but this can make the insert operation very slow. Greater efficiency can be achieved by using heaps.

Last updated: 1996-03-12

priority scheduling

<operating system>

Processes scheduling in which the scheduler selects tasks to run based on their priority as opposed to, say, a simple round-robin.

Priorities may be static or dynamic. Static priorities are assigned at the time of creation, while dynamic priorities are based on the processes' behaviour while in the system. For example, the scheduler may favour I/O-intensive tasks so that expensive requests can be issued as early as possible.

A danger of priority scheduling is starvation, in which processes with lower priorities are not given the opportunity to run. In order to avoid starvation, in preemptive scheduling, the priority of a process is gradually reduced while it is running. Eventually, the priority of the running process will no longer be the highest, and the next process will start running. This method is called aging.

PRISM

A distributed logic language.

["PRISM: A Parallel Inference System for Problem Solving", S. Kasif et al, Proc 1983 Logic Prog Workshop, pp. 123-152].

Prisoner of Bill

<humour>

(PoB) A derisory term, in use generally among Unix users, for anyone who uses Microsoft products either because they don't know there is anything better (i.e. Unix) or because they would be incapable of working anything more complex (i.e. Unix).

The interesting and widespread presumption among users of the term is that (at least at the time of writing, 1998) using anything other than Unix or a Microsoft OS (whether VMS, Macintosh, Amiga) is so eccentric a choice as to be at least somewhat praiseworthy.

Last updated: 1998-09-07

privacy

<security>

An attribute of a system's security that ensures that only intended or desired people or bodies can read a message or piece of stored data. Privacy is often enforced by some kind of access control or encryption.

Last updated: 2011-06-03

Privacy Enhanced Mail

<messaging< (PEM) Internet electronic mail which provides confidentiality, authentication and message integrity using various encryption methods.

See also Pretty Good Privacy.

Last updated: 2009-06-03

private

privacy

Private Automatic Branch eXchange

<communications>

(PABX) A telephone exchange operated within an organisation, used for switching calls between internal lines and between internal and PSTN lines. In contrast to a PMBX, a PABX can route calls without manual intervention, based entirely on the number dialed. Not all PABXs can route external calls to internal numbers automatically however.

Last updated: 1998-08-07

Private Branch Exchange

<communications>

(PBX) A telephone exchange local to a particular organisation who use, rather than provide, telephone services. The earliest PBXs were manual (Private Manual Branch EXchange, PMBX) but are now more likely to be automatic (Private Automatic Branch eXchange).

Last updated: 1997-06-25

private key

<cryptography>

A piece of data used in private-key cryptography and public-key cryptography. In the former the private key is known by both sender and recipient whereas in the latter it is known only to the sender.

Last updated: 2008-02-07

private-key cryptography

<cryptography>

As opposed to public-key cryptography, a cryptographic method in which the same key is used to encrypt and decrypt the message. Private-key algorithms include the obsolescent Data Encryption Standard (DES), triple-DES (3DES), the Advanced Encryption Standard (AES), also known as Rijndael, Blowfish, Twofish RC2, RC4, RC5 and RC6.

A problem with private-key cryptography is that the sender and the recipient of the message must agree on a common key via some alternative secure channel.

Public-key cryptography gives an answer to this problem.

Last updated: 2008-02-07

Private Manual Branch eXchange

<communications>

(PMBX) The original manual equivalent of a PABX; a PMBX involves company employed operators manually switching each call using a manual switchboard.

Last updated: 1998-08-07

privileged instruction

A machine code instruction that may only be executed when the processor is running in supervisor mode. Privileged instructions include operations such as I/O and memory management.

Last updated: 1995-02-15

PRL

Proof Refinement Logic.

Versions: micro-PRL, lambda-PRL, nu-PRL.

["PRL: Proof Refinement Logic Programmer's Manual", CS Dept, Cornell, 1983].

Last updated: 1995-01-24

PRMD

primary management domain

PRML

Partial Response Maximum Likelihood

probabilistic

<probability>

Relating to, or governed by, probability. The behaviour of a probabilistic system cannot be predicted exactly but the probability of certain behaviours is known. Such systems may be simulated using pseudorandom numbers. Evolutionary computation uses probabilistic processes to generate new (potential) solutions to a problem.

See also deterministic, non-probabilistic.

Last updated: 1995-09-22

probabilistic automaton

nondeterministic automaton

Probability of Failure on Demand

<systems>

(POFOD) The likelihood that some system will fail when a service request is made.

Last updated: 2010-09-26

Probe

An object-oriented logic language based on ObjVlisp.

["Proposition d'une Extension Objet Minimale pour Prolog", Actes du Sem Prog en Logique, Tregastel (May 1987), pp. 483-506].

problem state

IBM jargon for user mode, the opposite of "supervisor state".

On IBM System 360, 370 and 390 mainframes privileged instructions may only be executed in "supervisor state". Application programs request the operating system to perform these operations by using the Supervisor Call (SVC) instruction.

Last updated: 1995-02-15

Problem Statement Language/Problem Statement Analyser

<language>

(PSL/PSA) A CASE system developed by D. Teichroew that allows computer-based development and analysis of a statement of requirements, and assistance during the design phase.

Last updated: 2010-01-26

PROC

<language>

The job control language used in the Pick operating system.

["Exploring the Pick Operating System", J.E. Sisk et al, Hayden 1986].

Last updated: 1998-10-13

procedural

procedural language

procedural language

<language>

Any programming language in which the programmer specifies an explicit sequences of steps to follow to produce a result (an algorithm).

The term should not be confused with "imperative language" - a language that specifies explicit manipulation of state. An example (non-imperative) procedural language is LOGO, which specifies sequences of steps to perform but does not have an internal state.

Other procedural languages include Basic, Pascal, C, and Modula-2.

Both procedural and imperative languages are in contrast to declarative languages, in which the programmer specifies neither explicit steps nor explicit state manipulation.

Last updated: 2004-05-17

Procedural Language/SQL

<language>

(PL/SQL) Oracle Corporation's proprietary procedural language extension of industry-standard SQL.

[Features? Reference? Any relation to PL/I?]

Last updated: 1999-09-14

procedure

subroutine

proceedings

<publication>

(Proc.) A printed collection of papers presented at a conference or meeting, e.g. "The Proceedings of the Fifth International Conference on Microelectronics for Neural Networks and Fuzzy Systems". Along with learned journals, conference proceedings are a major repository of peer-reviewed research results.

Last updated: 2008-07-16

process

<operating system, software>

1. The sequence of states of an executing program. A process consists of the program code (which may be shared with other processes which are executing the same program), private data, and the state of the processor, particularly the values in its registers. It may have other associated resources such as a process identifier, open files, CPU time limits, shared memory, child processes, and signal handlers.

One process may, on some platforms, consist of many threads. A multitasking operating system can run multiple processes concurrently or in parallel, and allows a process to spawn "child" processes.

Last updated: 2001-06-16

<business>

2. The sequence of activities, people, and systems involved in carrying out some business or achieving some desired result. E.g. software development process, project management process, configuration management process.

Last updated: 2001-06-16

Process and Experiment Automation Real-Time Language

<language>

(PEARL) A real-time language for programming process control systems, widely used in Europe. Size and complexity exceeds Ada. Defined in DIN 66253 Teil 2.

["Programmiersprache PEARL", Beuth-Verlag, Nov 1980].

Last updated: 2000-08-16

process data

data processing

Process Design Language 2

<language>

(PDL2) A language developed for the Texas Instruments ASC computer.

["Texas Instruments Process Design Methodology - Design Specification: Process Design Language", Volume I (Sep 1976)].

[Mentioned in "An Overview of Ada" J.G.P. Barnes, Soft Prac & Exp 10:851-887 (1980)].

Last updated: 1995-08-13

process ID

process identifier

process identifier

<operating system>

(PID) An integer used by the Unix kernel to uniquely identify a process. PIDs are returned by the fork system call and can be passed to wait() or kill() to perform actions on the given process.

Last updated: 1996-12-09

processing

<data>

Performing some predefined sequence of operations on an input to produce an output or change of internal state; activity specifically involving the computer's CPU.

The term is often qualified: "data processing" treats digital data, "signal processing" treats analog data (possibly in digital form), "word processing" takes in typed human language input and produces digital documents, image processing transforms digital images.

Last updated: 2003-10-23

processor

central processing unit

Processor Direct Slot

<hardware>

(PDS) Apple Computer's name for a local bus connection. Most Macintoshes have only one PDS connector. Different Apple computers have different PDS specifications.

Last updated: 1995-05-02

processor farm

<computer, parallel>

A parallel processor where tasks are distributed, or "farmed out", by one "farmer" processor to several "worker" processors, and results are sent back to the farmer. This arrangement is suitable for applications which can be partitioned into many separate, independent tasks, the canonical examples being ray tracing and the Mandelbrot set. In order to be efficient, the extra time spent on communications must be small compared to the time spent processing each task.

Last updated: 2001-05-28

Processor System Modeling Language

<language>

(PSML) A language for simulating computer systems designs, implemented as a preprocessor to SIMSCRIPT.

["Processor System Modeling - A Language and Simulation System", F. Pfisterer, Proc Symp on Simulation of Computer Systems, Aug 1976].

Last updated: 2009-05-11

processor time

<software>

The amount of time a process takes to run, given that it has exclusive and uninterrupted use of the CPU. Note that in a modern computer, this would be very unusual, and so the processor time calculation for most processes involves adding up all the small amounts of time the CPU actually spends on the process.

Some systems break processor time down into user time and system time.

Compare wall clock time.

Last updated: 1998-03-13

process scheduling

multitasking

process table

<operating system, process>

A table containing all of the information that must be saved when the CPU switches from running one process to another in a multitasking system.

The information in the process table allows the suspended process to be restarted at a later time as if it had never been stopped. Every process has an entry in the table. These entries are known as process control blocks and contain the following information:

process state - information needed so that the process can be loaded into memory and run, such as the program counter, the stack pointer, and the values of registers.

memory state - details of the memory allocation such as pointers to the various memory areas used by the program

resource state - information regarding the status of files being used by the process such as user ID.

Accounting and scheduling information.

An example of a UNIX process table is shown below.

 SLOT  ST  PID  PGRP  UID  PRI  CPU  EVENT  NAME  FLAGS
  0    s    0     0     0   95   0  runout  sched load sys
  1    s    1     0     0   66   1    u     init  load
  2    s    2     0     0   95   0  10bbdc  vhand load sys

SLOT is the entry number of the process.

ST shows whether the process is paused or sleeping (s), ready to run (r), or running on a CPU (o).

PID is the process ID.

PGRP is the process Group.

UID is the user ID.

PRI is the priority of the process from 127 (highest) to 0 (lowest).

EVENT is the event on which a process is paused or sleeping.

NAME is the name of the process.

FLAGS are the process flags.

A process that has died but still has an entry in the process table is called a zombie process.

Last updated: 1998-04-24

PROCOL

<language>

A parallel object language with protocols, constraints and distributed delegation by J. Van Den Bos of Erasmus University, Rotterdam.

["PROCOL: A Parallel Object Language with Protocols", J. Van Den Bos et al, SIGPLAN Notices 24(10):95-102 (OOPSLA '89), Oct 1989].

Last updated: 1998-03-23

Procomm

<communications, product>

A terminal emulator program, originally from Datastorm Technologies, used for connection to BBSes etc.

Procomm Plus for Windows incorporates automatic modem detection, a custom log-on script generator and sophisticated off-line message managers for CompuServe and MCI Mail. It also has a fax send and receive capability.

Version 2.0 was chosen as the Editors Choice in PC Magazine 1995-03-14.

Procomm Plus is now distributed by Symantec, Inc..

Procomm Home.

Version 2.4.3 1989-01-01.

Current Version: Procomm Plus 4.8, as of 2004-06-29.

Last updated: 2004-06-29

Procrustean string

<programming>

A fixed-length string. If a string value is too long for the allocated space, it is truncated to fit; and if it is shorter, the empty space is padded, usually with space characters.

This is an allusion to Procrustes, a legendary robber of ancient Attica. He bound his victims to a bed, and if they were shorter than the bed, he stretched their limbs until they would fit; if their limbs were longer, he lopped them off.

Last updated: 1997-09-12

Prodigy

<networking>

A commercial on-line conferencing service, co-developed by IBM and Sears, Roebuck, Inc.

Prodigy's main competitors are AOL and Compuserve.

Last updated: 1995-03-01

ProDoc

<documentation>

A set of tools for software documentation from SPC.

Last updated: 2006-10-12

product

<mathematics, programming>

An expression in mathematics or computer programming consisting of two other expressions multiplied together. In mathematics, multiplication is usually represented by juxtaposition, e.g. "x y", whereas in programming, "*" is used as an infix operator, e.g. "salary * tax_rate.

In the most common type of product, each operand is a number (integer, real number, fraction or imaginary number) but the term extends naturally to cover more complex operations like multiplying a string by an integer (e.g., in Perl, "foo" x 2) or multiplying vectors and matrices or more than two operands.

In type systems, a tuple is sometimes known as a "product type".

Last updated: 2006-10-12

production system

<programming>

A production system consists of a collection of productions (rules), a working memory of facts and an algorithm, known as forward chaining, for producing new facts from old. A rule becomes eligible to "fire" when its conditions match some set of elements currently in working memory. A conflict resolution strategy determines which of several eligible rules (the conflict set) fires next. A condition is a list of symbols which represent constants, which must be matched exactly; variables which bind to the thing they match and "<> symbol" which matches a field not equal to symbol.

Example production systems are OPS5, CLIPS, flex.

Last updated: 2005-06-17

Professional Graphics Adapter

<graphics, specification>

(PGA) A computer video display standard produced by IBM for early CAD applications. It had a resolution of 640x400 pixels.

Last updated: 1997-04-25

Professional Office System

<messaging>

(PROFS) An office messaging system from IBM, used worldwide, mainly on IBM mainframes.

Last updated: 1996-03-23

professional programming

paranoid programming

professional services

<job>

A department of a supplier providing consultancy and programming manpower for the supplier's products.

Last updated: 2004-03-09

PROFILE

Simple language for matching and scoring data. "User's Manual for the PROFILE System", Cambridge Computer Assoc (May 1974).

[Jargon File]

profile

1. A control file for a program, especially a text file automatically read from each user's home directory and intended to be easily modified by the user in order to customise the program's behaviour. Used to avoid hard-coded choices (see also dot file, rc file).

2. A report on the amounts of time spent in each routine of a program, used to find and tune away the hot spots in it. This sense is often verbed. Some profiling modes report units other than time (such as call counts) and/or report at granularities other than per-routine, but the idea is similar.

PROFS

Professional Office System

PROGENY

1961. Report generator for UNIVAX SS90.

proglet

/prog'let/ [UK] A short extempore program written to meet an immediate, transient need. Often written in BASIC, rarely more than a dozen lines long and containing no subroutines. The largest amount of code that can be written off the top of one's head, that does not need any editing, and that runs correctly the first time (this amount varies significantly according to one's skill and the language one is using). Compare toy program, noddy, one-liner wars.

[Jargon File]

program

software

Program Composition Notation

(PCN) A specification language for parallelism between C and Fortran modules. PCN provides a simple language for specifying concurrent algorithms, interfaces to Fortran and C, a portable toolkit that allows applications to be developed on a workstation or small parallel computer and run unchanged on supercomputers and integrated debugging and performance analysis tools. PCN was developed at Argonne National Laboratory and the California Institute of Technology. It has been used to develop a wide variety of applications, in areas such as climate modelling, fluid dynamics, computational biology, chemistry, and circuit simulation.

Version 2.0 runs on networks of workstations: Sun-4, NeXT, RS/6000, SGI; multicomputers: iPSC/860, Touchstone DELTA; and shared memory multiprocessors: Symmetry/Dynix.

ftp://info.mcs.anl.gov/pub/pcn.

E-mail: Ian Foster <[email protected]>, Steve Tuecke <[email protected]>.

["Productive Parallel Programming: The PCN Approach", I. Foster et al, Sci Prog 1(1):51-66 (1992)].

Last updated: 1993-02-12

program counter

<hardware>

(PC) A register in the central processing unit that contains the addresss of the next instruction to be executed. After each instruction is fetched, the PC is automatically incremented to point to the following instruction. It is not normally manipulated like an ordinary register but instead, special instructions are provided to alter the flow of control by writing a new value to the PC, e.g. JUMP, CALL, RTS.

IBM call it the Instruction Address Register.

Last updated: 1995-03-21

Program Design Language

Any of a large class of formal and profoundly useless pseudo-languages in which management forces one to design programs. Too often, management expects PDL descriptions to be maintained in parallel with the code, imposing massive overhead of little or no benefit.

See also flow chart.

Last updated: 1995-04-01

Program Evaluation and Review Technique

<programming>

(PERT) A method used to size a software product and calculate the Standard Deviation (SD) for risk assessment. The PERT equation (beta distribution) estimates the Equivalent Delivered Source Instructions (EDSIs) and the SD based on the analyst's estimates of the lowest possible size, the most likely size, and the highest possible size of each computer program component (CPC).

Last updated: 1996-05-29

Program Information File

<file format>

Under Windows, a file providing information on how a non-Windows application program should be run, including how much memory should be allocated to it and what graphics interface it requires.

Filename extension: .pif

Last updated: 1997-10-11

Programmable Airline Reservation System

<application>

(PARS) An IBM proprietary large scale airline reservation application, executing under the control of IBM's ACP (and later its successor, TPF).

In the early days of automated reservations systems in the 1960s and 1970s the combination of ACP and PARS provided unprecendented scale and performance from an on-line real-time system, and for a considerable period ranked among the largest networks and systems of the era.

IPARS was the international version.

Last updated: 1999-01-18

Programmable Array Logic

<hardware>

(PAL) A family of fuse-programmable logic integrated circuits originally developed by MMI. Registered or combinatorial output functions are modelled in a sum of products form. Each output is a sum (logical or) of a fixed number of products (logical and) of the input signals. This structure is well suited for automatic generation of programming patterns by logic compilers.

PAL devices are programmed by blowing the fuses permanently using overvoltage.

Today, more complex devices based on the same original architecture are available (CPLD's for Complex PLD's) that incorporate the equivalent of several original PAL chips. PAL chips are, however, still popular due to their high speed.

Generic Array Logic devices are reprogrammable and contain more logic gates.

Last updated: 1995-12-09

Programmable Interrupt Controller

<integrated circuit>

PIC A special-purpose integrated circuit that functions as an overall manager in an interrupt driven system. It accepts requests from the peripheral equipment, determines which of the incoming requests is of the highest priority, ascertains whether the incoming request has a higher priority value than the level currently being serviced, and issues an interrupt to the CPU based on this determination.

PICs typically have eight interrupt lines, and two PICs are often cascaded to provide 15 available interrupt lines.

See also: Advanced Programmable Interrupt Controller.

Last updated: 2003-03-18

Programmable Logic Controller

<hardware>

(PLC) A device used to automate monitoring and control of industrial plant. Can be used stand-alone or in conjunction with a SCADA or other system.

Last updated: 1997-02-11

Programmable Read-Only Memory

<storage>

(PROM) A kind of ROM which can be written using a PROM programmer. The contents of each bit is determined by a fuse or antifuse. The memory can be programmed once after manufacturing by "blowing" the fuses, which is an irreversible process. Blowing a fuse opens a connection while blowing an antifuse closes a connection (hence the name). Programming is done by applying high-voltage pulses which are not encountered during normal operation.

Last updated: 1995-04-22

Programmed Data Processor

<computer>

(PDP) Early (1960's?) Digital Equipment Corporation family of minicomputers. The best known ranges were the PDP-10 and PDP-11. PAL was the assembly language.

Last updated: 1997-11-21

PROgrammed Graph REwriting Systems

<language>

(PROGRES) A very high level language based on graph grammars, developed by Andy Scheurr <[email protected]> and Albert Zuendorf <[email protected]> of RWTH, Aachen in 1991.

PROGRES supports structurally object-oriented specification of attributed graph structures with multiple inheritance hierarchies and types of types (for parametric polymorphism). It also supports declarative/relational specification of derived attributes, node sets, binary relationships (directed edges) and Boolean constraints, rule-oriented/visual specification of parameterised graph rewrite rules with complex application conditions, nondeterministic and imperative programming of composite graph transformations (with built-in backtracking and cancelling arbitrary sequences of failing graph modifications).

It is used for implementing abstract data types with graph-like internal structure, as a visual language for the graph-oriented database GRAS, and as a rule-oriented language for prototyping nondeterministically specified data/rule base transformations.

PROGRES has a formally defined semantics based on "PROgrammed Graph Rewriting Systems". It is an almost statically typed language which additionally offers "down casting" operators for run time checked type casting/conversion (in order to avoid severe restrictions concerning the language's expressiveness).

Version RWTH 5.10 includes an integrated environment.

[A. Scheurr, "Introduction to PROGRES, an Attribute Graph Grammar Based Specification Language", in Proc WG89 Workshop on Graphtheoretic Concepts in Computer Science", LNCS 411, Springer 1991].

ftp://ftp.informatik.rwth-aachen.de/pub/Unix/PROGRES/ for Sun-4.

Last updated: 1993-11-02

programmer

<job>

(Or "computer programmer", "developer") Someone who writes or debugs computer programs, for a living or for fun. "Analyst/developer" is a common equivalent job title, implying the added role of system analysis. The term may be qualified according to the type of software or programming language - "application programmer", "system programmer", Perl programmer, etc.

A contract programmer usually has a fixed-length contract, unlike a permanent employee.

Last updated: 2000-01-24

Programmer Brain Damage

<humour>

(PBD) A classification of a bug which was obviously introduced by an incompetent or short-sighted programmer.

Compare UBD. See also brain-damaged.

Last updated: 1996-10-13

Programmer's Cheer

<humour>

 "Shift to the left!
 Shift to the right!
 Pop up, push down!
 Byte!  Byte!  Byte!"

[Origin?]

[Jargon File]

Last updated: 1996-10-13

Programmers Hierarchical Interactive Graphics System

(PHIGS) An ANSI/ISO standard. Worked on by the ISO/IEC group JTC1/SC24.

[More detail?]

Last updated: 1995-01-04

PROgrammer's Microapplication Language

<language>

(PROMAL) An interpreted C-like language from Systems Management Associates for MS-DOS, Commodore 64, and Apple II.

[Computer Language, Mar 1986, pp. 128-134].

Last updated: 1996-03-21

Programmer's Switch

<hardware>

A button on the front of some Apple Macintosh computers which, when pressed, causes a command line prompt to appear. This gives access to the built-in mini-debugger, which has commands to dump memory, return to the application that was broken out, and others. A more sophisticated debugger must be installed in order to inspect breakpoints, etc.

Last updated: 2000-11-01

programming

1. The art of debugging a blank sheet of paper (or, in these days of on-line editing, the art of debugging an empty file).

2. A pastime similar to banging one's head against a wall, but with fewer opportunities for reward.

3. The most fun you can have with your clothes on (although clothes are not mandatory).

[Jargon File]

Last updated: 2003-02-12

programming fluid

<jargon>

(Or "wirewater") Coffee, unleaded coffee (decaffeinated), Cola, or any caffeinacious stimulant. Many hackers consider these essential for those all-night hacking runs.

Last updated: 1996-05-01

programming language

<language>

A formal language in which computer programs are written. The definition of a particular language consists of both syntax (how the various symbols of the language may be combined) and semantics (the meaning of the language constructs).

Languages are classified as low level if they are close to machine code and high level if each language statement corresponds to many machine code instructions (though this could also apply to a low level language with extensive use of macros, in which case it would be debatable whether it still counted as low level). A roughly parallel classification is the description as first generation language through to fifth generation language.

The other major classification of languages distinguishes between imperative languages, procedural language and declarative languages.

Programming languages in this dictionary.

Programming languages time-line/family tree.

Last updated: 2004-05-17

Programming Language/Cornell

<language>

(PL/C) A large subset of PL/I from Cornell University, aimed at novice programmers.

["Introduction to PL/1 and PL/C programming", Kochenburger, Ralph J., Santa Barbara, Hamilton, c1974].

["User's Guide to PL/C", S. Worona et al, Cornell, June 1974].

["PL/C - A High Performance Compiler" H.L. Morgan et al, Proc SJCC, AFIPS 38:503-510 (1971)].

Last updated: 1999-05-26

Programming Language/Systems

<language>

(PL/S) An IBM machine-oriented language derived from PL/I, in the late 1960s, for the IBM 360 and IBM 370. PL/S permitted inline assembly language and control over register usage.

Previous IBM 360 operating systems such as OS/MFT and OS/MVT had been written entirely in assembly language. The first IBM OS that had any significant portion written in PL/S was MVS, followed by OS/VS1, OS/VS2 and OS/SVS.

PL/S was part of IBM's OCO (object code only) effort, started in 1983. PL/S was used internally and never released to the public. It is documented in various IBM internal ZZ-? publications.

Versions: PLS1, PLSII.

["PL/S, Programming Language/Systems", W.R. Brittenham, Proc GUIDE Intl, GUIDE 34, May 14, 1972, pp. 540-556].

Last updated: 2012-01-20

Program Temporary Fix

<programming>

(PTF) (Colloquially: Probably This Fixes) An IBM sanctioned patch, often implemented using ZAP or SUPERZAP.

Last updated: 1998-07-08

program transformation

The systematic development of efficient programs from high-level specifications by meaning-preserving program manipulations. Also known as optimisation. See fusion, loop combination, peephole optimisation, register allocation, tupling, unfold/fold.

Prograph

<language>

A visual dataflow programming language and environment from the Technical University of Halifax.

Prograph is an entirely graphical visual programming language, other than for the text of method names, and supports the program development process in a highly-interactive fashion. Operation icons are connected by data links through which information flows. It supports object orientation via class-based data abstraction with single inheritance.

Prograph is available for the Macintosh, and soon for Windows and Unix, from TGS Systems.

Last updated: 1995-03-31

PROGRES

<language>

PROgrammed Graph REwriting Systems.

progressive coding

<graphics, file format, algorithm>

(Or "interlacing") An aspect of a graphics storage format or transmission algorithm that treats bitmap image data non-sequentially in such a way that later data adds progressively greater resolution to an already full-size image. This contrasts with sequential coding.

Progressive coding is useful when an image is being sent across a slow communications channel, such as the Internet, as the low-resolution image may be sufficient to allow the user to decide not to wait for the rest of the file to be received.

In an interlaced GIF89 image, the pixels in a row are stored sequentially but the rows are stored in interlaced order, e.g. 0, 8, 4, 12, 2, 6, 8, 10, 14, 1, 3, 5, 7, 9, 11, 13, 15. Each vertical scan adds rows in the middle of the gaps left by the previous one.

PNG interlaces both horizontally and vertically using the "Adam7" method, a seven pass process named after Adam M. Costello.

Interlacing is also supported by other formats. JPEG supports a functionally similar concept known as Progressive JPEG. [How does the algorithm differ?]

JBIG uses progressive coding.

See also progressive/sequential coding.

["Progressive Bi-level Image Compression, Revision 4.1", ISO/IEC JTC1/SC2/WG9, CD 11544, 1991-09-16].

Last updated: 2000-09-12

Progressive JPEG

<graphics, file format>

(PJPEG) An implementation of JPEG that supports progressive coding.

[Standards documents?]

Last updated: 1998-02-10

progressive/sequential coding

<compression, algorithm>

The kind of image compression algorithm used in JBIG where an image coded using progressive coding can be decoded sequentially, and vice versa.

Last updated: 1995-03-01

PROJECT

Subsystem of ICES. Sammet 1969, p.616.

project assurance

The process of specifying the support system: techniques, internal standards, measurements, tools, and training for a project; counselling the project team in the application of these elements and monitoring the adherence to the standards.

Project Athena

<project>

A distributed system project for support of educational and research computing at MIT. Much of the software developed is now in wider use, especially the X Window System.

Last updated: 2000-02-24

Project Guardian

<project, security>

A project which grew out of the ARPA support for Multics and the sale of Multics systems to the US Air Force. The USAF wanted a system that could be used to handle more than one security classification of data at a time. They contracted with Honeywell and MITRE Corporation to figure out how to do this. Project Guardian led to the creation of the Access Isolation Mechanism, the forerunner of the B2 labeling and star property support in Multics. The DoD Orange Book was influenced by the experience in building secure systems gained in Project Guardian.

Last updated: 1997-01-29

projection

<theory>

In domain theory, a function, f, which is (a) idempotent, i.e. f(f(x))=f(x) and (b) whose result is no more defined than its argument. E.g. F(x)=bottom or F(x)=x.

In reduction systems, a function which returns some component of its argument. E.g. head, tail, \ (x,y) . x. In a graph reduction system the function can just return a pointer to part of its argument and does not need to build any new graph.

Last updated: 1997-01-29

projective plane

<mathematics>

The space of equivalence classes of vectors under non-zero scalar multiplication. Elements are sets of the form

 {kv: k != 0, k scalar, v != O, v a vector}

where O is the origin. v is a representative member of this equivalence class.

The projective plane of a vector space is the collection of its 1-dimensional subspaces. The properties of the vector space induce a topology and notions of smoothness on the projective plane.

A projective plane is in no meaningful sense a plane and would therefore be (but isn't) better described as a "projective space".

Last updated: 1996-09-28

Project MAC

<project>

A project suggested by J C R Licklider; its founding director was MIT Prof. Robert M Fano. MAC stood for Multiple Access Computers on the 5th floor of Tech Square, and Man and Computer on the 9th floor. The major efforts were Corbato's Multics development and Marvin Minsky's Artificial Intelligence Laboratory. In 1963 Project MAC hosted a summer study, which brought many well-known computer scientists to Cambridge to use CTSS and to discuss the future of computing.

Funding for Project MAC was provided by the Information Processing Techniques Office of the Advanced Research Projects Agency (ARPA) of the US Department of Defense.

See also Early PL/I, MacLisp, MACSYMA, MDL, Multipop-68, OCAL.

Last updated: 1997-01-29

project management

<project, job>

The process of planning, organising, staffing, directing and controlling the production of a system. Software tools are available to help with this, e.g. PERT chart editors.

Last updated: 1998-12-12

project planning

project management

Prolog

<programming>

Programming in Logic or (French) Programmation en Logique. The first of the huge family of logic programming languages.

Prolog was invented by Alain Colmerauer and Phillipe Roussel at the University of Aix-Marseille in 1971. It was first implemented 1972 in ALGOL-W. It was designed originally for natural-language processing but has become one of the most widely used languages for artificial intelligence.

It is based on LUSH (or SLD) resolution theorem proving and unification. The first versions had no user-defined functions and no control structure other than the built-in depth-first search with backtracking. Early collaboration between Marseille and Robert Kowalski at University of Edinburgh continued until about 1975.

Early implementations included C-Prolog, ESLPDPRO, Frolic, LM-Prolog, Open Prolog, SB-Prolog, UPMAIL Tricia Prolog. In 1998, the most common Prologs in use are Quintus Prolog, SICSTUS Prolog, LPA Prolog, SWI Prolog, AMZI Prolog, SNI Prolog.

ISO draft standard at Darmstadt, Germany. or UGA, USA.

See also negation by failure, Kamin's interpreters, Paradigms of AI Programming, Aditi.

A Prolog interpreter in Scheme. ftp://cpsc.ucalgary.ca/pub/prolog1.1.

A Prolog package from the University of Calgary features delayed goals and interval arithmetic. It requires Scheme with continuations.

["Programming in Prolog", W.F. Clocksin & C.S. Mellish, Springer, 1985].

Last updated: 2001-04-01

Prolog++

(After C++) Prolog with object-oriented features added by Phil Vasey of Logic Programming Associates. Prolog++ is available for MS-DOS and the X Window System. It is distributed by AI International Ltd. in England and by Quintus.

Prolog-2

An implementation of Edinburgh Prolog by Nick Henfrey, ESL.

["An Advanced Logic Programming Language", Anthony Dodd].

Prolog-D-Linda

Embeds the Linda parallel paradigm into SISCtus Prolog.

ftp://ftp.cs.uwa.au/. E-mail: <[email protected]>.

Prolog-II

Prolog with two new predicates: "dif" for coroutines and "freeze" for delayed evaluation.

Available from ExperIntelligence, Santa Barbara CA.

["Prolog II Reference Manual and Theoretical Model", A. Colmerauer, Internal Report, GroupeIA, U Aix-Marseille (Oct 1982)].

Prolog-III

A. Colmerauer, U Aix-Marseille, ca 1984. Marseille Prolog, with unification replaced by constraint resolution. [deferred goals too?] (Not to be confused with Prolog 3, a commercial product?)

Version 1.2 for MS-DOS.

["Opening the Prolog-III Universe", BYTE 12(9):177-182 (Aug 1987)].

["An Introduction to Prolog III", A. Colmerauer, CACM 33(7):69-90 (1990)].

Prolog-Linda

1. Prolog extended with Linda-style parallelism. Proc 4th Australian Conf on Artif Intell.

ftp://bison.cs.uwa.oz.au/.

2. Neil MacDonald, U Edinburgh 1989. Another Prolog extended with Linda, implemented on a Computing Surface.

Prolog/Mali

<language>

(PM) Lambda-Prolog for the MALI-V06 abstract memory system, developed by Pascal Brisset at IRISA, France. There is a compiler which compiles to C, a linker, libraries, run-time system, and documentation. It runs under Unix.

ftp://ftp.irisa.fr/pm/.

Mailing list: [email protected]. E-mail: <[email protected]>.

Last updated: 1992-07-06

PROM

Programmable Read-Only Memory

PROMAL

PROgrammer's Microapplication Language

Prometheus

<language>

A programmaing language geared for logic, mathematics, AI, and string, list and database processing. Prometheus runs on a variety of platforms from Macintosh to MS-DOS

http://aard.tracor.com/Jason/Prometheus/.

Last updated: 1996-03-04

promiscuous mode

<networking>

Where a node on a network accepts all packets, regardless of their destination address.

Last updated: 1996-03-04

PROM monitor

<operating system>

a small program stored in PROM (or ROM), responsible for both loading the OS and providing some means to analyse OS crashes. It may also have some sort of user interface which can be used to examine and change the contents of memory, control the boot process (specifying arguments to the kernel, or changing where to look for the it), and so forth.

The main difference between a PROM monitor and a bootstrap loader is that the PROM monitor regains control when the OS terminates. This may enable a wizard to find out what went wrong if the OS crashed, although it is usually of little help for the average sysadmin.

Last updated: 1996-12-03

pron

<jargon>

(Or "pr0n") B1FF-speak for pornography. Often seen on IRC in such desperate cries for help as "I WNAT PRON!!!!!"

Last updated: 1997-09-14

Pronet

<language>

["The Design of a Programming Language Based on Connectivity Networks", R. LeBlanc et al, Proc 3rd Intl Conf Distrib Comp Sys, IEEE 1982, pp. 532-541].

Last updated: 1997-09-14

Pronunciation

In this dictionary slashes (/../) bracket phonetic pronunciations of words not found in a standard English dictionary. The notation, and many of the pronunciations, were adapted from the Hacker's Jargon File.

Syllables are separated by dash or followed single quote or back quote. Single quote means the preceding syllable is stressed (louder), back quote follows a syllable with intermediate stress (slightly louder), otherwise all syllables are equally stressed.

Consonants are pronounced as in English but note:

 ch	soft, as in "church"
 g	hard, as in "got"
 gh	aspirated g+h of "bughouse" or "ragheap"
 j	voiced, as in "judge"
 kh	guttural of "loch" or "l'chaim"
 s	unvoiced, as in "pass"
 zh	as "s" in "pleasure"

Uppercase letters are pronounced as their English letter names; thus (for example) /H-L-L/ is equivalent to /aych el el/. /Z/ is pronounced /zee/ in the US and /zed/ in the UK (elsewhere?).

Vowels are represented as follows:

 a	back, that
 ah	father, palm (see note)
 ar	far, mark
 aw	flaw, caught
 ay	bake, rain
 e	less, men
 ee	easy, ski
 eir	their, software
 i	trip, hit
 i:	life, sky
 o	block, stock (see note)
 oh	flow, sew
 oo	loot, through
 or	more, door
 ow	out, how
 oy	boy, coin
 uh	but, some
 u	put, foot
 *r      fur, insert (only in stressed
 	syllables; otherwise use just "r")
 y	yet, young
 yoo	few, chew
 [y]oo	/oo/ with optional fronting as
 	in `news' (/nooz/ or /nyooz/)

A /*/ is used for the `schwa' sound of unstressed or occluded vowels (often written with an upside-down `e'). The schwa vowel is omitted in unstressed syllables containing vocalic l, m, n or r; that is, "kitten" and "colour" would be rendered /kit'n/ and /kuhl'r/, not /kit'*n/ and /kuhl'*r/.

The above table reflects mainly distinctions found in standard American English (that is, the neutral dialect spoken by TV network announcers and typical of educated speech in the Upper Midwest, Chicago, Minneapolis/St.Paul and Philadelphia). However, we separate /o/ from /ah/, which tend to merge in standard American. This may help readers accustomed to accents resembling British Received Pronunciation.

Entries with a pronunciation of `//' are written-only.

Last updated: 1997-12-10

proof

<logic>

1. A finite sequence of well-formed formulas, F1, F2, ... Fn, where each Fi either is an axiom, or follows by some rule of inference from some of the previous F's, and Fn is the statement being proved.

See also proof theory.

2. A left-associative natural language parser by Craig R. Latta <[email protected]>. Ported to Decstation 3100, Sun-4.

ftp://scam.berkeley.edu/pub/src/local/proof/.

E-mail: <[email protected]>. Mailing list: [email protected] (Subject: add me).

Last updated: 1994-11-29

PROOF/L

A functional, object-oriented language with implicit parallelism.

[J Parallel Dist Comp 12:202-212 (1991)].

[Forthcoming Technical Report from RADC].

Last updated: 1994-10-31

proof theory

<logic>

The branch of logic describing procedures for combining logical statements to show, by a series of truth-preserving transformations, that one statement is a consequence of some other statement or group of statements.

Last updated: 1994-10-31

propeller head

<jargon>

Used by hackers, this is synonym with computer geek. Non-hackers sometimes use it to describe all techies. Probably derives from SF fandom's tradition (originally invented by old-time fan Ray Faraday Nelson) of propeller beanies as fannish insignia (though nobody actually wears them except as a joke).

[Jargon File]

Last updated: 1995-01-18

propeller key

feature key

proportionally spaced font

proportional font

Proposal Writing

Extension of Fortran for proposal writing.

[Sammet 1969, p. 170].

Last updated: 1995-01-18

proposition

<logic>

A statement in propositional logic which may be either true or false. Each proposition is typically represented by a letter in a formula such as "p => q", meaning proposition p implies proposition q.

Last updated: 2006-03-14

propositional calculus

propositional logic

propositional logic

<logic>

(or "propositional calculus") A system of symbolic logic using symbols to stand for whole propositions and logical connectives. Propositional logic only considers whether a proposition is true or false. In contrast to predicate logic, it does not consider the internal structure of propositions.

Last updated: 2002-05-21

Proposition of a Language Useable for Structured Specifications

<language>

(PLUSS) An algebraic specification language, built on top of ASL.

["A First Introduction to PLUSS", M.C. Gaudel, TR, U Paris Sud, Orsay 1984].

Last updated: 2006-03-14

proprietary

1. In marketroid-speak, superior; implies a product imbued with exclusive magic by the unmatched brilliance of the company's own hardware or software designers.

2. In the language of hackers and users, inferior; implies a product not conforming to open-systems standards, and thus one that puts the customer at the mercy of a vendor who can inflate service and upgrade charges after the initial sale has locked the customer in.

[Jargon File]

PROSE

1. PROblem Solution Engineering. Numerical problems including differentiation and integration. "Computing in Calculus", J. Thames, Research/Development 26(5) (May 1975).

2. A constraints-and-sequencing system similar to Kaleidoscope. "Reflexive Constraints for Dynamic Knowledge Bases", P. Berlandier et al in Proc First Intl CS Conf '88: AI: Theory and Appls, Dec 1988.

ProSet

A derivative of SETL with Ada-like syntax developed at the University of Essen in 1990. Formerly known as SETL/E.

["SETL/E, A Prototyping System Based on Sets", E.E. Doberkat et al, in Tagungsband TOOL90, W. Zorn ed, pp. 109-118, U Karlsruhe, Nov 1990].

["ProSet - A Language for Prototyping with Sets", E.-E. Doberkat et al, in Proc Third Intl Workshop on Rapid System Prototyping, N. Kanopoulos ed, IEEE Comp Soc Press, June 1992, pp. 235-248].

PROSPER

["PROSPER: A Language for Specification by Prototyping", J. Leszczylowski, Comp Langs 14(3):165-180 (1989)].

Prospero

A tool for organising Internet resources. Prospero allows each user to organise the contents of remote file servers into his own virtual file system with his own hierarchical name space consisting of links to remote objects. Remote indexing services are made available by treating the results as a virtual directory. A "union link" allows the contents of the link's target directory to appear as part of the directory containing the link. Arbitrary filters can be associated with links to modify the representation of the target directory as desired. Prospero directories can be shared between users. The Prospero protocol is used for communication between clients and servers in the archie system.

A prototype of Prospero has been available since December 1990. It interfaces with Sun NFS, the Andrew File System and FTP (with local caching) and Archie. Support for web and WAIS is planned (1992).

E-mail: <[email protected]>. ftp://prospero.isi.edu/pub/prospero.

ProTalk

Quintus. An object-oriented Prolog.

protected mode

An operating mode of Intel 80x86 processors. The opposite of real mode. The Intel 8088, Intel 8086, Intel 80188 and Intel 80186 had only real mode, processors beginning with the Intel 80286 feature a second mode called protected mode.

In real mode, addresses are generated by adding an address offset to the value of a segment register shifted left four bits. As the segment register and address offset are 16 bits long this results in a 20-bit address. This is the origin of the one megabyte (2^20) limit in real mode.

There are 4 segment registers on processors before the Intel 80386. The 80386 introduced two more segment registers. Which segment register is used depends on the instruction, on the addressing mode and of an optional instruction prefix which selects the segment register explicitly.

In protected mode, the segment registers contain an index into a table of segment descriptors. Each segment descriptor contains the start address of the segment, to which the offset is added to generate the address. In addition, the segment descriptor contains memory protection information. This includes an offset limit and bits for write and read permission. This allows the processor to prevent memory accesses to certain data. The operating system can use this to protect different processes' memory from each other, hence the name "protected mode".

While the standard register set belongs to the CPU, the segment registers lie "at the boundary" between the CPU and MMU. Each time a new value is loaded into a segment register while in protected mode, the corresponding descriptor is loaded into a descriptor cache in the (Segment-)MMU. On processors before the Pentium this takes longer than just loading the segment register in real mode. Addresses generated by the CPU (which are segment offsets) are passed to the MMU to be checked against the limit in the segment descriptor and are there added to the segment base address in the descriptor to form a linear address.

On a 80386 or later, the linear address is further processed by the paged MMU before the result (the physical address) appears on the chip's address pins. The 80286 doesn't have a paged MMU so the linear address is output directly as the physical address.

The paged MMU allows for arbitrary remapping of four klilobyte memory blocks (pages) through a translation table stored in memory. A few entries of this table are cached in the MMU's Translation Lookaside Buffer to avoid excessive memory accesses.

After processor reset, all processors start in real mode. Protected mode has to be enabled by software. On the 80286 there exists no documented way back to real mode apart from resetting the processor. Later processors allow switching back to real mode by software.

Software which has been written or compiled to run in protected mode must only use segment register values given to it by the operating system. Unfortunately, most application code for MS-DOS, written before the 286, will fail in protected mode because it assumes real mode addressing and writes arbitrary values to segment registers, e.g. in order to perform address calculations.

Such use of segment registers is only really necessary with data structures that are larger than 64 kilobytes and thus don't fit into a single segment. This is usually dealt with by the huge memory model in compilers. In this model, compilers generate address arithmetic involving segment registers. A solution which is portable to protected mode with almost the same efficiency would involve using a table of segments instead of calculating new segment register values ad hoc.

To ease the transition to protected mode, Intel 80386 and later processors provide "virtual 86 mode".

Last updated: 1995-03-29

PROTEUS

An extensible language, the core of PARSEC.

["The Design of a Minimal Expandable Computer Language", J.R. Bell, PhD Thesis, CS, Stanford University (Dec 1968)].

protocal

<spelling>

It's spelled "protocol".

protocol

A set of formal rules describing how to transmit data, especially across a network. Low level protocols define the electrical and physical standards to be observed, bit- and byte-ordering and the transmission and error detection and correction of the bit stream. High level protocols deal with the data formatting, including the syntax of messages, the terminal to computer dialogue, character sets, sequencing of messages etc.

Many protocols are defined by RFCs or by OSI.

See also handshaking.

[Jargon File]

Last updated: 1995-01-12

protocol analyser

<communications, hardware, networking, testing, tool>

Any device that captures and interprets the network traffic between two or more connected computer systems. The traffic can then be decoded so that it is possible to see what processes are occurring.

By examining the flow of traffic, protocol analysers can be used to find out where problems (such as bottlenecks or the failure of a network device) are on a LAN.

Advanced protocol analysers can also provide statistics on the traffic that can help to identify trends that may in future lead to further problems with the network.

Last updated: 2000-07-24

protocol converter

<networking>

A device or program to translate between different protocols which serve similar functions (e.g. TCP and TP4).

Some call this a "gateway", though others use that term for other kinds of internetworking device.

Last updated: 1996-03-07

Protocol Data Unit

(PDU) A packet of data passed across a network. The term implies a specific layer of the OSI seven layer model and a specific protocol.

Last updated: 1994-10-13

protocol layer

<networking>

The software and/or hardware environment of two or more communications devices or computers in which a particular network protocol operates. A network connection may be thought of as a set of more or less independent protocols, each in a different layer or level. The lowest layer governs direct host-to-host communication between the hardware at different hosts; the highest consists of user application programs. Each layer uses the layer beneath it and provides a service for the layer above. Each networking component hardware or software on one host uses protocols appropriate to its layer to communicate with the corresponding component (its "peer") on another host. Such layered protocols are sometimes known as peer-to-peer protocols.

The advantages of layered protocols is that the methods of passing information from one layer to another are specified clearly as part of the protocol suite, and changes within a protocol layer are prevented from affecting the other layers. This greatly simplifies the task of designing and maintaining communication systems.

Examples of layered protocols are TCP/IP's five layer protocol stack and the OSI seven layer model.

Last updated: 1997-05-05

protocol stack

<protocol>

A layered set of protocols which work together to provide a set of network functions. Each intermediate protocol layer uses the layer below it to provide a service to the layer above.

The OSI seven layer model is an attempt to provide a standard framework within which to describe protocol stacks.

Last updated: 1997-12-07

protoduction

<jargon>

A prototype that ends up in a production environment.

[chris-pebble, Dodgy Coder]

Last updated: 2014-09-21

PROTON

1. A home computer made by Acorn Computers under a contract won from the BBC in April 1981.

[Details?]

2. Something to do with Microsoft SoftLib?

Last updated: 1994-11-28

Protosynthex

A query system for English text.

[Sammet 1969, p. 669].

prototype

<systems>

1. An early version of a product, designed to demonstrate feasability and elicit feedback. A prototype usually has some subset of the functions, behaviour and appearance of the finished product. It is usually made using a method suitable for producing a one-off rather than mass production.

<programming>

2. In prototype-based programming, an object that is intended to be cloned to create similar objects which may then be modified independently and/or cloned themselves.

Last updated: 2010-03-02

Prototyper

An interface builder for the Macintosh from Smethers Barnes.

Last updated: 1994-11-28

prototyping

The creation of a model and the simulation of all aspects of a product. CASE tools support different degrees of prototyping. Some offer the end-user the ability to review all aspects of the user interface and the structure of documentation and reports before code is generated.

provably difficult

The set or property of problems for which it can be proven that no polynomial-time algorithm exists, only exponential-time algorithms.

provably unsolvable

The set or property of problems for which no algorithm at all exists. E.g. the Halting Problem. See also provably difficult.

provider

Internet Access Provider

provocative maintenance

[Common ironic mutation of "preventive maintenance"] Actions performed upon a machine at regularly scheduled intervals to ensure that the system remains in a usable state. So called because it is all too often performed by a field servoid who doesn't know what he is doing; such "maintenance" often *induces* problems, or otherwise results in the machine's remaining in an *un*usable state for an indeterminate amount of time. See also scratch monkey.

[Jargon File]

prowler

(Unix) A daemon that is run periodically (typically once a week) to seek out and erase core files, truncate administrative logfiles, nuke "lost+found" directories, and otherwise clean up the cruft that tends to pile up in the corners of a file system.

See also GFR, reaper, skulker.

Last updated: 1995-02-14

proxy

<networking>

A process that accepts requests for some service and passes them on to the real server. A proxy may run on dedicated hardware or may be purely software. It may transform the request in some way or provide some additional layer of functionality such as caching or remote access. A proxy may be intended to increase security, e.g. a web proxy that allows multiple clients inside an organisation to access the Internet through a single secure, shared connection.

Last updated: 2007-09-03

proxy ARP

<networking>

The technique in which one host, usually a router, answers Address Resolution Protocol (ARP) requests intended for another machine. By "faking" its identity, the router accepts responsibility for routing packets to the "real" destination. Proxy ARP allows a site to use a single IP address with two physical networks. Subnetting would normally be a better solution.

Last updated: 2007-09-03

proxy gateway

proxy server

Proxy Server

<software, security>

(Capitalised) Microsoft's proxy server and proxy gateway, designed to provide extensible firewall and network security. Proxy Server is part of BackOffice.

Last updated: 1999-09-17

proxy server

<networking>

A server process that intercepts requests from a client, passes them to an origin server and returns the response to the client while performing various other operations in the process. An HTTP proxy server is a common example.

A proxy may be used for purposes of security, performance (caching) or anonymity. It may be purely software or may run on its own hardware, either a standard PC or server machine or a custom hardware appliance. A software proxy may be on the same computer as the client or the origin server, separate hardware may be anywhere on the network in between.

The proxy may filter requests, rejecting some if the request or response matches certain conditions (e.g. an antivirus proxy). It may cache requests and responses to reduce load on the origin server or data volume on the network or to provide quicker response to the client for common requests. The proxy may modify the request or response, e.g. to convert between different protocols or interfaces.

Proxy servers are often used in large companies as part of a firewall so that users within the company need have no direct connection to the Internet (and can use a private IP address range) but can still access the web, instant messenger, etc via the proxy. Usually this requires each client to be configured to use the proxy.

The term "proxy gateway" may more imply transparency (less intervention) in the request-response process, though is often used as a synonym for proxy server.

Last updated: 2008-07-01

PS

<language, text, graphics>

1. PostScript.

<file format>

2. Physical Sequential.

PS1

Sony Playstation

PS2

Sony Playstation

PS/2

<computer>

IBM's second generation of personal computers. The PS/2 series introduced three advances over the PC series: 3.5" 1.44 megabyte microfloppy disks, VGA and 8514 graphics display standards, and the Micro Channel bus architecture. The 3.5" disks and VGA can be easily installed on other PCs and will become the standard for new compatible computers. The Micro Channel bus allows for multiprocessing and less aggravation, but cannot be retrofitted to older PCs.

PS/2 models 25 and 30 are ISA, other models have Micro Channel and ESDI.

Last updated: 1995-11-27

PS 440

<language>

The system implementation language for the Telefunken TR 440 computer, developed by K. Lagally in about 1974.

Last updated: 2003-07-29

PSA

Problem Statement Analizer. See PSL/PSA.

PS-ALGOL

Persistent ALGOL. ca 1981, released 1985. A derivative of S-ALGOL. Database capability derived from the longevity of data. "The PS- Algol Reference Manual", TR PPR-12-85, CS Dept, U Glasgow 1985. IBM PC version available from CS Dept, U Strathclyde, Glasgow.

pSather

<language>

A parallel extension of Sather for a clustered shared memory model. It features threads synchronised by monitor objects ("gates"); locality assertions and placement operators.

There is an implementation for the CM-5.

["pSather Monitors: Design, Tutorial, Rationale and Implementation", J.A. Feldman et al, TR-91-031 and TR-93-028, ICSI, Berkeley, CA].

Last updated: 1995-03-13

PSD

<tool>

Portable Scheme Debugger.

PSDN

<communications>

Public Switched Data Network.

pseudo

<jargon>

/soo'doh/ (Usenet) Pseudonym.

1. An electronic-mail or Usenet persona adopted by a human for amusement value or as a means of avoiding negative repercussions of one's net.behaviour; a "nom de Usenet", often associated with forged postings designed to conceal message origins. Perhaps the best-known and funniest hoax of this type is BIFF.

2. Notionally, a flamage-generating AI program simulating a Usenet user. Many flamers have been accused of actually being such entities, despite the fact that no AI program of the required sophistication yet exists. However, in 1989 there was a famous series of forged postings that used a phrase-frequency-based travesty generator to simulate the styles of several well-known flamers; it was based on large samples of their back postings (compare Dissociated Press). A significant number of people were fooled by the forgeries, and the debate over their authenticity was settled only when the perpetrator came forward to publicly admit the hoax.

[Jargon File]

Last updated: 1995-03-13

pseudocode

<programming>

A notation resembling a programming language but not intended for actual compilation. It usually combines some of the structure of a programming language with an informal natural language description of the computations to be carried out. Some CASE systems produce it as a basis for later hand coding.

Last updated: 2011-01-29

pseudoprime

<mathematics>

A number that is probably a prime number, as determined using statistical methods.

A backgammon "prime" is six consecutive points that are "made" (each has two or more pieces of same colour). A pseudoprime might then describe six consecutive points, five of which are made which, like the mathematical concept, is often good enough.

[Jargon File]

Last updated: 2020-11-21

pseudorandom number

<programming>

One of a sequence of numbers generated by some algorithm so as to have an even distribution over some range of values and minimal correlation between successive values.

Pseudorandom numbers are used in simulation and encryption. They are pseudorandom not random because the sequence eventually repeats exactly and is entirely determined by the initial conditions.

One of the simplest algorithms is

 x[i+1] = (a * x[i] + c) mod m

but this repeats after at most m numbers and successive numbers are closely related. Better algorithms generally use more previous numbers to calculate the next number.

http://random.mat.sbg.ac.at/.

Last updated: 2007-06-29

PseudoScheme

A translator from Scheme to Common Lisp by Jonathan Rees <[email protected]>. Version 2.8. It conforms to all of R3RS except call/cc and requires Common Lisp. Runs on Lucid, Symbolics CL, VAX Lisp, Explorer CL.

Mailing list: [email protected].

Last updated: 1994-10-28

pseudosuit

/soo'doh-s[y]oot"/ A suit wannabee; a hacker who has decided that he wants to be in management or administration and begins wearing ties, sport coats, and (shudder!) suits voluntarily. It's his funeral. See also lobotomy.

[Jargon File]

pseudo-tty

<operating system>

Berkeley Unix networking device which appears to an application program as an ordinary terminal but which is in fact connected via the network to a process running on a different host or a windowing system. Pseudo-ttys have a slave half and a control half. The slave tty (/dev/ttyp*) is the device that user programs use and the control tty (/dev/ptyp*) is used by daemons to talk to the net.

Last updated: 1994-11-08

PSF

Print Services Facility

PSI

Portable Scheme Interpreter

Psion

<company>

The UK company that produced the Psion Organiser. They also wrote software for the Sinclair QL.

Psion Home.

Last updated: 2009-05-27

Psion Organiser

<computer>

A popular pocket computer from the UK Company Psion plc. The organiser uses a graphical user interface with windows, menus, icons and dialog boxes. There have been several versions so far: Series3a, Series3, HC, MC, OrgII.

Usenet newsgroups: comp.sys.psion, comp.binaries.psion.

Last updated: 1995-03-03

PSK

<communications>

1. Phase-Shift Keying.

<cryptography, networking>

2. Pre-Shared Key.

PSL

<language>

1. Portable Standard Lisp.

2. Problem Statement Language.

PSL/PSA

Problem Statement Language/Problem Statement Analyser

PSML

Processor System Modeling Language.

PSN

Packet Switch Node

PSO

Oracle Parallel Server

PSPP

<statistics>

A GNU version of SPSS.

[URL? Features?]

Last updated: 2010-03-21

PSTN

Public Switched Telephone Network

PSU

power supply unit

psychedelicware

/si:"k*-del"-ik-weir/ [UK] Synonym display hack. See also smoking clover.

[Jargon File]

psyton

<humour>

/si:'ton/ (From TMRC) The elementary particle carrying the sinister force. The probability of a process losing is proportional to the number of psytons falling on it. Psytons are generated by observers, which is why demos are more likely to fail when lots of people are watching. This term appears to have been largely superseded by bogon; see also quantum bogodynamics.

Last updated: 1997-04-26

pt

<text, unit>

1. point.

<networking>

2. The country code for Portugal.

Last updated: 1999-01-27

P-TAC

Parallel Three Address Code.

Kid is a refinement of P-TAC, used as an intermediate language for Id.

["P-TAC: A Parallel Intermediate Language", Z. Ariola et al, Fourth Intl Conf Func Prog Langs and Comp Arch, ACM Sept 1989].

ptc

A Pascal to C translator.

ftp://uxc.sco.uiuc.edu/languages/ptc.

PTF

Program Temporary Fix

Pthreads

POSIX Threads

PTI

Portable Tool Interface

PTN

Physical Transport Network

Ptolemy

A flexible foundation for the specification, simulation, and rapid prototyping of systems. It is an object-oriented framework within which diverse models of computation can co-exist and interact. For example, using Ptolemy a data-flow system can be easily connected to a hardware simulator which in turn may be connected to a discrete-event system. Because of this, Ptolemy can be used to model entire systems. In addition, Ptolemy now has code generation capabilities. From a flow graph description, Ptolemy can generate both C code and DSP assembly code for rapid prototyping. Note that code generation is not yet complete, and is included in the current release for demonstration purposes only.

Version 0.4.1 includes a graphical algorithm layout, code generator and simulator. It requires C++, C and has been ported to Sun-4, MIPS/Ultrix; DSP56001, DSP96002. Ptolemy is an active research project.

ftp://ptolemy.bekeley.edu/pub/ptolemy/. Mailing list: [email protected]. E-mail: <[email protected]>.

Last updated: 1993-04-22

PTT

Post, Telephone and Telegraph administration

PUB

PUBlishing.

pub

public directory

public directory

<networking>

The top-level "pub" (public) directory on a server that allows remote access, once upon a time via FTP, now probably by HTTP. The pub directory typically contains a collection of freely available files.

This server's pub directory.

Last updated: 2023-10-21

public domain

(PD) The total absence of copyright protection. If something is "in the public domain" then anyone can copy it or use it in any way they wish. The author has none of the exclusive rights which apply to a copyright work.

The phrase "public domain" is often used incorrectly to refer to freeware or shareware (software which is copyrighted but is distributed without (advance) payment). Public domain means no copyright -- no exclusive rights. In fact the phrase "public domain" has no legal status at all in the UK.

See also archive site, careware, charityware, copyleft, crippleware, guiltware, postcardware and -ware. Compare payware.

public domain software

public domain

public-key cryptography

public-key encryption

Public-Key Cryptography Standards

<cryptography, standard>

(PKCS) A set of standards for public-key cryptography, developed by RSA Data Security, Inc. in cooperation with an informal consortium, originally including Apple, Microsoft, DEC, Lotus, Sun and MIT. The PKCS have been cited by the OSI Implementers' Workshop (OIW) as a method for implementation of OSI standards.

PKCS includes both algorithm-specific and algorithm-independent implementation standards. Many algorithms are supported, including RSA and Diffie-Hellman key exchange, however, only the latter two are specifically detailed. PKCS also defines an algorithm-independent syntax for digital signatures, digital envelopes, and extended digital certificates; this enables someone implementing any cryptographic algorithm whatsoever to conform to a standard syntax, and thus achieve interoperability.

E-mail: [email protected].

Last updated: 1999-02-16

public-key encryption

<cryptography>

(PKE, Or "public-key cryptography") An encryption scheme, introduced by Diffie and Hellman in 1976, where each person gets a pair of keys, called the public key and the private key. Each person's public key is published while the private key is kept secret. Messages are encrypted using the intended recipient's public key and can only be decrypted using his private key. This is often used in conjunction with a digital signature.

The need for sender and receiver to share secret information (keys) via some secure channel is eliminated: all communications involve only public keys, and no private key is ever transmitted or shared.

Public-key encryption can be used for authentication, confidentiality, integrity and non-repudiation.

RSA encryption is an example of a public-key cryptosystem.

alt.security FAQ.

See also knapsack problem.

Last updated: 1995-03-27

Public Key Infrastructure

<cryptography, communications>

(PKI) A system of public key encryption using digital certificates from Certificate Authorities and other registration authorities that verify and authenticate the validity of each party involved in an electronic transaction.

PKIs are currently evolving and there is no single PKI nor even a single agreed-upon standard for setting up a PKI. However, nearly everyone agrees that reliable PKIs are necessary before electronic commerce can become widespread.

US DOD PKI.

US NIST PKI.

IETF PKIX Working Group.

Last updated: 1999-11-30

Public Switched Telephone Network

<communications>

(PSTN, T.70) The collection of interconnected systems operated by the various telephone companies and administrations (telcos and PTTs) around the world. Also known as the Plain Old Telephone System (POTS) in contrast to xDSL and ISDN (not to mention other forms of PANS).

The PSTN started as human-operated analogue circuit switching systems (plugboards), progressed through electromechanical switches. By now this has almost completely been made digital, except for the final connection to the subscriber (the "last mile"): The signal coming out of the phone set is analogue. It is usually transmitted over a twisted pair cable still as an analogue signal. At the telco office this analogue signal is usually digitised, using 8000 samples per second and 8 bits per sample, yielding a 64 kb/s data stream (DS0). Several such data streams are usually combined into a fatter stream: in the US 24 channels are combined into a T1, in Europe 31 DS0 channels are combined into an E1 line. This can later be further combined into larger chunks for transmission over high-bandwidth core trunks. At the receiving end the channels are separated, the digital signals are converted back to analogue and delivered to the received phone.

While all these conversions are inaudible when voice is transmitted over the phone lines it can make digital communication difficult. Items of interest include A-law to mu-law conversion (and vice versa) on international calls; robbed bit signalling in North America (56 kbps <--> 64 kbps); data compression to save bandwidth on long-haul trunks; signal processing such as echo suppression and voice signal enhancement such as AT&T TrueVoice.

Last updated: 2000-07-09

PUBlishing

<language>

(PUB) A 1972 text-formatting language for TOPS-10, with syntax based on SAIL. PUB influenced TeX and Scribe.

["PUB: The Document Compiler", Larry Tesler, Stanford AI Proj Op Note, Sept 1972].

Last updated: 2020-02-09

puff

<algorithm>

(The opposite of huff) To decompress data that has been compressed by Huffman coding. At least one widely distributed Huffman decoder program was actually *named* "PUFF", but these days it is usually packaged with the encoder.

[Jargon File]

Last updated: 1996-10-16

PUFFT

["The Purdue University Fast Fortran Translator", Saul Rosen et al, CACM 8(11):661-666 (Nov 1965)].

Last updated: 1995-01-05

pull

pull media

pull-down list

<operating system>

(Or "drop-down list") A graphical user interface component that allows the user to choose one (or sometimes more than one) item from a list. The current choice is visible in a small rectangle and when the user clicks on it, a list of items is revealed below it. The user can then click on one of these to make it the current choice and the list disappears. In some cases, by holding down a modifier key such as Ctrl when clicking, the selection is added to (or removed from) the set of current choices rather than replacing it.

Last updated: 1999-09-25

pull-down menu

<operating system>

(Or "drop-down menu", "pop-down menu") A menu in a graphical user interface, whose title is normally visible but whose contents are revealed only when the user activates it, normally by pressing the mouse button while the pointer is over the title, whereupon the menu items appear below the title. The user may then select an item from the menu or click elsewhere, in either case the menu contents are hidden again. A menu item is selected either by dragging the mouse from the menu title to the item and releasing or by clicking the title and then the item.

When a pull-down menu appears in the main area of a window, as opposed to the menu bar, it may have a small, downward-pointing triangle to the right.

Compare: scrollable list.

Last updated: 1999-09-22

pull media

<messaging>

A model of media distribution were the bits of content have to be requested by the user, e.g. normal use of HTTP on the web.

Opposite: "push media".

Last updated: 1997-04-10

Pulse Code Modulation

<data>

(PCM) A method by which an audio signal is represented as digital data.

Virtually all digital audio systems use PCM, including, CD, DAT, F1 format, 1630 format, DASH, DCC, and MD. Many people get confused because "PCM" is also slang for Sony's F1 format which stores PCM digital audio on videotape.

Last updated: 1995-02-09

pumpkin

<jargon>

A humourous term for the token - the object (notional or real) that gives its possessor (the "pumpking" or the "pumpkineer") exclusive access to something, e.g. applying patches to a master copy of source (for which the pumpkin is called a "patch pumpkin").

Chip Salzenberg <[email protected]> wrote:

David Croy once told me once that at a previous job, there was one tape drive and multiple systems that used it for backups. But instead of some high-tech exclusion software, they used a low-tech method to prevent multiple simultaneous backups: a stuffed pumpkin. No one was allowed to make backups unless they had the "backup pumpkin".

Last updated: 1999-02-23

pumpkineer

pumpkin

pumpking

pumpkin

punch card

punched card

punched card

<storage, history>

(Or "punch card") The signature medium of computing's Stone Age, now long obsolete outside of a few legacy systems. The punched card actually predates computers considerably, originating in 1801 as a control device for Jacquard looms. Charles Babbage used them as a data and program storage medium for his Analytical Engine:

"To those who are acquainted with the principles of the Jacquard loom, and who are also familiar with analytical formulæ, a general idea of the means by which the Engine executes its operations may be obtained without much difficulty. In the Exhibition of 1862 there were many splendid examples of such looms. [...] These patterns are then sent to a peculiar artist, who, by means of a certain machine, punches holes in a set of pasteboard cards in such a manner that when those cards are placed in a Jacquard loom, it will then weave upon its produce the exact pattern designed by the artist. [...] The analogy of the Analytical Engine with this well-known process is nearly perfect. There are therefore two sets of cards, the first to direct the nature of the operations to be performed -- these are called operation cards: the other to direct the particular variables on which those cards are required to operate -- these latter are called variable cards. Now the symbol of each variable or constant, is placed at the top of a column capable of containing any required number of digits."

-- from Chapter 8 of Charles Babbage's "Passages from the Life of a Philosopher", 1864.

The version patented by Herman Hollerith and used with mechanical tabulating machines in the 1890 US Census was a piece of cardboard about 90 mm by 215 mm. There is a widespread myth that it was designed to fit in the currency trays used for that era's larger dollar bills, but recent investigations have falsified this.

IBM (which originated as a tabulating-machine manufacturer) married the punched card to computers, encoding binary information as patterns of small rectangular holes; one character per column, 80 columns per card. Other coding schemes, sizes of card, and hole shapes were tried at various times.

The 80-column width of most character terminals is a legacy of the IBM punched card; so is the size of the quick-reference cards distributed with many varieties of computers even today.

See chad, chad box, eighty-column mind, green card, dusty deck, lace card, card walloper.

[Jargon File]

Last updated: 1998-10-19

punt

(From the punch line of an old joke referring to American football: "Drop back 15 yards and punt!") 1. To give up, typically without any intention of retrying. "Let's punt the movie tonight." "I was going to hack all night to get this feature in, but I decided to punt" may mean that you've decided not to stay up all night, and may also mean you're not ever even going to put in the feature.

2. More specifically, to give up on figuring out what the Right Thing is and resort to an inefficient hack.

3. A design decision to defer solving a problem, typically because one cannot define what is desirable sufficiently well to frame an algorithmic solution. "No way to know what the right form to dump the graph in is - we'll punt that for now."

4. To hand a tricky implementation problem off to some other section of the design. "It's too hard to get the compiler to do that; let's punt to the run-time system."

[Jargon File]

Purdue Compiler-Construction Tool Set

<tool>

(PCCTS) A highly integrated lexical analser generator and parser generator by Terence J. Parr <[email protected]>, Will E. Cohen and Henry G. Dietz <[email protected]>, both of Purdue University.

ANTLR (ANother Tool for Language Recognition) corresponds to YACC and DLG (DFA-based Lexical analyser Generator) functions like LEX. PCCTS has many additional features which make it easier to use for a wide range of translation problems. PCCTS grammars contain specifications for lexical and syntactic analysis with selective backtracking ("infinite lookahead"), semantic predicates, intermediate-form construction and error reporting. Rules may employ Extended BNF (EBNF) grammar constructs and may define parameters, return values, and have local variables.

Languages described in PCCTS are recognised via LLk parsers constructed in pure, human-readable, C code. Selective backtracking is available to handle non-LL(k) constructs. PCCTS parsers may be compiled with a C++ compiler. PCCTS also includes the SORCERER tree parser generator.

ftp://marvin.ecn.purdue.edu/pub/pccts/1.10.

UK FTP. Macintosh FTP.

Mailing list: [email protected] ("subscribe pccts-users your_name" in the message body).

E-mail: Terence J. Parr <[email protected]>, Roberto Avanzi <[email protected]> (Mac port).

Last updated: 2000-10-30

Purdue University

http://purdue.edu/.

Last updated: 1995-01-05

pure functional language

purely functional language

pure lambda-calculus

Lambda-calculus with no constants, only functions expressed as lambda abstractions.

Last updated: 1994-10-27

PureLink

An incremental linker from Pure Software.

Pure Lisp

A purely functional language derived from Lisp by excluding any feature which causes side-effects.

purely functional language

<language>

A language that supports only functional programming and does not allow functions to have side-effects. Program execution consists of evaluation of an expression and all subexpressions are referentially transparent.

Last updated: 2003-03-25

Purify

A debugging tool from Pure Software.

Purple Book

<publication>

1. The "System V Interface Definition". The covers of the first editions were an amazingly nauseating shade of off-lavender.

<publication>

2. The Wizard Book.

See also book titles.

[Jargon File]

purple wire

<jargon, hardware>

Wire installed by IBM Field Engineers to work around problems discovered during testing or debugging. These are called "purple wires" even when (as is frequently the case) they are yellow.

Compare blue wire, yellow wire, and red wire.

Last updated: 1995-04-11

Purveyor

<web>

A web server for Windows NT and Windows 95 (when available).

http://process.com/.

E-mail: <[email protected]>.

Last updated: 1995-04-11

push

<programming>

1. To put something onto a stack or pdl.

Opposite: "pop".

<communications>

2. push media.

[Jargon File]

Last updated: 1997-04-10

push-button

<electronics>

A roughly fingertip-sized plastic cover attached to a spring-loaded, normally-open switch, which, when pressed, closes the switch. Typical examples are the keys on a computer or calculator keyboard and mouse buttons.

Last updated: 1997-07-07

Push Down List

<programming>

(PDL) In ITS days, the preferred MITism for stack.

See overflow pdl.

Last updated: 1995-12-21

push media

<messaging>

A model of media distribution where items of content are sent to the user (viewer, listener, etc.) in a sequence, and at a rate, determined by a server to which the user has connected. This contrasts with pull media where the user requests each item individually. Push media usually entail some notion of a "channel" which the user selects and which delivers a particular kind of content.

Broadcast television is (for the most part) the prototypical example of push media: you turn on the TV set, select a channel and shows and commercials stream out until you turn the set off.

By contrast, the web is (mostly) the prototypical example of pull media: each "page", each bit of content, comes to the user only if he requests it; put down the keyboard and the mouse, and everything stops.

At the time of writing (April 1997), much effort is being put into blurring the line between push media and pull media. Most of this is aimed at bringing more push media to the Internet, mainly as a way to disseminate advertising, since telling people about products they didn't know they wanted is very difficult in a strict pull media model.

These emergent forms of push media are generally variations on targeted advertising mixed in with bits of useful content. "At home on your computer, the same system will run soothing screensavers underneath regular news flashes, all while keeping track, in one corner, of press releases from companies whose stocks you own. With frequent commercial messages, of course." (Wired, March 1997, page 12).

Pointcast is probably the best known push system on the Internet at the time of writing.

As part of the eternal desire to apply a fun new words to boring old things, "push" is occasionally used to mean nothing more than email spam.

Last updated: 1997-04-10

P value

<statistics>

The probability that the opposite of some hypothesis is true, based on some set of results; a way of expressing the significance of a statistical observation. The lower the P value, the more significant the result.

For example, if the hypothesis was "This vaccine prevents flu" then the opposite hypothesis (the "null hypothesis") would be "This vaccine has no effect on flu". If the occurence of flu was measured in a sample of people taking the vaccine then one might say that the hypothesis was confirmed with a p value of 5%. That would mean there was a 5% chance of obtaining the same results or better from a similar sample of the whole population even if the vaccine had no effect.

Last updated: 2015-02-23

PVC

<networking>

1. Permanent Virtual Circuit.

<hardware>

2. polyvinyl chloride.

Last updated: 2001-03-26

PVM

Parallel Virtual Machine

PV-WAVE

<graphics, tool>

(Precision Visuals' Workstation Analysis and Visualization Environment) Interactive scientific visualisation software originally from Precision Visuals, Inc., but now owned by Visual Numerics, Inc. (VNI).

Last updated: 1999-07-18

pw

<networking>

The country code for Palau.

Last updated: 1999-01-27

PWM

pulse width modulation

py

<networking>

The country code for Paraguay.

Last updated: 1999-01-27

PYPL

PopularitY of Programming Languages

Pythagoras

<person>

(Pythagoras of Samos, Ionia; about 569-475 BC) The Greek mathematician who founded a philosophical and religious school in Croton (now Crotone) in southern Italy.

Pythagoras is most famous for Pythagoras's Theorem but other important postulates are attributed to him, e.g. the sum of the angles of a triangle is equal to two right angles.

Last updated: 2004-02-12

Pythagoras's Theorem

<mathematics>

The theorem of geometry, named after Pythagoras, of Samos, Ionia, stating that, for a right-angled triangle, the square of the length of the hypotenuse is equal to the sum of the squares of the lengths of the other two sides. I.e. if the longest side has length A and the other sides have lengths B and C (in any units),

 A^2 = B^2 + C^2

Last updated: 2004-02-12

Pythagoras' Theorem

<spelling>

It's Pythagoras's Theorem.

Last updated: 2007-06-07

Pythagorean Theorem

Pythagoras's Theorem

Python

<language>

1. A simple, high-level interpreted language invented by Guido van Rossum <[email protected]> in 1991. Python combines ideas from ABC, C, Modula-3 and Icon. It bridges the gap between C and shell programming, making it suitable for rapid prototyping or as an extension language for C applications. It is object-oriented and supports packages, modules, classes, user-defined exceptions, a good C interface, dynamic loading of C modules and has no arbitrary restrictions.

Python is available for many platforms, including Unix, Windows, DOS, OS/2, Macintosh and Amoeba.

http://python.org/.

Usenet newsgroup: comp.lang.python.

Last updated: 2007-02-21

<compiler>

2. A compiler for CMU Common LISP. Python is more sophisticated than other Common Lisp compilers. It produces better code and is easier to use. The programming environment based on the Hemlock editor is better integrated than GNU Emacs based environments.

Last updated: 1997-02-27

Nearby terms:

OWLOwlOxOzozOz-EmailP+P1754p2cP2PP3LP4P6pa

Try this search on Wikipedia, Wiktionary, Google, OneLook.



Loading