Head Disk Assembly

<hardware, storage>

(HDA) A sealed, high capacity mainframe hard disk with integral heads, as opposed to a removable disk.

Last updated: 1999-01-13

header

1. The portion of a packet, preceding the actual data, containing source and destination addresses, error checking and other fields.

2. The part of an electronic mail message or news article that precedes the body of a message and contains, among other things, the sender's name and e-mail address and the date and time the message was sent.

Head Normal Form

<theory, reduction>

(HNF) A term describing a lambda expression whose top level is either a variable, a data value, a built-in function applied to too few arguments, or a lambda abstraction whose body is not reducible. I.e. the top level is neither a redex nor a lambda abstraction with a reducible body.

An expression in HNF may contain redexes in argument postions whereas a normal form may not.

Compare Weak Head Normal Form.

Last updated: 2003-01-08

head normalisation theorem

Under the typed lambda-calculus, beta/delta reduction of the left-most redex (normal order reduction) is guaranteed to terminate with a head normal form if one exists. See also Church-Rosser theorem.

heads down

[Sun] Concentrating, usually so heavily and for so long that everything outside the focus area is missed. See also hack mode and larval stage, although this mode is hardly confined to fledgling hackers.

[Jargon File]

head-strict

<theory>

A head-strict function will not necessarily evaluate every cons cell of its (list) argument, but whenever it does evaluate a cons cell it will also evaluate the element in the head of that cell. An example of a head-strict function is

 beforeZero :: [Int] -> [Int]
 beforeZero []     = []
 beforeZero (0:xs) = []
 beforeZero (x:xs) = x : beforeZero xs

which returns a list up to the first zero.

This pattern of evaluation is important because it is common in functions which operate on a list of inputs.

See also tail-strict, hyperstrict.

Last updated: 1995-05-11

heap

<programming>

1. An area of memory used for dynamic memory allocation where blocks of memory are allocated and freed in an arbitrary order and the pattern of allocation and size of blocks is not known until run time. Typically, a program has one heap which it may use for several different purposes.

Heap is required by languages in which functions can return arbitrary data structures or functions with free variables (see closure). In C functions malloc and free provide access to the heap.

Contrast stack. See also dangling pointer.

<programming>

2. A data structure with its elements partially ordered (sorted) such that finding either the minimum or the maximum (but not both) of the elements is computationally inexpensive (independent of the number of elements), while both adding a new item and finding each subsequent smallest/largest element can be done in O(log n) time, where n is the number of elements.

Formally, a heap is a binary tree with a key in each node, such that all the leaves of the tree are on two adjacent levels; all leaves on the lowest level occur to the left and all levels, except possibly the lowest, are filled; and the key in the root is at least as large as the keys in its children (if any), and the left and right subtrees (if they exist) are again heaps.

Note that the last condition assumes that the goal is finding the minimum quickly.

Heaps are often implemented as one-dimensional arrays. Still assuming that the goal is finding the minimum quickly the invariant is

   heap[i] <= heap[2*i] and heap[i] <= heap[2*i+1] for all i,

where heap[i] denotes the i-th element, heap[1] being the first. Heaps can be used to implement priority queues or in sort algorithms.

Last updated: 1996-02-26

heartbeat

<networking>

1. The signal emitted by a Level 2 Ethernet transceiver at the end of every packet to show that the collision-detection circuit is still connected.

2. A periodic synchronisation signal used by software or hardware, such as a bus clock or a periodic interrupt.

3. The "natural" oscillation frequency of a computer's clock crystal, before frequency division down to the machine's clock rate.

4. A signal emitted at regular intervals by software to demonstrate that it is still alive. Sometimes hardware is designed to reboot the machine if it stops hearing a heartbeat. See also breath-of-life packet, watchdog.

[Jargon File]

Last updated: 1996-03-12

heatseeker

<person, jargon>

(IBM) A customer who can be relied upon to buy, without fail, the latest version of an existing product (not quite the same as a member of the lunatic fringe). A 1993 example of a heatseeker is someone who, owning a 286 PC and Windows 3.0, goes out and buys Windows 3.1 (which offers no worthwhile benefits unless you have a 386). If all customers were heatseekers, vast amounts of money could be made by just fixing the bugs in each release (n) and selling it to them as release (n+1).

[Jargon File]

Last updated: 1996-03-12

heat sink

<hardware>

/heet sink/ (from "sink", electronics jargon for something which takes in current) A piece of thermally conductive metal attached to a semiconductor or other electronic device and designed to prevent it from overheating by conducting heat away from it and radiating it to the environment. Heat sinks often have fins to increase their surface area. They occasionally have fans attached. Heat sink compound can be smeared between the device and the heat sink to improve thermal conduction.

Last updated: 1997-06-10

heat slug

<hardware, processor>

A metal plate that helps dissipate heat away from the silicon core of a processor to the packaging or heat-sink.

Last updated: 2000-08-26

heavy metal

big iron

heavyweight

High-overhead; baroque; code-intensive; featureful, but costly. Especially used of communication protocols, language designs, and any sort of implementation in which maximum generality and/or ease of implementation has been pushed at the expense of mundane considerations such as speed, memory use and startup time. Emacs is a heavyweight editor; X is an *extremely* heavyweight window system. This term isn't pejorative, but one hacker's heavyweight is another's elephantine and a third's monstrosity.

Opposite: "lightweight". Usage: now borders on technical especially in the compound "heavyweight process".

Last updated: 1994-12-22

heavy wizardry

Code or designs that trade on a particularly intimate knowledge or experience of a particular operating system or language or complex application interface. Distinguished from deep magic, which trades more on arcane *theoretical* knowledge. Writing device drivers is heavy wizardry; so is interfacing to X (sense 2) without a toolkit. Especially found in source-code comments of the form "Heavy wizardry begins here".

Compare voodoo programming.

[Jargon File]

Hebbian learning

<artificial intelligence>

The most common way to train a neural network; a kind of unsupervised learning; named after canadian neuropsychologist, Donald O. Hebb.

The algorithm is based on Hebb's Postulate, which states that where one cell's firing repeatedly contributes to the firing of another cell, the magnitude of this contribution will tend to increase gradually with time. This means that what may start as little more than a coincidental relationship between the firing of two nearby neurons becomes strongly causal.

Despite limitations with Hebbian learning, e.g., the inability to learn certain patterns, variations such as Signal Hebbian Learning and Differential Hebbian Learning are still used.

http://neuron-ai.tuke.sk/NCS/VOL1/P3_html/node14.html.

Last updated: 2003-11-07

heisenbug

<jargon>

/hi:'zen-buhg/ (From Heisenberg's Uncertainty Principle in quantum physics) A bug that disappears or alters its behaviour when one attempts to probe or isolate it. (This usage is not even particularly fanciful; the use of a debugger sometimes alters a program's operating environment enough that buggy code, such as that which relies on the values of uninitialised memory, behaves quite differently.)

In C, nine out of ten heisenbugs result from uninitialised auto variables, fandango on core phenomena (especially corruption of the malloc arena) or errors that smash the stack.

Opposite: Bohr bug. See also mandelbug, schroedinbug.

[Jargon File]

Last updated: 1995-02-28

Helen Keller mode

1. State of a hardware or software system that is deaf, dumb, and blind, i.e. accepting no input and generating no output, usually due to an infinite loop or some other excursion into deep space. (Unfair to the real Helen Keller, whose success at learning speech was triumphant.) See also go flatline, catatonic.

2. On IBM PCs under MS-DOS, refers to a specific failure mode in which a screen saver has kicked in over an ill-behaved application which bypasses the very interrupts the screen saver watches for activity. Your choices are to try to get from the program's current state through a successful save-and-exit without being able to see what you're doing, or to re-boot the machine. This isn't (strictly speaking) a crash.

[Jargon File]

Helix

A hardware description language from Silvar-Lisco.

hello

hello, world

hello packet

<networking, communications>

An OSPF packet sent periodically on each network interface, real or virtual, to discover and test connections to neighbours. Hello packets are multicast on physical networks capable of multicasting or broadcasting to enable dynamic router discovery. They include the parameters that routers connected to a common network must agree on.

Hello packets increase network resilience by, e.g., allowing a router to establish a secondary connection when a primary connection fails.

Last updated: 1999-11-02

hello, sailor!

<jargon>

Occasional West Coast equivalent of hello, world; seems to have originated at SAIL, later associated with the game Zork (which also included "hello, aviator" and "hello, implementor"). Originally from the traditional hooker's greeting to a swabbie fresh off the boat, of course.

[Jargon File]

Last updated: 2007-10-30

hello, world

<programming>

The canonical, minimal, first program that a programmer writes in a new programming language or development environment. The program just prints "hello, world" to standard output in order to verify that the programmer can successfully edit, compile and run a simple program before embarking on anything more challenging.

Hello, world is the first example program in the C programming book, K&R, and the tradition has spread from there to pretty much every other language and many of their textbooks.

Environments that generate an unreasonably large executable for this trivial test or which require a hairy compiler-linker invocation to generate it are considered bad.

Hello, World in over 400 programming languages.

Last updated: 2013-10-27

HELP

<language, robotics>

1. DEA. A Language for industrial robots.

2. (Help Est un Lisp Paresseux - Help Is a Lazy Lisp). A lazy version of Scheme with strictness annotations, by Thomas Schiex <[email protected]>.

Helvetica

<text>

One of the most widely used sans-serif typefaces, developed in 1957 by Swiss typeface designer Max Miedinger with Eduard Hoffmann. Originally called Neue Haas Grotesk, it was renamed Helvetica for the international market. Helvetica is very similar to the common Arial typeface. The name is Latin for Swiss.

Linotype.

Last updated: 2013-09-19

henry

<unit>

(H) The SI unit of inductance: one henry is the inductance of a closed loop in which the induced voltage is one volt if the current flowing through it changes by one ampere each second, i.e., 1 H = 1 Vs/A. Named after the American physicist Joseph Henry (1797-1878).

Last updated: 1997-03-16

HENSA

Higher Education National Software Archive

HEP

High Energy (Particle) Physics.

HEPDB

A database management system for HEP.

HEPiX

A recently formed collaboration among various HEP institutes aiming at providing "compatible" versions of the Unix operating system at their sites.

HEPnet

An association concerned with networking requirements for high energy physicists.

HEPVM

A collaboration among various HEP institutes to implement "compatible" versions of IBM's VM-CMS operating system at their sites.

HEQS

E. Derman. Constraint language for financial modelling. Uses an extension of the equation solver in IDEAL. "A Simple Equation Solver and Its Application to Financial Modeling", E. Derman et al, Soft Prac & Exp 14(12):1169-1181 (Dec 1984).

HERA

An electron-proton collider at DESY, W. Germany.

HERAKLIT

<language>

A distributed object-oriented language.

["Definition einer objektorientierten Programmiersprache mit hierarchischem Typkonzept", B. Hindel, diss U Erlangen-Nuernberg, Dec 1987].

Last updated: 1995-03-16

here document

<operating system>

Data included in a Unix shell script or Perl script using the "<<" syntax.

Last updated: 1995-04-19

Herman Hollerith

<person>

The promulgator of the punched card. Hollerith was born on 1860-02-29 and died on 1929-11-17. He graduated from Columbia University, NewYork, NY, USA. He joined the US Census Bureau as a statistician where he used a punched card device to help analyse the 1880 US census data. This punched card system stored data in 80 columns. This "80-column" concept has carried forward in various forms into modern applications.

In 1896, Hollerith founded the Tabulating Machine Company to exploit his invention and in 1924 his firm became part of IBM. The Hollerith system was used for the 1911 UK census.

A correspondant writes:

Wasn't Hollerith's original machine first used for the 1990 US census? And I think I am right in saying that the physical layout was a 20x12 grid of round holes. The one I have seen (picture only, unfortunately, not the real thing) did not use 'columns' as such but holes were grouped into irregularly-shaped fields, such that each hole had a more-or-less independent function.

Last updated: 2001-08-30

Hermes

<language>

An experimental, very high level, integrated language and system from the IBM Watson Research Centre, produced in June 1990. It is designed for implementation of large systems and distributed applications, as well as for general-purpose programming. It is an imperative language, strongly typed and is a process-oriented successor to NIL.

Hermes hides distribution and heterogeneity from the programmer. The programmer sees a single abstract machine containing processes that communicate using calls or sends. The compiler, not the programmer, deals with the complexity of data structure layout, local and remote communication, and interaction with the operating system. As a result, Hermes programs are portable and easy to write. Because the programming paradigm is simple and high level, there are many opportunities for optimisation which are not present in languages which give the programmer more direct control over the machine.

Hermes features threads, relational tablesHermes is, typestate checking, capability-based access and dynamic configuration.

Version 0.8alpha patchlevel 01 runs on RS/6000, Sun-4, NeXT, IBM-RT/BSD4.3 and includes a bytecode compiler, a bytecode->C compiler and run-time support.

0.7alpha for Unix.

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

Usenet newsgroup: comp.lang.hermes.

["Hermes: A Language for Distributed Computing". Strom, Bacon, Goldberg, Lowry, Yellin, Yemini. Prentice-Hall, Englewood Cliffs, NJ. 1991. ISBN: O-13-389537-8].

Last updated: 1992-03-22

Hesiod

<project>

The name server of the Athena project.

[Details?]

Last updated: 1997-10-27

heterogeneous

Composed of unrelated parts, different in kind.

Often used in the context of distributed systems that may be running different operating systems or network protocols (a heterogeneous network).

For examples see: interoperable database, middleware.

Constrast homogeneous.

Last updated: 1999-05-06

heterogeneous network

<networking>

A network running multiple network layer protocols such as DECnet, IP, IPX, XNS.

Last updated: 1997-10-27

heterogenous

<spelling>

It's spelled heterogeneous.

Last updated: 1999-06-10

heuristic

<programming>

1. A rule of thumb, simplification, or educated guess that reduces or limits the search for solutions in domains that are difficult and poorly understood. Unlike algorithms, heuristics do not guarantee optimal, or even feasible, solutions and are often used with no theoretical guarantee.

<algorithm>

2. approximation algorithm.

Last updated: 2001-04-12

heuristics testing

failure-directed testing

Hewlett-Packard

(HP) Hewlett-Packard designs, manufactures and services electronic products and systems for measurement, computation and communications. The company's products and services are used in industry, business, engineering, science, medicine and education in approximately 110 countries.

HP was founded in 1939 and employs 96600 people, 58900 in the USA. They have manufacturing and R&D establishments in 54 cities in 16 countries and approximately 600 sales and service offices in 110 countries. Their revenue (in 1992/1993?) was $20.3 billion. The Chief Executive Officer is Lewis E. Platt. HP's stock is traded on the New York Stock Exchange and the Pacific, Tokyo, London, Frankfurt, Zurich and Paris exchanges.

Quarterly sales $6053M, profits $347M (Aug 1994).

http://hp.com/home.html.

Last updated: 1994-09-26

Hewlett-Packard Graphics Language

<graphics, language>

(HP-GL) A vector graphics language used by HP plotters.

[Details? On-line spec?]

Last updated: 1994-10-27

Hewlett-Packard Interface Bus

IEEE 488

Hewlett Packard Multi Processing Executive

<operating system>

(HP-MPE) The standard operating system on all HP3000 minicomputers, in the same way that HP9000 computers run HP-UX.

Last updated: 1998-02-17

Hewlett Packard Precision Architecture

(HP-PA) Hewlett Packard's range of RISC processors.

[Details?]

Last updated: 1995-02-22

Hewlett-Packard Visual Engineering Environment

(HP VEE) A package similar in intention to LabVIEW, running on Unix workstations under OSF/Motif.

Last updated: 1997-05-12

hex

1. hexadecimal.

2. A 6-pack of anything (compare quad). Neither usage has anything to do with magic or black art, though the pun is appreciated and occasionally used by hackers. True story: As a joke, some hackers once offered some surplus ICs for sale to be worn as protective amulets against hostile magic. The chips were, of course, hex inverters.

<character>

3. The hash character, used to introduce hexadecimal constants in some assembly languages.

[Jargon File]

Last updated: 1995-03-06

hexadecimal

<mathematics>

(Or "hex") Base 16. A number representation using the digits 0-9, with their usual meaning, plus the letters A-F (or a-f) to represent hexadecimal digits with values of (decimal) 10 to 15. The right-most digit counts ones, the next counts multiples of 16, then 16^2 = 256, etc.

For example, hexadecimal BEAD is decimal 48813:

 digit    weight        value
 B = 11   16^3 = 4096   11*4096 = 45056
 E = 14   16^2 =  256   14* 256 =  3584
 A = 10   16^1 =   16   10*  16 =   160
 D = 13   16^0 =    1   13*   1 =    13
 	 	  -----
 	 	BEAD   = 48813

There are many conventions for distinguishing hexadecimal numbers from decimal or other bases in programs. In C for example, the prefix "0x" is used, e.g. 0x694A11.

Hexadecimal is more succinct than binary for representing bit-masks, machines addresses, and other low-level constants but it is still reasonably easy to split a hex number into different bit positions, e.g. the top 16 bits of a 32-bit word are the first four hex digits.

The term was coined in the early 1960s to replace earlier "sexadecimal", which was too racy and amusing for stuffy IBM, and later adopted by the rest of the industry.

Actually, neither term is etymologically pure. If we take "binary" to be paradigmatic, the most etymologically correct term for base ten, for example, is "denary", which comes from "deni" (ten at a time, ten each), a Latin "distributive" number; the corresponding term for base sixteen would be something like "sendenary". "Decimal" is from an ordinal number; the corresponding prefix for six would imply something like "sextidecimal". The "sexa-" prefix is Latin but incorrect in this context, and "hexa-" is Greek. The word octal is similarly incorrect; a correct form would be "octaval" (to go with decimal), or "octonary" (to go with binary). If anyone ever implements a base three computer, computer scientists will be faced with the unprecedented dilemma of a choice between two *correct* forms; both "ternary" and "trinary" have a claim to this throne.

[Jargon File]

Last updated: 1996-03-09

hexidecimal

<spelling>

Mis-spelling of "hexadecimal".

Last updated: 1998-03-03

hexit

<jargon>

/hek'sit/ A hexadecimal digit (0-9, and A-F or a-f). Used by people who claim that there are only *ten* digits, sixteen-fingered human beings being rather rare, despite what some keyboard designs might seem to imply (see space-cadet keyboard).

[Jargon File]

Last updated: 1996-03-09

Nearby terms:

HDTVhdxHead Disk AssemblyheaderHead Normal Formhead normalisation theorem

Try this search on Wikipedia, Wiktionary, Google, OneLook.



Loading