1 line
No EOL
17 KiB
JSON
1 line
No EOL
17 KiB
JSON
{"slug": "gruhn--awesome-naming", "title": "Naming", "description": "A curated list for when naming things is done right.", "github_url": "https://github.com/gruhn/awesome-naming", "stars": "1.4K", "tag": "Miscellaneous", "entry_count": 94, "subcategory_count": 1, "subcategories": [{"name": "General", "parent": "", "entries": [{"name": "Computer Graphics", "url": "#computer-graphics", "description": ""}, {"name": "Data Structures and Algorithms", "url": "#data-structures-and-algorithms", "description": ""}, {"name": "Design Patterns and Anti Patterns", "url": "#design-patterns-and-anti-patterns", "description": ""}, {"name": "Functions", "url": "#functions", "description": ""}, {"name": "IT Security", "url": "#it-security", "description": ""}, {"name": "Machine Learning and Artificial Intelligence", "url": "#machine-learning-and-artificial-intelligence", "description": ""}, {"name": "Programming Languages and Programming Language Theory", "url": "#programming-languages-and-programming-language-theory", "description": ""}, {"name": "Theoretical Computer Science", "url": "#theoretical-computer-science", "description": ""}, {"name": "Tools, Applications, Libraries, Frameworks", "url": "#tools-applications-libraries-frameworks", "description": ""}, {"name": "User Interface Design", "url": "#user-interface-design", "description": ""}, {"name": "Other", "url": "#other", "description": ""}, {"name": "Gift wrapping algorithm", "url": "https://en.wikipedia.org/wiki/Gift_wrapping_algorithm", "description": "An algorithm for constructing the smallest shape that wraps a collection of points."}, {"name": "Backtracking", "url": "https://de.wikipedia.org/wiki/Backtracking", "description": "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."}, {"name": "Brute force", "url": "https://en.m.wikipedia.org/wiki/Brute-force_search", "description": "Violence is actually almost always a solution but not a very clever one."}, {"name": "Greedy algorithm", "url": "https://en.wikipedia.org/wiki/Greedy_algorithm", "description": "An algorithm that finds a solution by always picking the currently best looking option without thinking too much about past and future decisions."}, {"name": "Hill climbing", "url": "https://en.wikipedia.org/wiki/Hill_climbing", "description": "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."}, {"name": "Israeli Queue", "url": "https://rapidapi.com/blog/israeli-queues-exploring-a-bizarre-data-structure/", "description": "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*."}, {"name": "Stack", "url": "https://en.wikipedia.org/wiki/Stack_\\(abstract_data_type\\", "description": ""}, {"name": "Tree", "url": "https://en.wikipedia.org/wiki/Tree_\\(data_structure\\", "description": ""}, {"name": "Queue", "url": "https://en.wikipedia.org/wiki/Queue_\\(abstract_data_type\\", "description": ""}, {"name": "Adapter", "url": "https://en.wikipedia.org/wiki/Adapter_pattern", "description": "Allows classes with incompatible interfaces to work together by wrapping its own interface around that of an already existing class."}, {"name": "Facade", "url": "https://en.wikipedia.org/wiki/Facade_pattern", "description": "Analogous to a facade in architecture, a facade is an object that serves as a front-facing interface masking more complex underlying structure."}, {"name": "Promise", "url": "https://en.wikipedia.org/wiki/Futures_and_promises", "description": "A representation of a result that is available in the future, unless there are errors. Like in reality, promises are broken sometimes."}, {"name": "Shotgun surgery", "url": "https://en.wikipedia.org/wiki/Shotgun_surgery", "description": "A programming antipattern where in a single change you wildly add code everywhere in your codebase."}, {"name": "Spaghetti Code", "url": "https://en.wikipedia.org/wiki/Spaghetti_code", "description": "A program with a tangled and hard-to-follow stucture."}, {"name": "fold", "url": "https://en.wikipedia.org/wiki/Fold_\\(higher-order_function\\", "description": ""}, {"name": "munch", "url": "https://hackage.haskell.org/package/base-4.19.0.0/docs/Text-ParserCombinators-ReadP.html#v:munch", "description": "Parser function that greedily consumes an input stream until it's satisfied."}, {"name": "trampoline", "url": "https://clojuredocs.org/clojure.core/trampoline", "description": "Continuously runs functions which itself return functions. Like a child on a trampoline that *returns* and bounces back up."}, {"name": "zip", "url": "https://hackage.haskell.org/package/base-4.12.0.0/docs/Prelude.html#v:zip", "description": "Merges two lists into one list of pairs like the interlocking teeth of a zipper."}, {"name": "Backdoor", "url": "https://en.wikipedia.org/wiki/Backdoor_\\(computing\\", "description": ""}, {"name": "Computer virus", "url": "https://en.wikipedia.org/wiki/Computer_virus", "description": "A computer program that self replicates by *infecting* other computer programs similar to the behavior of biological viruses."}, {"name": "Cyber hygiene", "url": "https://digitalguardian.com/blog/what-cyber-hygiene-definition-cyber-hygiene-benefits-best-practices-and-more", "description": "Steps and practices that users should take to maintain system health and improve online security."}, {"name": "Honeypot", "url": "https://en.wikipedia.org/wiki/Honeypot_\\(computing\\", "description": ""}, {"name": "Phishing", "url": "https://en.wikipedia.org/wiki/Phishing", "description": "Refers to the use of lures to \"fish\" for sensitive information."}, {"name": "Phoning home", "url": "https://en.wikipedia.org/wiki/Phoning_home", "description": "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."}, {"name": "Sandbox", "url": "https://en.wikipedia.org/wiki/Sandbox_\\(computer_security\\", "description": ""}, {"name": "Spear phishing", "url": "https://en.wikipedia.org/wiki/Phishing#Spear_phishing", "description": "A targeted, personal phishing attack to trick a specific individual or organization into believing that they are legitimate"}, {"name": "Trojan horse", "url": "https://en.wikipedia.org/wiki/Trojan_horse_\\(computing\\", "description": ""}, {"name": "Confusion matrix", "url": "https://en.wikipedia.org/wiki/Confusion_matrix", "description": "A tabular summary of a classifiers \"confusion\", i.e. how often it thought to make correct predictions when it actually didn't."}, {"name": "Decision boundary", "url": "https://en.wikipedia.org/wiki/Decision_boundary", "description": "A boundary dividing the space of possible data points. Here you decide, everything on this side is SPAM, everything on that side is not."}, {"name": "Gradient descent", "url": "https://en.wikipedia.org/wiki/Gradient_descent", "description": "Minimizing a cost function by iteratively computing the gradient and moving in the direction of steepest descent."}, {"name": "Hallucination", "url": "https://en.wikipedia.org/wiki/Hallucination_\\(artificial_intelligence\\", "description": ""}, {"name": "Training", "url": "https://en.wikipedia.org/wiki/Training,_validation,_and_test_data_sets", "description": "The process of showing the machine a bunch of examples, until it learns what we want from it."}, {"name": "Choreographic programming", "url": "https://en.wikipedia.org/wiki/Choreographic_programming", "description": "A programming paradigm where programs are compositions of interactions among multiple concurrent participants."}, {"name": "Clojure", "url": "https://clojure.org/", "description": "A functional language making extensive use of **closures** but with a **j** because it's running on the Java virtual machine."}, {"name": "C++", "url": "https://en.wikipedia.org/wiki/C%2B%2B#External_links", "description": "Although C was certainly a bad name, C++ was quite clever. The iconic increment operator **++** indicates that **C++** is the successor."}, {"name": "Garbage Collector", "url": "https://en.m.wikipedia.org/wiki/Garbage_collection_\\(computer_science\\", "description": ""}, {"name": "Lazy evaluation", "url": "https://en.wikipedia.org/wiki/Lazy_evaluation", "description": "An evaluation stategy which suspends evaluation until it's absolutely necessary and then never does it again."}, {"name": "Syntactic sugar", "url": "https://en.wikipedia.org/wiki/Syntactic_sugar", "description": "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."}, {"name": "Bento layout", "url": "https://www.saasframe.io/blog/the-bento-layout-trend", "description": "A grid based layout resembling the compartmentation of bento boxes."}, {"name": "Breadcrumb", "url": "https://en.wikipedia.org/wiki/Breadcrumb_\\(navigation\\", "description": ""}, {"name": "Carousel", "url": "https://www.nngroup.com/articles/designing-effective-carousels/", "description": "A kind of animated slideshow looping back on itself."}, {"name": "Clipboard", "url": "https://en.wikipedia.org/wiki/Clipboard_\\(computing\\", "description": ""}, {"name": "Desktop", "url": "https://en.wikipedia.org/wiki/Desktop_metaphor", "description": "The metaphorical top of the user's desk, upon which objects such as documents and folders of documents can be placed."}, {"name": "Hamburger button", "url": "https://en.wikipedia.org/wiki/Hamburger_button", "description": "A button to toggle a menu. The associated icon resembles a hamburger."}, {"name": "Optimistic UI", "url": "https://uxplanet.org/optimistic-1000-34d9eefe4c05", "description": "User interfaces that assume expensive operations will complete successfully thereby improving the perceived performance."}, {"name": "Scrolling", "url": "https://en.wikipedia.org/wiki/Scrolling", "description": "Screen content is often less like a book with discrete pages and more like a continuous roll of parchment, i.e. a scroll."}, {"name": "Busy Beaver", "url": "https://en.wikipedia.org/wiki/Busy_beaver", "description": "Turing machines that produce numbers so insanly large, no other algorithm can keep up with them."}, {"name": "Clique problem", "url": "https://en.wikipedia.org/wiki/Clique_problem", "description": "The problem of finding groups of mutual friends in a network of people with friendship relations. Or more general, finding complete subgraphs."}, {"name": "Game of Life", "url": "https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life", "description": "A game world that showcases how astonishing complexity can arise from very simple ingredients."}, {"name": "Oracle", "url": "https://en.wikipedia.org/wiki/Oracle_machine", "description": "A black box that magically gives answers even to undeciable questions like the halting problem."}, {"name": "Pumping lemma", "url": "https://en.wikipedia.org/wiki/Pumping_lemma", "description": "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."}, {"name": "bubblewrap", "url": "https://github.com/containers/bubblewrap", "description": "Sandboxing tool froming a protective layer for your system.", "stars": "5.1k"}, {"name": "clooney", "url": "https://github.com/GoogleChromeLabs/clooney", "description": "A JavaScript library implementing the actor model for concurrent computation. The term is a reference to George Clooney who is also an actor.", "stars": "1.4k"}, {"name": "CockroachDB", "url": "https://web.archive.org/web/20150514123425/http://www.wired.co.uk/news/archive/2014-07/22/cockroachdb", "description": "Database application, that is marketed as being so fault tolerant and resilient as a cockroach."}, {"name": "corrosion", "url": "https://github.com/corrosion-rs/corrosion", "description": "The process that turns metal into rust (literally) but also a tool that \"turns\" C++ into Rust.", "stars": "1.4k"}, {"name": "horcrux", "url": "https://github.com/jesseduffield/horcrux", "description": "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.", "stars": "5k"}, {"name": "Puppeteer", "url": "https://github.com/puppeteer/puppeteer", "description": "A browser automation library. If the browser is the puppet, this is the puppeteer.", "stars": "93k"}, {"name": "Safari", "url": "https://en.wikipedia.org/wiki/Safari_\\(web_browser\\", "description": ""}, {"name": "tldr", "url": "https://tldr.sh/", "description": "Simplified man pages with practical examples."}, {"name": "Uglify", "url": "https://github.com/mishoo/UglifyJS", "description": "A JavaScript minifier. Removes everything that makes the code readable and pretty to make it smaller.", "stars": "13k"}, {"name": "uppy", "url": "https://github.com/transloadit/uppy", "description": "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*.", "stars": "30k"}, {"name": "Webpack", "url": "https://webpack.js.org/", "description": "A bundler for JavaScript and other *web* assets with a short and descriptive name that also somewhat rhymes."}, {"name": "yarn", "url": "https://yarnpkg.com/", "description": "NodeJS dependency manager."}, {"name": "a11y, i18n, k8s, ...", "url": "https://en.wikipedia.org/wiki/Numeronym", "description": "Abbreviating long words by keeping the first and last letter and writing the number of omitted letters in between."}, {"name": "ACID vs. BASE", "url": "https://www.johndcook.com/blog/2009/07/06/brewer-cap-theorem-base/", "description": "Acronyms describing competing database ideologies (aka. SQL vs. NoSQL). Note that acid and base are also opposites in chemistry."}, {"name": "Bottleneck", "url": "https://en.wikipedia.org/wiki/Bottleneck#Computing", "description": "A central part of a network/application that significantly limits throughput/performance and should ideally be eliminated."}, {"name": "Brick", "url": "https://en.m.wikipedia.org/wiki/Brick_\\(electronics\\", "description": ""}, {"name": "camelCase, snake\\_case, kebab-case", "url": "https://en.wikipedia.org/wiki/Letter_case#Use_within_programming_languages", "description": "Different case styles where the name illustrates its appearance."}, {"name": "Code golf", "url": "https://en.wikipedia.org/wiki/Code_golf", "description": "Writing a program in as few characters as possible. Just like how Golf players try to win in the fewest club strokes."}, {"name": "Cookie licking", "url": "https://devblogs.microsoft.com/oldnewthing/20091201-00/?p=15843", "description": "E.g. claiming a GitHub issue, then not working on it."}, {"name": "Easter egg", "url": "https://en.wikipedia.org/wiki/Easter_egg_\\(media\\", "description": ""}, {"name": "Firmware", "url": "https://en.wikipedia.org/wiki/Firmware", "description": "The *ware* between *software* and *hardware*."}, {"name": "Floating point number", "url": "https://floating-point-gui.de/formats/fp/", "description": "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."}, {"name": "Framework", "url": "https://en.wikipedia.org/wiki/Software_framework", "description": "In software architecture (like in actual architecture) frameworks provide basic structure to build upon that guide and constrain the further development."}, {"name": "Glue Code", "url": "https://en.wikipedia.org/wiki/Glue_code", "description": "Jenga and LEGO bricks don't share the same interface but you can always glue them together."}, {"name": "Heisenbug", "url": "https://en.wikipedia.org/wiki/Heisenbug", "description": "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."}, {"name": "Hydra", "url": "https://computer-dictionary-online.org/definitions-h/hydra-code", "description": "A bug that, when an attempt to fix is made, introduces multiple new bugs. It's a bug that cannot be fixed."}, {"name": "Magic", "url": "https://en.wikipedia.org/wiki/Magic_\\(programming\\", "description": ""}, {"name": "Process starvation", "url": "https://en.wikipedia.org/wiki/Starvation_\\(computer_science\\", "description": ""}, {"name": "Time travel debugging", "url": "https://en.wikipedia.org/wiki/Time_travel_debugging", "description": "Stepping back in time through source code to understand execution and sometimes even to change history."}, {"name": "Tree shaking", "url": "https://en.wikipedia.org/wiki/Tree_shaking", "description": "Shake the dependency tree until all the dead parts are falling off and you end up with a nice lean tree."}, {"name": "Unfair enumeration", "url": "https://www.youtube.com/watch?v=CvLsVfq6cks\\&t=835s", "description": "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."}, {"name": "Yoda condition", "url": "https://eslint.org/docs/latest/rules/yoda", "description": "When you write `if (\"red\" === color) {` instead of `if (color === \"red\") {` because it reads as, \u201cif red equals the color\u201d, similar to the way the Star Wars character Yoda speaks."}]}], "name": ""} |