[38;5;12m                                                                                [39m[38;2;255;187;0m[1m[4mAwesome Naming [0m[38;5;14m[1m[4m![0m[38;2;255;187;0m[1m[4mAwesome[0m[38;5;14m[1m[4m (https://awesome.re/badge.svg)[0m[38;2;255;187;0m[1m[4m (https://awesome.re)[0m


[38;5;12mFamously...[39m


[38;5;11m[1m▐[0m[38;5;12m [39m[38;5;12mThere are only two hard things in Computer Science: cache invalidation and naming things.[39m
[38;5;11m[1m▐[0m[38;5;12m [39m
[38;5;11m[1m▐[0m[38;5;12m [39m[38;5;12m― Phil Karlton[39m

[38;5;12mConcepts in computer science are usually nothing tangible so it's no surprise that naming things is hard.[39m
[38;5;12mNevertheless, we _do_ come up with clever, creative and funny names.[39m
[38;5;12mSome of them so established, we never pause and admire.[39m

[38;5;12mThis is a curated list for when naming things is done right.[39m

[38;2;255;187;0m[4mContents [0m

[38;5;12m- [39m[38;5;14m[1mData Structures and Algorithms[0m[38;5;12m (#data-structures-and-algorithms)[39m
[38;5;12m- [39m[38;5;14m[1mDesign Patterns and Anti Patterns[0m[38;5;12m (#design-patterns-and-anti-patterns)[39m
[38;5;12m- [39m[38;5;14m[1mFunctions[0m[38;5;12m (#functions)[39m
[38;5;12m- [39m[38;5;14m[1mIT Security[0m[38;5;12m (#it-security)[39m
[38;5;12m- [39m[38;5;14m[1mMachine Learning and Artificial Intelligence[0m[38;5;12m (#machine-learning-and-artificial-intelligence)[39m
[38;5;12m- [39m[38;5;14m[1mProgramming Languages and Programming Language Theory[0m[38;5;12m (#programming-languages-and-programming-language-theory)[39m
[38;5;12m- [39m[38;5;14m[1mTheoretical Computer Science[0m[38;5;12m (#theoretical-computer-science) [39m
[38;5;12m- [39m[38;5;14m[1mTools, Applications, Libraries, Frameworks[0m[38;5;12m (#tools-applications-libraries-frameworks)[39m
[38;5;12m- [39m[38;5;14m[1mUser Interface Design[0m[38;5;12m (#user-interface-design)[39m
[38;5;12m- [39m[38;5;14m[1mOther[0m[38;5;12m (#other)[39m

[38;5;238m――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――[39m

[38;2;255;187;0m[4mData Structures and Algorithms[0m

[38;5;12m- [39m[38;5;14m[1mBacktracking[0m[38;5;12m (https://de.wikipedia.org/wiki/Backtracking) - When you explore a search space and you reach a dead end, you follow your [39m[48;2;30;30;40m[38;5;13m[3mtracks[0m[38;5;12m back to the last crossroad and try the other way. [39m
[38;5;12m- [39m[38;5;14m[1mBrute force[0m[38;5;12m (https://en.m.wikipedia.org/wiki/Brute-force_search) - Violence is actually almost always a solution but not a very clever one.[39m
[38;5;12m- [39m[38;5;14m[1mGreedy algorithm[0m[38;5;12m (https://en.wikipedia.org/wiki/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.[39m
[38;5;12m- [39m[38;5;14m[1mHill climbing[0m[38;5;12m (https://en.wikipedia.org/wiki/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. [39m
[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1mIsraeli[0m[38;5;14m[1m [0m[38;5;14m[1mQueue[0m[38;5;12m [39m[38;5;12m(https://rapidapi.com/blog/israeli-queues-exploring-a-bizarre-data-structure/)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mA[39m[38;5;12m [39m[38;5;12mtype[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12mpriority[39m[38;5;12m [39m[38;5;12mqueue[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mreference[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12minfamously[39m[38;5;12m [39m[38;5;12munorganized[39m[38;5;12m [39m[38;5;12mqueues[39m[38;5;12m [39m[38;5;12min[39m[38;5;12m [39m[38;5;12mIsrael.[39m[38;5;12m [39m[38;5;12mHere[39m[38;5;12m [39m[38;5;12mitems[39m[38;5;12m [39m[38;5;12mcan[39m[38;5;12m [39m[48;2;30;30;40m[38;5;13m[3mcut[0m[48;2;30;30;40m[38;5;13m[3m [0m[48;2;30;30;40m[38;5;13m[3min[0m[48;2;30;30;40m[38;5;13m[3m [0m[48;2;30;30;40m[38;5;13m[3mline[0m[38;5;12m [39m[38;5;12mwhen[39m[38;5;12m [39m[38;5;12mthey[39m[38;5;12m [39m[48;2;30;30;40m[38;5;13m[3mhave[0m[48;2;30;30;40m[38;5;13m[3m [0m[48;2;30;30;40m[38;5;13m[3malready[0m[48;2;30;30;40m[38;5;13m[3m [0m
[48;2;30;30;40m[38;5;13m[3mwaiting[0m[48;2;30;30;40m[38;5;13m[3m [0m[48;2;30;30;40m[38;5;13m[3mfriends[0m[38;5;12m.[39m
[38;5;12m- [39m[38;5;14m[1mStack[0m[38;5;12m (https://en.wikipedia.org/wiki/Stack_(abstract_data_type)) - Like with a stack of pancakes you can only add and remove items from the top of this data structure.[39m
[38;5;12m- [39m[38;5;14m[1mTree[0m[38;5;12m (https://en.wikipedia.org/wiki/Tree_(data_structure)) - 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 [39m[48;2;30;30;40m[38;5;13m[3mforest[0m[38;5;12m.[39m
[38;5;12m- [39m[38;5;14m[1mQueue[0m[38;5;12m (https://en.wikipedia.org/wiki/Queue_(abstract_data_type)) - In this data structure items are always added at the end and removed at the front as if the items were waiting in line.[39m

[38;2;255;187;0m[4mDesign Patterns and Anti Patterns[0m

[38;5;12m- [39m[38;5;14m[1mAdapter[0m[38;5;12m (https://en.wikipedia.org/wiki/Adapter_pattern) - Allows classes with incompatible interfaces to work together by wrapping its own interface around that of an already existing class.[39m
[38;5;12m- [39m[38;5;14m[1mFacade[0m[38;5;12m (https://en.wikipedia.org/wiki/Facade_pattern) - Analogous to a facade in architecture, a facade is an object that serves as a front-facing interface masking more complex underlying structure.[39m
[38;5;12m- [39m[38;5;14m[1mPromise[0m[38;5;12m (https://en.wikipedia.org/wiki/Futures_and_promises) - A representation of a result that is available in the future, unless there are errors. Like in reality, promises are broken sometimes.[39m
[38;5;12m- [39m[38;5;14m[1mShotgun surgery[0m[38;5;12m (https://en.wikipedia.org/wiki/Shotgun_surgery) - A programming antipattern where in a single change you wildly add code everywhere in your codebase.[39m
[38;5;12m- [39m[38;5;14m[1mSpaghetti Code[0m[38;5;12m (https://en.wikipedia.org/wiki/Spaghetti_code) - A program with a tangled and hard-to-follow stucture.[39m

[38;2;255;187;0m[4mFunctions[0m

[38;5;12m- [39m[38;5;14m[1mfold[0m[38;5;12m (https://en.wikipedia.org/wiki/Fold_(higher-order_function)) - 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.[39m
[38;5;12m- [39m[38;5;14m[1mmunch[0m[38;5;12m (https://hackage.haskell.org/package/base-4.19.0.0/docs/Text-ParserCombinators-ReadP.html#v:munch) - Parser function that greedily consumes an input stream until it's satisfied.[39m
[38;5;12m- [39m[38;5;14m[1mtrampoline[0m[38;5;12m (https://clojuredocs.org/clojure.core/trampoline) - Continuously runs functions which itself return functions. Like a child on a trampoline that _returns_ and bounces back up. [39m
[38;5;12m- [39m[38;5;14m[1mzip[0m[38;5;12m (https://hackage.haskell.org/package/base-4.12.0.0/docs/Prelude.html#v:zip) - Merges two lists into one list of pairs like the interlocking teeth of a zipper.[39m

[38;2;255;187;0m[4mIT Security[0m

[38;5;12m- [39m[38;5;14m[1mBackdoor[0m[38;5;12m (https://en.wikipedia.org/wiki/Backdoor_(computing)) - A method of bypassing normal authentication in a computer system.[39m
[38;5;12m- [39m[38;5;14m[1mComputer virus[0m[38;5;12m (https://en.wikipedia.org/wiki/Computer_virus) - A computer program that self replicates by _infecting_ other computer programs similar to the behavior of biological viruses.[39m
[38;5;12m- [39m[38;5;14m[1mCyber hygiene[0m[38;5;12m (https://digitalguardian.com/blog/what-cyber-hygiene-definition-cyber-hygiene-benefits-best-practices-and-more) - Steps and practices that users should take to maintain system health and improve online security.[39m
[38;5;12m- [39m[38;5;14m[1mHoneypot[0m[38;5;12m (https://en.wikipedia.org/wiki/Honeypot_(computing)) - Part of a system meant to look like an attractive target but actually helps detect and deflect attackers.[39m
[38;5;12m- [39m[38;5;14m[1mPhoning home[0m[38;5;12m (https://en.wikipedia.org/wiki/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.[39m
[38;5;12m- [39m[38;5;14m[1mSandbox[0m[38;5;12m (https://en.wikipedia.org/wiki/Sandbox_(computer_security)) - A safe and isolated environment to test unverified programs that may contain malicious code.[39m
[38;5;12m- [39m[38;5;14m[1mTrojan horse[0m[38;5;12m (https://en.wikipedia.org/wiki/Trojan_horse_(computing)) - Malware which misleads users of its true intent. The term is derived from the Ancient Greek story of the deceptive Trojan Horse. [39m

[38;2;255;187;0m[4mMachine Learning and Artificial Intelligence[0m

[38;5;12m- [39m[38;5;14m[1mConfusion matrix[0m[38;5;12m (https://en.wikipedia.org/wiki/Confusion_matrix) - A tabular summary of a classifiers "confusion", i.e. how often it thought to make correct predictions when it actually didn't.[39m
[38;5;12m- [39m[38;5;14m[1mDecision boundary[0m[38;5;12m (https://en.wikipedia.org/wiki/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.[39m
[38;5;12m- [39m[38;5;14m[1mGradient descent[0m[38;5;12m (https://en.wikipedia.org/wiki/Gradient_descent) - Minimizing a cost function by iteratively computing the gradient and moving in the direction of steepest descent. [39m
[38;5;12m- [39m[38;5;14m[1mHallucination[0m[38;5;12m (https://en.wikipedia.org/wiki/Hallucination_(artificial_intelligence)) - A confident response by an AI that does not seem to be justified by its training data.[39m
[38;5;12m- [39m[38;5;14m[1mTraining[0m[38;5;12m (https://en.wikipedia.org/wiki/Training,_validation,_and_test_data_sets) - The process of showing the machine a bunch of examples, until it learns what we want from it.[39m

[38;2;255;187;0m[4mProgramming Languages and Programming Language Theory[0m

[38;5;12m- [39m[38;5;14m[1mChoreographic programming[0m[38;5;12m (https://en.wikipedia.org/wiki/Choreographic_programming) - A programming paradigm where programs are compositions of interactions among multiple concurrent participants.[39m
[38;5;12m- [39m[38;5;14m[1mClojure[0m[38;5;12m (https://clojure.org/) - A functional language making extensive use of [39m[38;5;14m[1mclosures[0m[38;5;12m but with a [39m[38;5;14m[1mj[0m[38;5;12m because it's running on the Java virtual machine.[39m
[38;5;12m- [39m[38;5;14m[1mC++[0m[38;5;12m (https://en.wikipedia.org/wiki/C%2B%2B#External_links) - Although C was certainly a bad name, C++ was quite clever. The iconic increment operator [39m[38;5;14m[1m++[0m[38;5;12m indicates that [39m[38;5;14m[1mC++[0m[38;5;12m is the successor.[39m
[38;5;12m- [39m[38;5;14m[1mGarbage Collector[0m[38;5;12m (https://en.m.wikipedia.org/wiki/Garbage_collection_(computer_science)) - Part of a program that attempts to find and reclaim garbage pieces of memory not used anymore.[39m
[38;5;12m- [39m[38;5;14m[1mLazy evaluation[0m[38;5;12m (https://en.wikipedia.org/wiki/Lazy_evaluation) - An evaluation stategy which suspends evaluation until it's absolutely necessary and then never does it again.[39m
[38;5;12m- [39m[38;5;14m[1mSyntactic sugar[0m[38;5;12m (https://en.wikipedia.org/wiki/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.[39m

[38;2;255;187;0m[4mUser Interface Design[0m

[38;5;12m- [39m[38;5;14m[1mBento layout[0m[38;5;12m (https://www.saasframe.io/blog/the-bento-layout-trend) - A grid based layout resembling the compartmentation of bento boxes.[39m
[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1mBreadcrumb[0m[38;5;12m [39m[38;5;12m(https://en.wikipedia.org/wiki/Breadcrumb_(navigation))[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mNavigational[39m[38;5;12m [39m[38;5;12maid[39m[38;5;12m [39m[38;5;12mallowing[39m[38;5;12m [39m[38;5;12musers[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12mkeep[39m[38;5;12m [39m[38;5;12mtrack[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12mtheir[39m[38;5;12m [39m[38;5;12mlocation[39m[38;5;12m [39m[38;5;12mwithin[39m[38;5;12m [39m[38;5;12mprograms,[39m[38;5;12m [39m[38;5;12mdocuments,[39m[38;5;12m [39m[38;5;12mor[39m[38;5;12m [39m[38;5;12mwebsites.[39m[38;5;12m [39m[38;5;12mThe[39m[38;5;12m [39m[38;5;12mterm[39m[38;5;12m [39m[38;5;12mis[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mreference[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mfairy[39m[38;5;12m [39m[38;5;12mtale[39m[38;5;12m [39m[38;5;12m_Hansel[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m
[38;5;12mGretel_.[39m
[38;5;12m- [39m[38;5;14m[1mCarousel[0m[38;5;12m (https://www.nngroup.com/articles/designing-effective-carousels/) - A kind of animated slideshow looping back on itself.[39m
[38;5;12m- [39m[38;5;14m[1mClipboard[0m[38;5;12m (https://en.wikipedia.org/wiki/Clipboard_(computing)) - Where you temporarily put _files_ you are working with (i.e. the copy & paste buffer).[39m
[38;5;12m- [39m[38;5;14m[1mDesktop[0m[38;5;12m (https://en.wikipedia.org/wiki/Desktop_metaphor) - The metaphorical top of the user's desk, upon which objects such as documents and folders of documents can be placed.[39m
[38;5;12m- [39m[38;5;14m[1mHamburger button[0m[38;5;12m (https://en.wikipedia.org/wiki/Hamburger_button) - A button to toggle a menu. The associated icon resembles a hamburger.[39m
[38;5;12m- [39m[38;5;14m[1mOptimistic UI[0m[38;5;12m (https://uxplanet.org/optimistic-1000-34d9eefe4c05) - User interfaces that assume expensive operations will complete successfully thereby improving the perceived performance.[39m
[38;5;12m- [39m[38;5;14m[1mScrolling[0m[38;5;12m (https://en.wikipedia.org/wiki/Scrolling) - Screen content is often less like a book with discrete pages and more like a continuous roll of parchment, i.e. a scroll.[39m

[38;2;255;187;0m[4mTheoretical Computer Science[0m

[38;5;12m- [39m[38;5;14m[1mBusy Beaver[0m[38;5;12m (https://en.wikipedia.org/wiki/Busy_beaver) - Turing machines that produce numbers so insanly large, no other algorithm can keep up with them.[39m
[38;5;12m- [39m[38;5;14m[1mClique problem[0m[38;5;12m (https://en.wikipedia.org/wiki/Clique_problem) - The problem of finding groups of mutual friends in a network of people with friendship relations. Or more general, finding complete subgraphs.[39m
[38;5;12m- [39m[38;5;14m[1mGame of Life[0m[38;5;12m (https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life) - A game world that showcases how astonishing complexity can arise from very simple ingredients.[39m
[38;5;12m- [39m[38;5;14m[1mOracle[0m[38;5;12m (https://en.wikipedia.org/wiki/Oracle_machine) - A black box that magically gives answers even to undeciable questions like the halting problem. [39m
[38;5;12m- [39m[38;5;14m[1mPumping lemma[0m[38;5;12m (https://en.wikipedia.org/wiki/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.[39m

[38;2;255;187;0m[4mTools, Applications, Libraries, Frameworks[0m

[38;5;12m- [39m[38;5;14m[1mclooney[0m[38;5;12m (https://github.com/GoogleChromeLabs/clooney) - A JavaScript library implementing the actor model for concurrent computation. The term is a reference to George Clooney who is also an actor.[39m
[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1mhorcrux[0m[38;5;12m [39m[38;5;12m(https://github.com/jesseduffield/horcrux)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mSplits[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mfile[39m[38;5;12m [39m[38;5;12minto[39m[38;5;12m [39m[38;5;12mencrypted[39m[38;5;12m [39m[38;5;12mfragments[39m[38;5;12m [39m[38;5;12mthat[39m[38;5;12m [39m[38;5;12monly[39m[38;5;12m [39m[38;5;12mtogether[39m[38;5;12m [39m[38;5;12mcan[39m[38;5;12m [39m[38;5;12mbe[39m[38;5;12m [39m[38;5;12mdecrypted[39m[38;5;12m [39m[38;5;12magain.[39m[38;5;12m [39m[38;5;12mIn[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mHarry[39m[38;5;12m [39m[38;5;12mPotter[39m[38;5;12m [39m[38;5;12muniverse,[39m[38;5;12m [39m[38;5;12mHorcruxes[39m[38;5;12m [39m[38;5;12mare[39m[38;5;12m [39m[38;5;12mfragments[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mpersons[39m[38;5;12m [39m[38;5;12msoul.[39m[38;5;12m [39m[38;5;12mTo[39m[38;5;12m [39m[38;5;12mkill[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mperson,[39m[38;5;12m [39m[38;5;12mall[39m[38;5;12m [39m
[38;5;12mfragments[39m[38;5;12m [39m[38;5;12mmust[39m[38;5;12m [39m[38;5;12mbe[39m[38;5;12m [39m[38;5;12mdestroyed.[39m
[38;5;12m- [39m[38;5;14m[1mPuppeteer[0m[38;5;12m (https://github.com/puppeteer/puppeteer) - A browser automation library. If the browser is the puppet, this is the puppeteer.[39m
[38;5;12m- [39m[38;5;14m[1mSafari[0m[38;5;12m (https://en.wikipedia.org/wiki/Safari_(web_browser)) - Web browser developed by Apple.[39m
[38;5;12m- [39m[38;5;14m[1mtldr[0m[38;5;12m (https://tldr.sh/) - Simplified man pages with practical examples.[39m
[38;5;12m- [39m[38;5;14m[1mUglify[0m[38;5;12m (https://github.com/mishoo/UglifyJS) - A JavaScript minifier. Removes everything that makes the code readable and pretty to make it smaller.[39m
[38;5;12m- [39m[38;5;14m[1muppy[0m[38;5;12m (https://github.com/transloadit/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_.[39m
[38;5;12m- [39m[38;5;14m[1mWebpack[0m[38;5;12m (https://webpack.js.org/) - A bundler for JavaScript and other [39m[48;2;30;30;40m[38;5;13m[3mweb[0m[38;5;12m assets with a short and descriptive name that also somewhat rhymes.[39m
[38;5;12m- [39m[38;5;14m[1myarn[0m[38;5;12m (https://yarnpkg.com/) - NodeJS dependency manager.[39m

[38;2;255;187;0m[4mOther[0m

[38;5;12m- [39m[38;5;14m[1ma11y, i18n, k8s, ...[0m[38;5;12m (https://en.wikipedia.org/wiki/Numeronym) - Abbreviating long words by keeping the first and last letter and writing the number of omitted letters in between. [39m
[38;5;12m- [39m[38;5;14m[1mACID vs. BASE[0m[38;5;12m (https://www.johndcook.com/blog/2009/07/06/brewer-cap-theorem-base/) - Acronyms describing competing database ideologies (aka. SQL vs. NoSQL). Note that acid and base are also opposites in chemistry.[39m
[38;5;12m- [39m[38;5;14m[1mBottleneck[0m[38;5;12m (https://en.wikipedia.org/wiki/Bottleneck#Computing) - A central part of a network/application that significantly limits throughput/performance and should ideally be eliminated.[39m
[38;5;12m- [39m[38;5;14m[1mBrick[0m[38;5;12m (https://en.m.wikipedia.org/wiki/Brick_(electronics)) - When your device is so corrupted it virtually turns into a brick.[39m
[38;5;12m- [39m[38;5;14m[1mcamelCase, snake_case, kebab-case[0m[38;5;12m (https://en.wikipedia.org/wiki/Letter_case#Use_within_programming_languages) - Different case styles where the name illustrates its appearance.[39m
[38;5;12m- [39m[38;5;14m[1mEaster egg[0m[38;5;12m (https://en.wikipedia.org/wiki/Easter_egg_(media)) - A hidden feature especially in video games in reference to the Easter egg hunt.[39m
[38;5;12m- [39m[38;5;14m[1mFloating point number[0m[38;5;12m (https://floating-point-gui.de/formats/fp/) - 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.[39m
[38;5;12m- [39m[38;5;14m[1mFramework[0m[38;5;12m (https://en.wikipedia.org/wiki/Software_framework) - In software architecture (like in actual architecture) frameworks provide basic structure to  build upon that guide and constrain the further development.[39m
[38;5;12m- [39m[38;5;14m[1mGlue Code[0m[38;5;12m (https://en.wikipedia.org/wiki/Glue_code) - Jenga and LEGO bricks don't share the same interface but you can always glue them together.[39m
[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1mHeisenbug[0m[38;5;12m [39m[38;5;12m(https://en.wikipedia.org/wiki/Heisenbug)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mA[39m[38;5;12m [39m[38;5;12mbug[39m[38;5;12m [39m[38;5;12mthat[39m[38;5;12m [39m[38;5;12mseems[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12mdisappear[39m[38;5;12m [39m[38;5;12mor[39m[38;5;12m [39m[38;5;12mchange[39m[38;5;12m [39m[38;5;12mwhen[39m[38;5;12m [39m[38;5;12mone[39m[38;5;12m [39m[38;5;12mtries[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12mstudy[39m[38;5;12m [39m[38;5;12mit.[39m[38;5;12m [39m[38;5;12mIt's[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mpun[39m[38;5;12m [39m[38;5;12mon[39m[38;5;12m [39m[38;5;12mWerner[39m[38;5;12m [39m[38;5;12mHeisenberg[39m[38;5;12m [39m[38;5;12mwho[39m[38;5;12m [39m[38;5;12mdiscovered[39m[38;5;12m [39m[38;5;12mthat[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mact[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12mobserving[39m[38;5;12m [39m[38;5;12mquantum[39m[38;5;12m [39m[38;5;12msystems[39m[38;5;12m [39m[38;5;12minevitably[39m[38;5;12m [39m[38;5;12malters[39m[38;5;12m [39m[38;5;12mtheir[39m
[38;5;12mstate.[39m
[38;5;12m- [39m[38;5;14m[1mHydra[0m[38;5;12m (https://computer-dictionary-online.org/definitions-h/hydra-code) - A bug that, when an attempt to fix is made, introduces multiple new bugs. It's a bug that cannot be fixed.[39m
[38;5;12m- [39m[38;5;14m[1mMagic[0m[38;5;12m (https://en.wikipedia.org/wiki/Magic_(programming)) - 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.[39m
[38;5;12m- [39m[38;5;14m[1mProcess starvation[0m[38;5;12m (https://en.wikipedia.org/wiki/Starvation_(computer_science)) - A problem where a process is perpetually denied resources to do its work.[39m
[38;5;12m- [39m[38;5;14m[1mTime travel debugging[0m[38;5;12m (https://en.wikipedia.org/wiki/Time_travel_debugging) - Stepping back in time through source code to understand execution and sometimes even to change history.[39m
[38;5;12m- [39m[38;5;14m[1mTree shaking[0m[38;5;12m (https://en.wikipedia.org/wiki/Tree_shaking) - Shake the dependency tree until all the dead parts are falling off and you end up with a nice lean tree.[39m
[38;5;12m- [39m[38;5;14m[1mUnfair enumeration[0m[38;5;12m (https://www.youtube.com/watch?v=CvLsVfq6cks&t=835s) - 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. [39m
[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1mYoda[0m[38;5;14m[1m [0m[38;5;14m[1mcondition[0m[38;5;12m [39m[38;5;12m(https://eslint.org/docs/latest/rules/yoda)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mWhen[39m[38;5;12m [39m[38;5;12myou[39m[38;5;12m [39m[38;5;12mwrite[39m[38;5;12m [39m[48;5;235m[38;5;249mif ("red" === color) {[49m[39m[38;5;12m [39m[38;5;12minstead[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[48;5;235m[38;5;249mif (color === "red") {[49m[39m[38;5;12m [39m[38;5;12mbecause[39m[38;5;12m [39m[38;5;12mit[39m[38;5;12m [39m[38;5;12mreads[39m[38;5;12m [39m[38;5;12mas,[39m[38;5;12m [39m[38;5;12m“if[39m[38;5;12m [39m[38;5;12mred[39m[38;5;12m [39m[38;5;12mequals[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mcolor”,[39m[38;5;12m [39m[38;5;12msimilar[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mway[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mStar[39m[38;5;12m [39m[38;5;12mWars[39m[38;5;12m [39m[38;5;12mcharacter[39m[38;5;12m [39m[38;5;12mYoda[39m[38;5;12m [39m
[38;5;12mspeaks.[39m
