# 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/) ## # 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](/documentation/) 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](https://notageni.us/contracts/) 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 ## D Dark mode - a color scheme that emphasizes darker colors, typically useful for users in darker rooms but is strictly a matter of preference Dark pattern - UX/UI tricks to motivate users to perform differently than they otherwise would have decided Dark web - the parts of the internet that aren't indexed by search engines, typically implies illegal activity Data - information, plural of datum, can classify into various data types Data center - a large set of enterprise-grade computers, often run by companies that sell storage or compute power Data structure - a collected form of data Data type - the form of the data which can include integers, boolean, floats, doubles, strings, characters, and more Database - a collection of data structures that assemble into a clearly defined order Datagram - data telegram, a network packet that cuts down on extra data transmission by not requesting a reply from the receiving computer DAW - digital audio workstation, a software system specialized for working with audio DC power - direct current electricity, where the electrons are traveling in a domino-effect cascade from one point to another DDoS attack - distributed denial-of-service attack, blasting a target computer with an ocean of network requests at once from many computers, typically uses a botnet, aka DoS attack. De-encapsulate - prepare data that's coming in, opposite of encapsulate Deallocation - putting something set aside back in with the collective whole, opposite of allocation Debrid - a hosting arrangement that torrents from multiple seeders, then provides a direct download link for the user Debugging - getting rid of bugs in the computer code Decrypt - to decode data with a key, opposite of encode Dedicated - a broad term to refer to a computer resource completely allocated for a specific purpose Dedicated plan - a pricing plan that directs specific hardware for customers who need it, opposite of shared plan Default - aka out-of-the-box, the normal configuration without any extra input, sometimes called "vanilla" or "stock" Definition - a value in code, can be things like an integer or a function Demosaicing - Converting color information into pixels by filling in the gaps between a camera's color sensors Demultiplexer - a logic gate where one set of inputs is a selector to determine which output the input will travel to Denary - 0 through 9, the base-10 system we learn from grade school, has to be converted to binary for computers to work with it Denormalize - make a database have a shorter read time, but have more redundant records, opposite of normalize Dependency - computer code that's necessary to run something else Deploy - install software or hardware Deprecated - technology that's no longer being maintained Depth of field - the nearest and farthest range that a lens can clearly focus at one time Determinism - a philosophy that things are pre-planned, and a standard for making computer programs (especially games) behave predictably Device controller - a specific-function chip designed to manage the specific tasks pertaining to various peripherals Device driver - instructions to the computer on how to run a peripheral, while most operating systems have built-in generic drivers the vendor's drivers will often work better or have more features DFF - data flip-flop, a stopping point in between logic units, where the electron data migrates to and stays in between clock cycles DHT - distributed hash table, a distributed system where the lookup, in the form of a hash table, is distributed as well Dialogue tree - a flowchart of written dialogue to capture the various responses in a game to various player decisions Diary testing - gathering anecdotal information about an interface from the users as they experience it Dictionary - aka "associative array" or "map" or "symbol table", an array that uses a key/value pair to cross-reference a value to a specific key Dictionary attack - password cracking by running through all possible words, doesn't work if there are numbers in it Digital certificate - an authorization by a certificate authority that indicates a computer automatically has permissions for a fixed window of time into the future Digital signal - a logically divided signal that represents a black-and-white measurement, the opposite of an analog signal Digitizer - something that converts an analog signal into a digital one, often refers to a touch screen Diode - an electrical component where electricity only travels in one direction, critical for many circuit boards Discrete time - breaking time apart into clearly defined blocks, instead of continuous time Disk partition - a region of a drive, generally separated to keep different file systems separate, the record of the partitions on each drive is stored in the MBR (master boot record) at the beginning of the drive or has an entire convention arranged across the drive with GPT (GUID partition table) Disk partition table - a mapped database of primary partitions on a drive, located inside the MBR Distance-vector routing protocol - a protocol that counts the length of time between points and picks the route with the shortest distance, contrast to link-state routing protocol Distributed ledger - a distributed system for the record of changes, contrast to centralized ledger Distributed system - several computers sharing resources together, typically meaning it's for one purpose, rather than a network which can have various purposes Distro - short for distribution, refers to a software version, but most often refers to varieties of Linux Dithering - randomizing the quantization of a signal to avoid patterns arising and disrupting anything Divide and conquer algorithm - a sorting algorithm that breaks up the entire dataset into chunks, then organizes each chunk, then organizes the entire set using the organized chunks DNS - domain name service, a web server that keeps a constantly updated cross-reference between domains and IP addresses, operates as a directory to the internet DNS zone - a portion of DNS that specifies a specific part of the DNS Dock - a GUI element that hides away until activated by a smaller element DoH - DNS over HTTPS, ensures that the computer looks up all its DNS through a secure network port Domain - aka web domain, a name (e.g., something.com) in a system maintained by ICANN that makes internet access easier than entering IP addresses Doppler shift - a known scientific phenomenon where wavelengths compress or expand relative to a perceiver when they're traveling at a different speed than the sender, necessary for satellite information Double - a data type that holds decimal places up to 64 bits (1.844674407×10¹⁹ combinations) Downsampling - lowering the sampling quality, usually for memory or network reasons Downtime - the time that a computer is continuously off, in contrast with uptime Drive-by download - also called simply "drive-bys", malware that installs through a dodgy website DRM - digital rights management, software, or code meant to enforce [intellectual property rights](ip.md) Driver - a set of instructions for a CPU to operate a peripheral Drop shadow - a graded color element that implies a lightweight shadow beneath an element. Dropped packet - a packet that somehow failed to get to its destination correctly DTH - direct-to-home, another term for satellite television Dual-pointed variables - where a variable is pointing to another variable Duplex - data transmission that's two-way, can be half duplex (one way at a time) or full duplex (both ways at the same time), in contrast with simplex Duplex print - printing onto both sides of a piece of paper DVI - digital video interface, a relatively newer pin-based plug for sending video information ## E Easter egg - an unimportant small detail or element that's an entertaining reference from the developer about something else (e.g, a Star Trek reference in a side room in a game) ECC - error correcting code, computer code meant to verify that the information was stored/retrieved correctly, typically includes a checksum Edge case - an extreme situation, usually referring to abnormal circumstances, opposite of common case EEPROM - electronically erasable programmable read-only memory, can hold relatively smaller amounts of non-volatile data than a hard drive or RAM, similar but not the same as flash memory (NOR gates instead of NAND and meant to be mostly read) EFSS - enterprise file sharing and sync, large-scale cloud synchronization Electricity - the energy caused by many electrons flowing between atoms, the means of almost anything with computers Electrostatic interference - interference of electrical signals from other electrical signals Element - a piece of something designed, often refers to visually designed things, can also refer to a mathematical value Empty state - a database entry that has no information in it Emulator - software designed to reproduce the conditions of a different hardware to make *other* software run correctly (e.g., make Linux run on Windows) Encapsulate - prepare data to go out, opposite of de-encapsulate Encrypt - to encode data using a key, the opposite of decrypt End user - the non-technical person using the product End-of-life - end support for an outdated software version, often because the developers are focusing on a newer version of the same software End-user license agreement - the software [contract](contracts.md) given to the users who consume the software Endpoint/Terminus - the place where something is supposed to go, usually used in networking and enterprise computing Engineer - to design something technical, often for a specific purpose Enterprise server - large-scale computer meant for massive operations Entropy - a physics term referring to randomness, but refers to [uncertain](understanding-certainty.md) aspects of a computer's input, especially regarding machine learning Enumerated type - a data type consisting of set values that operate as constants (e.g., SHIRT may have hat, coat, pants, and glove) Environment - a configuration, often used to imply a specific technology (e.g., cloud environment) Error - whenever a computer doesn't fulfill the predefined purpose of the programmer or user Ethernet - LAN protocol designed in the mid-1970s, the only surviving LAN protocol EUV - extreme ultraviolet lithography, a silicon chip-making technique of spraying tin with a 25-kilowatt UV laser to turn it into a gas, then blasting it a second time through a series of mirrors onto a silicon wafer Exchange point - routing mainframe data for an end user Execution - when computers run code as a set of instructions Exit point - a clearly designed UX element that clarifies the user can safely leave Expansion slots - places on the motherboard for adding stuff like graphics cards and sound cards, typically uses PCI (peripheral component interconnect) Exploit/Vulnerability - a portion of computer code/interface that a hacker can use to gain access that would otherwise be impossible External media - removable memory, such as a USB stick or CD ## F FAANG - the private publicly traded technology companies Facebook, Apple, Amazon, Netflix, and Google, an enormous consolidation of power that goes farther than the Roman Empire in many respects False negative - a missed hit on a scan that should have hit False positive - a hit on an incorrect scan (e.g., spam email filter) Falsy - a data value that has nothing in it and expresses to FALSE, opposite of truthy Fault tolerance - the ability for a computer or network to keep working even though something failed in it FCS - frame check sequence, ECC put into the trailer of a frame FDM - fused deposition modeling, the standard implementation for 3D printing since it was invented in 1988 Feed - a social media system that involves date-sorted data entered by a user Fetch-execute cycle - the CPU's basic repetitive cycle of fetching instructions from memory, then executing them Fidelity - the quality of a copied visual element Field - a place in a table that holds data, typically part of a record/row in an RDMS Filament - a thin layer of melted plastic File - a block of information on a computer, not always physically together in the same place but logically looks that way in the operating system Finite state machine - a mathematical model to clarify the status of information at any given time, often represented with flowcharts Firewall - software designed to prevent hackers from accessing a computer Firmware - software that runs hardware directly, often for BIOS/UEFI but also a significant portion of updating smaller personal electronics Flash drive/Memory stick/USB drive/Pen drive/Thumb drive - portable long-term storage that uses flash memory Flash memory - long-term storage that uses semiconductors to activate and deactivate cells inside the memory unit, similar but not the same as EEPROM (NAND gates instead of NOR and meant to be read and written frequently) Float - a data type that holds decimal places up to 32 bits (4,294,967,296 combinations) Floppy drive - old form of removable media because the disk was floppy, used to be the *only* way to store information between power cycles FLOSS - free/libre open-source software, a catchall term for software that gives complete freedom, in contrast to the more vague FOSS Flow control - redirecting where a computer next reads instructions from, using conditional and unconditional jumps Folder - an imaginary box inside a file system that arbitrarily divides out files, permits easy organization as well as the ability to name multiple files the same name by placing them in different logical locations Font - a particular style of text, such as Times New Roman or Helvetica, can be monospaced or proportional For loop - a function that allows iterations of itself (e.g., for x=1 and y=5, add 1 to x and do something, and in this case, repeat until x=6) Fork - a variation of a program that shares at least some of its code base Form factor - the industry-standard size and shape of something Forum - a commenting system that allows nested comments, meaning users can have in-depth topics grouped around comments of other topics. FOSS - free and open-source software, a vague term referring to any free software, in contrast to the more specific FLOSS FQDN - fully qualified domain name, aka absolute domain name, a complete domain name that isn't relative to the current place on the network Fragmentation - when files are spread across non-consecutive blocks on a drive Frame (networking) - a Layer 2 PDU, assembles into packets Frame (screen) - one instance of a screen, usually measured by frame rate Frame relay - relaying frames in a network along to another network node Frame rate - the number of frames per second (FPS), tends to be 59-60 in modern computers, but can go higher and will go *much* lower if the computer is burdened Freemium - a business model of selling a stripped-down software with fewer features, with the chance to upgrade to paid software with more features, the evolution of shareware Front-end - refers to development and design of the visual aesthetic of a computer Frontrun - a financial term involving sending an insider-trading transaction before the legitimate transaction can move, applies to cryptocurrency Full-adder - the means of doing binary addition, two half-adders with both the carries inputted to an OR gate, can be scaled indefinitely Full-scene - a software restriction where an image must be entirely processed before antialiasing can remove the jagged edges Function - a set of instructions that's supposed to do 1 thing based on possible definitions, then deliver 1 output, borrows from the math idea of a relationship between fixed and variable sides of an equation Function hoisting - moving the definitions of a function upwards in the code to make the computer read them more quickly ## G G-code - a programming language that operates CNC Gain - an antenna's capacity to broadcast, which combines its direction and power Game - narrowly, a competitive activity where players compete to accomplish a specific condition based on a set of rules, but broadly anything designed for entertainment that users interact with Game developer - a software designer who makes games, broadly classifies into "indie developer" (teams that never get past a few dozen) and "AAA developer" (a multi-million-dollar organization with at least a few hundred developers) Game mechanic - a feature within a game Gameplay loop - a hot-and-cold habitual cycle that a game runs most of its action through Ganged RAM - RAM that has been "ganged" up together, so two channels of 64-bit RAM becomes 128-bit RAM, not as fast as independent channels because those separate channels can go to multiple cores Garbage collection - general programming concept for freeing up memory after it's no longer needed, critical for long-term software development Gateway - a device that connects to the internet at large, typically has 2 IP addresses Gateway device - a combination device that's a modem, router, and often a telephone adapter that pulls double-duty for routing network traffic and connecting to the internet General-purpose computer - a machine that performs [logic](https://gainedin.site/logic/) and [math](https://gainedin.site/math/) based on what people command it to do, and it can be easily reconfigured Geolocation - geographical location, a numerical depiction of location coordinates Ghosting - pressing multiple keys in a way that further keys are incorrectly read as pressed, often limited by a keyboard's n-key rollover Git - a very popular version control system GIS - geographic information system, a map software for managing geographical data, often allows interfacing and layers of information Glue record - a DNS resource record that helps prevent a circular reference when finding DNS records. GPL - GNU General Public License, an extremely permissive copyleft legal framework for distributing code Geolocation - computer information about geographical location GNSS - global navigation satellite systems, a meta-concept referring to GPS and other related systems for satellite-based navigation Gorilla/monkey testing - testing by using incompetent behavior to see what happens Gouraud shading - using interpolation to create a continuous shading of polygon surfaces Gradient - a designated front-end color range typically selected to evoke a particular mood Guerilla testing - testing by going to public places to see how others respond to it GPU - graphics processing unit, a CPU dedicated for graphics-based things GPS - Global Positioning System, a system designed for determining your location on Earth Gradient - a photograph that smoothly transitions between at least 2 colors Graphics card - dedicated memory and GPU for [graphics](graphics.md)-based needs, often comes baked onto the motherboard but is the most common expansion slot attachment Green screen - capturing a video on a green/blue background with the person having clearly demarcated color indicators, allows computers an easier time to capture movement between frames GUI - graphical user interface, a visual representation for users to interact with, typically displays on a screen ## H Hack - a useful method that operates outside something's intended purpose Hacker - someone who uses something outside its designed/intended purpose Half-adder - a logic gate that adds two bits and contains a carry Hamburger menu - a symbol most prevalent in mobile design that usually consists of 3 horizontal lines parallel to each other or 3 consecutive dots that open to a larger menu when selected Hard drive - long-term memory attached to the motherboard, comes in SSD and HDD, used to be opposed to floppy drive Hardening - cutting down on computer vulnerabilities by removing access to unused features/ports/code Hardware - physical parts of a computer like the RAM or hard drive, physically exists as contrasted with software Harvard architecture - a variation of the von Neumann architecture, where programs and data are stored separately in memory, most modern computers use various hybrids of both Hash - aka message digest, an encrypted line of code produced from a key on a message Hash function - computer code that creates a fixed-length hash from unencrypted data HCI - human computer interface, a design philosophy built around how people interact with computers, has been largely replaced by UX HDD - hard disk drive, an older method of storing binary information using magnets on plates, one of the cheapest ways outside of tape drives to store lots of information Header - supplemental data at the beginning of a file or packet that isn't part of the "body" of main data, used for [storage](computers-memory.md) or [network transmission](networks-computer.md) reasons, contains metadata Heading - text designed to clarify a section of text Heap memory allocation - memory assigned by an operating system as public-access to all programs, opposite of stack memory allocation, can cause memory leaks Heat map - a map overlay that indicates colors ranging from blue to red to represent differences in values Hertz - one cycle of something, represented by Hz, can scale up by the thousands with Hz, kHz, MHz, THz, etc. Heuristic - a good-enough rule of thumb HDMI - high definition multimedia interface, a plug specifically designed for sending video information, sometimes with audio included Hexadecimal/Hex numbering - a means of communicating 4 binary numbers by using 0 through f, then putting 0x in front to clarify what it is (e.g., 0010100111010100001001100111 becomes 0x29d4267) Hierarchical file system - a method of separating files with a hierarchy (C:\file.txt versus C:\Documents\file.txt) High-level language - typed instructions that can perform many lines of assembly code at once HMD - head-mounted display, aka VR headset, a helmet I/O that combines a screen, location-tracking, and often wireless signals and input devices Hop - jumping between nodes, refers to internet connections and the routing information protocol (RIP) Host - aka server, the application in a host-client network relationship which is sending data, very often does more of the heavy processing activities because it's often a supercomputer Hot spot - a camera artifact where one part of the image is more exposed than another part, washing out its contrast by comparison Hot storage - holding computer information in a frequently synced drive, opposite of cold storage HSA - heterogeneous system architecture, where software inside the CPU manages everything between cores instead of requiring software developers to juggle resources, nonexistent in Intel CPUs HTML - hyper-text markup language, the displayed language that most internet content expresses through, usually pairs with CSS and changes with JavaScript HTTP - hyper-text transfer protocol, the common language for most internet browsing, has a secure version called HTTPS Hub - a network repeater that sends information to *all* the cables connected to it, contrast to a switch Hung - the state of a function waiting for a callback function Hybrid - a combination of two things (e.g., a hybrid interface is mixing Interface A and Interface B) Hyperlink - also called weblink or simply a link, a text-based association to another resource on a network (usually a webpage), always has display text and an "href" (e.g., [this site](stucky.tech/notes) in Markdown or [this site](https://stucky.tech/notes) in HTML) Hypervisor - software designed to run virtual machine containers, can be Level 1 (BIOS-level) or Level 2 (OS-level) ## I I/O - input/output, a common identifier for most computers since some peripherals serve both purposes IC - integrated circuit, a computer chip built into a circuit board ICR - intelligent character recognition, aka intelligent OCR, a more advanced form of OCR that uses a trained machine learning model to identify text IDE - integrated development environment, an all-in-one solution for programmers to write, debug, test, and compile programs IDF - intermediate distribution frame, a large-scale network hub, often located in another room, designed to assist the MDF Idempotent - a resource that, if used multiple times, will create the same consequence as if it were used once (e.g., submitting data 3 times creates the same result as submitting it once) Identity - in computer science, where the data type isn't swapped out before testing whether two data elements are the same, represented by ≡ Idiom - an algorithmic structure that syntax builds into IDS - intrusion protection system, software that detects that intruders are/were hacking a computer, contrast to IPS If loop - a function that only activates if conditions are met (e.g., if x=1, do something) Implementation - the way a thing gets applied, instead of an abstraction In-band - inside a natural hardware environment, often remotely, contrast to out-of-band Incrementer - a logic gate that adds 1 every time it's activated Indie game - independent game, a game with a modest or nonexistent production and marketing budget Information architecture - a structure that informs people where they are in an interface relative to everywhere else Initialize - to begin with a value, such as a variable Input - anything that goes into a computer, from typing to information from other computers Input mask - database entry constraints for the user typically as either text-only, numbers-only, or a set limit of characters Insertion sort - a sorting algorithm that repeatedly compares each database entry with the previous ones and places them where they fit in the middle of the already-sorted data, takes half the time as bubble sort Integer - a whole number with no decimals Integration - things that are intimately connected with each other Interface - the designed thing that lets a person/computer interact with a computer, called an API if it's for a computer Internet - the world's largest computer network, connecting most of the computers across the world into one complicated super-network Interoperability - different things work together Interpolation - a mathematically established approximation given other multiple known points Interpreter - computer code that converts high-level programming language into assembly or machine code line by line (typically during runtime), contrast to compiler IoT - Internet of things, every device, even special-use ones, has an IP address, creating tremendous opportunities as well as [cybersecurity](computers-cysec.md) risks IP - internet protocol, the standard for networking across the internet, can also refer to [intellectual property](ip.md) IP address - a numerical label a computer needs to communicate on the internet, can be IPv4 or IPv6 or both, can be a public IP address (for the internet) or private IP address (for a local network) IPAM - IP address management, software that tracks and gives updates on IP addresses (usually local network IPs) IPC - inter-process communication, information stored to communicate between various operating system tasks IPMI - intelligent platform management interface, a software designed to track many components across a distributed system, often out-of-band IPS - intrusion protection system, software that stops intruders from hacking a computer, in contrast with IDS ISA - instruction set architecture, an abstraction that involves taking instructions and following them carefully, most popular implementation in the CPU ISP - internet service provider, an [organization](groupslarge.md) that provides internet service Iteration - a repeatable, simple task IWR - intelligent word recognition, an advanced form of ICR that can parse entire words instead of simply characters ## J JavaScript - a scripting language that drives the internet alongside HTML and CSS Journaling - file system programming that keeps a record file in long-term memory of tasks the CPU still has to do, very useful if the task is interrupted and can't continue Jumbo frames - frames that exceed the MTU, usually involved with getting faster speeds from virtualization Justified - aligning text by adjusting the kerning to where *both* the left and right sides are aligned ## K Kerning - the space between letters Key - can refer to an associative array's reference, a physical button that corresponds to a character, or a code that encrypts/decrypts data Key/value pair - matching values to a unique number, used in an associative array and in most databases Keyboard - the primary input for most general-purpose computers, typically has a QWERTY layout based on typewriters from the past, sends electrical pulses to memory Keyboard debouncing - using a fix to prevent key bounce Keyboard matrix - a circuit board diagram that maps keyboard keys to corresponding signals Key frame - a method of feeding graphical information on a percentage scale for several states, then the computer seamlessly transitions from one to the next, an easy method for animation in web design Keylogger - software that tracks keystrokes, can be user-installed or malware Keyword - specific words that create language associations for users Key bounce - a situation when a key is registered multiple times with one key press Kill chain - a hacker's necessary sequence to successfully send a payload through an exploit Killer app/feature - software or a feature that is so remarkable that it justifies buying the computer just for that thing alone (e.g., Microsoft Office at one time) Knowledge worker - a person who works with software, typically refers to developers Known good - a diagnostic term referring to something that is proven to have worked recently, since many new parts can be defective and configurations can frequently change KPI - key performance indicator, a measurement that management often uses to define success ## L L2TP - Layer 2 tunneling protocol, a core component of how VPNs work LAN - local area network, smaller computer networks, in contrast with WAN, Ethernet is the only surviving protocol for it Lang - short for "programming language", a defined set of possible instructions a user can pre-define for a computer Latency - delay, usually referring to network speed or memory transfer LCD - liquid crystal display, a type of screen where each pixel's light intensity of all 3 colors is dictated by rotating crystals and backlit by a fluorescent lamp Leaderboard - an internet high score system for games LED - light-emitting diode, a small light, often used for LED screens that are like LCD screens but with LEDs instead of fluorescent tubes Leech - to receive information over a P2P connection, often refers to leeching a torrent LEGO - a fun toy that's been around a while, great to start small children on STEM LGA - land grid array, where the pins for the chip are on the circuit board, meaning the board would need replacing if the pins are bent Library - a collection of computer code that vastly expands the functionality of a high-level language, can be downloaded in entirety or specific classes of it Lidar - light detection and ranging, determining a location and distance using emitted light Line - a line of text up until it hits a return, often refers to a single instruction of code Link-state routing protocol - a protocol that counts the number of bounces between points and picks the route with the fewest bounces, in contrast with distance-vector routing protocol Linked list - a list with references at the end of each list item, an alternative to storing the list in memory Linux - an open-source Unix-like operating system kernel, can also refer to the variety of Linux distros Liquid layout - a ratio determined by a percentage inside an element or screen instead of by pixel size List - Multiple data put together, doesn't have to be the same type LLC - logical link control, a subset of the [Data Link layer](/networks/) that deals with directing information to and from various nodes, moves from media access control (MAC) Load - a logic gate selector to dictate whether a register should hold the old information or overwrite it with the new information Load balancer - an enterprise-grade software that manages processing needs across multiple computes Local - broad concept for something that's nearby, contrast to remote Lock - a GPS device successfully detecting the distance from a GPS satellite Location-based AR - aka position-based AR or geo-based AR, an AR system that requires specific location data to present information Lock file - a file that tracks that another file is getting used Lockstep networking - a P2P networking arrangement where two or more computers are matching the same state, necessary for online video games Logarithm - a mathematical formula where each additional increment is only marginally more than the previous, the opposite of exponents (e.g., log^~2~^(8)=3 while 2^3^=8) Log file - a plaintext output of runtime events, including runtime errors Logic error - a situation where a program runs perfectly fine, but outputs the wrong thing compared to what the programmer actually wanted (e.g., outputting 4 instead of 5) Logic gate - a small logic module, usually transistor-based, that specifies a flow of logic, typically driven by a NAND or NOR gate primitive Logical memory - the amount of memory a computer interprets it has, contrast to physical memory Loop - a cycle that repeats itself a lot in a computer Loot box - a game development strategy to create randomized incentives, tends to extend playtime Low-pass filter - a signal filter that only permits lower audio/video frequencies through, prevents aliasing LSA - link state advertisement, protocol that informs other computers of its linked computers Ludonarrative - the difference in a game between how the game world and the story work ## M MAC - media access control, a subset of the [Data Link layer](networks.md) that deals with labeling various nodes, moves to logical link control (LLC) MAC address - media access control address, a unique identifier for network-enabled computer parts, uses hexadecimal and often uses colons for ease of reading (e.g., 0f:4c:3b:a5:a3:d1) Machine code - binary information that computers work with, often directly translates from assembly code from a high-level language Machine learning - an algorithm designed to track a flow of repetitive trained information, then repeat back permutations of that information Magic pixels - the edge pixels of a screen, named because of their relatively easy UX compared to the rest of the screen Magnet link - a hash for a BitTorrent client to open and interpret, contains information about that torrent and its contents Mainframe - an enterprise-grade computer that often has many terminals/endpoints Malvertising - ads that direct to malicious software that are designed to look like legitimate software Malware - malicious software, designed by a hacker to destroy or steal Man-in-the-Middle (MitM) attack - a hack that involves appearing legitimate while standing in the middle of a transaction, the mobile version is Man-in-the-Mobile Managed services - a technology contract with a routine fee to keep technology running, contrast with break-fix Map - to make a link between something and something else, such as mapping a game controller button to a keyboard key Markdown - a lightweight markup language, useful for maintaining formatting elements (e.g., headings, hyperlinks) when storing things as plaintext Marker-based AR - augmented reality that displays content on top of an image Markerless AR - augmented reality that simply needs an empty space Master - aka main (now that [Leftism](leftism.md) has gotten offended at it), a dominant drive or record that has a higher importance than others, contrast to slave Matrix - a grid of data MBR - master boot record, a relatively small record placed at the beginning of a hard drive that indicates what's on that drive and what memory register to start accessing it MDF - main distribution frame, the location for most of a data center's network activity, may connect to an IDF Media - information expressed via a medium, typically refers to audio, video, and image files Media query - a set of CSS styles that activate when a property of a media is activated (e.g., min/max width/height on a screen/printer) Megatransfer - 10^6, or 1,000,000, cycles per second, measured specifically for data transfer, also known as MB/s Memory - stored information, can be short-term (like RAM) and deleted on power-off, or long-term (like HDD) and stored between power cycles Memory hierarchy - the engineering reality that you can't have lots of memory that's also fast, so there's a constant speed/amount tradeoff that visually looks like a pyramid (e.g., 5 kb @ 10,000 writes/sec vs. 5,000 kb @ 1,000 writes/sec) Memory leak - memory in that was heap allocated, but the program wasn't instructed to release it when it was finished, creates stack overflows and other weird issues Memristor - memory resistor, a relatively new component made of electric switches that hold their memory even without electrical charge Merkle tree - aka hash tree, a data structure that converts each element into a hash, then makes hashes off multiple hashes, until there's eventually 1 hash for all of it. Merge - a necessary and complicated procedure of combining code bases together, a core feature of Git Metadata - quick-access information placed in the header of a file meant to make managing the files easier without the computer having to dig through them each time Metrics - measurements Microcomputer - aka mini, an old term for a silicon-based computer, rather than older vacuum tube computers Microcontroller - affordable, cheap computers with a very limited capacity and are designed to do a relatively small set of computing tasks, often to serve a more robust computer elsewhere Microkernel - an operating system kernel architecture that has a minimalist system management that takes up less memory, contrast with monolithic kernel Middleware - software designed to be in the middle of other things MIDI - musical instrument digital interface, a standard that sends musical instrument input to time-mapped data MIDI voice - sounds mapped to MIDI inputs, which permits a musical instrument to play as an entirely different instrument at the user's preference Mining - creating a new block in a blockchain, often is *very* resource-intensive, especially with cryptocurrency MMU - memory management unit, a specialized component that connects virtual and physical memory locations, uses the translation lookaside buffer MNO - mobile network operator, the organization that manages a cell tower, compare to MVNO Modal window - a pop-out context window in design that temporarily locks out interaction with other elements Mode - a state that allows for more varieties or iterations of inputs or outputs Modem - modulator/demodulator, translates information for sending via a network, then translates back for the computer to use, usually built right into the motherboard Modular - components of something are interchangeable Module - aka subsystem, an independent piece of a larger thing Modulo operator - A math calculation represented by % that effectively returns the remainder of a division operation, not to be confused with a modulus (the entire *range* of numbers that fit in that operation's set) Monolithic kernel - an operating system kernel architecture that encompasses almost all aspects of system management at the expense of taking more memory and everything running as superuser, contrast with microkernel Monospaced font - a font that uses the same width for each character, popular in older computers and with ASCII art Motherboard - a specific printed circuit board designed to have at least a CPU, input, memory, and output Motion blur - a camera artifact caused by the aperture being open too long or an object moving too fast, a convenient way to cut down on graphics load Mount - to connect a partition to a computer for accessing, can be a hard drive or external media Mount file - a file used as a placeholder for a temporary file system, such as a virtual machine Mouse/Trackball/Touchpad - a peripheral that sends x/y coordinates into the computer using relative motion, represented by a cursor on the screen Move - either copying computer code and deleting the original, or re-linking an association in memory (such as in a hierarchical file system) MTU - maximum transmission unit, the limit of how large a frame can get, can be subverted by jumbo frames MU-MIMO - multiple-user multiple-input multiple-output, a transceiver configuration that allows the most bandwidth on a network compared to SU-MIMO or SISO MVNO - mobile variable network operator, organizations that rent out the extra bandwidth from MNOs' cell towers Multi-licensing - issuing multiple types of software license for the same software product Multimap - a data structure where the key is designed to grab more than one value Multiplexer - a logic gate where one set of inputs is a selector to determine which of the inputs will go out Multiset - a data structure that's a set, but can store multiple values of the same thing ## N N-key rollover - the maximum number of keys that can be reliably pressed on a mechanical keyboard before noticing ghosting/blocking, requires diodes so higher n-key rollover will cost more Name server - a computer in a DNS that stores a record of domains corresponding with IP addresses Namespace - a system that separates things into groups to allow the same names across multiple areas, very useful for programming Nanosheet - a panel of *tiny* transistors, also known as nanoribbon, nanowire or gate-all-around device, depending on who you ask NAS - network-attached storage, a computer designed to do nothing but keep information available on a network NAT - network address translation, converting IPs into other IPs, necessary for IPv4 when they started running out of IPs but not necessary for IPv6 Netcode - computer code that executes across a network, often refers to internet-based games Nested function - a function inside a function, extremely useful but can get complicated to follow the code (especially if there's a recursion) Network - computers connected where they can send and receive data Network edge - the closest network connection to the endpoint Network interface card - aka NIC, a device that's designed to connect to a network, can be a peripheral or built straight into a motherboard Network sniffing - using software to capture packets, can be used for hacking or for diagnostics/learning Neural network - a mechanism of machine learning that consists of a network of individual rule-defining components NFT - non-fungible token, a unique cryptographic token for something, refers to blockchain Node - very broad word for a place on a network that has connections to other things Noise floor - the minimum amount of white noise that exists throughout a recording Non-diegetic - not naturally part of the established environment, such as lighting or sound Nonce - unimportant code that's used to validate a cryptographic hash Non-validated input - an exploit that involves entering data information in a way that the computer mistakes it for code Non-volatile/Long-term storage - memory that persists in between power cycles (i.e., non-volatile), often is a hard drive or removable media, opposite of volatile storage NOP - an opcode for no operation, which basically tells the computer to wait for a cycle NOP slide - an exploit that slides data into NOP opcodes Normalize - make a database have less memory, but with a longer read time, opposite of denormalize, an alternately mean reducing data into a canonical form NoSQL - any database that isn't strictly a relational database Null - a completely blank value in memory, it's *not* a "zero" value ## O OCR - optical character recognition, software that detects [language](language.md) on scanned media OEM - original equipment manufacturer, the organization that creates the original components of a computer, can often be several organizations removed from the group that actually sells the whole computer OLED - organic light-emitting diode, the next technological evolution of the plasma screen, not at all associated to LED screens despite the name OMR - optical mark recognition, informally called scantron, a method of computer input that involves reading marks on a paper Onboarding - the UX from first initializing software that stores configuration information and starts differently the second time onward On-prem - on-premises, having a computer that you can physically touch One-to-one correspondence - one instruction creates one machine code instruction, the major limitation of low-level languages Opacity - how opaque, or invisible, an element or color is Opcodes - operation codes, control bits of an ALU that determine which logic to run on the inputs Open-core - software that is open source, but has a proprietary implementation or front-end that isn't Open-source - computer code that's free to view and therefore modify, allows for easier debugging at the risk of losing potential profit off it, often contrasts to proprietary software or closed-source Operating system - the large system that runs the basic things in a computer, is most often Windows, Mac, or Linux in most general-purpose computers Oscillator - something that goes back-and-forth to track time, a major component of a clock OSINT - open-source intelligence, any potentially useful information or information-gathering tool OSPF - open shortest path first, a link-state routing protocol Out-of-band - outside a natural hardware environment, often remotely, contrast to in-band Output - any information the computer sends out, which could be anything from a screen to other computers Overclocking - cranking up the speed of the computer beyond the manufacturer specifications, which may make better benchmarks but might melt your processor, opposite of underclocking Overflow - the leftmost carry gets dropped in adding, a huge difference between computer math and algebra (e.g., 1000 plus 1001 makes 0001 instead of 10001) Overhead - a general concept usually referring to maintenance cost, space, electrical use, or processing power Over-provisioning - giving more resources than necessary, can be a good idea or a bad idea depending on whether you want redundancy or efficiency, opposite of under-provisioning ## P P/E cycle - a unit of measurement to determine how fast memory can read and write P2P - peer-to-peer, protocols where each node on a network is *both* the client *and* the host Package - premade, downloadable file(s) designed to install onto a computer, typically used for distributing code and programs Packet - a specifically sized string of data sent over a network, designed to reassemble into a file on the other end of a network transfer Parallax scrolling - a form of background scrolling that uses various scrolling rates to simulate an illusion that recreates the parallax effect in reality Parallel processing - using two or more CPUs to run program instructions Parallel programming - software programmed to run on two or more CPUs at once Parameter - something that modifies the scope of a variable or command Parametric curves - curves with parameters Parity - using a bit at the end of a string of binary elements to round out the result to an even or odd number (e.g., 0010100 becomes 0110100**1**, with the last number making that string of numbers even), very useful for error-checking, can also refer to redundancy in a RAID array Particle system - a modeling system to create a randomized, predictable pre-rendered range of events to simulate a real-life chaotic thing (such as a fire) Particle effect - a visual effect made by a particle system Passphrase - an alternative to a password that uses a human-readable sentence Password - a typed phrase that authenticates a system Password cracking - hacking that involves figuring out a password, nowhere near as common as before because of [encryption](encryption.md), but people still leave Post-It notes lying around Patch - a quick software update that fixes bugs or makes software safer from hacking Path - short for pathway, the relative location necessary to access a resource Payload - code designed to take advantage of an exploit Paywall - a software barrier that prevents the user going further without making a purchase PCM - pulse-code modulation, a method of encoding the sound waves of an object relative to a fixed point (i.e., the pulse becomes a code), in contrast with PDM PDM - pulse-density modulation, a method of encoding the sound waves of an object relative to other sounds before and after it, in contrast with PCM PDU (networking) - protocol data unit, a standard of measurement defined by which [networking layer](networks.md) the protocol operates on PDU (supercomputers) - power distribution unit, a big power management device that can fit on a server rack that's effectively a huge power strip with regulators to make sure all the connected cables are getting equal voltage Pentest - penetration tester, a specific form of hacking that involves finding vulnerabilities in a computer system Peripheral - something that plugs into the base computer equipment, like a computer screen or headphones, can also contextually be something built-in Permissions - aka access rights or privileges, rules that specify what a computer/user can do when using a computer Permissive license - a license that allows for-profit distribution of software, in contrast with copyleft Persistent - where a software is always running a service on a computer Persona - an artificial reproduction of a likely user, usually for UX/visual design PGA - pin grid array, where the pins for the chip are on the chip, meaning the chip would need replacing if the pins are bent Phi phenomenon - an illusion of movement we get from seeing many similar images back-to-back, with the bare minimum of at least 24 frames required Phishing - sending fake information that looks real (often in an email), spear phishing is targeting a specific person Physical memory - the physical amount of memory in a computer, in contrast with logical memory Ping - a network tool that simply checks if a computer can be reached Pipelining - the convention where operating system processes work like a factory assembly line and focus on the purpose they're designed for, allows processes to take any input the user wants and send it to any output they want Piracy - copying data that's in violation of [intellectual property law](ip.md), not to be confused with violent acts and theft in a remote location Pixel - short for picture element, one colored dot on a screen, sets up as an array to communicate information on the computer Placeholder - information in a text field that simply prompts the user to enter it (e.g., "John Doe" for the Name field) Plaintext - unsophisticated Unicode/ASCII text file, often used for log files and a quick-and-dirty way for veteran programmers to store code/notes, in contrast with ciphertext Planned obsolescence - a manufacturer's tendency to make parts of a device that break down at an approximately predictable time in the future to encourage more consumer spending, thwarted by the right to repair Plasma screen - a type of screen where each pixel is ionized mercury gas that illuminates when triggered by electricity Platform - a modular software that allows users/developers to add or remove features Plugin - optional software features or components, similar to plugging in hardware into an expansion slot Pointer - the location a call is referring to in memory, sometimes can stack into dual-pointed variables Pointer record - a DNS' pointer to an IP address from a web domain Policy - human-made security permissions Polling rate - a [statistical](math-stat.md) term referring to how often mice update their information to the computer Polygon - a complex 3-dimensional graphically rendered shape, is composed of triangles at its simplest but can have curved elements to create a vast variety of intersections Pop - read and remove information from the top of a stack Port - very context-sensitive, can apply to places you can physically plug something in or a network endpoint, not to be confused with slots Port scanner - software that checks for open ports Potting - filling a high-voltage electronic assembly with a solid or gelatinous compound to enhance resistance to shock, moisture, vibration, or corrosion Power draw - the amount of electricity that a computer is using Power supply - A device that converts AC power from the power grid into continuous wattage DC power for the computer to use for its [logic](computers-alu.md) Power user - a savvy computer user, often tends to test the limits of the hardware during normal operation Pretexting - A social engineering exploit that uses subtle appeals to reliable sources to gain a person's trust, often exploits fear Primary key - a unique and unchanging identifier in a relational database, is called a foreign key when it shows up in a separate table as the same ID Primitives - base components that can get built or incorporated into more elaborate ones Print - originally referred to the printer before screens were invented, but now applies to all human-readable output Print spooler - a queue in memory that sends output to a printer Printed circuit board - aka PCB, a plate-like board of integrated circuits (preassembled circuits) that things can plug into, which also often has various functioning parts in it, the most common example is a motherboard Printer - a peripheral that writes characters and images into flat sheets of paper Procedural generation - using an algorithm to make something, rather than manually making it by hand Process - a set of instructions that runs on an operating system (typically through the CPU), can sometimes be on multiple threads, can sometimes run indefinitely or repeatedly Product-market fit - a [marketing](marketing.md) term for whether a technology already has people who want it Production server - an enterprise server that is presently available to customers Profile page - a social media system that involves a user editing information without others' input Program/application/software/app - A set of instructions inside a computer, tends to perform as a tool for someone else who's not the programmer Program counter - a counter that helps with performing the tasks in a computer program by incrementing 1 normally each cycle when left alone or overwriting that number with whatever you want Programming - technically inputting information into a program, but informally means altering or building a computer program Proof of stake - a cryptographic concept where a computer is trusted about new information proportionally to the amount of existing information it already has, critical in blockchain Proof of work - a cryptographic concept where adding a nonce to the same data inside the hash will keep the hash the same, critical in blockchain Propagation - the state of DNS records changing to an updated record Proportional font - a font that uses character spacing relative to the size of the text Proprietary - owned by a company, often compared to open-source or public domain Protection rings - also called privilege rings or hierarchical protection domains, general classifications to protect computer information, often used in cybersecurity Port - a faithful blow-for-blow recreation of software on a different software system, usually with emulation on the back-end to reproduce the original environment Priority queue - a specific type of queue that includes a priority for each value to reference for placing into the queue Programmer - someone who creates applications/programs Protocol - a unified [standard](standards-computers.md) for how computers process data Prototype - a new thing that hasn't been fully tested or ready for manufacturing/production, the physical/design side of "beta version" Proxy server - a computer that uses its IP as a proxy for another computer, thereby hiding the IP address of the source computer from immediate detection PS/2 - from IBM's "Personal System 2", a largely obsolete pin-based plug for sending keyboard and mouse information Public domain - something that anyone can use without any [intellectual property](ip.md) enforcement Pull request - a commit made to another maintainer's code, which submits it to a review process before it's included into the code base PUP - potentially unwanted program, a program that installs alongside a legitimate program someone downloaded Push - add information to a stack Pushdown automation - information that has been ordered into a stack, can be pushed onto or popped ## Q QLED - quantum light-emitting diode, the next evolution of LED screens that uses quantum dots Quantization - a digital signal processing that maps an analog signal into a less dynamic digital one Quantum dots - small dots only a few nanometers long that are overlaid on a screen on top of pixels QPU - quantum processing unit, a CPU that uses qubits instead of bits QR code - Quick Response code, a barcode with two dimensions of information involved Qubit - a quantum computing bit, can be in a superstate of 0/1 as well as 0 or 1 Query - a computer requesting information and possibly doing something with it, often used in databases and networks Queue - a specific type of stack data structure where information is placed onto one end of the sequence and removed from the other QoS - Quality of Service, a router/switch feature that prioritizes some protocols, IP addresses, or MAC addresses more than others, is either a tedious experience requiring networking knowledge to set up or is well-automated ## R Race condition - a bad situation where the various speeds of data traveling (usually via electricity) changes the information in a later clock cycle, a hardware issue but can be used as an exploit Racers - pirates who access FTP sites to download and redistribute a *lot* of media Radar - radio detection and ranging, determining a location and distance using radio signals Rage-quit - leaving software, usually a game, out of frustration RAID - redundant array of independent disks, a specialized array of disks that hold data, can be RAM - random access memory, a set of memory outside the CPU that's quickly accessible but disappears after power-off, often designed as a detachable and upgradeable circuit board that plugs into the motherboard RAM slots - memory slots on the circuit board, the RAM must match its form factor Range header - a header that only requests a specified range Ransomware - malware designed to scare the user into paying an extortionate fee Raster - using a grid matrix of dots to represent a screen (with pixels) or a printer RAT - remote access tool, software, or a feature that controls a computer over a network, often used by hackers Rate-limit - aka throttling, slowing the bandwidth speed of a network or data transfer Ray casting - aka ray tracing, following the pathway of a straight line in a 3D environment, often used to cut down on graphics rendering or create shadow effects RCE - remote code execution, a type of attack where code is remotely executed RDMS - relational database management system, a database system that uses SQL to create a relational database Readahead - a feature of a file system designed to read ahead in a memory block Read-only memory - media that's meant to only be read from, includes EEPROM and most CDs Rear ports - ports on the back of a device that allows you to plug other stuff into it Recommender system - an algorithm designed to recommend user data to other users Recursion - code that references itself (see: recursion), very useful for extremely tedious tasks Red Team - the attacking Pentester who tests the resilience of a cybersecurity implementation, in contrast with Blue Team Redundant - a broad computing concept meaning there's a backup system in place for the currently working one Refactor - to redesign existing code, often code from someone the programmer never met or a public repository Reference - aka "ref", a mapped location elsewhere that can be anything including a network/memory location, a variable, or function Register - a DFF attached to a multiplexer, the implementation of storing memory in a computer Regular expression - aka regex, the sequence of characters used in computer code to sort through text for specific conditions, syntax varies by programming language Relational database - a database that links its data together with a primary key, uses SQL to interact with it, contrast to NoSQL Relative motion - the distance between two points irrespective of where they're at, how a mouse and touchpad send information, opposite of absolute motion Rem - aka root em, a measurement of pixels based on the standard font size (em), typically defaults to 16 pixels Remote - broad concept for something that's not nearby, contrast to local Removable media - long-term storage that's designed for removing while the computer is still on, such as CDs or flash drives Render - produce an end-user graphics element Repeater - a device that simply magnifies and duplicates a signal, useful to send a long-distance signal such as Wi-Fi in a large house or a poor cell connection Repository - a place where computer code is stored and maintained Resource/asset - jargon that can apply contextually to memory (disk space or RAM), processing (CPUs or GPUs), network speed, computer code, database entries, and sometimes peripherals Resource record - a DNS record that indicates where something is Responsive web design - using media queries to manage the UX for various screen sizes a browser may use Reverse-engineer - to re-engineer something by observing what that thing does Right to repair - an individual's rights to fix the things they own, should be implicit but many FAANG companies try to subvert it, works directly against planned obsolescence Rip - copy physical media into a digital format, typically associated with piracy RISC - reduced instruction set computer, a computer architecture designed to simplify individual instructions, meaning more code and less processing per command, contrast to CISC RISC-V - pronounced "risk-five", an open-source implementation of the RISC standard RMF - risk management framework, a system created by NIST to implement risk management organizational programs Roll back - to restore a previous known-good version of software Roll out - when software is released to the public ROM - read-only memory, often doesn't depend on electricity, but you can't write anything to it Rootkit - malware that affects core operating system files Rotoscoping - a tedious animation technique of drawing over an existing thing, frame by frame Router - effectively, a switch that works with IP addresses instead of MAC addresses Routing table - a record of IP addresses that a router records for reference RPC - remote procedure call, a protocol for managing another computer's service Runtime - the period of time when a computer is running a program Runtime error - a situation where a computer does exactly what it's told, but won't finish a task because it's waiting on a condition that can never be met (e.g., add 1 to 5 over and over, stop when it reaches 4) ## S Sampling - the data speed that audio or video is being captured or played back Sampling depth - the amount of data for each sample from a sampling rate Sampling rate - the frequency that information is gathered in audio or video SATA - serial AT attachment, cables with an L-shaped socket that attach directly to a motherboard Scalable - either the ability for a computer task to be done many, many times without any major slowdown or something that can be made bigger indefinitely Schematic - something designed as a concept, the physical side of "alpha version" Screen - a visual output using an array of pixels, with each pixel representing gradations of 3 lights to form the visual spectrum Screen burn-in - a condition from a CRT display where an image is permanently burned into the glass of the screen after keeping a static image on the screen for a long time Screen memory map - the RAM locations where color values are stored for the screen Script - slang for a comparatively short amount of computer code for accomplishing a straightforward purpose Scrollbar - a GUI feature that allows a screen to be scrolled by the user for more information Search engine - powerful software designed that uses a web crawler to create a searching algorithm for users' convenience Searching algorithm - a very common algorithm that looks through a list to find information Secrets - sensitive data someone would want to keep private, often is a string of computer-generated letters and numbers Sector - a smaller section of a drive that combines to create blocks Seed - to send information over a P2P connection, often refers to seeding a torrent Seedbox - hosted content designed to start torrent streams Self join - a powerful SQL technique of using data with another table generated from that data Semantics - the meaning a programmer wishes to convey, expresses via syntax Semiconductor - a substance that can be altered to control how much electricity can run through it, it's the basis of all electricity-based computing via transistors SEO - search engine optimization, improving [marketability](marketing.md) with various tricks to rank higher on search engine results SEO poisoning - a social engineering exploit that involves using SEO tricks to get people to go to a fraudulent website Sequential logic - where computers perform logic in a sequence, compared to combinational logic Server - a synonym for a supercomputer or a host, context-depending Server rack - a large rack with thumb-screw holes that computers can slide into on drawers, 19 inches wide and usually 42U height (1U is 1.75 inches, U for unit), most smaller computers can fit in 1U, but computers can be as tall as 6U Service - a task or program a computer can run Session - a specified block of time that a computer is sending information Set - a data structure that holds multiple unique values in no particular order or structure Shadow profile - gathering information about a person/organization without their consent, popular with FAANG companies Shaping - curating behavior close to a desired outcome. Shared plan - a pricing plan that combines the resources for various customers' needs together to save money on hardware, opposite of shared plan Shareware - an old software licensing model of giving free-to-distribute software that removes features without a paid license key, largely obsolete now that freemium exists Shim - software that grabs API data and modifies it somehow before outputting as if it were the same data Shipping - management term for finishing a project Sideload - installing software that the operating system wasn't designed originally to accommodate (e.g., an app store in a cell phone) SIM card - subscriber identity module card, an interchangeable means of attributing identification to a cell phone Sim swapping - aka SIM splitting, simjacking or sim hijacking, a hack that involves transferring a phone number's association to another SIM card Simplex - data transmission that's only one way, contrast to duplex Single-board computer - a cheaply made computer made with only one printed circuit board such as the [Raspberry Pi](https://www.raspberrypi.org/) and [Arduino](https://www.arduino.cc/), perfect for simple projects and low-cost solutions SISO - single-input single-output, a relatively slow transceiver configuration compared to SU-MIMO or MU-MIMO Skeleton loader - a design placeholder element, typically with a scrolling indicator, to express the framework of a page *before* it loads completely Skinner box - aka operant conditioning chamber, a confined area with a lab subject who presses a button to get a reward, named after the psychologist B.F. Skinner and his operant conditioning experiments, a core component of many modern games Skybox - a massive textured digital box that represents the far-distant world in a game SLA - service-level agreement, a written document that clarifies what a tech service is doing and what happens when they don't follow through (such as paying the customer if they fail beyond a certain amount of time) SLO - service-level objective, documentation that clarifies what the purpose of a tech service is for, leads to an SLA Slave - aka subsidiary (now that [Leftism](leftism.md) is offended by the term), a subordinate drive or record that has a lesser importance than others, in contrast with master Slot - a location in the case designated for a specific part, usually for long-term storage, not to be confused with ports Smart contract - an agreement between computers (or people) that they're both trustworthy regarding specific transactions, removes the need for a trusted intermediary Snapshot - a copy of a hard drive's memory at a specific timestamp Snapshotting - to take a snapshot of memory, usually for backup Social engineering - an exploit that uses information about someone to get them to trust the hacker Social media - internet-based content designed for generally public consumption Socket - when an IP address is linked to a port Soft skill - a broad [understanding](understanding.md) of something, not particularly useful in itself but widely applicable Software - computer code that programmers entered into a computer, completely written [intellectual property](ip.md) compared to hardware Something-for-something - a social engineering exploit where the hacker gives something (usually for free) in exchange for personal information Source code - computer code that makes applications run, is often elaborate, is often a hybrid of closed-source (not public) or open-source (public for everyone) Snoop - scouring networked computers for potentially useful information, also a famous rapper Sorted list - a list that has been sorted, typically numerically or alphabetically Sound card - dedicated memory, CPU, and rear ports specifically for [sound processing](computers-speakersmic.md), is typically baked into the motherboard but can still be a PCI extension for audio professionals SPA - single page app, a simple website/app that's only 1 page of content Split cache - a hardware architecture where memory is split between programs and data Spoofing - feeding false information into a computer to imply something different from reality, often used for hacking, examples include GPS spoofing (to change perceived geolocation) and cell tower spoofing (to make a cell phone think a computer is a cell tower) Sprite - the foreground and moving elements of a game, contrasts to a static background Spyware - malware that tracks user information, the most malicious form being a keylogger SQL - Structured Query Language, a programming language that manages an RDBMS SSD - solid-state drive, flash memory engineered for more long-term use as a permanent hard drive Stablecoin - a cryptocurrency that attaches its value to a non-cryptocurrency denomination, such as the US dollar Stack - broad term for information placed in some sort of order or organization, can also apply to a stack data structure where most of the information is managing the values at the beginning and end with push and pop Stack memory allocation - memory allocated by the operating system for specific purposes defined by the program, contrasted with heap memory allocation Stack overflow - a risky memory situation where the memory was maxed out, so the computer draws from the bottom-most memory instead (e.g., if memory only goes to 4096, and it's at 4090, then 10 more will make it go to 0003 instead) Staging - setting computer code to be committed, but not yet reviewed for the commit Standard - an industry-defined set of rules and procedures on how to do something, often evolves from a convention State - a conditional situation that a computer-related thing is in Stateful - a broad concept for software that's aware of the state of something, such as whether a file has finished downloading or whether there's a network connection Statement of work - a legally binding document that specifies exactly what someone can do, is obligated to do, and can't do Static - not moving Station keeping - the effort of maintaining a satellite's trajectory Stereo lithography - a 3D printing method of hardening layers of plastic with light Stop - an additional increment of light that hits a camera sensor String - a data type of text information, a combination of characters strung together SU-MIMO - single-user multiple-input multiple-output, a transceiver configuration that allows more bandwidth for a single device to transfer, though doesn't allow multiple bands from multiple users like MU-MIMO Supercomputer - a large computer that's usually a distributed system, usually fits into a rack, and is often a web server, tends to be pricier and reliable than home computers Surge protector - a device meant to prevent against freakish spikes of electricity that would normally destroy a power supply Stepdown transformer - a box on many power cables for lowish-power devices that lowers the household power plug's voltage to something more manageable Stepper - an interface element with a + and - symbol that increments and decrements a value. STP - spanning tree protocol, a Layer 2 network protocol that specifies where data should get forwarded Stripboard - aka Veroboard a construction base for prototyping mid-speed circuits, requires soldering Striping - arranging information across multiple domains, most commonly used to refer to a type of RAID array Style guide - documentation about how the user interface should look, often with many examples Subnet - a subnetwork, necessary for working with large networks, uses a subnet mask, terminates at a gateway Subnet mask - designating an IP range for making a subnet (e.g., 255.255.255.0 in IPv4 would allocate 8 bits of data for a subnet) Supersample - antialiasing that gets a much larger sample of the image to then downgrade to the displayed image Superuser - aka super or root user or root, an account with the highest possible privileges in a computer Surrogate key - a key in a database that has no real-world equivalent, useful for setting a primary key Surround sound - a speaker configuration where the user can hear in front and behind them Swap space - hard drive space converted into temporary RAM Swarm - a situation where many BitTorrent clients are seeding/leeching all at once Switch - a network box that operates as a type of [demultiplexer](computers-alu.md) to direct signals to their destination, in contrast with a hub Sync interval - how frequently a synchronized computer checks for updated information Synchronous logic - a motherboard arrangement where each logic gate advances with each clock cycle, contrasts with asynchronous logic Syntax - the typed text that a computer language understands, conveys the semantics of the programmer Syntax error - an error in computer code syntax, usually caused by typographical errors System call - a call that refers to core system components, often higher-risk and more resource-intensive than most other function calls System usability scale - a questionnaire where people answer 10 1-to-5 questions about how much they like the interface ## T Table - a means of holding data, uses fields for each part of the table Tailgating - physically following someone into a secure area where they can access a computer Tape drive - long-term storage that puts binary information on a long string of magnetic tape, excellent for storing *huge* amounts of information that isn't life-and-death if it gets relatively corrupted Task-based testing - testing by giving people tasks to complete, then measuring how well they do and any hangups in that task TCP - transmission control protocol, the [Transport-level](networks-computer.md) standard for sending high-quality information across a network, in contrast with UDP TCP/IP - a hybrid of TCP and IP, since they work together so frequently Tech stack - the set of languages a developer understands for handling all their front-end and back-end needs Technical debt - quick short-term solutions that create long-term problems, where the debt is paid later in the future Technology - a broad word that can mean a programming language, specific hardware, specific software, protocol, or network configuration, a management way to say "computer things": you can use a technology on a technology to run a technology via a technology to accomplish a technology, once was "high-technology" but has been contracted over time Telemetry - long-distance measurements, often to track users or user behavior Telephony - long-distance computer information transfer Terminal/Console/Command prompt - a text-based input that also gives output text, scary to people unfamiliar with computers but extremely useful for pipelining and APIs Terminator - a network endpoint that absorbs a signal, prevents data from bouncing back at the end of a wire and shutting down an entire bus network Texture - a graphical pattern or image overlaid onto a polygon Time-sharing - using a computer for more than one thing at a time, generally a built-in necessity of parallel processing, especially important in virtual machines Timeout - broad term for the deadline when a computer ends a condition to maintain a status, often pertains to when a session ends before information has successfully transferred Timestamp - a copy-paste recording of the BIOS clock, a frequent aspect of log files and metadata Toast - a small message with a border around it on an interface's overlay meant to quickly communicate small bits of information Token - a relatively small line of code that triggers an event Tooltip - a popup block of text when someone moves their mouse over an element Topology - the construction of something, often refers to network design, can be a physical topology (how it visually looks) or a signaling/logical topology (how it connects) Tor - short for The Onion Router, a protocol/software that runs on a type of parallel overlay network compared to the rest of the internet, often broadly classified (mostly incorrectly) as the "dark web" Torrent - use the BitTorrent protocol, a P2P protocol, often associated with piracy but has many important uses for free content distributors Touch screen - the primary input of most mobile devices by using a digitizer under the glass to capture absolute motion, can often emulate a keyboard on it, tends not to show a cursor if it was designed for touch screens Tracker - a feature of a program that collects and sends user data, often necessary for debugging but can often invade privacy, may also refer to a torrent-based host that distributes magnet links Traffic shaping - configuring the QoS settings to improve the user experience on a network Trailer, an optional bit of code at the end of a packet that contains error-correcting code Transceiver - combo transmitter/receiver, used for sending *and* receiving signals Transducer - a device that receives energy in one form, then expresses it in another form (e.g., a computer speaker) Transistor - an implementation of a semiconductor, usually as an electrical switch, to do all sorts of things like modifying signals, stabilizing voltage, performing logic, and storing information Translation lookaside buffer - a cache in the MMU that tracks the mapping between virtual and physical memory locations Transponder - a satellite radio beacon used for location and routing information, effectively a transceiver but differentiated because it provides information to decode Doppler shifts Tribal knowledge - small undocumented details that are critical to understand something Trigger box - an invisible box in a game world that triggers an action when the user enters or exits it Trilateration - Using multiple data from geolocation-based distances to triangulate a location Trojan horse/Trojan - malware that masquerades as a non-executing document (such as a video) Troll - to antagonize people into an argument, named after the fishing term of throwing bait out the back of a boat Trusted intermediary - a third-party computer that two computers can trust, often involves digital certificates Truthy - a data value that has something in it and therefore expresses to TRUE, opposite of falsy TTL - time to live, how many hops until a network signal drops, avoids a signal bouncing around indefinitely in a system Tunnel - a two-way communication between two resources, typically applies to VPNs but also applies to HTTP communication Tuple - a finite ordered list of elements, indicated by n (e.g., an n-tuple has n elements) TWAIN - the driver standard for scanners, not an acronym but is a reference to "never the twain shall meet" Two's complement - a mathematical means of representing negative numbers by using the binary number from decrementing in binary from 0 Typeahead - an input box that employs a simplified searching algorithm for text Type coercion - changing data types before operating with it, can often make the difference between Boolean statements being true or false Typography - the design and style of text ## U UDP - user datagram protocol, the [Transport-level](networks-computer.md) standard for sending information rapidly across a network, contrast to TCP UEFI - unified extended firmware interface, a BIOS-like system designed for more advanced drivers UI - user interface, the visual design of the elements of an operating system, web page, or software Unbounded color value - color values that aren't constrained to an arbitrary number Unconditional jump - an instruction in code to move to a specific location in the instructions, very useful in creating loops, contrast to conditional jumps Under-provisioning - giving less resources than necessary, often causes slowdown or crashing depending on the use case, opposite of under-provisioning Underclocking - lowering the speed of the computer below the manufacturer specifications, which could make worse benchmarks but may make your computer last longer, opposite of overclocking Unicast address - an address that's designated to 1 network asset, contrast to broadcast address Unicode - aka UTF-32, a character encoding format that uses up to 32 bits of data, technically only uses 18 bits to capture everything Unicorn - a startup that's worth over $1 billion Unix-like - an operating system designed closely to the original Unix system, typically refers to GNU/Linux but can also refer to FreeBSD Unsorted list - a list that hasn't been sorted, or at least hasn't been identified as sorted by a computer Uptime - time that a computer is continuously on, contrast to downtime URI - uniform resource identifier, a given thing on the internet represented by a sequence of characters URL - uniform resource locator, aka web address, an internet location designed to avoid having to remember IP addresses, uses a FQDN USB - universal serial bus, a type of port that most peripherals can use Use case - aka usage case, a scenario a programmer will have to consider caused by external input from a user or another computer, often interchangeable with implementation User-driven - a state where content and assets created by users instead of the creators' efforts User base - the people who already use a particular computer software or hardware product User journey - the intuitive flow that a user makes with an interface UPS - uninterruptible power supply, which is a surge protector mixed with a battery that gives enough time for you to shut the computer down User - can refer to either a person (for UX reasons) or a specific login account in a computer system UUID/GUID - universally unique identifier or globally unique identifier, a specific and unique device ID given to every networked computer device, always has 36 characters UX - user experience, broad term referring to the general feelings the user receives when interacting with the user interface, the newer model compared to HCI that incorporates [marketing principles](marketing.md) into it ## V Validation error - a text field which doesn't provide correct information Variable - a math concept of something that can be changed, refers to specific letters/symbols in math but can be labeled as almost *anything* in programming, opposite of constant Variable-length - a length that isn't fixed, though it may have thresholds, often used in Unicode character encoding Variable lighting - visually referencing a light source, then adding shadows to make a 3D environment feel more realistic VDI - virtual desktop interface, a GUI that looks like an entire OS, often accessible through a web browser Vector graphics - controlling an electron to run horizontally across a screen to give a line, the oldest form of GUI, eventually replaced by raster graphics Venture capitalist - someone willing to risk money to fund someone else's business Version - a specific assembled program, typically has a number to specify what iteration it is Version control - a system of managing changes in computer code VGA - video graphics array, an old pin-based plug for sending video information Video game console - a specialized computer designed to play video games, not to be confused with input consoles/terminals, functionally the same as a PC since the late-2010's Virtualization - aka virtual machine, using a portion of computer assets to create a virtual computer-in-a-computer Virtual memory - hard drive memory that has been converted into a swap space Virus - malware that masquerades as legitimate software Visual language - a visual dynamic shared among an organization VM - virtual machine/virtualization, splitting a computer to make it feel like more than one computer at the same time, allows people to split up one powerful computer instead of using many weaker ones and use multiple operating systems without partitioning hard drives VM escape - using an exploit to break out of a VM into the rest of a computer system VM sprawl - making too many VMs where you can't keep track of them all Volatile/Short-term storage - memory that goes away during a power cycle such as the cache, typically stored in RAM but also sometimes stored on a hard drive, opposite of non-volatile storage Volume - either the intensity of sound data transfer to speakers, or a logical/physical disk partition Von Neumann architecture - a CPU architecture that involves an input, logic processor, memory, and output, pretty much the basis for almost every computer Voxels - volumetric pixels, a 3D grid of pixels as an alternative to polygon-based rendering, didn't last long VPN - virtual private network, a service that uses a VPN tunnel on L2TP to safely transfer private information over long distances VR - virtual reality, a vague concept referring to a computer-generated simulation of reality, often refers to an HMD VST - virtual studio technology, a standardized framework that allows for plugins to interact with a DAW VTON - virtual try-ON, an implementation of VR that involves the user sampling how a product will look in a VR environment ## W WAN - wide area network, larger computer networks (such as the internet), in contrast with LAN WAP - wireless access point, a physical piece of hardware that allows for a wireless connection War dialing - entering all the phone numbers one-at-a-time to scan a phone system Warrant canary - an organization's indicator that a government surveillance unit is non-present, with non-updates of that indicator demonstrating that a government surveillance unit *is* present Warez - software that's typically had its DRM removed Web crawler - to scrape specific keywords off websites, a component of search engines Web browser - software designed for users to casually consume information across the internet Web scraping - copying information off the internet and cleaning it up to make it more useful for users Web server - a computer or distributed system, often with lots of processing power, which is publicly available on the internet White balance - aka color temperature, an image post-processing effect that determines whether the image's output colors lean more red or blue White-hat hacker - aka "white hat", a hacker who honors ethics White noise - the noise generated by quantization White space/negative space - empty space that gives structure to a UI Whitelist - mark a MAC or IP address as safe, opposite of blacklist Wi-Fi - a networking standard for local wireless signals that honors the 802.11 specification Wiki - a public repository of information, typically user-driven, originally named after WikiWikiWeb in 1995 Wildcard - a regular expression component that indicates that anything can be used (e.g., *ing can return "cleaning", "sing", and "commingling"). Wireframe - a line-based form of something, can be a visual guide of how something will look like (the design side of "alpha version") or an earlier stage of 3D polygon graphical design Word - the size of a memory register, typically a base-2 representation (2, 4, 8, 16, 32, 64, etc.) Worm - malware that self-replicates onto other networked computers WPS - can refer to Wi-Fi positioning system (a method of using Wi-Fi signals for trilateration) or Wi-Fi protected setup (a button-activated authentication system built into most network routers) Write tolerance - the number of times that you can write to a drive before it fails, often measured in ridiculously high numbers because they're usually designed to last a few years of normal use ## X XIP - execute in place, a file system feature where a CPU can load a file from long-term storage instead of loading it to RAM first ## Y Yak shaving - doing many things that are seemingly unrelated to a software design goal to accomplish that goal Yank - to remove distribution of a specific version, often because of hacking or a defect in the code ## Z Z-pattern - a design component where the eye moves left-to-right, then back to the next line's left-to-right, a common feature of reading books but tends to tire out the eyes when using a computer Zero - a philosophical concept of nothingness represented by "0" that came from ancient India, not to be confused with "null" in computers, since it's still a value in memory Zero-based numbering - how computers count, starting at 0 instead of how people intuitively start at 1 (e.g., 0, 1, 2, 3 instead of 1, 2, 3, 4) Zero-click attack - a cyberattack that doesn't require the user to do anything to activate it Zero-day exploit - aka "0 Day", an exploit that was just discovered after it could be exploited Zone file - a file on a DNS host that indicates resource records