# Computers glossary This is *not* an exhaustive glossary, but more a system to keep me accountable to not get too in-the-weeds on technical things. For a more legitimate tech glossary, several others are better: - [TechTerms.com](https://techterms.com/) - [Webopedia](https://www.webopedia.com/) ## 0-9 51% attack - changing blockchain blocks on so many computers at once that they all conform to the new information, the greatest threat for a blockchain hack ## A A/B testing/split testing/bucket testing - comparing two similar versions of an interface to determine which one does things better, often by measuring specific metrics AAA game - an electronic game that boasts a massive production and marketing budget, in contrast to indie games Absolute motion - the x/y coordinate of something in a physical space, how a digitizer and touch screen send information, opposite of relative motion Abstraction - the philosophical form of something, rather than an implementation AC power - alternating current electricity, where the electrons are transferring back-and-forth across the entire line ACL/ACE - access control list/entries - a Windows/Unix list that specifies what specific users or classes of users can do with a file (i.e., write/read/rename/delete) Accumulator - memory on a CPU designed to temporarily hold information for complicated procedures ADAS - advanced driver assistance systems, automated features that combine to assist a vehicle driver Additive manufacturing - aka AM, building up an on-demand object by adding material to it, a more accurate word for most 3D printing Address - the numerical location of something in memory, represented by k Addressing - referencing an address ADF - auto-document feeder, a feature for scanners that can scan many pages at once Adware - software that bloats a computer with ads Algorithm - a set of mathematical rules (e.g., if the number is less than 5, then leave it alone, otherwise subtract 1) Aliasing - distortion in a video or audio signal due to feedback, often from a bounced signal or changed resolution Allocation - setting something aside, the opposite of deallocation Alpha - the first working version of a program, which is usually buggy and has little to no features, the software version of an initial "prototype" Alpha blending - a technique in 32-bit+ graphics that involves permitting some light from background elements to pass through to the foreground ALU - arithmetic logic unit, a key part of a computer's processor that sorts performs elaborate logical operations AMP - a popular server configuration consisting of Apache HTTP Server, MySQL, and PHP or Python or Perl, often is Linux-based (LAMP) but can be with many OS variants like WAMP (Windows), macOS (MAMP), and Darwin (DAMP) Analog signal - a signal which reflects reality with many, many configurations (e.g., has many decimal points), the opposite of a digital signal Antialiasing - software performing multiple passes over the same Antivirus software - software that scans for malicious code in files, emails, or web pages API - application programming interface, an overused word that means a computer can interact with something over a network APU - accelerated processing unit, a CPU with GPU capabilities, specific term for CPUs designed by AMD and ARM since Intel doesn't have HSA AR - augmented reality, an interface that overlays reality with computer information Architecture - broad word for a complex design, but can refer to a computer's physical design, especially elements on the motherboard ARP - address resolution protocol, a routing standard that links MAC addresses with IP addresses Array - a set of data that's only one type, or a row/panel placed in a predictable pattern Artifact - a side effect from something that software does ASCII - an old character encoding standard that uses 7 bits of data per character, compatible with UTF-8, has been replaced by Unicode ASCII art - a depiction of art that uses monospaced fonts to portray an image ASD - autism spectrum disorder, a neurological disorder representing a minority of society that becomes a proportionally larger minority in technology work Aspect ratio - the relationship between two aspects, most commonly refers to screen size as a ratio Assert - memory term for sending information to a register, even if it's not read Assertion - Boolean logic that *always* marks as TRUE Assembler - a program that converts assembly code into machine code Assembly code - typed instructions, line-by-line, that convert directly to machine code, also known as low-level language Asset - an insanely broad word for computers or their information asynchronous logic - a motherboard arrangement where some logic gates advance faster than others, as opposed to synchronous logic, much harder to implement but can make computers much faster Attack surface - the possible places someone can hack a computer without credentials Attack vector - one of the ways someone can hack a computer Attention economy - the limits imposed on developers and engineers from the tremendous scarcity of the user's focus Attenuation - signal fade, usually by distance or waves going through dense materials Attitude adjustment - satellite thrusts that maintain a desired orbit trajectory Authentication - a computer labeling a user/computer as safe, meaning it'll take at least some instructions from it, uses different authentication factors Authentication factors - types of authentication: something you know, something you have, and something you are Authoritative DNS server - a DNS server that hosts the first record of a domain, typically the location referenced by someone paying to register that domain. Autocomplete - a small searching algorithm that fills in the remainder of a text input field Autofocus - setting the default input on a screen to the first text field for the user's convenience Automation - completely computer-run tasks, often only requiring a person to run a command Autoscroll - a command that scrolls the window to somewhere on the screen, very useful if there was an error message after form submission AV - autonomous vehicle, a car that contains automation for at least some parts of operating the vehicle ## B Back-end - refers to the data management, non-visual side of a computer Backbone - networking concept of keeping a relatively high-speed network that the lower-speed client computers can connect to Backdoor - a design feature by the designer to make something easier to access than the end-user could guess Backlight - a light on the back of a screen meant to illuminate pixels Backwards-compatible - broad term for technology that works with older technology (e.g., a DVD player that plays CDs) Backup - a copy of a set of files, worth doing routinely to avoid losing data Barcode - a computer-readable code inspired off Morse code represented by vertical lines Base-2 - counting in binary (e.g., 0, 1, 10, 11, etc.), rather than our normal base-10 counting (e.g., 1, 2, 3, 4, etc.), tends to convert to multiples of 2 (2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, etc.) Base case - the function in a recursion that allows it to exit Battery - a means of storing electrical power (typically as DC power) Baud - 1 bit per second, a measurement of network speed Beggarware - software that's freely licensed, but asks for donations to continue helping the developer Benchmark - measuring the performance of computer components, great for break-fix diagnosis and making your computer faster, though better benchmarks don't always equal better performance for many, many reasons Bézier curves - special parametric curves that reproduce the types of curvature found in nature Beta - the nearly complete, almost-debugged version of a program, which can often perform normally, but often fails in edge cases, the software version of a working "prototype" BHO - browser hijack object, an exploit that takes advantage of older Internet Explorer browsers Big O notation - The worst-case scenario of how much time or memory an algorithm will take (longest time/memory use) Big Omega (Ω) notation - The most typical scenario of how much time or memory an algorithm will take (average time/memory use) Big Theta (Θ) notation - The best-case scenario of how much time or memory an algorithm will take (shortest time/memory use) Binaries - files that aren't text, generally refers to compiled programs more than strictly data Binary - 0 or 1, no debate or implication allowed, the numerical basis of all computers' logic and processing, in contrast to denary Binaural processing - audio processed to reflect the relative location of the user, most common in VR and most modern games Biometric - a measurement of biological information, typically refers to authentication BIOS - basic input-output system, a simple system on the motherboard that activates when first booting, then hands off responsibility to the CPU and simply follows instructions afterward, UEFI has largely replaced it Bit - one 0 or 1 inside a computer, can be scaled to kb, mb, tb, pb, etc. Bitrate - the sampling rate per second multiplied by the sampling depth, often represents as kilobits per second Black-hat hacker - aka "black hat", a hacker who doesn't honor ethics Blacklist - mark a MAC or IP address as unsafe, opposite of whitelist Block - a primitive of file management that represents a fixed amount of memory Blocking - a keyboard not registering any further pressed keys past the n-key rollover, opposite of ghosting Blockchain - a data management system that uses decentralized ledgers to create a chain of custody Bloom - aka diffusion, a camera artifact where a light source washes out other elements in the display Blue Team - the team who employs a cybersecurity implementation and installs it, contrast to Red Team BMC - baseboard management controller, a separate CPU built into server motherboards to monitor what fails, just in case the CPU failed to monitor it, honors the IPMI (intelligent platform management interface) standard Body - aka payload, the relevant information in memory that's not part of the file's/packet's header Body text - text that constitutes most of the information on an interface Boolean algebra - logic-based math, where everything is 1 or 0 and there are special calculations using those numbers Bootcamp - an accelerated course for learning how to program a computer Boot - where a computer "pulls itself up by its own bootstraps" when you activate the power button Bot - hidden malware that won't activate until later, often triggered remotely, or the term for AI that takes the role of a human player in a multiplayer game, or the term for a piracy-based script Botnet - a network of bots ready to act on command, often used in a DDoS attack Bounce - SEO term referring to visiting a website, then leaving it without visiting other hyperlinks in it Branching - a feature in programming where conditional jumps create separations of where the flow of logic will possibly go, may also refer to memory block states or alternate software versions Breadboard - a construction base for building prototypes of low-speed electronic circuits, doesn't require soldering and is completely reusable Break-fix - a technology contract that gives a fee to fix when something is broken, contrast with managed services Breakpoint - a visual design rule that defines what size the interface should change to something else Brick - to permanently crash a computer, often because of hardware-based DRM mixed with an attempt to hack it Broadcast address - a reserved address that, when used, will broadcast to *every* address on that network, in contrast to unicast address Brute-force attack - password cracking by running through every possible password, extremely time-consuming and easily detectable over a network Bubble sort - a sorting algorithm that repeatedly compares each database entry with the next ones and swaps them if they're out of order, the simplest sorting algorithm but also the most time-intensive Buffer - a temporary location for holding data Buffer overflow - an exploit that involves overloading the buffer with useless information to access memory that exists beyond it Bug - an error in computer code that makes something break Build - the process of converting computer code into binaries for the computer to use it Build system - the system that makes the build Bus - aka data highway, a part of a computer that sends a stream of information between parts. Byte - 8 bits inside a computer, can be scaled to kB, mB, tB, pB, etc. *or* to kiB, miB, tiB, piB, etc. ## C CA - aka certificate authority, an organization that issues digital certificates to authenticate a computer's permissions Cache - information stored to make it easier to use later, a solution to the memory hierarchy CAD - computer-aided design, a very broad class of software that helps design things such as 3D models and visual elements on a website Call - an instruction that points to something stored in memory previously, a type of reference that's a bit like an arrow Callback - a function in code that feeds backward in time into another function, effectively making the other function hung until it returns a value Callback hell - many callbacks that slow down code and make it difficult to understand Canonical - a standardized input format that's the "right" way for the computer to understand, often specific in [technical documentation](language-writing-documentation.md) Capacitor - two surfaces close to each other separated by an insulator, a means of holding a charge for future use (such as memory) Captive portal - a proxy server that blocks access to the rest of a network until a user does something, often involves consenting to [Terms of Service](people-contracts.md) Carry - the product of a half-adder, the leftmost number of adding, like the carry of normal algebra but used *way* more often in binary CD - Compact Disc, stores binary information in a removable media disc by reflecting laser light, typically read-only, modern iterations are DVDs (digital video discs) and Blu-ray (which uses blue-wavelength lasers instead of red-wavelength to store more information) CDN - content delivery network, a network configuration where nearby computers save cached copies of mainframe data to make accessing it faster across long distances Cel shading - a graphics technique of stripping down a color palette into clearly defined colors, which gives a timeless cartoon-like feel to the elements Cell - a predefined zone where a cell tower operates, as a cell phone moves around the cell tower hands off the connection to an adjacent cell Cell phone - a phone that sends and receives signals with a cell tower Cell tower - a communications tower that relays information to other towers in adjacent cells or to landlines Cellular network - a network of cell towers that a cell phone uses Centralized ledger - where one computer has priority on the record of changes it's making, in contrast to distributed ledger Certificate - relatively long-term credentials among computers that last weeks, months, or sometimes indefinitely CGI - common gateway interface, a set of standards that allow a server to run a program remotely Chain of custody - aka provenance, a sequence of historical events, typically refers to blockchain Changelog - aka release notes, documentation for technical people to read that summarizes changes that happen between versions Channel - designated streams of independent information, can refer to radio frequencies or sound, signals from neighboring channels may bleed over Character - a data type of one piece of text information, represented by a number (typically as Unicode or ASCII) Checksum - a method of verifying a large block of data with a small block, often by adding up the 1s together to create a "check sum" that another computer can verify on the other side Chipset - the baked-in circuitry built into a CPU or printed circuit board Chromatic aberration - aka spherochromatism, a camera artifact where the lens refracts light differently from its focus, which makes the light change hue depending on where it was focused CIDR - classless inter-domain routing, a system to demarcate classes of IPv4 addresses Cipher - a key that encrypts or decrypts Ciphertext - encoded computer information, often looks like gibberish in a text file, in contrast to plaintext Circuit board - a prefabricated silicon board designed as a framework for electrical circuits CISC - complex instruction set computer, a computer architecture designed to use complex instructions, meaning less code and more processing per command, in contrast to RISC Class - short for classification, refers to a portion of the whole, can be synonymous with folders or types depending on its use Clause - (mostly) optional elements to add to a function, applies especially to SQL Cleaning - a data term for making a consistent dataset (e.g., converting "John Smith, Marksmith, Diane Johnson" into "John Smith, Mark Smith, Diane Johnson") CLI - command-line interface, aka terminal or command prompt or console, a simple interface that only takes text input and almost always only outputs text Client - the application in a host-client network relationship which is requesting data, can sometimes *be* the host (especially with a VM) so it's not always with 2 computers Clipboard - a memory buffer for holding temporary computer information, part of most GUI OS's Clock - the way a computer keeps track of time, using a CMOS powered by a rechargeable battery and based on each back-and-forth of an oscillator, typically measured in Hz Clock cycle - one measure of discrete time, measured using a clock on the BIOS Clone - software term for "copying", usually large-scale Closed-source - the source code of a software program is inaccessible to the public, in contrast to open source Cloud - remotely accessible computers, often meant for enterprise use Cluster - a small computer that runs on a clusterboard as part of a distributed system Clusterboard - a motherboard for a cluster CMOS - complementary metal-oxide semiconductor, typically used for computer clocks and BIOS settings CNC - computer numerical control, the system that gives precise numerical instructions to a computer for a physical implementation Code as law - a legal concept that computer code is legally binding, regardless of the intent of the programmer Code base - the non-plugin, non-feature-added primitive of software code, contrasts to the database Code page - a reference table that creates a symbolic association between text characters and numbers for computers to work with, often tends to be ASCII or Unicode nowadays Code point - a designated spot where computer code is located Codec - short for compressor/decompressor, a proprietary media standard, often refers to audio or video Cold storage - holding computer information in a relatively unsynced drive, opposite of hot storage Collision - data that confuses the computer because it was sent at the same time Collision detection - a system designed to detect a collision Colocation - aka colo, a server that can use its computes and storage for multiple users Color space - an arbitrarily established barrier for a range of represented color, is typically bounded but can be unbounded Color temperature - a tweak to the domain of color represented by a screen, with the colors representing as either cool (blue-leaning) or warm (red-leaning) Combinational logic - where a computer performs logic calculations instantly, rather than sequential logic Combinatorials - aka combinatorics, a branch of math that deals exclusively with the broad concept of counting things, constantly involved with computers because that's all that they technically do Command - input that a computer receives and does something with Comment - documentation within code but can also be unused code by "commenting out", about as important as computer code itself for future programmers who may need to modify it Commit - to send an update to computer code, typically referring to Git Common case - a typical situation, usually referring to the input elements that a typical user would use, opposite of edge case, important to understand for debugging purposes Compiler - computer code that converts high-level programming language into assembly or machine code all at once (often before runtime), in contrast to interpreter Complement - a math idea that implies that there's a wholeness of something, and then the complement of something is the other part of it (e.g., if A+B=C, the complement of A is B) Composite - combine together Compute - enterprise-grade computer term for CPU Computer - a machine that performs [logic](logic.md) and [math](math.md) based on what people command it to do Concatenate - combine multiple strings together (e.g., ABC and DEF becomes ABCDEF) Conditional jump - aka branching, an instruction in code that will tell the computer to jump only if a specific condition is met, absolutely critical to permit computers to work correctly, in contrast to unconditional jump Configuration - settings on a computer, starts with a default setting but can often be changed to something else Configuration/settings - broad term for various defined instructions in a computer, reverts to default settings with new software/hardware Connectionless communication - aka CL-mode, the status of a packet transfer where the only routing information comes from inside the packet Connection-oriented communication - the status of a packet transfer where the computers have to first establish a connection Constant - a math concept of something that's fixed, usually refers to very specific numbers in math but can also be letters in programming, opposite of variable Container - aka endpoint, an instance or box inside a virtual machine hypervisor Content negotiation - mechanisms in the HTTP protocol that make it possible to serve different version of a resource from the same URI (e.g., different languages) Continuing education - learning without specific certifications or projects in mind, a necessity for knowledge workers Continuous integration - regularly merging work from multiple software developers Continuous time - the regular flow of time without breaking it up into segments, rather than discrete time Continuous wattage - evenly fed power through a power supply Convention - something everyone has been doing, often becomes a standard but doesn't have to be Cookie - a file that a host saves on a client computer, typically for web browsing purposes Copy - duplicating computer code, rather than moving Copyleft - the legal requirement to keep created works completely free, such as code, in contrast with copyright or permissive license Copyright - the legal right to profit from written works, such as code, in contrast to copyleft Core - one processor on a CPU's chipset, can be dual-core, quad-core, or more CPU - central processing unit, the component that performs most of the computer's [logic](logic.md) and [math](math.md), can have one core or multiple, often has L1/L2/L3/etc. cache memory in the chip, an implementation of an ISA CPU socket - the place on the motherboard for inserting a CPU, arranged as LGA or PGA Crack - breaking or removing DRM on media or software Crash - broad computer term for failing, often refers to OS failure but can also refer to a network Critical path - the core gameplay experience of a game CRC - cyclic redundancy check, a mathematical means of checking [Boolean math](logic.md), often part of an FCS Credential - something that a computer uses to authenticate a user/computer, is often a password but can be various things Critical consensus - where all the blocks in a blockchain are synchronized CRM - customer relationship management, software designed to manage a company's [marketing](marketing.md) needs Cross-platform - software that runs on multiple platforms Crosstalk - conflicting signals, an annoying byproduct of Wi-Fi and UTP CRT - cathode ray tube, a type of screen that involves shooting 3 beams of light at a fluorescent screen and routing the lights to get the desired intensities Cryptocurrency - aka crypto, blockchains that are used as a currency or commodity Crypto wallet - software meant to make managing cryptocurrency more sane CSE - custom search engine, a custom-made search engine configured to search specific things, such as a particular set of websites CSS - cascading style sheet, a language that visually styles information, usually pairs with HTML and often activates with JavaScript CSS reset - changing the default CSS style to conform to a designer's preferred style Cursor - An indicator to show where the user input is pointing to on a screen, tends to angle rightward because [expectations](imagination.md) are difficult to break