Track Awesome Naming Updates Weekly
A curated list for when naming things is done right.
🏠 Home · 🔍 Search · 🔥 Feed · 📮 Subscribe · ❤️ Sponsor · 😺 gruhn/awesome-naming · ⭐ 1.4K · 🏷️ Miscellaneous
Nov 03 - Nov 09, 2025
Tools, Applications, Libraries, Frameworks
- bubblewrap (⭐4.9k) - Sandboxing tool froming a protective layer for your system.
Oct 27 - Nov 02, 2025
Computer Graphics
- Gift wrapping algorithm - An algorithm for constructing the smallest shape that wraps a collection of points.
Oct 13 - Oct 19, 2025
IT Security
- Phishing - Refers to the use of lures to "fish" for sensitive information.
- Spear phishing - A targeted, personal phishing attack to trick a specific individual or organization into believing that they are legitimate
Jun 30 - Jul 06, 2025
Other
- Firmware - The ware between software and hardware.
Apr 14 - Apr 20, 2025
Tools, Applications, Libraries, Frameworks
- corrosion (⭐1.3k) - The process that turns metal into rust (literally) but also a tool that "turns" C++ into Rust.
Jan 13 - Jan 19, 2025
Other
- Code golf - Writing a program in as few characters as possible. Just like how Golf players try to win in the fewest club strokes.
Oct 28 - Nov 03, 2024
Other
- Cookie licking - E.g. claiming a GitHub issue, then not working on it.
Aug 12 - Aug 18, 2024
Tools, Applications, Libraries, Frameworks
- CockroachDB - Database application, that is marketed as being so fault tolerant and resilient as a cockroach.
Apr 01 - Apr 07, 2024
Tools, Applications, Libraries, Frameworks
- clooney (⭐1.4k) - A JavaScript library implementing the actor model for concurrent computation. The term is a reference to George Clooney who is also an actor.
- horcrux (⭐4.9k) - Splits a file into encrypted fragments that only together can be decrypted again. In the Harry Potter universe, Horcruxes are fragments of a persons soul. To kill the person, all fragments must be destroyed.
- Puppeteer (⭐93k) - A browser automation library. If the browser is the puppet, this is the puppeteer.
- Uglify (⭐13k) - A JavaScript minifier. Removes everything that makes the code readable and pretty to make it smaller.
- uppy (⭐30k) - 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.
- Webpack - A bundler for JavaScript and other web assets with a short and descriptive name that also somewhat rhymes.
Mar 04 - Mar 10, 2024
Design Patterns and Anti Patterns
- Spaghetti Code - A program with a tangled and hard-to-follow stucture.
Feb 26 - Mar 03, 2024
Other
- Hydra - A bug that, when an attempt to fix is made, introduces multiple new bugs. It's a bug that cannot be fixed.
Feb 12 - Feb 18, 2024
Programming Languages and Programming Language Theory
- Lazy evaluation - An evaluation stategy which suspends evaluation until it's absolutely necessary and then never does it again.
Oct 30 - Nov 05, 2023
Programming Languages and Programming Language Theory
- Choreographic programming - A programming paradigm where programs are compositions of interactions among multiple concurrent participants.
- Garbage Collector - Part of a program that attempts to find and reclaim garbage pieces of memory not used anymore.
- 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.
Oct 23 - Oct 29, 2023
Tools, Applications, Libraries, Frameworks
- Safari - Web browser developed by Apple.
Oct 16 - Oct 22, 2023
Functions
- munch - Parser function that greedily consumes an input stream until it's satisfied.
Oct 02 - Oct 08, 2023
User Interface Design
- Bento layout - A grid based layout resembling the compartmentation of bento boxes.
Jul 24 - Jul 30, 2023
Machine Learning and Artificial Intelligence
- 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.
Jul 17 - Jul 23, 2023
Theoretical Computer Science
- Busy Beaver - Turing machines that produce numbers so insanly large, no other algorithm can keep up with them.
Apr 10 - Apr 16, 2023
Machine Learning and Artificial Intelligence
- 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.
- Training - The process of showing the machine a bunch of examples, until it learns what we want from it.
Nov 21 - Nov 27, 2022
Programming Languages and Programming Language Theory
- C++ - Although C was certainly a bad name, C++ was quite clever. The iconic increment operator ++ indicates that C++ is the successor.
Other
- 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.
Nov 14 - Nov 20, 2022
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.
Other
- ACID vs. BASE - Acronyms describing competing database ideologies (aka. SQL vs. NoSQL). Note that acid and base are also opposites in chemistry.
- camelCase, snake_case, kebab-case - Different case styles where the name illustrates its appearance.
- Magic - A magic program/piece of code is doing it's job but nobody knows how. Like in reality, magic doesn't actually exist. Once you understand it, it's not magic anymore.
- Yoda condition - When you write
if ("red" === color) {instead ofif (color === "red") {because it reads as, “if red equals the color”, similar to the way the Star Wars character Yoda speaks.
Feb 14 - Feb 20, 2022
Other
- Brick - When your device is so corrupted it virtually turns into a brick.
Jan 24 - Jan 30, 2022
Other
- a11y, i18n, k8s, ... - Abbreviating long words by keeping the first and last letter and writing the number of omitted letters in between.
Dec 27 - Jan 02, 2021
Data Structures and Algorithms
- 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.
Tools, Applications, Libraries, Frameworks
- tldr - Simplified man pages with practical examples.
- yarn - NodeJS dependency manager.
Oct 04 - Oct 10, 2021
Design Patterns and Anti Patterns
- Shotgun surgery - A programming antipattern where in a single change you wildly add code everywhere in your codebase.
Aug 30 - Sep 05, 2021
Programming Languages and Programming Language Theory
- Clojure - A functional language making extensive use of closures but with a j because it's running on the Java virtual machine.
Jul 26 - Aug 01, 2021
User Interface Design
- Clipboard - Where you temporarily put files you are working with (i.e. the copy & paste buffer).
Jun 21 - Jun 27, 2021
Theoretical Computer Science
- Oracle - A black box that magically gives answers even to undeciable questions like the halting problem.
May 03 - May 09, 2021
Theoretical Computer Science
- Game of Life - A game world that showcases how astonishing complexity can arise from very simple ingredients.
- 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.
Apr 19 - Apr 25, 2021
Data Structures and Algorithms
- Brute force - Violence is actually almost always a solution but not a very clever one.
Mar 01 - Mar 07, 2021
Data Structures and Algorithms
- 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.
Aug 24 - Aug 30, 2020
Other
- Floating point number - This representation can encode numbers at very different magnitudes with limited amount of digits by letting the radix point float instead of being fixed in place.
Aug 17 - Aug 23, 2020
Machine Learning and Artificial Intelligence
- Confusion matrix - A tabular summary of a classifiers "confusion", i.e. how often it thought to make correct predictions when it actually didn't.
User Interface Design
- 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.
Other
- Framework - In software architecture (like in actual architecture) frameworks provide basic structure to build upon that guide and constrain the further development.
Jul 27 - Aug 02, 2020
Other
- Bottleneck - A central part of a network/application that significantly limits throughput/performance and should ideally be eliminated.
Jul 20 - Jul 26, 2020
Other
- 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.
Jun 15 - Jun 21, 2020
Other
- Tree shaking - Shake the dependency tree until all the dead parts are falling off and you end up with a nice lean tree.
Apr 27 - May 03, 2020
Data Structures and Algorithms
- 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 have already waiting friends.
Mar 30 - Apr 05, 2020
Other
- Glue Code - Jenga and LEGO bricks don't share the same interface but you can always glue them together.
Feb 17 - Feb 23, 2020
Data Structures and Algorithms
- Stack - Like with a stack of pancakes you can only add and remove items from the top of this data structure.
- 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.
Design Patterns and Anti Patterns
- Facade - Analogous to a facade in architecture, a facade is an object that serves as a front-facing interface masking more complex underlying structure.
Theoretical Computer Science
- Clique problem - The problem of finding groups of mutual friends in a network of people with friendship relations. Or more general, finding complete subgraphs.
Jan 20 - Jan 26, 2020
Design Patterns and Anti Patterns
- Promise - A representation of a result that is available in the future, unless there are errors. Like in reality, promises are broken sometimes.
Dec 02 - Dec 08, 2019
IT Security
- Computer virus - A computer program that self replicates by infecting other computer programs similar to the behavior of biological viruses.
Other
- Easter egg - A hidden feature especially in video games in reference to the Easter egg hunt.
Nov 25 - Dec 01, 2019
Data Structures and Algorithms
- 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.
IT Security
- 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.
- 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.
Oct 21 - Oct 27, 2019
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.
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.
- trampoline - Continuously runs functions which itself 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.
User Interface Design
- 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.
- 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.
Other
- Process starvation - A problem where a process is perpetually denied resources to do its work.
- Time travel debugging - Stepping back in time through source code to understand execution and sometimes even to change history.