User Experience on mobile might not be great yet, but I'm working on it.

Your first time on this page? Allow me to give some explanations.

Awesome Naming

A curated list for when naming things is done right.

Here you can see meta information about this topic like the time we last updated this page, the original creator of the awesome list and a link to the original GitHub repository.

Last Update: None

Thank you gruhn & contributors
View Topic on GitHub:

Search for resources by name or description.
Simply type in what you are looking for and the results will be filtered on the fly.

Further filter the resources on this page by type (repository/other resource), number of stars on GitHub and time of last commit in months.

Data Structures and Algorithms

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

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.

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

A hierarchically organized data structure. From the root item the other items branch out into nodes and leaves.

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

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

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

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

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


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.

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


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

IT Security

A method of bypassing normal authentication in a computer system.

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

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

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

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.

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

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

Libraries and Frameworks

Clooney is an actor library for the web. Use workers without thinking about workers.

1y 54d

JavaScript parser / mangler / compressor / beautifier toolkit


The next open source file uploader for web browsers


Machine Learning

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

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

Programming Languages

User Interface Design

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.

A kind of animated slideshow looping back on itself.

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

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

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

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

Theoretical Computer Science

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

A game without players and nearly no rules which nevertheless produces astonishing complexity.


Acronyms describing competing database ideologies (aka. SQL vs. NoSQL).

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

Different case styles where the name illustrates its appearance.

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

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.

In software architecture (like in actual architecture) frameworks provide basic structure to build upon that guide and constrain the further development.

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

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.

An evaluation stategy which suspends evaluation until it's absolutly necessary and then never does it again.

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

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

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