Tracker Music
A style of music software, pioneered by the Ultimate Soundtracker on the Amiga in 1987, that sequences sampled instruments in a scrolling pattern grid and stores the result as a self-contained module (MOD) file.
Plain-language explanations of the ideas behind software - compilers, garbage collection, objects, types.
A style of music software, pioneered by the Ultimate Soundtracker on the Amiga in 1987, that sequences sampled instruments in a scrolling pattern grid and stores the result as a self-contained module (MOD) file.
Pixar's micropolygon-based rendering architecture, named Reyes for Renders Everything You Ever Saw, designed for fast high-quality rendering of very complex scenes and the basis of early RenderMan.
The set of algorithms - slow start, congestion avoidance, fast retransmit, and fast recovery - that lets TCP senders detect network overload and back off, preventing the kind of congestion collapse that nearly broke the early Internet. Introduced by Van Jacobson and Michael Karels at SIGCOMM 1988 and standardized in RFC 5681.
RTFM, short for 'Read The Fucking Manual,' is the canonical curt reply in hacker culture telling someone the answer to their question is already in the documentation; it captures both the self-help ethic and the friction of newcomer questions.
Priority inversion is a scheduling hazard in which a high-priority task is blocked by a lower-priority task holding a shared resource, often made unbounded by intervening medium-priority tasks; the priority inheritance and priority ceiling protocols bound the delay.
A development approach that replaces long, sequential specification phases with fast iteration, visual tools, and working prototypes built with end users, popularized by James Martin and embodied in tools like Visual Basic, Delphi, and PowerBuilder.
A bitmap is an image stored as a rectangular grid of pixels, each represented by one or more bits; its bit depth sets the number of colors, and it stands in contrast to vector graphics that store shapes as math.
Ron Rivest's 128-bit message-digest algorithm, published as RFC 1321 in 1992, once a popular hash but now cryptographically broken by practical collisions.
Rough consensus and running code is the working ethos of the IETF: technical decisions are reached by broad agreement on substance rather than formal voting, and validated by working implementations rather than paper specifications.
A coder-decoder: a paired algorithm for compressing media into a coded representation and reconstructing it, spanning lossy and lossless schemes for audio, image, and video, and distinct from the container formats that package them.
The NIST family of standard cryptographic hash functions - SHA-1, SHA-2, and SHA-3 - of which SHA-1 is now broken and SHA-256 is ubiquitous in TLS, Bitcoin, and git.
The 1993 scheme that replaced fixed address classes with variable-length prefixes written as a /N suffix, allowing right-sized address blocks and route aggregation to slow the growth of the global routing table.
A technique that rewrites IP addresses at a network boundary so many internal hosts can share a small pool of public addresses; conceived as a stopgap for IPv4 exhaustion, it became one of the main reasons IPv4 endured.
Software rot, or bit rot, is the apparent degradation of software over time even when its code is unchanged, as its environment and dependencies shift and as repeated edits erode its design; David Parnas's 1994 paper Software Aging is the foundational treatment.
The block of memory holding the pixel values of the image being displayed. The framebuffer is the destination of the raster graphics pipeline, and double buffering swaps a finished back buffer to the front to avoid showing partially drawn frames.
Ward Cunningham's WikiWikiWeb, launched in 1995, was the first wiki: a website any visitor could edit, conceived as the simplest online database that could possibly work.
The process by which routers select a next hop for each packet using a routing table, and the division of that work into interior protocols within a network and exterior protocols between networks.
The Java .properties key=value configuration format, with defined rules for escaping, line continuation, and ISO-8859-1 with Unicode escapes.
Proprietary software is software whose source is withheld and whose use is governed by a restrictive end-user license; the GNU project defines it as another name for nonfree software, the category free and open source software defined itself against.
A network or group of networks under a single routing policy, identified by a globally unique Autonomous System Number, and the basic unit between which BGP exchanges routes.
An experimental technique that deliberately introduces faults into a system to observe how its detection and recovery mechanisms respond, used to evaluate and validate the dependability of fault-tolerant hardware and software.
A DTD declares the allowed elements, attributes, and structure of an SGML or XML document, giving parsers a grammar to validate against. Inherited from SGML and built into the XML 1.0 Recommendation, it was the original schema mechanism for markup.
The live tree representation of a web page that scripts use to read and change its content, structure, and style.
The set of strategies companies use to make money on freely licensed software, including support and subscriptions, open core, dual licensing, and hosted SaaS, and the tensions that push companies to change their licenses.
The Apache model in which authority and commit rights are earned through demonstrated contribution rather than appointment; later the term itself drew criticism and was softened by some projects.
The graphics processing unit is a specialized processor for rendering images, which evolved from fixed-function rasterizers into massively parallel, fully programmable chips. NVIDIA coined the term in 1999 with the GeForce 256.
A debugging technique in which a programmer explains their code, line by line, to an inanimate object such as a rubber duck, forcing the act of articulation that often reveals the bug; popularized by 'The Pragmatic Programmer.'
Hypermedia as the Engine of Application State, the REST constraint where responses carry the links and controls that drive the client's next actions.
A web API is an application programming interface exposed over HTTP so that programs, rather than people, can read and manipulate a service's data and functionality across the network.
James Reason's model of accident causation in which successive layers of defense each have holes, and a failure occurs only when the holes in many layers momentarily line up to let a hazard pass through.
The Internet Assigned Numbers Authority is the function that stewards the internet's globally unique identifiers: IP address space, protocol parameter registries, and the management of the DNS root zone.
The practice of having developers merge their work into a shared mainline frequently, with each merge automatically built and tested so integration problems surface early.
The global standard block cipher for symmetric encryption, originally named Rijndael, chosen by NIST in an open competition to replace DES and published as FIPS 197 in 2001.
The shift from fixed-function graphics hardware to user-written vertex and pixel (fragment) shader programs that run on the GPU, formalized by Direct3D's shader models and by the OpenGL Shading Language (GLSL).
Dean Allen's early lightweight web markup language, popular in Movable Type and Ruby on Rails, that turned readable plain text into HTML.
The lightweight markup of wikis, from WikiWikiWeb to MediaWiki, defined by conventions like double-bracket links and apostrophe emphasis, and increasingly bridged to visual editing.
A data-access pattern, named by Martin Fowler, in which an object wraps a single database row and carries the logic to read, write, and validate it; popularized for the web by Ruby on Rails.
Gregor Hohpe and Bobby Woolf's catalog of messaging patterns - channels, routers, translators, and endpoints - for connecting enterprise systems asynchronously.
A software patent claims a monopoly on a computational method or process; free and open source licenses respond to the threat through patent grants and retaliation clauses, as in the Apache License 2.0 and the GNU GPL version 3.
A design in which a host program exposes extension points so that third parties can add features without modifying the core, as in Eclipse's plug-in model, VS Code extensions, and Emacs packages.
Tivoization is the practice of shipping GPL-covered software in a device that refuses to run modified versions, defeating the user's freedom to change the code; the GNU General Public License version 3 closed this loophole by requiring 'Installation Information' for consumer products.
A monetization model where an app is free to download and offers optional in-app purchases for premium features, content, or subscriptions; it became the dominant way mobile apps and games make money.
A class of vulnerability in which untrusted input reaches an operating-system shell, letting an attacker run arbitrary commands. It arises when programs build shell command strings from user data, and is mitigated by avoiding the shell or using native APIs.
A template engine combines a markup template containing placeholders and control logic with application data to produce a finished document, most commonly the HTML returned by a server-rendered web application.
An operating-system-enforced isolation model that gives each app its own private files and restricts its access to memory, system resources, and other apps' data, forming the core security model of iOS and Android.
Apple's practice of gatekeeping iOS apps through a pre-publication review against the App Store Review Guidelines, the walled-garden model that shaped mobile software distribution and drew lasting controversy.
A self-contained program distributed through an app store and run on a smartphone or tablet; the dominant unit of mobile software, built as native, web, or hybrid code.
Android's app distribution format: a ZIP archive bundling the manifest, compiled DEX bytecode, and resources into one installable file. The later Android App Bundle (AAB) defers final APK generation to Google Play.