We live in an era of unprecedented cyberattacks,
where malicious campaigns, both personal and governmental, are carried out
across laptops and wireless networks.
Even if you
are not technically minded, your day-to-day life is still probably pretty
crowded with stories about hacking, whether you recognize them as such or not.
Have you
ever installed an antivirus tool on your computer? Read a story about WikiLeaks or
the Arab Spring? Opened a bank account? Then
hacking is important to you, even if remains largely in the background of your
life. It makes sense to get informed about it. Unfortunately, it is a very
technical subject, with a great deal of specialized vocabulary.
We’ve put
together a glossary of what we believe to be the most important and current
hacking terms you should know.
Adware: Adware can mean the software that automatically
generates advertisements in a program that is otherwise free, such as an online
video game. But in this context it more commonly means a kind of spyware that
tracks your browsing habits covertly to generate those ads.
Anonymous: A non-hierarchical hacktivist collective,Anonymous uses
hacking (and arguably cracking) techniques to register political protest in
campaigns known as “#ops.” Best known for their distributed denial of services
(DDoS) attacks, past activities have included attacks against the Church of Scientology; Visa, Paypal, and others who withdrew their services
from WikiLeaks’ Julian Assange after that group began releasing war
documents; #OpTunisia and others purporting to support the Arab Spring; and a
campaign that brought down the website of theWestboro Baptist Church. #Ops are usually
marked with the release of a video of a reader in a Guy Fawkes mask
using a computer generated voice. Offshoot groups include AntiSec and LulzSec.
AntiSec: An Anonymous splinter group, AntiSec was
best known for the hack of security firm Stratfor, publishing credit card
numbers and email addresses taken from the company’s site. Jeremy Hammond was arrested for alleged Anti-Sec
activities under the alias sup_g.
Back door: A back door, or trap door, is a hidden entry to
a computing device or software that bypasses security measures, such as logins
and password protections. Some have alleged that manufacturers have worked with
government intelligence to build backdoors into their products. Malware is
often designed to exploit back doors.
Black hat: Black hat hackers are those who engage in
hacking for illegal purposes, often for financial gain, though also for
notoriety. Their hacks (and cracks) result in inconvenience and loss for both
the owners of the system they hack and the users.
Bot: A program that automates a usually simple action
so that it can be done repeatedly at a much higher rate for a more sustained
period than a human operator could do it. Like most things in the world of
hacking, bots are, in themselves, benign and used for a host of legitimate
purposes, like online content delivery. However, they are often used in
conjunction with cracking, and that’s where its public notoriety comes from.
Bots can be used, for instance, to make the content calls that make up denial
of service attacks. Bot is also a term used to refer to the individual hijacked
computers that make up a botnet.
Botnet: A botnet is a group of computers controlled
without their owners’ knowledge and used to send spam or make denial of service
attacks. Malware is used to hijack the individual computers, also known as
“zombies,” and send directions through them. They are best known in terms of
large spam networks, frequently based in the former Soviet Union.
Brute force
attack: Also known
as an exhaustive key search, a brute force attack is an automated search for
every possible password to a system. It is an inefficient method of hacking
compared to others like phishing. It’s used usually when there is no
alternative. The process can be made shorter by focusing the attack on password
elements likely to be used by a specific system.
Clone
phishing: Clone
phishing is the modification of an existing, legitimate email with a false link
to trick the recipient into providing personal information.
Code: Code is
the machine-readable, usually text-based instructions that govern a device or
program. Changing the code can change the behavior of the device or program.
Compiler: A compiler is a program that translates
high-level language (source code in a programming language) into executable
machine language. Compilers are sometimes rewritten to create a back door
without changing a program’s source code.
Cookie: Cookies are text files sent from your Web
browser to a server, usually to customize information from a website.
Cracking: To break into a secure computer system,
frequently to do damage or gain financially, though sometimes in political
protest.
Denial of
service attack (DoS): DoS is used
against a website or computer network to make it temporarily unresponsive. This
is often achieved by sending so many content requests to the site that the
server overloads. Content requests are the instructions sent, for instance,
from your browser to a website that enables you to see the website in question.
Some have described such attacks as the Internet equivalent of street protests
and some groups, such as Anonymous frequently use it as a protest tool.
Distributed
denial of service attack (DDoS): A DoS using a number of separate machines. This
can be accomplished by seeding machines with a Trojan and creating a botnet or,
as is the case with a number of Anonymous attacks, by using the machines of
volunteers.
Doxing: Discovering and publishing the identity of an
otherwise anonymous Internet user by tracing their online publically available
accounts, metadata, and documents like email accounts, as well as by hacking,
stalking, and harassing.
Firewall: A system using hardware, software, or both to
prevent unauthorized access to a system or machine.
Gray hat: Just like the rest of life, hacking is often
less black or white than it is gray. The term gray hat hacker reflects that
reality. A gray hat hacker will break the law in the pursuit of a hack, but
does not do so maliciously or for personal gain. Many would argue Anonymous are
gray hats.
Hacking: Hacking is the creative manipulation of code,
distinguished, albeit amorphously, from programming by focusing on the
manipulation of already written code in the devices or software for which that
code was already written. Metaphorically it extends to social engineering in
its manipulation of social code to effect change. Many prefer to use the term
cracking to describe hacking into a machine or program without permission.
Hackers are sometimes divided into white hat, black hat, and gray hat hackers.
Hacktivist: A hacker whose goals are social or political.
Examples range from reporting online anonymously from a country that attacks
free speech to launching a DDoS campaign against a company whose CEO has issued
objectionable statements. Not to be confused with slacktivism, which refers to
push-button activism in which a supporter of a social or political campaign’s
goals does nothing but register their support online, for instance by “liking”
a Facebook page.
Hash: A hash is a number generated by an algorithm
from a string of characters in a message or other string. In a communications
system using hashes, the sender of a message or file can generate a hash,
encrypt the hash, and send it with the message. On decryption, the recipient
generates another hash. If the included and the generated hash are the same,
the message or file has almost certainly not been tampered with.
IP: Internet protocol address. It’s the distinctive
numeral fingerprint that each device carries that’s connected to a network
using Internet Protocol. If you have a device’s IP you can often identify the
person using it, track its activity, and discover its location. These addresses
are apportioned by the regional Internet registries of the IANA (the Internet
Assigned Numbers Authority). Crackers can use knowledge of your IP address to
your computer via one of its ports, the points that regulate information
traffic flow.
IRC: Internet relay chat is a protocol used by both
groups and for one-on-one conversations. Often utilized by hackers to
communicate or share files. Because they are usually unencrypted, hackers
sometimes use packet sniffers to steal personal information from them.
Keystroke
logging: Keystroke
logging is the tracking of which keys are pressed on a computer (and which
touchscreen points are used). It is, simply, the map of a computer/human
interface. It is used by gray and black hat hackers to record login IDs and
passwords. Keyloggers are usually secreted onto a device using a Trojan
delivered by a phishing email.
Logic bomb: A virus secreted into a system that triggers a
malicious action when certain conditions are met. The most common version is
the time bomb.
LulzSec: LulzSec is an Anonymous offshoot. It’s
best-known actions were hacking user information from the website of Sony
Pictures and for allegedly shutting down the CIA website with a DDoS attack.
LulzSec’s best known, however, for Hector Xavier Monsegur, a.k.a. “Sabu,” a
hacker turned FBI informant, whose intel led to the arrest of four other
LulzSec members. He faces the possibility of a long prison term despite his
cooperation.
Malware: A software program designed to hijack, damage,
or steal information from a device or system. Examples include spyware, adware,
rootkits, viruses, keyloggers, and many more. The software can be delivered in
a number of ways, from decoy websites and spam to USB drives.
Master: The computer in a botnet that controls, but is
not controlled by, all the other devices in the network. It’s also the computer
to which all other devices report, sending information, such as credit card
numbers, to be processed. Control by the master of the bots is usually via IRC.
NSA: The National
Security Agency is the
U.S. intelligence group dedicated to intercepting and analyzing data,
specifically electronic data. Although not the only intelligence organization
in the U.S., much less the world, to engage in suspect surveillance, thanks to
former NSA contract analyst Edward
Snowden’s leak of the agency’s classified documents, it has become
the most celebrated and reviled one. You can find a complete guide to the NSA
and its many programs here.
Payload: The cargo of a data transmission is called the
payload. In black hat hacking, it refers to the part of the virus that
accomplishes the action, such as destroying data, harvesting information, or
hijacking the computer.
Packet
sniffer: Sniffers are
programs designed to detect and capture certain types of data. Packet sniffers
are designed to detect packets traveling online. Packets are packages of
information traveling on the Internet that contain the destination address in
addition to content. Packet can be used to capture login information and
passwords for a device or computer network.
Phishing: Tricking someone into giving you their personal
information, including login information and passwords, credit card numbers,
and so on by imitating legitimate companies, organizations, or people online.
Phishing’s often done via fake emails or links to fraudulent websites.
Remote access: Remote control is the process of getting a
target computer to recognize your keystrokes as its own, like changing a TV
with a remote control. Gaining remote access allows you to run the target
machine completely by using your own, allowing for the transfer of files
between the target and the host.
Rootkit: A rootkit is a set of software programs used to
gain administrator-level access to a system and set up malware, while
simultaneously camouflaging the takeover.
Script
kiddie: A pejorative
term for a would-be cracker without technical skills. Script kiddies use prefab
cracking tools to attack systems and deface them, often in an attempt to score
points with their peers.
Social
engineering: A custodian
is to a janitor as a social engineer is to a con man. Social engineering is
conning people into giving you confidential information, such as passwords to
their accounts. Given the difficulty of breaking, 128-bit encryption with brute
force, for example, social engineering is an integral element of cracking.
Examples include phishing and spear-phishing.
Spam: Unwanted and unsolicited email and other
electronic messages that attempt to convince the receiver to either purchase a
product or service, or use that prospect to defraud the recipient. The largest
and most profitable spamming organizations often use botnets to increase the
amount of spam they send (and therefore the amount of money they make).
Spear-phishing: A more focused type of phishing, targeting a
smaller group of targets, from a department within a company or organization
down to an individual.
Spoofing: Email spoofing is altering the header of an
email so that it appears to come from elsewhere. A black hat hacker, for
instance, might alter his email header so it appears to come from your bank. IP
spoofing is the computer version, in which a packet is sent to a computer with
the IP altered to imitate a trusted host in the hope that the packet will be
accepted and allow the sender access to the target machine.
Spyware: Spyware is a type of malware that is programmed
to hide on a target computer or server and send back information to the master
server, including login and password information, bank account information, and
credit card numbers.
Syrian
Electronic Army: The SEA is
a pro-government hacking group, best known for defacing high-profile
publications like the New York Times and National Public Radio (and the
Daily Dot). Recently, Vice and Krebs on Security have doxed several alleged
members of the group. Some have accused them of being less hackers than script
kiddies.
Time bomb: A virus whose payload is deployed at or after a
certain time.
Trojan
horse: A Trojan is
a type of malware that masquerades as a desirable piece of software. Under this
camouflage, it delivers its payload and usually installs a back door in
the infected machine.
Virus: Self-replicating malware that injects copies of
itself in the infected machine. A virus can destroy a hard drive, steal
information, log keystrokes, and many other malicious activities.
Vulnerability: A weak spot hackers can exploit to gain access
to a machine.
Whaling: Spear-phishing that targets the upper management
of for-profit companies, presumably in the hope that their higher net worth
will result in either more profit, if the cracker is after financial gain, or
that their higher profile will ensure the gray hat hacker more exposure for his
or her cause.
White hat: An ethical hacker who uses his skills in the
service of social good. The term may also be applied to a hacker who helps a
company or organization, or users in general, by exposing vulnerabilities
before black hat hackers do.
Worm: Self-replicating, standalone malware. As a
standalone it does not report back to a master, and unlike a virus it does not
need to attach itself to an existing program. It often does no more than damage
or ruin the computers it is transmitted to. But it’s sometimes equipped
with a payload, usually one that installs back doors on infected machine to
make a botnet.
Zero day
exploit: A zero day
attack is a previously unknown vulnerability in a system. A zero day attack is
the first such use of the exploit by a cracker.
If you’d
like to suggest alternative definitions for any of the terms, or help build
them out, or have questions about the meaning of terms we didn’t list, feel
free to post them in the comments.
The Original Hacker's
Dictionary
[This file, jargon.txt, was maintained on MIT-AI for many years,
before being published by Guy Steele and others as the Hacker's Dictionary.
Many years after the original book went out of print, Eric Raymond picked it
up, updated it and republished it as the New Hacker's Dictionary.
Unfortunately, in the process, he essentially destroyed what held it together,
in various ways: first, by changing its emphasis from Lisp-based to UNIX-based
(blithely ignoring the distinctly anti-UNIX aspects of the LISP culture
celebrated in the original); second, by watering down what was otherwise the
fairly undiluted record of a single cultural group through this kind of mixing;
and third, by adding in all sorts of terms which are "jargon" only in
the sense that they're technical. This page, however, is pretty much the
original, snarfed from MIT-AI around 1988. -- jpd.]
Verb doubling:
a standard construction is to double a verb and use i as a comment on what the
implied subject does. Often used to terminate a conversation. Typical examples
involve WIN, LOSE, HACK, FLAME, BARF, CHOMP. "The disk heads just
crashed." "Lose, lose." "Mostly he just talked about his
--- crock. Flame, flame." "Boy, what a bagbiter! Chomp, chomp!"
Soundalike slang: similar to Cockney rhyming slang. Often made up on the spur of
the moment. Standard examples: Boston Globe => Boston Glob; Herald
American => Horrid (Harried) American; New York Times => New York Slime;
historical reasons => hysterical raisins; government property - do not
duplicate (seen on keys) => government duplicity - do not propagate. Often
the substitution will be made in such a way as to slip in a standard jargon
word: Dr. Dobb's Journal => Dr. Frob's Journal; creeping featurism
=> feeping creaturism; Margaret Jacks Hall => Marginal Hacks Hall.
The -P convention: turning a word into a question by appending the syllable
"P"; from the LISP convention of appending the letter "P"
to denote a predicate (a Boolean-values function). The question should expect a
yes/no answer, though it needn't. (See T and NIL.) At dinnertime:
"Foodp?" "Yeah, I'm pretty hungry." or "T!";
"State-of-the-world-P?" (Straight) "I'm about to go home."
(Humorous) "Yes, the world has a state."
[One of the best of these is a Gosperism (i.e., due to Bill
Gosper). When we were at a Chinese restaurant, he wanted to know whether
someone would like to share with him a two-person-sized bowl of soup. His
inquiry was: "Split-p soup?" --GLS]
Peculiar nouns:
MIT AI hackers love to take various words and add the wrong endings to them to
make nouns and verbs, often by extending a standard rule to nonuniform cases.
Examples: porous => porosity. generous => generosity. Ergo:
mysterious => mysteriosity. ferrous => ferocity. Other examples:
winnitude, disgustitude, hackification.
Spoken inarticulations: Words such as "mumble", "sigh", and
"groan" are spoken in places where their referent might more
naturally be used. It has been suggested that this usage derives from the
impossibility of representing such noises in a com link. Another expression
sometimes heard is "complain!"
@BEGIN (primarily CMU)
with @END, used humorously in writing to indicate a context or to remark on the
surrounded text. From the SCRIBE command of the same name. For example:
@Begin(Flame)
Predicate
logic is the only good programming language.
Anyone
who would use anything else is an idiot.
Also,
computers
should be tredecimal instead of binary.
@End(Flame)
ANGLE BRACKETS (primarily
MIT) n. Either of the characters "<" and ">". See
BROKET.
AOS (aus (East coast)
ay-ahs (West coast)) [based on a PDP-10 increment instruction] v. To increase
the amount of something. "Aos the campfire." Usage: considered silly.
See SOS.
ARG n. Abbreviation
for "argument" (to a function), used so often as to have become a new
word.
AUTOMAGICALLY adv.
Automatically, but in a way which, for some reason (typically because it is too
complicated, or too ugly, or perhaps even too trivial), I don't feel like
explaining to you. See MAGIC. Example: Some programs which produce XGP output
files spool them automagically.
BAGBITER 1. n. Equipment or
program that fails, usually intermittently. 2. BAGBITING: adj. Failing hardware
or software. "This bagbiting system won't let me get out of
spacewar." Usage: verges on obscenity. Grammatically separable; one may
speak of "biting the bag". Synonyms: LOSER, LOSING, CRETINOUS,
BLETCHEROUS, BARFUCIOUS, CHOMPER, CHOMPING.
BANG n. Common
alternate name for EXCL (q.v.), especially at CMU. See SHRIEK.
BAR 1. The second
metasyntactic variable, after FOO. "Suppose we have two functions FOO and
BAR. FOO calls BAR..." 2. Often appended to FOO to produce FOOBAR.
BARF [from the
"layman" slang, meaning "vomit"] 1. interj. Term of
disgust. See BLETCH. 2. v. Choke, as on input. May mean to give an error
message. "The function `=' compares two fixnums or two flonums, and barfs
on anything else." 3. BARFULOUS, BARFUCIOUS: adj. Said of something which
would make anyone barf, if only for aesthetic reasons.
BELLS AND WHISTLES n. Unnecessary but useful (or amusing) features of a program.
"Now that we've got the basic program working, let's go back and add some
bells and whistles." Nobody seems to know what distinguishes a bell from a
whistle.
BIGNUMS [from Macsyma] n.
1. In backgammon, large numbers on the dice. 2. Multiple-precision (sometimes
infinitely extendable) integers and, through analogy, any very large numbers.
3. EL CAMINO BIGNUM: El Camino Real, a street through the San Francisco
peninsula that originally extended (and still appears in places) all the way to
Mexico City. It was termed "El Camino Double Precision" when someone
noted it was a very long street, and then "El Camino Bignum" when it
was pointed out that it was hundreds of miles long.
BIN [short for BINARY;
used as a second file name on ITS] 1. n. BINARY. 2. BIN FILE: A file containing
the BIN for a program. Usage: used at MIT, which runs on ITS. The equivalent
term at Stanford is DMP (pronounced "dump") FILE. Other names used
include SAV ("save") FILE (DEC and Tenex), SHR ("share")
and LOW FILES (DEC), and EXE ("ex'ee") FILE (DEC and Twenex). Also in
this category are the input files to the various flavors of linking loaders
(LOADER, LINK-10, STINK), called REL FILES.
BINARY n. The object code
for a program.
BIT n. 1. The unit of
information; the amount of information obtained by asking a yes-or-no question.
"Bits" is often used simply to mean information, as in "Give me
bits about DPL replicators". 2. [By extension from "interrupt
bits" on a computer] A reminder that something should be done or talked
about eventually. Upon seeing someone that you haven't talked to for a while,
it's common for one or both to say, "I have a bit set for you."
BITBLT (bit'blit) 1. v.
To perform a complex operation on a large block of bits, usually involving the
bits being displayed on a bitmapped raster screen. See BLT. 2. n. The operation
itself.
BIT BUCKET n.
1. A receptacle used to hold the runoff from the computer's shift registers. 2.
Mythical destination of deleted files, GC'ed memory, and other
no-longer-accessible data. 3. The physical device associated with
"NUL:".
BLETCH [from German
"brechen", to vomit (?)] 1. interj. Term of disgust. 2. BLETCHEROUS:
adj. Disgusting in design or function. "This keyboard is
bletcherous!" Usage: slightly comic.
BLT (blit, very rarely
belt) [based on the PDP-10 block transfer instruction; confusing to users of
the PDP-11] 1. v. To transfer a large contiguous package of information from
one place to another. 2. THE BIG BLT: n. Shuffling operation on the PDP-10
under some operating systems that consumes a significant amount of computer
time. 3. (usually pronounced B-L-T) n. Sandwich containing bacon, lettuce, and
tomato.
BOGOSITY n. The degree to
which something is BOGUS (q.v.). At CMU, bogosity is measured with a bogometer;
typical use: in a seminar, when a speaker says something bogus, a listener
might raise his hand and say, "My bogometer just triggered." The
agreed-upon unit of bogosity is the microLenat (uL).
BOGUS (WPI, Yale,
Stanford) adj. 1. Non-functional. "Your patches are bogus." 2.
Useless. "OPCON is a bogus program." 3. False. "Your arguments
are bogus." 4. Incorrect. "That algorithm is bogus." 5. Silly.
"Stop writing those bogus sagas." (This word seems to have some, but
not all, of the connotations of RANDOM.) [Etymological note from Lehman/Reid at
CMU: "Bogus" was originally used (in this sense) at Princeton, in the
late 60's. It was used not particularly in the CS department, but all over
campus. It came to Yale, where one of us (Lehman) was an undergraduate, and (we
assume) elsewhere through the efforts of Princeton alumni who brought the word
with them from their alma mater. In the Yale case, the alumnus is Michael
Shamos, who was a graduate student at Yale and is now a faculty member here. A
glossary of bogus words was compiled at Yale when the word was first
popularized (e.g., autobogophobia: the fear of becoming bogotified).]
BOUNCE (Stanford) v. To
play volleyball. "Bounce, bounce! Stop wasting time on the computer and
get out to the court!"
BRAIN-DAMAGED [generalization
of "Honeywell Brain Damage" (HBD), a theoretical disease invented to
explain certain utter cretinisms in Multics] adj. Obviously wrong; cretinous;
demented. There is an implication that the person responsible must have
suffered brain damage, because he should have known better. Calling something
brain-damaged is really bad; it also implies it is unusable.
BREAK v. 1. To cause to
be broken (in any sense). "Your latest patch to the system broke the
TELNET server." 2. (of a program) To stop temporarily, so that it may be
examined for debugging purposes. The place where it stops is a BREAKPOINT.
BROKEN adj. 1. Not
working properly (of programs). 2. Behaving strangely; especially (of people),
exhibiting extreme depression.
BROKET [by analogy with
"bracket": a "broken bracket"] (primarily Stanford) n.
Either of the characters "<" and ">". (At MIT, and
apparently in The Real World (q.v.) as well, these are usually called ANGLE
BRACKETS.)
BUCKY BITS (primarily
Stanford) n. The bits produced by the CTRL and META shift keys on a Stanford
(or Knight) keyboard. Rumor has it that the idea for extra bits for characters
came from Niklaus Wirth, and that his nickname was `Bucky'. DOUBLE BUCKY: adj.
Using both the CTRL and META keys. "The command to burn all LEDs is double
bucky F."
BUG [from telephone
terminology, "bugs in a telephone cable", blamed for noisy lines;
however, Jean Sammet has repeatedly been heard to claim that the use of the
term in CS comes from a story concerning actual bugs found wedged in an early
malfunctioning computer] n. An unwanted and unintended property of a program.
(People can have bugs too (even winners) as in "PHW is a super winner, but
he has some bugs.") See FEATURE.
BUM 1. v. To make
highly efficient, either in time or space, often at the expense of clarity. The
object of the verb is usually what was removed ("I managed to bum three
more instructions.") but can be the program being changed ("I bummed
the inner loop down to seven microseconds.") 2. n. A small change to an
algorithm to make it more efficient.
BUZZ v. To run in a
very tight loop, perhaps without guarantee of getting out.
CANONICAL adj.
The usual or standard state or manner of something. A true story: One Bob
Sjoberg, new at the MIT AI Lab, expressed some annoyance at the use of jargon.
Over his loud objections, we made a point of using jargon as much as possible
in his presence, and eventually it began to sink in. Finally, in one
conversation, he used the word "canonical" in jargon-like fashion
without thinking. Steele: "Aha! We've finally got you talking
jargon too!" Stallman: "What did he say?" Steele: "He just
used `canonical' in the canonical way."
CATATONIA (kat-uh-toe'nee-uh)
n. A condition of suspended animation in which the system is in a wedged
(CATATONIC) state.
CDR (ku'der) [from
LISP] v. With "down", to trace down a list of elements. "Shall
we cdr down the agenda?" Usage: silly.
CHINE NUAL n.
The Lisp Machine Manual, so called because the title is wrapped around the
cover so only those letters show.
CHOMP v. To lose; to
chew on something of which more was bitten off than one can. Probably related
to gnashing of teeth. See BAGBITER. A hand gesture commonly accompanies this,
consisting of the four fingers held together as if in a mitten or hand puppet,
and the fingers and thumb open and close rapidly to illustrate a biting action.
The gesture alone means CHOMP CHOMP (see Verb Doubling).
CLOSE n. Abbreviation
for "close (or right) parenthesis", used when necessary to eliminate
oral ambiguity. See OPEN.
COKEBOTTLE n.
Any very unusual character. MIT people complain about the
"control-meta-cokebottle" commands at SAIL, and SAIL people complain
about the "altmode-altmode-cokebottle" commands at MIT.
COM MODE (variant: COMM
MODE) [from the ITS feature for linking two or more terminals together so that
text typed on any is echoed on all, providing a means of conversation among
hackers] n. The state a terminal is in when linked to another in this way. Com
mode has a special set of jargon words, used to save typing, which are not used
orally:
BCNU Be
seeing you.
BTW By
the way...
BYE? Are
you ready to unlink? (This is the
standard way to end a com mode conversation; the other person types BYE to
confirm, or else continues the conversation.)
CUL See
you later.
FOO? A
greeting, also meaning R U THERE? Often
used in the case of unexpected links, meaning also "Sorry if I butted
in" (linker) or "What's up?" (linkee).
FYI For
your information...
GA Go
ahead (used when two people have tried to type simultaneously; this cedes the
right to type to the other).
HELLOP A
greeting, also meaning R U THERE? (An
instance of the "-P" convention.)
MtFBWY May
the Force be with you. (From Star Wars.)
NIL No
(see the main entry for NIL).
OBTW Oh, by
the way...
R U THERE? Are
you there?
SEC Wait
a second (sometimes written SEC...).
T Yes
(see the main entry for T).
TNX Thanks.
TNX 1.0E6 Thanks
a million (humorous).
/\/\/\ The equivalent of a giggle.
At Stanford, where the link feature is implemented by "talk
loops", the term TALK MODE is used in place of COM MODE. Most of the above
"sub-jargon" is used at both Stanford and MIT.
CONNECTOR CONSPIRACY [probably came into prominence with the appearance of the
KL-10, none of whose connectors match anything else] n. The tendency of
manufacturers (or, by extension, programmers or purveyors of anything) to come
up with new products which don't fit together with the old stuff, thereby
making you buy either all new stuff or expensive interface devices.
CONS [from LISP] 1. v.
To add a new element to a list. 2. CONS UP: v. To synthesize from smaller
pieces: "to cons up an example".
CRASH 1. n. A sudden,
usually drastic failure. Most often said of the system (q.v., definition #1),
sometimes of magnetic disk drives. "Three lusers lost their files in last
night's disk crash." A disk crash which entails the read/write heads
dropping onto the surface of the disks and scraping off the oxide may also be
referred to as a "head crash". 2. v. To fail suddenly. "Has the
system just crashed?" Also used transitively to indicate the cause of the
crash (usually a person or a program, or both). "Those idiots playing
spacewar crashed the system." Sometimes said of people. See GRONK OUT.
CRETIN 1. n. Congenital
loser (q.v.). 2. CRETINOUS: adj. See BLETCHEROUS and BAGBITING. Usage: somewhat
ad hominem.
CRLF (cur'lif,
sometimes crul'lif) n. A carriage return (CR) followed by a line feed (LF). See
TERPRI.
CROCK [probably from
"layman" slang, which in turn may be derived from "crock of
shit"] n. An awkward feature or programming technique that ought to be
made cleaner. Example: Using small integers to represent error codes without
the program interpreting them to the user is a crock. Also, a technique that
works acceptably but which is quite prone to failure if disturbed in the least,
for example depending on the machine opcodes having particular bit patterns so
that you can use instructions as data words too; a tightly woven, almost
completely unmodifiable structure.
CRUFTY [from "cruddy"]
adj. 1. Poorly built, possibly overly complex. "This is standard old
crufty DEC software". Hence CRUFT, n. shoddy construction. Also CRUFT, v.
[from hand cruft, pun on hand craft] to write assembler code for something
normally (and better) done by a compiler. 2. Unpleasant, especially to the
touch, often with encrusted junk. Like spilled coffee smeared with peanut
butter and catsup. Hence CRUFT, n. disgusting mess. 3. Generally unpleasant.
CRUFTY or CRUFTIE n. A small crufty object (see FROB); often one which doesn't
fit well into the scheme of things. "A LISP property list is a good place
to store crufties (or, random cruft)." [Note: Does CRUFT have anything to
do with the Cruft Lab at Harvard? I don't know, though I was a Harvard student.
- GLS]
CRUNCH v. 1. To process,
usually in a time-consuming or complicated way. Connotes an essentially trivial
operation which is nonetheless painful to perform. The pain may be due to the
triviality being imbedded in a loop from 1 to 1000000000. "FORTRAN programs
do mostly number crunching." 2. To reduce the size of a file by a
complicated scheme that produces bit configurations completely unrelated to the
original data, such as by a Huffman code. (The file ends up looking like a
paper document would if somebody crunched the paper into a wad.) Since such
compression usually takes more computations than simpler methods such as
counting repeated characters (such as spaces) the term is doubly appropriate.
(This meaning is usually used in the construction "file crunch(ing)"
to distinguish it from "number crunch(ing)".) 3. n. The character
"#". Usage: used at Xerox and CMU, among other places. Other names
for "#" include SHARP, NUMBER, HASH, PIG-PEN, POUND-SIGN, and MESH.
GLS adds: I recall reading somewhere that most of these are names for the #
symbol IN CONTEXT. The name for the sign itself is "octothorp".
CTY (city) n. The
terminal physically associated with a computer's operating console.
CUSPY [from the DEC
acronym CUSP, for Commonly Used System Program, i.e., a utility program used by
many people] (WPI) adj. 1. (of a program) Well-written. 2. Functionally
excellent. A program which performs well and interfaces well to users is cuspy.
See RUDE.
DAEMON (day'mun, dee'mun)
[archaic form of "demon", which has slightly different connotations
(q.v.)] n. A program which is not invoked explicitly, but which lays dormant
waiting for some condition(s) to occur. The idea is that the perpetrator of the
condition need not be aware that a daemon is lurking (though often a program
will commit an action only because it knows that it will implicitly invoke a
daemon). For example, writing a file on the lpt spooler's directory will invoke
the spooling daemon, which prints the file. The advantage is that programs
which want (in this example) files printed need not compete for access to the
lpt. They simply enter their implicit requests and let the daemon decide what
to do with them. Daemons are usually spawned automatically by the system, and
may either live forever or be regenerated at intervals. Usage: DAEMON and DEMON
(q.v.) are often used interchangeably, but seem to have distinct connotations.
DAEMON was introduced to computing by CTSS people (who pronounced it dee'mon)
and used it to refer to what is now called a DRAGON or PHANTOM (q.v.). The
meaning and pronunciation have drifted, and we think this glossary reflects
current usage.
DAY MODE See PHASE (of
people).
DEADLOCK n. A situation
wherein two or more processes are unable to proceed because each is waiting for
another to do something. A common example is a program communicating to a PTY
or STY, which may find itself waiting for output from the PTY/STY before
sending anything more to it, while the PTY/STY is similarly waiting for more
input from the controlling program before outputting anything. (This particular
flavor of deadlock is called "starvation". Another common flavor is
"constipation", where each process is trying to send stuff to the
other, but all buffers are full because nobody is reading anything.) See DEADLY
EMBRACE.
DEADLY EMBRACE n.
Same as DEADLOCK (q.v.), though usually used only when exactly two processes
are involved. DEADLY EMBRACE is the more popular term in Europe; DEADLOCK in
the United States.
DEMENTED adj. Yet another
term of disgust used to describe a program. The connotation in this case is
that the program works as designed, but the design is bad. For example, a
program that generates large numbers of meaningless error messages implying it
is on the point of imminent collapse.
DEMON (dee'mun) n. A
portion of a program which is not invoked explicitly, but which lays dormant
waiting for some condition(s) to occur. See DAEMON. The distinction is that
demons are usually processes within a program, while daemons are usually
programs running on an operating system. Demons are particularly common in AI
programs. For example, a knowledge manipulation program might implement
inference rules as demons. Whenever a new piece of knowledge was added, various
demons would activate (which demons depends on the particular piece of data)
and would create additional pieces of knowledge by applying their respective
inference rules to the original piece. These new pieces could in turn activate
more demons as the inferences filtered down through chains of logic. Meanwhile
the main program could continue with whatever its primary task was.
DIABLO (dee-ah'blow)
[from the Diablo printer] 1. n. Any letter- quality printing device. 2. v. To
produce letter-quality output from such a device.
DIDDLE v. To work with in
a not particularly serious manner. "I diddled with a copy of ADVENT so it
didn't double-space all the time." "Let's diddle this piece of code
and see if the problem goes away." See TWEAK and TWIDDLE.
DIKE [from
"diagonal cutters"] v. To remove a module or disable it. "When
in doubt, dike it out."
DMP (dump) See BIN.
DO PROTOCOL [from
network protocol programming] v. To perform an interaction with somebody or
something that follows a clearly defined procedure. For example, "Let's do
protocol with the check" at a restaurant means to ask the waitress for the
check, calculate the tip and everybody's share, generate change as necessary,
and pay the bill.
DOWN 1. adj. Not
working. "The up escalator is down." 2. TAKE DOWN, BRING DOWN: v. To
deactivate, usually for repair work. See UP.
DPB (duh-pib') [from
the PDP-10 instruction set] v. To plop something down in the middle.
DRAGON n. (MIT) A program
similar to a "daemon" (q.v.), except that it is not invoked at all, but
is instead used by the system to perform various secondary tasks. A typical
example would be an accounting program, which keeps track of who is logged in,
accumulates load- average statistics, etc. At MIT, all free TV's display a list
of people logged in, where they are, what they're running, etc. along with some
random picture (such as a unicorn, Snoopy, or the Enterprise) which is
generated by the "NAME DRAGON". See PHANTOM.
DWIM [Do What I Mean]
1. adj. Able to guess, sometimes even correctly, what result was intended when
provided with bogus input. Often suggested in jest as a desired feature for a
complex program. A related term, more often seen as a verb, is DTRT (Do The
Right Thing). 2. n. The INTERLISP function that attempts to accomplish this feat
by correcting many of the more common errors. See HAIRY.
ENGLISH n. The source code
for a program, which may be in any language, as opposed to BINARY. Usage:
slightly obsolete, used mostly by old-time hackers, though recognizable in
context. At MIT, directory SYSENG is where the "English" for system
programs is kept, and SYSBIN, the binaries. SAIL has many such directories, but
the canonical one is [CSP,SYS].
EPSILON [from standard
mathematical notation for a small quantity] 1. n. A small quantity of anything.
"The cost is epsilon." 2. adj. Very small, negligible; less than
marginal (q.v.). "We can get this feature for epsilon cost." 3.
WITHIN EPSILON OF: Close enough to be indistinguishable for all practical
purposes.
EXCH (ex'chuh, ekstch)
[from the PDP-10 instruction set] v. To exchange two things, each for the
other.
EXCL (eks'cul) n.
Abbreviation for "exclamation point". See BANG, SHRIEK, WOW.
EXE (ex'ee) See BIN.
FAULTY adj. Same
denotation as "bagbiting", "bletcherous",
"losing", q.v., but the connotation is much milder.
FEATURE n. 1. A surprising
property of a program. Occasionally docu- mented. To call a property a feature
sometimes means the author of the program did not consider the particular case,
and the program makes an unexpected, although not strictly speaking an
incorrect response. See BUG. "That's not a bug, that's a feature!" A
bug can be changed to a feature by documenting it. 2. A well-known and beloved
property; a facility. Sometimes features are planned, but are called crocks by
others. An approximately correct spectrum:
(These terms are all used to describe programs or portions
thereof, except for the first two, which are included for completeness.)
CRASH STOPPAGE BUG SCREW LOSS MISFEATURE
CROCK KLUGE HACK WIN FEATURE PERFECTION
(The last is never actually attained.)
FEEP 1. n. The soft
bell of a display terminal (except for a VT-52!); a beep. 2. v. To cause the
display to make a feep sound. TTY's do not have feeps. Alternate forms: BEEP,
BLEEP, or just about anything suitably onomatopoeic. The term BREEDLE is
sometimes heard at SAIL, where the terminal bleepers are not particularly
"soft" (they sound more like the musical equivalent of sticking out
one's tongue). The "feeper" on a VT-52 has been compared to the sound
of a `52 Chevy stripping its gears.
FENCEPOST ERROR n. The discrete equivalent of a boundary condition. Often
exhibited in programs by iterative loops. From the following problem: "If
you build a fence 100 feet long with posts ten feet apart, how many posts do
you need?" (Either 9 or 11 is a better answer than the obvious 10.)
FINE (WPI) adj. Good,
but not good enough to be CUSPY. [The word FINE is used elsewhere, of course,
but without the implicit comparison to the higher level implied by CUSPY.]
FLAG DAY [from a bit of
Multics history involving a change in the ASCII character set originally
scheduled for June 14, 1966] n. A software change which is neither forward nor
backward compatible, and which is costly to make and costly to revert.
"Can we install that without causing a flag day for all users?"
FLAKEY adj. Subject to
frequent lossages. See LOSSAGE.
FLAME v. To speak
incessantly and/or rabidly on some relatively uninteresting subject or with a
patently ridiculous attitude. FLAME ON: v. To continue to flame. See RAVE. This
punning reference to Marvel comics' Human Torch has been lost as recent usage
completes the circle: "Flame on" now usually means "beginning of
flame".
FLAP v. To unload a DECtape
(so it goes flap, flap, flap...). Old hackers at MIT tell of the days when the
disk was device 0 and microtapes were 1, 2,... and attempting to flap device 0
would instead start a motor banging inside a cabinet near the disk!
FLAVOR n. 1. Variety, type,
kind. "DDT commands come in two flavors." See VANILLA. 2. The
attribute of causing something to be FLAVORFUL. "This convention yields
additional flavor by allowing one to..." 3. On the LispMachine, an
object-oriented programming system ("flavors"); each class of object
is a flavor.
FLAVORFUL adj.
Aesthetically pleasing. See RANDOM and LOSING for antonyms. See also the entry
for TASTE.
FLUSH v. 1. To delete
something, usually superfluous. "All that nonsense has been flushed."
Standard ITS terminology for aborting an output operation. 2. To leave at the
end of a day's work (as opposed to leaving for a meal). "I'm going to
flush now." "Time to flush." 3. To exclude someone from an
activity.
FOO 1. [from Yiddish
"feh" or the Anglo-Saxon "fooey!"] interj. Term of disgust.
2. [from FUBAR (Fucked Up Beyond All Recognition), from WWII, often seen as
FOOBAR] Name used for temporary programs, or samples of three-letter names.
Other similar words are BAR, BAZ (Stanford corruption of BAR), and rarely RAG.
These have been used in Pogo as well. 3. Used very generally as a sample name
for absolutely anything. The old `Smokey Stover' comic strips often included
the word FOO, in particular on license plates of cars. MOBY FOO: See MOBY.
FRIED adj. 1.
Non-working due to hardware failure; burnt out. 2. Of people, exhausted. Said
particularly of those who continue to work in such a state. Often used as an
explanation or excuse. "Yeah, I know that fix destroyed the file system,
but I was fried when I put it in."
FROB 1. n. (MIT) The
official Tech Model Railroad Club definition is "FROB = protruding arm or
trunnion", and by metaphoric extension any somewhat small thing. See
FROBNITZ. 2. v. Abbreviated form of FROBNICATE.
FROBNICATE v.
To manipulate or adjust, to tweak. Derived from FROBNITZ (q.v.). Usually
abbreviated to FROB. Thus one has the saying "to frob a frob". See
TWEAK and TWIDDLE. Usage: FROB, TWIDDLE, and TWEAK sometimes connote points
along a continuum. FROB connotes aimless manipulation; TWIDDLE connotes gross
manipulation, often a coarse search for a proper setting; TWEAK connotes
fine-tuning. If someone is turning a knob on an oscilloscope, then if he's
carefully adjusting it he is probably tweaking it; if he is just turning it but
looking at the screen he is probably twiddling it; but if he's just doing it
because turning a knob is fun, he's frobbing it.
FROBNITZ, pl. FROBNITZEM
(frob'nitsm) n. An unspecified physical object, a widget. Also refers to
electronic black boxes. This rare form is usually abbreviated to FROTZ, or more
commonly to FROB. Also used are FROBNULE, FROBULE, and FROBNODULE. Starting
perhaps in 1979, FROBBOZ (fruh-bahz'), pl. FROBBOTZIM, has also become very
popular, largely due to its exposure via the Adventure spin-off called Zork
(Dungeon). These can also be applied to non-physical objects, such as data
structures.
FROG (variant: PHROG)
1. interj. Term of disgust (we seem to have a lot of them). 2. Used as a name
for just about anything. See FOO. 3. n. Of things, a crock. Of people,
somewhere inbetween a turkey and a toad. 4. Jake Brown (FRG@SAIL). 5. FROGGY:
adj. Similar to BAGBITING (q.v.), but milder. "This froggy program is
taking forever to run!"
FROTZ 1. n. See
FROBNITZ. 2. MUMBLE FROTZ: An interjection of very mild disgust.
FRY v. 1. To fail.
Said especially of smoke-producing hardware failures. 2. More generally, to
become non-working. Usage: never said of software, only of hardware and humans.
See FRIED.
FTP (spelled out, NOT
pronounced "fittip") 1. n. The File Transfer Protocol for
transmitting files between systems on the ARPAnet. 2. v. To transfer a file
using the File Transfer Program. "Lemme get this copy of Wuthering Heights
FTP'd from SAIL."
FUDGE 1. v. To perform
in an incomplete but marginally acceptable way, particularly with respect to
the writing of a program. "I didn't feel like going through that pain and
suffering, so I fudged it." 2. n. The resulting code.
FUDGE FACTOR n.
A value or parameter that is varied in an ad hoc way to produce the desired
result. The terms "tolerance" and "slop" are also used,
though these usually indicate a one-sided leeway, such as a buffer which is
made larger than necessary because one isn't sure exactly how large it needs to
be, and it is better to waste a little space than to lose completely for not
having enough. A fudge factor, on the other hand, can often be tweaked in more
than one direction. An example might be the coefficients of an equation, where
the coefficients are varied in an attempt to make the equation fit certain
criteria.
GABRIEL [for Dick Gabriel,
SAIL volleyball fanatic] n. An unnecessary (in the opinion of the opponent)
stalling tactic, e.g., tying one's shoelaces or hair repeatedly, asking the
time, etc. Also used to refer to the perpetrator of such tactics. Also,
"pulling a Gabriel", "Gabriel mode".
GARBAGE COLLECT v., GARBAGE COLLECTION n. See GC.
GARPLY n. (Stanford)
Another meta-word popular among SAIL hackers.
GAS [as in "gas
chamber"] interj. 1. A term of disgust and hatred, implying that gas should
be dispensed in generous quantities, thereby exterminating the source of
irritation. "Some loser just reloaded the system for no reason! Gas!"
2. A term suggesting that someone or something ought to be flushed out of
mercy. "The system's wedging every few minutes. Gas!" 3. v. FLUSH
(q.v.). "You should gas that old crufty software." 4. GASEOUS adj.
Deserving of being gassed. Usage: primarily used by Geoff Goodfellow at SRI,
but spreading.
GC [from LISP
terminology] 1. v. To clean up and throw away useless things. "I think
I'll GC the top of my desk today." 2. To recycle, reclaim, or put to
another use. 3. To forget. The implication is often that one has done so
deliberately. 4. n. An instantiation of the GC process.
GEDANKEN [from Einstein's
term "gedanken-experimenten", such as the standard proof that E=mc2]
adj. An AI project which is written up in grand detail without ever being
implemented to any great extent. Usually perpetrated by people who aren't very
good hackers or find programming distasteful or are just in a hurry. A gedanken
thesis is usually marked by an obvious lack of intuition about what is
programmable and what is not and about what does and does not constitute a
clear specification of a program-related concept such as an algorithm.
GLASS TTY n.
A terminal which has a display screen but which, because of hardware or
software limitations, behaves like a teletype or other printing terminal. An
example is the ADM-3 (without cursor control). A glass tty can't do neat
display hacks, and you can't save the output either.
GLITCH [from the Yiddish
"glitshen", to slide] 1. n. A sudden interruption in electric
service, sanity, or program function. Sometimes recoverable. 2. v. To commit a
glitch. See GRITCH. 3. v. (Stanford) To scroll a display screen.
GLORK 1. interj. Term of
mild surprise, usually tinged with outrage, as when one attempts to save the
results of two hours of editing and finds that the system has just crashed. 2.
Used as a name for just about anything. See FOO. 3. v. Similar to GLITCH
(q.v.), but usually used reflexively. "My program just glorked
itself."
GOBBLE v. To consume or
to obtain. GOBBLE UP tends to imply "consume", while GOBBLE DOWN
tends to imply "obtain". "The output spy gobbles characters out
of a TTY output buffer." "I guess I'll gobble down a copy of the documentation
tomorrow." See SNARF.
GORP (CMU) [perhaps
from the generic term for dried hiker's food, stemming from the acronym
"Good Old Raisins and Peanuts"] Another metasyntactic variable, like
FOO and BAR.
GRIND v. 1. (primarily
MIT) To format code, especially LISP code, by indenting lines so that it looks
pretty. Hence, PRETTY PRINT, the generic term for such operations. 2. To run
seemingly interminably, performing some tedious and inherently useless task.
Similar to CRUNCH.
GRITCH 1. n. A complaint
(often caused by a GLITCH (q.v.)). 2. v. To complain. Often verb-doubled:
"Gritch gritch". 3. Glitch.
GROK [from the novel
"Stranger in a Strange Land", by Robert Heinlein, where it is a
Martian word meaning roughly "to be one with"] v. To understand,
usually in a global sense.
GRONK [popularized by
the cartoon strip "B.C." by Johnny Hart, but the word apparently
predates that] v. 1. To clear the state of a wedged device and restart it. More
severe than "to frob" (q.v.). 2. To break. "The teletype scanner
was gronked, so we took the system down." 3. GRONKED: adj. Of people, the
condition of feeling very tired or sick. 4. GRONK OUT: v. To cease functioning.
Of people, to go home and go to sleep. "I guess I'll gronk out now; see
you all tomorrow."
GROVEL v. To work
interminably and without apparent progress. Often used with "over".
"The compiler grovelled over my code." Compare GRIND and CRUNCH.
Emphatic form: GROVEL OBSCENELY.
GRUNGY adj. Incredibly
dirty or grubby. Anything which has been washed within the last year is not
really grungy. Also used metaphorically; hence some programs (especially
crocks) can be described as grungy.
GUBBISH [a portmanteau of
"garbage" and "rubbish"?] n. Garbage; crap; nonsense.
"What is all this gubbish?"
GUN [from the GUN
command on ITS] v. To forcibly terminate a program or job (computer, not
career). "Some idiot left a background process running soaking up half the
cycles, so I gunned it."
HACK n. 1. Originally a
quick job that produces what is needed, but not well. 2. The result of that
job. 3. NEAT HACK: A clever technique. Also, a brilliant practical joke, where
neatness is correlated with cleverness, harmlessness, and surprise value.
Example: the Caltech Rose Bowl card display switch circa 1961. 4. REAL HACK: A
crock (occasionally affectionate). v. 5. With "together", to throw
something together so it will work. 6. To bear emotionally or physically.
"I can't hack this heat!" 7. To work on something (typically a
program). In specific sense: "What are you doing?" "I'm hacking
TECO." In general sense: "What do you do around here?" "I
hack TECO." (The former is time-immediate, the latter time-extended.) More
generally, "I hack x" is roughly equivalent to "x is my
bag". "I hack solid-state physics." 8. To pull a prank on. See
definition 3 and HACKER (def #6). 9. v.i. To waste time (as opposed to TOOL).
"Watcha up to?" "Oh, just hacking." 10. HACK UP (ON): To hack,
but generally implies that the result is meanings 1-2. 11. HACK VALUE: Term
used as the reason or motivation for expending effort toward a seemingly
useless goal, the point being that the accomplished goal is a hack. For
example, MacLISP has code to read and print roman numerals, which was installed
purely for hack value. HAPPY HACKING: A farewell. HOW'S HACKING?: A friendly
greeting among hackers. HACK HACK: A somewhat pointless but friendly comment,
often used as a temporary farewell. [The word HACK doesn't really have 69
different meanings. In fact, HACK has only one meaning, an extremely subtle and
profound one which defies articulation. Which connotation a given HACK-token
has depends in similarly profound ways on the context. Similar comments apply
to a couple other hacker jargon items, most notably RANDOM. - Agre]
HACKER [originally,
someone who makes furniture with an axe] n. 1. A person who enjoys learning the
details of programming systems and how to stretch their capabilities, as
opposed to most users who prefer to learn only the minimum necessary. 2. One
who programs enthusiastically, or who enjoys programming rather than just
theorizing about programming. 3. A person capable of appreciating hack value
(q.v.). 4. A person who is good at programming quickly. Not everything a hacker
produces is a hack. 5. An expert at a particular program, or one who frequently
does work using it or on it; example: "A SAIL hacker". (Definitions 1
to 5 are correlated, and people who fit them congregate.) 6. A malicious or
inquisitive meddler who tries to discover information by poking around. Hence
"password hacker", "network hacker".
HACKISH adj. Being or
involving a hack. HACKISHNESS n.
HAIR n. The
complications which make something hairy. "Decoding TECO commands requires
a certain amount of hair." Often seen in the phrase INFINITE HAIR, which
connotes extreme complexity.
HAIRY adj. 1. Overly
complicated. "DWIM is incredibly hairy." 2. Incomprehensible.
"DWIM is incredibly hairy." 3. Of people, high-powered,
authoritative, rare, expert, and/or incomprehensible. Hard to explain except in
context: "He knows this hairy lawyer who says there's nothing to worry
about."
HAKMEM n. MIT AI Memo 239
(February 1972). A collection of neat mathematical and programming hacks
contributed by many people at MIT and elsewhere.
HANDWAVE 1. v. To gloss
over a complex point; to distract a listener; to support a (possibly actually
valid) point with blatantly faulty logic. 2. n. The act of handwaving.
"Boy, what a handwave!" The use of this word is often accompanied by
gestures: both hands up, palms forward, swinging the hands in a vertical plane
pivoting at the elbows and/or shoulders (depending on the magnitude of the
handwave); alternatively, holding the forearms still while rotating the hands
at the wrist to make them flutter. In context, the gestures alone can suffice
as a remark.
HARDWARILY adv.
In a way pertaining to hardware. "The system is hardwarily
unreliable." The adjective "hardwary" is NOT used. See
SOFTWARILY.
HELLO WALL See
WALL.
HIRSUTE Occasionally used
humorously as a synonym for HAIRY.
HOOK n. An extraneous
piece of software or hardware included in order to simplify later additions or
debug options. For instance, a program might execute a location that is
normally a JFCL, but by changing the JFCL to a PUSHJ one can insert a debugging
routine at that point.
HUMONGOUS,
HUMUNGOUS See HUNGUS.
HUNGUS (hung'ghis)
[perhaps related to current slang "humongous"; which one came first
(if either) is unclear] adj. Large, unwieldy, usually unmanageable. "TCP
is a hungus piece of code." "This is a hungus set of
modifications."
IMPCOM See TELNET.
INFINITE adj. Consisting of
a large number of objects; extreme. Used very loosely as in: "This program
produces infinite garbage."
IRP (erp) [from the
MIDAS pseudo-op which generates a block of code repeatedly, substituting in
various places the car and/or cdr of the list(s) supplied at the IRP] v. To
perform a series of tasks repeatedly with a minor substitution each time
through. "I guess I'll IRP over these homework papers so I can give them
some random grade for this semester."
JFCL (djif'kl or
dja-fik'l) [based on the PDP-10 instruction that acts as a fast no-op] v. To
cancel or annul something. "Why don't you jfcl that out?" [The
licence plate on Geoff Goodfellow's BMW is JFCL.]
JIFFY n. 1. Interval of
CPU time, commonly 1/60 second or 1 millisecond. 2. Indeterminate time from a
few seconds to forever. "I'll do it in a jiffy" means certainly not
now and possibly never.
JOCK n. Programmer who
is characterized by large and somewhat brute force programs. The term is
particularly well-suited for systems programmers.
J. RANDOM See
RANDOM.
JRST (jerst) [based on
the PDP-10 jump instruction] v. To suddenly change subjects. Usage: rather
rare. "Jack be nimble, Jack be quick; Jack jrst over the candle
stick."
JSYS (jay'sis), pl. JSI
(jay'sigh) [Jump to SYStem] See UUO.
KLUGE (kloodj) alt.
KLUDGE [from the German "kluge", clever] n. 1. A Rube Goldberg device
in hardware or software. 2. A clever programming trick intended to solve a
particular nasty case in an efficient, if not clear, manner. Often used to
repair bugs. Often verges on being a crock. 3. Something that works for the
wrong reason. 4. v. To insert a kluge into a program. "I've kluged this
routine to get around that weird bug, but there's probably a better way."
Also KLUGE UP. 5. KLUGE AROUND: To avoid by inserting a kluge. 6. (WPI) A
feature which is implemented in a RUDE manner.
LDB (lid'dib) [from
the PDP-10 instruction set] v. To extract from the middle.
LIFE n. A
cellular-automata game invented by John Horton Conway, and first introduced
publicly by Martin Gardner (Scientific American, October 1970).
LINE FEED (standard
ASCII terminology) 1. v. To feed the paper through a terminal by one line (in
order to print on the next line). 2. n. The "character" which causes
the terminal to perform this action.
LINE STARVE (MIT)
Inverse of LINE FEED.
LOGICAL [from the
technical term "logical device", wherein a physical device is referred
to by an arbitrary name] adj. Understood to have a meaning not necessarily
corresponding to reality. E.g., if a person who has long held a certain post
(e.g., Les Earnest at SAIL) left and was replaced, the replacement would for a
while be known as the "logical Les Earnest". The word VIRTUAL is also
used. At SAIL, "logical" compass directions denote a coordinate
system in which "logical north" is toward San Francisco,
"logical west" is toward the ocean, etc., even though logical north
varies between physical (true) north near SF and physical west near San Jose.
(The best rule of thumb here is that El Camino Real by definition always runs
logical north-and-south.)
LOSE [from MIT jargon]
v. 1. To fail. A program loses when it encounters an exceptional condition. 2.
To be exceptionally unaesthetic. 3. Of people, to be obnoxious or unusually
stupid (as opposed to ignorant). 4. DESERVE TO LOSE: v. Said of someone who
willfully does the wrong thing; humorously, if one uses a feature known to be
marginal. What is meant is that one deserves the consequences of one's losing
actions. "Boy, anyone who tries to use MULTICS deserves to lose!"
LOSE LOSE - a reply or comment on a situation.
LOSER n. An unexpectedly
bad situation, program, programmer, or person. Especially "real
loser".
LOSS n. Something which
loses. WHAT A (MOBY) LOSS!: interjection.
LOSSAGE n. The result of a
bug or malfunction.
LPT (lip'it) n. Line
printer, of course.
LUSER See USER.
MACROTAPE n.
An industry standard reel of tape, as opposed to a MICROTAPE.
MAGIC adj. 1. As yet
unexplained, or too complicated to explain. (Arthur C. Clarke once said that
magic was as-yet-not-understood science.) "TTY echoing is controlled by a
large number of magic bits." "This routine magically computes the
parity of an eight-bit byte in three instructions." 2. (Stanford) A
feature not generally publicized which allows something otherwise impossible,
or a feature formerly in that category but now unveiled. Example: The keyboard
commands which override the screen-hiding features.
MARGINAL adj. 1. Extremely
small. "A marginal increase in core can decrease GC time
drastically." See EPSILON. 2. Of extremely small merit. "This
proposed new feature seems rather marginal to me." 3. Of extremely small
probability of winning. "The power supply was rather marginal anyway; no
wonder it crapped out." 4. MARGINALLY: adv. Slightly. "The ravs here
are only marginally better than at Small Eating Place."
MICROTAPE n.
Occasionally used to mean a DECtape, as opposed to a MACROTAPE. This was the
official DEC term for the stuff until someone consed up the word
"DECtape".
MISFEATURE n.
A feature which eventually screws someone, possibly because it is not adequate
for a new situation which has evolved. It is not the same as a bug because
fixing it involves a gross philosophical change to the structure of the system
involved. Often a former feature becomes a misfeature because a tradeoff was
made whose parameters subsequently changed (possibly only in the judgment of
the implementors). "Well, yeah, it's kind of a misfeature that file names
are limited to six characters, but we're stuck with it for now."
MOBY [seems to have
been in use among model railroad fans years ago. Entered the world of AI with
the Fabritek 256K moby memory of MIT-AI. Derived from Melville's "Moby
Dick" (some say from "Moby Pickle").] 1. adj. Large, immense, or
complex. "A moby frob." 2. n. The maximum address space of a machine,
hence 3. n. 256K words, the size of a PDP-10 moby. (The maximum address space
means the maximum normally addressable space, as opposed to the amount of
physical memory a machine can have. Thus the MIT PDP-10s each have two mobies,
usually referred to as the "low moby" (0-777777) and "high
moby" (1000000-1777777), or as "moby 0" and "moby 1".
MIT-AI has four mobies of address space: moby 2 is the PDP-6 memory, and moby 3
the PDP-11 interface.) In this sense "moby" is often used as a
generic unit of either address space (18. bits' worth) or of memory (about a
megabyte, or 9/8 megabyte (if one accounts for difference between 32.- and
36.-bit words), or 5/4 megacharacters). 4. A title of address (never of
third-person reference), usually used to show admiration, respect, and/or
friendliness to a competent hacker. "So, moby Knight, how's the CONS
machine doing?" 5. adj. In backgammon, doubles on the dice, as in
"moby sixes", "moby ones", etc. MOBY FOO, MOBY WIN, MOBY
LOSS: standard emphatic forms. FOBY MOO: a spoonerism due to Greenblatt.
MODE n. A general
state, usually used with an adjective describing the state. "No time to
hack; I'm in thesis mode." Usage: in its jargon sense, MODE is most often
said of people, though it is sometimes applied to programs and inanimate
objects. "If you're on a TTY, E will switch to non-display mode." In
particular, see DAY MODE, NIGHT MODE, and YOYO MODE; also COM MODE, TALK MODE,
and GABRIEL MODE.
MODULO prep. Except for.
From mathematical terminology: one can consider saying that 4=22 "except
for the 9's" (4=22 mod 9). "Well, LISP seems to work okay now, modulo
that GC bug."
MOON n. 1. A celestial
object whose phase is very important to hackers. See PHASE OF THE MOON. 2. Dave
Moon (MOON@MC).
MUMBLAGE n. The topic of
one's mumbling (see MUMBLE). "All that mumblage" is used like
"all that stuff" when it is not quite clear what it is or how it
works, or like "all that crap" when "mumble" is being used
as an implicit replacement for obscenities.
MUMBLE interj. 1. Said
when the correct response is either too complicated to enunciate or the speaker
has not thought it out. Often prefaces a longer answer, or indicates a general
reluctance to get into a big long discussion. "Well, mumble." 2.
Sometimes used as an expression of disagreement. "I think we should buy it."
"Mumble!" Common variant: MUMBLE FROTZ. 3. Yet another metasyntactic
variable, like FOO.
MUNCH (often confused
with "mung", q.v.) v. To transform information in a serial fashion,
often requiring large amounts of computation. To trace down a data structure.
Related to CRUNCH (q.v.), but connotes less pain.
MUNCHING SQUARES n. A display hack dating back to the PDP-1, which employs a
trivial computation (involving XOR'ing of x-y display coordinates - see HAKMEM
items 146-148) to produce an impressive display of moving, growing, and
shrinking squares. The hack usually has a parameter (usually taken from toggle
switches) which when well-chosen can produce amazing effects. Some of these,
discovered recently on the LISP machine, have been christened MUNCHING TRIANGLES,
MUNCHING W'S, and MUNCHING MAZES.
MUNG (variant: MUNGE)
[recursive acronym for Mung Until No Good] v. 1. To make changes to a file,
often large-scale, usually irrevocable. Occasionally accidental. See BLT. 2. To
destroy, usually accidentally, occasionally maliciously. The system only mungs
things maliciously.
N adj. 1. Some large
and indeterminate number of objects; "There were N bugs in that
crock!"; also used in its original sense of a variable name. 2. An
arbitrarily large (and perhaps infinite) number. 3. A variable whose value is
specified by the current context. "We'd like to order N wonton soups and a
family dinner for N-1." 4. NTH: adj. The ordinal counterpart of N.
"Now for the Nth and last time..." In the specific context
"Nth-year grad student", N is generally assumed to be at least 4, and
is usually 5 or more. See also 69.
NIGHT MODE See
PHASE (of people).
NIL [from LISP
terminology for "false"] No. Usage: used in reply to a question,
particularly one asked using the "-P" convention. See T.
OBSCURE adj. Used in an
exaggeration of its normal meaning, to imply a total lack of comprehensibility.
"The reason for that last crash is obscure." "FIND's command
syntax is obscure." MODERATELY OBSCURE implies that it could be figured
out but probably isn't worth the trouble.
OPEN n. Abbreviation for
"open (or left) parenthesis", used when necessary to eliminate oral
ambiguity. To read aloud the LISP form (DEFUN FOO (X) (PLUS X 1)) one might
say: "Open def-fun foo, open eks close, open, plus ekx one, close
close." See CLOSE.
PARSE [from linguistic terminology]
v. 1. To determine the syntactic structure of a sentence or other utterance
(close to the standard English meaning). Example: "That was the one I saw
you." "I can't parse that." 2. More generally, to understand or
comprehend. "It's very simple; you just kretch the glims and then aos the
zotz." "I can't parse that." 3. Of fish, to have to remove the
bones yourself (usually at a Chinese restaurant). "I object to parsing
fish" means "I don't want to get a whole fish, but a sliced one is
okay." A "parsed fish" has been deboned. There is some
controversy over whether "unparsed" should mean "bony", or
also mean "deboned".
PATCH 1. n. 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. 2. v. To insert a patch into a
piece of code.
PDL (piddle or puddle)
[acronym for Push Down List] n. 1. A LIFO queue (stack); more loosely, any
priority queue; even more loosely, any queue. A person's pdl is the set of
things he has to do in the future. One speaks of the next project to be
attacked as having risen to the top of the pdl. "I'm afraid I've got real
work to do, so this'll have to be pushed way down on my pdl." See PUSH and
POP. 2. Dave Lebling (PDL@DM).
PESSIMAL [Latin-based
antonym for "optimal"] adj. Maximally bad. "This is a pessimal
situation."
PESSIMIZING COMPILER n. A compiler that produces object code that is worse than
the straightforward or obvious translation.
PHANTOM n. (Stanford) The
SAIL equivalent of a DRAGON (q.v.). Typical phantoms include the accounting
program, the news-wire monitor, and the lpt and xgp spoolers.
PHASE (of people) 1. n.
The phase of one's waking-sleeping schedule with respect to the standard
24-hour cycle. This is a useful concept among people who often work at night
according to no fixed schedule. It is not uncommon to change one's phase by as
much as six hours/day on a regular basis. "What's your phase?"
"I've been getting in about 8 PM lately, but I'm going to work 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 used, but less frequently.) 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.
PHASE OF THE MOON n. 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."
PLUGH [from the
Adventure game] v. See XYZZY.
POM n. Phase of the
moon (q.v.). Usage: usually used in the phrase "POM dependent" which
means flakey (q.v.).
POP [based on the
stack operation that removes the top of a stack, and the fact that procedure
return addresses are saved on the stack] dialect: POPJ (pop-jay), based on the
PDP-10 procedure return instruction. v. To return from a digression. By verb
doubling, "Popj, popj" means roughly, "Now let's see, where were
we?"
PPN (pip'in) [DEC
terminology, short for Project-Programmer Number] n. 1. A combination `project'
(directory name) and programmer name, used to identify a specific directory
belonging to that user. For instance, "FOO,BAR" would be the FOO
directory for user BAR. Since the name is restricted to three letters, the
programmer name is usually the person's initials, though sometimes it is a
nickname or other special sequence. (Standard DEC setup is to have two octal
numbers instead of characters; hence the original acronym.) 2. Often used
loosely to refer to the programmer name alone. "I want to send you some
mail; what's your ppn?" Usage: not used at MIT, since ITS does not use
ppn's. The equivalent terms would be UNAME and SNAME, depending on context, but
these are not used except in their technical senses.
PROTOCOL See DO PROTOCOL.
PSEUDOPRIME n.
A backgammon prime (six consecutive occupied points) with one point missing.
PTY (pity) n. Pseudo
TTY, a simulated TTY used to run a job under the supervision of another job.
PTYJOB (pity-job) n. The job being run on the PTY. Also a common
general-purpose program for creating and using PTYs. This is DEC and SAIL
terminology; the MIT equivalent is STY.
PUNT [from the punch
line of an old joke: "Drop back 15 yards and punt"] v. To give up,
typically without any intention of retrying.
PUSH [based on the
stack operation that puts the current information on a stack, and the fact that
procedure call addresses are saved on the stack] dialect: PUSHJ (push-jay),
based on the PDP-10 procedure call instruction. v. To enter upon a digression,
to save the current discussion for later.
QUES (kwess) 1. n. The
question mark character ("?"). 2. interj. What? Also QUES QUES? See
WALL.
QUUX [invented by
Steele. Mythically, from the Latin semi-deponent verb QUUXO, QUUXARE, QUUXANDUM
IRI; noun form variously QUUX (plural QUUCES, Anglicized to QUUXES) and QUUXU
(genitive plural is QUUXUUM, four U's in seven letters).] 1. Originally, a
meta-word like FOO and FOOBAR. Invented by Guy Steele for precisely this
purpose when he was young and naive and not yet interacting with the real
computing community. Many people invent such words; this one seems simply to
have been lucky enough to have spread a little. 2. interj. See FOO; however,
denotes very little disgust, and is uttered mostly for the sake of the sound of
it. 3. n. Refers to one of four people who went to Boston Latin School and
eventually to MIT:
THE GREAT QUUX: Guy L. Steele Jr.
THE LESSER QUUX: David J. Littleboy
THE MEDIOCRE QUUX: Alan P. Swide
THE MICRO QUUX: Sam Lewis
(This taxonomy is said to be similarly applied to three Frankston
brothers at MIT.) QUUX, without qualification, usually refers to The Great
Quux, who is somewhat infamous for light verse and for the "Crunchly"
cartoons. 4. QUUXY: adj. Of or pertaining to a QUUX.
RANDOM adj. 1.
Unpredictable (closest to mathematical definition); weird. "The system's
been behaving pretty randomly." 2. Assorted; undistinguished. "Who
was at the conference?" "Just a bunch of random business types."
3. Frivolous; unproductive; undirected (pejorative). "He's just a random
loser." 4. Incoherent or inelegant; not well organized. "The program
has a random set of misfeatures." "That's a random name for that
function." "Well, all the names were chosen pretty randomly." 5.
Gratuitously wrong, i.e., poorly done and for no good apparent reason. For
example, a program that handles file name defaulting in a particularly useless
way, or a routine that could easily have been coded using only three ac's, but
randomly uses seven for assorted non-overlapping purposes, so that no one else
can invoke it without first saving four extra ac's. 6. In no particular order,
though deterministic. "The I/O channels are in a pool, and when a file is
opened one is chosen randomly." n. 7. A random hacker; used particularly
of high school students who soak up computer time and generally get in the way.
8. (occasional MIT usage) One who lives at Random Hall. J. RANDOM is often
prefixed to a noun to make a "name" out of it (by comparison to
common names such as "J. Fred Muggs"). The most common uses are
"J. Random Loser" and "J. Random Nurd" ("Should J.
Random Loser be allowed to gun down other people?"), but it can be used
just as an elaborate version of RANDOM in any sense. [See also the note at the
end of the entry for HACK.]
RANDOMNESS n.
An unexplainable misfeature; gratuitous inelegance. Also, a hack or crock which
depends on a complex combination of coincidences (or rather, the combination
upon which the crock depends). "This hack can output characters 40-57 by
putting the character in the accumulator field of an XCT and then extracting 6
bits -- the low two bits of the XCT opcode are the right thing."
"What randomness!"
RAPE v. To
(metaphorically) screw someone or something, violently. Usage: often used in
describing file-system damage. "So-and-so was running a program that did
absolute disk I/O and ended up raping the master directory."
RAVE (WPI) v. 1. To
persist in discussing a specific subject. 2. To speak authoritatively on a
subject about which one knows very little. 3. To complain to a person who is
not in a position to correct the difficulty. 4. To purposely annoy another
person verbally. 5. To evangelize. See FLAME. Also used to describe a less negative
form of blather, such as friendly bullshitting.
REAL USER n.
1. A commercial user. One who is paying "real" money for his computer
usage. 2. A non-hacker. Someone using the system for an explicit purpose
(research project, course, etc.). See USER.
REAL WORLD, THE n. 1. In programming, those institutions at which
programming may be used in the same sentence as FORTRAN, COBOL, RPG, IBM, etc.
2. To programmers, the location of non-programmers and activities not related
to programming. 3. A universe in which the standard dress is shirt and tie and
in which a person's working hours are defined as 9 to 5. 4. The location of the
status quo. 5. Anywhere outside a university. "Poor fellow, he's left MIT
and gone into the real world." Used pejoratively by those not in residence
there. In conversation, talking of someone who has entered the real world is
not unlike talking about a deceased person.
RECURSION n.
See RECURSION, TAIL RECURSION.
REL See BIN.
RIGHT THING, THE n. That which is "obviously" the correct or
appropriate thing to use, do, say, etc. Use of this term often implies that in
fact reasonable people may disagree. "Never let your conscience keep you
from doing the right thing!" "What's the right thing for LISP to do
when it reads `(.)'?"
RUDE (WPI) adj. 1. (of
a program) Badly written. 2. Functionally poor, e.g. a program which is very
difficult to use because of gratuitously poor (random?) design decisions. See
CUSPY.
SACRED adj. Reserved for
the exclusive use of something (a metaphorical extension of the standard
meaning). "Accumulator 7 is sacred to the UUO handler." Often means
that anyone may look at the sacred object, but clobbering it will screw
whatever it is sacred to.
SAGA (WPI) n. A cuspy
but bogus raving story dealing with N random broken people.
SAV (save) See BIN.
SEMI 1. n. Abbreviation
for "semicolon", when speaking. "Commands to GRIND are prefixed
by semi-semi-star" means that the prefix is ";;*", not 1/4 of a
star. 2. Prefix with words such as "immediately", as a qualifier.
"When is the system coming up?" "Semi-immediately."
SERVER n. A kind of
DAEMON which performs a service for the requester, which often runs on a
computer other than the one on which the server runs.
SHIFT LEFT (RIGHT) LOGICAL [from any of various machines' instruction sets] 1. v. To
move oneself to the left (right). To move out of the way. 2. imper. Get out of
that (my) seat! Usage: often used without the "logical", or as
"left shift" instead of "shift left". Sometimes heard as
LSH (lish), from the PDP-10 instruction set.
SHR (share or shir)
See BIN.
SHRIEK See EXCL.
(Occasional CMU usage.)
69 adj. Large
quantity. Usage: Exclusive to MIT-AI. "Go away, I have 69 things to do to
DDT before worrying about fixing the bug in the phase of the moon output
routine..." [Note: Actually, any number less than 100 but large enough to
have no obvious magic properties will be recognized as a "large
number". There is no denying that "69" is the local favorite. I
don't know whether its origins are related to the obscene interpretation, but I
do know that 69 decimal = 105 octal, and 69 hexadecimal = 105 decimal, which is
a nice property. - GLS]
SLOP n. 1. A one-sided
fudge factor (q.v.). Often introduced to avoid the possibility of a fencepost
error (q.v.). 2. (used by compiler freaks) The ratio of code generated by a
compiler to hand-compiled code, minus 1; i.e., the space (or maybe time) you
lose because you didn't do it yourself.
SLURP v. To read a large
data file entirely into core before working on it. "This program slurps in
a 1K-by-1K matrix and does an FFT."
SMART adj. Said of a
program that does the Right Thing (q.v.) in a wide variety of complicated
circumstances. There is a difference between calling a program smart and
calling it intelligent; in particular, there do not exist any intelligent
programs.
SMOKING CLOVER n.
A psychedelic color munch due to Gosper.
SMOP [Simple (or Small)
Matter of Programming] n. A piece of code, not yet written, whose anticipated
length is significantly greater than its complexity. Usage: used to refer to a
program that could obviously be written, but is not worth the trouble.
SNARF v. To grab, esp. a
large document or file for the purpose of using it either with or without the
author's permission. See BLT. Variant: SNARF (IT) DOWN. (At MIT on ITS, DDT has
a command called :SNARF which grabs a job from another (inferior) DDT.)
SOFTWARE ROT n.
Hypothetical disease the existence of which has been deduced from the
observation that unused programs or features will stop working after sufficient
time has passed, even if "nothing has changed". Also known as
"bit decay".
SOFTWARILY adv.
In a way pertaining to software. "The system is softwarily
unreliable." The adjective "softwary" is NOT used. See
HARDWARILY.
SOS 1. (ess-oh-ess) n.
A losing editor, SON OF STOPGAP. 2. (sahss) v. Inverse of AOS, from the PDP-10
instruction set.
SPAZZ 1. v. To behave
spastically or erratically; more often, to commit a single gross error.
"Boy, is he spazzing!" 2. n. One who spazzes. "Boy, what a
spazz!" 3. n. The result of spazzing. "Boy, what a spazz!"
SPLAT n. 1. Name used in
many places (DEC, IBM, and others) for the ASCII star ("*")
character. 2. (MIT) Name used by some people for the ASCII pound-sign ("#")
character. 3. (Stanford) Name used by some people for the Stanford/ITS extended
ASCII circle-x character. (This character is also called "circle-x",
"blobby", and "frob", among other names.) 4. (Stanford)
Name for the semi-mythical extended ASCII circle-plus character. 5. Canonical
name for an output routine that outputs whatever the the local interpretation
of splat is. Usage: nobody really agrees what character "splat" is,
but the term is common.
SUPDUP v. To communicate
with another ARPAnet host using the SUPDUP program, which is a SUPer-DUPer
TELNET talking a special display protocol used mostly in talking to ITS sites.
Sometimes abbreviated to SD.
STATE n. Condition,
situation. "What's the state of NEWIO?" "It's winning
away." "What's your state?" "I'm about to gronk out."
As a special case, "What's the state of the world?" (or, more silly,
"State-of-world-P?") means "What's new?" or "What's
going on?"
STOPPAGE n. Extreme lossage
(see LOSSAGE) resulting in something (usually vital) becoming completely
unusable.
STY (pronounced
"sty", not spelled out) n. A pseudo-teletype, which is a two-way
pipeline with a job on one end and a fake keyboard-tty on the other. Also, a
standard program which provides a pipeline from its controlling tty to a
pseudo-teletype (and thence to another tty, thereby providing a
"sub-tty"). This is MIT terminology; the SAIL and DEC equivalent is
PTY.
SUPERPROGRAMMER n. See "wizard", "hacker". Usage: rare.
(Becoming more common among IBM and Yourdon types.)
SWAPPED adj. From the use
of secondary storage devices to implement virtual memory in computer systems.
Something which is SWAPPED IN is available for immediate use in main memory,
and otherwise is SWAPPED OUT. Often used metaphorically to refer to people's
memories ("I read TECO ORDER every few months to keep the information
swapped in.") or to their own availability ("I'll swap you in as soon
as I finish looking at this other problem.").
SYSTEM n. 1. The
supervisor program on the computer. 2. Any large-scale program. 3. Any method
or algorithm. 4. The way things are usually done. Usage: a fairly ambiguous
word. "You can't beat the system." SYSTEM HACKER: one who hacks the
system (in sense 1 only; for sense 2 one mentions the particular program: e.g.,
LISP HACKER)
T [from LISP
terminology for "true"] 1. Yes. Usage: used in reply to a question,
particularly one asked using the "-P" convention). See NIL. 2. See
TIME T.
TAIL RECURSION n.
See TAIL RECURSION.
TALK MODE See
COM MODE.
TASTE n. (primarily
MIT-DMS) The quality in programs which tends to be inversely proportional to
the number of features, hacks, and kluges programmed into it. Also, TASTY,
TASTEFUL, TASTEFULNESS. "This feature comes in N tasty flavors."
Although TASTEFUL and FLAVORFUL are essentially synonyms, TASTE and FLAVOR are
not.
TECO (tee'koe) [acronym
for Text Editor and COrrector] 1. n. A text editor developed at MIT, and
modified by just about everybody. If all the dialects are included, TECO might
well be the single most prolific editor in use. Noted for its powerful
pseudo-programming features and its incredibly hairy syntax. 2. v. To edit
using the TECO editor in one of its infinite forms; sometimes used to mean
"to edit" even when not using TECO! Usage: rare at SAIL, where most
people wouldn't touch TECO with a TENEX pole. [Historical note: DEC grabbed an
ancient version of MIT TECO many years ago when it was still a TTY-oriented
editor. By now, TECO at MIT is highly display-oriented and is actually a
language for writing editors, rather than an editor. Meanwhile, the outside
world's various versions of TECO remain almost the same as the MIT version of
ten years ago. DEC recently tried to discourage its use, but an underground
movement of sorts kept it alive.] [Since this note was written I found out that
DEC tried to force their hackers by administrative decision to use a hacked up
and generally lobotomized version of SOS instead of TECO, and they revolted. -
MRC]
TELNET v. To communicate
with another ARPAnet host using the TELNET protocol. TOPS-10 people use the
word IMPCOM since that is the program name for them. Sometimes abbreviated to
TN. "I usually TN over to SAIL just to read the AP News."
TENSE adj. Of programs,
very clever and efficient. A tense piece of code often got that way because it
was highly bummed, but sometimes it was just based on a great idea. A comment
in a clever display routine by Mike Kazar: "This routine is so tense it
will bring tears to your eyes. Much thanks to Craig Everhart and James Gosling
for inspiring this hack attack." A tense programmer is one who produces
tense code.
TERPRI (tur'pree) [from
the LISP 1.5 (and later, MacLISP) function to start a new line of output] v. To
output a CRLF (q.v.).
THEORY n. Used in the
general sense of idea, plan, story, or set of rules. "What's the theory on
fixing this TECO loss?" "What's the theory on dinner tonight?"
("Chinatown, I guess.") "What's the current theory on letting
losers on during the day?" "The theory behind this change is to fix
the following well-known screw..."
THRASH v. To move wildly
or violently, without accomplishing anything useful. Swapping systems which are
overloaded waste most of their time moving pages into and out of core (rather
than performing useful computation), and are therefore said to thrash.
TICK n. 1. Interval of
time; basic clock time on the computer. Typically 1/60 second. See JIFFY. 2. In
simulations, the discrete unit of time that passes "between"
iterations of the simulation mechanism. In AI applications, this amount of time
is often left unspecified, since the only constraint of interest is that caused
things happen after their causes. This sort of AI simulation is often
pejoratively referred to as "tick-tick-tick" simulation, especially
when the issue of simultaneity of events with long, independent chains of
causes is handwaved.
TIME T n. 1. An
unspecified but usually well-understood time, often used in conjunction with a
later time T+1. "We'll meet on campus at time T or at Louie's at time
T+1." 2. SINCE (OR AT) TIME T EQUALS MINUS INFINITY: A long time ago; for
as long as anyone can remember; at the time that some particular frob was first
designed.
TOOL v.i. To work; to
study. See HACK (def #9).
TRAP 1. n. A program
interrupt, usually used specifically to refer to an interrupt caused by some
illegal action taking place in the user program. In most cases the system
monitor performs some action related to the nature of the illegality, then
returns control to the program. See UUO. 2. v. To cause a trap. "These
instructions trap to the monitor." Also used transitively to indicate the
cause of the trap. "The monitor traps all input/output instructions."
TTY (titty) n.
Terminal of the teletype variety, characterized by a noisy mechanical printer,
a very limited character set, and poor print quality. Usage: antiquated (like
the TTY's themselves). Sometimes used to refer to any terminal at all;
sometimes used to refer to the particular terminal controlling a job.
TWEAK v. To change
slightly, usually in reference to a value. Also used synonymously with TWIDDLE.
See FROBNICATE and FUDGE FACTOR.
TWENEX n. The TOPS-20
operating system by DEC. So named because TOPS-10 was a typically crufty DEC
operating system for the PDP-10. BBN developed their own system, called TENEX
(TEN EXecutive), and in creating TOPS-20 for the DEC-20 DEC copied TENEX and
adapted it for the 20. Usage: DEC people cringe when they hear TOPS-20 referred
to as "Twenex", but the term seems to be catching on nevertheless.
Release 3 of TOPS-20 is sufficiently different from release 1 that some (not
all) hackers have stopped calling it TWENEX, though the written abbreviation
"20x" is still used.
TWIDDLE n. 1. tilde (ASCII
176, "~"). Also called "squiggle", "sqiggle"
(sic--pronounced "skig'gul"), and "twaddle", but twiddle is
by far the most common term. 2. A small and insignificant change to a program.
Usually fixes one bug and generates several new ones. 3. v. To change something
in a small way. Bits, for example, are often twiddled. Twiddling a switch or
knob implies much less sense of purpose than toggling or tweaking it; see
FROBNICATE.
UP adj. 1. Working,
in order. "The down escalator is up." 2. BRING UP: v. To create a
working version and start it. "They brought up a down system."
USER n. A programmer
who will believe anything you tell him. One who asks questions. Identified at
MIT with "loser" by the spelling "luser". See REAL USER.
[Note by GLS: I don't agree with RF's definition at all. Basically, there are
two classes of people who work with a program: there are implementors (hackers)
and users (losers). The users are looked down on by hackers to a mild degree
because they don't understand the full ramifications of the system in all its
glory. (A few users who do are known as real winners.) It is true that users
ask questions (of necessity). Very often they are annoying or downright
stupid.]
UUO (you-you-oh)
[short for "Un-Used Operation"] n. A DEC-10 system monitor call. The
term "Un-Used Operation" comes from the fact that, on DEC-10 systems,
monitor calls are implemented as invalid or illegal machine instructions, which
cause traps to the monitor (see TRAP). The SAIL manual describing the available
UUO's has a cover picture showing an unidentified underwater object. See YOYO.
[Note: DEC sales people have since decided that "Un-Used Operation"
sounds bad, so UUO now stands for "Unimplemented User Operation".]
Tenex and Twenex systems use the JSYS machine instruction (q.v.), which is
halfway between a legal machine instruction and a UUO, since KA-10 Tenices implement
it as a hardware instruction which can be used as an ordinary subroutine call
(sort of a "pure JSR").
VANILLA adj. Ordinary
flavor, standard. See FLAVOR. When used of food, very often does not mean that
the food is flavored with vanilla extract! For example, "vanilla-flavored
wonton soup" (or simply "vanilla wonton soup") means ordinary
wonton soup, as opposed to hot and sour wonton soup.
VAXEN [from
"oxen", perhaps influenced by "vixen"] n. pl. The plural of
VAX (a DEC machine).
VIRGIN adj. Unused, in
reference to an instantiation of a program. "Let's bring up a virgin
system and see if it crashes again." Also, by extension, unused buffers
and the like within a program.
VIRTUAL adj. 1. Common
alternative to LOGICAL (q.v.), but never used with compass directions. 2.
Performing the functions of. Virtual memory acts like real memory but isn't.
VISIONARY n.
One who hacks vision (in an AI context, such as the processing of visual
images).
WALDO [probably taken
from the story "Waldo", by Heinlein, which is where the term was
first used to mean a mechanical adjunct to a human limb] Used at Harvard,
particularly by Tom Cheatham and students, instead of FOOBAR as a
meta-syntactic variable and general nonsense word. See FOO, BAR, FOOBAR, QUUX.
WALL [shortened form of
HELLO WALL, apparently from the phrase "up against a blank wall"]
(WPI) interj. 1. An indication of confusion, usually spoken with a quizzical
tone. "Wall??" 2. A request for further explication.
WALLPAPER n.
A file containing a listing (e.g., assembly listing) or transcript, esp. a file
containing a transcript of all or part of a login session. (The idea was that
the LPT paper for such listings was essentially good only for wallpaper, as evidenced
at SAIL where it was used as such to cover windows.) Usage: not often used now,
esp. since other systems have developed other terms for it (e.g., PHOTO on
TWENEX). The term possibly originated on ITS, where the commands to begin and
end transcript files are still :WALBEG and :WALEND, with default file DSK:WALL
PAPER.
WATERBOTTLE SOCCER n. A deadly sport practiced mainly by Sussman's graduate
students. It, along with chair bowling, is the most evident manifestation of
the "locker room atmosphere" said to reign in that sphere. (Sussman
doesn't approve.) [As of 11/82, it's reported that the sport has given way to a
new game called "disc-boot", and Sussman even participates
occasionally.]
WEDGED [from "head
wedged up ass"] adj. To be in a locked state, incapable of proceeding
without help. (See GRONK.) Often refers to humans suffering misconceptions.
"The swapper is wedged." This term is sometimes used as a synonym for
DEADLOCKED (q.v.).
WHAT n. The question
mark character ("?"). See QUES. Usage: rare, used particularly in
conjunction with WOW.
WHEEL n. 1. A privilege
bit that canonically allows the possessor to perform any operation on a
timesharing system, such as read or write any file on the system regardless of
protections, change or or look at any address in the running monitor, crash or
reload the system, and kill/create jobs and user accounts. The term was
invented on the TENEX operating system, and carried over to TOPS-20, Xerox-IFS
and others. 2. A person who posses a wheel bit. "We need to find a wheel
to unwedge the hung tape drives."
WHEEL WARS [from
LOTS at Stanford University] A period during which student wheels hack each
other by attempting to log each other out of the system, delete each other's
files, or otherwise wreak havoc, usually at the expense of the lesser users.
WIN [from MIT jargon]
1. v. To succeed. A program wins if no unexpected conditions arise. 2. BIG WIN:
n. Serendipity. Emphatic forms: MOBY WIN, SUPER WIN, HYPER-WIN (often used
interjectively as a reply). For some reason SUITABLE WIN is also common at MIT,
usually in reference to a satisfactory solution to a problem. See LOSE.
WINNAGE n. The situation
when a lossage is corrected, or when something is winning. Quite rare. Usage:
also quite rare.
WINNER 1. n. An
unexpectedly good situation, program, programmer or person. 2. REAL WINNER:
Often sarcastic, but also used as high praise.
WINNITUDE n.
The quality of winning (as opposed to WINNAGE, which is the result of winning).
"That's really great! Boy, what winnitude!"
WIZARD n. 1. A person who
knows how a complex piece of software or hardware works; someone who can find
and fix his bugs in an emergency. Rarely used at MIT, where HACKER is the
preferred term. 2. A person who is permitted to do things forbidden to ordinary
people, e.g., a "net wizard" on a TENEX may run programs which speak
low-level host-imp protocol; an ADVENT wizard at SAIL may play Adventure during
the day.
WORMHOLE n. A location in a
monitor which contains the address of a routine, with the specific intent of
making it easy to substitute a different routine. The following quote comes
from "Polymorphic Systems", vol. 2, p. 54:
"Any type of I/O device can be substituted for the standard
device by loading a simple driver routine for that device and installing its
address in one of the monitor's `wormholes.'*
----------
*The term `wormhole' has been used to describe a hypothetical
astronomical situation where a black hole connects to the `other side' of the
universe. When this happens, information can pass through the wormhole, in only
one direction, much as `assumptions' pass down the monitor's wormholes."
WOW See EXCL.
XGP 1. n. Xerox
Graphics Printer. 2. v. To print something on the XGP. "You shouldn't XGP
such a large file."
XYZZY [from the
Adventure game] adj. See PLUGH.
YOYO n. DEC service
engineers' slang for UUO (q.v.). Usage: rare at Stanford and MIT, has been
found at random DEC installations.
YOYO MODE n.
State in which the system is said to be when it rapidly alternates several
times between being up and being down.
YU-SHIANG WHOLE FISH n. The character gamma (extended SAIL ASCII 11), which with
a loop in its tail looks like a fish. Usage: used primarily by people on the
MIT LISP Machine. Tends to elicit incredulity from people who hear about it
second-hand.
ZERO v. 1. To set to
zero. Usually said of small pieces of data, such as bits or words. 2. To erase;
to discard all data from. Said of disks and directories, where
"zeroing" need not involve actually writing zeroes throughout the
area being zeroed.
Confused? So were we,
which is why we put together this Hacks/Hackers Survival Glossary as an
explanation of terms that help us understand the information landscape. This is
a crowdsourced document that provides a guide to technologies involved in
modern content distribution, coordinated by Hacks/Hackers, a grassroots group
that brings journalists and technologists together. Don’t know Drupal from
Django, API from Ajax, mashup from metadata? This is the list for you. It’s
written for intelligent nontechies in (mostly) plain English. Feel free to
distribute or contribute. Instructions here: http://hckhc.kr/asJT3s
_______
API (Application
Programming Interface) — The way computer programs share data and functionality
with other computer programs. APIs are an increasingly critical part of the
Internet’s interconnection. Many say that the future of the Internet lies in
APIs because they help distribute and combine content. On the Web, APIs are
generally special URLs that give back machine-readable data, in formats like
JSON or XML, rather than human-readable data, which is usually HTML. Facebook,
Twitter and Google Maps all have APIs that allow other websites or computer
programs to use their underlying tools. The New York Times and NPR have also
released APIs that allow other programs to draw on archives of movie reviews,
restaurant reviews and articles.
algorithm — A set of
instructions or procedures used in order to accomplish a task, such as creating
search results in Google. In the context of search, algorithms are used to
provide the most relevant results first based on those instructions.
Android — Usually used
in the context of Android phone, Android is a free and open source operating
system developed by Google that powers a variety of mobile phones from different
manufacturers and carriers. It is a rival of the iPhone platform. In contrast
to Apple’s tightly controlled architecture and App Store, Android allows users
to install apps from the Android Market and from other channels, such as
directly from a developer’s website — which allows for X-rated content, for
example. Some well-known Android phones are the Nexus One, the Motorola Droid
and HTC Evo. Expect to see competitors to the iPad running a version of
Android.
app — Short for
application, a program that runs inside another service. Many mobile phones
allow apps to be downloaded, leading to a burgeoning economy for modestly
priced software. Can also refer to a program or tool that can be used within a
website. Apps generally are built using software toolkits provided by the
underlying service, whether it is iPhone or Facebook.
AJAX — A bundle of
technologies and techniques that allow a web page to do things quietly in the
background without reloading the whole page. AJAX is not a programming
language, but rather an acronym used to describe that bundle, “Asynchronous
Javascript and XML.” AJAX provides much of the functionality associated with
Web 2.0. One of the first big uses of AJAX was Gmail, which allowed it to be
much more responsive than other web e-mail at the time.
Atom — A syndication
format for machine readable web feeds that is usually accessible via a URL.
While it was created as an alternative to RSS (Real Simple Syndication) to
improve upon RSS’s deficiencies (such as ambiguities), it still is secondary to
RSS. (See also, RSS)
blog — One of the first
widespread web-native publishing formats, generally characterized by reverse
chronological ordering, rapid response, linking, and robust commenting. While
originally perceived to be light on reporting and heavy on commentary, a number
of blogs are now thoroughly reported, and legacy media organizations have also
launched various blogs. Originally short for “web log,” blog is now an accepted
word in Scrabble.
Blogger — A simple,
free blogging platform created by Pyra Labs, which was sold to Google in 2003.
It was one of the first mass blogging services and is credited with
popularizing the format. Unlike WordPress, it is not open source. Many Blogger
sites are hosted at blogspot.com.
civic media — An
umbrella term describing media technologies that create a strong sense of
engagement among residents through news and information. It is often used as a
contrast to “citizen journalism” because it also encompasses mapping, wikis and
databases. MIT has a Center for Future Civic Media.
cloud computing — An
increasingly popular computing model in which information and software are
provided on demand from over the Internet rather than staying on local
computers. Cloud computing is appealing because companies can reduce the amount
they spend on their own computer servers and software but can also quickly and
easily expand as the company grows. Examples of cloud computing applications
include Google Docs and Yahoo Mail. Amazon offers two cloud computing services:
EC2, which many start-ups now use as a cheap way to launch their products, and
S3, an online storage system many companies use for cheap storage.
client side — Referring
to network software where work takes place on the user’s computer, the client,
rather than at the central computer, known as the server. Advantages of doing
so include speed and bandwidth. An example is Javascript, a programming
language that allows developers to build interactivity into websites. The work
is done within the browser, rather than at the hosting website. (See also
server side)
CMS (Content Management
System) — Software designed to organize large amounts of dynamic material for a
website, usually consisting of at least templates and a database. It is
generally synonymous with online publishing system. The material can include
documents, photos or videos. While the first generation of content management
systems were custom and proprietary, in recent years there has been a surge in
free open-source systems such as Drupal, WordPress and Joomla. Content
management systems are sometimes built custom from scratch with frameworks such
as Ruby on Rails or Django.
CPA (Cost Per Action) —
A pricing model in which the advertiser is charged for an ad based on how many
users take a specific, pre-defined action—such as buying a product from an
online store—based on viewing an ad. This is the “gold standard” for
advertisers because it most directly matches the cost of an ad to its
effectiveness. However, it’s not commonly used since it’s extremely difficult
to measure: it is often unclear when or how to attribute an action to a
specific ad. (Also sometimes referred to as Cost Per Acquisition.)
CPC (Cost Per Click) —
A pricing model in which the advertiser is charged for an ad based on how many users
click it. This is a common model for “search advertising” (the all-text ads
associated with search results) and for text ads in general. CPC is well-suited
for “directed” advertising, intended to prompt an immediate response, because a
user’s clicking on an ad shows engagement with it. Google AdWords is generally
priced on a CPC basis.
CPM (Cost Per Mille) —
Cost per one thousand (often views). Much of online advertising — particularly
display advertising — is priced on a CPM basis. (Mille = Latin for one
thousand; we use “K” for “kilo” almost everywhere else in tech, but “M” for
“mille” here, which causes some confusion.) CPM is well suited for “brand” or
“awareness” advertising, in which the primary purpose of the ad is not
necessarily to prompt an immediate response.
Creative Commons — A
flexible set of copyright licenses that allow content creators to specify which
rights they reserve and which they waive regarding their work that is supposed
to codify collaborative spirit of the Internet. There are six main Creative
Commons licenses based on four conditions that creators can choose to apply:
Attribution, Share Alike, Non-Commercial, and No Derivative Works. The least
restrictive of the licenses is Attribution, which grants anyone, from an
individual to a large company, the right to distribute, display, or otherwise
make use of the work so long as the creator is credited. The most restrictive
is Attribution Non-Commercial No Derivatives, which grants only redistribution.
First released in December 2002 by the nonprofit Creative Commons organization,
which was inspired by the open source GNU GPL license, the licenses are now
used on an estimated 130 million works worldwide. The glossary you are reading
is released under a Creative Commons Attribution Share Alike license in an
effort to encourage wide distribution and contribution. (Also see open source)
CSS (Cascading Style
Sheets) — Instructions used to describe the look and formatting for documents,
usually HTML, so that the presentation is separate from the actual content of
the document itself. If you watch a web page that loads slowly, you will often
see the text first load and then “snap into place” with its look and feel. That
look and feel is controlled by the CSS. CSS, which was first introduced by the
World Wide Web Consortium in the late 1990s, helped eliminate the clumsy and
often repetitive markup in the original HTML syntax. W3cschools.com has a great
introduction to CSS with tutorials.
CSV (Comma-Separated
Values) — An extremely simple data format which stores information in a text
file. CSV is popular precisely because it can be easily read by many different
applications, including spreadsheets, word processors, programming text editors
and web browsers. Thus it is a common way for people, including governments, to
make their data available. Each row of data is represented by a line of text.
Each column is delimited/separated by a comma (,). To prevent confusion about
commas in the data, the terms are often surrounded by double quotes (“). Many
applications support the use of alternative column delimiters (the pipe
character, |, is popular). Example below:
“Name”,”Address”,”email”
“Jack”,”1 Main St.,
Town, NY”,”jack@hill.com”
“Jill”,”2 Elm St.,
City, CA”,”jill@hill.com”
data visualization — A growing
area of content creation in which information is represented graphically and
often interactively. This can be used for subjects as diverse as an analysis of
a speech by the president and the popularity of baby names over time. While it
has deep roots in academia, data visualization has begun to emerge on content
sites as a way to handle the masses of data that are being made public, often
by government. There are many tools for data visualizations, including
Seattle-based Tableau and IBM’s Many Eyes. Data visualization should 1) tell a
story, 2) allow users to ask their own questions and 3) start conversations.
document-oriented
database — An increasingly popular type of database. In contrast to relational
databases, which rigidly require information to be stored in pre-defined
tables, document-oriented databases are more free-flowing and flexible. This is
important when you don’t know what is going to be thrown at you.
Document-oriented databases retrieve information more quickly, but store it
less efficiently. The same document-oriented database might let you store the
information for an article (headline, byline, data, content, miscellaneous) or
for a photo (file, photographer, date, cutline). MongoDB is a popular open
source document-oriented database.
Drupal — A popular
content management system known for a vibrant open-source community that
creates diverse and robust extensions. Drupal is very powerful, but it is
somewhat difficult to use for simple tasks when compared to WordPress. Drupal
provides options to create a static website, a multi-user blog, an Internet
forum or a community website for user-generated content. It is written in PHP
and distributed under the GPL open source license. Whitehouse.gov uses Drupal.
Django — A web
framework that is popular among news and information sites, in part due to its
origin at Lawrence Journal-World in Kansas. It is written in Python, a
sophisticated dynamic language. Major projects built in Django include Disqus,
Everyblock.com and TheOnion.com. News applications teams, including those at
the Chicago Tribune and Los Angeles Times, use the framework to present large
data sets online in easily accessible ways.
embed — A term meaning
to place a specific piece of content from one web page inside of another one.
This is often done using an embed code (a few lines of HTML and/or Javascript)
that you can copy or paste. This is a common way for video content to be spread
around the Internet and is increasingly being used for interactive components.
A recent example is PBS Newshour’s oil spill tracker widget, which was placed
on many news sites around the country. Note: This is different from the
newsroom sense of “embed,” popularized during the 2003 Iraqi invasion, which
means to have a journalist work from within a military unit.
EC2 — A computing power
rental system by Amazon that has become popular among technology companies
because it is much cheaper than maintaining your own computer servers. Users
can host their applications on EC2 and pay depending on usage. EC2 is an
example of cloud computing. (Also see cloud computing)
Facebook Connect— A
technology from Facebook that allows a reader to log into a third-party website
with their Facebook account, rather than creating a new profile for that
website. Facebook Connect, which is an API, also allows the third parties to
pull certain data from the user’s profile, such as his or her name and age. In
turn, the reader’s activities on the website can also be displayed on her or
his Facebook profile. Launched in 2007, Facebook Connect was one of the first
examples of Facebook extending itself into a platform for the entire Web. (Also
see OAuth, Open ID)
Facebook community page
— Introduced in April 2010, community pages were created as a counterpart to
“official fan pages,” which are built around a specific person, company,
organization, product, or brand. In large part, community pages are mostly
auto-generated around interests or affiliations found in people’s profiles,
like cooking. There is not a way to actively add content to the page, unlike
with Facebook groups. But because they are autogenerated, based on likes, they
can quickly build gigantic memberships. Cooking, for example, has over 2
million fans. These pages are a bit confusing, and Facebook is still working on
the kinks.
Facebook fan page — A
Facebook profile for a specific person, product, company or organization,
usually administered by official representatives. This is different from a
Facebook personal page, which must be owned by an individual, and different
from a Facebook community page, which is built around an interest not related
to a brand, such as “cooking.” It is also different from a Facebook group. Fan
pages can gather thousands or millions of fans though “likes,” and official
posts by the page administrator generally go into the fans’ news streams. Once
a page has more than 25 fans, it can claim a short form URL, such as
facebook.com/nytimes or facebook.com/wikileaks. Facebook community and fan
pages are strong players in ongoing efforts to bring content to people where
they already are, instead of requiring them to come to the content.
Facebook group —
Facebook groups are analogous to offline clubs. Unlike Facebook fan pages,
groups do not have to be administered by official representatives. In addition,
the activity posted in groups does not get pushed into users’ feeds. But as
long as it has fewer than 5,000 members, Facebook groups are allowed to mass-message
all their members.
Facebook personal page
— A profile page tied to a single individual. What information is controlled
(in theory) by the individual. However, because there is a 5,000-person limit
to friends, some celebrities have fan pages instead. As of 2009, individuals
can choose a username, which makes their page available at
facebook.com/username.
Flash — A proprietary
platform owned by Adobe Systems that allows for drag-and-drop animations,
program interactivity, and dynamic displays for the Web. The language used,
ActionScript, is owned by Adobe; this contrasts with many other popular
programming languages that are open source. Creators must use Adobe’s Creative
Suite products and web surfers must install a Flash plug-in for their browser.
Many claim that Flash players are unstable and inefficient, slowing down web
pages and crashing operating systems. Apple has not allowed Adobe to create a
Flash player for the iPhone operating system, which has created a feud between
the two companies. HTML5 is emerging as an open alternative to Flash.
framework — A software
package that makes writing programs easier by providing all the “plumbing” for
a particular type of task (like writing a web app), allowing programmers to
just “fill in the blanks” with their own project-specific needs. For instance,
Web development frameworks like Ruby on Rails (written in Ruby, meaning
programmers use Ruby to do the “fill in the blanks” tasks) and Django (written
in Python), have easy-to-use, built-in support for common web development
tasks, such as reading and writing to a database, writing content in html, and
so forth. Watch Django and Ruby creators discuss the merits of their frameworks
on DjangoProject.com.
Foursquare — One of
many new mobile services, along with Gowalla, SCVNGR and others, that combines
geolocation with game mechanics. Launched in 2009 at SXSW Interactive
conference, Foursquare allows users to “check in” at locations (bars,
restaurants, playgrounds and more) to inform people in their social networks of
their whereabouts while earning badges, collecting points and becoming the
“mayor” of certain locations. Despite a relatively modest user base at the
beginning, Foursquare quickly attracted a lot of attention for its potential
for marketing and customer brand loyalty.
geotag — A piece of
information that goes with content and contains geographically based
information. Commonly used on photo sites such as Flickr or in conjunction with
user-generated content, to show where a photo, video or article came from.
There has been some discussion of its increasing relevance with geographically
connected social networking sites, such as Foursquare. Twitter has implemented
geotagging, and Facebook has announced plans to do so.
Google AdSense —
Google’s online advertising network that allows content publishers to embed a
piece of code to display Google ads on their sites. The ads are selected based
on the content of the page. Ad revenue is split between Google and the
publisher in an undisclosed proportion, generally believed to be two-thirds to
the publisher. (Note: ads on Google’s own sites are covered by Google AdWords,
not AdSense.)
Google AdWords —
Google’s text-based flagship advertising product, which provides the lion’s
share of the company revenue. Ads are displayed on Google’s own sites based on
search terms that users type in, and advertisers pay only when the users click
on them. The search terms, called keywords, are purchased by advertisers;
availability of a given keyword is based in part on an auction system, and in
part on the responsiveness of the audience.
Google Buzz — Launched
in February 2010, Buzz is Google’s attempt to counter Twitter and Facebook by
leveraging the social graphs from users’ e-mail accounts. A more sophisticated
version of Gmail “status updates,” Buzz allows users to post updates about what
they are doing, link to what they are reading and post their current locations.
The service can integrate with other Google services, as well as feed into
Twitter. Despite an initial burst of publicity, Google Buzz has not gained
tremendous traction. It attracted criticism when Google automatically and
publicly connected users with people they had e-mailed most often in the past,
making private information unexpectedly available. Google released enhanced
privacy controls after the controversy.
Google Docs — A free
online service offered by Google, comprising word processing, spreadsheet,
presentation and other software, all of which is “in the cloud.” Users can work
collaboratively on documents, editing them simultaneously. The service is
increasingly being seen as eroding Microsoft Office’s market share. The
glossary you’re reading right now was collaboratively created in Google Docs.
Google Wave — An online
collaborative space introduced by Google in which people can communicate and
work together in real time; it resembles a “souped up Instant Messenger.”
Participants can add rich text, images, attachments, videos and maps to create
a multimedia collaboration. A playback option allows new users to get up to
speed on projects and creates an environment that is both real-time and
asynchronous. Despite a massive amount of attention, Google Wave has not gotten
much traction. It is, as some people have said, “a technological solution in
search of a problem.”
HTML (Hypertext Markup
Language) — The dominant formatting language used on the World Wide Web to
publish text, images and other elements. Invented by Tim Berners Lee in the
early 1990s, HTML uses pairs of opening and closing tags (also known as
elements), such as ; each pair assigns meaning to the text that appears between
them. HTML can be considered code, but it is not a programming language; it’s a
markup language, which is a separate beast. The latest standard of HTML is
HTML5, which adds powerful interactive functionality.
HTML5 — The upcoming,
powerful standard of Hypertext Markup Language, which has added advanced
interactive features, such as allowing video to be embedded on a web page. It
is gaining in popularity compared to proprietary standards, like Adobe Flash,
because it is an open standard and does not require third-party plugins. Using
HTML5 will allow web pages to work more like desktop applications. The latest
releases of most browsers support HTML5 to varying degrees. HTML5 does not
cover CSS and JavaScript, but often when people refer to HTML5, they often are
using it as a blanket term, applying not only to changes to the HTML, but also
to changes in CSS and JavaScript.
iframe — An HTML tag
that allows for one web page to be wholly included inside another; it is a
popular way to create embeddable interactive features. Iframes are usually
constructed via JavaScript as a way around web browsers’ security features,
which try to prevent JavaScript on one page from quickly talking to JavaScript
on an external page. Many security breaches have been designed using iframes.
iPad — Released in
April 2010, the iPad is Apple’s tablet computing device, akin to a large iPod
Touch; it uses the same operating system and development tools as the iPhone.
It features a multitouch screen and comes in 3G and wifi versions. Some news
organizations, including The New York Times, Wired and National Geographic,
have created special applications designed for the iPad. Some have hoped that
it would be the “Jesus” tablet that would breathe new life into legacy print
publications. Upon its announcement in January 2010, many noted its name was
reminiscent of feminine hygiene products.
iPhone — Apple’s smart
phone has sold more than 50 million units worldwide since it launched in 2007.
The first smartphone to introduce multitouch screen capability, it is
considered in the same vertical as the Blackberry, Google’s Android and Palm
Pre. The critical mass of iPhones, along with Apple’s pre-existing iTunes
infrastructure, allowed Apple to launch the first truly robust marketplace for
mobile applications, creating a whole new microeconomy for innovation.
iPod Touch —
Essentially an iPhone without the phone. Slimmer than the iPhone, the iPod
touch can play music and run iPhone apps. It connects to the Internet via wifi.
JavaScript — A Web
scripting language used to enhance websites; it can make them more interactive
without requiring a browser plugin. JavaScript is interpreted by your browser
instead of by a web server, otherwise known as a client-side scripting
language. JavaScript files generally end in .js. Despite its name, it is not
related to the Java language.
Joomla — A free,
open-source content management built in PHP. It is more powerful than WordPress
but not as powerful as Drupal. However it is known for its extensive design
options. The name Joomla means “all together” in Swahili.
jQuery — A incredibly
popular open source JavaScript library designed for manipulating HTML pages and
handling events. Released in 2006, jQuery quickly gained widespread adoption
because of its efficiency and elegance. The definitive feature of jQuery is its
support for “chaining” operations together to simplify otherwise complicated
tasks. It is the most popular JavaScript library.
JSON (JavaScript
Object-Notation) — A Web data publishing format that is designed to be both
easily human — and machine — readable. It is an alternative to XML that is more
concise because, unlike XML, it is not a markup language that requires open and
close tags.
LAMP — An acronym
referring to a bundle of free open-source Web technologies that have become
incredibly popular as a method for building websites. The letters stand for the
Linux operating system, Apache web server, MySQL database, and either PHP, Perl
or Python. This is often referred to as a “LAMP stack.” A rival alternative
would be a bundle of Microsoft products. Serverwatch.com has a good
explanation.
legacy media — An
umbrella term to describe the centralized media institutions that were dominant
during the second half of the 20th century, including — but not limited to —
television, radio, newspapers and magazines, all which generally had a
uni-directional distribution model. Sometimes “legacy media” is used
interchangeably with “MSM,” for “Mainstream Media.” Legacy media sits in
contrast with social media, where the production and sharing is of equal weight
to the consumption.
library — In the
context of programming, this contains code that can be accessed for software
and Web development, enabling one to perform common tasks without writing new
code every time. Many libraries are freely shared. One well-known library is
jQuery, released in 2006 and now the most popular JavaScript library, which
boasts that it allows coders to “write less, do more.”
location-based services
— A service, usually in a mobile Web or mobile device application, that uses
your location in order to perform a certain task, such as finding nearby
restaurants, giving you directions, or locating your friends. Foursquare and
Gowalla are location-based services.
mashup — A combination
of data from multiple sources, usually through the use of APIs. An example of a
mashup would be an app that shows the locations of all the movie theaters in a
particular town on a Google map. It is mashing up one data source (the
addresses of movie theaters) with another data source (the geographic location
of those addresses on a map).
metadata — Data about
data. Examples of metadata include descriptors indicating when information was
created, by whom and in what format. Metadata helps to organize information
online and make it machine-readable. HTML is an example of metadata — it
organizes the data in a web page so browsers can display it sensibly. Web pages
often have hidden metadata that helps with their search engine ranks. Photos
uploaded to Flickr carry metadata such as time taken, camera model and shutter
speed. MP3s have metadata such as the artist name, track title, album name and
so on.
Microsoft Silverlight —
Microsoft’s answer to Adobe Flash, allowing the integration of multimedia,
graphics, animations, and interactivity into web pages. It was initially
released in 2007 and is occasionally spotted on the web.
mobile — An umbrella
term in technology that was long synonymous with cellular phones but has since
grown to encompass tablet computing (the iPad) and even netbooks. In
retrospect, an early mobile technology was the pager. Sometimes the term is
used interchangeably with “wireless.” It generally refers to untethered
computing devices that can access the Internet over radiofrequency waves,
though sometimes also via wi-fi. Mobile technology usually demands a different
set of standards — design and otherwise — than desktop computers, and has
opened up an entirely new area for geo-aware applications.
MySQL — The dominant
open-source database management system on the Internet. It is popular because
it is a free and flexible alternative to expensive systems like Oracle.
Projects that use MySQL include Facebook and Wikipedia. The SQL stands for “Structured
Query Language” and “My” is the name of the inventor’s daughter. It is
officially pronounced My-S-Q-L, but you will often hear it referred to as “My
Sequel.” MySQL is a relational database management system, not a
document-oriented database system. (Also see document-oriented database)
OAuth — A new method
that allows users to share information stored on one site with another site.
For example, some web-based Twitter clients will use OAuth to connect to your
account, instead of requiring you to provide your password directly to that
third-party site. It is similar to Facebook Connect. This allows sites to
validate users’ identities without having full access to their personal
accounts.
ontology — A
classification system with nodes or entities, that allows non-hierarchical
relationships, in contrast to a taxonomy, which is hierarchical. Taxonomies and
ontologies are important in content to help related articles or topics pages.
(Also see taxonomy)
Open ID — An open
standard that lets users log in to multiple web sites using the same identity
through a third party. It is supported by numerous sites, including
LiveJournal, Yahoo!, and WordPress. While Open ID has seen adoption among
technical communities, its authentication method is not particularly intuitive,
and it has not gained wide consumer acceptance.
open source — Open
source refers to a philosophy and a means of developing and licensing software
and other copyrighted works so that others are free to inspect, use and adapt
the original source material. There are many open source licenses. Some
licenses are considered permissive (e.g. MIT and BSD), allowing inclusion in
proprietary works, while others (e.g. GNU GPL) require that the resulting
derivative works remain under the same license if distributed. While the term
originally stemmed from software practices, the concept has now been
incorporated into other fields such as medicine and agriculture. Many of the
most popular technologies used in content distribution, including languages and
publishing platforms, are open source. The glossary you are reading was
developed using open source methodology and is available under a Creative
Commons license.
operating system — A
basic layer of software that controls computer hardware, allowing other
applications to be built on it. The most popular operating systems today for
desktop computers are the various versions of Microsoft Windows, Mac OS X and
the open-source Linux. Smart phones also have operating systems. The Palm Pre
uses webOS, numerous phones use Google’s Android operating system, and the
iPhone uses iOS (formerly known as iPhone OS).
Palm Pre — A smart
phone introduced in 2009 by Palm which uses webOS and allows for multitasking,
unlike the iPhone. Despite rave reviews, the product is generally acknowledged
to have come out too late to gain meaningful traction against the iPhone or
Google’s Android operating system. HP recently announced that it would acquire
Palm, which was once the leading smart phone company.
peer-to-peer (P2P) — A
network architecture in which users share resources on their own computers
directly with others. Often used to speed up videos and large multimedia pieces
that can take a long time to download. Napster was an early example of a
popular use of peer-to-peer architecture, although it was not fully
peer-to-peer. Today, Skype and BitTorrent are based on peer-to-peer
technologies.
Perl — A dynamic
language that is often used to parse and sort information because of its
powerful abilities in manipulating text. Perl can be used to pull large
quantities of data down from websites and standardize and replace information
in batch. Perl was more popular in past years, especially in the
computer-assisted reporting community, but it has been overtaken in popularity
by languages such as Python and Ruby. Perl still has an active development
community and is noted for the scope of its freely available libraries, which
simplify development.
PHP — A popular web
scripting language to generate web pages that was first developed in 1995, when
it stood for “Personal Home Page.” (It is now a recursive acronym, standing for
“PHP: Hypertext Preprocessor.”) Popular websites that are written in PHP are
Wikipedia, Facebook and WordPress. It is criticized as being slow because it
generates web pages on request. However, Facebook recently released its
internally developed version of HipHop for PHP, which is designed to make the
language dramatically more efficient.
platform — In the
technology world, platform refers to the hardware or software that other applications
are built upon. Computing platforms include Windows PC and Macintosh. Mobile
platforms include Android, iPhone and Palm’s webOS. More recently, in an
extension of its commonly used definition, Facebook has created a “platform,”
allowing developers to build applications on top of it.
Posterous — A blogging
and publishing platform to which users can submit via e-mail. Through APIs, it
can push the content to other sites such as Flickr, Twitter and YouTube. It is
a for-profit company based in San Francisco that came out of the YCombinator
seed start-up program.
PostgreSQL — An
alternative to MySQL, another free and open-source relational database
management system on the Internet. PostgreSQL is preferred by some in the
technology community for its ability to operate as a spatial database, using
PostGIS extensions. This enables developers to create applications that sort
information based on geography, which can mean sorting by whether various
places are within a certain county or pointing out the places that are
geographically closest to the user.
programming language —
A special type of language used to unambiguously instruct a computer how to
perform tasks. Programming languages are used by software developers to create
applications, including those for the web, for mobile phones, and for desktop
operating systems. C, C++, Objective C, Java, JavaScript, Perl, PHP, Python and
Ruby are examples of programming languages. HTML and XML are not programming
languages, they are markup languages.
Python — A sophisticated
computer language that is commonly used for Internet applications. Designed to
be a very readable language, it is named after Monty Python. It first appeared
in 1991 and was originally created by Guido van Rossum, a Dutch computer
programmer who now works at Google. Python files generally end in .py.
relational database — A
piece of software that stores data in a series of tables, with relationships
defined between them. A news story might have columns for a headline, date,
text and author, where author points to another table containing the author’s
first name, last name and email address. Information must be structured, but
this allows for powerful queries. Examples include MySQL, Oracle, PostgreSQL
and SQLite. Most modern websites use some kind of relational database to store
content.
RSS (Really Simple
Syndication) — A standard for websites to push their content to readers through
Web formats to create regular updates through a “feed reader” or “RSS Reader.”
The symbol is generally a orange square with radiating white quarter circles.
(Also see Atom)
Ruby — An increasingly
popular programming language known for being powerful yet easy to write with.
Originally introduced in 1995 by Yukihiro “Matz” Matsumoto, Ruby has gained
increasing traction since 2005 because of the Ruby on Rails development
framework, which can create websites quickly. Ruby is open source and is very
popular for content-based sites.
Ruby on Rails — A
popular Web framework based on the Ruby programming language that makes common
development tasks easier “out of the box.” The power of Ruby on Rails, which
was developed by the Chicago-based firm 37 Signals, comes from how quickly it
can be used to create a basic website.
S3 — An online storage
system run by Amazon that’s often used as a cheap way to store (and serve)
photos and videos used on websites. It is short for Simple Storage Service. Its
fees are often pennies per month per gigabyte, depending on location and bulk
discount. The service is often used in conjunction with other Amazon Web
Services, such as EC2, to allow customers to process large amounts of data with
low capital investment. The New York Times used S3 with EC2 in this way to
process its archives.
SaaS (Software as a
Service) — A pricing strategy and business model, where companies build a
software solution, usually business-to-business, and charge a fixed monthly
rate to access it on the Internet. It is a type of cloud computing.
Salesforce.com is the best example, but other notables include Mailchimp and even
Amazon Web Services.
Scribd — A
document-sharing site that is often described as a “YouTube for documents”
because it allows other sites to embed its content. It allows people to upload
files and others to download in various formats. Recently Scribd, which is
based in San Francisco, moved from Flash-based technology to HTML5 standards.
scripting language — A
programming language designed to be easy to use for everyday or administrative
tasks. It may involve trade-offs such as sacrificing some performance for ease
of programming. Popular scripting languages include PHP, Perl, Python and Ruby.
SEO (Search Engine
Optimization) — A suite of techniques for improving how a website ranks on
search engines such as Google. SEO is often divided into “white hat” techniques,
which (to simplify) try to boost ranking by improving the quality of a website,
and “black hat” techniques, which try to trick search engines into thinking a
page is of higher quality than it actually is. SEO can also refer to
individuals and companies that offer to provide search engine optimization for
websites.
SEM (Search Engine
Marketing) — A type of marketing that involves raising a company or product’s
visibility in search engines by paying to have it appear in search results for
a given word.
semantic web — A vision
of the web that is almost entirely machine readable, in which documents are
published in languages that are designed specifically for data. It was first
articulated by Tim Berners-Lee in 2001. In many implementations, tags would
identify the information, such as
or . While there has
been progress toward this front, many say this vision remains largely
unrealized.
server-side — Referring
to when network software runs in a central location, the server, rather than on
the user’s computer, often known as the client. (Also see client side).
Sinatra — A lightweight
programming framework written in Ruby that can be used to set up web services,
APIs and small sites quickly.
social graph — A
mapping of the connections between people and the things they care about that
could provide useful insights. The term originally promoted by Facebook and is
now gaining broader usage.
social media — A broad
term referring to the wide swath of content creation and consumption that is
enabled by the many-to-many distributed infrastructure of the Internet. Unlike
legacy media, where the audience is usually on the receiving end of content
creation, social media generally allows three stages of interaction with
content: 1) producing, 2) consuming and 3) sharing. Social media is incredibly
broad and refers to blogging, wikis, video-sharing sites like YouTube,
photo-sharing sites like Flickr and social networking sites like Facebook and
Twitter.
structured thesaurus —
A group of preferred terms created for editorial use to normalize and more
effectively classify content. For example, the AP Stylebook is similar to (but
includes more rules than) a structured thesaurus in that it gives writers
preferred terms to use and standards to follow, so everyone following AP Style
writes the word “website” the same way.
tag — A common type of metadata
used to describe a piece of content that associates it with other content that
has the same tag. Tags can be specific terms, people, locations, etc. used in
the content it is describing, or more general terms that may not be explicitly
stated, such as themes. The term “tag” is also used in the context of markup
languages, such as .
taxonomy — A
hierarchical classification system. In the world of content, this can be a
hierarchy of terms (generally called nodes or entities) that are used to
classify the category or subject content belongs to as well as terms that are
included in the content. In many cases, website navigation systems appear
taxonomical in that users narrow down from broad top-level categories to the
granular feature they want to see. An ontology is similar to a taxonomy in that
it is also a classification system with nodes or entities, but it is more
complex and flexible because ontologies allow for non-hierarchical
relationships. While in a taxonomy a node can be either a broader term or
narrower term, in an ontology nodes can be related in any way.
Tumblr — A free
short-form blogging platform that allows users to post images, video, links,
quotes and audio. The company is based in New York City and competes with
Posterous.
transparency — In the
context of news and information, a term describing openness about information
that has become increasingly popular. In many cases it is used to refer to the
transparency of government releasing data to journalists and to the public. It
is often used in the context of journalists being open about their reporting
process and material by sharing with their readers before the final project
emerges or providing more context in addition to the final product.
Twitter — A
microblogging and social media service where users can send out messages
limited to 14o characters. Launched in 2007, Twitter became popular in part
because it had a set of APIs that allowed other developers to build tools on
top if it. Twitter users came up with their own conventions, including the @
symbol to denote user names (@nytimes), and #, the hashtag, to denote subjects
(#sxsw). Twitter computes Trending Topics, which give a real-time view into the
most talked about topics on the service.
UI (User Interface) —
The part of a software application or website that users see and interact with,
which takes into account the visual design and the structure of the program.
While graphic design is an element of user interface design, it is only a
portion of the consideration.
URI (Uniform Resource
Identifier) — The way to identify the location for something on the Internet.
It is most familiarly in “http:” form, but also encompasses “ftp:” or “mailto:”
URL (Uniform Resource
Locator) — Often used interchangeably with the “address” of a web page, such as
http://hackshackers.com. All URLs are URIs, but not vice versa. While humans
are familar with URLs as a way to see web pages, computer programs often use
URLs to pass each other machine-readable content, such as RSS feeds or Twitter
information. In addition, words that appear in URLs often help boost search
rankings, which is why many content sites are now shifting to URLs with
headlines as opposed to data strings.
UX (User Experience) —
Generally referring to the area of design that involves the holistic
interaction a user has with a product or a service. It incorporates many
disciplines, including engineering, graphic design, content creation and
psychology. User interface is one element of user experience.
Web 2.0 — Referring to
the generation of Internet technologies that allow for interactivity and
collaboration on websites. In contrast to Web 1.0 (roughly the first decade of
the World Wide Web) where static content was downloaded into the browser and
read, Web 2.0 uses the Internet as the platform. Technologies such as Ajax,
which allow for rapid communication between the browser and the web server,
underlie many Web 2.0 sites. The term was popularized by a 2004 conference,
held by O’Reilly Media and MediaLive, called Web 2.0. (Also see Ajax)
Web 3.0 — Sometimes
used to refer to the semantic web. (Also see semantic web)
webOS — Operating
system used on the latest generation of Palm smart phones, including the Pre
and the Pixi. Apps for webOS are developed using web standards (HTML,
Javascript and CSS), which means there is a low barrier to entry for web
developers to create mobile apps for webOS as compared to other mobile
platforms. It allows for having several applications open at the same time,
unlike the current iPhone.
widget — In a web context,
this refers to a portable application that can be embedded into a third-party
site by cutting and pasting snippets of code. Common web widgets include a
Twitter box that can sit on a blog, or a small Google Map that sits within an
invitation. Desktop widgets, such as ones offered for the Macintosh Dashboard
or by Yahoo!, can be placed on the desktop of a computer, such as for weather
or stocks. Similarly, Android offers the ability to add widgets to the home
screens.
wiki — A web site with
pages that can be easily edited by visitors using their web browser, but
generally now gaining acceptance as a prefix to mean “collaborative.” Ward
Cunningham created the first wiki, naming it WikiWikiWeb after the Hawaiian
word for “quick.” A wiki enables the audience to contribute to a knowledge base
on a topic or share information within an organization, like a newsroom. The
best-known wiki in existence is Wikipedia, which burst onto the scene around
2000 as one of the first examples of mass collaborative information
aggregation. Other sites that have been branded “wiki” include Wikinews,
Wikitravel, and WikiLeaks (which was originally but is no longer a wiki).
WordPress — The most
popular blogging software in use today, in large part because it is free and
relatively powerful, yet easy to use. First released by Matt Mullenweg in 2003,
WordPress attracts contributions from a large community of programmers and
designers who give it additional functionality and visual themes. Sites that
use WordPress include the New York Times blogs, CNN and the LOLCats network. It
has been criticized for security flaws.
XML (Extensible Markup
Language) —A set of rules for encoding documents and data that goes beyond HTML
capacities. Whereas HTML is generally concerned with the semantic structure of
documents, XML allows other information to be defined and passed such as , , ,
,
for a car. It is the
parent language of many XML-based languages such as RSS, Atom, and others. It
gained further popularity with the emergence of Ajax as a way to send back data
from web services, but has since lost ground to JSON, another data encoding
format, which is seen as easier to work with.
Yahoo! Pipes — An
online service from Yahoo! that provides a drag-and-drop visual interface to
create interesting combinations of data. This is stuff you would otherwise need
to know how to program to do. Instead, inputs, operators and chunks of logic
are represented visually — as consoles connected by pipes — with information
flowing from sources to output. It can import and out put in almost any common
data format, including RSS, CSV, and JSON. Yahoo Pipes is an excellent
resources for tech-minded, non-programming journalists.
________________________
Now More Context!
We relate the different
terms to each other and make sense of the whole thing.
- Ruby, PHP and Python
are all scripting languages that are commonly used in website development. PHP
is used in WordPress and Drupal. Ruby is the basis
for Ruby on Rails, a
web framework. Python is the basis for Django.
- Ruby on Rails and
Django are similar and often considered rival systems because they both use a
“Model, View, Controller” architecture. This means they are designed to
separate the data (model) from the analysis of the data (controller) and its
presentation to the user (view). Typically the model is stored in a database,
the view is stored in html templates, and the controller is implemented
directly in the underlying programming language (Ruby for Ruby on Rails, Python
for Django).
- XML and JSON are different
ways of interchanging information. JSON is considered the better data exchange
format whereas XML is considered a better document exchange format.
- WordPress, Joomla and
Drupal (listed in increasingly levels of complexity) are all content management
systems written in PHP.
- HTML5, which allows
for more sophisticated use of graphics and videos in web pages, is considered
an open standards rival to Flash, which is proprietary technology developed by
Adobe Systems. Microsoft Silverlight is also a rival to Flash, but don’t worry
if you have never heard of it.
- Facebook Connect,
OAuth, and OpenID are different ways that users can use one account’s
information to log onto another website without having to create a new username
and password.
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.