A concept from a book by the same name by Fred Brooks, which posits that adding manpower to a late software project makes it later, due to the ramp-up time and communication overhead.
"The Mythical Man Month highlights the counterintuitive nature of software project scheduling and the importance of understanding team dynamics."
A command-line tool that comes with Maven, a build automation tool used primarily for Java projects.
"The 'mvn' command is used to execute goals like compiling the code, packaging binaries, and managing dependencies."
An object which can be modified after it is created.
"Lists in Python are mutable, allowing for the modification of elements after the list has been created."
The ability of an object to have its state changed after it is created.
"In programming, mutable objects can have their properties or contents altered, while immutable objects cannot be changed once created."
A feature of some object-oriented programming languages in which a class can inherit behaviors and characteristics from more than one parent class.
"Multiple inheritance can increase the functionality of a class but also introduces complexity and potential for conflicts between the inherited classes."
An array containing one or more arrays, allowing for data to be stored and accessed in a grid-like structure.
"Multidimensional arrays are used to represent complex data structures, like matrices or tables, in programming."
The bit in a multiple-bit binary number with the highest value, determining the sign of the number in signed integers.
"The most significant bit is used in digital computing and communications to encode the largest magnitude of the binary number."
A font in which each character occupies the same amount of horizontal space.
"Monospace fonts are commonly used in coding to align characters and make the code easier to read."
A monorepo, short for monolithic repository, is a version-controlled code repository that holds multiple projects. These projects can be related, but they are often logically independent and managed by different teams.
"Monorepos are used by companies like Google, Microsoft, Facebook, and Twitter, which host all their code in a single repository."
In mathematics and computer science, a monoid is an algebraic structure with a single associative binary operation and an identity element.
"Monoids are used in programming to model concepts that can be combined in a way that is associative and has an identity, such as string concatenation or adding numbers."
A way to extend or modify runtime code without altering the original source code.
"Monkey patching can be useful for fixing bugs in libraries that you cannot modify directly, but it can also lead to maintenance issues and conflicts."
A design pattern in functional programming that allows for a generic type of computations to be performed in a specific context (like handling nulls, combining computations, or dealing with side effects).
"Monads provide a way to wrap and chain operations on values while abstracting away details such as error handling or asynchronous computations."
A type of window or dialog box that requires the user to interact with it before they can return to operating the parent application.
"Modals are commonly used for confirming actions, entering data, or displaying information that requires immediate attention."
An object that simulates the behavior of real objects in controlled ways, commonly used in unit testing to isolate the unit of work from its dependencies.
"Mocks are used to test the interactions between a class and its dependencies, ensuring that the class behaves as expected when its dependencies are not present."
A software development approach where the whole team works on the same thing, at the same time, in the same space, and at the same computer.
"Mob programming is a collaborative approach that emphasizes teamwork and continuous learning from each other."
A minimal example that can be used to demonstrate a bug or problem, containing only the necessary code to reproduce the issue.
"Providing an MRE helps others understand and diagnose the problem more quickly and accurately."
The process of removing all unnecessary characters from source code without changing its functionality.
"Minifying JavaScript and CSS files can significantly reduce their size, improving load times for web pages."
Software that lies between an operating system and the applications running on it, enabling communication and data management.
"Middleware facilitates various forms of communication and data management in distributed applications."
Software that provides common services and capabilities to applications outside of what's offered by the operating system.
"Middleware facilitates communication and data management for distributed applications, acting as a hidden translation layer."
An architectural style that structures an application as a collection of loosely coupled services, which implement business capabilities.
"Microservices allow for the development of large, complex applications as a suite of small services that can be developed, deployed, and scaled independently."
A procedure associated with a message and an object. In object-oriented programming, a method is a subroutine that operates on objects and can modify the object's internal state.
"Methods in object-oriented programming are similar to functions, but are defined within a class and can access and modify the properties of the instance of the class they belong to."
A function associated with a class or object in object-oriented programming.
"In Java, methods define the behavior of an object, such as how it can move, calculate, or display information."
A programming technique in which computer programs have the ability to treat other programs as their data.
"Metaprogramming allows a program to generate or transform code dynamically at runtime or compile time."
Data that provides information about other data.
"Metadata can include information such as the author of a document, the date of creation, and keywords describing the document."
A tag in the HTML document head section providing information about the web page, such as the character set, page description, and keywords.
"Meta tags are used by search engines to help categorize web pages and can be crucial for SEO."
A type of resource leak that occurs when a computer program incorrectly manages memory allocations, resulting in memory that is no longer needed but not released.
"Memory leaks can lead to decreased performance and even cause a program or system to crash if the leaked memory becomes exhausted."
A function in the C programming language that allocates a specific amount of memory and returns a pointer to the allocated memory.
"Using malloc allows dynamic memory allocation, giving programs flexibility to allocate memory as needed at runtime."
The component of a computer that stores data and programs while they are being used.
"Memory is a critical resource in computing, affecting not only the performance of applications but also the ability of the system to multitask effectively."
An optimization technique used primarily to speed up computer programs by storing the results of expensive function calls and returning the cached result when the same inputs occur again.
"Memoization is a common technique in dynamic programming to avoid recalculating results for previously processed inputs."
An optimization technique used primarily to speed up computer programs by storing the results of expensive function calls.
"Memoization is used in dynamic programming to store the results of recursive calls and avoid redundant calculations."
A rectangular array of numbers, symbols, or expressions, arranged in rows and columns.
"Matrices are fundamental to various calculations in mathematics, physics, and engineering, including systems of linear equations and transformations."
To make something appear in a physical form or bring into physical existence, often used in computing to refer to the process of creating a concrete instance of an abstract concept.
"In database systems, materializing a view involves creating a physical table that contains the result set of a query for performance optimization."
In the context of version control systems like Git, the default development branch from which all other branches are typically created.
"Changes are merged back into the master branch after development and testing in feature branches are completed."
A system for annotating a document in a way that is syntactically distinguishable from the text, indicating structure and other attributes of the document's content.
"HTML and XML are examples of markup languages, used to structure and define content on the web and in various data interchange formats."
A unit of work that represents the effort of one person working for one month, often used in project management and software development to estimate the time required to complete tasks.
"The myth of the man month suggests that projects cannot be accelerated simply by adding more manpower due to the complexities of communication and coordination."
Malicious software designed to harm, exploit, or otherwise illegally access a computer system.
"Malware can take the form of viruses, worms, Trojan horses, ransomware, and spyware, among others."
In Linux, ''make'' is a command used to compile and build software from source code. It reads instructions from a file called Makefile and executes predefined tasks to create executable programs.
"When you write a program, you should write a makefile for it, so that it is possible to use Make to build and install the program."
A large, powerful computer that handles the processing for many users simultaneously, typically used in institutions for bulk data processing, such as census, industry and consumer statistics, enterprise resource planning, and financial transaction processing.
"Mainframes are critical for businesses that require high reliability, scalability, and centralized processing."
A facetious explanation for the smoke sometimes seen when electronic components fail and burn out, humorously implying that the device operated on 'magic smoke' which has now escaped.
"When the capacitor blew, it released the magic smoke, rendering the circuit board inoperative."
A humorous term referring to the hope that simply rebuilding a project or system will somehow fix a problem without understanding the underlying cause.
"Relying on the magic rebuild fairy often leads to wasted time and frustration when the same issues reoccur."
A hard-coded value in a program that may change at a later stage, but lacks explanation or context for its purpose.
"Using magic numbers can make code harder to read and maintain, as it's not clear what the value represents or why it's used."
In programming, refers to actions that happen automatically without being explicitly programmed, often hidden from the user or developer.
"Magic methods in Python are special methods that provide 'magic' behavior to certain operations, like arithmetic operations or item assignment."
The natural unit of data used by a particular processor design, representing the size of data that can be processed in parallel and efficiently by the processor.
"The size of a machine word typically corresponds to the architecture of the CPU, such as 32-bit or 64-bit."
A field of artificial intelligence that uses statistical techniques to give computer systems the ability to 'learn' from data, without being explicitly programmed.
"Machine learning algorithms can improve their performance at tasks by analyzing and learning from new data."
A set of instructions executed directly by a computer's central processing unit (CPU).
"Machine code is the lowest level of software, with instructions that are specific to the architecture of the computer's CPU."
The current name for the operating system previously known as OS X, which runs on Mac computers made by Apple Inc.
"macOS is known for its sleek design, stability, and integration with other Apple products and services."
An open-source relational database management system based on SQL – Structured Query Language.
"MySQL is widely used in web applications and is a component of the popular LAMP web application software stack."
Msfvenom is a versatile tool within the Metasploit Framework used for generating and encoding payloads for penetration testing and exploit development. It facilitates the creation of custom payloads to bypass security defenses and gain unauthorized access to target systems.
"The security analyst used msfvenom to craft a custom payload for testing the susceptibility of the target system to remote code execution vulnerabilities."
An open-source project led by Xamarin that brings Microsoft's .NET framework to other platforms, allowing developers to build cross-platform applications.
"Mono enables developers to use .NET languages like C# to create applications for Linux, macOS, and Windows."
An object data modeling (ODM) library for MongoDB and Node.js, managing relationships between data, provides schema validation, and is used to translate between objects in code and the representation of those objects in MongoDB.
"Mongoose provides a straightforward, schema-based solution to model your application data and includes built-in type casting, validation, query building, and business logic hooks."
A source-available cross-platform document-oriented database program. Classified as a NoSQL database program, MongoDB uses JSON-like documents with optional schemas.
"MongoDB is designed for high availability and scalability, with built-in replication and auto-sharding."
A derivative of the MVC architectural pattern, used mainly for building user interfaces. In MVP, the presenter assumes the functionality of the ''middle-man''.
"MVP is particularly suited for modern UI development platforms where the View is the actual UI that the end-user interacts with."
A software architectural pattern used for developing user interfaces that divides the related program logic into three interconnected elements.
"MVC separates the data model with business rules from the user interface, making it easier to manage complexity in large applications."
A feature-rich JavaScript test framework running on Node.js and in the browser, making asynchronous testing simple and fun.
"Mocha's flexible and well-documented API makes it a popular choice for developers writing unit and integration tests for JavaScript applications."
MINIX (from mini-Unix) is a Unix-like operating system based on a microkernel architecture.
"Linus Torvalds used and appreciated MINIX,[28] but his design deviated from the MINIX architecture in significant ways, most notably by employing a monolithic kernel instead of a microkernel."
A product with just enough features to satisfy early customers, and to provide feedback for future product development.
"Launching an MVP allows startups to test their business concepts in real market conditions with minimal resources."
A cloud computing service created by Microsoft for building, testing, deploying, and managing applications and services through Microsoft-managed data centers.
"Our enterprise applications are deployed on Azure to leverage Microsoft's global network of managed data centers."
An open-source platform for web, mobile, and desktop used to build scalable full-stack JavaScript applications quickly and efficiently.
"Meteor integrates with MongoDB and uses the Distributed Data Protocol and a publish-subscribe pattern to automatically propagate data changes to clients without requiring the developer to write synchronization code."
A collective virtual shared space, created by the convergence of virtually enhanced physical reality and physically persistent virtual space, including the sum of all virtual worlds, augmented reality, and the internet.
"The concept of the Metaverse is often associated with virtual reality and augmented reality environments where users can interact with a computer-generated environment and other users."
An open-source project that provides information about security vulnerabilities and aids in penetration testing and IDS signature development.
"Metasploit is widely used by cybersecurity professionals to test system vulnerabilities, develop security measures, and conduct ethical hacking."
A sorting algorithm that divides the unsorted list into n sublists, each containing one element, then repeatedly merges sublists to produce new sorted sublists until there is only one sublist remaining.
"Merge sort is a divide and conquer algorithm that has a best, worst, and average time complexity of O(n log n)."
In functional programming, a type that encapsulates an optional value; a value of type Maybe either contains a value of some type or it is empty.
"The Maybe type is used in Haskell to handle cases where a function might not return a value, allowing for safe handling of such situations without resorting to null references."
A build automation tool used primarily for Java projects, which manages project builds, dependencies, and documentation.
"Maven uses a Project Object Model (POM) to describe the software project being built, its dependencies on other external modules and components, and the build order."
A system for annotating a document in a way that is syntactically distinguishable from the text.
"HTML is a markup language used to create web pages, indicating text can be turned into images, tables, links, and other representations."
A lightweight markup language with plain text formatting syntax, designed to be converted to HTML and other formats using a tool of the same name.
"Markdown is widely used for formatting readme files, for writing messages in online discussion forums, and as a text-to-HTML conversion tool for web writers."
A programming model and an associated implementation for processing and generating big data sets with a parallel, distributed algorithm on a cluster.
"MapReduce is a core component of the Apache Hadoop software framework, where it simplifies data processing across massive data sets."
A cyber attack where the attacker secretly relays and possibly alters the communication between two parties who believe they are directly communicating with each other.
"Man-in-the-middle attacks can intercept sensitive information, such as login credentials and credit card numbers, without the knowledge of the parties involved."
An esoteric programming language designed to be as difficult to program in as possible.
"Malbolge is named after the eighth circle of hell in Dante's Inferno, reflecting its intentionally confusing and complex nature."
The set of binary instructions that a computer's CPU executes directly.
"Machine language instructions vary by processor and are executed directly by the CPU without needing translation or interpretation."
A software architectural pattern that facilitates the separation of the development of the graphical user interface from the development of the business logic or back-end logic (the data model).
"MVVM enables developers to separate their UI design (View) from the underlying models through a ViewModel, which facilitates two-way data binding and modular development."
The principle that in some cases, it may be better to repeat certain code blocks or patterns if doing so results in better performance or readability, as opposed to DRY (Don't Repeat Yourself).
"We can't follow the DRY principle too strictly, sometimes we have to be a little MOIST."
Multipurpose Internet Mail Extensions, a standard that extends the format of email to support text in character sets other than ASCII, as well as attachments.
"MIME types like 'text/html' or 'image/jpeg' help email clients and web browsers understand how to process different parts of a message or web page."