# 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](mind-neurodivergence-autism.md), 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.