Clipboard (computing)

The clipboard is a data buffer used for short-term data storage and/or data transfer between documents or applications used by cut, copy and paste operations and provided by the operating system. It is usually implemented as an anonymous, temporary data buffer, sometimes called the paste buffer, that can be accessed from most or all programs within the environment via defined programming interfaces. A typical application accesses clipboard functionality by mapping user input (keybindings, menu selections, etc.) to these interfaces. The semantics of the clipboard facility varies from one operating system to another, and can also vary between versions of the same system, they can sometimes be changed by different programs or by user preference.

When an element is copied or cut the clipboard holds every available format of it, since at this point it is not known, which format is needed when the content is pasted, the core functionality of the clipboard provided by the operating system can be extended by applications and clipboard managers.

Windows, Linux and Mac-OS support a single clipboard transaction,[1] each cut or copy overwrites the previous contents. Normally, paste operations copy the contents, leaving the contents available in the clipboard for further pasting operations. Clipboard data is stored in the RAM.[2]

Drag and drop enables users to drag and drop information from one control to another similar to the functionality of cut, copy and paste from the users view, but it doesn't affect the clipboard.[3]

Clipboards as buffers for small text snippets were first used by Pentti Kanerva when he used it to store deleted texts in order to restore them,[4] since one could delete a text in one place and restore it in another, the term "delete" wasn't what one would expect in this case. Larry Tesler renamed this in 1973 as cut, copy, and paste and coined the term "clipboard" for this buffer, since these techniques need a clipboard for temporary saving the copied or cut data.[5]

Clipboards support the storing of multiple types of data simultaneously, allowing complex data structures to be stored, these range from styled text formats such as RTF or HTML, through a variety of bitmap and vector image formats to complex data types like spreadsheets and database entries.

For example, cutting a range of cells in a spreadsheet and then pasting them into another sheet may preserve the underlying formulae and data, and may even translate intra-cell references, so that a "SUM(...)" calculation on a sub-range of the cells is converted to refer to the newly pasted copies of those cells.

When data is added to the clipboard by an application, the application typically makes it available in as many different data formats as it can, this includes both native and simpler (or more common) formats that would have a higher chance of being recognized by a wide variety of applications. Thus, when data is pasted into another application, the format that is closest to that application's native format can be used, preserving as much of the original data as possible.

Clipboard hijacking is an exploit in which a person's clipboard's content is replaced by malicious data, such as a link to a malicious web site.[6] While some security-holes were patched, JavaScript can still be used to modify clipboard content via an attack dubbed 'pastejacking'.[7][8] Dylan Ayrey who developed the attack set up a website that demonstrates how this exploit can be used to trick a user into running commands they didn't want to run.[9]

There have been exploits where web pages grab clipboard data; in early 2013 researchers exposed risks stemming from Android-based password managers and documented how passwords in 21 of the most popular of these apps could be accessed by any other app on an Android device including those with extremely low-level privileges.[10] Joe Siegrist notes that this is an "OS-level issue that impacts everything running on Android".[11]

Clipboard manager extensions add functionality to the integrated clipboard functions of an operating system. They are applications that enable the user to manipulate the clipboard.

When a clipboard manager provides multiple cut and paste transactions, the clipboard is treated as a stack or scrap book, with new cuts and copies being placed on a list of recent transactions, the standard paste operation copies the most recent transaction, while specialized pastes provide access to the other stored transactions. These managers generally also provide a window that displays the transaction history and allows the user to select earlier copies, edit them, change their format and even search amongst them.

Since most operating systems (e.g. Windows, macOS, Linux, X11, Android, iOs) do not save the clipboard contents to any persistent storage – when a user logs out or reboots his or her system the clipboard contents are deleted – an added functionality is to save the clipboard persistent. Another example is making the local clipboard work with online applications by saving the clipboard data to the online location upon a copy or cut event, making this data available to online applications for pasting. Clipboard managers can also serve as tools to overcome the limitation of software not supporting copying and pasting (for example, while logging into remote Windows server, one cannot copy and paste their user name and password).

The X Window System commonly used on Unix and Linux systems provides three clipboards, which are named "PRIMARY", "SECONDARY" and "CLIPBOARD".[22]

The usage and handling of various selections is not standardized, however most modern toolkits and desktop environments, such as GNOME or KDE, follow a widely accepted convention, outlined in the freedesktop.org specification.[23] One selection, CLIPBOARD, is used for traditional clipboard semantics, with shortcuts identical to Windows. Another selection, PRIMARY, is an X11-specific mechanism. Data is "copied" immediately upon highlighting and pasted with the third (middle) mouse button,[24] this copied data is usually separated from the CLIPBOARD selection and does not change its contents.[25] SECONDARY was planned as an alternative to PRiMARY but is only used inconsistently.[22]

There are two command line tools (xsel and xlclip) which can access the clipboard:[26]

The main difference to OS X and Windows is, that no data is actually stored in the CLIPBOARD-clipboard but only the reference to the copied or cut data, the application claims the owernship of the CLIPBOARD selection and communicates its ownership to the X Server.[24] When pasting this data, the data and its available formats are requested from the application that owns the CLIPBOARD selection.[27]

Android provides a clipboard framework which can hold up to one clip object and is accessible system-wide. While simple text data is stored directly in the clipboard complex data is stored by reference, the format of the clip object has one of three forms:[29]

text strings

URI objects

Intents

The data cointained in the clipboard can't be accessed via the GUI but only from the system and applications.

If one wants to interact with the clipboard as part of an application one should use the class ClipboardManager[30] which fascilates copying and pasting data structures and streams.

The clipboard is called "pasteboard" in iOs similar to OS X. Apps on this operating system can create additional pasteboards, called instances of the UIPasteboard class, which can be public or private. One instance can hold a single item or multiple items in different formats.[31]

In JavaScript a class which detects changes in the users clipboard data (ClipboardEvent)[33] and functions to alter the content of a clipboard or read from it (clipboardData.getData(), clipboardData.setData())[34] exist, but aren't supported by every browser since altering the clipboard of a user can represent a security issue.

in Qt a wrapper for every supported platform[35] (e.g. Windows or OS X) exists. It provides access to window system clipboards with the use of the class QClipboard, this class facilitates access to common data types by functions.[36] The data type of the element stored in the clipboard is indicated via MIME and MIME data can also be put in the clipboard with help of functions from this class.

1.
Computer data storage
–
Computer data storage, often called storage or memory, is a technology consisting of computer components and recording media used to retain digital data. It is a function and fundamental component of computers. The central processing unit of a computer is what manipulates data by performing computations, in practice, almost all computers use a storage hierarchy, which puts fast but expensive and small storage options close to the CPU and slower but larger and cheaper options farther away. In the Von Neumann architecture, the CPU consists of two parts, The control unit and the arithmetic logic unit. The former controls the flow of data between the CPU and memory, while the latter performs arithmetic and logical operations on data, without a significant amount of memory, a computer would merely be able to perform fixed operations and immediately output the result. It would have to be reconfigured to change its behavior and this is acceptable for devices such as desk calculators, digital signal processors, and other specialized devices. Von Neumann machines differ in having a memory in which they store their operating instructions, most modern computers are von Neumann machines. A modern digital computer represents data using the numeral system. Text, numbers, pictures, audio, and nearly any form of information can be converted into a string of bits, or binary digits. The most common unit of storage is the byte, equal to 8 bits, a piece of information can be handled by any computer or device whose storage space is large enough to accommodate the binary representation of the piece of information, or simply data. For example, the works of Shakespeare, about 1250 pages in print. Data is encoded by assigning a bit pattern to each character, digit, by adding bits to each encoded unit, redundancy allows the computer to both detect errors in coded data and correct them based on mathematical algorithms. A random bit flip is typically corrected upon detection, the cyclic redundancy check method is typically used in communications and storage for error detection. A detected error is then retried, data compression methods allow in many cases to represent a string of bits by a shorter bit string and reconstruct the original string when needed. This utilizes substantially less storage for many types of data at the cost of more computation, analysis of trade-off between storage cost saving and costs of related computations and possible delays in data availability is done before deciding whether to keep certain data compressed or not. For security reasons certain types of data may be encrypted in storage to prevent the possibility of unauthorized information reconstruction from chunks of storage snapshots. Generally, the lower a storage is in the hierarchy, the lesser its bandwidth and this traditional division of storage to primary, secondary, tertiary and off-line storage is also guided by cost per bit. In contemporary usage, memory is usually semiconductor storage read-write random-access memory, typically DRAM or other forms of fast but temporary storage

2.
Operating system
–
An operating system is system software that manages computer hardware and software resources and provides common services for computer programs. All computer programs, excluding firmware, require a system to function. Operating systems are found on many devices that contain a computer – from cellular phones, the dominant desktop operating system is Microsoft Windows with a market share of around 83. 3%. MacOS by Apple Inc. is in place, and the varieties of Linux is in third position. Linux distributions are dominant in the server and supercomputing sectors, other specialized classes of operating systems, such as embedded and real-time systems, exist for many applications. A single-tasking system can run one program at a time. Multi-tasking may be characterized in preemptive and co-operative types, in preemptive multitasking, the operating system slices the CPU time and dedicates a slot to each of the programs. Unix-like operating systems, e. g. Solaris, Linux, cooperative multitasking is achieved by relying on each process to provide time to the other processes in a defined manner. 16-bit versions of Microsoft Windows used cooperative multi-tasking, 32-bit versions of both Windows NT and Win9x, used preemptive multi-tasking. Single-user operating systems have no facilities to distinguish users, but may allow multiple programs to run in tandem, a distributed operating system manages a group of distinct computers and makes them appear to be a single computer. The development of networked computers that could be linked and communicate with each other gave rise to distributed computing, distributed computations are carried out on more than one machine. When computers in a work in cooperation, they form a distributed system. The technique is used both in virtualization and cloud computing management, and is common in large server warehouses, embedded operating systems are designed to be used in embedded computer systems. They are designed to operate on small machines like PDAs with less autonomy and they are able to operate with a limited number of resources. They are very compact and extremely efficient by design, Windows CE and Minix 3 are some examples of embedded operating systems. A real-time operating system is a system that guarantees to process events or data by a specific moment in time. A real-time operating system may be single- or multi-tasking, but when multitasking, early computers were built to perform a series of single tasks, like a calculator. Basic operating system features were developed in the 1950s, such as resident monitor functions that could run different programs in succession to speed up processing

3.
Random-access memory
–
Random-access memory is a form of computer data storage which stores frequently used program instructions to increase the general speed of a system. A random-access memory device allows data items to be read or written in almost the same amount of time irrespective of the location of data inside the memory. RAM contains multiplexing and demultiplexing circuitry, to connect the lines to the addressed storage for reading or writing the entry. Usually more than one bit of storage is accessed by the same address, in todays technology, random-access memory takes the form of integrated circuits. RAM is normally associated with types of memory, where stored information is lost if power is removed. Other types of non-volatile memories exist that allow access for read operations. These include most types of ROM and a type of memory called NOR-Flash. Integrated-circuit RAM chips came into the market in the early 1970s, with the first commercially available DRAM chip, early computers used relays, mechanical counters or delay lines for main memory functions. Ultrasonic delay lines could only reproduce data in the order it was written, drum memory could be expanded at relatively low cost but efficient retrieval of memory items required knowledge of the physical layout of the drum to optimize speed. Latches built out of vacuum tube triodes, and later, out of transistors, were used for smaller and faster memories such as registers. Such registers were relatively large and too costly to use for large amounts of data, the first practical form of random-access memory was the Williams tube starting in 1947. It stored data as electrically charged spots on the face of a cathode ray tube, since the electron beam of the CRT could read and write the spots on the tube in any order, memory was random access. The capacity of the Williams tube was a few hundred to around a thousand bits, but it was smaller, faster. In fact, rather than the Williams tube memory being designed for the SSEM, magnetic-core memory was invented in 1947 and developed up until the mid-1970s. It became a form of random-access memory, relying on an array of magnetized rings. By changing the sense of each rings magnetization, data could be stored with one bit stored per ring, since every ring had a combination of address wires to select and read or write it, access to any memory location in any sequence was possible. Magnetic core memory was the form of memory system until displaced by solid-state memory in integrated circuits. Data was stored in the capacitance of each transistor, and had to be periodically refreshed every few milliseconds before the charge could leak away

4.
Larry Tesler
–
Lawrence Gordon Tesler is a computer scientist who works in the field of human–computer interaction. Tesler has worked at Xerox PARC, Apple, Amazon, Tesler has a strong preference for modeless software, in which a users action has a consistent effect, rather than changing its meaning depending on previous actions, as in the vi text editor. Previously, most editors used the keyboard to enter text or to issue commands, to promote his preference, as of 2010, Tesler equipped his Subaru automobile with a personalized California license plate with the license number NO MODES. Along with others, he has also been using the phrase Dont Mode Me In for years, Tesler grew up in New York City and graduated from the Bronx High School of Science in 1961. He went on to Stanford University, where he studied science in the 1960s. With Horace Enea, he designed Compel, a single assignment language. This functional programming language was intended to make concurrent processing more natural and was used to introduce programming concepts to beginners. In the late 60s, he got involved in the Midpeninsula Free University, from 1973 to 1980, he worked at Xerox PARC, where, among other things, he worked on the Gypsy word processor and Smalltalk. Copy and paste was first implemented in 1973-1976 by Tesler and Tim Mott, in 1980, Tesler moved to Apple Computer, where he held various positions, including Vice President of AppleNet, Vice President of the Advanced Technology Group, and Chief Scientist. He worked on the Lisa team, and was enthusiastic about the development of the Macintosh as the successor to the Lisa, in 1985, Tesler worked with Niklaus Wirth on adding object-oriented language extensions to the Pascal programming language, calling the new language Object Pascal. He was also involved in the development of the MacApp, one of the first class libraries for application development, eventually, these two technologies became Apple products. In 1991, he contributed the article Networked Computing in the 1990s to Scientific American Special Issue on Communications, Computers, Tesler joined Amazon in 2001, in 2004, he became the companys Vice President of Shopping Experience. In 2005, he joined Yahoo. as Vice President of Yahoo. s User Experience, in November 2008, he left Yahoo to join personal genetics information company 23andMe, as Product Fellow. Since December 2009, he has been an independent consultant

5.
Data structure
–
In computer science, a data structure is a particular way of organizing data in a computer so that it can be used efficiently. Data structures can implement one or more abstract data types, which specify the operations that can be performed on a data structure. In comparison, a structure is a concrete implementation of the specification provided by an ADT. Different kinds of structures are suited to different kinds of applications. For example, relational databases commonly use B-tree indexes for data retrieval, Data structures provide a means to manage large amounts of data efficiently for uses such as large databases and internet indexing services. Usually, efficient data structures are key to designing efficient algorithms, some formal design methods and programming languages emphasize data structures, rather than algorithms, as the key organizing factor in software design. Data structures can be used to organize the storage and retrieval of stored in both main memory and secondary memory. Many data structures use both principles, sometimes combined in non-trivial ways, the implementation of a data structure usually requires writing a set of procedures that create and manipulate instances of that structure. The efficiency of a data structure cannot be analyzed separately from those operations, there are numerous types of data structures, generally built upon simpler primitive data types, An array is a number of elements in a specific order, typically all of the same type. Elements are accessed using an index to specify which element is required. Typical implementations allocate contiguous memory words for the elements of arrays, arrays may be fixed-length or resizable. A linked list is a collection of data elements of any type, called nodes, where each node has itself a value. The principal advantage of a linked list over an array, is that values can always be efficiently inserted and removed without relocating the rest of the list, certain other operations, such as random access to a certain element, are however slower on lists than on arrays. A record is a data structure. A record is a value that contains other values, typically in fixed number and sequence, the elements of records are usually called fields or members. A union is a structure that specifies which of a number of permitted primitive types may be stored in its instances. Contrast with a record, which could be defined to contain a float, enough space is allocated to contain the widest member datatype. A tagged union contains an additional field indicating its current type, a class is a data structure that contains data fields, like a record, as well as various methods which operate on the contents of the record

6.
HTML
–
Hypertext Markup Language is the standard markup language for creating web pages and web applications. With Cascading Style Sheets and JavaScript it forms a triad of cornerstone technologies for the World Wide Web, Web browsers receive HTML documents from a webserver or from local storage and render them into multimedia web pages. HTML describes the structure of a web page semantically and originally included cues for the appearance of the document, HTML elements are the building blocks of HTML pages. With HTML constructs, images and other objects, such as interactive forms and it provides a means to create structured documents by denoting structural semantics for text such as headings, paragraphs, lists, links, quotes and other items. HTML elements are delineated by tags, written using angle brackets, tags such as <img /> and <input /> introduce content into the page directly. Include explicit close tags for elements that permit content but are left empty, by carefully following the W3Cs compatibility guidelines, a user agent should be able to interpret the document equally as HTML or XHTML. For documents that are XHTML1.0 and have made compatible in this way. When delivered as XHTML, browsers should use an XML parser, HTML4 defined three different versions of the language, Strict, Transitional and Frameset. The Transitional and Frameset versions allow for presentational markup, which is omitted in the Strict version, instead, cascading style sheets are encouraged to improve the presentation of HTML documents. Because XHTML1 only defines an XML syntax for the language defined by HTML4, as this list demonstrates, the loose versions of the specification are maintained for legacy support. However, contrary to popular misconceptions, the move to XHTML does not imply a removal of this legacy support, rather the X in XML stands for extensible and the W3C is modularizing the entire specification and opening it up to independent extensions. The primary achievement in the move from XHTML1.0 to XHTML1.1 is the modularization of the entire specification, the strict version of HTML is deployed in XHTML1.1 through a set of modular extensions to the base XHTML1.1 specification. Likewise, someone looking for the loose or frameset specifications will find similar extended XHTML1.1 support, the modularization also allows for separate features to develop on their own timetable. So for example, XHTML1.1 will allow quicker migration to emerging XML standards such as MathML, in summary, the HTML4 specification primarily reined in all the various HTML implementations into a single clearly written specification based on SGML. XHTML1.0, ported this specification, as is, next, XHTML1.1 takes advantage of the extensible nature of XML and modularizes the whole specification. XHTML2.0 was intended to be the first step in adding new features to the specification in a standards-body-based approach. The WHATWG considers their work as living standard HTML for what constitutes the state of the art in major browser implementations by Apple, Google, Mozilla, Opera, hTML5 is specified by the HTML Working Group of the W3C following the W3C process. HTML lacks some of the found in earlier hypertext systems, such as source tracking, fat links

7.
Spreadsheet
–
A spreadsheet is an interactive computer application for organization, analysis and storage of data in tabular form. Spreadsheets are developed as computerized simulations of paper accounting worksheets, the program operates on data entered in cells of a table. Each cell may contain either numeric or text data, or the results of formulas that automatically calculate, a spreadsheet may also refer to one such electronic document. Spreadsheet users can adjust any stored value and observe the effects on calculated values and this makes the spreadsheet useful for what-if analysis since many cases can be rapidly investigated without manual recalculation. Modern spreadsheet software can have multiple interacting sheets, and can display either as text and numerals. Besides performing basic arithmetic and mathematical functions, modern spreadsheets provide built-in functions for financial and statistical operations. Such calculations as net present value or standard deviation can be applied to data with a pre-programmed function in a formula. Spreadsheet programs also provide conditional expressions, functions to convert between text and numbers, and functions operate on strings of text. Spreadsheets have replaced paper-based systems throughout the business world, although they were first developed for accounting or bookkeeping tasks, they now are used extensively in any context where tabular lists are built, sorted, and shared. LANPAR, available in 1969, was the first electronic spreadsheet on mainframe and time sharing computers, LANPAR was an acronym, LANguage for Programming Arrays at Random. VisiCalc was the first electronic spreadsheet on a microcomputer, and it helped turn the Apple II computer into a popular, Lotus 1-2-3 was the leading spreadsheet when DOS was the dominant operating system. Excel now has the largest market share on the Windows and Macintosh platforms, a spreadsheet program is a standard feature of an office productivity suite, since the advent of web apps, office suites now also exist in web app form. A spreadsheet consists of a table of cells arranged into rows and columns, X locations, the columns, are normally represented by letters, A, B, C, etc. while rows are normally represented by numbers,1,2,3, etc. A single cell can be referred to by addressing its row and column and this electronic concept of cell references was first introduced in LANPAR and a variant used in VisiCalc, and known as A1 notation. Additionally, spreadsheets have the concept of a range, a group of cells, for instance, one can refer to the first ten cells in the first column with the range A1, A10. LANPAR innovated forward referencing/natural order calculation which didnt re-appear until Lotus 123, in modern spreadsheet applications, several spreadsheets, often known as worksheets or simply sheets, are gathered together to form a workbook. A workbook is physically represented by a file, containing all the data for the book, the sheets, worksheets are normally represented by tabs that flip between pages, each one containing one of the sheets, although Numbers changes this model significantly. Cells in a multi-sheet book add the name to their reference, for instance

8.
JavaScript
–
JavaScript is a high-level, dynamic, untyped, and interpreted programming language. It has been standardized in the ECMAScript language specification, JavaScript is prototype-based with first-class functions, making it a multi-paradigm language, supporting object-oriented, imperative, and functional programming styles. JavaScript was influenced by programming languages such as Self and Scheme, JavaScript is also used in environments that are not Web-based, such as PDF documents, site-specific browsers, and desktop widgets. Newer and faster JavaScript virtual machines and platforms built upon them have increased the popularity of JavaScript for server-side Web applications. On the client side, developers have traditionally implemented JavaScript as an interpreted language, programmers also use JavaScript in video-game development, in crafting desktop and mobile applications, and in server-side network programming with run-time environments such as Node. js. In 1994, a company called Mosaic Communications was founded in Mountain View, California, however, it intentionally shared no code with NCSA Mosaic. The internal codename for the browser was Mozilla, which stood for Mosaic killer. The first version of the Web browser, Mosaic Netscape 0.9, was released in late 1994, within four months it had already taken three-quarters of the browser market and became the main browser for Internet in the 1990s. To avoid trademark problems with the NCSA, the browser was subsequently renamed Netscape Navigator in the same year. Netscape Communications realized that the Web needed to more dynamic. In 1995, the company recruited Brendan Eich with the goal of embedding the Scheme programming language into its Netscape Navigator, to defend the idea of JavaScript against competing proposals, the company needed a prototype. Eich wrote one in 10 days, in May 1995, there is a common misconception that JavaScript was influenced by an earlier Web page scripting language developed by Nombas named C--. Brendan Eich, however, had never heard of C-- before he created LiveScript, Nombas did pitch their embedded Web page scripting to Netscape, though Web page scripting was not a new concept, as shown by the ViolaWWW Web browser. Nombas later switched to offering JavaScript instead of C-- in their ScriptEase product and was part of the TC39 group that standardized ECMAScript, in December 1995, soon after releasing JavaScript for browsers, Netscape introduced an implementation of the language for server-side scripting with Netscape Enterprise Server. Since the mid-2000s, additional server-side JavaScript implementations have been introduced, Microsoft script technologies including VBScript and JScript were released in 1996. JScript, an implementation of Netscapes JavaScript, was part of Internet Explorer 3. JScript was also available for server-side scripting in Internet Information Server, JavaScript began to acquire a reputation for being one of the roadblocks to a cross-platform and standards-driven Web. Some developers took on the task of trying to make their sites work in both major browsers, but many could not afford the time

9.
Android (operating system)
–
Android is a mobile operating system developed by Google, based on the Linux kernel and designed primarily for touchscreen mobile devices such as smartphones and tablets. In addition to devices, Google has further developed Android TV for televisions, Android Auto for cars. Variants of Android are also used on notebooks, game consoles, digital cameras, beginning with the first commercial Android device in September 2008, the operating system has gone through multiple major releases, with the current version being 7.0 Nougat, released in August 2016. Android applications can be downloaded from the Google Play store, which features over 2.7 million apps as of February 2017, Android has been the best-selling OS on tablets since 2013, and runs on the vast majority of smartphones. In September 2015, Android had 1.4 billion monthly active users, Android is popular with technology companies that require a ready-made, low-cost and customizable operating system for high-tech devices. The success of Android has made it a target for patent, Android Inc. was founded in Palo Alto, California in October 2003 by Andy Rubin, Rich Miner, Nick Sears, and Chris White. Rubin described the Android project as tremendous potential in developing smarter mobile devices that are aware of its owners location. The early intentions of the company were to develop an operating system for digital cameras. Despite the past accomplishments of the founders and early employees, Android Inc. operated secretly and that same year, Rubin ran out of money. Steve Perlman, a friend of Rubin, brought him $10,000 in cash in an envelope. In July 2005, Google acquired Android Inc. for at least $50 million and its key employees, including Rubin, Miner and White, joined Google as part of the acquisition. Not much was known about Android at the time, with Rubin having only stated that they were making software for mobile phones, at Google, the team led by Rubin developed a mobile device platform powered by the Linux kernel. Google marketed the platform to handset makers and carriers on the promise of providing a flexible, upgradeable system, Google had lined up a series of hardware components and software partners and signaled to carriers that it was open to various degrees of cooperation. Speculation about Googles intention to enter the communications market continued to build through December 2006. In September 2007, InformationWeek covered an Evalueserve study reporting that Google had filed several patent applications in the area of mobile telephony, the first commercially available smartphone running Android was the HTC Dream, also known as T-Mobile G1, announced on September 23,2008. Since 2008, Android has seen numerous updates which have improved the operating system, adding new features. Each major release is named in order after a dessert or sugary treat, with the first few Android versions being called Cupcake, Donut, Eclair. In 2010, Google launched its Nexus series of devices, a lineup in which Google partnered with different device manufacturers to produce new devices and introduce new Android versions

10.
Snippet (programming)
–
Snippet is a programming term for a small region of re-usable source code, machine code, or text. Ordinarily, these are formally defined operative units to incorporate into larger programming modules, snippet management is a feature of some text editors, program source code editors, IDEs, and related software. It allows the user to avoid typing in the course of routine edit operations. Snippet management is a text editor feature popular among software developers or others who routinely require content from a catalogue of repeatedly entered text, often this feature is justified because the content varies only slightly each time it is entered. These basic management abilities include such as viewing, adding, editing, deleting, sorting, filtering, grouping, renaming. Some editors provide a macro ability to snippets allowing function prototypes, some programmers applications such as Eclipse, NetBeans, and Microsofts Visual Studio and other IDEs include built-in parts of structure for ease of coding. Other applications such as Macromedia Dreamweaver make use of code snippets as well for Web development. Just-in-time compilers can splice together pre-compiled sections of code as longer object code/machine code segments and this reduces interpret time significantly and simultaneously speeds execution. In programming practice, snippet refers narrowly to a portion of code that is literally included by an editor program into a file. This concrete inclusion is in contrast to methods, such as functions or macros. Snippets are thus used when these abstractions are not available or not desired, such as in languages that lack abstraction, or for clarity. Snippets are similar to having static preprocessing included in the editor, on the flip side, this means that snippets cannot be invariably modified after the fact, and thus is vulnerable to all of the problems of copy and paste programming. For this reason snippets are primarily used for sections of code, or for boilerplate, such as copyright notices, function prototypes, common control structures. Consider the process of swapping the values of two variables, x and y, the user is not able to specify anything else, except perhaps the cursor position relative to the newly inserted text. Static snippets are similar to simple macros, dynamic snippets consist of fixed text combined with dynamic elements. The user may specify both the content of the elements, as well as their position relative to the fixed text. Examples of dynamic elements could be such as the current date or system time, or input from the user that is supplied via a GUI. Scriptable snippets consist of segments of code in either a macro language or a scripting language

11.
Microsoft Windows
–
Microsoft Windows is a metafamily of graphical operating systems developed, marketed, and sold by Microsoft. It consists of families of operating systems, each of which cater to a certain sector of the computing industry with the OS typically associated with IBM PC compatible architecture. Active Windows families include Windows NT, Windows Embedded and Windows Phone, defunct Windows families include Windows 9x, Windows 10 Mobile is an active product, unrelated to the defunct family Windows Mobile. Microsoft introduced an operating environment named Windows on November 20,1985, Microsoft Windows came to dominate the worlds personal computer market with over 90% market share, overtaking Mac OS, which had been introduced in 1984. Apple came to see Windows as an encroachment on their innovation in GUI development as implemented on products such as the Lisa. On PCs, Windows is still the most popular operating system, however, in 2014, Microsoft admitted losing the majority of the overall operating system market to Android, because of the massive growth in sales of Android smartphones. In 2014, the number of Windows devices sold was less than 25% that of Android devices sold and this comparison however may not be fully relevant, as the two operating systems traditionally target different platforms. As of September 2016, the most recent version of Windows for PCs, tablets, smartphones, the most recent versions for server computers is Windows Server 2016. A specialized version of Windows runs on the Xbox One game console, Microsoft, the developer of Windows, has registered several trademarks each of which denote a family of Windows operating systems that target a specific sector of the computing industry. It now consists of three operating system subfamilies that are released almost at the time and share the same kernel. Windows, The operating system for personal computers, tablets. The latest version is Windows 10, the main competitor of this family is macOS by Apple Inc. for personal computers and Android for mobile devices. Windows Server, The operating system for server computers, the latest version is Windows Server 2016. Unlike its clients sibling, it has adopted a strong naming scheme, the main competitor of this family is Linux. Windows PE, A lightweight version of its Windows sibling meant to operate as an operating system, used for installing Windows on bare-metal computers. The latest version is Windows PE10.0.10586.0, Windows Embedded, Initially, Microsoft developed Windows CE as a general-purpose operating system for every device that was too resource-limited to be called a full-fledged computer. The following Windows families are no longer being developed, Windows 9x, Microsoft now caters to the consumers market with Windows NT. Windows Mobile, The predecessor to Windows Phone, it was a mobile operating system

12.
Windows XP
–
Windows XP is a personal computer operating system that was produced by Microsoft as part of the Windows NT family of operating systems. It was released to manufacturing on August 24,2001, however, in January 2000, both projects were shelved in favor of a single OS codenamed Whistler, which would serve as a single OS platform for both consumer and business markets. Windows XP was an advance from the MS-DOS based versions of Windows in security, stability. It introduced a significantly redesigned graphical user interface and was the first version of Windows to use product activation in an effort to reduce its copyright infringement. Despite some initial concerns over the new licensing model and product activation system, Windows XP eventually proved to be popular and widely used. It is estimated that at least 400 million copies of Windows XP were sold globally within its first five years of availability, sales of Windows XP licenses to original equipment manufacturers ceased on June 30,2008, but continued for netbooks until October 2010. Windows XP remained popular even after the release of newer versions, vistas 2009 successor, Windows 7, only overtook XP in total market share at the end of 2011. Extended support for Windows XP ended on April 8,2014, as of November 2016, Windows XP desktop market share makes it the fourth most popular Windows version after Windows 7, Windows 10 and Windows 8.1. Windows XP is still popular in some countries, Africa as a whole and in Asia, e. g. in China. A number of activity centers were planned, serving as hubs for email communications, playing music, managing or viewing photos, searching the Internet, however, the project proved to be too ambitious. Microsoft discussed a plan to delay Neptune in favor of an interim OS known as Asteroid, which would have been an update to Windows 2000, and since Neptune and Odyssey would be based on the same code-base anyway, it made sense to combine them into a single project. In June 2000, Microsoft began the technical beta testing process, Whistler was expected to be available in Personal, Professional, Server, Advanced Server. At PDC on July 13,2000, Microsoft announced that Whistler would be released during the half of 2001. Build 2257 featured further refinements to the Watercolor theme, along with the introduction of the two-column Start menu. Microsoft released Whistler Beta 1, build 2296, on October 31,2000, build 2410 in January 2001 introduced Internet Explorer 6.0 and the Microsoft Product Activation system. Making it very friendly for the user to use. Builds 2416 and 2419 added the File and Transfer Settings Wizard, on February 5,2001, Microsoft officially announced that Whistler would be known as Windows XP, where XP stands for experience. As a complement, the version of Microsoft Office was also announced as Office XP

13.
ClipBook Viewer
–
A feature restricted version, called Clipboard Viewer, is available in Windows 9x and earlier. ClipBook Viewer was first introduced in Windows for Workgroups 3.1 and it allows users to store clipboard contents in ClipBook pages, share the contents of the clipboard with other users or save the clipboard contents to a file to reuse them later. The View menu allows viewing clipboard contents in various such as plain text, Unicode, HTML, RTF. In Windows XP, it is not listed in the Start menu and can only be access through its executable file, Windows NT relies on NetDDE and a Windows service called Clipbook to share ClipBook pages. Each shared page support an access control list that defines whether they can be seen, linked to, ClipBook Viewer has been removed from Windows Vista and later. Clipboard manager List of Windows components

14.
PowerShell
–
PowerShell is a task automation and configuration management framework from Microsoft, consisting of a command-line shell and associated scripting language built on the. NET Framework. Initially a Windows component only, PowerShell was made open-source and cross-platform on 18 August 2016, in PowerShell, administrative tasks are generally performed by cmdlets, which are specialized. NET classes implementing a particular operation. Sets of cmdlets may be combined into scripts, executables, or by instantiating regular. NET classes and these work by accessing data in different data stores, like the file system or registry, which are made available to the PowerShell runtime via PowerShell providers. PowerShell also provides a hosting API with which the PowerShell runtime can be embedded inside other applications and these applications can then use PowerShell functionality to implement certain operations, including those exposed via the graphical interface. Other Microsoft applications including Microsoft SQL Server 2008 also expose their management interface via PowerShell cmdlets, PowerShell includes its own extensive, console-based help, similar to man pages in Unix shells, via the Get-Help cmdlet. Local help contents can be retrieved from the Internet via Update-Help cmdlet, alternatively, help from the web can be acquired on a case-by-case basis via the -online switch to Get-Help. Every released version of Microsoft DOS and Microsoft Windows for personal computers has included a command-line interface tool, the shell is a command line interpreter that supports a few basic commands. For other purposes, a console application must be invoked from the shell. The shell also includes a language, which can be used to automate various tasks. In Windows Server 2003, the situation was improved, but scripting support was considered unsatisfactory. Microsoft attempted to address some of shortcomings by introducing the Windows Script Host in 1998 with Windows 98. It integrates with the Active Script engine and allows scripts to be written in languages, such as JScript and VBScript. Different versions of Windows provided various special-purpose command line interpreters with their own command sets, none of them were integrated with the command shell, nor were they interoperable. By 2002 Microsoft had started to develop a new approach to command line management, the shell and the ideas behind it were published in August 2002 in a white paper titled Monad Manifesto. Monad was to be a new extensible command shell with a design that would be capable of automating a full range of core administrative tasks. Microsoft first showed off Monad at the Professional Development Conference in Los Angeles in October 2003, a private beta program began a few months later which eventually led to a public beta program. Microsoft published the first Monad public beta release on June 17,2005, Beta 2 on September 11,2005, and Beta 3 on January 10,2006. Not much later, on April 25,2006 Microsoft formally announced that Monad had been renamed Windows PowerShell, Release Candidate 1 of PowerShell was released at the same time

15.
MacOS
–
Within the market of desktop, laptop and home computers, and by web usage, it is the second most widely used desktop OS after Microsoft Windows. Launched in 2001 as Mac OS X, the series is the latest in the family of Macintosh operating systems, Mac OS X succeeded classic Mac OS, which was introduced in 1984, and the final release of which was Mac OS9 in 1999. An initial, early version of the system, Mac OS X Server 1.0, was released in 1999, the first desktop version, Mac OS X10.0, followed in March 2001. In 2012, Apple rebranded Mac OS X to OS X. Releases were code named after big cats from the release up until OS X10.8 Mountain Lion. Beginning in 2013 with OS X10.9 Mavericks, releases have been named after landmarks in California, in 2016, Apple rebranded OS X to macOS, adopting the nomenclature that it uses for their other operating systems, iOS, watchOS, and tvOS. The latest version of macOS is macOS10.12 Sierra, macOS is based on technologies developed at NeXT between 1985 and 1997, when Apple acquired the company. The X in Mac OS X and OS X is pronounced ten, macOS shares its Unix-based core, named Darwin, and many of its frameworks with iOS, tvOS and watchOS. A heavily modified version of Mac OS X10.4 Tiger was used for the first-generation Apple TV, Apple also used to have a separate line of releases of Mac OS X designed for servers. Beginning with Mac OS X10.7 Lion, the functions were made available as a separate package on the Mac App Store. Releases of Mac OS X from 1999 to 2005 can run only on the PowerPC-based Macs from the time period, Mac OS X10.5 Leopard was released as a Universal binary, meaning the installer disc supported both Intel and PowerPC processors. In 2009, Apple released Mac OS X10.6 Snow Leopard, in 2011, Apple released Mac OS X10.7 Lion, which no longer supported 32-bit Intel processors and also did not include Rosetta. All versions of the system released since then run exclusively on 64-bit Intel CPUs, the heritage of what would become macOS had originated at NeXT, a company founded by Steve Jobs following his departure from Apple in 1985. There, the Unix-like NeXTSTEP operating system was developed, and then launched in 1989 and its graphical user interface was built on top of an object-oriented GUI toolkit using the Objective-C programming language. This led Apple to purchase NeXT in 1996, allowing NeXTSTEP, then called OPENSTEP, previous Macintosh operating systems were named using Arabic numerals, e. g. Mac OS8 and Mac OS9. The letter X in Mac OS Xs name refers to the number 10 and it is therefore correctly pronounced ten /ˈtɛn/ in this context. However, a common mispronunciation is X /ˈɛks/, consumer releases of Mac OS X included more backward compatibility. Mac OS applications could be rewritten to run natively via the Carbon API, the consumer version of Mac OS X was launched in 2001 with Mac OS X10.0. Reviews were variable, with praise for its sophisticated, glossy Aqua interface

16.
X Window System
–
The X Window System is a windowing system for bitmap displays, common on UNIX-like computer operating systems. X provides the framework for a GUI environment, drawing and moving windows on the display device and interacting with a mouse. X does not mandate the user interface – this is handled by individual programs, as such, the visual styling of X-based environments varies greatly, different programs may present radically different interfaces. X originated at the Massachusetts Institute of Technology in 1984, the protocol has been version 11 since September 1987. The X. Org Foundation leads the X project, with the current reference implementation, X. Org Server, available as free and open source software under the MIT License, X is an architecture-independent system for remote graphical user interfaces and input device capabilities. Each person using a terminal has the ability to interact with the display with any type of user input device. X provides the framework, or primitives, for building such GUI environments, drawing and moving windows on the display and interacting with a mouse. X does not mandate the user interface, individual client programs handle this, programs may use Xs graphical abilities with no user interface. As such, the styling of X-based environments varies greatly. Unlike most earlier display protocols, X was specifically designed to be used over network connections rather than on an integral or attached display device. X features network transparency, which means an X program running on a computer somewhere on a network can display its user interface on an X server running on other computer on the network. The fact that the server is applied to the software in front of the user is often surprising to users accustomed to their programs being clients to services on remote computers. Xs network protocol is based on X command primitives and this approach allows both 2D and 3D operations by an X client application which might be running on a different computer to still be fully accelerated on the X servers display. X provides no support for audio, several projects exist to fill this niche. X uses a model, an X server communicates with various client programs. The server accepts requests for graphical output and sends back user input, a client and server can even communicate securely over the Internet by tunneling the connection over an encrypted network session. An X client itself may emulate an X server by providing services to other clients. This is known as X nesting, open-source clients such as Xnest and Xephyr support such X nesting

17.
Unix
–
Among these is Apples macOS, which is the Unix version with the largest installed base as of 2014. Many Unix-like operating systems have arisen over the years, of which Linux is the most popular, Unix was originally meant to be a convenient platform for programmers developing software to be run on it and on other systems, rather than for non-programmer users. The system grew larger as the system started spreading in academic circles, as users added their own tools to the system. Unix was designed to be portable, multi-tasking and multi-user in a time-sharing configuration and these concepts are collectively known as the Unix philosophy. By the early 1980s users began seeing Unix as a universal operating system. Under Unix, the system consists of many utilities along with the master control program. To mediate such access, the kernel has special rights, reflected in the division between user space and kernel space, the microkernel concept was introduced in an effort to reverse the trend towards larger kernels and return to a system in which most tasks were completed by smaller utilities. In an era when a standard computer consisted of a disk for storage and a data terminal for input and output. However, modern systems include networking and other new devices, as graphical user interfaces developed, the file model proved inadequate to the task of handling asynchronous events such as those generated by a mouse. In the 1980s, non-blocking I/O and the set of inter-process communication mechanisms were augmented with Unix domain sockets, shared memory, message queues, and semaphores. In microkernel implementations, functions such as network protocols could be moved out of the kernel, Multics introduced many innovations, but had many problems. Frustrated by the size and complexity of Multics but not by the aims and their last researchers to leave Multics, Ken Thompson, Dennis Ritchie, M. D. McIlroy, and J. F. Ossanna, decided to redo the work on a much smaller scale. The name Unics, a pun on Multics, was suggested for the project in 1970. Peter H. Salus credits Peter Neumann with the pun, while Brian Kernighan claims the coining for himself, in 1972, Unix was rewritten in the C programming language. Bell Labs produced several versions of Unix that are referred to as Research Unix. In 1975, the first source license for UNIX was sold to faculty at the University of Illinois Department of Computer Science, UIUC graduate student Greg Chesson was instrumental in negotiating the terms of this license. During the late 1970s and early 1980s, the influence of Unix in academic circles led to adoption of Unix by commercial startups, including Sequent, HP-UX, Solaris, AIX. In the late 1980s, AT&T Unix System Laboratories and Sun Microsystems developed System V Release 4, in the 1990s, Unix-like systems grew in popularity as Linux and BSD distributions were developed through collaboration by a worldwide network of programmers

18.
Linux
–
Linux is a Unix-like computer operating system assembled under the model of free and open-source software development and distribution. The defining component of Linux is the Linux kernel, an operating system kernel first released on September 17,1991 by Linus Torvalds, the Free Software Foundation uses the name GNU/Linux to describe the operating system, which has led to some controversy. Linux was originally developed for computers based on the Intel x86 architecture. Because of the dominance of Android on smartphones, Linux has the largest installed base of all operating systems. Linux is also the operating system on servers and other big iron systems such as mainframe computers. It is used by around 2. 3% of desktop computers, the Chromebook, which runs on Chrome OS, dominates the US K–12 education market and represents nearly 20% of the sub-$300 notebook sales in the US. Linux also runs on embedded systems – devices whose operating system is built into the firmware and is highly tailored to the system. This includes TiVo and similar DVR devices, network routers, facility automation controls, televisions, many smartphones and tablet computers run Android and other Linux derivatives. The development of Linux is one of the most prominent examples of free, the underlying source code may be used, modified and distributed‍—‌commercially or non-commercially‍—‌by anyone under the terms of its respective licenses, such as the GNU General Public License. Typically, Linux is packaged in a known as a Linux distribution for both desktop and server use. Distributions intended to run on servers may omit all graphical environments from the standard install, because Linux is freely redistributable, anyone may create a distribution for any intended use. The Unix operating system was conceived and implemented in 1969 at AT&Ts Bell Laboratories in the United States by Ken Thompson, Dennis Ritchie, Douglas McIlroy, first released in 1971, Unix was written entirely in assembly language, as was common practice at the time. Later, in a key pioneering approach in 1973, it was rewritten in the C programming language by Dennis Ritchie, the availability of a high-level language implementation of Unix made its porting to different computer platforms easier. Due to an earlier antitrust case forbidding it from entering the computer business, as a result, Unix grew quickly and became widely adopted by academic institutions and businesses. In 1984, AT&T divested itself of Bell Labs, freed of the legal obligation requiring free licensing, the GNU Project, started in 1983 by Richard Stallman, has the goal of creating a complete Unix-compatible software system composed entirely of free software. Later, in 1985, Stallman started the Free Software Foundation, by the early 1990s, many of the programs required in an operating system were completed, although low-level elements such as device drivers, daemons, and the kernel were stalled and incomplete. Linus Torvalds has stated that if the GNU kernel had been available at the time, although not released until 1992 due to legal complications, development of 386BSD, from which NetBSD, OpenBSD and FreeBSD descended, predated that of Linux. Torvalds has also stated that if 386BSD had been available at the time, although the complete source code of MINIX was freely available, the licensing terms prevented it from being free software until the licensing changed in April 2000

19.
GNOME
–
GNOME is a desktop environment composed of free and open-source software that runs on Linux and most BSD derivatives. GNOME was originally an acronym for GNU Network Object Model Environment, GNOME is developed by The GNOME Project, which is composed of both volunteers and paid contributors, the largest corporate contributor being Red Hat. GNOME is part of the GNU Project, since GNOME2, productivity has been a key focus for GNOME. To this end, the GNOME Human Interface Guidelines were created, all GNOME programs share a coherent style of graphical user interface but are not limited to the employment of the same GUI widgets. Rather, the design of the GNOME GUI is guided by concepts described in the GNOME HIG, following the HIG, developers can create high-quality, consistent, and usable GUI programs, as it addresses everything from GUI design to recommended pixel-based layout of widgets. During the GNOME2 rewrite, many settings deemed of value to the majority of users were removed. Or even configurable to be the union of all applications that anyones ever seen on any historical platform and it turns out that preferences have a cost. Of course, some also have important benefits – and can be crucial interface features. But each one has a price, and you have to consider its value. Many users and developers dont understand this, and end up with a lot of cost, GNOME aims to make and keep the desktop environment physically and cognitively ergonomic for people with disabilities. The GNOME HIG tries to take this account as far as possible. Particular utilities are registered with ATK using Assistive Technology Service Provider Interface, several assistive technology providers, including Orca screen reader and Dasher input method, were developed specifically for use with GNOME. GNOME Shell is the user interface of the GNOME desktop environment. It features a top bar holding an Activities button, a menu, a clock. The status menu holds various system status indicators, shortcuts to system settings, and session actions including logging out, switching users, locking the screen, clicking on the Activities button, moving the mouse to the top-left hot corner or pressing the Super key brings up the Overview. The Overview gives users an overview of current activities and provides a way to switch between windows and workspaces and to launch applications, the Dash on the left houses shortcuts to favorite applications and open windows and an application picker button to show a list of all installed applications. A search bar appears at the top and a workspace list for switching between workspaces is on the right, notifications appear from the bottom of the screen. Beginning with GNOME3.8, GNOME provides a Classic Mode for those who prefer a traditional desktop experience, GNOME3.24 will extend Wayland compatibility to NVidia drivers

20.
KDE
–
KDE is an international free software community that develops Free and Libre software. Well-known products include the Plasma Desktop, KDE Frameworks and a range of applications designed to run on modern Unix-like. It further provides tools and documentation for developers that enables them to write software and this supporting role makes KDE a central development hub and home for many popular applications and projects like Calligra Suite, Krita or digiKam. The Plasma Desktop, being one of the most recognized projects of KDE, is the desktop environment on many Linux distributions, such as openSUSE, Mageia, Chakra, Kubuntu. It was also the default desktop environment on PC-BSD, but was replaced with Lumina. The work of the KDE community can be measured in the following figures, more than 1800 contributors participate in developing KDE software. About 20 new developers contribute their first code each month, KDE Software consists of over 6 million lines of code. KDE Software is translated in over 108 languages, KDE Software is available on more than 114 official FTP mirrors in over 34 countries. A read-only mirror of all repositories can be found on Github, K Desktop Environment was founded in 1996 by Matthias Ettrich, who was then a student at the Eberhard Karls University of Tübingen. At the time, he was troubled by certain aspects of the Unix desktop, among his concerns was that none of the applications looked, felt, or worked alike. He proposed the creation of not merely a set of applications but a desktop environment in which users could expect things to look, feel, and work consistently. He also wanted to make this easy to use, one of his complaints about desktop applications of the time was that it is too complicated for end user. His initial Usenet post spurred a lot of interest, and the KDE project was born, the name KDE was intended as a wordplay on the existing Common Desktop Environment, available for Unix systems. CDE is an X11-based user environment jointly developed by HP, IBM and it was supposed to be an intuitively easy-to-use desktop computer environment. The K was originally suggested to stand for Kool, but it was decided that the K should stand for nothing in particular. Therefore, the KDE initialism expanded to K Desktop Environment before it was dropped altogether in favor of KDE = Community due to the rebranding effort. The rebranding focused on de-emphasizing the desktop environment as just another product, what would have been previously known as KDE4 was split into three products, Plasma Workspaces, KDE Applications, and KDE Platform – bundled as KDE Software Compilation 4. As of today the name KDE no longer stands for K Desktop Environment, the financial and legal matters of KDE are handled by KDE e. V

21.
Freedesktop.org
–
Freedesktop. org is a project to work on interoperability and shared base technology for free software desktop environments for the X Window System on Linux and other Unix-like operating systems. It was founded by Havoc Pennington from Red Hat in March 2000, the project is hosted by Software in the Public Interest, the non-profit organization created by the Debian Project. There are many development frameworks for X, and this is unlikely to change, the organization seeks to ensure that differences in development frameworks are not user-visible. Widely used open-source X desktop projects—such as GNOME, KDE, in 2006, the project released Portland 1.0, a set of common interfaces for desktop environments. Freedesktop. org was formerly known as the X Desktop Group, freedesktop. org provides hosting for a number of relevant projects. These include, Software related to windowing systems and graphics in general Cairo, direct Rendering Infrastructure, Linux API to access the graphics hardware, used by X11, Wayland compositors, Mesa 3D, etc. Glamor, 2D graphics common driver for X server, it supports a variety of graphics chipsets which have supports for OpenGL/EGL/GBM APIs Mesa 3D, pixman, is a low-level software library for pixel manipulation, providing features such as image compositing and trapezoid rasterization. Important users of pixman are the cairo graphics library and the X. Org Server Poppler, gTK-Qt engine, a GTK+2 engine which uses Qt to draw the graphical control elements, providing the same look and feel of KDE applications to GTK+2 applications. HAL is a consistent cross-operating system layer, it has been deprecated and replaced by udev. Org input driver, systemd is a comprehensive init framework to start and manage services and sessions meant to replace older init models. Xft, anti-aliased fonts using the FreeType library, rather than the old X core fonts, also, Avahi started as a fd. o project but has now moved elsewhere. The project aims to catch interoperability issues much earlier in the process and it is not for legislating formal standards. X. Org Foundation Comparison of open source software hosting facilities Linux on the desktop Notes The Big freedesktop. org Interview Official website

22.
Amiga
–
The Amiga is a family of personal computers sold by Commodore in the 1980s and 1990s. The Amiga provided a significant upgrade from earlier 8-bit home computers, the Amiga 1000 was officially released in July 1985, but a series of production problems meant it did not become widely available until early 1986. The best selling model, the Amiga 500, was introduced in 1987 and became one of the home computers of the late 1980s. The A3000, introduced in 1990, started the second generation of Amiga systems, followed by the A500+, finally, as the third generation, the A1200 and the A4000 were released in late 1992. The platform became particularly popular for gaming and programming demos and it also found a prominent role in the desktop video, video production, and show control business, leading to video editing systems such as the Video Toaster. The Amigas native ability to play back multiple digital sound samples made it a popular platform for early tracker music software. It was also an expensive alternative to the Apple Macintosh. Initially, the Amiga was developed alongside various Commodore PC clones, Commodore ultimately went bankrupt in April 1994 after the Amiga CD32 model failed in the marketplace. Since the demise of Commodore, various groups have marketed successors to the original Amiga line, including Genesi, Eyetech, ACube Systems Srl, likewise, AmigaOS has influenced replacements, clones and compatible systems such as MorphOS, AmigaOS4 and AROS. The Amiga was so far ahead of its time that almost nobody—including Commodores marketing department—could fully articulate what it was all about. Today, its obvious the Amiga was the first multimedia computer, but in those days it was derided as a machine because few people grasped the importance of advanced graphics, sound. Nine years later, vendors are still struggling to make systems that work like 1985 Amigas, Jay Miner joined Atari in the 1970s to develop custom integrated circuits, and led development of the Atari 2600s TIA. Almost as soon as its development was complete, the team developing a much more sophisticated set of chips, CTIA, ANTIC and POKEY. With the 8-bit lines launch in 1979, Miner again started looking at a next generation chipset, Miner wanted to start work with the new Motorola 68000, but management was only interested in another MOS6502 based system. Miner left the company, and the industry, shortly thereafter, in 1982, Larry Kaplan was approached by a number of investors who wanted to develop a new game platform. Kaplan hired Miner to run the side of the newly formed company. The system was code-named Lorraine in keeping with Miners policy of giving systems female names, in case the company presidents wife. When Kaplan left the late in 1982 to rejoin Atari, Miner was promoted to head engineer

23.
Qt (software)
–
Qt is available with both commercial and open source GPL2.0, GPL3.0, and LGPL3.0 licenses. Qt is used for developing applications and graphical user interfaces, however, programs without a GUI can be developed, such as command-line tools. An example of a program using Qt is the Cutelyst web framework. GUI programs created with Qt can have an interface, in which case Qt is classified as a widget toolkit. Qt supports many compilers, including the GCC C++ compiler and the Visual Studio suite, Qt also provides Qt Quick, that includes a declarative scripting language called QML that allows using JavaScript to provide the logic. With Qt Quick, rapid development for mobile devices became possible. Qt can be used in other programming languages via language bindings. It runs on the major platforms and some of the mobile platforms. Non-GUI features include SQL database access, XML parsing, JSON parsing, thread management, several GUIs and desktop environments utilize Qt as widget toolkit. This made the work easier because very few classes in Qt depended really on the target platform, however. On some platforms Qt is the native API, some other portable graphical toolkits have made different design decisions, for example, wxWidgets uses the toolkits of the target platform for its implementations. Signals and slots A language construct introduced in Qt for communication between objects which makes it easy to implement the observer pattern while avoiding boilerplate code. The concept is that GUI widgets can send signals containing event information which can be received by other controls using special functions known as slots, metaobject compiler The metaobject compiler, termed moc, is a tool that is run on the sources of a Qt program. It interprets certain macros from the C++ code as annotations, and this meta information is used by Qt to provide programming features not available natively in C++, signals and slots, introspection and asynchronous function calls. Qt works on different platforms, the following are officially supported. There are also ports of Qt that may be available. These platforms are listed in List of platforms supported by Qt, there are four editions of Qt available, Community, Indie Mobile, Professional and Enterprise. Qt is available under the free software licenses, GPL3.0, LGPL3.0

24.
International Standard Book Number
–
The International Standard Book Number is a unique numeric commercial book identifier. An ISBN is assigned to each edition and variation of a book, for example, an e-book, a paperback and a hardcover edition of the same book would each have a different ISBN. The ISBN is 13 digits long if assigned on or after 1 January 2007, the method of assigning an ISBN is nation-based and varies from country to country, often depending on how large the publishing industry is within a country. The initial ISBN configuration of recognition was generated in 1967 based upon the 9-digit Standard Book Numbering created in 1966, the 10-digit ISBN format was developed by the International Organization for Standardization and was published in 1970 as international standard ISO2108. Occasionally, a book may appear without a printed ISBN if it is printed privately or the author does not follow the usual ISBN procedure, however, this can be rectified later. Another identifier, the International Standard Serial Number, identifies periodical publications such as magazines, the ISBN configuration of recognition was generated in 1967 in the United Kingdom by David Whitaker and in 1968 in the US by Emery Koltay. The 10-digit ISBN format was developed by the International Organization for Standardization and was published in 1970 as international standard ISO2108, the United Kingdom continued to use the 9-digit SBN code until 1974. The ISO on-line facility only refers back to 1978, an SBN may be converted to an ISBN by prefixing the digit 0. For example, the edition of Mr. J. G. Reeder Returns, published by Hodder in 1965, has SBN340013818 -340 indicating the publisher,01381 their serial number. This can be converted to ISBN 0-340-01381-8, the check digit does not need to be re-calculated, since 1 January 2007, ISBNs have contained 13 digits, a format that is compatible with Bookland European Article Number EAN-13s. An ISBN is assigned to each edition and variation of a book, for example, an ebook, a paperback, and a hardcover edition of the same book would each have a different ISBN. The ISBN is 13 digits long if assigned on or after 1 January 2007, a 13-digit ISBN can be separated into its parts, and when this is done it is customary to separate the parts with hyphens or spaces. Separating the parts of a 10-digit ISBN is also done with either hyphens or spaces, figuring out how to correctly separate a given ISBN number is complicated, because most of the parts do not use a fixed number of digits. ISBN issuance is country-specific, in that ISBNs are issued by the ISBN registration agency that is responsible for country or territory regardless of the publication language. Some ISBN registration agencies are based in national libraries or within ministries of culture, in other cases, the ISBN registration service is provided by organisations such as bibliographic data providers that are not government funded. In Canada, ISBNs are issued at no cost with the purpose of encouraging Canadian culture. In the United Kingdom, United States, and some countries, where the service is provided by non-government-funded organisations. Australia, ISBNs are issued by the library services agency Thorpe-Bowker

25.
OCLC
–
The Online Computer Library Center is a US-based nonprofit cooperative organization dedicated to the public purposes of furthering access to the worlds information and reducing information costs. It was founded in 1967 as the Ohio College Library Center, OCLC and its member libraries cooperatively produce and maintain WorldCat, the largest online public access catalog in the world. OCLC is funded mainly by the fees that libraries have to pay for its services, the group first met on July 5,1967 on the campus of the Ohio State University to sign the articles of incorporation for the nonprofit organization. The group hired Frederick G. Kilgour, a former Yale University medical school librarian, Kilgour wished to merge the latest information storage and retrieval system of the time, the computer, with the oldest, the library. The goal of network and database was to bring libraries together to cooperatively keep track of the worlds information in order to best serve researchers and scholars. The first library to do online cataloging through OCLC was the Alden Library at Ohio University on August 26,1971 and this was the first occurrence of online cataloging by any library worldwide. Membership in OCLC is based on use of services and contribution of data, between 1967 and 1977, OCLC membership was limited to institutions in Ohio, but in 1978, a new governance structure was established that allowed institutions from other states to join. In 2002, the structure was again modified to accommodate participation from outside the United States. As OCLC expanded services in the United States outside of Ohio, it relied on establishing strategic partnerships with networks, organizations that provided training, support, by 2008, there were 15 independent United States regional service providers. OCLC networks played a key role in OCLC governance, with networks electing delegates to serve on OCLC Members Council, in early 2009, OCLC negotiated new contracts with the former networks and opened a centralized support center. OCLC provides bibliographic, abstract and full-text information to anyone, OCLC and its member libraries cooperatively produce and maintain WorldCat—the OCLC Online Union Catalog, the largest online public access catalog in the world. WorldCat has holding records from public and private libraries worldwide. org, in October 2005, the OCLC technical staff began a wiki project, WikiD, allowing readers to add commentary and structured-field information associated with any WorldCat record. The Online Computer Library Center acquired the trademark and copyrights associated with the Dewey Decimal Classification System when it bought Forest Press in 1988, a browser for books with their Dewey Decimal Classifications was available until July 2013, it was replaced by the Classify Service. S. The reference management service QuestionPoint provides libraries with tools to communicate with users and this around-the-clock reference service is provided by a cooperative of participating global libraries. OCLC has produced cards for members since 1971 with its shared online catalog. OCLC commercially sells software, e. g. CONTENTdm for managing digital collections, OCLC has been conducting research for the library community for more than 30 years. In accordance with its mission, OCLC makes its research outcomes known through various publications and these publications, including journal articles, reports, newsletters, and presentations, are available through the organizations website. The most recent publications are displayed first, and all archived resources, membership Reports – A number of significant reports on topics ranging from virtual reference in libraries to perceptions about library funding

26.
Command-line interface
–
A program which handles the interface is called a command language interpreter or shell. The interface is implemented with a command line shell, which is a program that accepts commands as text input. Command-line interfaces to computer operating systems are widely used by casual computer users. Alternatives to the line include, but are not limited to text user interface menus, keyboard shortcuts. Examples of this include the Windows versions 1,2,3,3.1, and 3.11, DosShell, and Mouse Systems PowerPanel. Command-line interfaces are preferred by more advanced computer users, as they often provide a more concise. Programs with command-line interfaces are generally easier to automate via scripting, a program that implements such a text interface is often called a command-line interpreter, command processor or shell. Under most operating systems, it is possible to replace the shell program with alternatives, examples include 4DOS for DOS, 4OS2 for OS/2. For example, the default Windows GUI is a program named EXPLORER. EXE. These programs are shells, but not CLIs, application programs may also have command line interfaces. When a program is launched from an OS command line shell, interactive command line sessions, After launch, a program may provide an operator with an independent means to enter commands in the form of text. OS inter-process communication, Most operating systems support means of inter-process communication, Command lines from client processes may be redirected to a CLI program by one of these methods. Some applications support only a CLI, presenting a CLI prompt to the user, Some examples of CLI-only applications are, DEBUG Diskpart Ed Edlin Fdisk Ping Some computer programs support both a CLI and a GUI. In some cases, a GUI is simply a wrapper around a separate CLI executable file, in other cases, a program may provide a CLI as an optional alternative to its GUI. CLIs and GUIs often support different functionality, for example, all features of MATLAB, a numerical analysis computer program, are available via the CLI, whereas the MATLAB GUI exposes only a subset of features. The early Sierra games, like the first three Kings Quest games, used commands from a command line to move the character around in the graphic window. Early computer systems often used teleprinter machines as the means of interaction with a human operator, the computer became one end of the human-to-human teleprinter model. So instead of a human communicating with another human over a teleprinter, in time, the actual mechanical teleprinter was replaced by a glass tty, and then by a smart terminal

27.
COMMAND.COM
–
COMMAND. COM is the default operating system shell for DOS operating systems and the default command line interpreter on Windows 95, Windows 98 and Windows ME. COMMAND. COMs successor on OS/2 and Windows NT systems is CMD. EXE, COMMAND. COM is also available on IA-32 versions of those systems to provide compatibility when running DOS applications within the NTVDM. Programs executed by COMMAND. COM are DOS programs that use the MS-DOS API to communicate with the operating system, as a shell, COMMAND. COM has two distinct modes of work. First is the mode, in which the user types commands which are then executed immediately. The second is the mode, which executes a predefined sequence of commands stored as a text file with the extension. BAT. Internal Commands are commands stored directly inside the COMMAND. COM binary, thus, they can only be executed directly from the command interpreter. All commands are run only after the Enter key is pressed at the end of the line, COMMAND. COM is not case-sensitive, meaning commands can be typed in any mixture of upper and lower case. BREAK Controls the handling of program interruption with Ctrl+C or Ctrl+Break, CHCP Displays or changes the current system code page. CHDIR, CD Changes the current working directory or displays the current directory, COPY Copies one file to another. CTTY Defines the device to use for input and output, DATE Display and set the date of the system. When used on a directory, deletes all files inside the directory only, in comparison, the external command DELTREE deletes all subdirectories and files inside a directory as well as the directory itself. DIR Lists the files in the specified directory, ECHO Toggles whether text is displayed or not. Also displays text on the screen, EXIT Exits from COMMAND. COM and returns to the program which launched it. LFNFOR Enables or disables the return of long filenames by the FOR command, LOADHIGH, LH Loads a program into upper memory. LOCK Enables external programs to perform low-level disk access to a volume, MKDIR, MD Creates a new directory. PATH Displays or changes the value of the PATH environment variable which controls the places where COMMAND. COM will search for executable files, PROMPT Displays or change the value of the PROMPT environment variable which controls the appearance of the prompt. REN, RENAME Renames a file or directory, RMDIR, RD Removes an empty directory. SET Sets the value of an environment variable, Without arguments, TIME Display and set the time of the system

28.
Cmd.exe
–
Command Prompt, also known as cmd. exe or cmd, is the command-line interpreter on Windows NT, Windows CE, OS/2 and eComStation operating systems. It is the counterpart of COMMAND. COM in DOS and Windows 9x systems, the initial version of Command Prompt for Windows NT was developed by Therese Stowell. Command Prompt interacts with the user through a command-line interface, in Windows, this interface is implemented through Win32 console. Command Prompt may take advantage of available to native programs of its own platform. For example, in OS/2, it can use real pipes in command pipelines, as a result, it is possible to redirect the standard error stream. In Windows, Command Prompt is compatible with COMMAND. COM but provides the following extensions over it, in the OS/2, errors are reported in the chosen language of the system, their text being taken from the system message files. The HELP command can then be issued with the error message number to obtain further information, supports using of arrow keys to scroll through command history. This function was available to COMMAND. COM via an external component called DOSKEY. Adds command-line completion for file and folder paths Treats the Caret character as the character, in other words. There special characters in Command Prompt and COMMAND. COM that are part of the syntax and, if specified without caret, supports delayed variable expansion, fixing DOS idioms that made using control structures hard and complex. The extensions can be disabled, providing a stricter compatibility mode, internal commands have also been improved, The DelTree command was merged into the RD command, as part of its /S switch. SetLocal and EndLocal commands limit the scope of changes to the environment, changes made to the command line environment after SetLocal commands are local to the batch file. EndLocal command restores the previous settings, the Call command allows subroutines within batch file. The Call command in COMMAND. COM only supports calling external batch files, File name parser extensions to the Set command are comparable with C shell. The Set command can perform expression evaluation, an expansion of the For command supports parsing files and arbitrary sets in addition to file names. The new PushD and PopD commands provide access past navigated paths similar to forward, the conditional IF command can perform case-insensitive comparisons and numeric equality and inequality comparisons in addition to case-sensitive string comparisons. This was available in DR-DOS but not in PC DOS or MS-DOS

29.
Recovery Console
–
The Recovery Console is a feature of the Windows 2000, Windows XP and Windows Server 2003 operating systems. It provides the means for administrators to perform a range of tasks using a command line interface. Its primary function is to enable administrators to recover from situations where Windows does not boot as far as presenting its graphical user interface, the recovery console is used to provide a way to access the hard drive in an emergency through the command prompt. The Recovery Console has a simple command-line interpreter, many of the available commands closely resemble the commands that are normally available in CMD. EXE, namely attrib, copy, del, and so forth. This can be changed by changing Security Policies to enable access to the complete file system including copying files from removable media. Although it appears in the list of commands available by using the command, and in many articles about the Recovery Console. No protocol stacks are loaded, so there is no way to connect to a folder on a remote computer as implied. Description of the Windows XP Recovery Console, description of the Windows 2000 Recovery Console. Primer, Creating A Windows XP Recovery Console CD Image

30.
Cd (command)
–
The cd command, also known as chdir, is a command-line OS shell command used to change the current working directory in operating systems such as Unix, DOS, OS/2, AmigaOS, Windows, and Linux. It is also available for use in shell scripts and batch files, the system call that affects the command in most operating systems is chdir that is defined by POSIX. A directory is a section of a file system used to hold files. Directories may also contain other directories, the cd command can be used to change into a subdirectory, move back into the parent directory, move all the way back to the root directory or move to any given directory. Consider the following subsection of a Unix filesystem, which shows a home directory with a file. If the users current working directory is the directory, then entering the command ls followed by cd games might produce the following transcript. The cd command can be used to change the working directory of the drive or another lettered drive. Modern versions of Windows simulate this behaviour for backwards compatibility under CMD. EXE, note that executing cd from the command line with no arguments has different effects in different operating systems. For example, if cd is executed without arguments in DOS, OS/2, or Windows, if cd is executed without arguments in Unix, the user is returned to the home directory. Executing the cd command within a script or batch file also has different effects in different operating systems, in DOS, the callers current directory can be directly altered by the batch files use of this command. In Unix, the current directory is not altered by the scripts invocation of the cd command. This is because in Unix, the script is executed within a subshell. Cd is frequently included built directly into a command-line interpreter and this is the case in most of the Unix shells, cmd. exe and Windows PowerShell on Windows and COMMAND. COM on DOS. Command line shells on Windows usually use the Windows API to change the current working directory and this means that when the command is executed, no new process is created to migrate to the other directory as is the case with other commands such as ls. Instead, the shell itself executes this command and this is because, when a new process is created, child process inherits the directory in which the parent process was created. If the cd command inherits the parent process directory, then the objective of the command cd will never be achieved, Windows PowerShell, Microsofts object-oriented command line shell and scripting language, executes the cd command within the shells process. However, since PowerShell is based on the. NET Framework and has a different architecture than previous shells, all of PowerShells cmdlets like ls, of course, this is not true for legacy commands which still run in a separate process. Cd by itself or cd ~ will always put you in your home directory, cd. will leave you in the same directory you are currently in