Glossary

Words are hard. A glossary, even for a small project, greatly reduces cognitive load and makes work easier. I started this practice after reading Domain-Driven Design by Eric Evans, who coined the term ubiquitous language. These definitions are not perfect and are subject to change :)

.NET
Pronounced and sometimes written `dotnet`. An open-source software toolkit developed by Microsoft.
AI
artificial intelligence
AI effect
The reclassification of actions from "AI" to "not AI."
app
In software, an app is an application.
application
In software, an application is a standalone program that performs a set of functionality for a user. An application can be available as a service access through a website or as a product downloaded to the user's computer. Many applications today are distributed, where some functionality occurs on the user's computer and other functionality is done in a set of servers managed by the application provider ("the cloud").
article
In my blog, an article is a natural language series of paragraphs and whatnot. Generally posted at a specific time and only updated to fix typos and mistakes, not to add new information.
artificial intelligence
The ability to do something that seems smart. More complex definitions exist, but are not agreed upon. Artificial intelligence is mostly a buzzword.
blog
My blog is a homepage and a set of posts.
boxel
Voxels that are boxes, like in Minecraft. Usually wrapped in scare quotes as it's a term I made up 🤓
border czar
In American politics, this term was first used by media in the late '90s to describe Alan Bersin, whose official title was U.S. attorney and Special Representative for the Southwest Border, Department of Justice. Under Trump's second administration, czar titles became official for the first time, with Trump appointing Tom Homan as the Border Czar, reporting directly to Trump, on 2025-01-20. See also czar.
Bun
A TypeScript toolkit originally by an independent team that includes its own runtime and more. Ultimately owned by Anthropic.
buzzword
A stock phrase that has become nonsense through endless repetition.
browser
A browser is a tool for listing, viewing, and navigating between records of a certain type: webpages, files, etc. In context, 'browser' may refer specifically to a web browser, file browser, or other particular browser.
C#
Pronounced and sometimes written `C Sharp`. An open-source programming language developed by Microsoft.
CASA
In my life, the acronym stands for Court Appointed Special Advocate, part of the National CASA/GAL Association, a nationwide American organization for children who experience abuse or neglect. A CASA volunteer, sometimes referred to as "a CASA," are parties to legal cases and tasked with gathering information and advocating on behalf of the child's best interests.
chatbot
An app that simulates a conversation with a user.
Chromium
An open-source web browser. Google Chrome, Microsoft Edge, and other browsers are Chromium wrappers. Ultimately owned by Google.
CJS
CommonJS module, the original way of using multiple JS files in a project. See also ESM.
CLS
In software UX design, Cumulative Layout Shift. Refers to pieces of content moving after they've been presented to the user, often due to other pieces of content appearing on a delay.
code coverage
A usually-ambiguous term referring to some form of test coverage
cognitive load
Mental effort, usually to solve complex problems.
coverage
Test coverage
C Sharp
C#
CWE
Common Weakness Enumeration
CVSS
Common Vulnerability Scoring System
czar
In American politics, this is a mostly unofficial term to refer to officials appointed by the US president to handle specific issues. It follows a tradition of unofficial czar titles for simplification dating back to 1919's "industry czar." Trump made the term part of official titles for the first time in American politics during his second administration, naming a White House AI and Crypto Czar, Border Czar, and Pardon Czar. Despite this, the titles are still usually put in scare quotes by other publications. See also border czar.
Deno
A TypeScript toolkit by the creator of Node.js that includes its own runtime and more. Ultimately owned by 'the Deno authors.'
dividend
The number that is split in division. In `6 / 2`, `6` is the dividend. See also divisor.
divisor
The number that goes into the other one in division. In `6 / 2`, `2` is the divisor. See also dividend.
dotnet
.NET
Ecma
Organization that defines ECMAScript. Short for Ecma International, originally short for European Computer Manufacturers Association.
ECMAScript
A specification of how website scripting languages must behave. JavaScript is the most popular implementation of ECMAScript. See also TypeScript.
engine
In software, an engine is a system used to execute code. Common JavaScript engines are JavaScriptCore and V8.
ESM
ECMAScript modules, the modern way of using multiple JS files in a project. See also CJS.
FOSS
free and open-source software. See also libre.
GPT
Generative pre-trained transformer, a machine learning architecture commonly used for modern LLMs. Coined by OpenAI in a research paper in 2018, the term is generic and not protected by copyright.
graph theory
The study of pairwise relationships. For example, a social network graph could have a set of nodes, where each node represents a person. Then, we draw a line from each person to each of their friends. We call each line an edge. The same can be done for road networks and many other concepts.
grep
global, regular expression, print. A shell utility defined by POSIX for searching for text in a group of files.
GUI
In software, a graphical user interface. The elements of the UI are presented visually, with graphical buttons. Popular web browsers like Chrome, Edge, and Safari are all GUI-based, as are nearly all consumer-grade software applications.
hardware
Physical devices like a keyboard, mouse, and monitor. Also applies to non-digital domains: a wrench, a hammer, etc. See also software.
hawk
In American politics, a hawk is someone who advocates fiercely for a cause or policy. Coined in 1792, war hawks were people who advocated for going to war in peacetime.
IRC
Internet Relay Chat
JavaScript
A programming language originally built for websites. See also ECMAScript.
JavaScriptCore
A JavaScript engine used by WebKit and Bun.
JS
JavaScript
knowledge elicitation
The process of gathering information from people.
libre
Something that is available with minimal limitations, but may still cost money to access. From the Latin līber, like liberty. "Free as in free speech, not free beer." See also FOSS, open-source.
LLM
Large language model. A statistical representation of natural language used in modern chatbots.
Luanti
An open-source 'boxel' game creation system including a game engine, distribution platform, and application for players.
MCVE
minimum complete verifiable example
Mocha
A test framework for Node and web browsers.
natural language
A language used by people to communicate, like English, Arabic, or American Sign Language. See also programming language.
Node
In frontend software, it's often shorthand for Node.js. When not capitalized (`node`), may refer to a node in a graph. See also graph theory.
Node.js
A JavaScript runtime wrapped around V8.
notes
In my blog, a page of notes is a series of nested bulleted lists with many sources and analyses, not necessarily meant to be read in order. The same page may be frequently updated with additional information. A large page of notes may be split into multiple smaller pages for organization.
npm
The default package manager for Node.js. Open-source and ultimately owned by Microsoft. See also package manager.
open-source
Software that is available to inspect, download, copy, and redistribute with minimal limitations. The most common limitation is that any distributed copies must also be open-source. Some open-source projects require monetary payment to access. See also libre.
package manager
A system for managing external modules for a project. For JavaScript, common package managers are Bun, Deno, npm, pnpm, and yarn.
pnpm
"performant npm" built by a different team than npm. A package manager for JavaScript. See also package manager.
POSIX
Portable Operating System Interface. The X is unused. A set of IEEE standards defining the Shell programming language, common utilities, and more.
post
In my blog, a post is either an article or a page of notes.
programming language
A language designed for developers to communicate with computers. Programming languages often include unambiguous syntax to ensure instructions are executed the same way every time.
require(ESM)
A compatibility feature in Node.js for CJS projects to work with ESM projects.
requirements coverage
A form of test coverage that considers documented requirements.
RSS
Really Simple Syndication or Resource Description Framework Site Summary
runtime
A system used to both execute code and interact with 'external' software objects. For example, in JavaScript, an engine can run `1 + 1`, but only a runtime can interact with the `document` object on a webpage. Common JavaScript runtimes are Bun, Deno, and Node.js.
scare quotes
Quotation marks wrapped around a non-standard term, e.g. "Bacteria can 'walk' across the surface of your teeth."
scenario coverage
A form of test coverage that considers real-world scenarios, not just lines of code. For example, a single line of code might call `IsNullOrWhiteSpace` and have full condition coverage with two tests, but would require several tests for scenario coverage: `null`, empty string, string with all spaces, string with all tabs, string with mix of other whitespace, etc. Also useful when automated coverage reporting is unavailable, e.g. in integration or end-to-end tests. Sometimes referred to by others as code coverage. Scenario coverage is a term I made up, but a common concept in the industry.
slug
In software, this refers to the part of the URL after the top-level domain (TLD). For instance, the slug of `https://markwiemer.com/glossary#software?hello=world` is `/glossary#software?hello=world`
software
Non-physical digital technology. This website is software, but your monitor or phone are not software. See also hardware.
TACO
Trump Always Chickens Out. Coined May 2025 in reference to Trump-announced tariffs, which were often delayed or entirely cancelled. It's since been used to reference many of Trump's subsequent actions.
TDS
Trump Derangement Syndrome. Originally following in the footsteps of Bush Derangement Syndrome and others like it, it remains primarily used by Trump supporters to criticize anti-Trump people, claiming that anti-Trumpers are against everything Trump does because it's Trump doing it. However, unlike previous president derangement syndromes, TDS is now being used by anti-Trump people to criticize Trump supporters, claiming that they're in favor of everything Trump does because it's Trump doing it.
test coverage
A measure of how much of a software project is covered by automated tests. Common metrics are lines of code (line coverage aka statement coverage), branches executed (branch coverage), functions called (function coverage), and conditional values evaluated (condition coverage). See also code coverage, scenario coverage, requirements coverage.
test framework
A software tool for writing automated tests for a project.
TLD
top-level domain
toolkit
A set of related tools to accomplish a variety of tasks. Number of tools and scope of work accomplished by the tools varies widely.
top-level domain
A top-level domain, or TLD, is the "main" part of a URL. For instance, the TLD of `https://markwiemer.com/glossary` is `markwiemer.com`
Trump
Donald Trump, 45th and 47th president of the United States. See also border czar, TACO, TDS.
TUI
Terminal user interface. Some developer-facing applications run entirely in a terminal application and are limited to rendering text. TUI-based apps often have a different design philosophy and target audience than GUI-based apps.
"type": "module"
A package.json property instructing Node to load modules using ESM instead of CJS.
TypeScript
An open-source superset of JavaScript that adds and enforces types. Originally, TypeScript had to be transpiled to JavaScript outside of most runtimes. Now, transpilation or direct TypeScript execution is bundled to varying degrees in common runtimes. As such, the terms 'JavaScript' and 'TypeScript' are becoming increasingly interchangeable. Ultimately owned by Microsoft.
ubiquitous language
A common set of terms used in a cross-disciplinary team to improve communication.
UI
User interface. In software, this often refers to the layout and visual appearance of buttons, icons, and other visual elements on a given page. See also UX.
UI/UX
A joint consideration of both UI and UX. As the two fields are closely related, some teams have one person fulfill both roles.
UNCTAD
United Nations Conference on Trade and Development
URI
Uniform Resource Identifier. Formerly Universal Resource Identifier. All URLs are URIs, but not all URIs are URLs.
URL
Uniform Resource Locator. This is the thing you type into the address bar of your browser to go to different websites. For example, the URL of this page is `https://markwiemer.com/glossary`, and the URL to this word is `https://markwiemer.com/glossary#url`. See also URI, slug, top-level domain.
UX
User experience. In software, often refers to GUIs and the user journey through an application.
UX/UI
See UI/UX.
V8
In software, V8 is a JavaScript engine used by Node.js, Chromium, and more.
voxel
Volume element, often in reference to player-editable 3D terrain, like in Minecraft or Astroneer. See also boxel.
WebKit
The browser engine for Apple devices.
wrapper
A piece of software whose core functionality is provided by the software it wraps.