Tuesday, November 5, 2013

ALL ABOUT HACKERS AND HACKING WORD MEANS, HACK GLOSSARY by Gorvam saddar

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.
Description: http://cdn0.dailydot.com/uploaded/images/original/2013/9/17/anonymous.pngAnonymous: 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.
Description: http://cdn0.dailydot.com/uploaded/images/original/2013/9/17/black-hat.pngBlack 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.
Description: http://cdn0.dailydot.com/uploaded/images/original/2013/9/16/cookie.pngCookie: 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.
Description: http://cdn0.dailydot.com/uploaded/images/original/2013/9/16/dox.pngDoxing: 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.
Description: http://cdn0.dailydot.com/uploaded/images/original/2013/9/16/lulzsec.pngLulzSec: 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.
Description: http://cdn0.dailydot.com/uploaded/images/original/2013/9/16/remote.pngRemote 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.
Description: http://cdn0.dailydot.com/uploaded/images/original/2013/9/16/time-bomb.pngTime 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.
Description: http://cdn0.dailydot.com/uploaded/images/original/2013/9/16/whaling.pngWhaling: 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.
Description: http://cdn0.dailydot.com/uploaded/images/original/2013/9/16/worm.pngWorm: 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).
When the typing party has finished, he types two CRLF's to signal that he is done; this leaves a blank line between individual "speeches" in the conversation, making it easier to re-read the preceding text.
: When three or more terminals are linked, each speech is preceded by the typist's login name and a colon (or a hyphen) to indicate who is typing. The login name often is shortened to a unique prefix (possibly a single letter) during a very long conversation.
/\/\/\ 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.