model-view-controllerMVCModel View Controller
Model–View–Controller (usually known as MVC) is a software design pattern commonly used for developing user interfaces which divides the related program logic into three interconnected elements. This is done to separate internal representations of information from the ways information is presented to and accepted from the user. Following the MVC architectural pattern decouples these major components allowing for code reuse and parallel development.


In formal language theory and computer programming, string concatenation is the operation of joining character strings end-to-end. For example, the concatenation of "snow" and "ball" is "snowball". In some but not all formalisations of concatenation theory, also called string theory, string concatenation is a primitive notion.

C (programming language)

CC programming languageC language
C (, as in the general-purpose, procedural computer programming language supporting structured programming, lexical variable scope, and recursion, while a static type system prevents unintended operations. By design, C provides constructs that map efficiently to typical machine instructions and has found lasting use in applications previously coded in assembly language. Such applications include operating systems and various application software for computers, from supercomputers to embedded systems.

Microsoft SQL Server

Microsoft SQL Server is a relational database management system developed by Microsoft. As a database server, it is a software product with the primary function of storing and retrieving data as requested by other software applications—which may run either on the same computer or on another computer across a network (including the Internet).

Null-terminated string

null-terminatedASCIIZmark the end of a string
In computer programming, a null-terminated string is a character string stored as an array containing the characters and terminated with a null character (, called NUL in ASCII). Alternative names are C string, which refers to the C programming language and ASCIIZ (although C can use encodings other than ASCII).

Dapper ORM

Dapper is an object-relational mapping (ORM) product for the Microsoft .NET platform: it provides a framework for mapping an object-oriented domain model to a traditional relational database. Its purpose is to relieve the developer from a significant portion of relational data persistence-related programming tasks. Dapper is free as open source software that is distributed under dual license, either the Apache License 2.0 or the MIT License.

C standard library

libcC librarystandard library
The C standard library or libc is the standard library for the C programming language, as specified in the ANSI C standard. It was developed at the same time as the C library POSIX specification, which is a superset of it. Since ANSI C was adopted by the International Organization for Standardization, the C standard library is also called the ISO C library.

Object-relational mapping

ORMobject-relational mapperObject Relational Mapping
Object-relational mapping (ORM, O/RM, and O/R mapping tool) in computer science is a programming technique for converting data between incompatible type systems using object-oriented programming languages. This creates, in effect, a "virtual object database" that can be used from within the programming language. There are both free and commercial packages available that perform object-relational mapping, although some programmers opt to construct their own ORM tools.

Null character

NULnullnull bytes
The null character (also null terminator or null byte) is a control character with the value zero. It is present in many character sets, including ISO/IEC 646 (or ASCII), the C0 control code, the Universal Coded Character Set (or Unicode), and EBCDIC. It is available in nearly all mainstream programming languages. It is often abbreviated as NUL (or NULL though in some contexts that term is used for the null pointer, a different object).

Scope (computer science)

scopelexical scopeLexical
In computer programming, the scope of a name binding—an association of a name to an entity, such as a variable—is the region of a computer program where the binding is valid: where the name can be used to refer to the entity. Such a region is referred to as a scope block. In other parts of the program the name may refer to a different entity (it may have a different binding), or to nothing at all (it may be unbound).

Open-source license

open sourceopen-sourceopen source license
An open-source license is a type of license for computer software and other products that allows the source code, blueprint or design to be used, modified and/or shared under defined terms and conditions. This allows end users and commercial companies to review and modify the source code, blueprint or design for their own customization, curiosity or troubleshooting needs. Open-source licensed software is mostly available free of charge, though this does not necessarily have to be the case. Licenses which only permit non-commercial redistribution or modification of the source code for personal use only are generally not considered as open-source licenses.

LGBT culture in New York City

ManhattanNew York CityLGBTQ culture in New York City
New York City has one of the largest and most prominent LGBTQ populations in the world. Brian Silverman, the author of Frommer's New York City from $90 a Day, wrote the city has "one of the world's largest, loudest, and most powerful LGBT communities", and "Gay and lesbian culture is as much a part of New York's basic identity as yellow cabs, high-rises, and Broadway theater". LGBT Americans in New York City constitute by significant margins the largest self-identifying lesbian, gay, bisexual, and transgender communities in the United States, and the 1969 Stonewall Riots in Greenwich Village are widely considered to be the genesis of the modern gay rights movement.

Rosetta Code

The Rosetta Code comparative programming tasks project site
Rosetta Code is a wiki-based programming chrestomathy website with implementations of common algorithms and solutions to various programming problems in many different programming languages.

Tech companies in the New York metropolitan area

Tech companies in the New York City metropolitan regioncomputer industryTech companies in New York City
Technology companies in the New York City metropolitan area represent a significant and growing economic component of the New York metropolitan area, the most populous combined statistical area in the United States and one of the most populous urban agglomerations in the world. In the region's Silicon Alley, new establishments include those of Israeli companies in New York City, at a rate of ten new startups per month, and the technology sector has been claiming a greater share of New York City's economy since 2010.

Bulletin board system

BBSbulletin board systemsBBSes
A Bulletin Board System or BBS (once called Computer Bulletin Board Service, CBBS ) is a computer server running software that allows users to connect to the system using a terminal program. Once logged in, the user can perform functions such as uploading and downloading software and data, reading news and bulletins, and exchanging messages with other users through public message boards and sometimes via direct chatting. In the early 1980s, message networks such as FidoNet sprung up to provide services such as NetMail, which is similar to email.

New Zealanders

New ZealandNew ZealanderKiwi
For a specific analysis of the population of New Zealand, see Demographics of New Zealand.

Creative Commons license

A Creative Commons (CC) license is one of several public copyright licenses that enable the free distribution of an otherwise copyrighted "work". A CC license is used when an author wants to give other people the right to share, use, and build upon a work that they (the author) have created. CC provides an author flexibility (for example, they might choose to allow only non-commercial uses of a given work) and protects the people who use or redistribute an author's work from concerns of copyright infringement as long as they abide by the conditions that are specified in the license by which the author distributes the work.

Multiple citizenship

dual citizenshipdual citizendual nationality
Multiple citizenship, dual citizenship, multiple nationality or dual nationality, is a person's citizenship status, in which a person is concurrently regarded as a citizen of more than one state under the laws of those states. Conceptually, citizenship is focused on the internal political life of the state and nationality is a matter of international dealings. There is no international convention which determines the nationality or citizenship status of a person. This is defined exclusively by national laws, which can vary and conflict with each other. Multiple citizenship arises because different countries use different, and not necessarily mutually exclusive, criteria for citizenship.

Keyboard technology

mechanical keyboardKeyboardkeyboards
Computer keyboards can be classified by the switch technology that they use. Computer alphanumeric keyboards typically have 80 to 110 durable switches, generally one for each key. The choice of switch technology affects key response (the positive feedback that a key has been pressed) and pre travel (the distance needed to push the key to enter a character reliably). Newer keyboard models use hybrids of various technologies to achieve greater cost savings.

List of eponymous laws

Adages named after peopleeponymous lawObservations named after people
Atwood's law: Any software that can be written in JavaScript will eventually be written in JavaScript. Augustine's laws on air force management. Named for Norman R. Augustine. Avogadro's law, one of the gas laws in chemistry and physics, states that: "equal volumes of all gases, at the same temperature and pressure, have the same number of molecules.". Babinet's principle, in physics, states that the diffraction pattern from an opaque body is identical to that from a hole of the same size and shape except for the overall forward beam intensity. Named for Jacques Babinet. Baldwin's rules predict feasibility of ring-closing reactions in organic synthesis, proposed by Jack Baldwin.


Smalltalk-72ObjectStudioSmalltalk programming language
Smalltalk took second place for "most loved programming language" in the Stack Overflow Developer Survey in 2017, but it was not among the 26 most loved programming languages of the 2018 survey. There are a large number of Smalltalk variants. The unqualified word Smalltalk is often used to indicate the Smalltalk-80 language, the first version to be made publicly available and created in 1980. Smalltalk was the product of research led by Alan Kay at Xerox Palo Alto Research Center (PARC); Alan Kay designed most of the early Smalltalk versions, Adele Goldberg wrote most of the documentation, and Dan Ingalls implemented most of the early versions.

Rust (programming language)

RustRust programming languageCargo
Rust has been the "most loved programming language" in the Stack Overflow Developer Survey every year since 2016. Rust is intended to be a language for highly concurrent and highly safe systems, and programming in the large, that is, creating and maintaining boundaries that preserve large-system integrity. This has led to a feature set with an emphasis on safety, control of memory layout, and concurrency. Performance of idiomatic Rust is comparable to the performance of idiomatic C++. The concrete syntax of Rust is similar to C and C++, with blocks of code delimited by curly brackets, and control flow keywords such as,,, and.

Leaky abstraction

As coined by Joel Spolsky, the Law of Leaky Abstractions states: All non-trivial abstractions, to some degree, are leaky. This statement highlights a particularly problematic cause of software defects: the reliance of the software developer on an abstraction's infallibility. Spolsky's article gives examples of an abstraction that works most of the time, but where a detail of the underlying complexity cannot be ignored, thus leaking complexity out of the abstraction back into the software that uses the abstraction. The term "leaky abstraction" was popularized in 2002 by Joel Spolsky.

List of people from Albuquerque, New Mexico

List of people from Albuquerque
Joel Spolsky (born 1965), software engineer and executive. Seth Adkins (born 1989), actor. Don Alvarado (1904–1967), actor. Eloy Casados, (1949-2016), actor. Leah Clark (born 1979), voice actress for Funimation. Edmund Cobb (1892–1974), actor. Bill Daily (1927–2018), actor, comedian. Jesse Tyler Ferguson (born 1975), actor. Annabeth Gish (born 1971), actress. Forrest Goodluck (born 1998), actor. Neil Patrick Harris (born 1973), actor. Mike Judge (born 1962), animator, actor, writer, creator of Beavis and Butthead and King of the Hill. Minka Kelly (born 1980), actress. Cissy King (born 1946), dancer, featured performer on The Lawrence Welk Show.

User error

operator errorPICNICID-Ten-T Error
Joel Spolsky points out that users usually do not pay full attention to the computer system while using it. He suggests to compensate for this to make usable systems, thus allowing a higher percentage of users to complete tasks without errors: "For example, suppose the goal of your program is to allow people to convert digital camera photos into a web photo album. If you sit down a group of average users with your program and ask them all to complete this task, then the more usable your program is, the higher the percentage of users that will be able to successfully create a web photo album. To be scientific about it, imagine 100 real world users.