# Computers glossary part 3 ## 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 Hallucination - a machine learning approach that involves the computer making an averaged-out guess when it doesn't have a sufficient answer for something 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-cs.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) ## 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](legal-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](groups-large.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-cs.md) 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