# Computers glossary - part 2 ## 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](legal-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](people-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](logic.md) and [math](math.md) 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](engineering-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` in HTML) Hypervisor - software designed to run virtual machine containers, can be Level 1 (BIOS-level) or Level 2 (OS-level)