Skip to content
83

Awesome Naming

A curated list for when naming things is done right.

1.5k stars54 forks96 entriesLast push Sep 17, 2026 (12 days ago)License CC0-1.0

This page lists names, links and short descriptions. The original list on GitHub is the source and belongs to its authors.

Computer Graphics

Gift wrapping algorithm

An algorithm for constructing the smallest shape that wraps a collection of points.

Data Structures and Algorithms

Backtracking

When you explore a search space and you reach a dead end, you follow your tracks back to the last crossroad and try the other way.

Brute force

Violence is actually almost always a solution, but not a very clever one.

Greedy algorithm

An algorithm that finds a solution by always picking the currently best-looking option without thinking too much about past and future decisions.

In 2 lists

Hill climbing

Starting somewhere in the hilly "landscape" of solutions, you go in the direction of steepest ascent until reaching the top of a hill. You might miss higher hills, though.

Israeli Queue

A type of priority queue and a reference to the infamously unorganized queues in Israel. Here items can cut in line when they already have waiting friends.

Queue

In this data structure, items are always added at the end and removed at the front as if the items were waiting in line.

In 2 lists

Sieve of Eratosthenes

An ancient algorithm for finding all prime numbers up to a given limit. Non-primes are methodically sifted out, like unwanted material filtered through a sieve.

Simulated annealing

An optimization algorithm inspired by the metallurgical process of annealing, where slowly cooling a heated material allows it to settle into a low-energy, globally optimal state.

Stack

Like with a stack of pancakes, you can only add and remove items from the top of this data structure.

In 2 lists

Tree

A hierarchically organized data structure. From the root item, the other items branch out into nodes and leaves. A collection of trees is often called a forest.

In 2 lists

Design Patterns and Anti-Patterns

Adapter

Allows classes with incompatible interfaces to work together by wrapping its own interface around that of an already existing class.

Decorator

Adds new responsibilities to an object by wrapping it in a layer of additional behavior, just as you can decorate a room without changing its walls.

Facade

Analogous to a facade in architecture, a facade is an object that serves as a front-facing interface masking more complex underlying structure.

God object

An anti-pattern where a single object knows too much or does too much. Like a god, it is omniscient and omnipotent.

Promise

A representation of a result that is available in the future, unless there are errors. Like in reality, promises are broken sometimes.

Shotgun surgery

A programming antipattern where, in a single change, you wildly add code everywhere in your codebase.

Spaghetti Code

A program with a tangled and hard-to-follow structure.

Functions

fold

Like a blanket being folded up, this function iterates a collection and in each step combines the current item with everything that has already been folded.

In 2 lists

munch

Parser function that greedily consumes an input stream until it's satisfied.

trampoline

Continuously runs functions that themselves return functions. Like a child on a trampoline that returns and bounces back up.

zip

Merges two lists into one list of pairs like the interlocking teeth of a zipper.

IT Security

Backdoor

A method of bypassing normal authentication in a computer system.

Canary

A secret value placed on the stack to detect buffer overflow attacks. If it has been altered, danger is near — just like a canary in a coal mine that warns miners of toxic gas.

Computer virus

A computer program that self-replicates by infecting other computer programs, similar to the behavior of biological viruses.

Cyber hygiene

Steps and practices that users should take to maintain system health and improve online security.

Honeypot

Part of a system meant to look like an attractive target but actually helps detect and deflect attackers.

Phishing

Refers to the use of lures to "fish" for sensitive information.

Phoning home

When a system (e.g. stolen computer) secretly reports back to a third party other than the current possessor. The name is a reference to the movie E.T.

Sandbox

A safe and isolated environment to test unverified programs that may contain malicious code.

Trojan horse

Malware which misleads users of its true intent. The term is derived from the Ancient Greek story of the deceptive Trojan Horse.

Machine Learning and Artificial Intelligence

Attention

A mechanism allowing models to selectively focus on the most relevant parts of their input, just as humans direct their attention to what matters most.

Confusion matrix

A tabular summary of a classifier's "confusion", i.e., how often it thought to make correct predictions when it actually didn't.

Decision boundary

A boundary dividing the space of possible data points. Here you decide, everything on this side is SPAM, everything on that side is not.

Dropout

Randomly disabling neurons during training to prevent overfitting. Like a sports team that improves by practicing with random members absent.

Gradient descent

Minimizing a cost function by iteratively computing the gradient and moving in the direction of steepest descent.

Hallucination

A confident response by an AI that does not seem to be justified by its training data.

Training

The process of showing the machine a bunch of examples, until it learns what we want from it.

Programming Languages and Programming Language Theory

Choreographic programming

A programming paradigm where programs are compositions of interactions among multiple concurrent participants.

Clojure

A functional language making extensive use of closures but with a j because it's running on the Java virtual machine.

C++

Although C was certainly a bad name, C++ was quite clever. The iconic increment operator ++ indicates that C++ is the successor.

Garbage Collector

Part of a program that attempts to find and reclaim garbage pieces of memory not used anymore.

Lazy evaluation

An evaluation strategy which suspends evaluation until it's absolutely necessary and then never does it again.

Syntactic sugar

Syntax that makes the language "sweeter" for human use. Usually a shorthand for common operations that can also be expressed in a more verbose form.

Theoretical Computer Science

Busy Beaver

Turing machines that produce numbers so insanely large, no other algorithm can keep up with them.

Clique problem

The problem of finding groups of mutual friends in a network of people with friendship relations. Or more generally, finding complete subgraphs.

Game of Life

A game world that showcases how astonishing complexity can arise from very simple ingredients.

In 2 lists

Oracle

A black box that magically gives answers even to undecidable questions like the halting problem.

Pumping lemma

The fact that in some formal languages any sufficiently long string can be pumped with repetitions of its substring and the result stays in the same formal language.

Tools, Applications, Libraries, Frameworks

bubblewrap

Sandboxing tool forming a protective layer for your system.

In 3 lists

caffeinate

Terminal app to keep macOS from "sleeping".

clooney

A JavaScript library implementing the actor model for concurrent computation. The term is a reference to George Clooney, who is also an actor.

In 2 lists

CockroachDB

Database application, that is marketed as being so fault-tolerant and resilient as a cockroach.

corrosion

The process that turns metal into rust (literally), but also a tool that "turns" C++ into Rust.

git bayesect

Like git bisect but can cope with flaky tests using Bayesian inference.

go-brrr

Pure Go implementation of the _br_otli compression algorithm. Also a reference to the go brrr meme.

horcrux

Splits a file into encrypted fragments that only together can be decrypted again. In the Harry Potter universe, Horcruxes are fragments of a person's soul. To kill the person, all fragments must be destroyed.

In 2 lists

Puppeteer

A browser automation library. If the browser is the puppet, this is the puppeteer.

In 5 listsDetails

Safari

Web browser developed by Apple.

tldr

Simplified man pages with practical examples.

In 2 lists

Uglify

A JavaScript minifier. Removes everything that makes the code readable and pretty to make it smaller.

In 8 listsDetails

uppy

A dog-themed uploader component. The name is a blend of upload and puppy. It even comes with a crash recovery plugin called Golden Retriever.

In 5 listsDetails

Webpack

A bundler for JavaScript and other web assets with a short and descriptive name that also somewhat rhymes.

In 4 listsDetails

yarn

Node.js dependency manager.

In 3 lists

User Interface Design

Bento layout

A grid-based layout resembling the compartmentation of bento boxes.

Breadcrumb

Navigational aid allowing users to keep track of their location within programs, documents, or websites. The term is a reference to the fairy tale Hansel and Gretel.

Carousel

A kind of animated slideshow looping back on itself.

Clipboard

Where you temporarily put files you are working with (i.e. the copy & paste buffer).

Desktop

The metaphorical top of the user's desk, upon which objects such as documents and folders of documents can be placed.

Hamburger button

A button to toggle a menu. The associated icon resembles a hamburger.

Optimistic UI

User interfaces that assume expensive operations will complete successfully, thereby improving the perceived performance.

Scrolling

Screen content is often less like a book with discrete pages and more like a continuous roll of parchment, i.e., a scroll.

Toast notification

A small message that briefly pops up at the edge of the screen and then disappears on its own, just like toast from a toaster.

Other

a11y, i18n, k8s, ...

Abbreviating long words by keeping the first and last letter and writing the number of omitted letters in between.

ACID vs. BASE

Acronyms describing competing database ideologies (aka. SQL vs. NoSQL). Note that acid and base are also opposites in chemistry.

Bottleneck

A central part of a network/application that significantly limits throughput/performance and should ideally be eliminated.

Brick

When your device is so corrupted, it virtually turns into a brick.

camelCase, snake_case, kebab-case

Different case styles where the name illustrates its appearance.

Code golf

Writing a program in as few characters as possible. Just like how Golf players try to win in the fewest club strokes.

Cookie licking

E.g., claiming a GitHub issue, then not working on it.

Easter egg

A hidden feature, especially in video games, in reference to the Easter egg hunt.

Firmware

The ware between software and hardware.

Floating point number

This representation can encode numbers at very different magnitudes with a limited amount of digits by letting the radix point float instead of being fixed in place.

Framework

In software architecture (like in actual architecture), frameworks provide a basic structure to build upon, guiding and constraining further development.

Glue Code

Jenga and LEGO bricks don't share the same interface, but you can always glue them together.

Great Firewall of China

Chinas controversial internet censorship system and a reference to the Great Wall of China.

Heartbeat

A periodic signal a system sends to confirm it is still alive and functioning, just like a pulse.

Heisenbug

A bug that seems to disappear or change when one tries to study it. It's a pun on Werner Heisenberg, who discovered that the act of observing quantum systems inevitably alters their state.

Hydra

A bug that, when an attempt to fix it is made, introduces multiple new bugs. It's a bug that cannot be fixed.

Magic

A magic program/piece of code is doing its job, but nobody knows how. Like in reality, magic doesn't actually exist. Once you understand it, it's not magic anymore.

Process starvation

A problem where a process is perpetually denied resources to do its work.

Technical debt

The implied future cost of shortcuts taken today, which accumulates like financial debt and must eventually be paid back — often with interest.

Time travel debugging

Stepping back in time through source code to understand execution and sometimes even to change history.

Tree shaking

Shake the dependency tree until all the dead parts are falling off and you end up with a nice lean tree.

Unfair enumeration

A program that outputs all even numbers and then all odd numbers generates an unfair enumeration of the natural numbers because some numbers are never reached.

Yoda condition

When you write if ("red" === color) { instead of if (color === "red") { because it reads as, “if red equals the color”, similar to the way the Star Wars character Yoda speaks.

See category
94

Table of Contents

hesreallyhim/awesome-claude-code

A hand-picked collection of the finest of resources for the most awesome of agents, Claude Code, the undisputed champion of coding companions, from the unstoppable team…

Fresh★ 55k202 entriesPushed today
94

Awesome Agent Skills

VoltAgent/awesome-agent-skills

A curated collection of 1000+ agent skills from official dev teams and the community, compatible with Claude Code, Codex, Gemini CLI, Cursor, and more.

Fresh★ 35k839 entriesPushed today
93

Awesome Machine Learning

josephmisiti/awesome-machine-learning

A curated list of awesome Machine Learning frameworks, libraries and software.

Fresh★ 74k1188 entriesPushed 7 days ago
92

Awesome Production Machine Learning

EthicalML/awesome-production-machine-learning

A curated list of awesome open source libraries to deploy, monitor, version and scale your machine learning

Fresh★ 21k519 entriesPushed 3 days ago
92

AWESOME DATA SCIENCE

academic/awesome-datascience

:memo: An awesome Data Science repository to learn and apply for real world problems.

Fresh★ 30k881 entriesPushed today
91

Static Analysis

analysis-tools-dev/static-analysis

⚙️ A curated list of static analysis (SAST) tools and linters for all programming languages, config files, build tools, and more. The focus is on tools which improve…

Fresh★ 15k528 entriesPushed 8 days ago