concept July 1, 1994
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.
concept March 25, 1995
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.
concept June 1995
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.
concept January 1996
The Java .properties key=value configuration format, with defined rules for escaping, line continuation, and ISO-8859-1 with Unicode escapes.
concept 1996
A complete small computer on a single chip, combining a CPU with program memory, data memory, and input/output peripherals, built for embedded control rather than general-purpose computing.
concept 1996
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.
concept March 1996
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.
concept April 1997
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.
concept February 10, 1998
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.
concept October 1998
The live tree representation of a web page that scripts use to read and change its content, structure, and style.
concept 1999
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.
concept June 1999
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.
concept August 31, 1999
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.
concept 1999
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.'
concept 2000
Hypermedia as the Engine of Application State, the REST constraint where responses carry the links and controls that drive the client's next actions.
concept 2000
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.
concept March 18, 2000
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.
concept June 2000
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.
concept September 2000
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.
concept 2001
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.
concept 2002
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).
concept 2002
Dean Allen's early lightweight web markup language, popular in Movable Type and Ruby on Rails, that turned readable plain text into HTML.
concept 2002
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.
concept November 2002
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.
concept 2003
Gregor Hohpe and Bobby Woolf's catalog of messaging patterns - channels, routers, translators, and endpoints - for connecting enterprise systems asynchronously.
concept 2004
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.
concept 2004
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.
concept 2005
Blink is the hardware world's Hello, World: the first program loaded onto a new board, which does nothing but flash an LED on and off. The Arduino Blink sketch, with its setup() and loop() structure and pinMode/digitalWrite/delay calls, made this rite of passage approachable for millions of beginners.
concept 2005
The maker movement is the do-it-yourself culture of hands-on hardware building, hacking, and sharing that grew in the 2000s and 2010s, catalyzed by Make magazine and Maker Faire and enabled by Arduino, the Raspberry Pi, and cheap manufacturing.
concept June 2006
The software problem of a robot building a map of an unknown environment while at the same time tracking its own position within that map, the chicken-and-egg core of autonomous navigation.
concept June 29, 2007
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.
concept 2008
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.
concept 2008
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.
concept 2008
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.
concept July 2008
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.
concept July 10, 2008
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.
concept July 10, 2008
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.
concept September 2008
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.
concept September 2008
Android's messaging object for requesting actions from app components. Intents launch activities and services and enable inter-app communication, in either explicit (named target) or implicit (action-described) form.
concept November 26, 2008
A way of annotating text with tags that describe its structure or presentation, the family that runs from typesetting codes through SGML, HTML, XML, and Markdown.
concept 2009
A culture and set of practices uniting software development and IT operations so that teams can build, ship, and run software reliably and quickly, crystallized around the first DevOpsDays in 2009.
concept 2009
Buying digital content or services from inside an app through the platform's own payment system; the platform provides APIs such as Apple StoreKit and Google Play Billing and takes a commission on each sale.
concept 2009
The umbrella term for non-relational databases that traded SQL and ACID guarantees for horizontal scalability, flexible schemas, and availability.
concept May 12, 2009
The software layer that connects a robot's sensors, actuators, and algorithms across many processes and machines, handling message passing and hardware abstraction so components can be built and reused independently.
concept November 3, 2009
Luke Wroblewski's design principle of designing for the smallest screen first and progressively enhancing toward larger ones, treating mobile constraints as a discipline rather than a limitation.
concept 2010
Keeping software always in a releasable state through automated build, test, and deploy pipelines, so that releasing becomes a low-risk decision that can be made on demand.
concept 2010
The visible computers, the laptops and phones and servers, are the minority. The majority of processors are embedded: tens of microcontrollers in a single car, and tens of billions of microcontroller units shipped every year, running appliances, toys, sensors, and infrastructure invisibly.
concept April 30, 2010
The first userspace process a Unix-like system starts (PID 1), which boots the machine into a usable state and then supervises the other processes; embodied over the decades by SysV init, Upstart, systemd, and launchd.