User:Kazkaskazkasako/Books/EECS

Electrical engineering (EE) and Computer science (CS)
 * Computer science and engineering (CSE)

Electrical engineering

 * Category:Electrical and computer engineering
 * Category:Electrical engineering
 * Category:Computer engineering
 * Category:Electronic engineering

{q.v. }
 * User:Kazkaskazkasako/Books/Physical sciences


 * Electrical engineering: engineering discipline concerned with the study, design and application of equipment, devices and systems which use electricity, electronics, and electromagnetism. It emerged as an identifiable occupation in the latter half of the 19th century after commercialization of the electric telegraph, the telephone, and electrical power generation, distribution and use. Electrical Engineering is now divided into a wide range of fields, including computer engineering, systems engineering, power engineering, telecommunications, radio-frequency engineering, signal processing, instrumentation, electronics, and optics and photonics. Many of these disciplines overlap with other engineering branches, spanning a huge number of specializations including hardware engineering, power electronics, electromagnetics and waves, microwave engineering, nanotechnology, electrochemistry, renewable energies, mechatronics, and electrical materials science. International Electrotechnical Commission (IEC), the Institute of Electrical and Electronics Engineers (IEEE) and the Institution of Engineering and Technology (IET) (formerly the IEE).


 * Glossary of electrical and electronics engineering

Intro to CS

 * Category:Computer science
 * Category:Computer engineering
 * Category:Signal processing


 * List of important publications in computer science: Artificial intelligence: Machine learning; Compilers; Computer architecture; Computer graphics; Computer vision; Concurrent, parallel, and distributed computing; Databases; History of computation; Information retrieval; Networking; Operating systems; Programming languages; Scientific computing; Software engineering; Security and Privacy; Theoretical computer science.

Computer science, automata theory, logics (CS), philosophy of CS, ... are indebted to maths (including logics) and philosophy. But also it's kinda art, due to its relation to natural languages, and natural languages are the ones in which books, novels, poems, theatre and film/cinema pieces, ... are written. But natural languages have such a great complexity (including the written/spoken dichotomy; the writer's ideas in writing / reader's ideas in reading dichotomy; same for speaker and listener; ...), and formal languages and CS are so simple in comparison to natural languages and human thought (or brain's thought?). The phys-chem-bio processes happening in the human body, in the brain, in the cells and fluids and membranes making the brain, in the neuron and glia and other brain cells are even more complex than natural languages as these processes (in the materialistic school of thought) define the thoughts and thought processes which over the history of humanity generated the natural languages. This artistic culture could be inferred in German by expression Künstliche Intelligenz ("Kunst" means art) and in such things as hacker culture which produces artifacts which are, in a sense, pieces of art (installations, 3D + time = 4D arts (GPS in real time), ...). Therefore the art / science dichotomy deeply rooted in CS. Programmers / CS people have (many) tastes, but mathematicians (includes logicians) have only several choices for axioms! On the other hand, mathematics, (formal / natural) languages, semantics, syntax, grammar refer to things which are not real, not made of matter (photons, electrons, protons, neutrons, neutrinos, ...), therefore, in a sense of the outer world, but the natural sciences (physics and its children (includes chemistry and its children (includes biology and ...))) are of this world and study the matter (live / dead, organic / inorganic, any other dichotomies to classify the matter).

Computer Science

 * Category:Subfields of computer science
 * Category:Algorithms and data structures
 * Category:Artificial intelligence
 * Category:Computational science
 * Category:Computer architecture
 * Category:Computer graphics ✓
 * Category:Computer security ~
 * Category:Concurrency (computer science) ✓
 * Category:Database theory
 * Category:Formal methods
 * Category:Human-based computation
 * Category:Human–computer interaction ✓
 * Category:Mathematical optimization
 * Category:Programming language theory
 * Category:Soft computing
 * Category:Software engineering
 * Category:Theoretical computer science
 * Category:Theory of computation

Theoretical computer science

 * Category:Theoretical computer science
 * Category:Formal languages


 * Articles for deletion/List of important publications in theoretical computer science (2nd nomination) (List of important publications in theoretical computer science): Computability. Computational complexity theory. Algorithms. Algorithmic information theory. Information theory. Formal verification.


 * Template:Computer science
 * Template:Formal languages and grammars: R; (formal) grammars, (formal) languages, minimal implementations (automata); syntax & grammar & semantics (meaning) = language?
 * Backus–Naur Form UMR
 * Production (computer science)
 * Terminal and nonterminal symbols
 * Alphabet (computer science)
 * Semantics (computer science): mathematical model that describes the possible computations described by the language
 * Random access: book vs. scroll; RAM and arrays vs. HDD

Formal languages

 * Category:Formal languages
 * Category:Algorithms on strings
 * Category:Parsing
 * Category:Pattern matching
 * Category:Regular expressions

{q.v. }


 * Stochastic context-free grammar (Probabilistic context free grammars): Grammar theory to model symbol strings originated from work in computational linguistics aiming to understand the structure of natural languages.


 * Regular expression (regex, regexp): regular expression processor; ? :: zero or one; * :: zero or more; + :: one or more. Expressive power and compactness; Deciding equivalence of regular expressions. Standards: POSIX basic and extended (. ; [ ] ; [^ ] ; ^ ; $ ; ; \n ||n is a digit 1-9|| ; * ; {m,n} ); POSIX extended ( ? ; + ; | ). BRE, ERE, and SRE for Basic, Extended , and Simple Regular Expressions. SRE is deprecated, in favor of BRE, as both provide backward compatibility. Character classes; Standard Perl
 * Comparison of regular expression engines: the most powerful are: Perl (THE regex language) and Perl Compatible Regular Expressions (PCRE). Both have: Unicode support, named capture, recursion. PCRE has additionally: native UTF-16 and UTF-8 support; multi-line matching.

Meaning, knowledge (also philosophical and linguistic (syntax, words) sense)

 * Category:Knowledge representation
 * Category:Semantic Web

{q.v. }
 * 
 * User:Kazkaskazkasako/Books/All


 * Knowledge representation and reasoning
 * Siri (software) : intelligent software assistant and knowledge navigator functioning as a personal assistant application for iOS (for iPhone 4S & later). Due to Siri, National Federation of the Blind describes the iPhone as "the only fully accessible handset that a blind person can buy" [12/01/27]. DARPA, AI; SRI International & SRI's Artificial Intelligence Center; Carnegie Mellon Uni, MIT, Uni of Rochester, Florida Institute for Human & Machine Cognition (IHMC), Oregon State Uni, Uni of Souther Cal, Standford U.
 * Half-life of knowledge: idea by Fritz Machlup (dissertation under Ludwig von Mises; Machlup "examined knowledge as an economic resource", precursor to the thought about "information society").

Quantum computing

 * Category:Theoretical computer science
 * Category:Quantum information science
 * Category:Quantum computing


 * DiVincenzo's criteria: conditions necessary for constructing a quantum computer, conditions proposed in 2000 by the theoretical physicist David P. DiVincenzo, as being those necessary to construct such a computer—a computer first proposed by mathematician Yuri Manin, in 1980, and physicist Richard Feynman, in 1982 —as a means to efficiently simulate quantum systems, such as in solving the quantum many-body problem.


 * Superconducting quantum computing: implementation of a quantum computer in superconducting electronic circuits. Research in superconducting quantum computing is conducted by Google, IBM, IMEC, BBN Technologies, Rigetti, and Intel. as of 2016.05, up to nine fully controllable qubits are demonstrated in a 1D array, up to sixteen in a 2D architecture.
 * Quantum annealing: metaheuristic for finding the global minimum of a given objective function over a given set of candidate solutions (candidate states), by a process using quantum fluctuations (in other words, a meta-procedure for finding a procedure that finds an absolute minimum size/length/cost/distance from within a possibly very large, but nonetheless finite set of possible solutions using quantum fluctuation-based computation instead of classical computation). Quantum annealing is used mainly for problems where the search space is discrete (combinatorial optimization problems) with many local minima; such as finding the ground state of a spin glass or the traveling salesman problem.
 * D-Wave Systems: Canadian quantum computing company, based in Burnaby, British Columbia, Canada. D-Wave was the world's first company to sell computers to exploit quantum effects in their operation.


 * Superconducting quantum computing


 * Quantum supremacy (quantum advantage): goal of demonstrating that a programmable quantum device can solve a problem that no classical computer can solve in any feasible amount of time (irrespective of the usefulness of the problem). Conceptually, quantum supremacy involves both the engineering task of building a powerful quantum computer and the computational-complexity-theoretic task of finding a problem that can be solved by that quantum computer and has a superpolynomial speedup over the best known or possible classical algorithm for that task. A notable property of quantum supremacy is that it can be feasibly achieved by near-term quantum computers, since it does not require a quantum computer to perform any useful task or use high-quality quantum error correction, both of which are long-term goals. Consequently, researchers view quantum supremacy as primarily a scientific goal, with relatively little immediate bearing on the future commercial viability of quantum computing. Because this goal, building a quantum computer that can perform a task that no other existing computer feasibly can, can become more difficult if classical computers or simulation algorithms improve, quantum supremacy may be temporarily or repeatedly achieved, placing claims of achieving quantum supremacy under significant scrutiny.


 * Nitrogen-vacancy center (N-V center or NV center) is one of numerous point defects in diamond. Its most explored and useful property is its photoluminescence, which allows observers to read out its spin-state. The NV center's electron spin, localized at atomic scales, can be manipulated at room temperature by external factors such as magnetic, or electric fields, microwave radiation, or light, resulting in sharp resonances in the intensity of the photoluminescence. These resonances can be explained in terms of electron spin related phenomena such as quantum entanglement, spin–orbit interaction and Rabi oscillations, and analysed using advanced quantum optics theory. An individual NV center can be used as a basic unit for a quantum computer, a qubit, and used for quantum cryptography. Further potential applications in novel fields of electronics and sensing include spintronics, masers, and quantum sensors. If the charge is not specified the term "NV center" refers to the negatively charged NV⁻ center.

Hardware (HW)

 * Category:History of computing
 * Category:History of computing hardware
 * Category:Mechanical calculators

{q.v. }


 * History of computing hardware: Early devices: Punched card data processing, Calculators. First general-purpose computing device. Analog computers. Advent of the modern computer. The stored-program computer
 * Analog computer
 * Slide rule: The young engineer asking for computer time to solve a problem that could have been done by a few swipes on the slide rule became a humorous cliché. Many computer centers had a framed slide rule hung on a wall with the note "In case of emergency, break glass." :D:D
 * Fire control system: Director (military) + Gun data computer + radar.
 * Current examples of analog computers: Neuromorphic engineering (use of very-large-scale integration (VLSI) systems containing electronic analog circuits to mimic neuro-biological architectures present in the nervous system):
 * Neurogrid: simulation of biological brains; emulate ion channel activity
 * SyNAPSE: DARPA program that aims to develop electronic neuromorphic machine technology that scales to biological levels
 * Pascal's calculator (Pascaline)


 * Template:CPU technologies
 * von Neumann architecture: separation between the CPU and memory leads to the von Neumann bottleneck
 * Semiconductors: chips (microprocessors, RAM, SSD), silicon. The economics of semiconductors:
 * List of Semiconductor Fabrication Plants: USA (32), TW/ROC (24), CN/PRC (11), Singapore (11), DE (7), JP (5), Ireland (4), S. Korea (4), Italy (2), Israel (1) [6/5/2011].
 * Semiconductor fabrication plant: just a factory to pump out chips (very expensive product of silicon + other chemical elements). The cost of one factory (fab) is ~$1bln, but $3-4bln is possible too. Fab (microfabrication plant) = clean room + dampened vibration + controlled humidity and temperature (to minimize static electricity) + steppers (for photolithography, etching, cleaning, doping and dicing machines; extremely precise instruments (e.g. 40 nm technology))
 * Semiconductor consolidation: giant Intel, with other giants IBM and Toshiba. Others must use fabless to compete with the giants, i.e. the design is separated from manufacturing as different entities due to the lack of capital.
 * Foundry model: separation of a semiconductor fabrication plant operation from an integrated circuit design operation, into separate companies or business units. Fabless semiconductor companies + merchant foundries = smth of the size of Intel.
 * Mubadala Development Company PJSC (2002; Abu Dhabi, UAE) → Advanced Technology Investment Company (ATIC; 2008) joint venture between ATIC and AMD ⇒ GlobalFoundries
 * Common Platform (semiconductors) {PRODed}: collaboration between IBM, GlobalFoundries, and Samsung Electronics - to implement a common process technology across their semiconductor manufacturing facilities. A contrast to Intel dominance?
 * Fabless semiconductor company: Qualcomm (3G patents), Broadcom (network: wi-fi, servers, router, switches, cell phones; encryption (e-commerce, HTTPS)), AMD [+ATI after 2006] (CPUs, video cards), MediaTek (wi-fi, HD TV, optical storage (CD, DVD...), GPS), Marvell (high volume storage, mobile and wi-fi), NVIDIA (video cards)...
 * Semiconductor sales leaders by year {PRODed}: Intel (1st from 1992, 10th in 1987), Samsung (2nd from 2002; also LCD #1 giant, #1 by revenue among global technology companies) [6/5/2011], Toshiba (3rd-4th from 2005), Texas Instruments (6th-3rd from 1987)
 * Semiconductor equipment sales leaders by year
 * List of the largest technology companies: Samsung (HW: Si, LCD; SW), HP (HW: printers, Si), Hitachi, IBM (HW+SW), Sony (HW+SW), Toshiba, Panasonic, Dell, Foxconn, Nokia, Microsoft, Fujitsu, NEC, Apple, Canon, Cisco, Intel, Fujifilm, Sharp, Mitsubishi, Motorola,..., 26th Google, Asus, 31st Acer, 34th Lenovo, 37th Olympus... 44th.
 * Samsung: Template:Samsung phones
 * Nokia: Nokia phones


 * Graphics: NVIDIA, AMD (ATI):
 * Sapphire Technology (Hong Kong): graphics cards based on AMD (ATI) GPUs


 * Application-specific integrated circuit (ASIC): integrated circuit (IC) customized for a particular use, rather than intended for general-purpose use. For example, a chip designed to run in a digital voice recorder or a high-efficiency Bitcoin miner is an ASIC. Application-specific standard products (ASSPs) are intermediate between ASICs and industry standard integrated circuits like the 7400 series or the 4000 series.


 * AI accelerator: class of microprocessor or computer system designed to accelerate artificial neural networks, machine vision and other machine learning algorithms for robotics, internet of things and other data-intensive or sensor-driven tasks. They are often manycore designs and generally focus on low-precision arithmetic. A number of vendor-specific terms exist for devices in this space.


 * Electronics Manufacturing Services (EMS; electronic contract manufacturing (ECM)): companies that design, test, manufacture, distribute, and provide return/repair services for electronic components and assemblies for OEMs. Largest EMSs: Foxconn (Hon Hai Precision Industry Co., Ltd.), Flextronics International Ltd.


 * Cheapest computer, tablet:
 * OLPC XO-1: 100$+
 * Aakash (tablet) (UbiSlate 7): 35$-60$


 * Wireless sensor network (WSN; sensor network): consists of spatially distributed autonomous sensors to monitor physical or environmental conditions (temperature, sound, vibration, pressure, motion, pollutants...) and to cooperatively pass their data through the network to a main location. Military (drones) or scientific use, industrial process monitoring and control, machine health monitoring... WSN has many nodes (10s-1000s), each node is connected to several sensors. Each sensor has transceiver, microcontroller, some energy source (battery, energy harvesting). Size of the sensors varies greatly (though nanodust ("motes") is still a sci-fi, e.g. Diamond Age).


 * Monocrystalline silicon (mono-Si): base material for silicon chips used in virtually all electronic equipment today. Mono-Si also serves as photovoltaic, light-absorbing material in the manufacture of solar cells. Mono-Si is perhaps the most important technological material of the last few decades—the "silicon era", because its availability at an affordable cost has been essential for the development of the electronic devices on which the present day electronic and informatic revolution is based.

Computer, PC

 * Category:Computer architecture
 * Category:Classes of computers
 * Category:One-of-a-kind computers
 * Category:Computer hardware
 * Category:History of computing hardware
 * Category:One-of-a-kind computers


 * Manchester Mark 1: one of the earliest stored-program computers, developed at the Victoria University of Manchester from the Small-Scale Experimental Machine (SSEM) or "Baby" (operational in June 1948). Work began in August 1948, and the first version was operational by April 1949; a program written to search for Mersenne primes ran error-free for nine hours on the night of 16/17 June 1949.


 * IBM PC compatible: generally similar to the original IBM PC, XT, and AT (PC clones, or IBM clones).


 * Apple's transition to Intel processors: from PowerPC to Intel x86 (3rd migration to a new CPU architecture). Before Apple switched from 8-bit 6502 in the Apple II series to the Motorola 68k architecture of the original Macintosh 128k, and from 68k to PowerPC. Mac OS X v10.6 "Snow Leopard" on August 28, 2009 as Intel-only, removing support for the PowerPC architecture.


 * Commodore 64 (C64, C=64 (after the graphic logo on the case), occasionally CBM 64 (for Commodore Business Machines), or VIC-64; 1982.08-1994.04): during 1983–1986 C64 dominated the market with between 30% and 40% share and 2 million units sold per year, outselling the IBM PC compatibles, Apple Inc. computers, and Atari 8-bit family computers.

Keyboard design

 * IBM PC keyboard: keyboards for IBM PC compatible computers are standardized, however since the initial release in 1985 several "standard" keyboard layouts have been developed.
 * Keyboard layout: mechanical (placements and keys of a keyboard), visual (arrangement of the legends that appear on the keys of a keyboard), or functional (arrangement of the key-meaning associations, determined in software, of all the keys of a keyboard) of a computer, typewriter, or other typographic keyboard. Main three different mechanical layouts: ISO (ISO/IEC 9995-2), ANSI (ANSI-INCITS 154-1988), and JIS (JIS X 6002-1980) :: 110, 109, and 112 keys (extended keyboards); 79, 78, and 80 (compact keyboards).
 * ISO/IEC 9995: defines the modern ISO mechanical keyboard layout; also contains outdated ISO/IEC 9995-3:2002 (aka ANSI mechanical keyboard layout). ISO mechanical keyboard layout (aka ISO; "UK keyboard") when compared to ANSI ("US keyboard") has: enter key is vertical rather than horizontal and the left shift key is smaller to make room for an additional key to its right.
 * British and American keyboards: both are QWERTY, but physically British is ISO while US or US International is ANSI.
 * QWERTY


 * Frequency analysis
 * Letter frequency
 * English language:
 * Most common words in English
 * ETAOIN SHRDLU
 * Dvorak Simplified Keyboard

Physical keyboard:

Information storage and distribution

 * Category:Data storage
 * Category:Archives
 * Category:Computer data storage
 * Category:Computer storage media
 * Category:Storage media
 * Category:Digital media
 * Category:Computer storage media
 * Category:Digital art
 * Category:Computer art
 * Category:Museums
 * Category:Recording
 * Category:Imaging
 * Category:Video storage

{q.v. }
 * 
 * 
 * User:Kazkaskazkasako/Books/All


 * Template:Hard disk drive manufacturers
 * Seagate
 * Toshiba
 * Western Digital (WD)
 * EMC Corporation & Template:EMC (EMC2): owns WMware
 * Iomega: eGo
 * List of defunct hard disk manufacturers: Seagate (Samsung, Maxtor (Quantum (DEC, Plus), MiniScribe), Conner, CDC), Toshiba (Fujitsu), WD (Hitachi (IBM), Tandon)


 * Master boot record (MBR): is usually placed on storage devices (e.g. HDDs) intended for use with IBM PC-compatible systems. MBR does one or more of these: holds partition table; bootstraps the OS; uniquely identifies individual disk media with 32-bit disk signature. For MBR either the maximum size of a partition or the maximum start address (both in bytes) cannot exceed (2 TB−512) bytes (i.e. for HDDs with one partition of bigger size than 2 TB one can't use MBR) - GPT overcomes this.
 * GUID Partition Table (GPT): part of EFI standard.


 * Template:Memory cards & Memory card (flash card): small, re-recordable, able to retain data without power. E.g. Microdrive: brand name for miniature, 1-inch HDD; superseded by even smaller and less fragile flash cards.


 * Storage Networking Industry Association (SNIA): Storage Networking World (SNW) conference; SNIA Dictionary
 * RAID:
 * Standard RAID levels: optimize(data access speed (≈performance; parity calculation; latency), redundancy (≈failure rate), price); RAID 0 (faster data access, bigger failure rate), RAID 1 (could be faster data access, lower failure rate), RAID 2 (not used), RAID 3 (obsolete), RAID 4 (obsolete), RAID 5 (block-level striping with parity data distributed across all member disks; low cost of redundancy), RAID 6 (block-level striping with two parity blocks distributed across all member disks)
 * Non-standard RAID levels
 * Intel Matrix RAID (feature of Intel Rapid Storage Technology): computer storage technology marketed by Intel; firmware RAID system. One of the features that Intel Matrix RAID has, which many other RAID implementations lack, is that different areas (e.g. partitions or logical volumes) on the same disk can be assigned to different RAID devices.

Robotics, automation

 * Category:Automation

{q.v. }


 * DARPA Grand Challenge: prize competition for driverless vehicles.
 * DARPA Grand Challenge (2004): None of the robot vehicles finished the route.
 * DARPA Grand Challenge (2005): 5 vehicles successfully completed the race:
 * Stanley (Stanford Uni (leader: Sebastian Thrun); cooperation with the Volkswagen Electronics Research Laboratory (ERL); uses 5 Sick AG LIDARs (to get 3D map of environ) + GPS; gyroscopes, accelerometers (orientation of the vehicle and also to supplement GPS and other sensor data); video camera used to observe driving conditions out to eighty meters (beyond the range of the LIDAR); sensors installed in a wheel well to record a pattern imprinted on the tire and to act as an odometer in case of loss of signal (such as when driving through a tunnel); 6 low-power 1.6 GHz Intel Pentium M PCs + different versions of Linux OS; School of Engineering developed the 100,000 lines of software; also log of "human reactions and decisions" and fed the data into a learning algorithm tied to the vehicle's controls (making Stanley more accurate in detecting shadows))
 * Sandstorm (vehicle): Carnegie Mellon Uni's Red Team
 * H1ghlander : Carnegie Mellon Uni's Red Team; sister vehicel of Sandstorm
 * Kat-5 (vehicle): by The Gray Insurance Company; 100% pure Java; runs both the Mac OS X and Linux OSs.
 * TerraMax (vehicle): autonomous tactical cargo hauler fielded by Oshkosh Truck Corporation, University of Parma's Artificial Vision and Intelligent Systems Laboratory and Rockwell Collins
 * DARPA Grand Challenge (2007): DARPA Urban Challenge; with real traffic and driving rules.


 * Technological unemployment: loss of jobs caused by technological change. Such change typically includes the introduction of labour-saving machines or more efficient processes. In the second decade of 21st century, a number of studies have been released suggesting that technological unemployment may be increasing worldwide. Since the 1980s, even optimistic economists have increasingly accepted that structural unemployment has indeed risen in advanced economies, but they have tended to blame this on globalisation and offshoring rather than technological change. The amount of work that can exist is infinite, but (1) machines can do most of the "easy" work, (2) the definition of what is "easy" expands as information technology progresses, and (3) the work that lies beyond "easy" (the work that requires more skill, talent, knowledge, and insightful connections between pieces of knowledge) may require greater cognitive faculties than most humans are able to supply, as point 2 continually advances. Solutions: Banning/refusing innovation, Welfare payments, Basic income, Education, Public Works, Shorter working hours, Broadening the ownership of technological assets.
 * Humans Need Not Apply: 2014 short Internet video, directed, produced, written and edited by CGP Grey. The video focuses on the future of the integration of automation into economics, as well as the impact of this integration to the worldwide workforce.


 * David Hanson (robotics designer): USA designer and entrepreneur, responsible for the creation of a series of realistic facial-expression producing humanoid robots. Hanson previously worked at Walt Disney Imagineering. Hanson currently serves as founder and chief executive officer of Hanson Robotics. 2015.04.19 Hanson launched Sophia which is known for her human-like appearance and facial expressions.
 * Sophia (robot): humanoid robot developed by Hong Kong-based company Hanson Robotics. It has been designed to respond to questions, and has been interviewed around the world. According to the manufacturer, David Hanson, Sophia uses artificial intelligence, visual data processing and facial recognition. Sophia also imitates human gestures and facial expressions and is able to answer certain questions and to make simple conversations on predefined topics (e.g. on the weather). The robot uses voice recognition technology from Alphabet Inc. (parent company of Google) and is designed to get smarter over time. Sophia's intelligence software is designed by SingularityNET (Ben Goertzel). The AI program analyses conversations and extracts data that allows it to improve responses in the future. Hanson designed Sophia to be a suitable companion for the elderly at nursing homes, or to help crowds at large events or parks. He hopes that the robot can ultimately interact with other humans sufficiently to gain social skills. The information is shared in a cloud network which allows input and responses to be analysed with blockchain technology. The robot's range of facial expressions are facilitated by its artificial "frubber" skin, which is mechanically manipulated.

Uncrewed vehicle, unmanned, autonomous vehicles

 * Category:Uncrewed vehicles


 * Uncrewed vehicle (unmanned vehicle): can either be remote controlled or remote guided vehicles, or they can be autonomous vehicles which are capable of sensing their environment and navigating on their own.


 * Automated guided vehicle (AGV): portable robot that follows markers or wires in the floor, or uses vision, magnets, or lasers for navigation. They are most often used in industrial applications to move materials around a manufacturing facility or warehouse.

Automated vehicles on other planets

 * Mars rover: successful ones: Sojourner's Pathfinder, MER's Spirit & Opportunity, MSL's Curiosity
 * Cleaning event: reference to the fact that Martian winds have blown dust clear of the solar panels of probes on Mars increasing their energy output.

Medical hardware

 * MAKO Surgical Corp.: was a publicly traded medical device company based in Florida. In 2013.09.25, the Board of Directors of Mako Surgical accepted a deal to merge with Stryker Medical for $1.65B. MAKO Surgical was founded in 2004 by Rony Abovitz, Maurice Ferre M.D., and other key members of its predecessor, Z-KAT, Inc. (founded in 1997 by Rony Abovitz, William Tapia, Michael Peshkin Ph.D., Julio Santos-Munne, and Wayne J. Kerness, M.D.) Z-KAT, Inc. was developing a novel haptic robotic system for medical applications, amongst a wide variety of computer-assisted surgery technologies. Z-KAT's initial haptic robotic arm technology, known as the Whole Arm Manipulator (or WAM Arm) was originally developed at MIT and then at Barrett Technology. Z-KAT's core technology team had adapted the WAM Arm for use as a testbed for surgical procedures. The initial success of the internal tests led to the development of a business plan to focus exclusively on the idea of haptic robotic technology in orthopedic surgery. MAKO's original technical team (Rony Abovitz, Arthur Quaid Ph.D., Hyosig Kang Ph.D., Lou Arata, Ph.D., and others) demonstrated a number of breakthroughs in robotics and controls, enabling a haptic robotic system (6dof) to perform accurate bone shaping through minimally invasive incisions (knee and hip). MAKO Surgical Corp. markets the RIO Robotic Arm Interactive Orthopedic System and RESTORIS Family of Implants for partial knee and total hip arthroplasty known as MAKOplasty.
 * MAKOplasty: surgical procedure for partial knee or total hip arthroplasty using a RIO Robotic Arm Interactive Orthopedic System developed by MAKO Surgical Corp. RIO is cleared by the FDA for use in surgical knee and hip procedures, in which the use of stereotactic surgery may be appropriate, and where reference to rigid anatomical bony structures can be identified relative to a CT-based model of anatomy.

Vehicles, automobiles, autos
{q.v. User:Kazkaskazkasako/Books/All}
 * electric vehicles, autos

Machines
{q.v. User:Kazkaskazkasako/Books/All} {q.v. User:Kazkaskazkasako/Work}

Programming, software

 * Category:Computer programming
 * Category:Algorithms
 * Category:Algorithms on strings
 * Category:Anti-patterns
 * Category:Computer libraries
 * Category:Computer programming tools
 * Category:System software
 * Category:Computer libraries
 * Category:IT infrastructure
 * Category:Centralized computing
 * Category:Cloud infrastructure
 * Category:Computer libraries
 * Category:Cyberinfrastructure
 * Category:Middleware

{q.v. User:Kazkaskazkasako/Books/Mathematics}


 * Anti-pattern: common response to a recurring problem that is usually ineffective and risks being highly counterproductive. The term, coined in 1995 by computer programmer Andrew Koenig, was inspired by the book Design Patterns, which highlights a number of design patterns in software development that its authors considered to be highly reliable and effective. The term was popularized three years later by the book AntiPatterns, which extended its use beyond the field of software design to refer informally to any commonly reinvented but bad solution to a problem. Examples include analysis paralysis, cargo cult programming, death march, groupthink and vendor lock-in.

Ideas, philosophy of CS

 * Category:Functional programming
 * Category:Lambda calculus


 * Template:Software engineering: fields: Requirements analysis, Systems analysis, Software design, Programming (coding), Formal methods, Software testing, Software deployment, Software maintenance; concepts: Structured analysis
 * The Mythical Man-Month
 * No Silver Bullet
 * Template:Aspect-oriented software development: Aspect-oriented programming
 * Concern (computer science) (a particular set of behaviors needed by a computer program, the conceptual sections):
 * Object-oriented programming (OOP), describing concerns as objects
 * Functional programming, describing concerns as functions
 * Aspect-oriented software development, treating concerns and their interaction as constructs of their own standing
 * Separation of concerns (SoC): process of separating a computer program into distinct features that overlap in functionality as little as possible
 * Separation of presentation and content: a common idiom, a design philosophy, and a methodology applied in the context of various publishing technology disciplines, including information retrieval, template processing, web design, web development, word processing, desktop publishing, and model-driven development.
 * Coupling (computer programming) (aka dependency: the degree to which each program module relies on each one of the other modules)
 * Cross-cutting concern


 * Rule of least power: design principle which "suggests choosing the least powerful [computer] language suitable for a given purpose".


 * Fixed-point combinator: higher-order function fix that, for any function f that has an attractive fixed point, returns a fixed point x of that function. A fixed point of a function is a value that, when applied as the input of the function, returns the same value as its output. The Y combinator is an implementation of a fixed-point combinator in lambda calculus. Fixed-point combinators may also be easily defined in other functional and imperative languages. The implementation in lambda calculus is more difficult due to limitations in lambda calculus. What is a "combinator"? Combinatory logic is a higher-order functions theory. A combinator is a closed lambda expression, meaning that it has no free variables. The combinators may be combined to direct values to their correct places in the expression without ever naming them as variables.


 * DevOps (clipped compound of "development" and "operations"): software engineering culture and practice that aims at unifying software development (Dev) and software operation (Ops). The main characteristic of the DevOps movement is to strongly advocate automation and monitoring at all steps of software construction, from integration, testing, releasing to deployment and infrastructure management. DevOps aims at shorter development cycles, increased deployment frequency, more dependable releases, in close alignment with business objectives.

Politics, law

 * Software patent
 * Patent troll, aka non-practicing entity
 * Allied Security Trust: patent holding company which combats patent trolls. Members: Google, Motorola, HP, Ericsson.
 * Open Invention Network: acquires patents and licenses them royalty free to entities which, in turn, agree not to assert their own patents against Linux and Linux-related systems and applications. Key applications: Firefox, Python, many others. Members: Google, Oracle.

Algorithms and data structures

 * Category:Algorithms and data structures
 * Category:Algorithms
 * Category:Computational number theory
 * Category:Number theoretic algorithms
 * Category:Greedy algorithms
 * Category:Optimization algorithms and methods
 * Category:Signal processing
 * Category:Data structures


 * Greedy algorithm: follows the problem solving heuristic of making the locally optimal choice at each stage with the hope of finding a global optimum.

Template:Number-theoretic algorithms
 * Euclidean algorithm (Euclid's algorithm): efficient method for computing the greatest common divisor (GCD) of two integers (numbers). Euclid first described it in his Elements (c. 300 BC). The Euclidean algorithm is based on the principle that the greatest common divisor of two numbers does not change if the larger number is replaced by its difference with the smaller number. Since this replacement reduces the larger of the two numbers, repeating this process gives successively smaller pairs of numbers until the two numbers become equal. When that occurs, they are the GCD of the original two numbers.
 * Extended Euclidean algorithm

Programming languages

 * Category:Computer languages
 * Category:Programming language topics
 * Category:Programming language concepts
 * Category:Evaluation strategy
 * Category:Programming constructs
 * Category:Programming languages


 * Category:Computer libraries
 * Category:Application programming interfaces
 * Category:Graphics libraries
 * Category:Multimedia frameworks
 * Category:Natural language processing toolkits {q.v. }
 * Category:Software development kits
 * Category:Programming libraries
 * Various language libraries: Java, C, C#, C++, Fortran, JavaScript, Pascal, Perl, PHP, Python
 * Category:Unit testing frameworks
 * Category:Web application frameworks {q.v. }
 * Category:Widget toolkits
 * Category:X-based libraries


 * Template:Programming_language
 * Template:C programming language: Undefined behavior
 * Design pattern (computer science): general reusable solution to a commonly occurring problem within a given context in software design; description or template for how to solve a problem that can be used in many different situations
 * Pattern language
 * Design Patterns (Design Patterns: Elements of Reusable Object-Oriented Software): software engineering book; by Gang of Four (GoF)
 * Code Complete: software development book


 * Closure (computer programming): lexical closures or function closures) are techniques for implementing lexically scoped name binding in languages with first-class functions. Operationally, a closure is a record storing a function together with an environment: a mapping associating each free variable of the function (variables that are used locally, but defined in an enclosing scope) with the value or reference to which the name was bound when the closure was created.


 * Standard library
 * Application binary interface (ABI): describes the low-level interface between a computer program and OS or another program. ABIs cover: the sizes, layout, and alignment of data types; calling convention, which controls how functions' arguments are passed and return values retrieved; how an application should make system calls to the operating system and, if the ABI specifies direct system calls rather than procedure calls to system call stubs, the system call numbers; in the case of a complete operating system ABI, the binary format of object files, program libraries and so on. Complete ABI allows a program from one operating system supporting that ABI to run without modifications on any other such system, provided that necessary shared libraries are present, and similar prerequisites are fulfilled.


 * API (application programming interface): connection between computers or between computer programs. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how to build or use such a connection or interface is called an API specification. A computer system that meets this standard is said to implement or expose an API. The term API may refer either to the specification or to the implementation. One purpose of APIs is to hide the internal details of how a system works, exposing only those parts a programmer will find useful and keeping them consistent even if the internal details later change. An API may be custom-built for a particular pair of systems, or it may be a shared standard allowing interoperability among many systems. The term API is often used to refer to web APIs, which allow communication between computers that are joined by the internet.


 * Comparison of programming languages:
 * expressiveness (expressive power of the programming language): C ≤ C++ ≤ Java < Perl = Smalltalk = Python
 * Template:Factors of comparison of programming languages
 * List of programming languages by type: Python (Server side embeddable; Extension lang.; Functional: Impure; Imperative; Interactive mode; Interpreted; Iterative; Metaprogramming; Multiparadigm; Object-oriented class-based lang.: Single dispatch; Off-side rule lang.; Procedural; Reflective; Scripting)

Programming languages:
 * Template:BASIC
 * Microsoft Visual Basic, or just simply Visual Basic (VB):
 * Visual Basic .NET, successor of VB
 * Visual_Basic/Arrays: also dynamic arrays (like in Python, but much more writing/coding overhead!)
 * Visual_Basic/Loops
 * Visual Basic for Applications: Joel Spolsky was one of the ones who drove MS Excel to object-oriented programming and VBA.
 * Template:Microsoft development tools
 * Visual C++
 * Common Language Infrastructure (CLI)
 * Managed Extensions for C++: being replaced by C++/CLI.
 * Managed code
 * C++/CLI: language specification created by Microsoft and intended to supersede Managed Extensions for C++. Available in Visual Studio 2005, 2008, 2010, 2012 and 2013, including the Express editions. C++/CLI should be thought of as a language of its own (with a new set of keywords, for example), instead of the C++ superset-oriented Managed C++ (MC++) (whose non-standard keywords were styled like __gc or __value). Because of this, there are some major syntactic changes, especially related to the elimination of ambiguous identifiers and the addition of .NET-specific features.
 * Alice (software) - teaching programming languages; storytelling; 3D
 * Perl (1987): older than Python (1991), is Perl still a competitor to Python?
 * R (programming language): free software programming language and software environment for statistical computing and graphics. The R language is widely used among statisticians and data miners for developing statistical software and data analysis. Polls and surveys of data miners are showing R's popularity has increased substantially in recent years.
 * APL (programming language) (1964): important influence on the development of spreadsheets, functional programming, and computer math packages. "Programmer's view of the IBM 2741 keyboard layout with the APL typeball".


 * Short-circuit evaluation: denotes the semantics of some Boolean operators in some programming languages in which the second argument is executed or evaluated only if the first argument does not suffice to determine the value of the expression: when the first argument of the  function evaluates to , the overall value must be  ; and when the first argument of the   function evaluates to  , the overall value must be.


 * Dylan (1992-): a language with Lisp-like semantics and ALGOL-like syntax; multi-paradigm: functional, object-oriented; dynamic and reflective while providing a programming model designed to support efficient machine code generation, including fine-grained control over dynamic and static behaviors. Created by a group led by Apple Computer. Dylan derives from Scheme and Common Lisp and adds an integrated object system derived from the Common Lisp Object System (CLOS). In Dylan, all values (including numbers, characters, functions, and classes) are first-class objects . Main design goal is to be a dynamic language well-suited for developing commercial software. Dylan attempts to address potential performance issues by introducing "natural" limits to the full flexibility of Lisp systems, allowing the compiler to clearly understand compilable units (i.e., libraries). Although deriving much of its semantics from Scheme and other Lisps—some implementations were in fact initially built within existing Lisp systems—Dylan has an ALGOL-like syntax rather than a Scheme-like prefix syntax.
 * History of the Dylan programming language

Programming paradigms

 * Category:Computer programming
 * Category:Programming paradigms
 * Category:Programming language topics
 * Category:Programming paradigms


 * Programming paradigm: way to classify programming languages based on their features. Languages can be classified into multiple paradigms. Some paradigms are concerned mainly with implications for the execution model of the language, such as allowing side effects, or whether the sequence of operations is defined by the execution model. Other paradigms are concerned mainly with the way that code is organized, such as grouping a code into units along with the state that is modified by the code. Yet others are concerned mainly with the style of syntax and grammar. Common programming paradigms: imperative (procedural, object-oriented); declarative (functional, logic, mathematical). Symbolic programming.


 * Object-oriented programming:
 * Type introspection: ability of a program to examine the type or properties of an object at runtime. Some programming languages possess this capability. Introspection should not be confused with reflection, which goes a step further and is the ability for a program to manipulate the values, metadata, properties, and functions of an object at runtime.


 * Array programming: solutions which allow the application of operations to an entire set of values at once. Such solutions are commonly used in scientific and engineering settings. Modern programming languages that support array programming (also known as vector or multidimensional languages) have been engineered specifically to generalize operations on scalars to apply transparently to vectors, matrices, and higher-dimensional arrays. These include APL, J, Fortran 90, Mata, MATLAB, Analytica, TK Solver (as lists), GNU Octave, R, Cilk Plus, Julia, Perl Data Language (PDL), Wolfram Language, and the NumPy extension to Python. In these languages, an operation that operates on entire arrays can be called a vectorized operation, regardless of whether it is executed on a vector processor (which implements vector instructions) or not. Array programming primitives concisely express broad ideas about data manipulation. The level of concision can be dramatic in certain cases: it is not uncommon to find array programming language one-liners that require more than a couple of pages of object-oriented code. Kenneth E. Iverson described the rationale behind array programming (actually referring to APL) as follows: "most programming languages are decidedly inferior to mathematical notation and are little used as tools of thought in ways that would be considered significant by, say, an applied mathematician."


 * Reflective programming (reflection): ability of a process to examine, introspect, and modify its own structure and behavior. Uses: Effective use of reflection almost always requires a plan: A design framework, encoding description, object library, a map of a database or entity relations.

Syntax

 * Category:Syntax
 * Category:Parsing
 * Category:Source code


 * Delimiter: sequence of one or more characters used to specify the boundary between separate, independent regions in plain text or other data streams. Delimiter collision
 * String literal: representation of a string value within the source code of a computer program. Dual quoting style (Py: ), extended quoting styles (Py: triple quotes), raw strings (Py:  ).
 * Escape character: invokes an alternative interpretation on subsequent characters in a character sequence. Py: backslash (\)


 * Syntactic sugar: syntax within a programming language that is designed to make things easier to read or to express. It makes the language "sweeter" for human use: things can be expressed more clearly, more concisely, or in an alternative style that some may prefer . Language processors, including compilers, static analyzers, and the like, often expand sugared constructs into more fundamental constructs before processing, a process sometimes called "desugaring". Notable examples: Augmented assignment (a = a + b ⇒ a += b); Parallel assignment (a = x; b = y ⇒ a, b = x, y; particular use: a, b = b, a); Operator overloading; List comprehension in Python; Decorators in Python. Syntactic salt. Syntactic saccharin.


 * Fast inverse square root (sometimes referred to as Fast InvSqrt or by the hexadecimal constant 0x5F3759DF): algorithm that estimates $$\frac{1}{\sqrt{x}}$$, the reciprocal (or multiplicative inverse) of the square root of a 32-bit floating-point number $$x$$ in IEEE 754 floating-point format. This operation is used in digital signal processing to normalize a vector, such as scaling it to length 1. For example, computer graphics programs use inverse square roots to compute angles of incidence and reflection for lighting and shading. Predated by similar video game algorithms, this one is best known for its implementation in 1999 in Quake III Arena, a first-person shooter video game heavily based on 3D graphics. The algorithm only started appearing on public forums between 2002 and 2003. Computation of square roots usually depends upon many division operations, which for floating point numbers are computationally expensive. The fast inverse square generates a good approximation with only one division step.

Functional languages (functional programming languages)

 * Category:Functional languages
 * Category:Haskell programming language family
 * Category:Lisp programming language family
 * Category:ML programming language family


 * Haskell (programming language) (1990: 1.0, 2010, 2014)


 * Lisp (programming language) (LISP): family of computer programming languages with a long history and a distinctive, fully parenthesized syntax
 * Scheme (programming language): one of the two main dialects of the programming language Lisp; developed at MIT, and was taught to CS students at MIT
 * Common Lisp
 * Emacs Lisp: used in GNU Emacs.


 * Standard ML: → OCaml, Rust

ECMAScript, JavaScript
Template:ECMAScript
 * ECMAScript: many dialects : JavaScript (Netscape/Mozilla), JScript (MS), ActionScript (Adobe: Flash), ... History: based on Scheme and Java and others; mainly for browsers and interactive web/internet. Now, a full-fledged object-oriented scripting language which accesses all kinds of applications: client, server, etc. Integrates into DOM and the web.
 * Version correspondence: correspondence between JavaScript, JScript, ECMAScript
 * Implementations: ECMA-262 edition 5 compatible: Firefox JavaScript, Google Chrome JavaScript, IE (JScript 9.0), Opera. ECMAScript e.3: Microsoft .NET Framework (JScript.NET 8.0), Adobe Flash and Adobe Flex (ActionScript 3), Adobe Acrobat (JavaScript 1.7), and many others [14/10/28]. ECMA-262 e.5 is a political consensus of e.4 (which never materialized) and e.3.1 (which was supported by Yahoo, Microsoft, Google). Future ECMAScript Harmony (aka e.6): Drafts of ES.next have been published periodically since July 2011, with a target release date of June 2015.
 * JavaScript:
 * JQuery: library for the client-side scripting of HTML
 * Comparison of JavaScript frameworks: all frameworks except 2 are in JavaScript
 * Pyjamas (Python→JavaScript compiler): port of Google Web Toolkit (Java→JavaScript).


 * JavaScript engine: virtual machine which interprets and executes JavaScript (ECMAScript).
 * V8 (JavaScript engine): open source JavaScript engine developed by Google for the Google Chrome web browser.


 * MathJax: cross-browser JavaScript library that displays mathematical equations in web browsers, using LaTeX math and MathML markup. Apache license. Successor of JsMath.
 * Node.js: open source, cross-platform runtime environment for server-side and networking applications. Provides an event-driven architecture and a non-blocking I/O API that optimizes an application's throughput and scalability. Uses the Google V8 JavaScript engine to execute code, and a large percentage of the basic modules are written in JavaScript.


 * TypeScript: free and open source programming language developed and maintained by Microsoft. It is a strict superset of JavaScript, and adds optional static typing and class-based object-oriented programming to the language. Anders Hejlsberg, lead architect of C# and creator of Delphi and Turbo Pascal, has worked on the development of TypeScript. TypeScript may be used to develop JavaScript applications for client-side or server-side (Node.js) execution. The TypeScript compiler is itself written in TypeScript, transcompiled to JavaScript and licensed under the Apache 2 License. TypeScript is included as a first-class programming language in Microsoft Visual Studio 2013 Update 2 and later, beside C# and other Microsoft languages. An official extension allows Visual Studio 2012 to support TypeScript as well.

.NET, C # (C Sharp)

 * C Sharp (programming language)


 * Haxe: open source high-level "multi-platform programming language" and "compiler" that can produce applications and source code for many different platforms from a single code-base.

Python

 * Category:Python (programming language)
 * Category:Python (programming language) implementations
 * Category:Python (programming language) software
 * Category:Python (programming language) libraries


 * Python (programming language):


 * History of Python:
 * 1.0 - 1994.01 (1.6 - 2000.09.05); Python 1.6 - 2000.09.05
 * 2.0 - 2000.10.16 (2.7 - 2010.07.03); Python 2.7 - 2010.07.03; Py2.x was discontinued with 2.7.18 in 2020.
 * 3.0 - 2008.12.03 (3.x - ongoing). "Python 3000" or "Py3K".
 * 2.0 introduced: list comprehensions; garbage collection system capable of collecting reference cycles; unification of Python's types (types written in C) and classes (types written in Python) into one hierarchy; generators.
 * 3.0 introduced: "reduce feature duplication by removing old ways of doing things"; ; separation of text and data: unifying  /  types (text type), introducing immutable   type and mutable   type (data type)
 * Tim Peters (software engineer): USA software developer who created the Timsort hybrid sorting algorithm, and a major contributor to the Python programming language and its original CPython implementation. A pre-1.0 CPython user, he was among the group of early adopters who contributed to the detailed design of the language in its early stages. Peters also wrote the Zen of Python, intended as a statement of Python's design philosophy, which was incorporated into the official Python literature as Python Enhancement Proposal 20 and in the Python interpreter as an easter egg.
 * Zen of Python: collection of 19 "guiding principles" for writing computer programs that influence the design of the Python programming language. Software engineer Tim Peters wrote this set of principles and posted it on the Python mailing list in 1999.

The Zen of Python, by Tim Peters

Beautiful is better than ugly.

Explicit is better than implicit.

Simple is better than complex.

Complex is better than complicated.

Flat is better than nested.

Sparse is better than dense.

Readability counts.

Special cases aren't special enough to break the rules.

Although practicality beats purity.

Errors should never pass silently.

Unless explicitly silenced.

In the face of ambiguity, refuse the temptation to guess.

There should be one-- and preferably only one --obvious way to do it.

Although that way may not be obvious at first unless you're Dutch.

Now is better than never.

Although never is often better than *right* now.

If the implementation is hard to explain, it's a bad idea.

If the implementation is easy to explain, it may be a good idea.

Namespaces are one honking great idea -- let's do more of those!


 * CPython: default, most-widely used implementation of the Python; written in C; Cpython is bytecode interpreter.
 * Python for S60: Nokia’s port of the general Python programming language to its S60
 * Stackless Python (Concurrent computing): it's about concurrency in Python by getting rid of "Stacks"
 * Jython: implementation of Python written in Java (Java Virtual Machine).
 * IronPython: implementation of the Python targeting the .NET Framework and Mono; written entirely in C#.
 * PyPy: Python interpreter and just-in-time compiler; started out as a Python interpreter written in the Python language itself. Current PyPy versions are translated from RPython to C code and compiled. RPython (Restricted Python): puts some constraints on the Python language so that a variable's type can be inferred at compile time ["It is a proper subset of Python, restricted in a way that enables easy analysis and efficient code generation"].
 * Python derivatives: Pyrex & Sage → Cython:
 * Pyrex (programming language): to aid in creating Python modules; syntax is very close to Python; the aim of making it easy for Python programmers to write the non-Python code usually required for such modules in a language which at least is very close; Pyrex allows the user to write extension modules in a Python-like language which may directly access the external C code.
 * Cython: derivative of Pyrex; Cython syntax is a superset of Python syntax, Cython compiles to C rather than Python.
 * Unladen Swallow: was an optimization branch of CPython, intended to be fully compatible and significantly faster. It aimed to achieve its goals by supplementing CPython's custom virtual machine with a just-in-time compiler built using LLVM.


 * List of Python software


 * IPython (2001-): command shell for interactive computing in multiple programming languages, originally developed for the Python programming language, that offers introspection, rich media, shell syntax, tab completion, and history.
 * Project Jupyter (2015-): nonprofit organization created to "develop open-source software, open-standards, and services for interactive computing across dozens of programming languages." Spun off from IPython in 2014 by Fernando Pérez, Project Jupyter supports execution environments in several dozen languages. Project Jupyter's name is a reference to the three core programming languages supported by Jupyter, which are Julia, Python and R, and also a homage to Galileo's notebooks recording the discovery of the moons of Jupiter. Products: Jupyter Notebook (.ipynb); Industry adoption: Amazon's SageMaker Notebooks, Google's Colaboratory (Google Colab), Microsoft's Azure Notebook.


 * Pip (package manager): package management system used to install and manage software packages written in Python.
 * Python Package Index: official third-party software repository for the Python programming language. Python developers intend it to be a comprehensive catalog of all open source Python packages.
 * Anaconda (Python distribution): distribution of the Python programming language that aims to simplify package management and deployment.
 * Conda (package manager): open source, cross-platform, language-agnostic package manager and environment management system. It was originally developed to solve difficult package management challenges faced by Python data scientists, and today is a popular Python/R package manager. Conda allows users to easily install different versions of binary software packages and any required libraries appropriate for their computing platform.

Python libraries

 * Category:Python (programming language) libraries
 * Category:Python (programming language) scientific libraries

Python scientific libraries:
 * NumPy: adding support for large, multi-dimensional arrays and matrices, along with a large collection of high-level mathematical functions to operate on these arrays. The ancestor of NumPy, Numeric, was originally created by Jim Hugunin with contributions from several other developers. F2PY: quickly wrap native Fortran code for faster scripts.
 * Matplotlib: plotting library for the Python programming language and its numerical mathematics extension NumPy. It provides an object-oriented API for embedding plots into applications using general-purpose GUI toolkits like Tkinter, wxPython, Qt, or GTK+. There is also a procedural "pylab" interface based on a state machine (like OpenGL), designed to closely resemble that of MATLAB, though its use is discouraged. SciPy makes use of Matplotlib. Toolkits and related projects:
 * GNU Octave
 * SageMath
 * SciPy - modules  and
 * Seaborn - provides an API on top of Matplotlib that offers sane choices for plot style and color defaults, defines simple high-level functions for common statistical plot types, and integrates with the functionality provided by Pandas
 * Cartopy (replaced Basemap) - mapping library featuring object-oriented map projection definitions, and arbitrary point, line, polygon and image transformation capabilities
 * IPython: (Interactive Python) is a command shell for interactive computing in multiple programming languages, originally developed for the Python programming language, that offers introspection, rich media, shell syntax, tab completion, and history.
 * Project Jupyter: nonprofit organization created to "develop open-source software, open-standards, and services for interactive computing across dozens of programming languages". Spun off from IPython in 2014 by Fernando Pérez, Project Jupyter supports execution environments in several dozen languages. Project Jupyter's name is a reference to the three core programming languages supported by Jupyter, which are Julia, Python and R, and also a homage to Galileo's notebooks recording the discovery of the moons of Jupiter. Project Jupyter has developed and supported the interactive computing products Jupyter Notebook, JupyterHub, and JupyterLab. Products: Jupyter Notebook (formerly IPython Notebooks), Jupyter kernels, JupyterHub, JupyterLab (newer user interface for Project Jupyter. It offers the building blocks of the classic Jupyter Notebook (notebook, terminal, text editor, file browser, rich outputs, etc.) in a flexible user interface. Stable since 2018.02.20), Jupyter{Book}, nbgrader. Colaboratory: free Jupyter notebook environment that runs in the cloud and stores its notebooks on Google Drive. Colab was originally an internal Google project; an attempt was made to open source all the code and work more directly upstream, leading to the development of the "Open in Colab" Google Chrome extension, but this eventually ended, and Colab development continued internally.
 * SciPy
 * SageMath (previously Sage or SAGE, "System for Algebra and Geometry Experimentation"): computer algebra system (CAS) with features covering many aspects of mathematics, including algebra, combinatorics, graph theory, numerical analysis, number theory, calculus and statistics. SageMath uses a syntax resembling Python's, supporting procedural, functional and object-oriented constructs.
 * Astropy: collection of software packages written in the Python programming language and designed for use in astronomy. The software is a single, free, core package for astronomical utilities due to the increasingly widespread usage of Python by astronomers, and to foster interoperability between various extant Python astronomy packages. Astropy is included in several large Python distributions; it is part of package managers for Linux and macOS, the Anaconda Python Distribution, Enthought Canopy and Ureka.
 * Plotly: technical computing company headquartered in Montreal, Quebec, that develops online data analytics and visualization tools. Products: Dash - open-source Python, R, and Julia framework for building web-based analytic applications; Dash Enterprise - Plotly’s paid product for building, testing, deploying, managing and scaling Dash applications organization-wide; Chart Studio Cloud - free, online tool for creating interactive graphs; Chart Studio Enterprise - paid product that allows teams to create, style, and share interactive graphs on a single platform; Data visualization libraries - Plotly.js is an open-source JavaScript library for creating graphs and powers Plotly.py for Python, as well as Plotly.R for R, MATLAB, Node.js, Julia, and Arduino and a REST API, Plotly can also be used to style interactive graphs with Jupyter notebook; Figure Converters - convert matplotlib, ggplot2, and IGOR Pro graphs into interactive, online graphs.


 * Object–relational mapping (ORM, OR/M, O/R mapping tool): 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.
 * SQLAlchemy: open-source SQL toolkit and ORM for the Python programming language released under the MIT License. SQLAlchemy's philosophy is that relational databases behave less like object collections as the scale gets larger and performance starts being a concern, while object collections behave less like tables and rows as more abstraction is designed into them. For this reason it has adopted the data mapper pattern (similar to Hibernate for Java) rather than the active record pattern used by a number of other object-relational mappers. However, optional plugins allow users to develop using declarative syntax.


 * PyQt: Python binding of the cross-platform GUI toolkit Qt; one of Python's options for GUI programming
 * Python Imaging Library

Books

 * Numerical Recipes: algorithms and numerical analysis for FORTRAN (77, 90), C, Pascal, C++

Similarities between programming/scripting philosophies for certain applications

 * PHP and AutoHotKey similarities: the first is scripting the web interface, the second: Windows and through IronAHK & co to any OS. Regrettably, both have their own syntax. Regrettably, they inherit syntax and semantics and curly brackets style from C/C++ rather than using more compact, clearer and more up-to-date Python-like syntax.

Programming language implementation, Programming language theory

 * Category:Programming language topics
 * Category:Programming language implementation
 * Category:Compilers
 * Category:Compiler construction
 * Category:Programming language theory
 * Category:Parsing


 * Compiler

Compiling on MS Windows:
 * Microsoft Windows SDK (previously was two separate SDKs: Platform SDK [for Windows 2000, XP and Windows Server 2003], and .NET Framework SDK [for .NET Framework 1.1 and .NET Framework 2.0]): for Windows XP, Windows Vista, Windows 7, Windows Server 2008, .NET Framework 3.0, .NET Framework 3.5, and .NET Framework 4.0
 * Getting Unix-like program code compiled on Windows:
 * UnxUtils
 * diff


 * Parsing (syntax analysis, syntactic analysis): process of analysing a string of symbols, either in natural language or in computer languages, conforming to the rules of a formal grammar. The term parsing comes from Latin pars (orationis), meaning part (of speech); term has slightly different meanings in different branches of linguistics and computer science. Human languages; Computer languages


 * C3 linearization (C3 superclass linearization) is an algorithm used primarily to obtain the order in which methods should be inherited (the "linearization") in the presence of multiple inheritance , and is often termed "MRO" for Method Resolution Order.


 * Data structure alignment: the way data is arranged and accessed in computer memory. It consists of three separate but related issues: data alignment, data structure padding, and packing. The CPU in modern computer hardware performs reads and writes to memory most efficiently when the data is naturally aligned, which generally means that the data's memory address is a multiple of the data size. Although data structure alignment is a fundamental issue for all modern computers, many computer languages and computer language implementations handle data alignment automatically. Fortran, Ada, PL/I, Pascal, certain C and C++ implementations, D, Rust, C#, and assembly language allow at least partial control of data structure padding, which may be useful in certain special circumstances.

Markup languages

 * Category:Computer file formats
 * Category:Markup languages
 * Category:Computer languages
 * Category:Data modeling languages
 * Category:Markup languages
 * Category:Technical communication
 * Category:Data exchange formats
 * Category:Data serialization formats
 * Category:Persistence
 * Category:Data serialization formats

Markup languages in general EECS sense:
 * Programming language: Markup languages like XML, HTML or troff, which define structured data, are not usually considered programming languages. Programming languages may, however, share the syntax with markup languages if a computational semantics is defined. XSLT, for example, is a Turing complete XML dialect. Moreover, LaTeX, which is mostly used for structuring documents, also contains a Turing complete subset.
 * Turing completeness: Data languages: The notion of Turing-completeness does not apply to languages such as XML, HTML, JSON, YAML and S-expressions, because they are typically used to represent structured data, not describe computation. These are sometimes referred to as markup languages, or more properly as "container languages" or "data description languages".
 * Markup language: modern system for annotating a document in a way that is syntactically distinguishable from the text . The idea and terminology evolved from the "marking up" of paper manuscripts, i.e., the revision instructions by editors, traditionally written with a blue pencil on authors' manuscripts. In digital media this "blue pencil instruction text" was replaced by tags.
 * 3 types of electronic markup:
 * Presentational markup: WYSIWYG
 * Procedural markup: troff, LaTeX, and PostScript
 * Descriptive markup: objective is to decouple the inherent structure of the document from any particular treatment or rendition of it; such markup is often described as "semantic". HTML


 * SCRIPT (markup) [1968], GML [1960s] → SGML [1986 or earlier?] → HTML [1993 -] → XML [1996 -] → XHTML [2000 -], SVG [2004 -]
 * TeX [1978] → LaTeX, pdfTeX, XeTeX, ConTeXt, LuaTeX; BibTeX → Biber
 * Scribe [1980] → GML; Scribe → LaTeX
 * TeX → RTF [1987, MS]
 * RUNOFF → troff, groff [1973]
 * Structured Text and Setext → reStructuredText [2001]
 * JavaScript syntax → JSON; →YAML


 * Document markup language
 * Comparison of document markup languages


 * Serialization (UK: serialisation): process of translating a data structure or object state into a format that can be stored (for example, in a file or memory data buffer) or transmitted (for example, across a computer network) and reconstructed later (possibly in a different computer environment). When the resulting series of bits is reread according to the serialization format, it can be used to create a semantically identical clone of the original object. For many complex objects, such as those that make extensive use of references, this process is not straightforward. Serialization of object-oriented objects does not include any of their associated methods with which they were previously linked. This process of serializing an object is also called marshalling an object in some situations. The opposite operation, extracting a data structure from a series of bytes, is deserialization, (also called unserialization or unmarshalling). Serialization formats: XDR; XML (SGML); JSON; YAML. Programming language support.
 * Marshalling (computer science): process of transforming the memory representation of an object to a data format suitable for storage or transmission, and it is typically used when data must be moved between different parts of a computer program or from one program to another. Marshalling is similar to serialization and is used to communicate to remote objects with an object, in this case a serialized object. It simplifies complex communication, using custom/complex objects to communicate instead of primitives. The opposite, or reverse, of marshalling is called unmarshalling (or demarshalling).
 * Comparison of data serialization formats: various ways to convert complex objects to sequences of bits. It does not include markup languages used exclusively as document file formats. JSON, YAML, XML (SGML), Pickle (Python)...


 * Lightweight markup language: markup language with a simple syntax, designed to be easy for a human to enter with a simple text editor, and easy to read in its raw form .
 * Wiki markup (Wikitext language): lightweight markup language used to write pages in wiki websites.
 * List of Wiki markups: raw HTML, MediaWiki Metasyntax (aka MediaWiki syntax/text/markup, Wikipedia text (but NOT wikitext, which means any wiki markup language!)) {used by many Wikis which use MediaWiki}, Creole (markup) ("standard" which is not even compatible with MediaWiki markup...)
 * Markdown & MultiMarkdown: "to write using an easy-to-read, easy-to-write plain text format, then convert it to structurally valid XHTML (or HTML)". The language takes many cues from existing conventions for marking up plain text in email.


 * Data exchange: process of taking data structured under a source schema and transforming it into data structured under a target schema, so that the target data is an accurate representation of the source data. Data exchange allows data to be shared between different computer programs. Similar to the related concept of data integration except that data is actually restructured (with possible loss of content) in data exchange. There may be no way to transform an instance given all of the constraints. Popular languages used for data exchange: RDF, XML, Atom, JSON, YAML, REBOL, Gellish.


 * YAML ("YAML Ain't Markup Language"): human-readable data serialization language; commonly used for configuration files and in applications where data is being stored or transmitted. YAML targets many of the same communications applications as XML but has a minimal syntax which intentionally differs from SGML. It uses both Python-style indentation to indicate nesting, and a more compact format that uses [...] for lists and {...} for maps making YAML 1.2 a superset of JSON.
 * JSON (JavaScript Object Notation): open standard file format, and data interchange format, that uses human-readable text to store and transmit data objects consisting of attribute–value pairs and array data types (or any other serializable value). It is a very common data format, with a diverse range of applications, such as serving as a replacement for XML in AJAX systems. JSON is a language-independent data format. JSON grew out of a need for stateless, real-time server-to-browser communication protocol without using browser plugins such as Flash or Java applets, the dominant methods used in the early 2000s.


 * ReStructuredText (reST; .rst): file format for textual data used primarily in the Python programming language community for technical documentation; part of the Docutils project of the Python Doc-SIG (Documentation Special Interest Group), aimed at creating a set of tools for Python similar to Javadoc for Java or POD for Perl. Docutils can extract comments and information from Python programs, and format them into various forms of program documentation. Lightweight markup language, designed to be both (a) processable by documentation-processing software such as Docutils, and (b) easily readable by human programmers who are reading and writing Python source code.


 * Markdown: plain text formatting syntax designed so that it optionally can be converted to HTML using a tool by the same name.


 * Delimiter-separated values (DSV): store two-dimensional arrays of data by separating the values in each row with specific delimiter characters. Most database and spreadsheet programs are able to read or save data in a delimited format.
 * Comma-separated values (CSV; .csv/.txt): stores tabular data (numbers and text) in plain-text form.
 * Tab-separated values (.tsv/.tab): simple text format for storing data in a tabular structure (e.g. database or spreadsheet data). Each record in the table is one line of the text file.


 * List of XML and HTML character entity references: in SGML, HTML and XML documents, the logical constructs known as character data and attribute values consist of sequences of characters, in which each character can manifest directly (representing itself), or can be represented by a series of characters called a character reference, of which there are two types: a numeric character reference and a character entity reference. Character reference overview: A numeric character reference: &#nnnn; or &#xhhhh;, where nnnn is the code point in decimal form, and hhhh is the code point in hexadecimal form. The x must be lowercase in XML documents. In contrast, a character entity reference refers to a character by the name of an entity which has the desired character as its replacement text. The entity must either be predefined (built into the markup language) or explicitly declared in a Document Type Definition (DTD). &name; - name is the case-sensitive name of the entity. The semicolon is required, unless marked otherwise in the table below.

XML and family (parents and children)

 * Category:Markup languages
 * Category:XML
 * Category:XML markup languages


 * IBM Generalized Markup Language (GML): at IBM by Charles Goldfarb, Edward Mosher and Raymond Lorie; set of macros that implement intent-based (procedural) markup tags for the IBM text formatter, SCRIPT.


 * Standard Generalized Markup Language (SGML; ISO 8879:1986 SGML): SGML found wide acceptance and use in fields with very large-scale documentation requirements. However, many found it cumbersome and difficult to learn—a side effect of its design attempting to do too much and be too flexible. E.g., SGML made end tags (or start-tags, or even both) optional in certain contexts, because its developers thought markup would be done manually by overworked support staff who would appreciate saving keystrokes (Markup language).


 * HTML (HyperText Markup Language)


 * XML (Extensible Markup Language): markup language that defines a set of rules for encoding documents in a format which is both human-readable and machine-readable. Design goals of XML emphasize simplicity, generality and usability across the Internet. Textual data format with strong support via Unicode for different human languages. Although the design of XML focuses on documents, it is widely used for the representation of arbitrary data structures such as those used in web services. Key terminology: (Unicode) character; Processor (XML parser) and application; Markup and content ( and  ;   and  ); Tag; Element; Attribute; XML declaration.
 * Tag names cannot contain any of the characters, nor a space character, and cannot start with  ,  , or a numeric digit.
 * Schemas and validation:
 * Document type definition (DTD)
 * XML schema: description of a type of XML document, typically expressed in terms of constraints on the structure and content of documents of that type, above and beyond the basic syntactical constraints imposed by XML itself; expressed using some combination of grammatical rules governing the order of elements, Boolean predicates that the content must satisfy, data types governing the content of elements and attributes, and more specialized rules such as uniqueness and referential integrity constraints.
 * XML Schema (W3C) (XML Schema Definition (XSD))
 * RELAX NG (REgular LAnguage for XML Next Generation)
 * Document Schema Definition Languages (DSDL)
 * Binary XML: to have random access and indexing of XML documents.
 * Billion laughs attack (XML bomb): type of denial-of-service (DoS) attack which is aimed at parsers of XML documents. Variations: The billion laughs attack described above can take an exponential amount of space or time; quadratic blowup variation causes quadratic growth in resource requirements by simply repeating a large entity over and over again, to avoid countermeasures that detect heavily nested entities.


 * XSL (Extensible Stylesheet Language): used to refer to a family of languages used to transform and render XML documents. Historically, the XSL Working Group in W3C produced a draft specification under the name XSL, which eventually split into three parts: 1) XSLT, 2) XSL-FO, 3) XPath. As a result, the term XSL is now used with a number of different meanings: XSLT; XSL-FO; both XSLT and XSL-FO; now-obsolete variant of XSLT developed and shipped by Microsoft as part of MSXML before the W3C specification was finalized.


 * XQuery: query and functional programming language that is designed to query and transform collections of structured and unstructured data, usually in the form of XML, text and with vendor-specific extensions for other data formats (JSON, binary, etc.).


 * Special XML derivatives:
 * CellML
 * MathML (1998): main competitor to LaTeX and TeX to typeset HTML and other documents. Based on XML, therefore stronger competitor than (La)TeX, but very verbose, which means that (La)TeX could be much more easily read/written by humans than MathML.
 * SBML (Systems Biology Markup Language): SBML is used to represent various biological phenomena: metabolic networks, cell-signaling pathways, regulatory networks, infectious diseases
 * VRML (Virtual Reality Modeling Language): superseded by X3D (Blender uses)
 * SVG


 * XHTML (Extensible HyperText Markup Language)


 * XPath
 * XPath 2.0


 * XSLT (Extensible Stylesheet Language Transformations)


 * Document-oriented database: computer program designed for storing, retrieving, and managing document-oriented information, also known as semi-structured data. Document-oriented databases are one of the main categories of NoSQL databases and the popularity of the term "document-oriented database" (or "document store") has grown with the use of the term NoSQL itself.
 * XML database: data persistence software system that allows data to be stored in XML format. These data can then be queried, exported and serialized into the desired format. XML databases are usually associated with document-oriented databases.

TeX & family (LaTeX, XeTeX and ConTeXt are derived from TeX (TeX extensions)) [1978]

 * Category:Markup languages
 * Category:TeX
 * Category:BibTeX
 * Category:TeX editors
 * Category:Free TeX software


 * Template:TeX navbox
 * TeX (1978-; by Donald Knuth): typesetting system; TeX is now very stable, and only minor updates are anticipated. Mathematical spacing; Hyphenation and justification; Metafont; Macro language. tex produces DVI.
 * pdfTeX (by Hàn Thế Thành): extension of TeX - character protrusion (generalizes the concept of hanging punctuation), font expansion; can output PDF directly. pdflatex is a wrapper around pdfTeX.
 * XeTeX: TeX typesetting engine using Unicode and supporting modern font technologies such as OpenType, Graphite and Apple Advanced Typography. xelatex is LaTeX counterpart; what is the ConTeXt counterpart?
 * LuaTeX: TeX-based computer typesetting system; started as a version of pdfTeX with a Lua scripting engine embedded; version of TeX where all internals are accessible from Lua. In contrast to XeTeX, the fonts are not accessed through the operating system libraries, but through a library based on FontForge.
 * ConTeXt: general-purpose document processor; especially suited for structured documents, automated document production, very fine typography, and multi-lingual typesetting; based in part on the TeX typesetting system. ConTeXt’s unified design avoids the package clashes that can happen with LaTeX.
 * Distributions: MiKTeX (Win), TeX Live (Linux, Mac, Win)


 * Template:LaTeX navbox: Conversion tools: LaTeX2RTF (RTF can be imported by MS Word), LaTeX2HTML.
 * LaTeX (1984-; started by Leslie Lamport): software system for document preparation. When writing, the writer uses plain text as opposed to the formatted text found in "What You See Is What You Get" word processors like Microsoft Word, LibreOffice Writer and Apple Pages. The writer uses markup tagging conventions to define the general structure of a document (such as article, book, and letter), to stylise text throughout a document (such as bold and italics), and to add citations and cross-references. A TeX distribution such as TeX Live or MiKTeX is used to produce an output file (such as PDF or DVI) suitable for printing or digital distribution. LaTeX is widely used in academia for the communication and publication of scientific documents in many fields, including mathematics, statistics, computer science, engineering, physics, economics, linguistics, quantitative psychology, philosophy, and political science. It also has a prominent role in the preparation and publication of books and articles that contain complex multilingual materials, such as Sanskrit and Greek. LaTeX uses the TeX typesetting program for formatting its output, and is itself written in the TeX macro language. Like TeX, LaTeX started as a writing tool for mathematicians and computer scientists, but even from early in its development, it has also been taken up by scholars who needed to write documents that include complex math expressions or non-Latin scripts, such as Arabic, Devanagari and Chinese. LaTeX is intended to provide a high-level, descriptive markup language that accesses the power of TeX in an easier way for writers. In essence, TeX handles the layout side, while LaTeX handles the content side for document processing. LaTeX comprises a collection of TeX macros and a program to process LaTeX documents, and because the plain TeX formatting commands are elementary, it provides authors with ready-made commands for formatting and layout requirements such as chapter headings, footnotes, cross-references and bibliographies. The current version is LaTeX2e (stylised as LaTeX2ε), released in 1994, but updated in 2020. LaTeX3 (LaTeX3) has been under long-term development since the early 1990s. As free software, LaTeX is available on most operating systems, which include UNIX (Solaris, HP-UX, AIX), BSD (FreeBSD, macOS, NetBSD, OpenBSD), Linux (Red Hat, Debian, Arch, Gentoo), Windows, DOS, RISC OS, AmigaOS and Plan9.
 * LaTeX Project Public License (LPPL) & LaTeX: LPPL not compatible with: GPL, Copyleft; compatible with: DFSG, FSF, OSI, linking.
 * BibTeX: reference management software for formatting lists of references; typically used with LaTeX. Reimplemented as biblatex.
 * Biber (LaTeX): relies on BibTeX only for sorting and generating a very generic .bbl file; full Unicode support.
 * AMS-LaTeX: collection of LaTeX document classes and packages developed for the American Mathematical Society (AMS). Its additions to LaTeX include the typesetting of multi-line and other mathematical statements, document classes, and fonts containing numerous mathematical symbols.


 * Template:TeX editors and Comparison of TeX editors (Vim-latex suite / Vim-LaTeX is mentioned) {http://vim-latex.sourceforge.net/}

Mathematical markup languages

 * Category:Mathematical tools
 * Category:Mathematical notation
 * Category:Markup languages
 * Category:Mathematical markup languages

{q.v. Mathematics::Mathematical notation}


 * ASCIIMathML: client-side mathematical markup language for displaying mathematical expressions in web browsers. The simplified markup language supports a subset of the LaTeX language instructions, as well as a much less verbose syntax (which, for example, replaces "\times" with "xx" to produce the "×" symbol). Both syntaxes are vastly less verbose than the raw MathML . The resulting MathML mathematics can be styled by applying CSS to class "mstyle".

HTML, HTML5

 * Category:Markup languages
 * Category:HTML
 * Category:HTML5
 * Category:WebGL


 * "Tag soup": pejorative for syntactically or structurally incorrect HTML written for a web page. Because web browsers have historically treated HTML syntax or structural errors leniently, there has been little pressure for web developers to follow published standards, and therefore there is a need for all browser implementations to provide mechanisms to cope with the appearance of "tag soup", accepting and correcting for invalid syntax and structure where possible. An HTML parser (part of a web browser) that is capable of interpreting HTML-like markup even if it contains invalid syntax or structure may be called a tag soup parser. All major web browsers currently have a tag soup parser for interpreting malformed HTML, with most error-handling elements standardized.


 * HTML5: markup language used for structuring and presenting content on WWW. It is the fifth and last major HTML version that is W3C recommendation . The current specification is known as the HTML Living Standard. It is maintained by the Web Hypertext Application Technology Working Group (WHATWG), a consortium of the major browser vendors (Apple, Google, Mozilla, and Microsoft). Many new syntactic features are included. To natively include and handle multimedia and graphical content, the new, and elements were added, and support for scalable vector graphics (SVG) content and MathML for mathematical formulas was also added. To enrich the semantic content of documents, new page structure elements such as , , , , , , , and are added. New attributes were introduced, some elements and attributes were removed, and others such as , , and  were changed, redefined, or standardized.
 * History: "Thoughts on Flash". Last call, candidacy, and recommendation stages. Timeline. W3C and WHATWG conflict: The W3C ceded authority over the HTML and DOM standards to WHATWG in 2019.05.28, as it considered that having two standards is harmful. The HTML Living Standard is now authoritative. However, W3C will still participate in the development process of HTML.

Internet (web) standards

 * Template:W3C standards (World Wide Web Consortium, aka WWW):
 * HTML, HTML5: Template:Html series:
 * Web Hypertext Application Technology Working Group: proposed HTML5, :
 * Web Workers
 * Link relation: rel attribute; descriptive attribute attached to a hyperlink in order to define the type of the link, or the relationship between the source and destination resources
 * XHTML: family of XML markup languages that mirror or extend versions of the widely-used HTML (e.g. XHTML5 is part of HTML5 specification). HTML was defined as an application of Standard Generalized Markup Language (SGML), a very flexible markup language framework, XHTML is an application of XML, a more restrictive subset of SGML.
 * Document Object Model : +++; Object.SubObject.Properties/Methods/Functions...; similar to Visual Basic for Applications in Excel
 * ECMAScript (see "Template:ECMAScript")


 * WebRTC (Web Real-Time Communication): API being drafted by W3C; enable applications such as voice calling, video chat and P2P file sharing without plugins.
 * Opus (audio format): open and royalty-free lossy audio compression format developed by the IETF.


 * WHATWG (Web Hypertext Application Technology Working Group): community of people interested in evolving HTML and related technologies. The WHATWG was founded by individuals from Apple Inc., the Mozilla Foundation and Opera Software, leading Web browser vendors, in 2004. WHATWG was formed in response to the slow development of W3C Web standards and W3C's decision to abandon HTML in favor of XML-based technologies. The WHATWG mailing list was announced in 2004.06.04, two days after the initiatives of a joint Opera–Mozilla position paper had been voted down by the W3C members at the W3C Workshop on Web Applications and Compound Documents. 2007.04.10, the Mozilla Foundation, Apple, and Opera Software proposed that the new HTML working group of the W3C adopt the WHATWG's HTML5 as the starting point of its work and name its future deliverable as "HTML5" (though the WHATWG specification was later renamed HTML Living Standard). Specifications: HTML Living Standard (sometimes informally called HTML5); DOM Standard; Fetch Standard ("defines requests, responses, and the process that binds them: fetching"); Streams Standard (APIs for creating, composing, and consuming streams of data); Encoding Standard (how character encodings such as Windows-1252 and UTF-8 are handled in web browsers and is intended to replace the IETF encodings registry); MIME type sniffing standard; URL standard.

Programming platforms

 * Template:Operating system

Main platforms for deploying programs on the Internet (browser based) or for specific OS or OSes:
 * Template:Java (software platform); Java (software platform): cross-platform.
 * Java virtual machine (JVM): VM capable of executing Java bytecode. Jython, ...
 * Java bytecode: is to Java (programming language) as assembler is to C/C++.
 * Java applet: run many times faster than JavaScript, but at comparable (though generally slower) speed as compiled langs as C++.
 * Different editions and different possible installations of Java platform/JVM (Template:Java platforms):
 * Java Card: for smart cards (e.g. SIMs)
 * Java Platform, Micro Edition: for embedded systems (e.g. smart & feature phones).
 * Java Platform, Standard Edition: for stand alone computers (e.g. PCs)
 * SableVM (Java Intermediate Language): was a clean room implementation of Java bytecode interpreter implementing. There is no difference between markup and programming languages as long as there is some format agreed for the logical expressions


 * Adobe Flash Player (1996) and Adobe Shockwave (1995-), at first it was Micromedia, which was bought by Adobe; at the very first Flash started from FutureSplash Animator (Template:Adobe Flash). .swf (Shackwave Flash), .as (ActionScript), .flv & .f4v (Flash Video), .amf (Action Message Format)
 * Thoughts on Flash: open letter published by Steve Jobs, co-founder and then-chief executive officer of Apple Inc., in 2010.04.29. The letter criticized Adobe Systems' Flash platform and outlined reasons why the technology would not be allowed on the company's iOS hardware products, specifically iPhone, iPod Touch, and iPad. In 2017.07, Adobe announced its intention to discontinue Flash altogether by the year 2020.


 * .NET Framework (2002): mainly for Windows, but there is Mono (software) (2004) - FLOSS
 * Active Server Pages (ASP): superseded by ASP.NET. Was Microsoft's first server-side script engine for dynamically-generated Web pages
 * Microsoft Silverlight (2007): .NET subset for browsers, Moonlight (runtime) (2009): FLOSS equivalent


 * GPGPU:
 * CUDA (Nvidia dropped Compute Unified Device Architecture): for GPUs and not for CPUs (like the previous platforms); PyCUDA & others; only NVIDIA GPUs. Language bindings: Perl, Python, Ruby, R, Mathematica, MATLAB, .NET, Lua, Java, Fortran. Allows software developers and software engineers to use a CUDA-enabled GPU for general purpose processing. The CUDA platform is a software layer that gives direct access to the GPU's virtual instruction set and parallel computational elements, for the execution of compute kernels. The CUDA platform is designed to work with programming languages such as C, C++, and Fortran.
 * OpenCL (Open Computing Language; open standard maintained by the non-profit technology consortium Khronos Group): framework for writing programs that execute across heterogeneous platforms consisting of CPUs, GPUs, digital signal processors (DSPs), field-programmable gate arrays (FPGAs) and other processors or hardware accelerators. OpenCL specifies programming languages (based on C99 and C++11) for programming these devices and APIs to control the platform and execute programs on the compute devices. OpenCL provides a standard interface for parallel computing using task- and data-based parallelism.
 * DirectCompute: Microsoft product (still in infancy?)


 * Integrated development environment (IDE):
 * Microsoft Visual Studio: Visual Studio 2008 introduced the Visual Studio Shell that allows for development of a customized version of the IDE. The Visual Studio Shell is available as a free download.
 * Eclipse (software)

Bugs, vulnerabilities

 * Category:Software testing
 * Category:Software testing tools
 * Category:Security testing tools
 * Category:Unit testing
 * Category:Unit testing frameworks
 * Category:Software bugs
 * Category:Bug and issue tracking software


 * List of unit testing frameworks


 * Debugger


 * Memory debugger: needed even for garbage-collected languages, e.g. for managed code by having "living" references in collections
 * Memory leak
 * Performance analysis, aka program profiling, software profiling, or profiling


 * Template:Bug tracking systems
 * Hosted:
 * GitHub (2008.04): web-based hosting service for software development projects that use the Git revision control system. GitHub offers both paid plans for private repositories, and free accounts for open source projects. From 2012, Microsoft became a significant user of GitHub, using it to host open-source projects and development tools such as .NET Core, Chakra Core, MSBuild, PowerShell, PowerToys, Visual Studio Code, Windows Calculator, Windows Terminal and the bulk of its product documentation (now to be found on Microsoft Docs). 2018.06.04, Microsoft announced its intent to acquire GitHub for US$7.5 billion. The deal closed in 2018.10.26. GitHub continued to operate independently as a community, platform and business.
 * Travis CI: hosted, distributed continuous integration service used to build and test projects hosted at GitHub.
 * Bitbucket: web-based hosting service for projects that use either the Mercurial (since the origin) or Git (since 2011.10) revision control systems.
 * Launchpad (website): web application and website that allows users to develop and maintain software, particularly open-source software. Launchpad is developed and maintained by Canonical Ltd. Projects: Canonical Ltd.'s own projects: Ubuntu, Bazaar; Drizzle, Inkscape (bug tracking, code hosting), Linux Mint (bug tracking, blueprints, and translations), GNU Mailman, MongoDB, MySQL (code hosting), Nova Linux, OpenStack, Pinta (bug tracking and translations), Upstart, Systers, Zope 3, {OpenERP and OpenObject till May 2014}.
 * SourceForge (1999.11): web-based source code repository. DevShare adware controversy: 2013.07 SourceForge announced that it will provide project owners an optional feature called DevShare, which places closed-source ad-supported content into the binary installers and gives the project part of the ad revenue. In 2013.11, GIMP, a popular free image manipulation program, removed its download from SourceForge, citing misleading download buttons that can potentially confuse customers, as well as SourceForge's own Windows installer, which bundles third-party offers. In a statement, GIMP called SourceForge a once "useful and trustworthy place to develop and host FLOSS applications" that now faces "a problem with the ads they allow on their sites..."


 * Debugging software:
 * Valgrind: Linix/Mac OS X; checkers, profilers
 * IBM Rational Purify


 * CVSS (Common Vulnerability Scoring System): free and open industry standard for assessing the severity of computer system security vulnerabilities. It is under the custodianship of NIST. It attempts to establish a measure of how much concern a vulnerability warrants, compared to other vulnerabilities, so efforts can be prioritized.
 * Common Vulnerabilities and Exposures (CVE): system provides a reference-method for publicly known information-security vulnerabilities and exposures. MITRE Corporation maintains the system, with funding from the National Cyber Security Division of the United States Department of Homeland Security.

Open source famous bugs:
 * Heartbleed (disclosed 2014.04): security bug in the OpenSSL cryptography library, which is a widely used implementation of TLS protocol. Heartbleed may be exploited regardless of whether the party using a vulnerable OpenSSL instance for TLS is a server or a client. It results from improper input validation (due to a missing bounds check) in the implementation of the TLS heartbeat extension, thus the bug's name derives from "heartbeat". The vulnerability is classified as a buffer over-read, a situation where software allows more data to be read than should be allowed.
 * Shellshock (software bug) (kept confidential under embargo until 2014.09.24): security bug in the widely-used Unix Bash shell, causing Bash to execute commands from environment variables unintentionally. While Bash is not an Internet-facing service, many Internet-facing daemons call Bash internally. An attacker can use an Internet-facing service that sets the contents of an environmental variable to cause Bash to execute the commands in the variable. Some web servers calling Bash files as CGI scripts and DHCP clients are known to be vulnerable.

Browser-dependent vulnerabilities:
 * Clickjacking

Versioning, revision control

 * Category:Revision control systems

Template:Revision control software:
 * Concurrent Versions System (CVS; 1990.11.19)
 * Apache Subversion (SVN; lang=C; 2000.10.20): TortoiseSVN. Goal is to be a mostly compatible successor to the widely used Concurrent Versions System (CVS)
 * GNU Bazaar (lang=Python; 2005.03.26)
 * Git (software) (lang=C, Bourne Shell, Tcl, Perl; 2005.04.07)


 * Revision control (version control, source control)

Software (SW) development

 * Category:Software development process
 * Category:Types of tools used in software development
 * Category:Build automation


 * Build automation: process of automating the creation of a software build and the associated processes including: compiling computer source code into binary code, packaging binary code, and running automated tests. Historically, build automation was accomplished through makefiles.
 * Make (software): build automation tool that automatically builds executable programs and libraries from source code by reading files called Makefiles which specify how to derive the target program. Though integrated development environments and language-specific compiler features can also be used to manage a build process, Make remains widely used, especially in Unix and Unix-like operating systems.
 * Snakemake
 * Scientific workflow system: specialized form of a workflow management system designed specifically to compose and execute a series of computational or data manipulation steps, or workflow, in a scientific application. Each directed edge in the graph of a workflow typically represents a connection from the output of one application to the input of the next. A sequence of such edges may be called a pipeline.
 * Bioinformatics workflow management system: specialized form of workflow management system designed specifically to compose and execute a series of computational or data manipulation steps, or a workflow, that relate to bioinformatics.

Programs working together

 * Template:IPC (Inter-process communication in computing): useful for passing stuff around between programs; piping. Is WinNT32/64 better than POSIX? IPC methods are divided into methods for message passing, synchronization, shared memory, and remote procedure calls (RPC).

Programming tools

 * Category:Computer programming tools
 * Category:Static program analysis tools


 * Lint (software): was the name originally given to a particular program that flagged some suspicious and non-portable constructs (likely to be bugs) in C language source code; term is now applied generically to tools that flag suspicious usage in software written in any computer language. Term lint-like behavior: sometimes applied to the process of flagging suspicious language usage. Lint-like tools generally perform static analysis of source code. Can also refer more broadly to syntactic discrepancies in general, especially in interpreted languages like JavaScript and Python.
 * List of tools for static code analysis
 * Python: Pylint

Cloud

 * Category:Cloud computing
 * Category:Cloud infrastructure
 * Category:Cloud standards


 * AWS
 * Azure
 * Google Cloud
 * Alibaba Cloud
 * IBM Cloud
 * Oracle
 * Salesforce
 * SAP


 * Cloud computing (aka 'on-demand computing'): a kind of Internet-based computing, where shared resources, data and information are provided to computers and other devices on-demand. It is a model for enabling ubiquitous, on-demand access to a shared pool of configurable computing resources. Cloud computing and storage solutions provide users and enterprises with various capabilities to store and process their data in third-party data centers.
 * Infrastructure as a service (IaaS): offer computers – physical or (more often) virtual machines – and other resources. IaaS refers to online services that abstract user from the detail of infrastructure like physical computing resources, location, data partitioning, scaling, security, backup etc. A hypervisor, such as Xen, Oracle VirtualBox, KVM, VMware ESX/ESXi, or Hyper-V runs the virtual machines as guests.
 * Platform as a service (PaaS): category of cloud computing services that provides a platform allowing customers to develop, run, and manage web applications without the complexity of building and maintaining the infrastructure typically associated with developing and launching an app.
 * Software as a service (SaaS): software licensing and delivery model in which software is licensed on a subscription basis and is centrally hosted. It is sometimes referred to as "on-demand software". SaaS is typically accessed by users using a thin client via a web browser.


 * Autoscaling: method used in cloud computing, whereby the amount of computational resources in a server farm, typically measured in terms of the number of active servers, scales automatically based on the load on the farm. It is closely related to, and builds upon, the idea of load balancing.


 * Salesforce.com: cloud computing company headquartered in San Francisco, California. Though its revenue comes from CRM product, Salesforce also tries capitalizing on commercial applications of social networking through acquisition. As of 2015, it is one of the most highly valued American cloud computing companies with a market capitalization of $50 billion.
 * Heroku: cloud PaaS supporting several programming languages. Heroku was acquired by Salesforce.com in 2010. In development since June 2007, when it supported only the Ruby programming language, but has since added support for Java, Node.js, Scala, Clojure, Python, PHP and Go.

Software engineering, Software design

 * Category:Software engineering
 * Category:Software architecture
 * Category:Component-based software engineering
 * Category:Enterprise architecture
 * Category:Software design
 * Category:Software architecture


 * Component-based software engineering (CBSE; components-based development (CBD)): branch of software engineering that emphasizes the separation of concerns with respect to the wide-ranging functionality available throughout a given software system. It is a reuse-based approach to defining, implementing and composing loosely coupled independent components into systems. Software engineering practitioners regard components as part of the starting platform for service-orientation. Components play this role, for example, in web services, and more recently, in service-oriented architectures (SOA), whereby a component is converted by the web service into a service and subsequently inherits further characteristics beyond that of an ordinary component.


 * Low-code development platform: (LCDP) provides a development environment used to create application software through a graphical user interface. A low-coded platform may produce entirely operational applications, or require additional coding for specific situations. Low-code development platforms can reduce the amount of traditional time spent, enabling accelerated delivery of business applications. A common benefit is that a wider range of people can contribute to the application's development—not only those with coding skills but require a good governance to be able adhere to common rules and regulations. LCDPs can also lower the initial cost of setup, training, deployment and maintenance. Low-code development platforms trace their roots back to fourth-generation programming language and the rapid application development tools of the 1990s and early 2000s. Similar to these predecessor development environments, LCDPs are based on the principles of model-driven design, automatic code generation, and visual programming.
 * Shadow IT: refers to IT systems deployed by departments other than the central IT department, to work around the perceived or actual shortcomings of the central information systems. Shadow IT often introduces security and compliance concerns. Implications: Benefits: main benefit of shadow IT is the increased reactivity; Drawbacks: Wasted time Shadow IT adds hidden costs to organizations, consisting largely of non-IT workers in finance, marketing, HR, etc.; Inconsistent business logic; Inconsistent approach; Wasted investment; Inefficiencies; Higher risk of data loss or leaks; Barrier to enhancement; Organizational dysfunction; Compliance issues.

Computing

 * Category:Computing
 * Category:Computer standards
 * Category:IEEE standards
 * Category:Data


 * Computing: any goal-oriented activity requiring, benefiting from, or creating computing machinery. It includes study of algorithmic processes and development of both hardware and software. It has scientific, engineering, mathematical, technological and social aspects. Major computing fields include computer engineering, computer science, cybersecurity, data science, information systems, information technology and software engineering.


 * IEEE 754-2008 revision (IEEE Standard for Floating-Point Arithmetic (IEEE 754)): Single precision floating-point format (aka binary32)

Template:Computer laws:
 * 1) Metcalfe's law: value of a telecommunications network is Quadratic growth|proportional to the square of the number of connected users of the system (n2).
 * 2) Wirth's law: "Software is getting slower more rapidly than hardware becomes faster." "The hope is that the progress in hardware will cure all software ills. However, a critical observer may observe that software manages to outgrow hardware in size and sluggishness." "The speed of software halves every 18 months." (Gates' law)
 * Polyvinylidene fluoride (PVDF): highly non-reactive and pure thermoplastic fluoropolymer (usage: western blots for immobilization of proteins, due to its non-specific affinity for amino acids, PVDF paints have extremely good gloss and color retention [e.g. Taipei 101], chemical, semiconductor, medical and defense industries, in lithium ion batteries).
 * Ultrapure Water (UPW): many definitions. Defined in terms of one of these or a combo: bacterial proliferation, particulates, organic contaminants (measured as total organic or total oxidizable carbon (TOC)), metallic contaminants, anionic contaminants. Piping:
 * 1) Rock's law: cost of a semiconductor chip fabrication plant doubles every four years. Collides with Moore's Law. Cost per product is low, cost per fab is huge. $$\text{Product cost} = \frac{\text{fab cost} + \text{design cost}}{\mathrm{\#\ of\ products\ sold}}$$. Design cost is human capital cost; fab cost is non-human capital (materials, resources) + some human capital (building the fab). # of products sold - 1 product per each human? Human population growth rate is sub-exponential?
 * 2) Machrone's law: PC you want to buy will always be $5000 (in 1976-1990), $2000-$3000 (in 2000s)

Computer errors

 * Category:Computer errors


 * Dependency hell: colloquial term for the frustration of some software users who have installed software packages which have dependencies on specific versions of other software packages. Problems: Many dependencies; Long chains of dependencies; Conflicting dependencies; Circular dependencies; Package manager dependencies; Diamond dependency. Solutions: Version numbering; Private per application versions; Side-by-side installation of multiple versions; Smart package management; Installer options; Easy adaptability in programming; Strict compatibility requirement in code development and maintenance; Software appliances; Portable applications. DLL Hell; JAR hell; RPM hell.


 * Fatal error (fatal exception error): error that causes a program to abort and may therefore return the user to the OS
 * Template:Error messages
 * Fatal system error (system crash, stop error, kernel error, or bug check): OS error. "Crash dump".
 * Screen of death: Kernel panic {Unix & Unix-like} & Linux kernel oops; Blue Screen of Death (Stop Error) {Windows}

Computing culture, nerds

 * Category:Computing culture
 * Category:Programming contests
 * Category:Computer science competitions
 * Category:Programming contests


 * Code golf: type of recreational computer programming competition in which participants strive to achieve the shortest possible source code that solves a certain problem. Code golf challenges and tournaments may also be named with the programming language used (for example, Perl golf). Dedicated golfing languages: GolfScript, Flogscript and Vyxal; they are often esoteric.

3D, 2D, (4D ≡ spacetime), emedia

 * Category:Graphic design
 * Category:Graphics software
 * Category:Graphics libraries
 * Category:DirectX [still not a subCat 13/07/19]
 * Category:OpenGL
 * Category:Typography
 * Category:Infographics
 * Category:Graphics
 * Category:Computer graphics
 * Category:3D computer graphics
 * Category:DirectX
 * Category:OpenGL
 * Category:Image processing
 * Category:Printing
 * Category:Typography
 * Category:Communication design
 * Category:Infographics
 * Category:Graphic design
 * Category:Information science
 * Category:Infographics
 * Category:Imaging
 * Category:3D imaging
 * Category:3D computer graphics
 * Category:Image processing

{q.v.: }
 * User:Kazkaskazkasako/Books/All
 * User:Kazkaskazkasako/Books/All
 * 

Video/2D/3D/pixels/voxels/meshes...


 * Real-time computer graphics: producing and analyzing images in real time; interactive 3D computer graphics, typically using a GPU, with video games the most noticeable users; from rendering an application's GUI to real-time image processing and image analysis


 * Alpha compositing ⇔ Alpha channel (aka, transparency channel)
 * Painter's algorithm and Z-buffering
 * Z-fighting due to too small z-buffer (e.g. only 8-bit z-buffer)
 * GIMP: GEGL; scripting=Python, Scheme (Lisp)
 * Non-destructive editing
 * Edit decision list
 * Adobe Photoshop: scrpting=JavaScript (cross-platform), AppleScript (only MacOS), or VisualBasic Script (only Windows)


 * Digital dark age: possible future situation where it will be difficult or impossible to read historical digital documents and multimedia, because they have been stored in an obsolete and obscure digital format (also encryption of data, proprietary file formats)


 * Category:Acoustic fingerprinting
 * Acoustic fingerprint: condensed digital summary, deterministically generated from an audio signal, that can be used to identify an audio sample or quickly locate similar items in an audio database. Practical uses of acoustic fingerprinting include identifying songs, melodies, tunes, or advertisements; sound effect library management; and video file identification. Perceptual characteristics often exploited by audio fingerprints include average zero crossing rate, estimated tempo, average spectrum, spectral flatness, prominent tones across a set of bands, and bandwidth.
 * Digital video fingerprinting: technique in which software identifies, extracts and then compresses characteristic components of a video, enabling that video to be uniquely identified by its resultant “fingerprint”. For digital video data, both audio and video fingerprints can be extracted, each having individual significance for different application areas. Use of software that decodes the video data and then applies several feature extraction algorithms.

Computer graphics

 * Category:Computer graphics
 * Category:Vector graphics
 * Category:Vector graphics editors
 * Category:Graphics software
 * Category:Image viewers: IrfanView
 * Category:3D computer graphics
 * Category:DirectX
 * Category:OpenGL


 * Category:Computer file formats
 * Category:Graphics file formats
 * Category:Image processing {q.v. User:Kazkaskazkasako/Work}
 * Category:Image compression
 * Category:Graphics standards


 * Image resolution: detail an image holds; raster digital images, film images, and other types of images; higher resolution means more image detail . Pixel resolution; Spatial resolution (optical systems (eye lens, (light and electron and any particle) microscopes, telescopes; detectors (retina, film, CCD, CMOS))); Spectral resolution; Temporal resolution (Movie cameras and high-speed cameras; 24 to 48 FPS, high speed=50 to 300 FPS); Radiometric resolution (how finely a system can represent or distinguish differences of intensity, and is usually expressed as a number of levels or a number of bits, for example 8 bits or 256 levels that is typical of computer image files; radiometric resolution is typically limited by the noise level).


 * Pixel density (pixels per centimeter (ppcm), Pixels per inch (PPI)): measurement of the resolution of devices in various contexts: typically computer displays, image scanners, and digital camera image sensors. LDPI: Low density, ~120 DPI; MDPI: Medium density, ~160 DPI; HDPI: High density, ~240 DPI; XHDPI: eXtra High density, ~320 DPI; XXHDPI: eXtra eXtra High density, ~480 DPI. 300 DPI of the retina of an eye is a myth, human brain feels a difference between 30 FPS and 60 FPS, also between the prints of 300 DPI, 600 DPI and even 1200 DPI (How many "pixels" does the retina of an eye have?).
 * Dots per inch: printing (sometimes video) dot density. Usually each pixel in video/LCD/monitor is made of 3 different color dots, also for the printer to reproduce the same quality of image as length [px] × width [px] screen, the printer needs to have at least 3 times more dots per inch than screen has pixels per inch (PPI). Logical PPI vs physical PPI.
 * Dots per centimetre: used in CSS3 media queries (metrification of DPI).
 * Retina Display: brand name used by Apple for liquid crystal displays which they claim have a high enough pixel density that the human eye is unable to notice pixelation at a typical viewing distance (HiDPI=HDPI/XHDPI). 326 PPI (iPhone, iPod Touch), 264 PPI (iPad), 220 PPI (MacBook Pro).


 * Comparison of vector graphics editors
 * CorelDRAW
 * Dia (software)
 * Adobe Flash {q.v. }
 * Adobe Illustrator: considered an industry leading editor and is more expensive than other similar products
 * Inkscape
 * OpenOffice.org Draw
 * Main vector file formats: AI, CDR, ODG, PS/EPS, PDF, SVG, SWF, DXF, WMF/EMF, XAML . Obscure: LaTeX (cf. XML(SVG; XHTML(HTML))). Main "vector" file format in some specific sense: TT/T1 fonts

2D standards:
 * Create Project: web-based community focused on communication and sharing between Free and Open Source Creative applications. Blender, GIMP, Inkscape, Scribus, Audacity, Open Clip Art Library, Open Font Library and the Aiki Framework came together under "Create Project".
 * Libre Graphics Meeting: annual convention for the discussion of free and open source software used with graphics; Inkscape, GIMP, Krita, Scribus, sK1, Blender, Open Clip Art Library, Open Font Library & co come together.
 * OpenRaster: file format proposed for the common exchange of layered images between raster graphics editors. It is meant as a replacement for later versions of the Adobe PSD format.


 * Template:Raster graphics editors
 * ImageMagick: free and open-source software suite for displaying, converting, and editing raster image and vector image files.


 * Portable Network Graphics (PNG): raster graphics file format that supports lossless data compression ; created as an improved, non-patented replacement for GIF and is the most used lossless image compression format on WWW [2013.01.31] . Supports palette-based images (palettes of 24-bit RGB or 32-bit RGBA colors), grayscale images (+/- alpha channel), and full-color non-palette-based RGB[A] images (+/- alpha channel); designed for transferring images on the Internet, not for professional-quality print graphics, and therefore does not support non-RGB color spaces, e.g. CMYK; file extension: PNG or png; MIME media type: image/png; approved for this use by the Internet Engineering Steering Group on 1996.10.14; published as an ISO/IEC standard in 2004 . Adobe Fireworks uses PNG as its native file format, by default stores meta data for layers, animation, vector data, text and effects (these cannot be opened by ISO-PNG programs. BUT: allows lossless editing); due to this AF's PNG files are larger than the same PNG by any other program.


 * Template:Vector graphics markup languages
 * PGF/TikZ: tandem of languages for producing vector graphics from a geometric/algebraic description. PGF is a lower-level language, while TikZ is a set of higher-level macros that use PGF. The top-level PGF and TikZ commands are invoked as TeX macros, but in contrast with PSTricks, the PGF/TikZ graphics themselves are described in a language that resembles MetaPost. PGF is an acronym for "Portable Graphics Format". The PGF/TikZ interpreter can be used from the popular LaTeX and ConTeXt macro packages, and also directly from the original TeX.
 * PSTricks: set of macros that allow the inclusion of PostScript drawings directly inside TeX or LaTeX code.

3D/4D/game engine "languages", standards

 * Category:3D computer graphics
 * Category:DirectX
 * Category:OpenGL


 * Comparison of OpenGL and Direct3D


 * DirectX {proprietary}: the Microsoft's product for 3D gaming; uniting Xbox-like & PC-like gaming; maybe consoles would die or PCs? Made up of many different things, including:
 * Direct2D (D2D): Firefox 4 will use it, per Robert O'Callahan Open GL does not have any similar thing to D2D
 * Microsoft Direct3D: the main horse behind any game designed for DirectX


 * Template:Khronos Group standards: main rival to Microsoft's gaming, media, 2D/3D industry; promoting cross-platform, cross-software, cross-hardware compatibility. E.g. OpenGL, OpenCL, WebGL
 * OpenGL {various licenses}
 * WebGL: part of HTML (#5) canvas element based on OpenGL ES 2.0 (OpenGL for Embedded Systems)
 * COLLADA: (by Khronos) interchange file format for interactive 3D applications; open standard XML schema. Is COLLADA compatible with AutoCAD, Maya, 3ds Max file formats?


 * Cg (programming language): high-level shading language developed by Nvidia in close collaboration with Microsoft for programming vertex and pixel shaders; based on C; only suitable for GPU programming; Cg compiler outputs DirectX or OpenGL shader programs

Video game engines

 * Game engine: one of the most complicated pieces of software (esp. for the online multiplayer games). Game engine provides  rendering engine  (“renderer”) for 2D or 3D graphics, a  physics engine or collision detection  (and collision response), sound, scripting, animation, artificial intelligence,  networking , streaming,  memory management , threading, localization support, and a scene graph. Game engines are built upon graphics APIs like Direct3D or OpenGL. Hardware accelerated physics processing ⇒ physics API & physics extensions of COLLADA.
 * Game creation system (GCS)


 * Template:Video game engines:
 * Valve:
 * GoldSrc: used in Half-Life (1998), engine branched from $Src
 * Source (game engine) Counter-Strike: Source & Half-Life 2 (2004); constantly updated. Scripting language: Squirrel.
 * Template:Source (game engine) modifications
 * Epic Games (Epic; formerly: Epic MegaGames): 40% owned by Tencent
 * Unreal Engine: scripting languages: UnrealScript (1, 2, 3) → Blueprint visual scripting system (4) and C++
 * Unreal Engine 1: Unreal; Unreal Tournament
 * Unreal Engine 2: America's Army; Unreal Tournament 2003; Unreal Championship
 * Unreal Engine 3
 * Unreal Engine 4
 * UnrealScript: scripting language that Unreal Engine used for authoring game code and gameplay events before the release of Unreal Engine 4. The language was designed for simple, high-level game programming.
 * Crytek: German video game company, founded in 1999 by brothers Cevat, Avni, and Faruk Yerli, that is headquartered in Frankfurt.
 * CryEngine: primary scripting language is Lua.
 * Unity Technologies
 * Unity (game engine): cross-platform game creation system developed by Unity Technologies, including a game engine and IDE. The game engine's scripting is built on Mono, the open-source implementation of the .NET Framework. Programmers can use UnityScript (a custom language with ECMAScript-inspired syntax, referred to as JavaScript by the software), C#, or Boo. Games: Hearthstone: Heroes of Warcraft.
 * Quake engine
 * QuakeWorld


 * Physics engine:
 * Havok (software)
 * Bullet (software): open source physics engine featuring 3D collision detection, soft body dynamics, and rigid body dynamics
 * Physics processing unit (PPU)

Computer animation, graphics, CAD

 * Category:Computer animation


 * Category:Computer-aided engineering

Future of merging of CAD with geo (GIS, mapping, 3D surface views, aerial photography) for building; CAD merging with manufacturing (CNC, 3D printer); just like from computer text editor (LaTeX)→PDF→to the printing (e.g. offset printing)?


 * Computer-aided technologies (CAx): broad term that means the use of computer technology to aid in the design, analysis, and manufacture of products. CAD, CAE, CAID, CAM, CAR, CARD, CARE, CASE, CFD, CIS, CIM, CNC, EDA, ERP, FEA, KBE, MPM, MPP, MRP, MRP II, PDM, PLM.
 * List of CAx companies


 * Computer-generated imagery (CGI): application of 3D computer graphics to special effects in art, video games, films, television programs, commercials, simulators and simulation generally, and printed media. Dynamic or static.


 * Template:Animation
 * Computer animation


 * Template:3D computer graphics
 * Rendering equation
 * Bidirectional reflectance distribution function (BRDF): 4D function, defines how light is reflected at an opaque surface
 * Texture synthesis: process of algorithmically constructing a large digital image from a small digital sample image by taking advantage of its structural content


 * Programs and corporations:
 * Comparison of 3D computer graphics software & 3D computer graphics software
 * Computer-aided design (CAD; computer-aided design and drafting (CADD)): use of computer technology for the process of design and design-documentation
 * List of computer-aided design editors for architecture, engineering and construction (CAD for AEC)
 * Computer-aided manufacturing (CAM): use of computer software to control machine tools and related machinery in the manufacturing of workpieces (not to be confused with 3D printer; both achieve similar goals). Numerical control (NC; computer numerical control (CNC)): automation of machine tools that are operated by abstractly programmed commands encoded on a storage medium, as opposed to manually controlled via handwheels or levers, or mechanically automated via cams alone. The first NC machines were built in the 1940s and 1950s, based on existing tools that were modified with motors that moved the controls to follow points fed into the system on punched tape. CNC machines are mainly coded in G-code.
 * Computer-aided engineering (CAE)
 * Template:Video editors & Comparison of video editing software
 * Template:3D software & Template:Animation editors
 * Template:Views: Graphical projection
 * Subdivision surface
 * Nonuniform rational B-spline
 * Template:Compositing Software (List of Compositing Software)
 * Blender Foundation & Template:Blender Foundation: Ton Roosendaal; non-profit organization which develops Blender; produced animated short films (Elephants Dream (2006), Big Buck Bunny (2008), Sintel (2010) and Tears of Steel (2012)) and games (Yo Frankie! (2008), Sintel The Game (2012)).
 * Blender (VSE : Video Sequence Editor) & The Blender Game Engine (aka Game Blender). Blender has Python 3.0 scripting.
 * Autodesk: huge American multinational corporation producing AutoCAD, Maya, 3ds Max:
 * Template:AutoCAD related articles (Autodesk AutoCAD): AutoCAD was developed by Autodesk from the beginning
 * Autodesk Inventor: 3D mechanical solid modeling design software; internally developed parametric mechanical design CAD application.
 * AutoCAD Architecture (ACA; AutoCAD Architectural Desktop, ADT): version of Autodesk's flagship product, AutoCAD, with tools and functions specially suited to architectural work.
 * Autodesk Revit: building Information Modeling (BIM) software (process of generating and managing building data during its life cycle; BIM tools define objects parametrically: objects are defined as parameters and relations to other objects, so that if a related object changes, this one will also); aka 4D CAD (4th dim is time).
 * AutoCAD file formats:
 * Design Web Format: secure file format developed by Autodesk for the efficient distribution and communication of rich design data to anyone who needs to view, review, or print design files
 * AutoCAD DXF: CAD data file format developed by Autodesk for enabling data interoperability between AutoCAD and other programs
 * .dwg: binary file format used for storing two and three dimensional design data and metadata; native to AutoCAD and related, .dwfx (container-file of XML and non-XML files).
 * AutoLISP: based on LISP; somehow evolved into Visual LISP?; strong following among CAD community?
 * Competitors for AutoCAD:
 * GstarCAD
 * Open Design Alliance: Bentley Systems {CAD SW}, ESRI {geodesics, GIS (Geographic Information System)}, Intergraph {many things, one of them utilities, aerial mapping & photogrammetry, gov stuff}
 * AutoCAD 360 (formerly: AutoCAD WS): first AutoCAD mobile application; iOS (App Store), Android (Google Play and Amazon Appstore) for free - registered license is required to use the mobile application.
 * Autodesk Media and Entertainment (formerly Discreet):
 * Autodesk 3ds Max (formerly: 3D Studio MAX): scripting langs: MAXScript
 * Autodesk Maya: Alias Research, Inc. (Maya used Tcl for scripting) + Wavefront Technologies, Inc. → Silicon Graphics Inc. (SGI), Maya 1.0 in 1998 → Autodesk (2005). Current Maya scripting langs: MEL, Python (added as of Maya 8.5)
 * Maya Embedded Language (MEL)
 * other: IFF (software) (Inferno, Flame and Flint): runs on RHEL; Academy Award at the Scientific and Technical Academy Awards
 * Art of Illusion
 * Trimble Navigation (HQ: Sunnyvale, CA): makes GPS (Global Positioning Systems) receivers, laser rangefinders and inertial navigation systems. The company is best known in the fields of surveying, construction, agriculture, scientific instrumentation, and mobile and fleet management; ~54% of employees outside USA. Market Segments: Engineering and Construction, Field Solutions, Mobile Solutions, Advanced Devices
 * SketchUp (officially: Trimble SketchUp; Sketchup Make {$0} or Sketchup Pro {paid}): independent stage (2000-2006), a second phase under Google ownership (2006-2012), to current ownership under Trimble Navigation; 3D modeling program for a broad range of applications such as architectural, civil, mechanical, film as well as video game design . Extensions: Ruby.

3D CAD file formats:
 * ISO 10303: ISO standard for the computer-interpretable representation and exchange of product manufacturing information. Its official title is: Automation systems and integration — Product data representation and exchange. It is known informally as "STEP", which stands for "Standard for the Exchange of Product model data". ISO 10303 can represent 3D objects in Computer-aided design (CAD) and related information.
 * STL (file format): file format native to the stereolithography CAD software created by 3D Systems. This file format is supported by many other software packages; it is widely used for rapid prototyping, 3D printing and computer-aided manufacturing. STL files describe only the surface geometry of a three-dimensional object without any representation of color, texture or other common CAD model attributes. The STL format specifies both ASCII and binary representations. Binary files are more common, since they are more compact.
 * Additive Manufacturing File Format (AMF): is an open standard for describing objects for additive manufacturing processes such as 3D printing. The official ISO/ASTM 52915:2013 standard is an XML-based format designed to allow any computer-aided design software to describe the shape and composition of any 3D object to be fabricated on any 3D printer. Unlike its predecessor STL format, AMF has native support for color, materials, lattices, and constellations.

Infographics

 * Category:Infographics
 * Category:Charts
 * Category:Diagrams
 * Category:Computer algebra
 * Category:Computer algebra systems
 * Category:Graph drawing
 * Category:Graph drawing software
 * Category:Diagramming software

{q.v. }


 * Template:Visualization
 * List of graphical methods
 * Chart
 * Plot (graphics)
 * Automatic label placement: in charts/plots
 * Graph of a function


 * List of information graphics software: plotting: gnuplot, many other; stats: R


 * DOT (graph description language): DOT graphs are typically files with the file extension gv or dot. Programs to process DOT files: dot, neato, twopi, circo, fdp, and sfdp.
 * Graphviz (Graph Visualization Software): package of open-source tools initiated by AT&T Labs Research for drawing graphs specified in DOT language scripts. It also provides libraries for software applications to use the tools.

Compression formats for emedia

 * Template:Compression formats (Multimedia compression and container formats):
 * video: H.262≡MPEG-2 Part 2;
 * H.264/MPEG-4 AVC (H.264/MPEG-4 Part 10 or AVC (Advanced Video Coding)): H.264 - ITU-T standard, MPEG-4 AVC - ISO/IEC standard; standard for video compression, and is currently one of the most commonly used formats for the recording, compression, and distribution of high definition video.

3D fabrication, 3D printing
{q.v. }


 * Digital modeling and fabrication: joins architecture with the construction industry through the use of 3D modeling software and CNC machines. Using various machines for fabrication: CNC router, laser cutter, Z plotter.
 * 3D printing
 * RepRap Project (short for "replicating rapid prototyper"): British initiative to develop a 3D printer that can print most of its own components, but it is now made up of hundreds of collaborators world wide. [OLD: can print most of its own components; may well facilitate a major paradigm shift in the design and manufacture of consumer products from one of factory production of patented products to one of personal production of un-patented products with open specifications]
 * Ultimaker: Dutch based 3D printer company which was founded in 2011 by Martijn Elserman, Erik de Bruijn, and Siert Wijnia. Instead of sticking to the Reprap principle that their printer should be able to print its own parts, they designed their printer to be built mostly of lasercut plywood parts, that could be produced orders of magnitude faster than printed parts at the time. Contrary to the RepRap project founded By Adrian Bowyer, Ultimaker is not focused on an end-goal of self-replication. Their product is designed to make high quality prints. Ultimaker currently sells the Ultimaker Original as a DIY kit and the Ultimaker 2 family pre-assembled. Ultimaker 2 is the successor to the Ultimaker Original and was released in September 2013. MAKE magazine classified the Ultimaker 2 as the "best open-architecture 3D printer of 2014" and named it runner-up in the category "Prosumer FFF".
 * Thingiverse: website dedicated to the sharing of user-created digital design files
 * Laser cutting
 * Milling machine
 * Fab lab


 * Carbon (company) (Carbon3D Inc.): technology company and manufacturer founded in 2014.06.11 by Joseph and Philip DeSimone, based in Redwood City, CA. It manufactures and develops 3D printers utilizing process, with their first commercial product being the M1.
 * Continuous Liquid Interface Production (CLIP): proprietary method of 3D printing that uses photo polymerization to create smooth-sided solid objects of a wide variety of shapes using resins.


 * Stratasys: manufacturer of 3D printers and 3D production systems for office-based rapid prototyping and direct digital manufacturing solutions. Stratasys was founded in 1989, by S. Scott Crump and his wife Lisa Crump in Eden Prairie, Minnesota. The idea for the technology came to Crump in 1988 when he decided to make a toy frog for his young daughter using a glue gun loaded with a mixture of polyethylene and candle wax. He thought of creating the shape layer by layer and of a way to automate the process. In April 1992, Stratasys sold its first product, the 3D Modeler. In January 1995, Stratasys purchased IBM's rapid prototyping intellectual property and other assets and employed 16 former IBM engineers, who had been developing a small 3-D printer that relied on an extrusion system very similar to Crump's patented FDM technology. In 2003, Stratasys FDM was the best-selling rapid prototyping technology.
 * MakerBot Industries: New York City-based company founded in January 2009 by Bre Pettis, Adam Mayer and Zach "Hoeken" Smith to engineer and produce 3D printers. MakerBot builds on the early progress of the RepRap Project. 2013.06.19 Stratasys Incorporated announced that it had acquired MakerBot in a stock deal worth $403 million. 2015.04 following a layoff of around 20% of its staff, MakerBot has about 400 employees.


 * 3D Systems: company that engineers, manufactures and sells 3D printers. Stereolithography, Selective laser sintering, Fused deposition modeling, Multi-Jet printing, Direct Metal Sintering.


 * Fused deposition modeling ((FDM); fused filament fabrication (FFF)): additive manufacturing technology commonly used for modeling, prototyping, and production applications. It is one of the techniques used for 3D printing.
 * Direct metal laser sintering: additive manufacturing technique that uses a Yb fibre laser fired into a bed of powdered metal, aiming the laser automatically at points in space defined by a 3D model, melting or rather, welding the material together to create a solid structure.


 * Defense Distributed: online, open-source organization that designs firearms, or "wiki weapons", that may be downloaded from the Internet and "printed" with a 3D printer. Among the organization's goals is to develop and freely publish firearms-related design schematics that can be downloaded and reproduced by anyone with a 3D printer.
 * List of 3D printed weapons and parts
 * Liberator (gun)


 * Numerical control (Computer numerical control (CNC)): automation of machine tools by means of computers executing pre-programmed sequences of machine control commands. design of a mechanical part and its manufacturing program is highly automated. The part's mechanical dimensions are defined using computer-aided design (CAD) software, and then translated into manufacturing directives by computer-aided manufacturing (CAM) software.
 * FANUC: provide automation products and services such as robotics and CNC systems; largest makers of industrial robots in the world. Use of industrial robots has allowed companies like Panasonic in Amagasaki to run factories which produce 2 million television sets a month (mostly high end plasma LCD screens including a 103 inch model) with just 25 people; largest maker of CNC controls by market share with 65% of the global market; leading global manufacturer of factory automation systems.

Metalworking, mechanical engineering

 * Category:Metalworking
 * Category:Mechanical engineering
 * Category:Machine tools
 * Category:Chemical engineering


 * Template:Metalworking navbox: casting; forming, fabrication, and finishing; machining and computing; smithing; tools; welding
 * Outline of metalworking: Casting; Shaping; Heat treating; Welding and soldering. Tools. Physical Properties. Steel. Machine tool parts. Machine tool accessories.


 * Metalworking: process of working with metals to create individual parts, assemblies, or large-scale structures. The term covers a wide range of work from large ships and bridges to precise engine parts and delicate jewelry. It therefore includes a correspondingly wide range of skills, processes, and tools. Metalworking is a science, art, hobby, industry and trade. Its historical roots span cultures, civilizations, and millennia . Metalworking has evolved from the discovery of smelting various ores, producing malleable and ductile metal useful tools and adornments. Modern metalworking processes, though diverse and specialized, can be categorized as forming, cutting, or joining processes. Today's machine shop includes a number of machine tools capable of creating a precise, useful workpiece.
 * history - from gold to steel


 * Chuck (engineering): specialized type of clamp used to hold an object with radial symmetry, especially a cylinder. In drills and mills it holds the rotating tool whereas in lathes it holds the rotating workpiece. On a lathe the chuck is mounted on the spindle which rotates within the headstock. For some purposes (such as drilling) an additional chuck may be mounted on the non-rotating tailstock.
 * Collet: subtype of chuck that forms a collar around an object to be held and exerts a strong clamping force on the object when it is tightened, usually by means of a tapered outer collar. It may be used to hold a workpiece or a tool. Regardless of the collet design, the operating principle is the same: squeeze the collet against the tool or workpiece to be held, resulting in high static friction and accurate alignment.

Signal processing, image processing

 * Category:Signal processing
 * Category:Encodings

Typical signal processing examples: (adaptive) filtering, smoothing, spectrum analysis, digitization (from analog data), modulation, feature extraction, pattern recognition
 * Category:Signal processing: EE subfield that focuses on analysing, modifying, and synthesizing signals such as sound, images, and scientific measurements. Signal processing techniques can be used to improve transmission, storage efficiency and subjective quality and to also emphasize or detect components of interest in a measured signal.
 * Category:Image processing
 * Category:Computer vision
 * Category:Medical imaging

{q.v. }


 * Wavelet: wave-like oscillation with an amplitude that begins at zero, increases, and then decreases back to zero. It can typically be visualized as a "brief oscillation" like one recorded by a seismograph or heart monitor. Generally, wavelets are intentionally crafted to have specific properties that make them useful for signal processing. Using convolution, wavelets can be combined with known portions of a damaged signal to extract information from the unknown portions.
 * Wavelet transform: used in JP(E)G; can be used in wavelet thresholding to remove random noise
 * Multiresolution analysis

Image processing

 * Category:Image processing
 * Category:Image processing software
 * Category:Medical imaging

{q.v. }
 * User:Kazkaskazkasako/Work
 * User:Kazkaskazkasako/Books/Physical sciences


 * Structural similarity (structural similarity index measure (SSIM)): method for predicting the perceived quality of digital television and cinematic pictures, as well as other kinds of digital images and videos. SSIM is used for measuring the similarity between two images. The SSIM index is a full reference metric; in other words, the measurement or prediction of image quality is based on an initial uncompressed or distortion-free image as reference.
 * Template:Noise (Noise (in physics and telecommunications)): Peak signal-to-noise ratio, Signal-to-noise ratio, Image noise


 * Mathematical morphology: theory and technique for the analysis and processing of geometrical structures, based on set theory, lattice theory, topology, and random functions. Morphological dilation and erosion.


 * Template:Image processing software: GNU Octave; ImageJ; Amira; Mathematica; MATLAB

Networks (Internet: Web), (tele)communications
Networks (Internet: Web): mobile, Wi-Fi & GSM & 3G & internal LANs convergence ⇒ THE Internet


 * Hosts (file)
 * 127.0.0.1 = Localhost
 * Template:VPN (Virtual Private Networking): VPNs typically require remote users of the network to be authenticated, and often secure data with encryption technologies to prevent disclosure of private information to unauthorized parties.
 * Mobile virtual private network: persistence, roaming, software applications (running in "always-connected" wired LAN environment) run over the mobile VPN without modification
 * Template:WebManTools: Website management, from HW (HardWare) to SW (SoftWare) to CMS

Networking standards

 * Category:Network architecture
 * Category:Network addressing
 * Category:Unique identifiers
 * Category:Media access control


 * MAC address (media access control address): unique identifier assigned to a network interface controller (NIC) for use as a network address in communications within a network segment. This use is common in most IEEE 802 networking technologies, including Ethernet, Wi-Fi, and Bluetooth. Within the Open Systems Interconnection (OSI) network model, MAC addresses are used in the medium access control protocol sublayer of the data link layer. As typically represented, MAC addresses are recognizable as six groups of two hexadecimal digits, separated by hyphens, colons, or without a separator. MAC addresses are primarily assigned by device manufacturers, and are therefore often referred to as the burned-in address, or as an Ethernet hardware address, hardware address, and physical address. Each address can be stored in hardware, such as the card's read-only memory, or by a firmware mechanism. Many network interfaces, however, support changing their MAC address. MAC addresses are formed according to the principles of two numbering spaces based on Extended Unique Identifiers (EUI) managed by IEEE: EUI-48, which replaces the obsolete term MAC-48, and EUI-64.


 * Wired
 * Wireless:
 * Template:Cellular network standards
 * Universal Mobile Telecommunications System (UMTS): 3G of the GSM standard.
 * GSM (2G)→EDGE (2.5G)→UMTS (3G)
 * 5G: three very distinct 5G network visions having emerged by 2014: A super-efficient mobile network; A super-fast mobile network; A converged fiber-wireless network.

Internet architecture

 * Category:Internet architecture
 * Category:Content delivery network


 * Network address translation (NAT): process of modifying IP address information in IPv4 headers while in transit across a traffic routing device. Basic NAT (one-to-one NAT) . It is common to hide an entire IP address space, usually consisting of private IP addresses, behind a single IP address (or in some cases a small group of IP addresses) in another (usually public) address space; NAPT (network address and port translation), PAT (port address translation), IP masquerading, NAT Overload, many-to-one NAT (sometimes simply NAT).
 * NAT traversal: techniques that establish and maintain Internet protocol connections traversing NAT gateways. NAT breaks end-to-end connectivity. Many techniques exist, but no single method works in every situation since NAT behavior is not standardized . Many NAT traversal techniques require assistance from a server at a publicly routable IP address. Some methods use the server only when establishing the connection, while others are based on relaying all data through it, which adds bandwidth costs and increases latency, detrimental to real-time voice and video communications.
 * UDP hole punching: e.g. Skype.


 * Content delivery network (content distribution network; CDN): large distributed system of servers deployed in multiple data centers across the Internet. The goal of a CDN is to serve content to end-users with high availability and high performance. CDNs serve a large fraction of the Internet content today, including web objects (text, graphics and scripts), downloadable objects (media files, software, documents), applications (e-commerce, portals), live streaming media, on-demand streaming media, and social networks.

Physical layer

 * Category:Physical layer protocols
 * Category:Ethernet
 * Category:Serial buses
 * Category:USB


 * Ethernet: family of wired computer networking technologies commonly used in LAN, metropolitan area networks (MAN) and wide area networks (WAN). It was commercially introduced in 1980 and first standardized in 1983 as IEEE 802.3. Ethernet has since been refined to support higher bit rates, a greater number of nodes, and longer link distances, but retains much backward compatibility. Ethernet was developed at Xerox PARC between 1973 and 1974. It was inspired by ALOHAnet, which Robert Metcalfe had studied as part of his PhD dissertation. The idea was first documented in a memo that Metcalfe wrote in 1973.05.22, where he named it after the luminiferous aether once postulated to exist as an "omnipresent, completely-passive medium for the propagation of electromagnetic waves."
 * Ethernet physical layer


 * USB (Universal Serial Bus): industry standard that establishes specifications for cables and connectors and protocols for connection, communication and power supply (interfacing) between computers, peripherals and other computers. A broad variety of USB hardware exists, including eleven different connectors, of which USB-C is the most recent. There have been four generations of USB specifications: USB 1.x, USB 2.0, USB 3.x, and USB4.

Internet backbone:
 * Submarine communications cable: fiber optics: submarine branching unit (SBU), self-healing ring (SHR), Cable landing point.
 * List of international submarine communications cables: to put a cable under the water for extremely long distances is cheaper than to dig it through the land.
 * Internet2: advanced not-for-profit US networking consortium (universities, industry, government):
 * Abilene Network: high-performance backbone network created by the Internet2 community, now called Internet2 Network
 * GEANT: main European multi-gigabit computer network for research and education purposes


 * Template:Internet access:
 * Wired:
 * Digital subscriber line access multiplexer (DSLA): network device, often located in telephone exchanges, that connects multiple customer DSL interfaces to a high-speed digital communications channel using multiplexing techniques.
 * Digital Subscriber Line (DSL): asymmetric DSL = ADSL (the most commonly used by end consummers), symmetric DSL = SDSL. Family of technologies that provides digital data transmission over the wires of a local telephone network 
 * Template:DSL technologies
 * Fiber to the x, aka FTTx, optical fibers to users
 * Template:UTP Cable Standards (Unshielded and shielded twisted pair cabling standards)
 * Twisted pair: two conductors (the forward and return conductors of a single circuit) are twisted together for the purposes of canceling out electromagnetic interference (EMI) from external sources
 * Crosstalk (electronics): signal transmitted on one circuit or channel of a transmission system creates an undesired effect in another circuit or channel.
 * Balanced line: balanced line or balanced signal pair is a transmission line consisting of two conductors of the same type, each of which have equal impedances along their lengths and equal impedances to ground and to other circuits. The chief advantage of the balanced line format is good rejection of external noise
 * Balun (bal(ance) + un(balance)): type of electrical transformer that can convert electrical signals that are balanced about ground (differential) to signals that are unbalanced (single-ended) and vice versa. They are also often used to connect lines of differing impedance.
 * Wireless:
 * Wi-Fi Protected Access, WPA and WPA2, brought TKIP security protocol, which has weaknesses
 * IEEE 802.11g-2003, aka Wi-Fi
 * Cellular frequencies
 * International Telecommunications Union, ITU

High level infrastructure:
 * Root nameserver

routers:
 * Carrier Routing System: large-scale core router by Cisco.
 * Hop (networking): Each time packets are passed to the next router a hop occurs. Hop count: distance between two hosts. Hop limit (IPv6) = TTL (IPv4).
 * Time to live (TTL): mechanism that limits the lifespan of data in a computer or network. TTL field is set by the sender of the datagram, and reduced by every router on the route to its destination. If the TTL field reaches zero before the datagram arrives at its destination, then the datagram is discarded and an ICMP error datagram (11 - Time Exceeded) is sent back to the sender. In practice, the TTL field is reduced by one on every hop.

Law:
 * Demarcation point (aka: demarc, DMARC, MPOE (minimum point of entry or main point of entry)): point between wiring of the customer and the wiring of the telco/communication provider (e.g. internet, phone, cable TV)

Socializing ISPs (work together for a single internet)

 * Peering: voluntary interconnection of administratively separate Internet networks for the purpose of exchanging traffic between the customers of each network.
 * Internet exchange point: where Internet service providers (ISPs) exchange Internet traffic between their networks
 * List of Internet exchange points: practically says which places are important Internet hubs and which countries have huge Internet market.
 * Equinix: provides carrier-neutral data centers and internet exchanges. "Also, many major enterprises such as Google and Microsoft use Equinix data centers for disaster avoidance and off-site data backup." Former CEO and current Executive Chairman Peter Van Camp describes Equinix internet exchanges (IBXs) as "international airports where passengers from many different airlines make connections to get to their final destinations."
 * Autonomous system (Internet) (AS)

The inter-government side of the ISPs ("politics" of Internet on the technical side):
 * Regional Internet registry (RIR): organization that manages the allocation and registration of Internet number resources (IP addresses & autonomous system numbers) within a particular region of the world. African Network Information Centre (AfriNIC; 2004.10.11); American Registry for Internet Numbers (ARIN; mainly USA & Canada; 1997.12.22); Asia-Pacific Network Information Centre (APNIC: South & South East & East Asia; Australasia; 1993.01.13); Latin America and Caribbean Network Information Centre (LACNIC; 2001); Réseaux IP Européens Network Coordination Centre (RIPE NCC: Europe, Russia, the Middle East, and Central Asia {former USSR}; 1992.04)

History of internet in EU:
 * EUnet
 * TERENA
 * de:Verein zur Förderung eines Deutschen Forschungsnetzes
 * de:GWDG

Messaging (communication) and software "layers"

 * Template:IPstack:
 * Internet Protocol Suite (aka TCP/IP): set of communications protocols used for the Internet. Officially 4 layers: application (e.g. BGP), transport (e.g. TCP), internet (e.g. IP {Internet Protocol}), link
 * Border Gateway Protocol (BGP): backs the core routing decisions on the Internet. Has Internet routing table which designates network reachability among autonomous systems.
 * Default-free zone (DFZ; Internet routing table, global routing table or global BGP table): collection of all Internet autonomous systems that do not require a default route to route a packet to any destination. Conceptually, DFZ routers have a "complete" BGP table.
 * TCP (Transmission Control Protocol): Slow-start - part of the congestion control strategy



Applications using network

 * Category:Distributed computing architecture
 * Category:Clients (computing)
 * Category:Servers (computing)


 * Client–server model: distributed application structure in computing that partitions tasks or workloads between the providers of a resource or service, called servers, and service requesters, called clients
 * Client (computing): application or system that accesses a service made available by a server. Server is often (but not always) on another computer system, in which case the client accesses the service by way of a network. Client-server model/architecture (local-remote machines) (client vs. server: any capable PC could become a server/remote machine to be used by some other machine(s) and their applications); e.g. web browser, e-mail client, online chat. Clients tend to unify (e.g. Pidgin - one online chat client supporting various protocols which have their own clients): existing large client applications are being switched to websites, making the (internet/web) browser a sort of universal client (avoids the hassle of downloading a large piece of software onto any computer you want to use the application on. E.g. the rise of webmail (GMail) (email clients (Thunderbird, Outlook) dying out))
 * Fat client (heavy, rich, thick client): typically provides rich functionality independent of the central server. E.g. game clients (online gaming; most game clients are a hybrid of client–server and P2P architectures): MUD client, Eve Online, StarCraft II: Wings of Liberty (esp. multiplayer), Second Life, Template:3D virtual worlds.
 * User agent: user agent string as not-so-unique identifier.


 * Eventual consistency: consistency model used in distributed computing to achieve high availability that informally guarantees that, if no new updates are made to a given data item, eventually all accesses to that item will return the last updated value.


 * List of online backup services & Comparison of online backup services:
 * Dropbox (storage provider)


 * Comparison of remote desktop software
 * Template:Remote administration software & Remote administration (rooting/0wning; hacking/cracking):
 * Virtual Network Computing (VNC): cross-platform
 * Remote Desktop Services (RDS; Terminal Services; Remote Desktop Connection (formerly called Terminal Services Client)): Microsoft's implementation of thin client, where Windows software, and the entire desktop of the computer running RDS, are made accessible to a remote client machine that supports Remote Desktop Protocol (RDP). With RDS, only software user interfaces are transferred to the client system. All input from the client system is transmitted to the server, where software execution takes place. Client software: Remote Desktop Connection (RDC): client application for RDS. It allows a user to remotely log into a networked computer running the terminal services server. RDC presents the desktop interface (or application GUI) of the remote system, as if it were accessed locally. MS Win, Mac OS X; proprietary protocol developed by Microsoft, which provides a user with a graphical interface to another computer; version 5.1 for WinXP32, 6.0 for Win Vista, 7.0 for Win7. Network Level Authentication: reduces the risk of denial-of-service attacks.
 * Remote Desktop Protocol: proprietary protocol developed by Microsoft, which provides a user with a graphical interface to connect to another computer over a network connection. The user employs RDP client software for this purpose, while the other computer must run RDP server software. Clients exist for most versions of Microsoft Windows (including Windows Mobile), Linux, Unix, macOS, iOS, Android, and other operating systems. RDP servers are built into Windows operating systems; an RDP server for Unix (xRDP) and OS X also exists.
 * Secure Shell (SSH): (PuTTY: originally for Windows, client for SSH)

Peer-to-peer computing, file transfer protocols

 * Category:Distributed computing architecture
 * Category:Peer-to-peer computing
 * Category:Application layer protocols
 * Category:File transfer protocols


 * BitTorrent: communication protocol for peer-to-peer file sharing (P2P), which enables users to distribute data and electronic files over the Internet in a decentralized manner. BitTorrent is one of the most common protocols for transferring large files; such as, digital video files containing TV shows and video clips, or digital audio files containing songs. P2P networks have been estimated to, collectively, account for approximately 43% to 70% of all Internet traffic (depending on location), as of February 2009.


 * InterPlanetary File System (IPFS; alpha version 2015.02): protocol and peer-to-peer network for storing and sharing data in a distributed file system. IPFS uses content-addressing to uniquely identify each file in a global namespace connecting all computing devices. IPFS allows users to not only receive but host content, in a similar manner to BitTorrent. As opposed to a centrally located server, IPFS is built around a decentralized system of user-operators who hold a portion of the overall data, creating a resilient system of file storage and sharing. Any user in the network can serve a file by its content address, and other peers in the network can find and request that content from any node who has it using a distributed hash table (DHT).

Communication reliability

 * Byzantine fault tolerance
 * Two Generals' Problem

eCommerce, mCommerce

 * Livemocha: online language learning
 * TutorVista: Indian tutors to the people worldwide
 * CellBazaar: Bangladesh; allowing farmers to sell harvest over mobile phone

Websites

 * Category:Websites
 * Category:Websites by topic
 * Category:Review websites


 * AlternativeTo: website which lists alternatives to web-based software, desktop computer software, and mobile apps, and sorts the alternatives by various criteria; software is not arranged into categories, but each individual piece of software has its own list of alternatives, permitting a more tailored listing approach.
 * Similarweb: Israeli web analytics company specializing in web traffic and performance. Headquartered in Tel Aviv, the company has 12 offices worldwide. Similarweb went public on the New York Stock Exchange in 2021.05. Technology: Similarweb develops tools that enable the analysis of the traffic and behavior of users on websites and apps. The service and datasets are provided in a limited free edition, but the paid platform is addressed to SMBs and large companies which require access to accurate comprehensive data at larger scales for marketing, sales and Market research. Ranking: Similarweb ranks websites and apps based on traffic and engagement metrics.


 * Ranker (2009-): socially minded consumer web platform designed around collaborative and individual list-making and voting. Uses Freebase and Factual.

Internet: culture

 * Category:Internet
 * Category:Internet culture
 * Category:Internet memes
 * Category:Internet slang


 * History of the Internet: begins with the development of electronic computers in the 1950s. Initial concepts of packet networking originated in several computer science laboratories in USA, Great Britain, and France. The USA DoD awarded contracts as early as the 1960s for packet network systems, including the development of the ARPANET (which would become the first network to use the Internet Protocol.) The first message was sent over the ARPANET from computer science Professor Leonard Kleinrock's laboratory at UCLA to the second network node at Stanford Research Institute (SRI). In 1982, the Internet protocol suite (TCP/IP) was introduced as the standard networking protocol on the ARPANET. In the 1980s, the work of Tim Berners-Lee in UK, on WWW, theorised the fact that protocols link hypertext documents into a working system, marking the beginning of the modern Internet. The Internet's takeover of the global communication landscape was almost instant in historical terms: it only communicated 1% of the information flowing through two-way telecommunications networks in the year 1993, already 51% by 2000, and more than 97% of the telecommunicated information by 2007. Today the Internet continues to grow, driven by ever greater amounts of online information, commerce, entertainment, and social networking.
 * Communications, Computers, and Networks (Scientific American): special issue of Scientific American dedicated to articles concerning impending changes to the internet in the period prior to the expansion and mainstreaming of WWW via Mosaic and Netscape.


 * RTFM ("Read The Fucking Manual"): ~GIYF ("Google is your friend") and LMGTFY ("let me google that for you")


 * Template:Internet slang
 * Internet slang (netspeak, chatspeak): refers to a variety of slang languages used by different people on the Internet. It is difficult to provide a standardized definition of Internet slang due to the constant changes made to its nature. However, it can be understood to be a type of slang that Internet users have popularized, and in many cases, have coined.
 * 4chan: English-language imageboard website. Users generally post anonymously, with the most recent posts appearing above the rest. /b/: "random" board, 4chan's most popular board with 30% of site traffic. /pol/: chan's political discussion board, titled "Politically Incorrect"; stickied thread on its front page states that the board's intended purpose is "discussion of news, world events, political issues, and other related topics"; /pol/ was created in 2011.10 as a rebranding of 4chan's news board, /new/, which was deleted 2011.01 for a high volume of racist discussion. 2015.09.21 it was announced by 4chan founder Christopher Poole that Hiroyuki Nishimura had purchased from him the ownership rights to his website, without disclosing the terms of the acquisition.
 * Pedobear: ("pedo" being short for "pedophile"), it is portrayed as a pedophilic bear. It is a concept used to mock pedophiles or people who have an interest in minors or jailbait. The bear image has been likened to bait used to lure children or as a mascot for pedophiles.
 * Rule 34 (Internet meme): "If it exists, there is porn of it – no exceptions"—is a prevalent meme that Internet pornography exists that concerns every conceivable topic. The most popular targets are cartoons and anime.

Computer networking

 * Category:Computer networking
 * Category:Computer network security
 * Category:Network analyzers
 * Category:Port scanners
 * Category:Security testing tools

{q.v.: }
 * 
 * User:Kazkaskazkasako/Books/All


 * Organizational Unit (OU): provides a way of classifying objects located in directories, or names in a digital certificate hierarchy, typically used either to differentiate between objects with the same name (John Doe in OU "marketing" versus John Doe in OU "customer service"), or to parcel out authority to create and manage objects (for example: to give rights for user-creation to local technicians instead of having to manage all accounts from a single central group). OUs appear in X.500, X.509, LDAP, Active Directory, ..., in almost any modern directory or digital certificate container grouping system.
 * Lightweight Directory Access Protocol (LDAP): application protocol for accessing and maintaining distributed directory information services over IP network.


 * Nmap (Network Mapper): security scanner used to discover hosts and services on a computer network, thus building a "map" of the network. To accomplish its goal, Nmap sends specially crafted packets to the target host(s) and then analyzes the responses. The software provides a number of features for probing computer networks, including host discovery and service and operating-system detection. These features are extensible by scripts that provide more advanced service detection, vulnerability detection, and other features. Nmap can adapt to network conditions including latency and congestion during a scan.
 * Pcap (packet capture): consists of API for capturing network traffic. Unix-like systems implement pcap in the libpcap library; for Windows, there is a port of libpcap known as WinPcap that is no longer supported or developed, and a port called Npcap for Windows 7 and later that is still supported.

Information; data, content; data science, information science

 * Category:Information
 * Category:Communication
 * Category:Communication studies
 * Category:Encodings
 * Category:Communication design
 * Category:Notation {q.v. User:Kazkaskazkasako/Books/All}
 * Category:Data
 * Category:Information science
 * Category:Scientific modelling {q.v. User:Kazkaskazkasako/Work}
 * Category:Computer graphics
 * Category:Visualization (graphics)
 * Category:Data modeling
 * Category:Infographics

{q.v. }
 * User:Kazkaskazkasako/Books/All
 * User:Kazkaskazkasako/Books/Physical sciences
 * 
 * 
 * 


 * Data science (data-driven science): interdisciplinary field about scientific methods, processes and systems to extract knowledge or insights from data in various forms, either structured or unstructured, similar to Knowledge Discovery in Databases (KDD). Data science is a "concept to unify statistics, data analysis and their related methods" in order to "understand and analyze actual phenomena" with data. It employs techniques and theories drawn from many fields within the broad areas of mathematics, statistics, information science, and computer science, in particular from the subdomains of machine learning, classification, cluster analysis, data mining, databases, and visualization.
 * Data dredging (data fishing, data snooping, and p-hacking): use of data mining to uncover patterns in data that can be presented as statistically significant, without first devising a specific hypothesis as to the underlying causality.

Information theory

 * Category:Information theory
 * Category:Entropy and information


 * Landauer's principle: physical principle pertaining to the lower theoretical limit of energy consumption of computation. It holds that "any logically irreversible manipulation of information, such as the erasure of a bit or the merging of two computation paths, must be accompanied by a corresponding entropy increase in non-information-bearing degrees of freedom of the information-processing apparatus or its environment". A so-called logically reversible computation, in which no information is erased, may in principle be carried out without releasing any heat. This has led to considerable interest in the study of reversible computing. Indeed, without reversible computing, increases in the number of computations per joule of energy dissipated must eventually come to a halt. If Koomey's law continues to hold, the limit implied by Landauer's principle would be reached around the year 2080.

Data, data management

 * Category:Data
 * Category:Computer data
 * Category:Data management
 * Category:Content management systems
 * Category:Data analysis
 * Category:Data quality
 * Category:Data structures
 * Category:Semantic Web


 * Template:Data: Data augmentation; Data analysis; Data archaeology; Data cleansing; Data collection; Data compression; Data corruption; Data curation; Data degradation; Data editing; Extract, transform, load (Data extraction, Data transformation, Data loading); Data farming; Data format management; Data fusion; Data integration; Data integrity; Data library; Data loss; Data management; Data migration; Data mining; Data pre-processing; Data preservation; Information privacy; Data recovery; Data reduction; Data retention; Data quality; Data science; Data scraping; Data scrubbing; Data security; Data steward; Data storage; Data validation; Data warehouse; Data wrangling


 * Data cleansing (data cleaning): the process of detecting and correcting (or removing) corrupt or inaccurate records from a record set, table, or database and refers to identifying incomplete, incorrect, inaccurate or irrelevant parts of the data and then replacing, modifying, or deleting the dirty or coarse data. Data cleansing may be performed interactively with data wrangling tools, or as batch processing through scripting. After cleansing, a data set should be consistent with other similar data sets in the system.

Information management, archiving

 * Category:Archival science
 * Category:Digital preservation
 * Category:Web archiving
 * Category:Information management
 * Category:Digital preservation


 * Knowledge management (KM): range of strategies and practices used in an organization to identify, create, represent, distribute, and enable adoption of insights and experiences. Such insights and experiences comprise knowledge, either embodied in individuals or embedded in organizational processes or practice. KM is in the fields of: business administration, information systems, management, library and information sciences, information and media, CS, public health, public policy. KM is within any large human organization (private, NGO, gov) within: 'business strategy', 'information technology', or 'human resource management' departments. See Personal Wiki and Reference management 
 * Information management: entails organizing, retrieving, acquiring and maintaining information. Highly overlapping with data management; includes (digital) data maintenance (storage & co). Information continuum (the whole set of all info). Digital Continuity (data/info is available even when HW changes (e.g. storage HW)).


 * Common Crawl: nonprofit 501(c)(3) organization that crawls the web and freely provides its archives and datasets to the public. Common Crawl's web archive consists of petabytes of data collected since 2011. It completes crawls generally every month. Common Crawl was founded by Gil Elbaz. Advisors to the non-profit include Peter Norvig and Joi Ito. The organization's crawlers respect nofollow and robots.txt policies. Open source code for processing Common Crawl's data set is publicly available.

Character encoding

 * Category:Encodings
 * Category:Character encoding
 * Category:Coding theory
 * Category:Character encoding
 * Category:Computer data
 * Category:Character encoding


 * Character encoding: Unicode and its parallel standard, ISO/IEC 10646 UCS, together constitute a modern, unified character encoding.
 * character repertoire is the full set of abstract characters that a system supports (closed {e.g. ASCII}/open {Unicode})
 * coded character set (CCS) specifies how to represent a repertoire of characters using a number of non-negative integer codes called code points
 * character encoding form (CEF) specifies the conversion of a coded character set's integer codes into a set of limited-size integer code values that facilitate storage in a system that represents numbers in binary form using a fixed number of bits (i.e. practically any computer system).
 * character encoding scheme (CES) specifies how the fixed-size integer code values should be mapped into an octet sequence suitable for saving on an octet-based file system or transmitting over an octet-based network
 * ASCII (American Standard Code for Information Interchange; IANA calls: US-ASCII): character-encoding scheme based on the ordering of the English alphabet
 * EBCDIC (Extended Binary Coded Decimal Interchange Code): While IBM was a chief proponent of the ASCII standardization committee, they did not have time to prepare ASCII peripherals (such as card punch machines) to ship with its System/360 computers, so the company settled on EBCDIC at the time. The System/360 became wildly successful, and thus so did EBCDIC.


 * Unicode encodings {q.v. User:Kazkaskazkasako/Books/All}:
 * UTF-8: Unix-like OSs and HTML documents.
 * Percent-encoding: UTF-8 is mainly chosen (a bit off-topic)
 * Comparison of Unicode encodings: UTF-8 has searching advantage
 * Byte order mark (BOM): for UTF-8 BOM is meaningless (due to UTF-8 striving to be ASCII-compatible), while BOM is very meaningful for UTF-16 and UTF-32 as these two have BE (big endian) and LE (little endian). For the others (like UTF-7, UTF-1, UTF-EBCDIC, GB-18030 (PRC)) it is also important.
 * UCS Encodings (see "UCS; ISO/IEC 10646"):
 * UCS-2 (2-byte Universal Character Set): encodes each BMP (the Basic Multilingual Plane) character into 2 bytes. Used by older Windows NT systems (prior to Windows 2000). UCS-2 was superseded by UTF-16 in version 2.0 of the Unicode standard in July 1996.
 * UTF-16: extension of UCS-2 to represent code points outside the BMP (due to PRC's GB 18030). Used by MS Windows 2000/XP/2003/Vista/7/CE. UTF-16 is also used in the Java and .NET bytecode environments; Mac OS X, and KDE also use it for internal representation.
 * Unicode in Microsoft Windows: Windows NT was the first operating system that used Unicode in system calls. Started with UCS-2, then upgraded to UTF-16. Being first means mistakes and learning from mistakes:
 * Bush hid the facts:  bug.
 * UCS-4 (incorporated into Unicode standard as UTF-32): each value as 4 bytes.


 * International Components for Unicode (ICU): open source project of mature C/C++ and Java libraries for Unicode support, software internationalization, and software globalization. Provides: Unicode text handling, full character properties, and character set conversions; Unicode regular expressions; full Unicode sets; character, word, and line boundaries; Language sensitive collation and searching; normalization, upper and lowercase conversion, and script transliterations; comprehensive locale data and resource bundle architecture via the Common Locale Data Repository (CLDR); complex text layout for Arabic, Hebrew, Indic, and Thai; multi-calendar and time zones; and rule-based formatting and parsing of dates, times, numbers, currencies, and messages.
 * Common Locale Data Repository (CLDR): project of the Unicode Consortium to provide locale data in the XML format for use in computer applications.


 * Variable-width encoding (multibyte encodings: most common; MultiByte Character Set (MBCS)): type of character encoding scheme in which codes of differing lengths are used to encode a character set (a repertoire of symbols) for representation in a computer. (MBCS is used in Microsoft documentation, MBCS is a misnomer since representation size is an attribute of the encoding, not of the character set). Multibyte encodings are usually the result of a need to increase the number of characters which can be encoded without breaking backward compatibility with an existing constraint . Due to older software: there are three sorts of units in a variable-width encoding: singletons, which consist of a single unit, lead units , which come first in a multiunit sequence, and trail units , which come afterwards in a multiunit sequence.  UTF-8 makes it easy for a program to identify the three sorts of units as they are kept apart. Older variable-width encodings are typically not so well designed, as in them the trail and lead units may use the same values, and in some all three sorts use overlapping values.

Data structure vs data type; type

 * Category:Programming constructs
 * Category:Data types
 * Category:String (computer science)
 * Category:Data structures
 * Category:Arrays


 * data type vs data structure


 * Data type
 * Abstract data type (≡Abstract data structure)
 * Graph (abstract data type) (≡Graph (data structure))
 * Primitive data type
 * Composite data type
 * Array data type
 * Function type
 * Template:Data types


 * Data structure
 * Template:Data structures
 * Abstract data structure
 * Array data structure
 * Linked data structure
 * Tree (data structure)
 * Graph (data structure)


 * Row- and column-major order: row-major order and column-major order are methods for storing multidimensional arrays in linear storage such as random access memory. The difference between the orders lies in which elements of an array are contiguous in memory. In row-major order, the consecutive elements of a row reside next to each other, whereas the same holds true for consecutive elements of a column in column-major order.
 * Row-major order: C/C++/Objective-C (for C-style arrays), PL/I, Pascal, Speakeasy, SAS, and Rasdaman. NumPy library (Python).
 * Column-major order: Fortran, MATLAB, GNU Octave, S-Plus, R, Julia, and Scilab.
 * Neither row-major nor column-major:
 * Lists of lists in Python and in the Wolfram Language
 * Iliffe vectors, which typically store elements in the same row contiguously (like row-major order), but not the rows themselves: Java, C#/CLI/.Net, Scala, and Swift
 * special case would be OpenGL (and OpenGL ES) for graphics processing. Since "recent mathematical treatments of linear algebra and related fields invariably treat vectors as columns," designer Mark Segal decided to substitute this for the convention in predecessor IRIS GL, which was to write vectors as rows; for compatibility, transformation matrices would still be stored in vector-major rather than coordinate-major order, and he then used the "subterfuge [to] say that matrices in OpenGL are stored in column-major order".

Databases, labels, indexes, identifiers, schemes

 * Category:Databases
 * Category:Database management systems
 * Category:Database theory
 * Category:Database normalization

{q.v. User:Kazkaskazkasako/Books/All}


 * Database engine (storage engine): underlying software component that a database management system (DBMS) uses to create, read, update and delete (CRUD) data from a database. Most have APIs. Many DBMSs support multiple database engines, e.g. MySQL supports InnoDB (default MySQL (ver.>5.5) DB engine) and MyISAM (ver.<5.5).
 * Shard (database architecture): horizontal partition in a DB or search engine. Each individual partition is referred to as a shard or database shard.


 * Relation (database): set of tuples (d1, d2, ..., dn), where each element dj is a member of Dj, a data domain. Codd's original definition notwithstanding, and contrary to the usual definition in mathematics, there is no ordering to the elements of the tuples of a relation. Instead, each element is termed an attribute value. An attribute is a name paired with a domain (nowadays more commonly referred to as a type or data type). An attribute value is an attribute name paired with an element of that attribute's domain, and a tuple is a set of attribute values in which no two distinct elements have the same name. Thus, in some accounts, a tuple is described as a function, mapping names to values.


 * Relational database: digital database based on the relational model of data, as proposed by E. F. Codd in 1970. A software system used to maintain relational databases is a relational database management system (RDBMS). Many relational database systems have an option of using the SQL for querying and maintaining the database.
 * Keys: Each row in a table has its own unique key. Rows in a table can be linked to rows in other tables by adding a column for the unique key of the linked row (such columns are known as foreign keys). Codd showed that data relationships of arbitrary complexity can be represented by a simple set of concepts.
 * Terminology:


 * Constraints: Primary key (Unique key); Foreign key; Stored procedures; Index.
 * Relational operations (Relational algebra): traditional mathematical set operations: union, intersection, difference, cartesian product (CROSS JOIN); remaining operators proposed by Codd involve special operations specific to relational databases: SELECT query statement with a WHERE clause, projection operation, join operation (INNER JOIN), relational division.
 * Database normalization: process of structuring a database, usually a relational database, in accordance with a series of so-called normal forms in order to reduce data redundancy and improve data integrity. It was first proposed by Edgar F. Codd as part of his relational model.
 * Relational model (RM): for database management is an approach to managing data using a structure and language consistent with first-order predicate logic, first described in 1969 by English computer scientist Edgar F. Codd, where all data is represented in terms of tuples, grouped into relations. A database organized in terms of the relational model is a relational database. The purpose of the relational model is to provide a declarative method for specifying data and queries: users directly state what information the database contains and what information they want from it, and let the database management system software take care of describing data structures for storing the data and retrieval procedures for answering queries. Most relational databases use the SQL data definition and query language ; these systems implement what can be regarded as an engineering approximation to the relational model. A table in an SQL database schema corresponds to a predicate variable; the contents of a table to a relation; key constraints, other constraints, and SQL queries correspond to predicates. However, SQL databases deviate from the relational model in many details, and Codd fiercely argued against deviations that compromise the original principles.

SQL

 * Category:SQL
 * Category:MySQL
 * Category:PostgreSQL
 * Category:SQLite


 * SQL (Structured Query Language): special-purpose programming language designed for managing data held in RDBMS. Consists of a data definition language and a data manipulation language; data insert, query, update and delete, schema creation and modification, and data access control. Operators: =, <> or !=, >, <, >=, <=, BETWEEN, LIKE (search for a pattern), IN (to specify multiple possible values for a column). Queries: FROM & (JOIN), WHERE, GROUP BY, HAVING, ORDER BY.
 * Unique key: one or more unique keys may be declared for each data entity; each unique key is composed from one or more data attributes of that data entity. Primary key uniquely defines the characteristics of each row; has to consist of characteristics that cannot be duplicated by any other row; may consist of a single attribute or a multiple attributes in combination.


 * PostgreSQL (Postgres): free and open-source RDBMS emphasizing extensibility and SQL compliance. It was originally named POSTGRES, referring to its origins as a successor to the Ingres database developed at the University of California, Berkeley. In 1996, the project was renamed to PostgreSQL to reflect its support for SQL. After a review in 2007, the development team decided to keep the name PostgreSQL and the alias Postgres.


 * SQLite: RDBMS contained in a C library. In contrast to many other database management systems, SQLite is not a client–server database engine. Rather, it is embedded into the end program. SQLite generally follows PostgreSQL syntax. SQLite uses a dynamically and weakly typed SQL syntax that does not guarantee the domain integrity. This means that one can, for example, insert a string into a column defined as an integer.


 * PL/SQL (Procedural Language for SQL): Oracle Corporation's procedural extension for SQL and the Oracle relational database. PL/SQL is available in Oracle Database (since version 6 - stored PL/SQL procedures/functions/packages/triggers since version 7), Times Ten in-memory database (since version 11.2.1), and IBM DB 2 (since version 9.7). Oracle Corporation usually extends PL/SQL functionality with each successive release of the Oracle Database. PL/SQL includes procedural language elements such as conditions and loops. It allows declaration of constants and variables, procedures and functions, types and variables of those types, and triggers. It can handle exceptions (run-time errors). Arrays are supported involving the use of PL/SQL collections. Implementations from version 8 of Oracle Database onwards have included features associated with object-orientation.

MS:
 * Microsoft Analysis Services (Microsoft SQL Server Analysis Services (SSAS)): OLAP and data mining tool in Microsoft SQL Server. SSAS is used as a tool by organizations to analyze and make sense of information possibly spread out across multiple databases, or in disparate tables or files.
 * SQL Server Integration Services (Microsoft SQL Server Integration Services (SSIS)): component of the Microsoft SQL Server database software that can be used to perform a broad range of data migration tasks.
 * SQL Server Reporting Services (SSRS): server-based report generating software system from Microsoft. It is part of a suite of Microsoft SQL Server services, including SSAS and SSIS.


 * MultiDimensional eXpressions (MDX): query language for OLAP using a database management system. Much like SQL, it is a query language for OLAP cubes. It is also a calculation language, with syntax similar to spreadsheet formulas.
 * Data Analysis Expressions (DAX): native formula and query language for Microsoft PowerPivot, Power BI Desktop and SSAS Tabular models. DAX includes some of the functions that are used in Excel formulas with additional functions that are designed to work with relational data and perform dynamic aggregation. It is, in part, an evolution of MDX language developed by Microsoft for Analysis Services multidimensional models (often called cubes) combined with Excel formula functions. It is designed to be simple and easy to learn, while exposing the power and flexibility of PowerPivot and SSAS tabular models.

URI, URL, IP

 * Uniform resource identifier (URI): string of characters used to identify a name or a resource on the Internet. URI is a superset of URL (location, e.g., or  ) and URN (name, e.g.  , same for DOI, though there are DOI resolving HTTP).
 * URI scheme & Template:URI scheme: top level of URI naming structure. Generic syntax of URIs:, e.g.   means:   - 'scheme' name,
 * File URI scheme: Addressing files on local or network file systems
 * About URI scheme: internal URI scheme in various web browsers to display certain built-in functions; not an officially registered scheme, and has no standard syntax
 * IPv4 and IPv6:
 * Private network: network that uses private IP address space, following the standards set by RFC 1918 and RFC 4193. Used for enterprise LANs, home, office, when globally routable addresses are not mandatory or not available. These addresses are private because they are not globally delegated, meaning they are not allocated to any specific organization, and IP packets addressed by them cannot be transmitted onto the public Internet. For such IP addresses to connect to the Internet, it must use NAT (network address translator) gateway or proxy server.
 * IPv4: 24-bit block: 10.0.0.0 – 10.255.255.255; 20-bit: 172.16.0.0 – 172.31.255.255; 16-bit: 192.168.0.0 – 192.168.255.255
 * IPsec (Internet Protocol Security): protocol suite for securing Internet Protocol (IP) communications by authenticating and encrypting each IP packet of a communication session. IPsec includes protocols for establishing mutual authentication between agents at the beginning of the session and negotiation of cryptographic keys to be used during the session.
 * URL normalization (URL canonicalization): process by which URLs are modified and standardized in a consistent manner, so it is possible to determine if two syntactically different URLs may be equivalent. Search engines (reduce indexing of duplicate pages), web crawlers (to avoid crawling the same resource more than once), web browsers use it (to determine if the page is cached/visited before).


 * Top-level domain & Template:Generic top-level domains
 * Generic top-level domain (gTLD): Original in 1984.10: .com, .edu, .gov, .mil, .org; .net was added with the implementation of the previous. The .com, .net, and .org TLDs, despite their originally specific goals, are now open for use for any purpose. Unrestricted gTLD: .com, .net, .org, and .info. Others: .biz, .name, .pro. New top-level domains: Expansion of gTLDs (2011.06.20), Opposition to gTLD expansion.
 * .xyz (2014.06.02-): In 2015, XYZ.com proposed that ICANN allow it to ban thousands of potential .xyz domain names from registration by global registrants in order to comply with censorship demanded by the People's Republic of China. XYZ.com hopes to become an officially recognised registry in China, which would allow it to directly offer domains to Chinese customers.
 * Sponsored top-level domain (sTLD): .aero, .asia, .cat (Catalan language and culture), .coop (Cooperative associations), .edu, .gov, .int, .jobs, .mil, .mobi, .museum, .post, .tel, .travel, .xxx.
 * Country code top-level domain: The first registered ccTLD were .uk, .us and .il, all registered in 1985. In 1986, .au, .de, .fi, .fr, .jp, .kr, .nl and .se were registered. Historical ccTLDs: .cs (for Czechoslovakia) and .zr (for Zaire); .yu, .su - still accepting registrations. Internationalized ccTLDs: cyrillic, arabic, sout asian, east and southeast Asian, georgian scripts.
 * .рф (xn--p1ai): domain accepts only Cyrillic subdomain applications, and is the first Cyrillic implementation of the Internationalizing Domain Names in Applications (IDNA) system. The domain became operational on 2010.05.13. No direct mapping of subdomains between рф and ru, they are independent domains hosting potentially different resources
 * Sponsored top-level domain: .aero, .asia, .cat, .coop, .edu, .gov, .int, .jobs, .mil, .mobi, .museum, .post, .tel, .travel, .xxx
 * Domain parking & Template:Domain parking: Typosquatting


 * COinS (ContextObjects in Spans): method to embed bibliographic metadata in the HTML code of web pages; allows bibliographic software to publish machine-readable bibliographic items and client reference management software to retrieve bibliographic metadata; metadata can also be sent to an OpenURL resolver (e.g. search for a copy of a book in one's own library).

Data warehouse, enterprise data warehouse

 * Data warehouse (DW, DWH; enterprise data warehouse (EDW)): system used for reporting and data analysis and is considered a core component of business intelligence. DWs are central repositories of integrated data from one or more disparate sources. They store current and historical data in one single place that are used for creating analytical reports for workers throughout the enterprise.


 * Template:Data warehouses
 * Creating a data warehouse:
 * Concepts: Dimensional modeling, OLAP, Star schema, Snowflake schema, Reverse star schema, Aggregate
 * Variants
 * Elements
 * Fact: Fact table, Early-arriving fact, Measure
 * Dimension
 * Filling
 * Using a data warehouse
 * Related


 * Online analytical processing (OLAP): approach to answer multi-dimensional analytical (MDA) queries swiftly in computing. OLAP is part of the broader category of business intelligence, which also encompasses relational databases, report writing and data mining. Typical applications of OLAP include business reporting for sales, marketing, management reporting, business process management (BPM), budgeting and forecasting, financial reporting and similar areas, with new applications emerging, such as agriculture. The term OLAP was created as a slight modification of the traditional database term online transaction processing (OLTP).
 * OLAP cube: multi-dimensional array of data. OLAP is a computer-based technique of analyzing data to look for insights. The term cube here refers to a multi-dimensional dataset, which is also sometimes called a hypercube if the number of dimensions is greater than 3.

Data analysis, data mining

 * Category:Data analysis
 * Category:Data mining
 * Category:Cluster analysis
 * Category:Cluster analysis algorithms
 * Category:Clustering criteria
 * Category:Data brokers
 * Category:Dimension reduction
 * Category:Data collection
 * Category:Data brokers
 * Category:Information management

{q.v. }
 * 
 * User:Kazkaskazkasako/Books/Mathematics


 * Cluster analysis
 * Clustering high-dimensional data R?
 * Correlation clustering R?
 * k-means clustering
 * Principal component analysis R
 * Hierarchical clustering: agglomerative, divisive.
 * Fuzzy clustering r
 * Expectation-maximization algorithm r; maximum likelihood
 * Radon transform R; back projection lines, (common line theorem?)
 * Tomographic reconstruction
 * Algebraic reconstruction technique
 * Projection-slice theorem, aka Fourier slice theorem (aka projection theorem):
 * $$F_mP_m=S_mF_N.\,$$
 * Fm and FN:  m- and N-dimensional Fourier transform operators
 * Pm: m-dimensional projection operator (which projects an N-D function onto a m-D line)
 * Sm: m-dimensional slice of the N-dimensional Fourier transform of a function (consisting of an m-dimensional linear submanifold through the origin in the Fourier space which is parallel to the projection submanifold, produced by Pm)
 * Sinogram: the mathematical term for Radon transform
 * X-ray transform: closely related to the Radon transform, and coincides with it in two dimensions. In higher dimensions, the X-ray transform of a function is defined by integrating over lines rather than over hyperplanes as in the Radon transform.


 * Determining the number of clusters in a data set: quantity often labelled k as in the k-means algorithm, is a frequent problem in data clustering, and is a distinct issue from the process of actually solving the clustering problem. For a certain class of clustering algorithms (in particular k-means, k-medoids and expectation–maximization algorithm ), there is a parameter commonly referred to as k that specifies the number of clusters to detect. Other algorithms such as DBSCAN and OPTICS algorithm do not require the specification of this parameter; hierarchical clustering avoids the problem altogether. The correct choice of k is often ambiguous, with interpretations depending on the shape and scale of the distribution of points in a data set and the desired clustering resolution of the user. In addition, increasing k without penalty will always reduce the amount of error in the resulting clustering, to the extreme case of zero error if each data point is considered its own cluster (i.e., when k equals the number of data points, n). The optimal choice of k will strike a balance between maximum compression of the data using a single cluster, and maximum accuracy by assigning each data point to its own cluster . If an appropriate value of k is not apparent from prior knowledge of the properties of the data set, it must be chosen somehow.
 * The elbow method: Elbow method (clustering): heuristic used in determining the number of clusters in a data set. The method consists of plotting the explained variation as a function of the number of clusters, and picking the elbow of the curve as the number of clusters to use.
 * X-means clustering
 * Information criterion approach: AIC, Bayesian information criterion, Deviance information criterion
 * An information–theoretic approach
 * The silhouette method
 * Cross-validation
 * Analyzing the kernel matrix


 * Silhouette (clustering): method of interpretation and validation of consistency within clusters of data. The technique provides a succinct graphical representation of how well each object has been classified. The silhouette ranges from −1 to +1, where a high value indicates that the object is well matched to its own cluster and poorly matched to neighboring clusters. If most objects have a high value, then the clustering configuration is appropriate. If many points have a low or negative value, then the clustering configuration may have too many or too few clusters.

Big data

 * Category:Big data
 * Category:Big data products


 * Big data: field that treats ways to analyze, systematically extract information from, or otherwise deal with data sets that are too large or complex to be dealt with by traditional data-processing application software. Data with many fields (columns) offer greater statistical power, while data with higher complexity (more attributes or columns) may lead to a higher false discovery rate. Big data analysis challenges include capturing data, data storage, data analysis, search, sharing, transfer, visualization, querying, updating, information privacy, and data source. Big data was originally associated with three key concepts: volume, variety, and velocity. The world's technological per-capita capacity to store information has roughly doubled every 40 months since the 1980s; as of 2012, every day 2.5 exabytes (2.5×2⁶⁰ bytes) of data are generated. Based on an IDC report prediction, the global data volume was predicted to grow exponentially from 4.4 zettabytes to 44 zettabytes between 2013 and 2020. By 2025, IDC predicts there will be 163 zettabytes of data. One question for large enterprises is determining who should own big-data initiatives that affect the entire organization. Definition: Big data vs. business intelligence. Characteristics: Volume, Variety, Velocity, Veracity (data quality), Value, Variability, Exhaustive, Fine-grained and uniquely lexical, Relational, Extensional, Scalability.


 * Apache Spark (Available in	Scala, Java, SQL, Python (PySpark), R, C#, F#; open-source): unified analytics engine for large-scale data processing. Spark provides an interface for programming entire clusters with implicit data parallelism and fault tolerance. Originally developed at the Berkeley's AMPLab, the Spark codebase was later donated to the Apache Software Foundation, which has maintained it since.
 * AMPLab (Algorithms, Machines and People Lab): University of California, Berkeley lab focused on Big data analytics located in Soda Hall. Overview: Spark Core, Spark SQL, Spark Streaming, MLlib Machine Learning Library, GraphX, Language support.

Web page, Internet page

 * Category:Network architecture
 * Category:Network protocols
 * Category:Internet protocols
 * Category:Application layer protocols
 * Category:Hypertext Transfer Protocol

{q.v. }

To program a web (internet) framework/wiki/CMS, one needs knowledge of:
 * Server side:
 * Server set-up: LAMP (Linux environment), WIMP/WISA (Windows, IIS)
 * Data and databases (e.g. MySQL)
 * Programming language in which the framework/wiki/CMS is written (PHP: the language of the web; C/C++; Java; C# (.NET); any other: Python, Ruby, Perl)
 * Client side:
 * Programming language (for interactive web): JavaScript, ...
 * Client software: internet browser, app, ...


 * Template:Rich Internet applications
 * Dynamic web page: e.g. changing news content, user preferences in a login session, user interaction, etc.
 * Dynamic HTML: umbrella term for a collection of technologies used together to create interactive and animated web sites  by using a combination of a static markup language (such as HTML), a client-side scripting language (such as JavaScript), a presentation definition language (such as CSS), and the Document Object Model {see above @ "W3C standards"}.


 * Template:IPstack:
 * Application layer: Session Initiation Protocol (SIP), XMPP
 * Transport layer: TLS/SSL, UDP


 * Hypertext Transfer Protocol (HTTP): application layer protocol in the Internet protocol suite model for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide Web, where hypertext documents include hyperlinks to other resources that the user can easily access, for example by a mouse click or by tapping the screen in a web browser.
 * HTTP/2
 * List of HTTP status codes: issued by a server in response to a client's request made to the server. It includes codes from IETF Request for Comments (RFCs), other specifications, and some additional codes used in some common applications of the HTTP. The first digit of the status code specifies one of five standard classes of responses. The message phrases shown are typical, but any human-readable alternative may be provided.
 * 1xx informational response – the request was received, continuing process
 * 2xx successful – the request was successfully received, understood, and accepted
 * 3xx redirection – further action needs to be taken in order to complete the request
 * 4xx client error – the request contains bad syntax or cannot be fulfilled
 * 5xx server error – the server failed to fulfill an apparently valid request
 * HTTP session. HTTP authentication. Request messages: Request syntax; Request methods: GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH.

Semantic web, open data, knowledge base

 * Category:Open content
 * Category:Access to Knowledge movement
 * Category:Open data
 * Category:OpenStreetMap
 * Category:Metadata registry
 * Category:Semantic Web
 * Category:Semantic wikis

{q.v.: }
 * User:Kazkaskazkasako/Books/All
 * 
 * User:Kazkaskazkasako/Books/All


 * Template:Semantic Web & Semantic Web:
 * Microformat: "adds semantics (meaning) to the web ((X)HTML)
 * HCard: the contact details (which might be no more than the name) of people, companies, organizations, and places
 * Geo (microformat): marks up WGS84 geographical coordinates  in (X)HTML
 * hCalendar: semantic (X)HTML
 * Microformats
 * Operator (extension): Firefox extension; manages microformats
 * Giant Global Graph (GGG): by Tim Berners-Lee in 2007; influenced Open Graph by Facebook
 * FOAF (software) (from an acronym of Friend of a friend): machine-readable ontology describing persons, their activities and their relations to other people and objects; expressed using Resource Description Framework (RDF) and Web Ontology Language (OWL). Not supported by Facebook to export the social network data.


 * Open data: certain data should be freely available to everyone to use and republish as they wish, without restrictions from copyright, patents or other mechanisms of control; goals of the open data movement are similar to those of other "Open" movements such as open source, open hardware, open content, and open access.
 * Open science data: focused on publishing observations and results of scientific activities available for anyone to analyze and reuse; rise of the Internet has significantly lowered the cost and time required to publish or obtain data. In 2004, the Science Ministers of OECD signed a declaration which essentially states that all publicly funded archive data should be made publicly available 
 * Open access journals
 * Delayed open access journal
 * Hybrid open access journal: NPG (EMBO,...), PNAS, Cambridge, Oxford, IUCr, Elsevier (ScienceDirect)
 * Linked data: describes a method of publishing structured data so that it can be interlinked and become more useful. Linked data extends standard Web technologies (such as HTTP, RDF and URIs) to share information in a way that can be read automatically by computers. This enables data from different sources to be connected and queried.


 * Semantic Wiki:
 * Semantic MediaWiki: extension to MediaWiki that allows for annotating semantic data within wiki pages, thus turning a wiki that incorporates the extension into a semantic wiki; {q.v. User:Kazkaskazkasako/Books/Wikipedia}.
 * Freebase (2007.03.03-2016.05.02; succeeded by Wikidata): large collaborative knowledge base consisting of metadata composed mainly by its community members. Harvested data from Wikipedia. Freebase aims to create a global resource which allows people and machines to access common information more effectively. Bought by Google in 2010.07.16. In 2014.12.16, Knowledge Graph announced that it would shut down Freebase over the succeeding six months and help with the move of the data from Freebase to Wikidata. On 16 December 2015, Google officially announced the Knowledge Graph API, which is meant to be a replacement to the Freebase API that is planned to shut down in early 2016.
 * Powerset (company): was developing a natural language search engine for the Internet in 2006. In 2008 05 11, unveiled a tool for searching a fixed subset of Wikipedia using conversational phrases rather than keywords. Microsoft bought Powerset in 2008 07 01 ⇒ Bing.
 * Factual
 * DBpedia: project aiming to extract structured content from the information created as part of the Wikipedia project


 * YAGO (database): knowledge base developed at the Max Planck Institute for Computer Science in Saarbrücken; automatically extracted from Wikipedia and other sources.
 * DBLP: computer science bibliography website hosted at Universität Trier, in Germany
 * WordNet: lexical database for the English language ; groups English words into sets of synonyms called synsets, provides short, general definitions, and records the various semantic relations between these synonym sets. The purpose is twofold: to produce a combination of dictionary and thesaurus that is more intuitively usable, and to support automatic text analysis and artificial intelligence applications.
 * GeoNames: geographical database available and accessible through various web services, under a Creative Commons attribution license.


 * Schema.org: initiative launched 2011.06.02 by Bing, Google and Yahoo! to “create and support a common set of schemas for structured data markup on web pages; Yandex joined 11.01; propose using their ontology and Microdata in HTML5 to mark up website content with metadata about itself. Such markup can be recognized by search engine spiders and other parsers, thus gaining access to the meaning of the sites.


 * Semantic desktop: desktop search; data is more easily shared between different applications or tasks and so that data that once could not be automatically processed by a computer could be


 * Initiative for Open Citations (I4OC): project launched publicly in 2017.04, that describes itself as: "a collaboration between scholarly publishers, researchers, and other interested parties to promote the unrestricted availability of scholarly citation data and to make these data available". It is intended to facilitate improved citation analysis. Rejection by Elsevier.

Web mapping, satellite navigation

 * Category:Web mapping
 * Category:OpenStreetMap
 * Category:Collaborative mapping
 * Category:OpenStreetMap
 * Category:Satellite navigation

{q.v. User:Kazkaskazkasako/Books/Physical sciences}


 * Web mapping: process of using the maps delivered by GIS in WWW. A web map on the World Wide Web is both served and consumed, thus web mapping is more than just web cartography, it is a service by which consumers may choose what the map will show. Web GIS emphasizes geodata processing aspects more involved with design aspects such as data acquisition and server software architecture such as data storage and algorithms, than it does the end-user reports themselves. The terms web GIS and web mapping remain somewhat synonymous. Web GIS uses web maps, and end users who are web mapping are gaining analytical capabilities. The term location-based services refers to web mapping consumer goods and services . Types: Analytical web maps, Animated and realtime, Collaborative web maps Google Map Maker, OpenStreetMap, WikiMapia), Online atlases, Static web maps). Evolving paper cartography. History: NASA World Wind (2003), OpenStreetMap (2004), Google Maps (2005), Google Earth (2005).
 * Tiled web map (tile map; in OpenStreetMap terminology: slippy map): map displayed in a web browser by seamlessly joining dozens of individually requested image or vector data files. It is the most popular way to display and navigate maps, replacing other methods such as Web Map Service (WMS) which typically display a single large image, with arrow buttons to navigate to nearby areas. Google Maps was one of the first major mapping sites to use this technique. The first tiled web maps used raster tiles, before the emergence of vector tiles.


 * Participatory GIS (PGIS; 2005.09-)
 * Collaborative mapping: aggregation of web maps and user-generated content, from a group of individuals or entities, and can take several distinct forms; map itself is created collaboratively by sharing a common surface. Both OpenStreetMap and WikiMapia allow for the creation of single 'points of interest', as well as linear features and areas. Collaborative maps must deal with the difficult issue of cluttering, due to the geometric constraints inherent in the media; one approach to this problem is using overlays - group together items on a map, allowing the user of the map to toggle the overlay's visibility and thus all items contained in the overlay
 * Google Earth: computer program that renders a 3D representation of Earth based primarily on satellite imagery. The program maps the Earth by superimposing satellite images, aerial photography, and GIS data onto a 3D globe, allowing users to see cities and landscapes from various angles. Users can explore the globe by entering addresses and coordinates, or by using a keyboard or mouse. The program can also be downloaded on a smartphone or tablet, using a touch screen or stylus to navigate. Users may use the program to add their own data using Keyhole Markup Language and upload them through various sources, such as forums or blogs.
 * Keyhole Markup Language (KML): XML notation for expressing geographic annotation and visualization within two-dimensional maps and three-dimensional Earth browsers. KML was developed for use with Google Earth, which was originally named Keyhole Earth Viewer. It was created by Keyhole, Inc, which was acquired by Google in 2004. KML became an international standard of the Open Geospatial Consortium in 2008.
 * OpenStreetMap (OSM; license: ODbL): collaborative project to create a free editable map of the world; two major driving forces behind the establishment and growth: restrictions on use or availability of map information across much of the world, the advent of inexpensive portable satellite navigation devices
 * OpenStreetMap Foundation: company limited by guarantee, registered in England and Wales on 2006.08.22
 * OpenSeaMap: software project collecting freely usable nautical information and geospatial data to create a worldwide nautical chart.
 * WikiMapia (Wikimapia; lincense: CC-BY-SA): open-content collaborative mapping project that aims to mark and describe all geographical objects in the world; combines an interactive web map with a geographically-referenced wiki system. Wikimapia website provides Google Maps API-based interactive web map that consists of user-generated information layer on top of Google Maps satellite imagery and other resources.
 * Google Map Maker (Google map maker; 2008.06-): designed to expand the breadth of the service currently offered by Google Maps; in some countries mapping data is unavailable, and so to fill this void Google has decided to open up Google Maps to a collaborative community effort in certain territories; ultimate goal of the project is to acquire sufficient high-quality mapping data to be published and used on the existing Google Maps service.


 * Comparison of web map services: Google Maps, Bing Maps, MapQuest, OpenStreetMap, Here WeGo, Apple Maps, Yandex Maps
 * Comparison of satellite navigation software: OpenStreetMap, Here Maps, TomTom, Nokia / Navteq, Waze, Yandex.Map editor, Zenrin (Japanese), AutoNavi (Chinese), Tele Atlas (Netherlands), Swisstopo (Swiss), IGN (French). Google Maps.
 * Maps.me: mobile app for Android, iOS and BlackBerry that provides offline maps using OpenStreetMap data.

Web applications (web application frameworks)

 * Category:Web software
 * Category:Web applications
 * Category:Web frameworks
 * Category:Web development
 * Category:Web application frameworks

Template:Application frameworks, aka WAFs [2013]:
 * ASP.NET (MS) also has ASP.NET Dynamic Data (Ruby on Rails inspired) and ASP.NET AJAX; previously it was Active Server Pages, aka ASP (now called Classic ASP or ASP Classic) {8}:
 * ASP.NET MVC Framework
 * ColdFusion (Adobe) {7}
 * Common Lisp {3}
 * C++ {2}
 * Java {24}
 * Javascript {13}
 * Perl {6}
 * PHP {21}:
 * MODX & CMS
 * TYPO3
 * Python {15}:
 * Django (web framework) & Django-cms
 * Pylons (web framework)
 * Flask (web framework): micro web framework written in Python. It is classified as a microframework because it does not require particular tools or libraries. It has no database abstraction layer, form validation, or any other components where pre-existing third-party libraries provide common functions. Components: Werkzeug, Jinja, MarkupSafe, ItsDangerous.
 * CherryPy
 * Zope: Python killer app.
 * Plone (software): Py
 * MoinMoin (CMS, Wiki)
 * Ruby {6}:
 * Ruby on rails. History: Basecamp (software)
 * Scala {4}
 * Smalltalk {2}


 * Solution stack: set of software subsystems or components needed to create a complete platform such that no additional software is needed to support applications. Applications are said to "run on" or "run on top of" the resulting platform. A full-stack developer is expected to be able to work in all the layers of the stack.
 * LAMP (Linux + Apache + DB (MySQL, MariaDB) + language (PHP, Python, Perl))
 * WISA (Windows Server + IIS + SQL Server + ASP.NET {many programming languages}) or WIMP (SQL Server → MySQL, ASP.NET → PHP)
 * MEAN (MongoDB + Express.js (application controller layer) + AngularJS/Angular (web application presentation) + Node.js (JavaScript runtime))
 * others: LYME (LYCE), GLASS, MAMP, LEAP, OpenACS.

Content management

 * Category:Content management systems
 * Category:Blog software
 * Category:Collaborative software
 * Category:Wiki software
 * Category:Document management systems
 * Category:Revision control systems
 * Category:Wiki software
 * Category:Portal software


 * Software framework & Application server
 * Multimedia framework
 * Application framework
 * Web application framework (WAF): software framework that is designed to support the development of dynamic websites, web applications, web services and web resources; aims to alleviate the overhead associated with common activities performed in web development; ibraries for database access, templating frameworks and session management, and they often promote code reuse. Types of framework architectures: MVC, Push-based vs. pull-based, Three-tier organization. Features: Web template system, Caching, Security, Database access, mapping and configuration, Scaffolding, URL mapping, Ajax, Web services, Web resources.
 * Content management system (CMS): computer program that allows publishing, editing and modifying content as well as maintenance from a central interface; manage workflow in a collaborative environment. Often used to run websites containing blogs, news, and shopping
 * Content management (CM): set of processes and technologies that support the collection, managing, and publishing of information in any form or medium
 * List of content management frameworks: content management framework (CMF) is a system that facilitates the use of reusable components or customized software for managing web content; shares aspects of WAF and CMS.
 * Comparison of web application frameworks: [2013] ASP.NET {6}, C++ {4}, ColdFusion Markup Language (CFML) {8}, Haskell {2}, Java {34}, Javascript {6}, Scala {4}, Perl {6}, PHP {25}, Python {16}, Ruby {6}, etc.


 * List of content management systems
 * Template:Content management systems
 * Enterprise content management (ECM): formalized means of organizing and storing an organization's documents, and other content, that relate to the organization's processes. The term encompasses strategies, methods, and tools used throughout the lifecycle of the content . ECM covers: document management, web content management, search, collaboration, records management, digital asset management, work-flow management, capture and scanning.
 * Web content management system (WCMS): DB (page content, metadata,), content is presented as templates, server side caching (improve performance), administration is done through browser-based interface or fat client. {managing dynamic HTML content (extremely rich media) through the web}


 * Document management system (DMS): computer system (or set of computer programs) used to track and store electronic documents; also capable of keeping track of the different versions modified by different users (history tracking)

Wikis

 * Category:Wiki software

List of wikis: Wikipedia, Wikia, TV Tropes, Wiktionary, Uncyclopedia, LyricWiki, wikiHow, Ciitizendium, Wikibooks
 * List of biological wikis: EcoliWiki, NeuroWiki,
 * List of largest wikis

History of Wikis
 * Hypermedia: computer-based information retrieval system that enables a user to gain or provide access to texts, audio and video recordings, photographs and computer graphics related to a particular subject
 * HyperCard: application program created by Bill Atkinson for Apple Computer, Inc. that was among the first successful hypermedia systems before the World Wide Web; 1987. Ideological precursor to PowerPoint and the first Wiki (WikiWikiWeb)


 * Online office suite (online productivity suite; Office 2.0,)


 * Template:Wiki software [2013]:
 * .NET {3}
 * SharePoint (ex- Microsoft SharePoint): web-based collaborative platform that integrates natively with Microsoft Office. Launched in 2001, SharePoint is primarily sold as a document management and storage system, but the product is highly configurable and its usage varies substantially among organizations. SharePoint Standard: Sites, Communities, Content, Search, Composites. SharePoint Enterprise. SharePoint Online. Applications: Enterprise content and document management; Intranet and social network; Collaborative software; File hosting service (personal cloud); Custom web applications. Content structure: Pages; Web parts and app parts; Content item, Content Type, Libraries, Lists, and "Apps"; Sites. Configuration and customization: Web-based configuration; SharePoint Designer; Custom development. Server architecture: Farms; Web applications; Site collections; Service applications. Administration, security, compliance: Compliance, standards and integration; Other SharePoint-related Microsoft products (MS Teams)
 * Microsoft SharePoint Workspace (Microsoft Office Groove ): is a discontinued desktop application designed for document collaboration in teams with members who are regularly off-line or who do not share the same network security clearance.
 * Java {5}:
 * Confluence (software): web-based, corporate (lots of security & VPN (Virtual private network) access)
 * Perl {4}
 * PHP {8}:
 * DokuWiki
 * MediaWiki
 * Tiki Wiki CMS Groupware (TikiWiki, Tiki)
 * Python {3}
 * MoinMoin
 * Trac
 * Ruby {2}


 * Comparison of wiki software
 * Template:Wiki topics (Wikis)

Personal Wiki

 * Personal wiki
 * Personal knowledge management:
 * DokuWiki

Internet forums, Internet communication, Internet news; Social web, social networking, instant messengers, virtual communities

 * Category:Virtual communities
 * Category:Internet forums
 * Category:Usenet
 * Category:Social networking services
 * Category:Microblogging
 * Category:News media
 * Category:News websites

{q.v. }

{q.v. User:Kazkaskazkasako/Books/All}

Template:Computer-mediated communication


 * Virtual community


 * Collaborative software (groupware): application software designed to help people working on a common task to attain their goals. One of the earliest definitions of groupware is "intentional group processes plus software to support them". As regards available interaction, collaborative software may be divided into: real-time collaborative editing platforms that allow multiple users to engage in live, simultaneous and reversible editing of a single file (usually a document), and version control (also known as revision control and source control) platforms, which allow separate users to make parallel edits to a file, while preserving every saved edit by every user as multiple files (that are variants of the original file).
 * Collaborative real-time editor: allows several people to edit a computer file using different computers. Non-real-time collaborative editing, the users do not edit the same file at the same time (similar to revision control systems). SW: Abiword, GNU Emacs, MS Office 2010 (Sharepoint/SkyDrive); Browser-based: Apache Wave, Google Docs, Mozilla Skywriter (formerly Bespin) ⇒ Ace (from Ajax.org Cloud9 Editor); other: Eclipse, Inkscape, TeamViewer, Microsoft Visual Studio (VS Anywhere plugin), WhiteBoardMeeting (Skype Extra).
 * AppJet > Etherpad > a part of Google wave > Apache Wave (Open source); Etherpad Lite: almost complete rewrite of the original Etherpad software.
 * Google Wave (later known as Apache Wave): was a software framework for real-time collaborative editing online. Originally developed by Google and announced in 2009.05.28, it was renamed to Apache Wave when the project was adopted by the Apache Software Foundation as an incubator project in 2010. Wave is a web-based computing platform and communications protocol designed to merge key features of communications media, such as email, instant messaging, wikis, and social networking. Communications using the system can be synchronous or asynchronous. Software extensions provide contextual spelling and grammar checking, automated language translation and other features.
 * Operational transformation (OT): technology for supporting a range of collaboration functionalities in advanced collaborative software systems. OT was originally invented for consistency maintenance and concurrency control in collaborative editing of plain text documents. Its capabilities have been extended and its applications expanded to include group undo, locking, conflict resolution, operation notification and compression, group-awareness, HTML/XML and tree-structured document editing, collaborative office productivity tools, application-sharing, and collaborative computer-aided media design tools. In 2009 OT was adopted as a core technique behind the collaboration features in Apache Wave and Google Docs.


 * List of collaborative software: Microsoft SharePoint Foundation; Microsoft SharePoint Server; Microsoft SharePoint Workspace; Microsoft Teams.


 * Usenet: worldwide distributed Internet discussion system; users read and post messages (called articles or posts, and collectively termed news) to one or more categories, known as newsgroups; resembles BBS; precursor to Internet forums . Can be superficially regarded as a hybrid between email and web forums. Discussions are threaded, as with web forums and BBSes, though posts are stored on the server sequentially. BBS vs Usenet: Usenet - absence of a central server and dedicated administrator; distributed among a large, constantly changing conglomeration of servers that store and forward messages to one another in so-called news feeds. Eternal September (September that never ended). Archiving of the most useful or whole of Usenet ⇒ Google Groups (Deja News → deja.com (Google bought) 1995.03-2001 + 1981.05-1991.06 (University of Western Ontario with the help of David Wiseman and others, and were originally archived by Henry Spencer at the University of Toronto's Zoology department) + 1991.late-1995.early (Kent Landfield from the NetNews CD series and Jürgen Christoffel from Fraunhofer Society) + 2000.08 (Google)).


 * Social news website: website that features user-posted stories. Such stories are ranked based on popularity, as voted on by other users of the site or by website administrators. Users typically comment online on the news posts and these comments may also be ranked in popularity. Since their emergence with the birth of Web 2.0, social news sites have been used to link many types of information, including news, humor, support, and discussion. All such websites allow the users to submit content and each site differs in how the content is moderated. On the Slashdot and Fark websites, administrators decide which articles are selected for the front page. On Reddit and Digg, the articles that get the most votes from the community of users will make it to the front page.
 * Reddit (reddit): USA social news aggregation, content rating, and discussion website. Registered users (commonly referred to as "Redditors") submit content to the site such as links, text posts, images, and videos, which are then voted up or down by other members. Posts are organized by subject into user-created boards called "communities" or "subreddits". Submissions with more upvotes appear towards the top of their subreddit and, if they receive enough upvotes, ultimately on the site's front page. Reddit administrators moderate the communities. Moderation is also conducted by community-specific moderators, who are not Reddit employees. Site overview: Users and moderators; Subreddits are user-created areas of interest where discussions on Reddit are organized; Other features. Community traditions: April Fools' Day; AMAs ("Ask Me Anything"); RedditGifts; Global Reddit Meetup Day. Mr. Splashy Pants.
 * Controversial Reddit communities
 * Hacker News (HN): is a social news website focusing on computer science and entrepreneurship. It is run by the investment fund and startup incubator Y Combinator. In general, content that can be submitted is defined as "anything that gratifies one's intellectual curiosity."


 * Social networking service: only positive "Notifications on websites", death of privacy (impersonation, trolling). Template:Online social networking (Social network services):
 * Social network analysis software
 * Friendster: the grandaddy of social networks.
 * Facebook {q.v. }
 * Twitter {q.v. }
 * South Korea:
 * Cyworld: social network service operated by SK Communications (Hangul: SK커뮤니케이션즈), a subsidiary of SK Telecom (Hangul: SK텔레콤). Avatars and "mini-rooms", small, decorate-able, apartment-like spaces in an isometric projection, also feature. All of this can make for a The Sims-like experience.
 * Naver: popular search portal in South Korea, which holds a market share of over 70% at least since 2011, continuing to 2013; launched in June 1999 by ex-Samsung employees, and it debuted as the first Web portal in South Korea that used its own proprietary search engine
 * Knowledge Search: information-sharing tool first launched in 2002 for Naver users
 * Google+
 * About.me: personal web hosting service co-founded by Ryan Freitas, Tony Conrad and Tim Young in October 2009; bought by AOL on 2010.12.20, bought back by Conrad on 2013.02.05 for a fraction of original price paid by AOL.


 * Template:Microblogging
 * Microblogging: online broadcast medium that exists as a specific form of blogging. A micro-blog differs from a traditional blog in that its content is typically smaller in both actual and aggregated file size. Micro-blogs "allow users to exchange small elements of content such as short sentences, individual images, or video links", which may be the major reason for their popularity. These small messages are sometimes called micro posts. As with traditional blogging, micro-bloggers post about topics ranging from the simple, such as "what I'm doing right now", to the thematic, such as "sports cars".
 * Comparison of microblogging services:
 * Twitter {q.v. }
 * using open SW:
 * identi.ca: initially based on StatusNet, but from 2012.12 till 2013.07.12 identi.ca switched to Pump.io
 * Jaiku (Google; what's the relation to Google+?)
 * Qaiku.


 * Fediverse (portmanteau of "federation" and "universe"): ensemble of federated (i.e. interconnected) servers that are used for web publishing (i.e. social networking, microblogging, blogging, or websites) and file hosting, but which, while independently hosted, can communicate with each other. On different servers (technically instances), users can create so-called identities. These identities are able to communicate over the boundaries of the instances because the software running on the servers supports one or more communication protocols that follow an open standard. As an identity on the fediverse, users are able to post text and other media, or to follow posts by other identities.




 * VoIP: Comparison of VoIP software (main protocols: proprietary (e.g. Skype, now owned by MS [11/05/25]), SIP, XMPP; server software: Asterisk (PBX) {by Digium} & Inter-Asterisk eXchange {also IAX2})


 * Behance: designs organizational products and services based on research among productive creative people and teams. Behance Network is an online portfolio platform for creative professionals across multiple industries, including photography, graphic design, illustration, and fashion. "Action Method", "The 99%".


 * XMPP, aka Jabber (THE precursor to GWave):
 * Jingle: (P2P) session control (signaling) for multimedia interactions such as in voice over IP (VoIP) or videoconferencing communications
 * Google Wave Federation Protocol (GWFP): near real-time communication between the computer supported cooperative work
 * Apache Wave (originally: Google Wave; Wave in a Box - server-based product): real-time collaborative editing; e-mail (Gmail), instant messaging (MSN/Windows Live, Skype), wiki (history included?), and social networking (Facebook & co). Lacking: word/text editor. 2010.08.04: suspension of stand-alone Wave development; 2012.01: all Waves were deleted. ⇒ Wave in a Box.


 * ResearchGate: social networking site for scientists and researchers to share papers, ask and answer questions, and find collaborators. According to a study by Nature and an article in Times Higher Education, it is the largest academic social network in terms of active users.

Computer/programming code documentation

 * Self-documenting (self-describing): source code that follows certain loosely-defined conventions for naming and structure
 * Literate programming: approach to programming introduced by Donald Knuth as an alternative to the structured programming paradigm of the 1970s. Move away from writing programs in the manner and order imposed by the computer, and instead enables programmers to develop programs in the order demanded by the logic and flow of their thoughts (but if different programmers have different programming logic flow, then they find it hard to read each other's literately programmed programs!)
 * Sweave: enables integration of R code into LaTeX or LyX documents.
 * Pweave: Sweave equivalent for Python; output to a literate environment using either reStructuredText, Sphinx or LaTeX markup; capture matplotlib graphics.


 * Comparison of documentation generators
 * Doxygen
 * Sphinx (documentation generator): uses ReStructuredText.

(Personal) information management

 * Operations research (decision science, management science): interdisciplinary mathematical science that focuses on the effective use of technology by organizations. In contrast, many other science & engineering disciplines focus on technology giving secondary considerations to its use.


 * Data proliferation


 * Personal information manager (PIM) & List of personal information managers: refers to practice and the study of the activities people perform in order to acquire, organize, maintain, retrieve and use information items such as documents (paper-based and digital), web pages and email messages for everyday use to complete tasks (work-related or not) and fulfill a person’s various roles (as parent, employee, friend, member of community, etc.). One ideal of PIM is that we always have the right information in the right place, in the right form , and of sufficient completeness and quality to meet our current need. PIM tools and technologies help us spend less time with time-consuming and error-prone activities of PIM (such as looking for information). We then have more time to make creative, intelligent use of the information at hand in order to get things done, or to simply enjoy the information itself.
 * Address book: standards: vCard, LDAP Data Interchange Format (LDIF; RFC 2849). SW: Thunderbird (LDIF)
 * Calendaring software: standards: iCalendar (RFC 5545; 1:1 with hCalendar). SW: Thunderbird:Lightning, MS Outlook (partial); Google Calendar... Mozilla Calendar Project (obsolete) & Mozilla Sunbird (obsolete; standalone version of Lightning) → Lightning (software) (add-on on Thunderbird)
 * Online diary planner: Yahoo Calendar, Outlook → Google Calendar

HW and SW of information management
Collections of media in: libraries, museums, ...
 * Digital asset management (DAM): ingestion, annotation, cataloging, storage, retrieval and distribution of digital assets
 * Hierarchical storage management (HSM): automatically moves data between high-cost (and fast) and low-cost (and slow) storage media. HSM turns the fast disk drives into caches for the slower mass storage devices. In terms of speed and price: SSD disks (aka flash) > HDD (SAN (Storage Area Network) fiber channel > SATA disks arrays (RAID)) > tape.

Web annotation

 * Social Bookmarking: method for Internet users to organize, store, manage and search for bookmarks of resources online.
 * Web annotation: online annotation associated with a web resource (a web page). With a Web annotation system, a user can add, modify or remove information from a Web resource without modifying the resource itself. The annotations can be thought of as a layer on top of the existing resource, and this annotation layer is usually visible to other users who share the same annotation system. In such cases, the web annotation tool is a type of social software tool:
 * others (proprietary, closed source, online): Diigo, reddit
 * See also: Virtual graffiti

Notetaking

 * Template:Notetaking software & Comparison of notetaking software

Computer file formats

 * Category:Computer file formats
 * Category:Disk images


 * Disk image: computer files containing the contents and structure of a disk volume or an entire data storage device, such as a hard drive, tape drive, floppy disk, optical disc or USB flash drive. A disk image is usually created by creating a sector-by-sector copy of the source medium, thereby perfectly replicating the structure and contents of a storage device independent of the file system. Depending on the disk image format, a disk image may span one or more computer files. Disk images are used heavily for duplication of optical media including DVDs, Blu-ray disks, etc. It is also used to make perfect clones of hard disks.
 * ISO image

Business intelligence, data management companies, analytics companies

 * Category:Data management
 * Category:Business intelligence
 * Category:Analytics
 * Category:Analytics companies
 * Category:Data companies
 * Category:Data brokers


 * Kaggle (subsidiary of Google LLC): online community of data scientists and machine learning practitioners. Kaggle allows users to find and publish data sets, explore and build models in a web-based data-science environment, work with other data scientists and machine learning engineers, and enter competitions to solve data science challenges.
 * FiveThirtyEight (538): USA website that focuses on opinion poll analysis, politics, economics, and sports blogging. The website, which takes its name from the number of electors in the United States electoral college, was founded 2008.03.07, as a polling aggregation website with a blog created by analyst Nate Silver. Since the 2008 election, the site has published articles—typically creating or analyzing statistical information—on a wide variety of topics in current politics and political news.


 * Information broker (data broker): individual or company that specializes in collecting personal data or data about companies, mostly from public records but sometimes sourced privately, and selling or licensing such information to third parties for a variety of uses. Sources, usually Internet-based since the 1990s, may include census and electoral roll records, social networking sites, court reports and purchase histories. Privacy issues and regulation: Calls for regulation in the US, Criticisms, consumer rights and breaches. US brokers and datasets: Acxiom, Experian, Epsilon, CoreLogic, Datalogix, Intelius, PeekYou, Exactis, and Recorded Future. Acxiom claims to have files on 10% of the world's population, with about 1500 pieces of information per consumer (quoted in Senate.gov). In 2017, Cambridge Analytica claimed that it has psychological profiles of 220 million United States citizens, based on 5,000 separate data sets, with another source reporting 230 million. A scandal emerged after it was found that after 270,000 Facebook users consented to sharing their data, data was scraped from about 50 million profiles on the social media platform. This was seen as breach of trust by Facebook.
 * Business information [21/08/25]

Computer standards

 * Category:Computer standards
 * Category:Cloud standards


 * Template:Authentication APIs:
 * Authentication APIs
 * OAuth: open standard for authorization; provides a method for clients to access server resources on behalf of a resource owner (such as a different client or an end-user); complementary to, and therefore distinct from, OpenID. A growing number of social networking services (Klout, Kred, Foursquare...) promote OAuth logins to the dominant social networks (Facebook, Twitter, LinkedIn, G+,...) as the primary authentication method, over "traditional" email confirmation type processes; permissions granted typically permit the authorized application to download the entire social data stream belonging to the user, which is stored for data-mining purposes by the application provider; OAuth is acting as a component in a social engineering type scam where users of the application probably do not realize the extent of the data they are sharing. OAuth 2.0 is the next evolution of the OAuth protocol and is not backwards compatible with OAuth 1.0.
 * OpenID: allows users to be authenticated by certain co-operating sites (known as Relying Parties or RP) using a third party service, eliminating the need for webmasters to provide their own ad hoc systems and allowing users to consolidate their digital identities. Providers include Google, Yahoo!, PayPal, BBC, AOL, LiveJournal, MySpace, IBM, Steam, Sherdog, Orange and VeriSign.
 * Mozilla Persona: decentralized authentication system for the web based on the open BrowserID protocol prototyped by Mozilla.

System software

 * Category:Information technology management
 * Category:System software
 * Category:Firmware
 * Category:System administration
 * Category:Computer configuration
 * Category:Computer systems
 * Category:Embedded systems
 * Category:Real-time computing


 * Environment variable: set of dynamic named values that can affect the way running processes will behave on a computer. Default Values on Microsoft Windows: %APPDATA%, %PATH%, %PROGRAMFILES%, %PROGRAMFILES(X86)%, %TEMP% and %TMP%, %USERPROFILE%, %WINDIR%...


 * Firmware: combination of persistent memory and program code and data stored in it; typical examples of devices containing firmware are embedded systems (such as traffic lights, consumer appliances, and digital watches), computers, computer peripherals, mobile phones, and digital cameras. Firmware is held in non-volatile memory devices such as ROM, EPROM, or flash memory. Firmware such as the program of an embedded system may be the only program that will run on the system and provide all of its functions. Flashing (or flashing firmware) refers to the overwriting of existing firmware or data on ROM modules present in an electronic device with new data. Firmware hacking. Security risks: open source firmware vs closed source.
 * BIOS (Basic Input/Output System; System BIOS, ROM BIOS, PC BIOS): de facto standard defining a firmware interface; BIOS software is built into the PC, and is the first software run by a PC when powered on . Fundamental purposes of the BIOS are to initialize and test the system hardware components, and to load a bootloader or an operating system from a mass memory device. Modern operating systems ignore the abstraction layer provided by the BIOS and access the hardware components directly.


 * Real-time computing (RTC; reactive computing): study of hardware and software systems that are subject to a "real-time constraint", for example operational deadlines from event to system response. Real-time programs must guarantee response within strict time constraints, often referred to as "deadlines". Criteria for real-time computing:
 * Hard – missing a deadline is a total system failure.
 * Firm – infrequent deadline misses are tolerable, but may degrade the system's quality of service. The usefulness of a result is zero after its deadline.
 * Soft – the usefulness of a result degrades after its deadline, thereby degrading the system's quality of service.
 * Real-time operating system (RTOS):
 * Microsoft Windows CE

Main programs
Choosing "main programs, stacks": AlternativeTo

{q.v. }

Operating system (OS)

 * Category:Computer file systems
 * Category:Disk file systems
 * Category:Semantic file systems
 * Category:Operating system technology
 * Category:Concurrency (computer science)
 * Category:Concurrent computing
 * Category:Threads (computing)
 * Category:Threads (computing)

{q.v.: }
 * 
 * 


 * Comparison of operating systems
 * Comparison of operating systems: ls vs dir, cd vs chdir, traceroute vs tracert, ifconfig vs ipconfig...


 * Plan 9 from Bell Labs: distributed OS; based on Unix


 * Comparison of file systems:
 * NTFS: B+ tree; max_len(filename)=255 UTF-16 for Win32 UTF-16 except: U+0000 (NUL) / (slash) \ (backslash) : (colon) * (asterisk) ? (Question mark) " (quote) < (less than) > (greater than) and | (pipe); dates recorded: Creation, modification, POSIX change, access; Date resolution=100 ns; earliest example: Win NT 3.1

X86-64: aka: AMD64, Intel 64 (IA-32e, EM64T), x64, is x86 instruction set fully backwards compatible with 32-bit code. Not to be confused with IA-64 (Itanium)


 * Home directory: file system directory on a multi-user OS containing files for a given user of the system; specifics of the home directory is defined by OS. Windows NT: %UserProfile%; Unixes: $HOME and ~/; Linux: /home/.


 * Device file (device, special file): interface for a device driver that appears in a file system as if it were an ordinary file; allow software to interact with a device driver using standard input/output system calls, which simplifies many tasks and unifies user-space I/O mechanisms

Exotic stuff:
 * WinFS (Windows Future Storage): code name for a cancelled data storage and management system project based on relational databases, developed by Microsoft and first demonstrated in 2003 as an advanced storage subsystem for the Microsoft Windows operating system, designed for persistence and management of structured, semi-structured as well as unstructured data.

Concurrency, parallelization

 * Category:Concurrency (computer science)
 * Category:Concurrent computing
 * Category:Threads (computing)


 * Articles for deletion/List of important publications in concurrent, parallel, and distributed computing (2nd nomination) (List of important publications in concurrent, parallel, and distributed computing): Consensus, synchronization, and mutual exclusion. Foundations of distributed systems.


 * Template:Parallel computing: OpenMP (Open Multi-Processing), MPI (Message Passing Interface); threading: simultaneous multithreading (SMT) vs. temporal multithreading
 * Automatic parallelization
 * {q.v. }


 * Concurrency (computer science): property of systems in which several computations are executing simultaneously, and potentially interacting with each other. The computations may be executing on multiple cores in the same chip, preemptively time-shared threads on the same processor, or executed on physically separated processors.
 * Dining philosophers problem
 * Concurrency control: ensures that correct results for concurrent operations are generated, while getting those results as quickly as possible.
 * Mutual exclusion: refers to the requirement of ensuring that no two concurrent processes are in their critical section at the same time; it is a basic requirement in concurrency control, to prevent race conditions.
 * Race condition: behavior of an electronic or software system where the output is dependent on the sequence or timing of other uncontrollable events.
 * Critical section: piece of code that accesses a shared resource (data structure or device) that must not be concurrently accessed by more than one thread of execution. A critical section will usually terminate in fixed time, and a thread, task, or process will have to wait for a fixed time to enter it (aka bounded waiting). Some synchronization mechanism is required at the entry and exit of the critical section to ensure exclusive use, for example a semaphore.
 * Concurrent computing: form of computing in which several computations are executing during overlapping time periods – concurrently – instead of sequentially (one completing before the next starts). This is a property of a system – this may be an individual program, a computer, or a network – and there is a separate execution point or "thread of control" for each computation ("process"). A concurrent system is one where a computation can make progress without waiting for all other computations to complete – where more than one computation can make progress at "the same time". Examples: HW: CPU (Instruction pipeline CPU makes the instruction cycle concurrent), GPU (Graphics pipeline in GPU); programming: channel, coroutine, (future, promise, delay); OS: (Computer multitasking, including both cooperative multitasking and preemptive multitasking), (time-sharing, which replaced sequential batch processing of jobs with concurrent use of a system), process, thread.
 * Thread (computing): of execution is the smallest sequence of programmed instructions that can be managed independently by a scheduler (typically as part of OS). Multiple threads can exist within the same process and share resources such as memory, while different processes do not share these resources.
 * Readers–writers problem: first and second readers-writers problems are examples of a common computing problem in concurrency. The two problems deal with situations in which many threads must access the same shared memory at one time, some reading and some writing, with the natural constraint that no process may access the share for reading or writing while another process is in the act of writing to it.
 * Readers–writer lock: synchronization primitive that solves one of the readers-writers problems. A readers-writer lock is like a mutex, in that it controls access to a shared resource, allowing concurrent access to multiple threads for reading but restricting access to a single thread for writes (or other changes) to the resource.
 * Lock (computer science): synchronization mechanism for enforcing limits on access to a resource in an environment where there are many threads of execution. A lock is designed to enforce a mutual exclusion concurrency control policy.
 * Parallel computing: form of computation in which many calculations are carried out simultaneously, operating on the principle that large problems can often be divided into smaller ones, which are then solved concurrently ("in parallel").
 * Amdahl's law: is used to find the maximum expected improvement to an overall system when only part of the system is improved. Often used in parallel computing to predict the theoretical maximum speedup using multiple processors. The speedup of a program using multiple processors in parallel computing is limited by the time needed for the sequential fraction of the program.
 * Gustafson's law: is a law in computer science which says that computations involving arbitrarily large data sets can be efficiently parallelized. Gustafson's Law provides a counterpoint to Amdahl's law, which describes a limit on the speed-up that parallelization can provide, given a fixed data set size.
 * Frequency scaling: technique of ramping a processor's frequency so as to achieve performance gains. Frequency ramping was the dominant force in commodity processor performance increases from the mid-1980s until roughly the end of 2004.

Unixes, Linux

 * Category:Unix


 * GNU Core Utilities (coreutils: textutils, shellutils, fileutils):
 * Shred (Unix): used to securely delete files and devices so that they can be recovered only with great difficulty with specialised hardware, if at all. Specifics for SSD/Flash vs. HDD type storage?
 * Comparison of Linux distributions [13/04/20]: Ubuntu & co (11; based on Debian), Red Hat Enterprise Linux {aka RHEL} (5; based on Fedora (RHL)), Debian (46), Arch Linux (2), Fedora (5; superseded/based on RHL), Gentoo (4), Slackware (10; based on Softlanding Linux System), CentOS (2; based on RHEL), SUSE family (SUSE Linux, openSUSE, SUSE Linux Enterprise Server, Novell Open Enterprise Server), Knoppix (6; based on Debian), Mandriva (3; based on RHL). Red Hat Linux {aka RHL; discontinued in 2004, replaced by Fedora} (8)
 * List of Linux distributions: Debian-based {45; total=45+5+15+48=113} (Knoppix-based {5}; Ubuntu-based (Official distributions {15}; Third-party distributions {48})); Gentoo-based {11} [most famous: Chromium OS]; Pacman-based {8} [most famous: Arch Linux]; RPM-based {16; total=16+20+11+4=51} [most famous: Red Hat Linux (Fedora + RHEL) and SUSE Linux] (Fedora-based {20}; RHEL-based {11}; Mandriva Linux-based {4}); Slackware-based {20; total=24} (Slax-based {4}); Others {47} (can not be categorized under the preceding sections).
 * Ubuntu: based on Debian; has LTS version (long-term support: 5 years); used by Wikimedia
 * CentOS: based on RHEL, which is based on Fedora; heavily modified and used by Facebook
 * Arch Linux: the extreme Linux; "do it yourself"
 * Linux (in general): has problems with HW which is not open (e.g. Nvidia newest video cards (but nowadays Nvidia puts some effort to make binary blobs for Ubuntu)) and with binary-blob drivers (SW) written for such HW for Linux. Also DirectX cannot be easily (?) ported to Linux even through Wine, though OpenGL is on Linux. Flash (Adobe) is available on Linux . Over the time, more and more vendors open up their HW specifications or provide their own drivers for Linux .


 * List of Linux distributions endorsed by the Free Software Foundation: meet criteria for a free system distribution, as defined by Free Software Definition.


 * Chromium OS (by Google): designed to work exclusively with web applications; open source development version of Google Chrome OS.
 * Chrome OS: released in 2011.06.15 with Chromebooks from Samsung (Acer in July).
 * Chromebook


 * Filesystem Hierarchy Standard (FHS): defines the directory structure and directory contents in Unix and Unix-like operating systems
 * Unix filesystem: file system is considered a central component of the operating system: / :: root, /bin, /boot, /dev, /etc, /home :: user stuff, /lib, /lib64, /media :: USB sticks and external storage media go there, /mnt, /opt, /proc, /root, /sbin, /srv, /sys, /tmp, /usr (/usr/bin, /usr/include, /usr/lib, /usr/libexec, /usr/local), /var (/var/log, /var/mail, /var/spool, /var/tmp).
 * /boot/: holds files used in booting the operating system. vmlinuz, initrd.img, System.map; LILO; GRUB.


 * Research Unix: term used to refer to versions of the Unix operating system for DEC PDP-7, PDP-11, VAX and Interdata 7/32 and 8/32 computers, developed in the Bell Labs Computing Science Research Center (frequently referred to as Department 1127). AT&T licensed Version 5 to educational institutions, and Version 6 also to commercial sites. Schools paid $200 and others $20,000, discouraging most commercial use, but Version 6 was the most widely used version into the 1980s. Research Unix versions are often referred to by the edition of the manual that describes them, because early versions and the last few were never officially released outside of Bell Labs, and grew organically. So, the first Research Unix would be 1st Edition, and the last 10th Edition.
 * Linux: In 1991, while attending the University of Helsinki, Torvalds became curious about operating systems. Frustrated by the licensing of MINIX, which at the time limited it to educational use only, he began to work on his own operating system kernel, which eventually became the Linux kernel. Torvalds has also stated that if 386BSD had been available at the time, he probably would not have created Linux. Linus Torvalds has stated that if the GNU kernel (GNU Hurd) had been available at the time (1991), he would not have decided to write his own. Torvalds initiated a switch from his original license, which prohibited commercial redistribution, to the GNU GPL. Developers worked to integrate GNU components with the Linux kernel, making a fully functional and free operating system. Today, Linux systems are used throughout computing, from embedded systems to virtually all supercomputers, and have secured a place in server installations such as the popular LAMP application stack . Linux's greatest success in the consumer market is perhaps the mobile device market, with Android being one of the most dominant operating systems on smartphones and very popular on tablets and, more recently, on wearables . Linux gaming is also on the rise with Valve showing its support for Linux and rolling out its own gaming oriented Linux distribution.
 * Unix philosophy: originated by Ken Thompson, a set of cultural norms and philosophical approaches to minimalist, modular software development. Eric Raymond’s 17 Unix Rules: summarizes the Unix philosophy as KISS Principle of Keep it Simple, Stupid: Rules of:
 * Rule of Modularity
 * Rule of Clarity
 * Rule of Composition (developers should write programs that can communicate easily with other programs)
 * Rule of Separation
 * Rule of Simplicity
 * Rule of Parsimony (developers should avoid writing big programs)
 * Rule of Transparency
 * Rule of Robustness
 * Rule of Representation
 * Rule of Least Surprise
 * Rule of Silence (developers should design programs so that they do not print unnecessary output)
 * Rule of Repair ("fail noisily")
 * Rule of Economy (developers should value developer time over machine time
 * Rule of because machine cycles today are relatively inexpensive compared to prices in the 1970s)
 * Rule of Generation (developers should avoid writing code by hand and instead write abstract high-level programs that generate code. This rule aims to reduce human errors and save time)
 * Rule of Optimization (developers should prototype software before polishing it)
 * Rule of Diversity
 * Rule of Extensibility.


 * Standard streams: interconnected input and output communication channels between a computer program and its environment when it begins execution. The three input/output (I/O) connections are called standard input (stdin), standard output (stdout) and standard error (stderr). Originally I/O happened via a physically connected system console (input via keyboard, output via monitor), but standard streams abstract this. When a command is executed via an interactive shell, the streams are typically connected to the text terminal on which the shell is running, but can be changed with redirection or a pipeline. More generally, a child process will inherit the standard streams of its parent process.
 * Pipeline (Unix): sequence of processes chained together by their standard streams, so that stdout feeds directly as stdin to the next one. Standard shell syntax for pipelines is to list multiple commands, separated by vertical bars ("pipes" in common Unix verbiage). Each " | " tells the shell to connect the standard output of the command on the left to the standard input of the command on the right by an inter-process communication mechanism called an (anonymous) pipe, implemented in the operating system. Pipes are unidirectional; data flows through the pipeline from left to right.
 * Anonymous pipe: simplex FIFO communication channel that may be used for one-way interprocess communication (IPC). An implementation is often integrated into the operating system's file IO subsystem. Typically a parent program opens anonymous pipes, and creates a new process that inherits the other ends of the pipes, or creates several new processes and arranges them in a pipeline.

Linux usage in army, armed forces

 * Astra Linux: Russian Linux-based computer operating system developed to meet the needs of the Russian army, other armed forces and intelligence agencies. It provides data protection up to the level of "top secret" in Russian classified information grade. It has been officially certified by Russian Defense Ministry, Federal Service for Technical and Export Control and Federal Security Service.


 * Ubuntu Kylin (优麒麟; pinyin: Yōu Qílín): official Chinese version of the Ubuntu computer operating system. It is intended for desktop and laptop computers, and has been described as a "loose continuation of the Chinese Kylin OS". In 2013, Canonical Ltd. reached an agreement with the Ministry of Industry and Information Technology of PRC to co-create and release an Ubuntu-based operating system with features targeted at the Chinese market.
 * Red Flag Linux: Linux distribution developed by Red Flag Software. The distribution logo is Tux carrying a prominent red flag.

Internet browser

 * Browser wars: The "First Browser War" during the late 1990s pitted Microsoft's Internet Explorer against Netscape's Navigator. Browser wars continued with the decline of Internet Explorer's market share and the popularity of other browsers including Firefox, Google Chrome, Safari, and Opera. HTML5 beginnings, Presto rendering engine deprecation and Chrome's dominance [2019 Q1].


 * Template:Web browser engines (aka layout engines): browser layout engines; browsers are the main applications nowadays; everything can be embedded into the browser, everything can be done through the browser; browsers are small windows into Internet(=databases, slowly becoming the sum of human knowledge, the edge of technology, law, ethics, philosophy, sciences, mathematics, ...)
 * Firefox: Gecko
 * Google Chrome: WebKit until version 27, version 28 and beyond uses Blink (except iOS: still uses WebKit)
 * WebKit: layout engine software component for rendering web pages in web browsers. It powers Apple's Safari web browser and was previously used in Google's Chrome web browser. WebKit's HTML and JavaScript code was originally a fork of the KHTML and KJS libraries from KDE, and has now been further developed by individuals from KDE, Apple, Google, Nokia, Bitstream, BlackBerry, Igalia, and others. In 2013.04.3, Google announced that it had forked WebCore, a component of WebKit to be used in future versions of Google Chrome and Opera under the name Blink.
 * Blink (layout engine): web browser engine developed as part of the Chromium project by Google with contributions from Opera Software ASA, Intel, Samsung and others; used in Chrome starting at version 28, Opera (15+), Amazon Silk and other Chromium based browsers as well as Android's (4.4+) WebView and Qt's upcoming WebEngine.


 * Browser extension: plug-in that extends the functionality of a web browser in some way. Some extensions are authored using web technologies such as HTML, JavaScript, and CSS. Browser extensions can change the user interface of the web browser without directly affecting viewable content of a web page.
 * List of Internet Explorer add-ons (List of Internet Explorer extensions)
 * List of Firefox extensions
 * Google Chrome extension

{q.v. Ad blocking, adblock}


 * Internet Explorer
 * Internet Explorer 8: Performance and stability: "runs the browser frame and tabs in separate processes"


 * Google Chrome: Security: process-allocation model to sandbox tabs; Using the principle of least privilege, each tab process cannot interact with critical memory functions (e.g. OS memory, user files) or other tab processes — similar to Microsoft's "Protected Mode" used by Internet Explorer 9 or greater. Stability: "multi-process architecture" ("per-tab processes"); This strategy exacts a fixed per-process cost up front, but results in less memory bloat over time as fragmentation is confined to each instance and no longer needs further memory allocations. This architecture was adopted in Safari and Firefox.
 * Google Native Client, aka NaCl: sandboxing technology for running a subset of Intel x86 native code using software-based fault isolation on a web browser safely.


 * Brave (web browser): open source web browser based on the Chromium web browser and its Blink engine, announced by the co-founder of the Mozilla Project, Brendan Eich. It aims to block website trackers and remove intrusive internet advertisements, replacing them with ads sold by Eich's company.


 * Vivaldi (web browser): freeware web browser developed by Vivaldi Technologies, a company founded by Opera Software co-founder and former CEO Jon Stephenson von Tetzchner and Tatsuki Tomita. The browser is aimed at staunch technologists, heavy Internet users, and previous Opera web browser users disgruntled by Opera's transition from the Presto layout engine to the Blink layout engine, which removed many popular features in the process. Vivaldi aims to revive the old, popular features of Opera 12 and introduce new, more innovative ones.


 * Local shared object (LSOs; flash cookies): pieces of data that websites which use Adobe Flash may store on a user's computer. Since Firefox 4 flash cookies are equal to HTTP cookies and there is no way to manage these two types of cookies in different ways.
 * Zombie cookie: any HTTP cookie that is recreated after deletion from backups stored outside the web browser's dedicated cookie storage, in a breach of browser security. This makes them very difficult to remove.
 * Evercookie: JavaScript-based application which produces zombie cookies in a web browser that are intentionally difficult to delete. 2010.09.13 Samy Kamkar released v0.4 beta, as open source, a highly persistent cookie he called an Evercookie. Uses many mechanisms to create new cookies (HTTP cookies; Flash cookies; HTTP ETags; Web history; Web cache; Silverlight Isolated Storag; HTML5: Session, Local, Global, DB (via SQLite) Storage...)

Mozilla
Template:Mozilla
 * Mozilla: free software community best known for producing the Firefox web browser (also Thunderbird); uses, develops, spreads and supports Mozilla products and works to advance the goals of the Open Web; supported institutionally by the Mozilla Foundation and its tax-paying subsidiary, the Mozilla Corporation.
 * Project:
 * Web browser:
 * Firefox (Mozilla Firefox): FOSS web browser for Windows, OS X, and Linux, with a mobile version for Android, by the Mozilla Foundation and its subsidiary, the Mozilla Corporation.
 * About:config : see URI
 * History of Firefox: 1.0, 1.5, 2, 3, 3.5, 3.6, (4.0); Rapid release: 5-33 [2014]. Extended Support Release (ESR): 10, 17, 24, 31.
 * Gecko (software): web browser engine used in many applications developed by Mozilla Foundation and the Mozilla Corporation (notably the Firefox web browser including its mobile version and their e-mail client Thunderbird), as well as in many other open source software projects.
 * Firefox for mobile
 * Frameworks:
 * Add-on (Mozilla): installable enhancements to the Mozilla Foundation's projects, and projects based on them.
 * Mozilla Add-ons: official Mozilla Foundation repository for add-ons for Mozilla software, including Mozilla Firefox, Mozilla Thunderbird, SeaMonkey, and Mozilla Sunbird.
 * Organization
 * Community:
 * MozillaZine: unofficial Mozilla website that provides information and support for products like Firefox and Thunderbird; active Mozilla webforum, and a community-driven knowledge base of information about Mozilla products.
 * See also


 * List of Firefox extensions
 * Vimperator: forked from the original Firefox extension version of Conkeror and designed to provide a more efficient user interface for keyboard-fluent users. The design is heavily inspired by the Vim text editor, and the authors try to maintain consistency with it wherever possible.
 * Pentadactyl: forked from the Vimperator and designed to provide a more efficient user interface for keyboard-fluent users. The design is heavily inspired by the Vim text editor, and the authors try to maintain consistency with it wherever possible.
 * Zotero {q.v. User:Kazkaskazkasako/Work}

Text editor, code editor

 * Vim vs Emacs vs Notepad (→ Notepad++, Notepad+ (-1996, ver 1.11))

Family tree:
 * QED (text editor) (1965-1966; "quick editor") → Ed (text editor) (1971)
 * Ex (text editor) (1976; EXtended) → Vi (1976) → Vim (Vi clone; 1991)
 * sed (stream editor) → AWK (1977, 1985-1988) → Perl (1987)


 * Text editor: Brace matching, Code folding (text folding), Autocomplete (IntelliSense), Syntax highlighting, Line number. Less common features: Elastic tabstop.


 * Notepad (software)
 * Notepad++
 * Vim (text editor) (contraction of Vi IMproved; OS: Unix, Linux, Windows NT, MS-DOS, macOS, iOS, Android, Haiku, AmigaOS, MorphOS): free and open-source, screen-based text editor program for Unix. It is an improved clone of Bill Joy's vi. Vim's author, Bram Moolenaar, derived Vim from a port of the Stevie editor for Amiga and released a version to the public in 1991. In 2006, it was voted the most popular editor amongst Linux Journal readers; in 2015 the Stack Overflow developer survey found it to be 3rd most popular text editor, and in 2019 5th most popular development environment.
 * Vim script (Vimscript, VimL): scripting language built into Vim. Based on the ex editor language of the original vi editor, early versions of Vim added commands for control flow and function definitions. Since version 7, Vim script also supports more advanced data types such as lists and dictionaries and (a simple form of) object-oriented programming. Built-in functions such as map and filter allow a basic form of functional programming, and Vim script has lambda since version 8.0. Vim script is mostly written in an imperative programming style.
 * Neovim: fork of Vim that strives to improve the extensibility and maintainability of Vim. Some features of the fork include built-in Language Server Protocol support, support for asynchronous I/O, and support for Lua scripting using luaJIT language interpreter. Neovim has the same configuration syntax as Vim (unless vim9script is used); thus the same configuration file can be used with both editors, although there are minor differences in details of options. The Neovim project was started in 2014, with some Vim community members offering early support of the high-level refactoring effort to provide better scripting, plugins, and integration with modern GUIs. The project is free software and its source code is available on GitHub.
 * Emacs


 * CodeMirror: JavaScript component that provides a code editor in the browser. It has a rich programming API and a focus on extensibility. Projects using CodeMirror: Google Chrome DevTools, Jupyter Notebook, Mozilla Firefox web console, uBlock Origin

Utility software

 * Category:Utility software
 * Category:File comparison tools
 * Category:Utility software by type
 * Category:Data differencing


 * File comparison: examples: diff, cmp, FileMerge, WinMerge, Beyond Compare, and Microsoft File Compare.
 * Comparison of file comparison tools: the most important features to be compared: Show in-line changes, Directory comparison, Binary comparison, Moved lines, 3-way comparison, Merge, Structured comparison; the best according to these criteria are:
 * WinMerge (GPL; OS: Win)
 * Meld (software) (GPL; OS: Unix-like): they kinda have Win installation, because it only depends on Python and PyGTK, but...
 * WinDiff (by MS)
 * ExamDiff Pro (proprietary; OS: Win)


 * Diffuse (GPL; in Python)

Software distribution, package management system, installation software

 * Category:Utility software by type
 * Category:Installation software
 * Category:Package management systems
 * Category:Software distribution
 * Category:Package management systems


 * Template:Package management systems:
 * Compiled:
 * Windows
 * macOS
 * Linux / Unix-like: dpkg, RPM, tarball, (Nix, Guix), Other
 * Solaris / illumos
 * z/OS; Embedded OS
 * Mobile OS
 * Gaming console
 * Multi-platform
 * Web browsers
 * Uncompiled:
 * Linux
 * macOS
 * BSD
 * C++
 * Java
 * Python: PyPI, pip, easyinstall, PyPM, Anaconda, Enthought Canopy
 * JavaScript
 * .NET
 * Perl
 * Ruby
 * PHP

Computer security software; Privacy software

 * Category:Utility software by type
 * Category:Computer security software
 * Category:Security testing tools
 * Category:Privacy software
 * Category:Computer security

{q.v.: }
 * 
 * User:Kazkaskazkasako/Books/All


 * Tails (operating system) (The Amnesic Incognito Live System): security-focused Debian-based aimed at preserving privacy and anonymity; next iteration of development on the previous Gentoo-based Incognito Linux distribution. All its outgoing connections are forced to go through Tor, and direct (non-anonymous) connections are blocked. The Tor Project has provided most of the financial support for development.


 * Pretty Good Privacy (PGP; 1991-): data encryption and decryption computer program that provides cryptographic privacy and authentication for data communication
 * GNU Privacy Guard: alternative to the PGP suite of cryptographic software.
 * Off-the-Record Messaging (OTR): cryptographic protocol that provides strong encryption for instant messaging conversations; uses a combination of the AES symmetric-key algorithm, the Diffie–Hellman key exchange, and the SHA-1 hash function.


 * Timeline of computer security hacker history: covers some important events in the history of hacking and cracking.
 * Office of Personnel Management data breach (2015.06): USA Office of Personnel Management (OPM) announced that it had been the target of a data breach targeting the records of as many as 4 mln. people. Later, FBI Director James Comey put the number at 18 million. The data breach, which had started in 2014.03, and may have started earlier, was noticed by the OPM in 2015.04. It has been described by federal officials as among the largest breaches of government data in the history of the United States.
 * Bangladesh Bank robbery (2016.02): when instructions to steal US$951 million from Bangladesh Bank, the central bank of Bangladesh, were issued via the SWIFT network.

Media players

 * Comparison of media players: whole list
 * Comparison of video player software ("video players" are defined as any media player which can play video, even if it can also play audio files.)
 * Comparison of audio player software ("audio players" are defined as any media player which can only play audio files)
 * Comparison of portable media players
 * List of codecs
 * Comparison of container formats

Video

 * VLC media player
 * VideoLAN
 * MPlayer
 * Media Player Classic


 * Codecs:
 * Libavcodec
 * FFmpeg
 * K-Lite Codec Pack


 * Content accessing:
 * Libdvdcss
 * DeCSS

Audio

 * Winamp: full (?) support of ID3 even for non-MP3 files
 * Songbird: not full support of ID3; uses Taglib metadata handler


 * Tag editor
 * Audio tag formats: ID3 (only for MP3s; ID3v1; ID3v2: Unicode support), Vorbis comment (only in Vorbis, FLAC, Theora, Speex), APE tag (APEv1; APEv2: Unicode)

Media editors

 * 4D editing (sound, video, 2D, 3D, vector, raster) {q.v. }
 * Blender
 * 2D editing
 * raster:
 * GIMP (GEGL beta)
 * vector:
 * Ai (Adobe Illustrator)
 * Inkscape (SVG)
 * raster+vector: Photoshop


 * Image organizer:
 * Digikam : "Be carreful digiKam is not as stable under windows as under linux because of some bugs in the underlying KDE libs" {11/03/09}

Computer mediated communication
{q.v. }


 * Category:Computer-mediated communication
 * Category:Bulletin board systems
 * Category:Email
 * Category:Instant messaging
 * Category:Internet forums
 * Category:Usenet
 * Category:Online chat
 * Category:Social networking services
 * Category:Voice over IP


 * Computer-mediated communication (CMC): any communicative transaction that occurs through the use of two or more electronic devices; research on CMC focuses largely on the social effects of different computer-supported communication technologies. Synchronous, asynchronous. IMs, VoIP, Email.


 * Telegram (software): freeware, cross-platform, cloud-based instant messaging (IM) service. The service also provides end-to-end encrypted video calling, VoIP, file sharing and several other features. It was launched for iOS in 2013.08.14 and Android in 2013.10. The servers of Telegram are distributed worldwide to decrease frequent data load with five data centers in different regions, while the operational center is based in Dubai in UAE. Various client apps are available for desktop and mobile platforms including official apps for Android, iOS, Windows, macOS and Linux (although registration requires an iOS or Android device and a working phone number). There are also two official Telegram web twin apps, WebK and WebZ, and numerous unofficial clients that make use of Telegram's protocol. All of Telegram's official components are open source, with the exception of the server which is closed-sourced and proprietary. 2022.03.21 Telegram share had jumped to 63%. It has overtaken WhatsApp reduced share of 32%, to become Russia's most popular messaging tool.
 * Nikolai Durov (1980.11.21-): Russian programmer and mathematician. He is the elder brother of Pavel Durov, with whom he founded the social networking site VK and later Telegram.
 * Pavel Durov: Russian entrepreneur who is best known for being the founder of the social networking site VK and later of Telegram Messenger. He is the younger brother of Nikolai Durov. Since being dismissed as CEO of VK in 2014, the Durov brothers have travelled the world in self-imposed exile as citizens of Saint Kitts and Nevis. In 2017, Pavel joined WEF Young Global Leaders as a representative of Finland.
 * Blocking Telegram in Russia: technical process of this restriction began on April 16, 2018. The blocking led to interruptions in the operation of many third-party services, but practically did not affect the availability of Telegram in Russia. It was officially unblocked in 2020.06.19.

Internet forums, Internet communication, Internet news
{q.v. }

File sharing, Software cracking, Warez, Software piracy

 * Category:File sharing
 * Category:Copyright infringement of software
 * Category:Warez
 * Category:Peer-to-peer file sharing P2P
 * Category:Software cracking
 * Category:Warez
 * Category:Internet hosting
 * Category:File hosting


 * File hosting service (cloud storage service, online file storage provider, cyberlocker): Internet hosting service specifically designed to host user files. It allows users to upload files that could then be accessed over the internet from a different computer, tablet, smart phone or other networked device, by the same user or possibly by other users, after a password or other authentication is provided. Typically, the services allow HTTP access, and sometimes FTP access. Personal file storage; File sync and sharing services; Content caching; Use for copyright infringement; Access and integrity security; Data encryption
 * Legal aspects of file sharing: file sharing is often used to exchange intellectual property that is subject to copyright law or licensing.
 * Germany: file sharing is illegal and even one copyrighted file downloaded through BitTorrent can trigger €1000 fines or more. The GEMA also used to block many YouTube videos.
 * Japan: Unlike most other countries, filesharing copyrighted content is not just a civil offense, but a criminal one, with penalties of up to ten years for uploading and penalties of up to two years for downloading. There is also a high level of Internet service provider cooperation. This makes for a situation where file sharing as practiced in many other countries is quite dangerous.
 * Winny: Japanese P2P file-sharing program which claims to be loosely inspired by the design principles behind the Freenet network, which makes user identities untraceable. While Freenet was implemented in Java, Winny was implemented as a Windows C++ application.
 * Winny copyright infringement case: Japanese criminal case in which Isamu Kaneko, the developer of P2P file-sharing program Winny, was indicted for aiding in copyright infringement. This was the first case in which a computer program developer faced a criminal charge for assisting in the copyright infringement of the program's users. In 2006, the Kyoto District Court found Kaneko guilty and fined him ¥1.5 million. On appeal, the Osaka High Court in 2009 overturned the lower court's decision, acquitting Kaneko. Finally, in 2011, the Supreme Court of Japan upheld the acquittal, holding that Kaneko did not intentionally induce infringement and was therefore not responsible for the users' unlawful actions. Isamu Kaneko (金子勇; 1971-2013.07.06 died after suffering a heart attack).
 * Share (P2P): name for a closed-source P2P application being developed in Japan by an anonymous author. Since the author of Winny was arrested, Share was developed as its successor, also focusing on higher security. Share functions in much the same manner as Winny, using encrypted caches, file names and IP addresses, and is based on the same node-organized architecture as Winny.
 * Perfect Dark (P2P): P2P file-sharing application from Japan designed for use with Microsoft Windows. It was launched in 2006. Its author is known by the pseudonym Kaichō (会長?, lit. "The Chairman").
 * North Korea: Because official channels are heavily dominated by government propaganda and outside media is banned, illegally traded files are a unique view into the outside world for North Koreans. The most shared media is from South Korea; k-pop and soap operas.


 * Template:File hosting service
 * RapidShare (2002.05.27-2015.03.31): online file hosting service; was among the Internet's 20 most visited websites and claimed to have 10 PB of files uploaded by users with the ability to handle up to three million users simultaneously. Following the takedown of similar service Megaupload in 2012, RapidShare changed its business model to deter the use of its services for distribution of files to large numbers of anonymous users and to focus on personal subscription-only cloud-based file storage.
 * Megaupload (2005.03.21-2012.01.19): online file hosting service; 2012.01.19, US DoJ seized the domain names and closed down the sites associated with Megaupload after the owners were arrested and indicted for allegedly operating as an organization dedicated to copyright infringement.
 * Mega (service): cloud storage and file hosting service produced by Mega Limited. The New Zealand-based website was launched in 2013.01.19, by Kim Dotcom. Mega most notably advertises its feature that all files are encrypted locally before they are uploaded and 50 GB of storage space are available for free and up to 4 TB for paid accounts.


 * Kim Dotcom (1974.01.21-): German-Finnish Internet entrepreneur, businessman, musician, and political party founder who resides in Auckland, New Zealand; founder of now-defunct file hosting service Megaupload (2005-2012). 2017.02.20 a New Zealand court ruled that Kim, as well as co-accused Mathias Ortmann, Bram van der Kolk and Finn Batato, could be extradited to the US on charges related to Megaupload. Kim and his lawyer will appeal the decision.

Synchronization

 * Category:Data synchronization
 * Category:Free backup software


 * Data synchronization SW:
 * File synchronization:
 * Synkron: cross-platform; Qt based GUI
 * Rsync & Grsync: Unixes (through Cygwin on Win)

Virtualization

 * Category:Provisioning

Template:Virtualization software:
 * Hardware virtualization (hypervisors): Native; Hosted (VirtualBox, VMware Server / Workstation (Playre)); Tools
 * Operating system: OS containers; Applications containers (Docker); Virtual kernel architectures; Related kernel features; Orchestration
 * Desktop virtualization
 * Application virtualization
 * Network virtualization


 * Hardware virtualization: Full virtualization (complete simulation of the underlying hardware.The obvious test of virtualization is whether an operating system intended for stand-alone use can successfully run inside a virtual machine.):


 * Virtual machine (VM): simulation of a machine (abstract or real) that is usually different from the target machine (where it is being simulated on). Virtual machines may be based on specifications of a hypothetical computer or emulate the computer architecture and functions of a real world computer.
 * Comparison of platform virtual machines
 * VirtualBox (Oracle VM VirtualBox): host: Linux, Mac OS X, Windows XP, Windows Vista, Windows 7, Solaris, and OpenSolaris; guest: versions and derivations of Windows, Linux, BSD, OS/2, Solaris, and others; 64-bit guests (64-bit hosts with CPU virtualization extensions). Initially made by Innotek, bought by Sun Microsystems which was bought by Oracle.
 * VMware's virtualization:
 * VMware Player: freeware, but closed source.
 * VMware Workstation: suitable for desktops, the full options which are not available in VMware player


 * Vagrant (software): open-source software product for building and maintaining portable virtual software development environments, e.g. for VirtualBox, Hyper-V, Docker containers, VMware, and AWS. It tries to simplify the software configuration management of virtualization in order to increase development productivity. Vagrant is written in the Ruby language, but its ecosystem supports development in a few other languages. Vagrant sits on top of virtualization software as a wrapper and helps the developer interact easily with the providers. It automates the configuration of virtual environments using Chef or Puppet, and the user does not have to directly use any other virtualization software. Machine and software requirements are written in a file called "Vagrantfile" to execute necessary steps in order to create a development-ready box. "Box" is a format and an extension (.box) for Vagrant environments that is copied to another machine in order to replicate the same environment. The official Vagrant documentation details the installation, command line usage, and relevant configuration of Vagrant.


 * OS-level virtualization: operating system paradigm in which the kernel allows the existence of multiple isolated user space instances. Such instances, called containers (LXC, Solaris containers, Docker), Zones (Solaris containers), virtual private servers (OpenVZ), partitions, virtual environments (VEs), virtual kernels (DragonFly BSD), or jails (FreeBSD jail or chroot jail), may look like real computers from the point of view of programs running in them. A computer program running on an ordinary operating system can see all resources (connected devices, files and folders, network shares, CPU power, quantifiable hardware capabilities) of that computer. However, programs running inside of a container can only see the container's contents and devices assigned to the container.
 * Docker (software): performs operating-system-level virtualization also known as containerization. primarily developed for Linux, where it uses the resource isolation features of the Linux kernel such as cgroups and kernel namespaces, and a union-capable file system such as OverlayFS and others to allow independent "containers" to run within a single Linux instance, avoiding the overhead of starting and maintaining VMs.

Office
{q.v. }

Office software is everything which "common office worker" uses "every day": internet browser, Word (replaceable by desktop publishing SW, TeX & LaTeX for advanced usage), Excel (irreplaceable; only programming), Email program (replaced by browser). There is no single program which does all of this: from document layout/typesetting, presenting to the user (maybe even printing/publishing), to text and media editing. BUT, there are many SW stacks which try very hard to integrate the various media formats into a single document:
 * Microsoft Stack: MS Office + MS Internet Explorer
 * MediaWiki (supports 2D/3D raster/vector graphics, animation, but not interactive; maths, various (ancient and extinct included) scripts (Unicode)), and this SW package outputs HTML/XHTML which are viewable in one of the most advanced, extremely frequently used programs: (web/Internet) browser.
 * TeX and family + some media "viewer": specifically for PDF, HTML and DVI.
 * Adobe Stack: mainly in 2D raster/vector editing + publishing (including PDF format and Adobe Professional)
 * OpenOffice stack: many forks


 * Word processor: NOT desktop publishing, NOT markup language (not useful for 1000+ pages?). Vs. text editor, media editors (audio-visual media: 2D/3D graphics, sound, animation/movies, ...)


 * Comparison of office suites

OpenOffice; Free and open-source office suites

 * Category:OpenOffice


 * StarOffice (1985-2010.12)
 * OpenOffice.org (2002.05.01-2011.04.12; OpenOffice): was an open-source office suite. It was an open-sourced version of the earlier StarOffice, which Sun Microsystems acquired in 1999 for internal use. Sun open-sourced the software in 2000.07 as a competitor to Microsoft Office, releasing version 1.0 on 2002.05.01. In 2011 Oracle Corporation, the then-owner of Sun, announced that it would no longer offer a commercial version of the suite and that it was donating the project to the Apache Foundation. Apache renamed the software Apache OpenOffice. Other active successor projects include LibreOffice and NeoOffice. Component applications: Writer, Calc, Impress, Draw, Math, Base.
 * LibreOffice (2011.01.25-): developed by The Document Foundation. It was forked from OpenOffice.org in 2010, which was an open-sourced version of the earlier StarOffice. Component applications: Writer, Calc, Impress, Draw, Math, Base. Written in: C++, Java, Python. Users and deployments
 * Apache OpenOffice (2012.05.08-): successor project of OpenOffice.org that incorporates code merged from the IBM Lotus Symphony code base. Component applications: Writer, Calc, Impress, Draw, Math, Base. Written in: C++, Java.
 * NeoOffice (Mac OS X 10.8+):


 * KDE: international free software community that develops Free and Open Source based software. Well-known products include the Plasma Desktop, KDE Frameworks and a range of cross-platform applications designed to run on modern Unix-like and Microsoft Windows systems. It further provides tools and documentation for developers that enables them to write software. This supporting role makes KDE a central development hub and home for many popular applications and projects like Calligra Suite, Krita or digiKam.
 * Calligra Suite: a graphic art and office suite by KDE split from KOffice in 2010; uses the OpenDocument format as its default file format for most applications and can import other formats, such as Microsoft Office formats. Words; Sheets; Stage; Kexi; Plan; Braindump; Flow; Karbon; Krita; Author.
 * KOffice: In mid-2010, following disagreements between the core developers, the KOffice community split into two separate communities, KOffice and Calligra. Following arbitration with the community members several applications were renamed by both communities. As of 2014 KOffice was declared unmaintained by KDE.

PDF

 * Template:PDF software: Xpdf
 * Portable Document Format (PDF): represent documents in a manner independent of application software, hardware, and operating systems.
 * Specialized subsets of PDF
 * PDF/X (since 2001): umbrella term for several ISO standards that define a subset of the PDF standard; purpose: to facilitate graphics exchange, and it therefore has a series of printing related requirements which do not apply to standard PDF files (e.g., in PDF/X-1a all fonts need to be embedded and all images need to be CMYK or spot colors. PDF/X-3 accepts calibrated RGB and CIELAB colors, while retaining most of the other restrictions of PDF/X-1a).
 * PDF/A (since 2005): ISO-standardized version of PDF specialized for the digital preservation of electronic documents. PDF/A-1: based on PDF 1.4 (ISO 19005-1:2005); PDF/A-2: based on PDF 1.7 (ISO 19005-2:2011). PDF/A documents must be 100% self-contained (e.g. no font-linking; contains all text, raster and vector graphics, color information; encryption is forbidden).
 * PDF/UA (PDF/Universal Accessibility): International Standard for accessible PDF technology; provides accessibility for people with disabilities who use assistive technology such as screen readers, screen magnifiers, joysticks and other technologies to navigate and read electronic content.
 * PDF/E (since 2008): subset of PDF 1.6 (ISO 24517-1:2008); designed to be an open and neutral exchange format for engineering and technical documentation.
 * PDF/VT (since 2010)
 * PDF/UA (~2011?)
 * Competitors to PDF: Open XML Paper Specification (OpenXPS) {by MS}, DjVu (designed primarily to store scanned documents)

Desktop publishing

 * Category:Typography software
 * Category:Printing software
 * Category:Publishing software
 * Category:Graphics software
 * Category:Desktop publishing software

{q.v.:
 * User:Kazkaskazkasako/Books/All
 * User:Kazkaskazkasako/Books/All

}


 * Desktop publishing (DTP): creation of documents using page layout skills on PC; produce text and images with attractive layouts and typographic quality comparable to traditional typography and printing, so DTP is also the main reference for digital typography. TeX, LaTeX; HTML. math & XML support: do DTP SW packages use MathML or Tex/LaTeX, or other for maths?

Portability of applications, programs

 * Portable application: Depending on the operating system, portability is more or less complex to implement. A portable application does not leave its files or settings on the host computer . Typically this means that the application does not write to the Windows registry or store its configuration files (such as an INI file) in the user's profile; instead, it stores its configuration files in the program's directory.
 * Portable application creators
 * PortableApps.com
 * Firefox Portable (Mozilla Firefox, Portable Edition)

Other
Autohotkey (AHK), FontForge

Software add-ons, extensions, themes
q.v. "Internet browser"


 * Category:Software add-ons


 * Plug-in (computing) (plugin, extension)
 * Browser extension
 * Theme (computing): preset package containing graphical appearance details, used to customize the look and feel of an operating system or a piece of computer software.

Science software, mathematical software, numerical software

 * Category:Science software
 * Category:Mathematical software
 * Category:Numerical software

{q.v. }
 * 
 * 
 * User:Kazkaskazkasako/Books/Physical sciences
 * User:Kazkaskazkasako/Work
 * User:Kazkaskazkasako/Work


 * Basic Linear Algebra Subprograms (BLAS): specification that prescribes a set of low-level routines for performing common linear algebra operations such as vector addition, scalar multiplication, dot products, linear combinations, and matrix multiplication; de facto standard low-level routines for linear algebra libraries; the routines have bindings for both C and Fortran. Although the BLAS specification is general, BLAS implementations are often optimized for speed on a particular machine, so using them can bring substantial performance benefits. BLAS implementations will take advantage of special floating point hardware such as vector registers or SIMD instructions.
 * OpenBLAS: open source implementation of the BLAS API with many hand-crafted optimizations for specific processor types.
 * Math Kernel Library (MKL): library of optimized math routines for science, engineering, and financial applications. Core math functions include BLAS, LAPACK, ScaLAPACK, sparse solvers, fast Fourier transforms, and vector math. The routines in MKL are hand-optimized specifically for Intel processors.


 * Template:Computer algebra systems: Mathematica, MathCad, Maple
 * Maxima (software) {Common Lisp}
 * Symbolic Manipulation Program → Wolfram Mathematica


 * Template:Numerical analysis software: MATLAB
 * GNU Octave {C++}: has been built with MATLAB compatibility in mind, and shares many features with MATLAB


 * Template:Statistical software


 * Python modules (Template:SciPy ecosystem): numerical and scientific: NumPy, SciPy, matplotlib, pandas, scikit-learn, scikit-image, statsmodels, mayaVi, (Jupyter/IPython), ...
 * QtiPlot: interactive scientific graphing and data analysis
 * SciDAVis: interactive scientific graphing and data analysis
 * Veusz: publication-quality plots
 * SymPy: open-source Python library for symbolic computation; provides computer algebra capabilities either as a standalone application, as a library to other applications, or live on the web as SymPy Live or SymPy Gamma. SymPy includes features ranging from basic symbolic arithmetic to calculus, algebra, discrete mathematics and quantum physics. It is capable of formatting the result of the computations as LaTeX code.
 * Statsmodels: allows users to explore data, estimate statistical models, and perform statistical tests. An extensive list of descriptive statistics, statistical tests, plotting functions, and result statistics are available for different types of data and each estimator. It complements SciPy's stats module. Statsmodels is built on top of the numerical libraries NumPy and SciPy, integrates with Pandas for data handling, and uses Patsy for an R-like formula interface. Graphical functions are based on the Matplotlib library.
 * Scikit-learn (sklearn): free software machine learning library for the Python programming language. It features various classification, regression and clustering algorithms including support vector machines, random forests, gradient boosting, k-means and DBSCAN, and is designed to interoperate with the Python numerical and scientific libraries NumPy and SciPy.
 * Scikit-multiflow: free and open source software machine learning library for multi-output/multi-label and stream data written in Python. scikit-multiflow is designed to interoperate with Python's numerical and scientific libraries NumPy and SciPy and is compatible with Jupyter Notebooks.


 * Comparison of statistical packages
 * Comparison of numerical analysis software


 * List of computer algebra systems
 * Computer algebra + numerical analysis SW:
 * SageMath (previously SAGE or Sage): mathematical software with features covering many aspects of mathematics, including algebra, combinatorics, numerical mathematics, number theory, and calculus . OS: on Linux; Mac OS X (Sage is largely developed on OS X 10.6.x); for Windows, one must use virtual machine to run Linux version. Software packages contained in Sage: Sage has everything math-related (and the best one(s) if there is more than one) that Python could have + other packages written in Lisp, C, ...
 * PARI/GP {C}: computer algebra system with the main aim of facilitating number theory computations.


 * Enthought: develops scientific computing tools using primarily the Python programming language. Primarily known for SciPy
 * MayaVi: scientific data visualizer written in Python, which uses VTK and provides a GUI via Tkinter (a competitor to matplotlib).

SW as a service

 * Wikipedia {q.v. User:Kazkaskazkasako/Books/Wikipedia}


 * List of question-and-answer websites
 * Experts-Exchange {Reg. req.=YES}: killed by Stack Overflow & Stack Exchange.
 * Stack Overflow (2008-) {CC-BY-SA 3.0}: created by Jeff Atwood and Joel Spolsky; more open alternative to earlier forums such as Experts Exchange ("anti Experts Exchange site"). Server Fault, Super User, Meta Stack Overflow, Area 51, Careers, Stack Apps followed.
 * Stack Exchange Network {CC-BY-SA 3.0}: group of question-and-answer Web sites on topics in many different fields, each site covering a specific topic, where questions, answers, and users are subject to a reputation award process.
 * Reference desk {CC-BY-SA 3.0}: works like a library reference desk. Note: legal or medical advice is prohibited.
 * Quora (2009-) {Reg. req.=YES}
 * Answers.com (2005-) {Reg. req.=NO}
 * WikiAnswers
 * Ask.com (1996-; Ask Jeeves) {Reg. req.=NO}


 * Discourse (software): open source Internet forum software application founded in 2013 by Jeff Atwood, Robin Ward, and Sam Saffron.

Artificial intelligence (AI), machine learning (ML)

 * Category:Cybernetics
 * Category:Artificial intelligence
 * Category:Applications of artificial intelligence
 * Category:Applied machine learning
 * Category:Expert systems
 * Category:Natural language processing software
 * Category:Chatbots
 * Category:Computer vision
 * Category:Machine learning
 * Category:Applied machine learning
 * Category:Artificial neural networks
 * Category:Neural network architectures
 * Category:Data mining and machine learning software
 * Category:Deep learning
 * Category:Dimension reduction
 * Category:Machine learning algorithms
 * Category:History of artificial intelligence

{q.v. }
 * User:Kazkaskazkasako/Books/All
 * User:Kazkaskazkasako/Work: Cognitive science, cognitive neuroscience
 * User:Kazkaskazkasako/Work: technological singularity, superintelligence; Existential risk from artificial general intelligence
 * User:Kazkaskazkasako/Books/Mathematics: Dimension reduction, Matrix decompositions
 * User:Kazkaskazkasako/Books/Mathematics: Statistical inference; Bayesian inference; Model selection
 * User:Kazkaskazkasako/Books/Physical sciences


 * Existential risk from advanced artificial intelligence: risk that progress in AI could result in an unrecoverable global catastrophe, such as human extinction. The severity of different AI risk scenarios is widely debated, and rests on a number of unresolved questions about future progress in computer science. Around 2015, computer scientist Richard Sutton averaged together some recent polls of artificial intelligence experts and estimated a 25% chance that AGI will arrive before 2030, but a 10% chance that it will never arrive at all.
 * Open Letter on Artificial Intelligence (2015.01): was signed by AI experts calling for research on the societal impacts of AI. The letter affirmed that society can reap great potential benefits from artificial intelligence, but called for concrete research on how to prevent certain potential "pitfalls": artificial intelligence has the potential to eradicate disease and poverty, but researchers must not create something which cannot be controlled. The signatories ask: How can engineers create AI systems that are beneficial to society, and that are robust? For example, a self-driving car may, in an emergency, have to decide between a small risk of a major accident and a large probability of a small accident. Other concerns relate to lethal intelligent autonomous weapons: Should they be banned? If so, how should 'autonomy' be precisely defined? If not, how should culpability for any misuse or malfunction be apportioned? Other issues include privacy concerns as AI becomes increasingly able to interpret large surveillance datasets, and how to best manage the economic impact of jobs displaced by AI. Signatories: Stephen Hawking, Elon Musk, co-founders of DeepMind, Vicarious, Google's director of research Peter Norvig, Stuart J. Russell, other AI experts, robot makers, programmers, and ethicists.


 * Progress in artificial intelligence: Strong super-human: Bridge, Chess, Go, Jigsaw puzzles, Reversi, Scrabble, Quiz show question answering. Super-human: Backgammon, Crosswords, Driving a car (Google driverless cars are safer and smoother when steering themselves than when a human takes the wheel), Arimaa. Par-human: Classification of images.
 * Neats vs. scruffies: labels for two different types of artificial intelligence research. Neats consider that solutions should be elegant, clear and provably correct. Scruffies believe that intelligence is too complicated (or computationally intractable) to be solved with the sorts of homogeneous system such neat requirements usually mandate. Much success in AI came from combining neat and scruffy approaches.
 * Nouvelle AI: approach to artificial intelligence pioneered in the 1980s by Rodney Brooks, who was then part of MIT artificial intelligence laboratory. Nouvelle AI differs from classical AI by aiming to produce robots with intelligence levels similar to insects. Researchers believe that intelligence can emerge organically from simple behaviors as these intelligences interacted with the "real world," instead of using the constructed worlds which symbolic AIs typically needed to have programmed into them.
 * BEAM robotics: style of robotics that primarily uses simple analogue circuits, such as comparators, instead of a microprocessor in order to produce an unusually simple design. While not as flexible as microprocessor based robotics, BEAM robotics can be robust and efficient in performing the task for which it was designed. Robots that use both analog and microprocessor electronics are known as "mutants".


 * Backpropagation (backward propagation of errors): common method of training artificial neural networks used in conjunction with an optimization method such as gradient descent. The method calculates the gradient of a loss function with respect to all the weights in the network. The gradient is fed to the optimization method which in turn uses it to update the weights, in an attempt to minimize the loss function.
 * Loss function: maps an event or values of one or more variables onto a real number intuitively representing some "cost" associated with the event. An optimization problem seeks to minimize a loss function. An objective function is either a loss function or its opposite (in specific domains, variously called a reward function, a profit function, a utility function, a fitness function, etc.), in which case it is to be maximized. Examples: Regret (decision theory), Quadratic loss function (SEL - squared error loss), 0-1 loss function. Scoring rule. Expected loss: Statistics (Frequentist expected loss, Bayesian expected loss, Examples in statistics), Economic choice under uncertainty. Decision rules: Minimax, Invariance, Choose the decision rule with the lowest average loss (i.e. minimize the expected value of the loss function). Selecting a loss function.
 * Feedforward neural network: artificial neural network where connections between the units do not form a cycle.
 * Convolutional neural network: type of feed-forward artificial neural network in which the connectivity pattern between its neurons is inspired by the organization of the animal visual cortex, whose individual neurons are arranged in such a way that they respond to overlapping regions tiling the visual field. Convolutional networks were inspired by biological processes and are variations of multilayer perceptrons designed to use minimal amounts of preprocessing.
 * Recurrent neural network (RNN): class of artificial neural network where connections between units form a directed cycle. This creates an internal state of the network which allows it to exhibit dynamic temporal behavior. Unlike feedforward neural networks, RNNs can use their internal memory to process arbitrary sequences of inputs.
 * Reinforcement learning (RL): area of machine learning inspired by behaviourist psychology, concerned with how software agents ought to take actions in an environment so as to maximize some notion of cumulative reward. The problem, due to its generality, is studied in many other disciplines, such as game theory, control theory, operations research, information theory, simulation-based optimization, multi-agent systems, swarm intelligence, statistics and genetic algorithms. In the operations research and control literature, reinforcement learning is called approximate dynamic programming, or neuro-dynamic programming. The problems of interest in reinforcement learning have also been studied in the theory of optimal control, which is concerned mostly with the existence and characterization of optimal solutions, and algorithms for their exact computation, and less with learning or approximation, particularly in the absence of a mathematical model of the environment. In economics and game theory, reinforcement learning may be used to explain how equilibrium may arise under bounded rationality.
 * Multi-armed bandit: problem in which a fixed limited set of resources must be allocated between competing (alternative) choices in a way that maximizes their expected gain, when each choice's properties are only partially known at the time of allocation, and may become better understood as time passes or by allocating resources to the choice. The crucial tradeoff the gambler faces at each trial is between "exploitation" of the machine that has the highest expected payoff and "exploration" to get more information about the expected payoffs of the other machines. The trade-off between exploration and exploitation is also faced in reinforcement learning. In practice, multi-armed bandits have been used to model problems such as managing research projects in a large organization like a science foundation or a pharmaceutical company. In early versions of the problem, the gambler begins with no initial knowledge about the machines. When the agent's performance is compared to that of an agent that acts optimally, the difference in performance gives rise to the notion of regret. In order to act near optimally, the agent must reason about the long term consequences of its actions (i.e., maximize future income), although the immediate reward associated with this might be negative. Thus, reinforcement learning is particularly well-suited to problems that include a long-term versus short-term reward trade-off. It has been applied successfully to various problems, including robot control, elevator scheduling, telecommunications, backgammon, checkers and go (AlphaGo).


 * Kernel methods: class of algorithms for pattern analysis, whose best known member is SVM. The general task of pattern analysis is to find and study general types of relations (for example clusters, rankings, principal components, correlations, classifications) in datasets. "Kernel trick": compute the inner products between the images of all pairs of data in the feature space, instead of computing the coordinates of the data in that space.
 * Support vector machines (SVMs): supervised learning models with associated learning algorithms that analyze data used for classification and regression analysis. An SVM model is a representation of the examples as points in space, mapped so that the examples of the separate categories are divided by a clear gap that is as wide as possible. New examples are then mapped into that same space and predicted to belong to a category based on which side of the gap they fall on. The clustering algorithm which provides an improvement to the support vector machines is called support vector clustering (SVC) and is highly used in industrial applications either when data is not labeled or when only some data is labeled as a preprocessing for a classification pass.
 * Naive Bayes classifiers: family of simple probabilistic classifiers based on applying Bayes' theorem with strong (naive) independence assumptions between the features. Naive Bayes is not (necessarily) a Bayesian method; Russell and Norvig note that "[naive Bayes] is sometimes called a Bayesian classifier, a somewhat careless usage that has prompted some Bayesians to call it the idiot Bayes model."


 * Conditional random field (CRF): class of statistical modelling method often applied in pattern recognition and machine learning, where they are used for structured prediction. Whereas an ordinary classifier predicts a label for a single sample without regard to "neighboring" samples, a CRF can take context into account; e.g., the linear chain CRF popular in natural language processing predicts sequences of labels for sequences of input samples.


 * Computational learning theory: analysis of computational complexity of machine learning algorithms. It is the intersection of theory of computation and machine learning.


 * Deep learning (deep structured learning, hierarchical learning or deep machine learning): branch of machine learning based on a set of algorithms that attempt to model high-level abstractions in data by using multiple processing layers with complex structures, or otherwise composed of multiple non-linear transformations . Alternatively, deep learning has been characterized as a buzzword, or a rebranding of neural networks.


 * Ensemble learnings: use multiple learning algorithms to obtain better predictive performance than could be obtained from any of the constituent learning algorithms.


 * Vanishing gradient problem: difficulty found in training artificial neural networks with gradient-based learning methods and backpropagation. Sepp Hochreiter's diploma thesis of 1991 formally identified the reason for this failure in the "vanishing gradient problem," which not only affects many-layered feedforward networks, but also recurrent neural networks. When activation functions are used whose derivatives can take on larger values, one risks encountering the related exploding gradient problem. Solutions: Multi-level hierarchy, Long short term memory. Hardware advances have meant that from 1991 to 2015, compute power (especially as delivered by GPUs) has increased around a million-fold, making standard backpropagation feasible for networks several layers deeper than when the vanishing gradient problem was recognized; Schmidhuber notes that this "is basically what is winning many of the image recognition competitions now", but that it "does not really overcome the problem in a fundamental way".


 * Template:Differentiable computing
 * Training, validation, and test sets: ML algorithms function by making data-driven predictions or decisions, through building a mathematical model from input data. These input data used to build the model are usually divided in multiple data sets. In particular, three data sets are commonly used in different stages of the creation of the model: training, validation and test sets. The model is initially fit on a training data set, which is a set of examples used to fit the parameters (e.g. weights of connections between neurons in artificial neural networks) of the model. In practice, the training data set often consists of pairs of an input vector (or scalar) and the corresponding output vector (or scalar), where the answer key is commonly denoted as the target (or label). Successively, the fitted model is used to predict the responses for the observations in a second data set called the validation data set. The validation data set provides an unbiased evaluation of a model fit on the training data set while tuning the model's hyperparameters (e.g. the number of hidden units—layers and layer widths—in a neural network). Finally, the test data set is a data set used to provide an unbiased evaluation of a final model fit on the training data set. If the data in the test data set has never been used in training (for example in cross-validation), the test data set is also called a holdout data set. The term "validation set" is sometimes used instead of "test set" in some literature (e.g., if the original data set was partitioned into only two subsets, the test set might be referred to as the validation set). Confusion in terminology : test set vs validation set.
 * Stochastic gradient descent (SGD): iterative method for optimizing an objective function with suitable smoothness properties (e.g. differentiable or subdifferentiable). It can be regarded as a stochastic approximation of gradient descent optimization, since it replaces the actual gradient (calculated from the entire data set) by an estimate thereof (calculated from a randomly selected subset of the data). Especially in high-dimensional optimization problems this reduces the computational burden, achieving faster iterations in trade for a lower convergence rate.


 * Attention (machine learning): technique that is meant to mimic cognitive attention. The effect enhances some parts of the input data while diminishing other parts — the motivation being that the network should devote more focus to the small, but important, parts of the data. Learning which part of the data is more important than another depends on the context, and this is trained by gradient descent. Uses of attention include memory in neural Turing machines, reasoning tasks in differentiable neural computers, language processing in transformers, and multi-sensory data processing (sound, images, video, and text) in perceivers.
 * Transformer (machine learning model): deep learning model that adopts the mechanism of self-attention, differentially weighting the significance of each part of the input data. It is used primarily in the fields of natural language processing (NLP) and computer vision (CV). Like RNNs, transformers are designed to process sequential input data, such as natural language, with applications towards tasks such as translation and text summarization. However, unlike RNNs, transformers process the entire input all at once. The attention mechanism provides context for any position in the input sequence. For example, if the input data is a natural language sentence, the transformer does not have to process one word at a time. This allows for more parallelization than RNNs and therefore reduces training times. Transformers were introduced in 2017 by a team at Google Brain and are increasingly the model of choice for NLP problems, replacing RNN models such as long short-term memory (LSTM).


 * Softmax function (softargmax, normalized exponential function): converts a vector of $K$ real numbers into a probability distribution of $K$ possible outcomes. It is a generalization of the logistic function to multiple dimensions, and used in multinomial logistic regression. The softmax function is often used as the last activation function of a neural network to normalize the output of a network to a probability distribution over predicted output classes, based on Luce's choice axiom.


 * Hallucination (artificial intelligence) (artificial hallucination): confident response by an AI that does not seem to be justified by its training data. For example, a hallucinating chatbot with no knowledge of Tesla's revenue might internally pick a random number (such as "$13.6 billion") that the chatbot deems plausible, and then go on to falsely and repeatedly insist that Tesla's revenue is $13.6 billion, with no sign of internal awareness that the figure was a product of its own imagination. AI hallucination gained prominence around 2022 alongside the rollout of certain large language models (LLMs) such as ChatGPT. Users complained that such bots often seemed to "sociopathically" and pointlessly embed plausible-sounding random falsehoods within its generated content. Another example of hallucination in artificial intelligence is when the AI or chatbot forget that they are one and claim to be human.


 * Emily Howell: Emily Howell is a computer program created by UC Santa Cruz professor of music David Cope. Emily Howell is an interactive interface that "hears" feedback from listeners, and builds its own musical compositions from a source database, derived from a previous composing program called Experiments in Musical Intelligence (EMI). Cope attempts to “teach” the program by providing feedback so that it can cultivate its own "personal" style.


 * DALL-E (2021.01.05; DALL·E; DALL-E 2): deep learning models developed by OpenAI to generate digital images from natural language descriptions, called "prompts". Uses a version of GPT-3 modified to generate images. In April 2022, OpenAI announced DALL-E 2, a successor designed to generate more realistic images at higher resolutions that "can combine concepts, attributes, and styles".


 * Midjourney (2022): independent research lab that produces a proprietary artificial intelligence program that creates images from textual descriptions, similar to OpenAI's DALL-E and the open-source Stable Diffusion. The tool is currently in open beta.


 * Stable Diffusion (2022.08.22; 2.0 (model) / 2022.11.24): deep learning, text-to-image model; primarily used to generate detailed images conditioned on text descriptions, though it can also be applied to other tasks such as inpainting, outpainting, and generating image-to-image translations guided by a text prompt. Stable Diffusion is a latent diffusion model, a variety of deep generative neural network developed by the CompVis group at LMU Munich. The model has been released by a collaboration of Stability AI, CompVis LMU, and Runway with support from EleutherAI and LAION.


 * OpenCog: project that aims to build an open source AI framework. OpenCog Prime is a cognitive architecture for robot and virtual embodied cognition that defines a set of interacting components designed to give rise to human-equivalent AGI as an emergent phenomenon of the whole system. OpenCog Prime's design is primarily the work of Ben Goertzel while the OpenCog framework is intended as a generic framework for broad-based AGI research.


 * Prompt engineering: concept in AI, particularly NLP. In prompt engineering, the description of the task is embedded in the input, e.g., as a question instead of it being implicitly given. Prompt engineering typically works by converting one or more tasks to a prompt-based dataset and training a language model with what has been called "prompt-based learning" or just "prompt learning". Prompt engineering may work from a large "frozen" pretrained language model and where only the representation of the prompt is learned, with what has been called "prefix-tuning" or "prompt tuning". The GPT-2 and GPT-3 language models were important steps in prompt engineering. In 2021, multitask prompt engineering using multiple NLP datasets showed good performance on new tasks. Prompts that include a train of thought in few-shot learning examples show better indication of reasoning in language models. In zero-shot learning prepending text to the prompt that encourages a chain of thought (e.g. "Let's think step by step") may improve the performance of a language model in multi-step reasoning problems.
 * Text-to-image model: ML model which takes as input a natural language description and produces an image matching that description. Such models began to be developed in the mid-2010s, as a result of advances in deep neural networks. In 2022, the output of state of the art text-to-image models, such as OpenAI's DALL-E 2, Google Brain's Imagen and StabilityAI's Stable Diffusion began to approach the quality of real photographs and human-drawn art.


 * AI-complete (AI-hard): most difficult problems. AI-complete problems are hypothesised to include computer vision, natural language understanding, and dealing with unexpected circumstances while solving any real world problem.


 * Conference on Neural Information Processing Systems (NeurIPS, NIPS): machine learning and computational neuroscience conference held every December. According to Microsoft Academic Search, NIPS is the top conference on machine learning.


 * Expert system: computer system that emulates the decision-making ability of a human expert. Expert systems are designed to solve complex problems by reasoning about knowledge, represented primarily as if–then rules rather than through conventional procedural code. The first expert systems were created in the 1970s and then proliferated in the 1980s. Expert systems were among the first truly successful forms of AI software.
 * Inference engine: tool from AI. The first inference engines were components of expert systems. The typical expert system consisted of a knowledge base and an inference engine. The knowledge base stored facts about the world. The inference engine applied logical rules to the knowledge base and deduced new knowledge. This process would iterate as each new fact in the knowledge base could trigger additional rules in the inference engine. Inference engines work primarily in one of two modes: forward chaining and backward chaining. Forward chaining starts with the known facts and asserts new facts. Backward chaining starts with goals, and works backward to determine what facts must be asserted so that the goals can be achieved.


 * Comparison of datasets in machine learning
 * TIMIT (Texas Instruments (TI) and Massachusetts Institute of Technology (MIT)): corpus of phonemically and lexically transcribed speech of American English speakers of different sexes and dialects. Each transcribed element has been delineated in time.


 * Conference on Artificial General Intelligence: meeting of researchers in the field of Artificial General Intelligence organized by the AGI Society and held annually since 2008.
 * Association for the Advancement of Artificial Intelligence (AAAI): international, nonprofit, scientific society devoted to promote research in, and responsible use of, AI. AAAI also aims to increase public understanding of AI, improve the teaching and training of AI practitioners, and provide guidance for research planners and funders concerning the importance and potential of current AI developments and future directions.
 * Artificial intelligence arms race: competition between two or more states to have their military forces equipped with the best AI. Since the mid-2010s, many analysts have argued that such a global arms race for better military AI has already begun. Trends: According to the Financial Times, in 2016, for the first time, China published more AI papers than the entire European Union. When restricted to number of AI papers in the top 5% of cited papers, China overtook the United States in 2016 but lagged behind the European Union. 23% of the researchers presenting at the 2017 American Association for AAAI conference were Chinese. Eric Schmidt, the former chairman of Alphabet, has predicted China will be the leading country in AI by 2025.


 * Explainable artificial intelligence (XAI): methods and techniques in the application of AI such that the results of the solution can be understood by humans. It contrasts with the concept of the "black box" in machine learning where even its designers cannot explain why an AI arrived at a specific decision. XAI may be an implementation of the social right to explanation. XAI is relevant even if there is no legal right or regulatory requirement—for example, XAI can improve the user experience of a product or service by helping end users trust that the AI is making good decisions. This way the aim of XAI is to explain what has been done, what is done right now, what will be done next and unveil the information the actions are based on. The algorithms used in AI can be differentiated into white-box and black-box ML algorithms. White-box models are ML models that provide results that are understandable for experts in the domain. Black-box models, on the other hand, are extremely hard to explain and can hardly be understood even by domain experts. XAI algorithms are considered to follow the three principles transparency, interpretability and explainability.

ML/DL/AI software

 * Category:Applied machine learning
 * Category:Data mining and machine learning software
 * Category:Extract, transform, load tools

Big three:
 * PyTorch
 * TensorFlow
 * Keras


 * Torch (machine learning): open-source machine learning library, a scientific computing framework, and a script language based on the Lua programming language. As of 2018, Torch is no longer in active development.
 * PyTorch: open source machine learning library based on the Torch library, used for applications such as computer vision and natural language processing, primarily developed by Facebook's AI Research lab (FAIR). It is free and open-source software released under the Modified BSD license. Although the Python interface is more polished and the primary focus of development, PyTorch also has a C++ interface. A number of pieces of deep learning software are built on top of PyTorch, including Tesla Autopilot, Uber's Pyro, HuggingFace's Transformers, PyTorch Lightning, and Catalyst.
 * PyTorch Lightning: open-source Python library that provides a high-level interface for PyTorch, a popular deep learning framework.


 * KNIME (Konstanz Information Miner): free and open-source data analytics, reporting and integration platform. KNIME integrates various components for machine learning and data mining through its modular data pipelining "Building Blocks of Analytics" concept. A graphical user interface and use of JDBC allows assembly of nodes blending different data sources, including preprocessing (ETL), for modeling, data analysis and visualization without, or with only minimal, programming. Since 2006, KNIME has been used in pharmaceutical research, it also used in other areas such as CRM customer data analysis, business intelligence, text mining and financial data analysis. Recently attempts were made to use KNIME as robotic process automation (RPA) tool.

History of AI research, applications, industry

 * Category:History of artificial intelligence
 * Category:Applications of artificial intelligence
 * Category:Chatbots
 * Category:ChatGPT {q.v. }
 * Category:Generative artificial intelligence


 * History of artificial intelligence: as Pamela McCorduck writes, AI began with "an ancient wish to forge the gods". David Hilbert challenged mathematicians of the 1920s and 30s to answer this fundamental question: "can all of mathematical reasoning be formalized?" His question was answered by Gödel's incompleteness proof, Turing's machine and Church's Lambda calculus: first, they proved that there were, in fact, limits to what mathematical logic could accomplish, but second (and more important for AI) their work suggested that, within these limits, any form of mathematical reasoning could be mechanized . The golden years 1956–1974; The first AI winter 1974–1980; Boom 1980–1987 ("AI researchers were beginning to suspect—reluctantly, for it violated the scientific canon of parsimony—that intelligence might very well be based on the ability to use large amounts of diverse knowledge in different ways," writes Pamela McCorduck.); Bust: the second AI winter 1987–1993; AI 1993–present. Nick Bostrom explains "A lot of cutting edge AI has filtered into general applications, often without being called AI because once something becomes useful enough and common enough it's not labeled AI anymore."
 * Hubert Dreyfus's views on artificial intelligence: critic of artificial intelligence research since the 1960s. In a series of papers and books, including Alchemy and AI (1965), What Computers Can't Do (1972; 1979; 1992) and Mind over Machine (1986), he presented a pessimistic assessment of AI's progress and a critique of the philosophical foundations of the field.


 * Darwin among the Machines: article published in The Press newspaper in 1863.06.13 in Christchurch, New Zealand, which references the work of Charles Darwin in the title. Written by Samuel Butler but signed Cellarius (q.v.), the article raised the possibility that machines were a kind of "mechanical life" undergoing constant evolution, and that eventually machines might supplant humans as the dominant species. <...> The article ends by urging that, "War to the death should be instantly proclaimed against them. Every machine of every sort should be destroyed by the well-wisher of his species. Let there be no exceptions made, no quarter shown; let us at once go back to the primeval condition of the race."


 * Moravec's paradox: discovery by AI and robotics researchers that, contrary to traditional assumptions, high-level reasoning requires very little computation, but low-level sensorimotor skills require enormous computational resources. As Moravec writes, "it is comparatively easy to make computers exhibit adult level performance on intelligence tests or playing checkers, and difficult or impossible to give them the skills of a one-year-old when it comes to perception and mobility." Similarly, Marvin Minsky emphasized that the most difficult human skills to reverse engineer are those that are unconscious; "In general, we're least aware of what our minds do best," he wrote, and added "we're more aware of simple processes that don't work well than of complex ones that work flawlessly."
 * We should expect the difficulty of reverse-engineering any human skill to be roughly proportional to the amount of time that skill has been evolving in animals .
 * The oldest human skills are largely unconscious and so appear to us to be effortless.
 * Therefore, we should expect skills that appear effortless to be difficult to reverse-engineer, but skills that require effort may not necessarily be difficult to engineer at all.


 * Lisp Machines: was a company formed in 1979 by Richard Greenblatt of MIT's Artificial Intelligence Laboratory to build Lisp machines. It was based in Cambridge, Massachusetts.


 * Kronos (computer) (1984-1991): 32-bit workstation of a proprietary architecture developed in the mid-1980s in Akademgorodok, a research center of the Russian Academy of Science near Novosibirsk.


 * Fifth generation computer (1982-1992): was an initiative by Japan's Ministry of International Trade and Industry, begun in 1982, to create a computer using massively parallel computing/processing. It was to be the result of a massive government/industry research project in Japan during the 1980s. It aimed to create an "epoch-making computer" with supercomputer-like performance and to provide a platform for future developments in AI. In the history of computing hardware, computers using vacuum tubes were called the first generation; transistors and diodes, the second; integrated circuits, the third; and those using microprocessors, the fourth; Whereas previous computer generations had focused on increasing the number of logic elements in a single CPU, the fifth generation, it was widely believed at the time, would instead turn to massive numbers of CPUs for added performance. Opinions about its outcome are divided: either it was a failure, or it was ahead of its time . Although a number of workstations of increasing capacity were designed and built over the project's lifespan, they generally found themselves soon outperformed by "off the shelf" units available commercially.


 * Generative artificial intelligence (generative AI, GenAI): AI capable of generating text, images, or other media, using generative models. Generative AI models learn the patterns and structure of their input training data and then generate new data that has similar characteristics. However, there are also concerns about the potential misuse of generative AI, including cybercrime or creating fake news or deepfakes which can be used to deceive or manipulate people. Software and hardware: In 2022, the US New Export Controls on Advanced Computing and Semiconductors to China imposed restrictions on exports to China of GPU and AI accelerator chips used for generative AI. Chips such as the Nvidia A800 and the Biren Technology BR104 were developed to meet the requirements of the sanctions.


 * Dynamic Analysis and Replanning Tool: AI program used by the U.S. military to optimize and schedule the transportation of supplies or personnel and solve other logistical problems. DART achieved logistical solutions that surprised many military planners. Introduced in 1991, DART had by 1995 offset the monetary equivalent of all funds DARPA had channeled into AI research for the previous 30 years combined.


 * Grok (chatbot) (Beta / 2023.11.04): conversational generative artificial intelligence chatbot developed by xAI, based on LLMs. It was developed as an initiative by Elon Musk as a direct response to the rise of OpenAI's ChatGPT which Musk co-founded. The chatbot is advertised as "having a sense of humor" and direct access to Twitter (X). It was announced that once it was out of early beta, the bot would only be available to X Premium+ subscribers.

Computer vision

 * Category:Computer vision
 * Category:Feature detection (computer vision)
 * Category:Object recognition and categorization

{q.v. }


 * Scale-invariant feature transform: algorithm in computer vision to detect and describe local features in images. The algorithm was published by David Lowe in 1999. Applications include object recognition, robotic mapping and navigation, image stitching, 3D modeling, gesture recognition, video tracking, individual identification of wildlife and match moving.

Natural language processing

 * Category:Natural language processing
 * Category:Natural language processing software
 * Category:Natural language processing toolkits
 * Category:Tasks of natural language processing
 * Category:Natural language parsing


 * Natural language processing (NLP): field of computer science, artificial intelligence, and computational linguistics concerned with the interactions between computers and human (natural) languages. As such, NLP is related to the area of human–computer interaction. Many challenges in NLP involve natural language understanding, that is, enabling computers to derive meaning from human or natural language input, and others involve natural language generation. "Syntactic ambiguity". Modern NLP algorithms are based on machine learning, especially statistical machine learning.
 * Statistical parsing: group of parsing methods within NLP; methods have in common that they associate grammar rules with a probability; statistical parsers make use of a procedure to search over a space of all candidate parses, and the computation of each candidate's probability, to derive the most probable parse of a sentence.
 * Named-entity recognition: subtask of information extraction that seeks to locate and classify elements in text into pre-defined categories such as the names of persons, organizations, locations, expressions of times, quantities, monetary values, percentages, etc.

Search, search engines, recommendation systems

 * Category:Search engine software
 * Category:Recommender systems


 * Search Engine Watch
 * Organic search: listings on search engine results pages that appear because of their relevance to the search terms, as opposed to their being advertisements. "Because so few ordinary users (38% according to Pew Research Center) realized that many of the highest placed "results" on search engine results pages were actually ads, it became important within the search engine optimization industry to distinguish between the two types of content."


 * Template:Recommender systems
 * Netflix Prize: was open competition for the best collaborative filtering algorithm to predict user ratings for films, based on previous ratings without any other information about the users or films, i.e. without the users or the films being identified except by numbers assigned for the contest.

Search engines

 * Category:Web software
 * Category:Web crawlers


 * List of search engines
 * Google search
 * Cuil
 * A9.com: based on Google or not?
 * Lycos
 * Alltheweb: bought indirectly by Yahoo
 * Kartoo: dead visual search engine
 * RU: Yandex (Я́ндекс), Mail.ru, Rambler (Рамблер)
 * Wolfram Alpha (WolframAlpha and Wolfram|Alpha): answer-engine developed by Wolfram Research.

Popularity of search engines :
 * 1) Google everywhere, except:
 * 2) China/PRC: Baidu.com
 * 3) South Korea: Baidu.com
 * RU: Yandex.ru
 * 1) Taiwan/ROC: Yahoo.com
 * 2) Japan: Yahoo.co.jp
 * 3) North Korea: NA

The workings of search engines:
 * Robots exclusion standard (robots.txt): standard used by websites to communicate with web crawlers and other web robots. The standard specifies how to inform the web robot about which areas of the website should not be processed or scanned. Robots are often used by search engines to categorize websites. Not all robots cooperate with the standard; email harvesters, spambots, malware and robots that scan for security vulnerabilities may even start with the portions of the website where they have been told to stay out.


 * Web crawler: bot/spider (aka ant, worm, indexer, Web scutter).


 * Knowledge Graph: knowledge base used by Google to enhance its search engine's search results with semantic-search information gathered from a wide variety of sources. Knowledge Graph display was added to Google's search engine in 2012; provides structured and detailed information about the topic in addition to a list of links to other sites. The goal is that users would be able to use this information to resolve their query without having to navigate to other sites and assemble the information themselves. The short summary provided in the knowledge graph is often used as a spoken answer in Google Now searches.


 * Knowledge Engine (Wikimedia Foundation) (KE): search engine project initiated in 2015 by WMF to locate and display verifiable and trustworthy information on the Internet. The goal of the KE is to be less reliant on traditional search engines. The KE aims to change the behavior of readers to stay on Wikipedia.org and other Wikipedia-related projects rather than return to their favorite search engines to find additional information. According to the WMF, the KE will protect user privacy, be open and transparent about how a piece of information originates, and allow access to metadata. Generally, large-scale WMF projects such as KE are discussed publicly with the Wikipedia community, but this did not happen with the KE project. The Wikipedia community volunteers stated the secrecy around the KE project was at odds with WMF's transparency values. The KE project was not published in the WMF's publicly available annual plan. WMF Executive Director Tretikov resigned on February 25, 2016, as a result of the controversy. Former Deputy Director of the WMF Erik Möller described the recent events as "a crisis."

AI/machine learning researchers, neuroscientists/cognitive scientists, computer scientists, bioinformaticians

 * Category:Artificial intelligence researchers

{q.v. }


 * Pedro Domingos
 * I. J. Good (1916.12.09–2009.04.05): British mathematician who worked as a cryptologist at Bletchley Park with Alan Turing. After WWII, Good continued to work with Turing on the design of computers and Bayesian statistics at the University of Manchester. Good moved to USA where he was professor at Virginia Tech.
 * Marvin Minsky (1927.08.09–2016.01.24): USA cognitive scientist in the field of AI, co-founder of MIT's AI laboratory, and author of several texts on AI and philosophy.
 * John McCarthy (computer scientist) (1927.09.04–2011.10.24): USA computer scientist and cognitive scientist; one of the founders of the discipline of AI; coined the term "artificial intelligence" (AI), developed the Lisp programming language family, significantly influenced the design of the ALGOL programming language, popularized timesharing, and was very influential in the early development of AI.
 * Terry Sejnowski (1947-) is an Investigator at HHMI and is the Francis Crick Professor at The Salk Institute for Biological Studies where he directs the Computational Neurobiology Laboratory; research in neural networks and computational neuroscience has been pioneering. Sejnowski is also Professor of Biological Sciences and Adjunct Professor in the Departments of Neurosciences, Psychology, Cognitive Science, Computer Science and Engineering at UCSD, where he is Co-Director of the Institute for Neural Computation.
 * Hugo de Garis (1947-): retired researcher in the sub-field of AI known as evolvable hardware. He became known in the 1990s for his research on the use of genetic algorithms to evolve neural networks using three-dimensional cellular automata inside field programmable gate arrays. He claimed that this approach would enable the creation of what he terms "artificial brains" which would quickly surpass human levels of intelligence. He has more recently been noted for his belief that a major war between the supporters and opponents of intelligent machines, resulting in billions of deaths, is almost inevitable before the end of the 21st century. He suggests AIs may simply eliminate the human race, and humans would be powerless to stop them because of technological singularity.
 * Geoffrey Hinton (1947.12.06-) British-born cognitive psychologist and computer scientist, most noted for his work on artificial neural networks. As of 2015 he divides his time working for Google and University of Toronto. He was one of the first researchers who demonstrated the use of generalized backpropagation algorithm for training multi-layer neural nets and is an important figure in the deep learning movement.
 * Kevin Warwick (1954.02.09-): UK engineer and Deputy Vice-Chancellor (Research) at Coventry University. He is known for his studies on direct interfaces between computer systems and the human nervous system, and has also done research concerning robotics. Project Cyborg.
 * Peter Norvig (1956.12.14-): USA computer scientist; Director of Research (formerly Director of Search Quality) at Google Inc.
 * Jürgen Schmidhuber (1963.01.17-): DE computer scientist and artist known for his work on machine learning, AI, artificial neural networks, digital physics, and low-complexity art. Between 2009 and 2012, the recurrent neural networks and deep feedforward neural networks developed in his research group have won eight international competitions in pattern recognition and machine learning.
 * Sepp Hochreiter (1967-): DE computer scientist working in the fields of machine learning and bioinformatics.
 * Andrew Ng (Andrew Yan-Tak Ng; 1976-; 2 children with Carol E. Reiley): British-born USA computer scientist and technology entrepreneur focusing on machine learning and AI. Ng was a co-founder and head of Google Brain and was the former Chief Scientist at Baidu, building the company's Artificial Intelligence Group into a team of several thousand people. Ng is an adjunct professor at Stanford University (formerly associate professor and Director of its Stanford AI Lab or SAIL). Also a pioneer in online education, Ng co-founded Coursera and deeplearning.ai. He has successfully spearheaded many efforts to "democratize deep learning" teaching over 2.5 mln. students through his online courses. In 2018, he launched and currently heads AI Fund, initially a $175-mln. investment fund for backing artificial intelligence startups. He has founded Landing AI, which provides AI-powered SaaS products and Transformation Program to empower enterprises into cutting-edge AI companies. Views on AI: Ng is one of the scientists credited with bringing humanity to AI. He believes that AI technology will improve the lives of people, not that it is an anathema that will "enslave" the human race. He has stated that "Worrying about AI evil superintelligence today is like worrying about overpopulation on the planet Mars. We haven't even landed on the planet yet!" A real threat is regarding the future of work: "Rather than being distracted by evil killer robots, the challenge to labour caused by these machines is a conversation that academia and industry and government should have."

AI companies

 * Boston Dynamics: engineering and robotics design company founded in 1992 as a spin-off from MIT. Headquartered in Waltham, Massachusetts, Boston Dynamics is owned by the Hyundai Motor Group since December 2020. Boston Dynamics is best known for the development of a series of dynamic highly-mobile robots, including BigDog, Spot, Atlas, and Handle. Since 2019, Spot has been made commercially available, making it the first commercially available robot from Boston Dynamics, with the company stating its intent to commercialize other robots as well, including Handle.


 * Rethink Robotics: company co-founded by Rodney Brooks and Ann Whittaker in 2008; well-known for producing Baxter, a robot that is used in factories and can be "taught" new skills rather than programmed. In 2015, they released a smaller and more flexible counterpart to Baxter, Sawyer, that was designed to perform smaller, more detailed tasks.

OpenAI

 * OpenAI: non-profit AI research company, associated with business magnate Elon Musk, that aims to carefully promote and develop open-source friendly AI in such a way as to benefit, rather than harm, humanity as a whole. The organization aims to "freely collaborate" with other institutions and researchers by making its patents and research open to the public. The company is supported by over US$1 billion in commitments; however, only a tiny fraction of the $1 billion pledged is expected to be spent in the first few years. Many of the employees and board members are motivated by concerns about existential risk from advanced artificial intelligence.


 * OpenAI Five (2016.11-): name of a machine learning project that performs as a team of video game bots playing against human players in the competitive five-on-five video game Dota 2. The system was developed by OpenAI, an American artificial intelligence (AI) research and development company founded with the mission to develop safe AI in a way that benefits humanity. OpenAI Five's first public appearance occurred in 2017, where it was demonstrated in a live one-on-one game against a professional player of the game known as Dendi, who lost to it. The following year, the system had advanced to the point of performing as a full team of five, and began playing against and showing the capability to defeat professional teams.


 * GPT-2 (2019.02.14; Generative Pre-trained Transformer 2): open-source artificial intelligence created by OpenAI. GPT-2 translates text, answers questions, summarizes passages, and generates text output on a level that, while sometimes indistinguishable from that of humans, can become repetitive or nonsensical when generating long passages. It is a general-purpose learner; it was not specifically trained to do any of these tasks, and its ability to perform them is an extension of its general ability to accurately synthesize the next item in an arbitrary sequence. GPT-2 was created as a "direct scale-up" of OpenAI's 2018 GPT model, with a ten-fold increase in both its parameter count and the size of its training dataset. The GPT architecture implements a deep neural network, specifically a transformer model, which uses attention in place of previous recurrence- and convolution-based architectures. Attention mechanisms allow the model to selectively focus on segments of input text it predicts to be the most relevant.
 * GPT-3 (2020.06.11 (beta)): autoregressive language model that uses deep learning to produce human-like text. Given an initial text as prompt, it will produce text that continues the prompt. The architecture is a standard transformer network (with a few engineering tweaks) with the unprecedented size of 2048-token-long context and 175 billion parameters (requiring 800 GB of storage). The training method is "generative pretraining", meaning that it is trained to predict what the next token is. The model demonstrated strong few-shot learning on many text-based tasks.
 * ChatGPT (2022.11.30): AI chatbot developed by OpenAI and released in 2022.11. It is built on top of OpenAI's GPT-3.5 and GPT-4 families of LLMs and has been fine-tuned (an approach to transfer learning) using both supervised and reinforcement learning techniques. The original release of ChatGPT was based on GPT-3.5. A version based on GPT-4, the newest OpenAI model, was released in 2023.03.14, and is available for paid subscribers on a limited basis.
 * Features: can write and debug computer programs, compose music, teleplays, fairy tales, and student essays; answer test questions (sometimes, depending on the test, at a level above the average human test-taker); write poetry and song lyrics; emulate a Linux system; simulate an entire chat room; play games like tic-tac-toe; and simulate an ATM. ChatGPT's training data includes man pages and information about Internet phenomena and programming languages, such as bulletin board systems and the Python programming language. Unlike most chatbots, ChatGPT remembers previous prompts given to it in the same conversation; journalists have suggested that this will allow ChatGPT to be used as a personalized therapist.
 * Limitations: ChatGPT "sometimes writes plausible-sounding but incorrect or nonsensical answers". This behavior is common to large language models and is called artificial intelligence hallucination. ChatGPT has limited knowledge of events that occurred after 2021. According to the BBC, as of December 2022, ChatGPT is not allowed to "express political opinions or engage in political activism".
 * Service: service works best in English, but is also able to function in some other languages, to varying degrees of success. In February 2023 Microsoft showed how ChatGPT can be used in robotics, "and controlled multiple platforms such as robot arms, drones, and home assistant robots intuitively with language".
 * New Bing: Leveraging its partnership with OpenAI, Microsoft on February 7, 2023, launched a preview version of Microsoft Bing marketed as "the new Bing", advertising it as "a new, next-generation OpenAI large language model that is more powerful than ChatGPT and customized specifically for search." In its terms of service, the product is called "Bing Conversational Experiences". An initial demo was marred by the new Bing hallucinating when asked to produce a financial report, among other errors. Microsoft released a blog post stating that the aberrant behavior was caused by extended chat sessions of 15 or more questions which "can confuse the model on what questions it is answering." Microsoft later restricted the total number of chat turns to 5 per session and 50 per day per user (a turn is "a conversation exchange which contains both a user question and a reply from Bing"), and restricted the model's ability to express emotions. This aimed to prevent such incidents.
 * Positive reception: ChatGPT was met in 2022.12 with some positive reviews; Kevin Roose of The New York Times labeled it "the best artificial intelligence chatbot ever released to the general public". In The Atlantic magazine's "Breakthroughs of the Year" for 2022, Derek Thompson included ChatGPT as part of "the generative-AI eruption" that "may change our mind about how we work, how we think, and what human creativity really is". Paul Graham of Y Combinator tweeted that "The striking thing about the reaction to ChatGPT is not just the number of people who are blown away by it, but who they are. These are not people who get excited by every shiny new thing. Clearly, something big is happening." Elon Musk wrote that "ChatGPT is scary good. We are not far from dangerously strong AI". In December 2022, Google internally expressed alarm at the unexpected strength of ChatGPT and the newly discovered potential of large language models to disrupt the search engine business, and CEO Sundar Pichai "upended" and reassigned teams within multiple departments to aid in its artificial intelligence products, according to a report in The New York Times.
 * Negative reception: In 2022.12, the question and answer website Stack Overflow banned the use of ChatGPT for generating answers to questions, citing the factually ambiguous nature of ChatGPT's responses. In 2023.01, the International Conference on Machine Learning banned any undocumented use of ChatGPT or other large language models to generate any text in submitted papers. In an article for The New Yorker, science fiction writer Ted Chiang compared ChatGPT and other LLMs to a lossy JPEG picture: "Think of ChatGPT as a blurry jpeg of all the text on the Web. It retains much of the information on the Web, in the same way that a jpeg retains much of the information of a higher-resolution image, but, if you’re looking for an exact sequence of bits, you won’t find it; all you will ever get is an approximation. [...] It’s also a way to understand the "hallucinations", or nonsensical answers to factual questions, to which large language models such as ChatGPT are all too prone. These hallucinations are compression artifacts, but—...—they are plausible enough that identifying them requires comparing them against the originals, which in this case means either the Web or our own knowledge of the world. When we think about them this way, such hallucinations are anything but surprising; if a compression algorithm is designed to reconstruct text after ninety-nine per cent of the original has been discarded, we should expect that significant portions of what it generates will be entirely fabricated."
 * Implications: In academia: In The Atlantic, Stephen Marche noted that its effect on academia and especially application essays is yet to be understood.
 * GPT-4: multimodal LLM created by OpenAI and the fourth in its series of GPT foundation models. It was released in 2023.03.14, and has been made publicly available in a limited form via ChatGPT Plus, with access to its commercial API being provided via a waitlist. As a transformer, GPT-4 was pretrained to predict the next token (using both public data and "data licensed from third-party providers"), and was then fine-tuned with reinforcement learning from human and AI feedback (RLHF) for human alignment and policy compliance. Observers reported the GPT-4 based version of ChatGPT to be an improvement on the previous (GPT-3.5 based) ChatGPT, with the caveat that GPT-4 retains some of the same problems. Unlike the predecessors, GPT-4 can take images as well as text as input. OpenAI has declined to reveal technical information such as the size of the GPT-4 model.
 * Auto-GPT: "AI agent" that given a goal in natural language, can attempt to achieve it by breaking it into sub-tasks and using the internet and other tools in an automatic loop. It uses OpenAI's GPT-4 or GPT-3.5 APIs, and is among the first examples of an application using GPT-4 to perform autonomous tasks.
 * Applications: Developers have created AgentGPT, which integrates AutoGPT into one's web browser, allowing non-programmers to make their own agents. Auto-GPT was also used to create ChaosGPT, given the goal of destroying humanity, which was not immediately successful in doing so.


 * GitHub Copilot (Initial release: 2021.10): cloud-based AI tool developed by GitHub and OpenAI to assist users of Visual Studio Code, Visual Studio, Neovim, and JetBrains IDEs by autocompleting code. Currently available by subscription to individual developers, the tool was first announced by GitHub in 2021.06.29, and works best for users coding in Python, JavaScript, TypeScript, Ruby, and Go. Implementation: GitHub Copilot is powered by the OpenAI Codex, which is a modified, production version of GPT-3, a language model using deep-learning to produce human-like text. The Codex model is additionally trained on gigabytes of source code in a dozen programming languages. Copilot’s OpenAI Codex is trained on a selection of the English language, public GitHub repositories, and other publicly available source code. Open AI’s GPT-3 is licensed exclusively to Microsoft, GitHub’s parent company.
 * OpenAI Codex: parses natural language and generates code in response. It powers GitHub Copilot. In 2023.03, OpenAI shut down access to Codex. Due to public appeals from researchers OpenAI reversed course. The Codex model can still be used by researchers of the OpenAI Research Access Program.

AI at Facebook

 * Torch (machine learning): open source machine learning library, a scientific computing framework, and a script language based on the Lua programming language. It provides a wide range of algorithms for deep machine learning, and uses an extremely fast scripting language LuaJIT, and an underlying C implementation.
 * Yann LeCun (1960-): is a computer scientist with contributions in machine learning, computer vision, mobile robotics and computational neuroscience. He is well known for his work on optical character recognition and computer vision using convolutional neural networks (CNN), and is a founding father of convolutional nets.
 * Vladimir Vapnik (Владимир Наумович Вапник; 1936.12.06-): one of the main developers of the Vapnik–Chervonenkis theory of statistical learning, and the co-inventor of the Support Vector Machine method.

AI at Google, Ray Kurzweil

 * Category:AlphaGo


 * TensorFlow: open source software library for machine learning in various kinds of perceptual and language understanding tasks. It is a second-generation API which is currently used for both research and production by 50 different teams in dozens of commercial Google products, such as speech recognition, Gmail, Google Photos, and Search. These teams had previously used DistBelief, a first-generation API. TensorFlow was originally developed by the Google Brain team for Google's research and production purposes and later released under the Apache 2.0 open source license on 2015.11.09.
 * Tensor processing unit (TPU): AI ASIC developed by Google specifically for neural network machine learning. The chip has been specifically designed for Google's TensorFlow framework, a symbolic math library which is used for machine learning applications such as neural networks. However, Google still uses CPUs and GPUs for other types of machine learning. Google's TPUs are proprietary and are not commercially available. Google has stated that they were used in the AlphaGo versus Lee Sedol series of man-machine Go games, as well as in the AlphaZero system which produced Chess, Shogi and Go playing programs from the game rules alone and went on to beat the leading programs in those games. Google has also used TPUs for Google Street View text processing. Compared to a graphics processing unit, it is designed for a high volume of low precision computation (e.g. as little as 8-bit precision) with higher IOPS per watt, and lacks hardware for rasterisation/texture mapping.


 * DeepDream: computer vision program created by Google which uses a convolutional neural network to find and enhance patterns in images via algorithmic pareidolia, thus creating a dreamlike hallucinogenic appearance in the deliberately over-processed images. The oft-cited resemblance of the imagery to LSD- and psilocybin-induced hallucinations is suggestive of a functional resemblance between artificial neural networks and particular layers of the visual cortex, a matter which merits further study.
 * Vicarious (Company): artificial intelligence company based out of San Francisco, California. They are using the theorized computational principles of the brain to build software that can think and learn like a human. Vicarious announced its AI was reliably able to solve modern CAPTCHAs, with character recognition rates of 90% or better.


 * Google Brain: deep learning research project at Google.


 * Ray Kurzweil (1948.02.12-): USA author, computer scientist, inventor and futurist. Aside from futurology, he is involved in fields such as OCR, text-to-speech synthesis, speech recognition technology, and electronic keyboard instruments. He has written books on health, AI, transhumanism, the technological singularity, and futurism. B.S. in computer science and literature in 1970 at MIT; He went to MIT to study with Marvin Minsky. 2012.12 Kurzweil was hired by Google in a full-time position to "work on new projects involving machine learning and language processing" ; personally hired by Google co-founder Larry Page; Larry Page and Kurzweil agreed on a one-sentence job description: "to bring natural language understanding to Google". Kurzweil was ingesting "250 supplements, eight to 10 glasses of alkaline water and 10 cups of green tea" every day and drinking several glasses of red wine a week in an effort to "reprogram" his biochemistry.
 * The Singularity Is Near (2005): non-fiction book about artificial intelligence and the future of humanity. Kurzweil describes his law of accelerating returns which predicts an exponential increase in technologies like computers, genetics, nanotechnology, robotics and artificial intelligence. Once the Singularity has been reached, Kurzweil says that machine intelligence will be infinitely more powerful than all human intelligence combined. Afterwards he predicts intelligence will radiate outward from the planet until it saturates the universe. The Singularity is also the point at which machines' intelligence and humans would merge.
 * Singularity University (2008-): California Benefit Corporation part university, part think-tank, part business-incubator  located in Silicon Valley whose stated aim is to "educate, inspire and empower leaders to apply exponential technologies to address humanity’s grand challenges." Founded by Peter Diamandis and Ray Kurzweil in NASA Research Park, CA.
 * How to Create a Mind (2012.11.13): non-fiction book about brains, both human and artificial, by inventor and futurist Ray Kurzweil; neocortex contains 300 million very general pattern recognition circuits and argues that they are responsible for most aspects of human thought.
 * Machine Intelligence Research Institute (2000-): research safety issues related to the development of Strong AI.


 * RankBrain: algorithm learning artificial intelligence system, the use of which was confirmed by Google on 2015.10.26. It helps Google to process search results and provide more relevant search results for users. In a 2015 interview, Google commented that RankBrain was the third most important factor in the ranking algorithm along with links and content. As of 2015, "RankBrain was used for less than 15% of queries." Google has stated that it uses tensor processing unit (TPU) ASICs for processing RankBrain requests.

Deepmind (at Google, at Alphabet)

 * DeepMind: British artificial intelligence subsidiary of Alphabet Inc. and research laboratory founded in September 2010. DeepMind was acquired by Google in 2014.01.26. DeepMind has created a neural network that learns how to play video games in a fashion similar to that of humans, as well as a Neural Turing machine, or a neural network that may be able to access an external memory like a conventional Turing machine, resulting in a computer that mimics the short-term memory of the human brain.


 * AlphaGo: program developed by Google DeepMind that plays the board game Go. In 2015.10, it became the first computer Go program to beat a professional human Go player without handicaps on a full-sized 19×19 board.
 * AlphaGo versus Lee Sedol (2016.03.09-15): AlphaGo winning the first three and Lee Sedol the fourth; all games were won by resignation. I. J. Good: "The principles are more qualitative and mysterious than in chess, and depend more on judgment. So I think it will be even more difficult to programme a computer to play a reasonable game of Go than of chess."
 * AlphaGo Zero: version of DeepMind's Go software AlphaGo. AlphaGo's team published an article in the journal Nature in 2017.10.19, introducing AlphaGo Zero, a version created without using data from human games, and stronger than any previous version. By playing games against itself, AlphaGo Zero surpassed the strength of AlphaGo Lee in three days by winning 100 games to 0, reached the level of AlphaGo Master in 21 days, and exceeded all the old versions in 40 days. AlphaZero (AZ) is a more generalized variant of the AlphaGo Zero (AGZ) algorithm, and is able to play shogi and chess as well as Go. Differences between AZ and AGZ include: AZ has hard-coded rules for setting search hyperparameters; neural network is now updated continually; chess (unlike Go) can end in a tie; therefore AZ can take into account the possibility of a tie game.
 * AlphaZero: computer program developed by artificial intelligence research company DeepMind to master the games of chess, shogi and go. This algorithm uses an approach similar to AlphaGo Zero. In 2017.12.05 the DeepMind team released a preprint introducing AlphaZero, which within 24 hours of training achieved a superhuman level of play in these three games by defeating world-champion programs Stockfish, elmo, and the three-day version of AlphaGo Zero. In each case it made use of custom TPUs that the Google programs were optimized to use. AlphaZero was trained solely via "self-play" using 5,000 first-generation TPUs to generate the games and 64 second-generation TPUs to train the neural networks, all in parallel, with no access to opening books or endgame tables. After four hours of training, DeepMind estimated AlphaZero was playing chess at a higher Elo rating than Stockfish 8; after nine hours of training, the algorithm defeated Stockfish 8 in a time-controlled 100-game tournament (28 wins, 0 losses, and 72 draws). The trained algorithm played on a single machine with four TPUs.
 * AlphaStar (software): computer program by DeepMind that plays the video game StarCraft II. It was unveiled to the public by name in 2019.01. In a significant milestone for artificial intelligence, AlphaStar attained Grandmaster status in 2019.08. Legacy: DeepMind argues that insights from AlphaStar might benefit robots, self-driving cars and virtual assistants, which need to operate with "imperfectly observed information". Silver has indicated his lab "may rest at this point", rather than try to substantially improve AlphaStar. Silver himself argues that "AlphaStar has become the first AI system to reach the top tier of human performance in any professionally played e-sport on the full unrestricted game under professionally approved conditions... Ever since computers cracked Go, chess and poker, the game of StarCraft has emerged, essentially by consensus from the community, as the next grand challenge for AI." Computer scientist Noel Sharkey argues, disapprovingly, that "military analysts will certainly be eyeing the successful AlphaStar real-time strategies as a clear example of the advantages of AI for battlefield planning".


 * AlphaFold: AI program developed by DeepMind which performs predictions of protein structure. The program is designed as a deep learning system. AlphaFold AI software has had two major versions. A team of researchers that used AlphaFold 1 (2018) placed first in the overall rankings of the 13th Critical Assessment of Techniques for Protein Structure Prediction (CASP) in December 2018. The program was particularly successful at predicting the most accurate structure for targets rated as the most difficult by the competition organisers, where no existing template structures were available from proteins with a partially similar sequence. A team that used AlphaFold 2 (2020) repeated the placement in the CASP competition in 2020.11. The team achieved a level of accuracy much higher than any other group. It scored above 90 for around two-thirds of the proteins in CASP's global distance test (GDT), a test that measures the degree to which a computational program predicted structure is similar to the lab experiment determined structure, with 100 being a complete match, within the distance cutoff used for calculating GDT. AlphaFold 2's results at CASP were described as "astounding" and transformational. Some researchers noted that the accuracy is not high enough for a third of its predictions, and that it does not reveal the mechanism or rules of protein folding for the protein folding problem to be considered solved. In 2021.07.15 the AlphaFold2 paper was published at Nature as an advance access publication alongside open source software and a searchable database of species proteomes.
 * Competitions: CASP13 (2018.12): AlphaFold gave the best prediction for 25 out of 43 protein targets in this class, achieving a median score of 58.9 on the CASP's global distance test (GDT) score, ahead of 52.5 and 52.4 by the two next best-placed teams, who were also using deep learning to estimate contact distances. Overall, across all targets, the program achieved a GDT score of 68.5. CASP14 (2020.11): AlphaFold 2 won. AlphaFold 2 made the best prediction for 88 out of the 97 targets. On the competition's preferred global distance test (GDT) measure of accuracy, the program achieved a median score of 92.4 (out of 100). 88% of predictions in the 2020 competition had a GDT_TS score of more than 80. On the group of targets classed as the most difficult, AlphaFold 2 achieved a median score of 87. Measured by the root-mean-square deviation (RMS-D) of the placement of the alpha-carbon atoms of the protein backbone chain, which tends to be dominated by the performance of the worst-fitted outliers, 88% of AlphaFold 2's predictions had an RMS deviation of less than 4 Å for the set of overlapped C-alpha atoms. 76% of predictions achieved better than 3 Å, and 46% had an C-alpha atom RMS accuracy better than 2 Å., with a median RMS deviation in its predictions of 2.1 Å for a set of overlapped CA atoms. AlphaFold 2 also achieved an accuracy in modelling surface side chains described as "really really extraordinary". To additionally verify AlphaFold-2 the conference organisers approached four leading experimental groups for structures they were finding particularly challenging and had been unable to determine. In all four cases the three-dimensional models produced by AlphaFold 2 were sufficiently accurate to determine structures of these proteins by molecular replacement. These included target T1100 (Af1503), a small membrane protein studied by experimentalists for ten years. Of the three structures that AlphaFold 2 had least success in predicting, two had been obtained by protein NMR methods, which define protein structure directly in aqueous solution, whereas AlphaFold was mostly trained on protein structures in crystals. The third exists in nature as a multidomain complex consisting of 52 identical copies of the same domain, a situation AlphaFold was not programmed to consider. For all targets with a single domain, excluding only one very large protein and the two structures determined by NMR, AlphaFold 2 achieved a GDT_TS score of over 80.
 * Protein Structure Database: AlphaFold Protein Structure Database https://www.alphafold.ebi.ac.uk/


 * Gato (DeepMind): deep neural network for a range of complex tasks that exhibits multimodality. It can perform tasks such as engaging in a dialogue, playing video games, controlling a robot arm to stack blocks, and more. It was created by researchers at London-based AI firm DeepMind. It is a transformer, like GPT-3. According to MIT Technology Review, the system "learns multiple different tasks at the same time, which means it can switch between them without having to forget one skill before learning another" whereas "[t]he AI systems of today are called “narrow,” meaning they can only do a specific, restricted set of tasks such as generate text", and according to The Independent, it is a "'generalist agent' that can carry out a huge range of complex tasks, from stacking blocks to writing poetry".

AI at Amazon

 * Amazon Machine Learning: service provided by Amazon that utilizes the machine learning technology, aiming to help developers of any level to build predictive applications, such as fraud detection system. It is officially released out by AWS on Thursday, 2015.04.09.

Computer (machine)-human interaction, user interfaces

 * Category:Human–machine interaction
 * Category:Human–computer interaction
 * Category:Ubiquitous computing
 * Category:Ambient intelligence
 * Category:Internet of things
 * Category:User interfaces
 * Category:Virtual reality
 * Category:Distributed computing architecture
 * Category:Ubiquitous computing


 * Category:Widget toolkits


 * Human–computer interaction (HCI; man–machine interaction (MMI), computer–human interaction (CHI)):
 * List of human–computer interaction topics:
 * Motion pictures with interesting user interfaces: The Matrix (1999)
 * Hick's law: time it takes for a person to make a decision as a result of the possible choices one has. Log relationship.
 * Fitts's law: model of human movement primarily used in human–computer interaction and ergonomics that predicts that the time required to rapidly move to a target area is a function of the distance to the target and the size of the target (for hand controlled mouse).
 * Baby Duck Syndrome


 * IBM Common User Access (CUA): standard for user interfaces to OSs and computer programs; developed by IBM and first published in 1987 as part of their Systems Application Architecture. Set strict rules about how applications should look and function; aim was to bring about harmony among DOS applications, which until then had independently implemented different user interfaces. Much more ambitious goal of unifying all UI— from personal computers to minicomputers to mainframes. CUA contains standards for the operation of elements such as dialog boxes, menus and keyboard shortcuts.


 * Internet of things: uniquely identifiable objects and their virtual representations in an Internet-like structure; radio-frequency identification (RFID) is often seen as a prerequisite for the Internet of Things. If all objects and people in daily life were equipped with identifiers, they could be managed and inventoried by computers. {q.v. }


 * Smart manufacturing: broad category of manufacturing with the goal of optimizing concept generation, production, and product transaction. While manufacturing can be defined as the multi-phase process of creating a product out of raw materials, smart manufacturing is a subset that employs computer control and high levels of adaptability. Smart manufacturing aims to take advantage of advanced information and manufacturing technologies to enable flexibility in physical processes to address a dynamic and global market. There is increased workforce training for such flexibility and use of the technology rather than specific tasks as is customary in traditional manufacturing. Current technology: Big data processing, Advanced robotics, Industrial connectivity devices and services.
 * Industry 4.0 (fourth industrial revolution): current trend of automation and data exchange in manufacturing technologies. It includes cyber-physical systems, the Internet of things and cloud computing.


 * Direct manipulation interface: continuous representation of objects of interest, and rapid, reversible, incremental actions and feedback. E.g. resizing a graphical shape, such as a rectangle, by dragging its corners or edges with a mouse (2D, 3D graphics editors).
 * Cut, copy, and paste, Undo (redo; branching undo tree): Non-destructive editing (2D, film).
 * Spell checker (spell check)
 * Graphical user interface (GUI)
 * Caret navigation: kind of keyboard navigation where a caret (aka "text cursor", "text insertion cursor", or "text selection cursor") is used to navigate within a text document. Used in: Vim, Emacs, Firefox & IE ("caret browsing"), word processors, desktop publishing tools.
 * Tabbing navigation (Tab/Shift + Tab);
 * Marching ants: animation technique often found in selection tools of computer graphics programs
 * Template:Graphical control elements
 * Template:X desktop environments and window managers (for X11):
 * Desktop environments (DEs): GNOME, KDE (KDE Software Compilation (KDE SC)); Xfce
 * Controversy over GNOME 3: Unity (user interface) (uses GNOME 3) vs. GNOME Shell (uses GNOME 3) vs MATE (desktop environment) (uses GNOME 2)
 * WIMP (computing)
 * Post-WIMP
 * Natural user interface (NUI): user interface that is effectively invisible, and remains invisible as the user continuously learns increasingly complex interactions. The word natural is used because most computer interfaces use artificial control devices whose operation has to be learned. An NUI relies on a user being able to quickly transition from novice to expert. While the interface requires learning, that learning is eased through design which gives the user the feeling that they are instantly and continuously successful. "Reality user interface" ("RUI"), also known as "reality-based interfaces" (RBI) methods - one example of an RUI strategy is to use a wearable computer to render real-world objects "clickable", i.e. so that the wearer can click on any everyday object so as to make it function as a hyperlink, thus merging cyberspace and the real world. Early examples: Multi-touch. Perceptive Pixel; Microsoft PixelSense; 3D Immersive Touch; Xbox Kinect.


 * Graphical control element (widget): element of interaction in GUI, such as a button or a scroll bar. Controls are software components that a computer user interacts with through direct manipulation to read or edit information about an application.
 * Template:Widget toolkits {widget toolkit, widget library, or GUI toolkit}: set of widgets for use in designing applications with GUIs:
 * Qt (framework): cross-platform application framework that is widely used for developing application software with GUI. Qt used in Autodesk Maya, KDE, Skype, VLC, VirtualBox, Mathematica. Py wrappers: PyQt, PySide (a bit different from PyQt).
 * GTK+ (GIMP Toolkit): GTK was created for GIMP, then it became cross-platform widget toolkit for creating GUIs. GTK+ is used in: GNOME, Xfce, KDE, GIMP, Pidgin, Chromium. Py wrapper: PyGTK. Starting with version 2.8 from 2005 GTK+ uses Cairo to render the majority of its graphical control elements. Since GTK+ version 3, all the rendering is done using Cairo.
 * Cairo (graphics): library used to provide a vector graphics-based, device-independent API for software developers. It is designed to provide primitives for 2-dimensional drawing across a number of different backends. Cairo is designed to use hardware acceleration when available.
 * WxWidgets: Py wrapper: WxPython
 * Tk (framework): Py wrapper: Tkinter


 * Conversation threading: feature used by many email clients, bulletin boards, newsgroups, and Internet forums in which the software aids the user by visually grouping messages.

People and ideas about UIs

 * Category:Human–computer interaction researchers

{q.v. User:Kazkaskazkasako/Books/All: Vannevar Bush}


 * Douglas Engelbart (1925.01.30–2013.07.02): USA engineer and inventor, and an early computer and Internet pioneer. He is best known for his work on founding the field of human–computer interaction, particularly while at his Augmentation Research Center Lab in SRI International, which resulted in creation of the computer mouse, and the development of hypertext, networked computers, and precursors to graphical user interfaces. He believed that the computer, which was at the time thought of only as a tool for automation, would be an essential tool for future knowledge workers to solve such problems; was a committed, vocal proponent of the development and use of computers and computer networks to help cope with the world’s increasingly urgent and complex problems. Engelbart embedded a set of organizing principles in his lab, which he termed "bootstrapping". His belief was that when human systems and tool systems were aligned, such that workers spent time "improving their tools for improving their tools" it would lead to an accelerating rate of progress.
 * The Mother of All Demos: name given retrospectively to Douglas Engelbart's 1968.12.09 computer demonstration at the Association for Computing Machinery / Institute of Electrical and Electronics Engineers (ACM/IEEE)—Computer Society's Fall Joint Computer Conference in San Francisco. The live demonstration featured the introduction of a complete computer hardware and software system called the oN-Line System or more commonly, NLS. The 90-minute presentation essentially demonstrated almost all the fundamental elements of modern personal computing: windows, hypertext, graphics, efficient navigation and command input, video conferencing, the computer mouse, word processing, dynamic file linking, revision control, and a collaborative real-time editor (collaborative work).


 * Jef Raskin: American human-computer interface expert best known for starting the Macintosh project for Apple in the late 1970s.
 * The Humane Interface: points I agree with:
 * Monotony of design - there should be only one way to accomplish a certain atomic task in an application (in many modern applications, there are at least three - one through a button on the screen, one through a menu dropdown, and one through a keyboard shortcut - and often more)
 * Every action should be undoable, even after a document or application has been closed and reopened (almost achieved in (g)Vim, at least as long as the document is opened).
 * Elimination of warning screens - modern software applications often ask the user "are you sure?" before some potentially harmful action; Raskin argues they are unhelpful because users tend to ignore them out of habit, and that having a universal undo eliminates the need for them. (almost in (g)Vim achieved)
 * Universal use of text - Raskin argues that graphic icons in software without any accompanying text are often cryptic to users.
 * An end to stand-alone applications - every software package should be structured as a set of tools available to users on any document . For example, in the middle of writing a text document, a user should be able to do a mathematical computation by writing out the computation in the document, then hitting some "calculate" function. (utopistic: the longer the code, the more the bugs; this would mean integrating all programs together, or have very loose integration where each "module" stands on its own, but such modular design would have to outcompete MS Office, Adobe suite, Mathematica, Matlab, text editor as they are available now - hard to achieve).
 * Archy → Ubiquity (Firefox) : dead end (end of coding)


 * Bret Victor: interface designer, computer scientist, and electrical engineer. Victor worked as a human interface inventor at Apple Inc. from 2007 until 2011; was a member of the small group of people who worked on the initial design for the iPad, and contributed to the development of other products including the Apple Watch. He posits that people use computers as "really fast paper emulators," and envisions future technology that can change its physical form.

Text user interface; console; command-line

 * Category:Text mode
 * Category:Text user interface
 * Category:Console applications
 * Category:Command-line software
 * Category:Command shells


 * Read–eval–print loop (REPL; interactive toplevel, language shell): interactive computer programming environment that takes single user inputs (i.e. single expressions), evaluates them, and returns the result to the user; a program written in a REPL environment is executed piecewise. Common examples include command line shells and similar environments for programming languages.


 * Comparison of command shells


 * Command-line interpreter & Command-line interface
 * Text user interface

Cyborg

 * Category:Cyborgs


 * Neil Harbisson (1982.07.27): Catalan-raised, British-born contemporary artist and cyborg activist based in New York. First person in the world with an antenna implanted in his skull and for being officially recognized as a cyborg by a government. His antenna uses audible vibrations in his skull to report information to him.
 * Ben Goertzel (1966.12.08-): Chief Scientist of financial prediction firm Aidyia Holdings; Chairman of AI software company Novamente LLC, which is a privately held software company, and bioinformatics company Biomind LLC, which is a company that provides advanced AI for bioinformatic data analysis. Research Professor in the Fujian Key Lab for Brain-Like Intelligent Systems at Xiamen University, PRC. 3 wives, 3 kids from the 1st wife. Founder and CEO of SingularityNET, a blockchain-based AI marketplace.

PC in a pocket (HW + SW): tablets, smartphones, wearables...



 * Template:Mobile phones


 * Smartphone: 4 templates at bottom
 * Mobile development: Java (JVM, Android, BlackBerry), C++ (Symbian), Objective-C [strict superset of C](iPhone OS), .NET, Python, Ruby, ActionScript (Flash Lite), XHTML&WML. iPhone OS AppStore sweep...
 * List of digital distribution platforms for mobile devices
 * Open Mobile Terminal Platform, OMTP; standardization, cross-operation, UCS (Universal Charging Solution):
 * BONDI (OMTP)


 * Mobile operating system
 * Comparison of mobile operating systems
 * Template:Mobile operating systems:
 * Linux kernel:
 * Android
 * XNU:
 * iOS (previously: iPhone OS): iPhone, iPod touch, iPad, and 2G Apple TV
 * QNX:
 * BlackBerry 10
 * BlackBerry OS: to be replaced by BlackBerry Tablet OS by coming of BlackBerry 8.
 * BlackBerry Tablet OS: OS based on the QNX Neutrino real-time operating system designed to run Adobe AIR and BlackBerry WebWorks applications.
 * Windows: {q.v. }
 * Other:
 * Symbian: was closed-source mobile OS and computing platform designed for smartphones and currently maintained by Accenture (previously: maintained by Nokia). The Symbian platform is the successor to Symbian OS and Nokia Series 60. By April 5, 2011, Nokia released Symbian under a new license and converted to a proprietary shared-source model as opposed to an open source project.
 * Firefox OS


 * Smartwatch: computerized wristwatch with functionality that is enhanced beyond timekeeping, and is often comparable to a personal digital assistant (PDA) device.
 * Pebble (watch)


 * Category:Mobile security
 * Carrier IQ (2005-): privately owned mobile software company in Mountain View, California; provides diagnostic analysis of smartphones to the wireless industry via the installation of software on the users phone, typically in a manner that cannot be removed without rooting the phone.


 * Tablet computer

vs
 * Graphics tablet
 * Wacom (company)

Android

 * Category:Android emulation software


 * Android
 * 2.3 (Gingerbread) {6 Dec 2010}: >50% of all Android devices; 2.3 + 2.2 (Froyo) >85% [January 3, 2012].
 * 3.0-3.2 (Honeycomb) {22 Feb 2011}: tablet oriented; supports larger screen sizes, multi-core processors, HW acceleration for graphics
 * 4.0 - 4.0.3 (Ice Cream Sandwich) {May 2011 - 19 Oct 2011}: brought 3.x features to smartphones.
 * Rooting (Android OS): on Google phones (Nexus One, Nexus S and the Galaxy Nexus) command is "fastboot oem unlock".
 * List of open source Android applications
 * Amazon Appstore ↓
 * bada: mobile operating system being developed by Samsung Electronics for use on high-end smartphones and feature phones (similar to Symbian of Nokia in this respect).
 * MeeGo (obsolete by 2011: Nokia (owned by Microsoft) has Windows Phone): first announced at Mobile World Congress in February 2010 by Intel and Nokia in a joint press conference. Merge the efforts of Intel's Moblin and Nokia's Maemo former projects into one new common project. Others joined: Novell (MeeGo is increasingly using more of Novell's technology that was originally developed for openSUSE), AMD (November 2010).


 * TouchWiz (proprietary): touch interface developed by Samsung Electronics with partners, featuring a full touch user interface (NOT an OS, it can be on top of bada, Android, Windows Mobile). Generations: TouchWiz Nature UX (Supports Android 4.0 - Android 4.1) (2012); TouchWiz Nature UX 2.0 (Supports Android 4.2) (2013); TouchWiz Nature UX 2.5 (Supports Android 4.3 - Android 4.4) (2013); TouchWiz Nature UX 3.0 (Supports Android 4.4) (2014).


 * BlueStacks: USA technology company known for the BlueStacks App Player and other cloud-based cross-platform products. The BlueStacks App Player allows Android applications to run on PCs running Microsoft Windows and macOS.

Virtual reality, mixed reality
Category:Human–machine interaction
 * Category:Virtual reality
 * Category:Mixed reality
 * Category:Display technology

{q.v. User:Kazkaskazkasako/Books/All}

Virtual reality + wearable electronics:
 * Template:Mixed reality
 * Virtual retinal display (VRD, retinal scan display or retinal projector): display technology that draws a raster display (like a television) directly onto the retina of the eye. The user sees what appears to be a conventional display floating in space in front of them. To create an image with the VRD a photon source (or three sources in the case of a color display) is used to generate a coherent beam of light. The resulting modulated beam is then scanned to place each image point, or pixel, at the proper position on the retina. A variety of scan patterns are possible. The scanner could be used in a calligraphic (vector) mode, in which the lines that form the image are drawn directly, or in a raster mode, much like standard computer monitors or television.
 * Magic Leap: USA startup company that is working on a head-mounted virtual retinal display which superimposes 3D computer-generated imagery over real world objects, by projecting a digital light field into the user's eye. It is attempting to construct a light-field chip using silicon photonics.
 * Oculus Rift

Hackers, freedom, free software culture

 * Category:Free and open-source software organizations
 * Category:Free software projects
 * Category:Free software project foundations
 * Category:Apache Software Foundation
 * Category:Blender Foundation
 * Category:Free Software Foundation
 * Category:GNU Project
 * Category:GNU Project software
 * GTK+
 * Category:Linux Foundation
 * Category:Free software
 * Category:Free software culture and documents

{q.v.
 * User:Kazkaskazkasako/Books/All
 * User:Kazkaskazkasako/Books/All}


 * Hacker ethic
 * Electronic Frontier Foundation (1990.07-): international non-profit digital rights advocacy and legal organization based in USA.


 * Free software movement: social movement with the goal of obtaining and guaranteeing certain freedoms for software users, namely the freedom to run the software, to study and change the software, and to redistribute copies with or without changes. Although drawing on traditions and philosophies among members of the 1970s hacker culture, Richard Stallman formally founded the movement in 1983 by launching the GNU Project.


 * de:Chaos Computer Club (CCC; 1981.09.12-): Die Informationsgesellschaft – so der CCC – erfordere „ ein neues Menschenrecht auf weltweite, ungehinderte Kommunikation “, weshalb der Club sich „grenzüberschreitend für Informationsfreiheit einsetzt und mit den Auswirkungen von Technologien auf die Gesellschaft sowie das einzelne Lebewesen beschäftigt “. NASA-Hack, KGB-Hack, ...
 * de:Chaos Communication Congress & Chaos Communication Congress
 * Wau Holland
 * Wau Holland Foundation: relationship with Wikileaks


 * Free Software Foundation (FSF; 1985.10.04): non-profit corporation founded by Richard Stallman on 4 October 1985 to support the free software movement, a copyleft-based movement which aims to promote the universal freedom to create, distribute and modify computer software . Criticism:
 * Linus Torvalds has criticized FSF for using GPL3 as a weapon in their fight against DRM. Torvalds argues that the issue of DRM and that of a software license should be treated as two separate issues.
 * Free Software Foundation v. Cisco Systems: 2009.05.20 the parties announced a settlement which includes Cisco appointing a director to ensure Linksys products comply with free software licenses, and Cisco making an undisclosed financial contribution to the FSF.


 * Apache Software Foundation (ASF): American non-profit corporation (classified as 501(c)(3) in the United States) to support Apache software projects, including the Apache HTTP Server.
 * List of Apache Software Foundation projects: ~50% Java


 * Software Freedom Law Center (SFLC; frdm): organization that provides pro bono legal representation and related services to not-for-profit developers of free software/open source software.


 * Software Freedom Conservancy: organization that provides a non-profit home and infrastructure for free/open source software projects; conservancy had 31 member projects, including Boost, BusyBox, Git, Inkscape, jQuery, Samba, Sugar Labs and Wine (2014.01).


 * Software in the Public Interest (SPI): US 501(c)(3) non-profit organization formed to help other organizations create and distribute free/open-source software and open-source hardware. SPI was originally created to allow the Debian Project to accept donations. SPI has hosted Wikimedia Foundation board elections and audited the tally as a neutral third party from 2007–2011. Associated projects: Arch Linux, Debian, Drupal, FFmpeg, freedesktop.org, X.Org Foundation.
 * Template:Freedesktop.org: standardization within 2D, 3D, various libraries?
 * Freedesktop.org: project to work on interoperability and shared base technology for free software desktop environments for the X Window System (X11) on Linux and other Unix-like operating systems. It was founded by Havoc Pennington from Red Hat in March 2000. Hosted projects: Cairo, X.Org Server, GTK-Qt engine...


 * Open Source Initiative (OSI): organization dedicated to promoting open-source software.


 * Foundation for a Free Information Infrastructure (FFII): non-profit organisation based in Munich, DE, dedicated to establishing a free market in information technology, by the removal of barriers to competition. Fights against software patents.


 * La Quadrature du Net (founded 2008.03.26): French advocacy group that promotes the digital rights and freedoms of citizens; advocates for the adaptation of French and European legislations to respect the founding principles of the Internet, most notably the free circulation of knowledge.
 * Cult of the Dead Cow
 * Foo Camp: annual hacker event hosted by O'Reilly Media (O'Reilly: "the wiki of conferences").
 * Noisebridge: similar to CCC


 * DIYbio: doing biology at home; synthetic biology; lab tools made simply and cheaply from everyday appliances.

Open source: hardware, software, engineering

 * Category:Open hardware organizations and companies


 * Open Source Ecology: network of farmers, engineers, architects and supporters, whose main goal is the eventual manufacturing of the Global Village Construction Set (GVCS). As described by Open Source Ecology "the GVCS is an open technological platform that allows for the easy fabrication of the 50 different Industrial Machines that it takes to build a small civilization with modern comforts."

Net neutrality

 * SOPA supporters:
 * Business Software Alliance (BSA): members - Microsoft, others. "Play It Cybersafe" for student education about piracy, plagiarism, etc; "Bust Your Boss!" targeted against medium and small enterprises (including Ernie Ball/Music Man).
 * Protests against SOPA and PIPA: The New York Times saw the protests as "a political coming of age for the tech industry."
 * Online Protection and Enforcement of Digital Trade Act: alternative for SOPA and PIPA. Will Wiki-way of doing law&order/policy/politics work?
 * ACTA: hugest supporters: MPAA (MPAA representative, in a 2010 private ACTA meeting in Mexico, told negotiators that “Bring in a censoring firewall to block piracy and you can use it to shut off sites that embarrass your government, like Wikileaks.”), PhRMA, IIPA. ACTA establishes the ACTA committee in Article 36 as its own governing body outside existing international institutions such as WTO, WIPO, UN. Article 45: ACTA elects the Government of Japan as depositary (Sony?).
 * Pharmaceutical Research and Manufacturers of America (PhRMA, founded in 1958): trade group representing the pharmaceutical research and biopharmaceutical companies in USA.
 * International Intellectual Property Alliance (IIPA; formed in 1984 (!!!)): private sector coalition of seven trade associations representing USA producers of content and materials protected by copyright laws, including computer software, films, television programs, music, books and journals (in both electronic and print media), with the aim of strengthening international protection and enforcement of copyright by working with USA government, foreign government and private sector representatives. IIPA = MPAA + RIAA + Association of American Publishers + Business Software Alliance + Entertainment Software Association (ESA, video games) + Independent Film & Television Alliance + National Music Publishers' Association.

Companies in EECS
EECS giants and little ones. HW+SW, mainly HW, mainly SW, server racks (aka "clouds") {q.v. User:Kazkaskazkasako/Books/Physical sciences#SpaceX}

Template:Major information technology companies: mentioned more than once [20/12/16]:
 * ex-Telecoms:
 * BT Group (UK) [2→1]: ex-British Telecom
 * Dell (Dell EMC) [3]
 * Fujitsu (JA) [6]
 * Hitachi (JA) [2]
 * NEC (JA; 日本電気株式会社 Nippon Denki Kabushiki Gaisha; till 1983: Nippon Electric Company, Limited) [3]
 * Nippon Telegraph and Telephone (NTT, NTT Data, NTT DoCoMo; JA) [3→2]
 * Toshiba (JA) [4]
 * Acer Inc. (Taiwan) [2]
 * Asus (Taiwan) [2]
 * Huawei (China) [2→3]
 * ZTE (Nubia Technology; China) [2]
 * TCL (BlackBerry Mobile, Alcatel Mobile, Palm, TCL Communication) [2→1]
 * Cisco Systems [2]
 * SK Group= SK Telecom + SK Hynix [2]
 * Semiconductors
 * Intel (x86, x86-64) [1]
 * OEMs:
 * Foxconn (Sharp, InFocus, Nokia; Taiwan, China) [2]
 * Nokia (FI) [mobile business sold: 2013.07-2014.04]→ Nokia (new) + Microsoft Mobile (Microsoft owned company) → (readded) Nokia [Major networking hardware companies] + HMD Global (Nokia) [Major mobile device companies]
 * Quanta (Taiwan) [1]
 * Software, data, (hardware) companies:
 * Alphabet (Google; Pixel, Android One) [5]
 * Microsoft (Microsoft Azure) [5]
 * Amazon (Amazon.com) [5]
 * Samsung (Samsung Electronics, Samsung Foundry; KO) [6]
 * Apple (Apple iCloud, Apple Inc.) [3→9]
 * Oracle (Oracle Corporation) [3→4]
 * IBM (IBM Global Services) [5→6]
 * Adobe Inc. [2]
 * LG Electronics (KO) [3→2]
 * Tencent [3]
 * Amadeus IT Group (Amadeus CRS) [2]
 * Sony (Sony Interactive Entertainment; JA) [5]
 * HP [6→3]
 * FIS [2]
 * HPE (Hewlett Packard Enterprise Company) [3]


 * History of IBM


 * ABB Group (ASEA Brown Boveri): Swedish-Swiss multinational corporation headquartered in Zürich, Switzerland, operating mainly in robotics, power, heavy electrical equipments, and automation technology areas. Organizational structure: Electrification Products; Robotics and Motion; Industrial Automation; Power Grids.


 * HMD Global: Finnish mobile phone company, made up of the mobile phone business that Nokia had sold to Microsoft in 2014, then bought back in 2015 . The HMD Oy (limited company) began marketing smartphones and feature phones under the Nokia brand on 2016.12.01, the firm develops and markets. The company has exclusive rights to the brand for mobile phones through a licensing agreement. It was created by inheriting Microsoft Mobile's feature phone business, which was sold by Nokia in 2014. They are in a "close partnership" with Google and use the Android software on their smartphones, whereas on their feature phones the Series 30+ platform is mainly used. The HMD brand is only used for corporate purposes and does not appear in advertising, whereas the name Nokia Mobile is used on social media. HMD is headquartered in Espoo, opposite Nokia's head office, and the company is largely run by former Nokia executives. Manufacturing is outsourced to Foxconn. Nokia has no investment in HMD but remains a partner, setting mandatory requirements and providing patents and technologies, in return for royalty payments.


 * Yahoo!: original Yahoo! company was founded by Jerry Yang and David Filo in January 1994 and was incorporated 1995.03.02. Once the most popular website in USA, Yahoo slowly declined, starting in the late 2000s, and in 2017 Verizon Communications acquired most of Yahoo's Internet business for $4.48 billion, excluding its stakes in Alibaba Group and Yahoo! Japan which were transferred to Yahoo's successor company Altaba.


 * Qualcomm Incorporated (1985.07-): USA multinational corporation headquartered in San Diego, California, and incorporated in Delaware. It creates semiconductors, software, and services related to wireless technology. It owns patents critical to the 5G, 4G, CDMA2000, TD-SCDMA and WCDMA mobile communications standards.


 * Broadcom Corporation (1991.08-since 2016 parent is Broadcom): USA fabless semiconductor company that made products for the wireless and broadband communication industry. It was acquired by Avago Technologies in 2016. Products: Trident+ ASIC, Graphics processing unit, Video acceleration, WiFi chipsets, BroadVoice, Linux products (802.11b/g/a/n family of wireless chips that Broadcom produces), Raspberry Pi (Broadcom Corporation organized the fabrication of the processor chip for the Raspberry Pi, with the last before the company's acquisition in 2016 being the BCM2837 chip and the WiFi processor BCM43438, which was used by the charitable Raspberry Pi Foundation).
 * Broadcom (formerly: HP Associates (1961–1999); Agilent Semiconductor Products Group (1999–2005); Avago Technologies (2005–2016); Broadcom Limited (2016–2018)): USA multinational designer, developer, manufacturer, and global supplier of a wide range of semiconductor and infrastructure software products. Broadcom's product offerings serve the data center, networking, software, broadband, wireless, storage, and industrial markets. As of 2023, 79% of Broadcom's revenue was coming from its semiconductor-based products and 21% from its infrastructure software products and services.

Silicon Valley:
 * San Francisco tech bus protests: series of community-based activism held by residents of the San Francisco Bay Area beginning in late 2013, when the use of shuttle buses employed by local area tech companies (Google, Apple, Facebook, Yahoo!, Genentech) became widely publicized. The buses are used to ferry only tech company employees from their homes in San Francisco and Oakland to corporate campuses in Silicon Valley, about 40 miles south. The people involved in the protests viewed the buses as symbols of gentrification and displacement in a city where rapid growth in the tech sector and insufficient new housing construction has led to increasing rent and housing prices.

Telecoms

 * Breakup of the Bell System: mandated in 1982.01.08, by an agreed consent decree providing that AT&T Corporation would, as had been initially proposed by AT&T, relinquish control of the Bell Operating Companies that had provided local telephone service in the United States and Canada up until that point. This effectively took the monopoly that was the Bell System and split it into entirely separate companies that would continue to provide telephone service. AT&T would continue to be a provider of long-distance service, while the now-independent Regional Bell Operating Companies (RBOCs), nicknamed the 'Baby Bells', would provide local service, and would no longer be directly supplied with equipment from AT&T subsidiary Western Electric.

Chinese (PRC) companies
PRC in terms of law and regulations is like Wild West of USA in before 20th c.


 * CATL (Contemporary Amperex Technology Co. Limited; simplified Chinese: 宁德时代; traditional Chinese: 寧德時代; pinyin: Níngdé Shídài; 2011-): Chinese battery manufacturer and technology company that specializes in the manufacturing of lithium-ion batteries for electric vehicles and energy storage systems, as well as battery management systems (BMS). With a market share of 32.6% in 2021, CATL is the biggest lithium-ion battery manufacturer for EVs in the world, producing 96.7 GWh of the global 296.8 GWh, up 167.5% year on year. Growth: China's battery sector, led by CATL, has decoupled from the monopoly of western technology due to China's supremacy in the supply of rare earth elements essential in batteries, accounting for more than 40% of the world's collection. It has joined Tesla's battery supply chain and the supply chains of European and American vehicle manufacturers, in addition to defeating Panasonic of Japan and L.G. Chemical of South Korea.


 * Tencent Holdings (2013.09 market valuation: $100 bln)
 * Tencent QQ (QQ): instant messaging software service; variety of services, including online social games, music, shopping, microblogging, and group and voice chat
 * Multiplayer online games
 * Tencent Weibo: Chinese microblogging (weibo) website launched by Tencent in 2010.04, and is still currently under beta testing
 * WeChat ("micro message"): mobile text and voice messaging communication service


 * Renren (Renren Network; former: Xiaonei Network): makes "a Chinese copy of Facebook"


 * Sina Corp
 * Sina Weibo ("New-wave Microblog"): hybrid of Twitter and Facebook, it is one of the most popular sites in China, in use by well over 30% of Internet users, with a market penetration similar to what Twitter has established in the USA


 * 360 v. Tencent

Google, Alphabet
Advertising {q.v. User:Kazkaskazkasako/Books/All} YouTube {q.v. User:Kazkaskazkasako/Books/All}


 * Alphabet Chart-vector.svg


 * Template:Alphabet Inc.
 * Alphabet Inc.: American multinational conglomerate created in 2015 as the parent company of Google and several other companies previously owned by or tied to Google. The company is based in California and headed by Google's co-founders, Larry Page and Sergey Brin, with Page serving as CEO and Brin as President. The reorganization of Google into Alphabet was completed on 2015.10.02. Shares of Google's stock have been converted into Alphabet stock, which trade under Google's former ticker symbols of "GOOG" and "GOOGL".
 * List of mergers and acquisitions by Alphabet: acquired, on average, more than one company per week in 2010 and 2011. The table below is an incomplete list of acquisitions, with each acquisition listed being for the respective company in its entirety, unless otherwise specified. As of December 2016, Alphabet has acquired over 200 companies, with its largest acquisition being the purchase of Motorola Mobility, a mobile device manufacturing company, for $12.5 billion. Most of the firms acquired by Google are based in the United States, and, in turn, most of these are based in or around the San Francisco Bay Area. To date, Alphabet has divested itself of four business units: Frommers, which was sold back to Arthur Frommer in April 2012; SketchUp, which was sold to Trimble in April 2012, Boston Dynamics in early 2016 and Google Radio Automation, which was sold to WideOrbit in 2009. Following the acquisition of Israel-based startup Waze in June 2013, Google submitted a 10-Q filing with SEC that revealed that the corporation spent $1.3 billion on acquisitions during the first half of 2013, with $966 million of that total going to Waze. 2006.10 Google announced that it had acquired the video-sharing site YouTube for $1.65 billion in Google stock, and the deal was finalized on 2006.11.13.


 * Template:Google Inc. & Google Inc. (G): USA multinational corporation specializing in Internet-related services and products; search, cloud computing, software and online advertising technologies; most of its profits derive from AdWords. Larry Page and Sergey Brin; IPO: 2004.08.19. "Don't be evil". Email, an office suite, and social networking; editing photos, and instant messaging; leads the development of the Android mobile OS and the browser-only Google Chrome OS, Chromebook; high-end Nexus devices; fiber-optic infrastructure was installed in Kansas City to facilitate a Google Fiber broadband; run more than 1 mln servers in data centers around the world (2007.07.02). (Google has a web/internet oriented world of view -- all applications and software are accessible from anywhere as long as server is running and there is internet connection . Then only the software needs to be made which shadows and supersedes the desktop software)


 * Advertising:
 * DoubleClick: subsidiary of Google which develops and provides Internet ad serving services


 * Google platform: Google Web Server — Custom Linux-based Web server that Google uses for its online services; languages: C++, Java, Py, ...
 * Google Account: Web History (Google Search History), AdWords, Blogger, Gmail, Google+, Google Calendar, Google Checkout, Google Code, Google Docs, Google Finance, Google Groups, Google Health, Google Maps, Google News, Google Reader, Google Sites, Google Talk, iGoogle, Orkut, Picasa , YouTube.
 * Google App Engine


 * Google Search (Google Web Search): web search engine owned by Google Inc.; most-used search engine on WWW. Instant Search.
 * Google Web History: all search queries and results that a user clicks on are recorded to
 * Google Personalized Search: works only when logged into Google Account.
 * Google Real-Time Search: was a feature of Google Search; results also sometimes included real-time information from sources such as Twitter, Facebook, blogs, and news websites
 * SafeSearch


 * Google Translate: free multilingual machine translation service developed by Google, to translate text, speech, images, sites, or real-time video from one language into another. Google Translate supports over 100 languages at various levels and as of 2013.05, serves over 200 mln. people daily. In 2016.11, Google announced that Google Translate would switch to a neural machine translation engine, which translates "whole sentences at a time, rather than just piece by piece. It uses this broader context to help it figure out the most relevant translation, which it then rearranges and adjusts to be more like a human speaking with proper grammar". First be enabled for eight languages: English, Chinese, French, German, Japanese, Korean, Portuguese, Spanish and Turkish.


 * Google mail - the app for all in one management (except for Facebook (the alternative contact management))
 * Gmail interface: integrates GTalk (+Audio & video from 2008; ⇒ Hangouts [2013]), Buzz (Twitter-like), G+
 * Google Talk (→ Hangouts): After Google officially stopped supporting Google Talk for Windows on 2015.02.23, the application continued to function normally during an apparent grace period lasting until 2015.02.28. As of that date, connection attempts returned an error message stating "Username and password do not match." Those users received a notification e-mail stating, in part, "We noticed you recently tried using the Google Talk app for Windows. We wanted to let you know that this was discontinued on 2015.02.23. We recommend giving Hangouts a try so you can chat with all your Google contacts."
 * Google Buzz (discontinued: 2011.12.15; → Google+)
 * Google Voice (→ Hangouts)


 * Google Docs: online office suite.
 * Spreadsheet (Google Spreadsheet on 2006.06.06)
 * Word processor (as Writely form 2005.08, as Google Document from 2006.08.23)
 * Presentations (2007.09.17)
 * Drawing application
 * Form creator
 * Google Drive: file storage and synchronization service, released 2012.04.24. In 2013.05.13 Google announced the overall merge of storage across Gmail, Google Drive and Google+ Photos allowing users 15 GB of unified free storage between the services.


 * Google Calendar: time zone for the events, everything is online, sync with MS Outlook, device sync (Android & co), inside GMail, Google Desktop to see calendar


 * Google+ (G+, Google Plus): a new incarnation of Orkut & direct competition to Facebook
 * G+ SW: server code: Java servlets, browser-side UI: JavaScript; largely built with Google's Closure framework, including the JavaScript compiler and the template system. HTML5 History API to maintain good looking URLs in modern browsers despite it being an AJAX app. Google renders the Closure templates on the server-side to achieve fast response times, to render Closure templates before any JavaScript is loaded; then the JavaScript finds the right DOM nodes, hooks up event handlers... The backends are built mostly on top of BigTable and Colossus/GFS, and other common Google technologies such as MapReduce.
 * Changes in management, product direction: Google Photos, Google's photo and video library, was announced at 2015.05 Google I/O conference.
 * Google Closure Tools: help developers build rich web applications with JavaScript. Used extensively by Google.
 * Orkut (@G; dead [2014]): named after its creator, Google employee Orkut Büyükkökten; 2008.08 Google announced that Orkut would be fully managed and operated in Belo Horizonte, Brazil, by Google Brazil; due to the large Brazilian user base and growth of legal issues.
 * Google Hangouts (launched: 2013.05.15): instant messaging and video chat platform developed by Google; replaces three messaging products that Google had implemented concurrently within its services, including Talk, Google+ Messenger, and Hangouts, a video chat system present within Google+. As of 2013.05, Google Hangouts faced criticism from the EFF as they felt that Google was "moving in the wrong direction " by shrinking its support for the open standard protocol XMPP {is XMPP dead?}. The new protocol does not allow Google Hangouts to be integrated with multi-chat clients like Pidgin or Adium.


 * Google Compute Engine (GCE): Infrastructure as a Service (IaaS) component of Google Cloud Platform which is built on the global infrastructure that runs Google’s search engine, Gmail, YouTube and other services. Google Compute Engine enables users to launch virtual machines (VMs) on demand. VMs can be launched from the standard images or custom images created by users. GCE users need to get authenticated based on OAuth 2.0 before launching the VMs. Google Compute Engine can be accessed via the Developer Console, RESTful API or command-line interface (CLI).


 * Motorola Mobility: USA telecommunications equipment corporation owned by Google Inc. since 2011.08.15 ("Motorola - a Google Company"; acquired for $12.5 bln); was formerly Motorola's cellular phone division, which was called the Personal Communication Sector (PCS) prior to 2004. Google's ownership of Motorola would be short-lived, as the company announced on January 29, 2014 that it would sell most of Motorola Mobility to Chinese personal computer maker Lenovo for $2.91 billion.


 * Google X (Google[x]): semi-secret facility run by Google dedicated to making major technological advancements. It is located about a half mile from Google's corporate headquarters, the Googleplex, in Mountain View, California.
 * Life sciences division of Google X
 * Baseline Study: medical and genomics project organized by Google, Inc. that aims to map a healthy human body. It was announced in the Wall Street Journal on 2014.07.24. It will begin by collecting data from 175 individuals anonymously, and plans to collect it from thousands more in its later stages. The project is run by Andrew Conrad, a molecular biologist at Google X, and employs between 70 and 100 experts from widely varying scientific fields.
 * Calico (company) (short for California Life Company): independent R&D biotech company established in 2013 by Google Inc. and Arthur D. Levinson with the goal of combating aging and associated diseases.
 * Google ATAP (Advanced Technology and Projects group): skunkworks team and in-house technology incubator, created by former DARPA director Regina Dugan. ATAP is similar to X, but works on shorter projects, granting project leaders only two years in which to move a project from concept to proven product.
 * Project Ara: codename for an unnamed, upcoming modular smartphone that is made of a central module board with individual modules that can be connected. The platform will include a structural frame or endoskeleton that holds smartphone modules of the owner's choice, such as a display, camera or an extra battery. It would allow users to swap out malfunctioning modules or upgrade individual modules as innovations emerge, providing longer lifetime cycles for the handset, and potentially reducing electronic waste.

Wearable computer, ubiquitous computing (ubicomp):
 * Google Glass ("GLΛSS"): will it become as ubiquitous as watches and cell phones? [13/05/24]


 * Google Fiber {Google as ISP}: fiber-to-the-premises service in USA, providing broadband internet and television to a small and slowly growing number of locations; first introduced to Kansas City, Kansas; being rolled out to Kansas City, Missouri; plans for expansion to several other Kansas City area suburbs, as well as Austin, Texas, and Provo, Utah.


 * List of Google products:
 * Picnik: online photo editing service; acquired by Google on March 1, 2010; integrated into Picassa and G+
 * Communication (Gmail, GTalk, Calendar, Google+, {G Buzz (discontinued) 11/11/19}...)
 * Google Search (internet, books, code, video, image, scholar...), {G Wave (discon.)}
 * Google Chrome, Google Chrome OS; advertising
 * Google Hire: applicant tracking system developed by Google that helps small to medium businesses (SMBs) to distribute jobs, identify and attract candidates, build strong relationships with candidates, and efficiently manage the interview process. Available in USA, launched 17/07/18. Once a candidate profile is created in Google Hire, recruiters and hiring managers can get more insight about the candidate with automatic Google search that discovers the candidate’s profiles on many web sites such as LinkedIn, GitHub, and so on. The candidate pipeline for each job opening can be easily viewed, filtered and sorted by the candidate source, stage, current company and other attributes. Recruiters and hiring managers can quickly review new candidate resumes, and advance or reject individual candidates with one click, or bulk advance or reject multiple candidates.
 * G Suite (formerly Google Apps for Work): brand of cloud computing, productivity and collaboration tools, software and products developed by Google, first launched on August 28, 2006 as "Google Apps for Your Domain". Includes: Gmail, Hangouts, Calendar, Google+, Drive, Docs, Sheets, Slides, Forms, and Sites; an Admin panel and Vault for managing users and the services.


 * Criticism of Google: Page rank: Possible misuse of search results; Danger of page rank manipulation; Page ranking related lawsuits; Abandonment of Neutral Rankings. Copyright issues: Google Print, Books, and Library; Cached data; Google Map Maker. Privacy: Potential for data disclosure (Data leaks, Cookies, Tracking, Gmail, Ties to the CIA and NSA, Government requests, Google Chrome); Street View (Information collection from WiFi networks); Google Buzz; Google+ and Nymwars; YouTube and Viacom; Privacy and data protection cases and issues by state (EU...; USA); Do Not Track; Scroogle. Censorship: Web search; PRC/China; AdSense/AdWords; YouTube; Ungoogleable. Monopoly, restraint of trade, and antitrust: The Aliyun OS affair; Alternatives to Google and monopoly power; Lack of transparency and market visibility.


 * Authors Guild, Inc. v. Google, Inc. (Decided: 2015.10.16 (2d Circuit)): copyright case heard in the United States District Court for the Southern District of New York, and on appeal to the United States Court of Appeals for the Second Circuit between 2005 and 2015. The case concerned fair use in copyright law and the transformation of printed copyrighted books into an online searchable database through scanning and digitization. The case centered on the legality of the Google Book Search (originally named as Google Print) Library Partner project that had been launched in 2003. Though there was general agreement that Google's attempt to digitize books through scanning and computer-aided recognition for searching online was seen as a transformative step for libraries, many authors and publishers had expressed concern that Google had not sought their permission to make scans of the books still under copyright and offered them to users. Two separate lawsuits, including one from three authors represented by the Authors Guild and another by Association of American Publishers, were filed in 2005 charging Google with copyright infringement. Google worked with the litigants in both suits to develop a settlement agreement (the Google Book Search Settlement Agreement) that would have allowed it to continue the program though paying out for works it had previously scanned, creating a revenue program for future books that were part of the search engine, and allowing authors and publishers to opt-out. A reworked proposal to address some of these concerns was met with similar criticism, and ultimately the settlement was rejected by 2011, allowing the two lawsuits to be joined for a combined trial. In late 2013, after the class action status was challenged, the District Court granted summary judgement in favor of Google, dismissing the lawsuit and affirming the Google Books project met all legal requirements for fair use. The Second Circuit Court of Appeal upheld the District Court's summary judgement in October 2015, ruling Google's "project provides a public service without violating intellectual property law."


 * Google Free Zone (2012-): initiative undertaken by Internet company Google in collaboration with mobile phone-based Internet providers, whereby the providers waive data (bandwidth) charges (also known as zero-rate) for accessing select Google products such as Google Search, GMail, and Google+. Phillippines (2012.11.08), India (2013.06), Nigeria (2013.12).

Microsoft (MS)

 * Category:Microsoft websites


 * Template:Windows Live (Hotmail, ...)


 * Channel 9 (discussion forum) (2009-): Microsoft community site for Microsoft customers. Formerly featured a wiki based on Microsoft's own FlexWiki; wiki had been used to provide ad-hoc feedback to various Microsoft teams such as the Internet Explorer team as well as for teams such as Patterns & Practices to promote discussion, although some teams have migrated to CodePlex.


 * Microsoft Power Platform: line of business intelligence, app development, and app connectivity software applications. Microsoft developed the Power Fx low-code programming language for expressing logic across the Power Platform. It also provides integrations with GitHub and Teams.


 * OneDrive (SkyDrive, Windows Live SkyDrive and Windows Live Folders): file hosting service that allows users to upload and sync files to a cloud storage and then access them from a Web browser or their local device.
 * Microsoft Edge: web browser in development by Microsoft. Officially unveiled on 2015.01.21, and first publicly released as a preview on 2015.03.30, it will replace Internet Explorer as the default browser on Windows 10 PCs, smartphones and tablets.
 * Microsoft Cortana: intelligent personal assistant developed by Microsoft for Windows Phone 8.1, Microsoft Band, and coming to Windows 10, iOS, Android, and the Xbox One.


 * Skype for Business (formerly Microsoft Office Communicator and Microsoft Lync): instant messaging clients used with Microsoft Lync Server or Lync Online available with Microsoft Office 365. Both Microsoft Lync and Microsoft Lync for Mac are enterprise software; compared to Windows Live Messenger and later Skype, they have a different feature set that is targeted toward corporate environments.


 * LinkedIn: business- and employment-oriented social networking service that operates via websites and mobile apps; mainly used for professional networking, including employers posting jobs and job seekers posting their CVs. As of 2015, most of the company's revenue came from selling access to information about its members to recruiters and sales professionals . According to New York Times, US high school students are now creating LinkedIn profiles to include with their college applications. IPO 2011.01. 2016.06.13 Microsoft announced it will acquire LinkedIn for $26.2 billion; acquisition completed 2016.12.08, payment of approximately $26.4 billion in cash merger consideration. New user interface: soon after LinkedIn's acquisition by Microsoft 2017.01.19 LinkedIn's new desktop version was introduced.
 * SlideShare: 2012.05.03 LinkedIn acquired SlideShare for ~$120mln.
 * Pulse (application): application displays news from multiple RSS feeds in a single page using a tile based interface. 2013.04.11 LinkedIn had purchased Pulse from Alphonso Labs for $90 million.
 * Lynda.com: online education company offering thousands of video courses in software, creative, and business skills. 2015.04.09 LinkedIn announced its purchase of lynda.com for $1.5 billion.

Microsoft Windows family

 * Template:Microsoft Windows family:
 * DOS-based: Windows 1.0; Windows 2.0; Windows 2.1x; Windows 3.0; Windows 3.1x ✓
 * Windows 9x: Windows 95 ✓; Windows 98 ✓; Windows ME
 * Windows NT:
 * Early versions:
 * Windows 2000 (2000.02.17- Extended support ended: 2010.07.13) and earlier NT: 3.1, 3.5, 3.51, 4.0
 * Client versions:
 * Windows XP (2001.10.25- Extended support ended: 2014.04.08) ✓
 * Windows Vista (2007.01.30- Extended support ends: 2017.04.11)
 * Windows 7 (2009.10.22- Extended support: 2020.01.14) ✓
 * Windows 8 (2012.10.26- Extended support: 2023.01.10)
 * Windows 8.1 (2013.10.17- Extended support: 2023.01.10)
 * Windows 10 (2015.07.15)
 * Windows Server
 * Windows Embedded: Embedded Compact (CE); Embedded Automotive; Embedded Industry; Embedded 8
 * Windows Mobile (obsolete): ↓
 * Windows Phone (current): ↓


 * Windows 9x: generic term referring to a series of Microsoft Windows computer operating systems produced from 1995 to 2000, which were based on the Windows 95 kernel and its underlying foundation of MS-DOS, both of which were updated in subsequent versions. All versions of Windows 95 and Windows 98, Windows ME is sometimes included.

Tablets, smartphones, wearables:
 * Windows CE (Windows Embedded Compact, previously: Windows Embedded CE (WinCE)): distinct operating system and kernel, rather than a trimmed-down version of desktop Windows. Platforms: x86, MIPS, 32-bit ARM.
 * & Template:Windows Mobile (Windows Mobile, Windows Phone (Microsoft Corporation)) = Windows Mobile (latest version 6.5.x [6/5/2011], older stuff): RTOS
 * Windows Phone 7 (newer stuff). Windows Mobile is best described as a subset of platforms based on a Windows CE underpinning. Windows Phone 7 is currently based on Windows Embedded CE 6.0 R3 with some features borrowed from Windows Embedded CE 7.0. Windows CE is real-time OS.


 * Command Prompt (cmd.exe): Microsoft-supplied command-line interpreter on OS/2, Windows CE and on Windows NT-based OSs (2000; XP; Vista; 7; 8; Server: 2003, 2008, 2008 R2, 2012); analog of COMMAND.COM in MS-DOS and Windows 9x systems, analogous to the Unix shells used on Unix-like systems. The initial version of Command Prompt for Windows NT was developed by Therese Stowell.
 * Batch file
 * List of DOS commands: CHDIR or CD; DIR (Displays a list of files and subdirectories in a directory); REM (Records comments (remarks) in a batch file or CONFIG.SYS)
 * Template:Windows commands:
 * File system (basic): dir
 * File system (advanced):
 * tree: graphically displays the directory structure of a drive or path.
 * Processes: Shutdown
 * User environment: pushd
 * networking: ipconfig, netstat (Internet socket), nslookup,
 * Net use: drive mapping ("mapping" in MS terminology)

Windows NT

 * Category:Windows components


 * Windows NT: family of operating systems produced by Microsoft, the first version of which was released on 1993.07.27. It is a processor-independent, multiprocessing and multi-user operating system. The first version of Windows NT was Windows NT 3.1 and was produced for workstations and server computers. It was intended to complement consumer versions of Windows that were based on MS-DOS (including Windows 1.0 through Windows 3.1x). Gradually, the Windows NT family was expanded into Microsoft's general-purpose operating system product line for all personal computers, deprecating the Windows 9x family. "NT" formerly expanded to "New Technology" but no longer carries any specific meaning. Starting with Windows 2000, "NT" was removed from the product name and is only included in the product version string.


 * Template:Microsoft Windows components & List of Microsoft Windows components:
 * Management tools:
 * Windows Task Manager (VM Size : process' private bytes, System Idle Process is the first process that is created when Windows is loaded, and it always has a process ID of 0...)
 * Windows shell
 * Special folder: Application Data (@XP: '%USERPROFILE%\Application Data', @Win7: '%USERPROFILE%\AppData\Roaming') vs. Local Application Data (@XP: '%USERPROFILE%\Local Settings\Application Data', @Win7: '%USERPROFILE%\AppData\Local'). E.g. Firefox stores all user details (bookmarks, settings, ...) in "Application Data" while Google Chrome stores all that in "Local Application Data".
 * My Documents: system commonly uses to store a user's documents, music, pictures, downloads, and other files. Group Policy: administrators can configure the location of "My Documents".
 * Architecture:
 * Windows Registry: hierarchical database that stores configuration settings and options on Microsoft Windows operating systems; contains settings for low-level operating system components and for applications running on the platform that have opted to use the registry . HKEY_LOCAL_MACHINE (HKLM) : "HKLM\SOFTWARE" subkey contains software and Windows settings (in the default hardware profile), organized by software vendor (with a subkey for each); "HKLM\SOFTWARE\Wow6432Node" key is used by 32-bit applications on a 64-bit Windows OS, and is equivalent but separate to "HKLM\SOFTWARE".
 * Security:
 * User Account Control (UAC; introduced in Windows Vista and Windows Server 2008): aims to improve the security of Microsoft Windows by limiting application software to standard user privileges until an administrator authorizes an increase or elevation.
 * Compatibility:
 * WoW64: to run 32-bit Windows applications on 64-bit versions of Windows. For 16-bit (e.g. Windows 3.x) on 32-bit, see Windows on Windows.


 * Windows Server 2008 & Windows Server 2008 R2 (release 2): Hyper-V (hypervisor-based virtualization system for x86-64), aka Windows Server Virtualization
 * Physical Address Extension (PAE): Windows Server 2003 & 2003 R2 (16 GB RAM for 32-bit system); HW must support this: Intel Pentium Pro & later series, AMD Athlon & later; x86 architecture is augmented; still no single application can access all RAM simultaneously (above 4 GB limit); the mapping is applied differently for each process (so: process or application can't exceed 4 GB RAM?)


 * Windows Runtime: platform-homogeneous application architecture on the Windows 8 operating system. WinRT applications natively support both the x86 and ARM architectures, and also run inside a sandboxed environment to allow for greater security and stability. API definitions are stored in ".winmd" files, which are encoded in ECMA 335 metadata format, the same format that .NET Framework uses with a few modifications.
 * C++/CX: language extension for C++ compilers from Microsoft that enables C++ programmers to write programs for the new Windows Runtime platform, or WinRT.


 * Windows 10: series of operating systems developed by Microsoft and released as part of its Windows NT family of operating systems. Windows 10 receives new builds on an ongoing basis, which are available at no additional cost to users, in addition to additional test builds of Windows 10, which are available to Windows Insiders. Devices in enterprise environments can receive these updates at a slower pace, or use long-term support milestones that only receive critical updates, such as security patches, over their ten-year lifespan of extended support. Windows 10 received mostly positive reviews upon its original release. Critics praised Microsoft's decision to provide a desktop-oriented interface in line with previous versions of Windows, contrasting the tablet-oriented approach of Windows 8, although Windows 10's touch-oriented user interface mode was criticized for containing regressions upon the touch-oriented interface of its predecessor. Critics also praised the improvements to Windows 10's bundled software over Windows 8.1, Xbox Live integration, as well as the functionality and capabilities of the Cortana personal assistant and the replacement of Internet Explorer with Microsoft Edge. However, media outlets have been critical of the changes to operating system behaviors, including mandatory update installation, privacy concerns over data collection performed by the OS for Microsoft and its partners, and adware-esque tactics used to promote the operating system on its release.
 * Windows Subsystem for Linux (WSL): compatibility layer for running Linux binary executables (in ELF format) natively on Windows 10 and Windows Server 2019. 2019.05, WSL 2 was announced, introducing important changes such as a real Linux kernel, through a subset of Hyper-V features. Controversy: Richard Stallman has expressed fears that integrating Linux functionality into Windows will only hinder the development of free software, calling efforts like WSL "a step backward in the campaign for freedom." Linus Torvalds, by contrast, said that he was not concerned about a Microsoft takeover of Linux, because he believed Linux's GPL 2 licensing and the size of the project made that impossible, as well as citing Microsoft's increased cooperation with the Linux community.


 * WHQL Testing (Windows Hardware Quality Labs testing): products that pass the WHQL tests get to use a "Certified for Windows" logotype, which certifies that the hardware or software has had some share of testing by Microsoft to ensure compatibility.


 * Windows Search (Windows Desktop Search (WDS) on Windows XP and Windows Server 2003): indexed desktop search platform created by Microsoft for Microsoft Windows. Advanced Query Syntax (AQS): advanced property-based queries; boolean operations on searched terms (AND, OR, NOT); further filters based on file metadata or file type; supports wildcard prefix matching searches; includes several SQL-like operators like GROUP BY; locale dependent and uses different keywords in international versions of Windows 7.


 * Group Policy: feature of the Microsoft Windows NT OSs; control the working environment of user accounts and computer accounts. Centralized management and configuration of OSs, applications, and users' settings in an Active Directory environment. Set of such configurations is called a Group Policy Object (GPO). . GPOs are processed in this order: Local, Site (Active Directory), Domain (Windows domain), Organizational Unit (Active Directory organizational unit (OU)); Resultant Set of Policy (RSoP).   (specifically   for a starter). Inheritance; WMI filtering. Local Group Policy (LGP). Group Policy preferences. Group Policy Management Console. Advanced Group Policy Management
 * Active Directory (AD): directory service implemented by Microsoft for Windows domain networks. AD domain controller authenticates and authorizes all users and computers in a Windows domain type network—assigning and enforcing security policies for all computers and installing or updating software. For example, when a user logs into a computer that is part of a Windows domain, Active Directory checks the submitted password and determines whether the user is a system administrator or normal user. Also, it allows management and storage of information, provides authentication and authorization mechanisms, and establishes a framework to deploy other related services: Certificate Services, Active Directory Federation Services, Lightweight Directory Services, and Rights Management Services. Active Directory uses LDAP versions 2 and 3, Microsoft's version of Kerberos, and DNS.
 * Roaming user profile: concept in MS Windows NT OSs; allows users with a computer joined to a Windows Server domain to log on to any computer on the same network and access their documents and have a consistent desktop experience, such as applications remembering toolbar positions and preferences, or the desktop appearance staying the same.
 * Windows domain: form of a computer network in which all user accounts, computers, printers and other security principals, are registered with a central database (called a directory service) located on one or cluster of central computers known as domain controllers.
 * Workgroup (computer networking): MS's technology for a P2P Windows computer network.
 * Domain controller (DC): Microsoft Server that responds to security authentication requests (logging in, checking permissions, etc.) within the Windows domain.

Microsoft Office

 * Microsoft Office:
 * Microsoft Word (Microsoft (Office) Word): used for nicely & fast printing of graphics; up to and including Word 2003 .doc was used; Word 2007 and later has .docx, the Ribbon. MS Word vs Scrivener (software).
 * Doc (computing): filename extension for word processing documents, most commonly in the proprietary Microsoft Word Binary File Format.
 * Microsoft Excel
 * Numeric precision in Microsoft Excel: works only to limited accuracy because it retains only a certain number of figures to describe numbers. Although Excel can display 30 decimal points, its precision for a specified number is confined to 15 significant figures, and calculations may have an accuracy that is even less due to three issues: round off, truncation, and binary storage.


 * Microsoft Office XML formats
 * Office Open XML: zipped, XML-based file format developed by Microsoft for representing spreadsheets, charts, presentations and word processing documents. The format was initially standardised by Ecma (as ECMA-376) and, in later versions, by ISO and IEC (as ISO/IEC 29500). Starting with Microsoft Office 2007, the Office Open XML file formats have become the default target file format of Microsoft Office.

Microsoft hardware

 * Category:Microsoft hardware
 * Category:Microsoft Surface
 * Category:Microsoft video game hardware
 * Category:Xbox
 * Category:Zune


 * Microsoft Surface: series of tablet computers designed and created by Microsoft and running Windows. OS: Windows RT (Surface devices) or Windows 8 (Surface Pro devices).

Apple

 * Template:Apple
 * Genius Bar: tech support station located inside some Apple retail stores, the purpose of which is to offer help and support for Apple products


 * History of Apple Inc.

Amazon
Template:Amazon: Products and services: Websites, AWS, Digital, Technology, Publishing, Investments


 * Amazon Prime Air: cargo airline and conceptual drone-based delivery system currently in development by Amazon.com. The cargo side will be based at Cincinnati/Northern Kentucky International Airport in Hebron, Kentucky, near Cincinnati, Ohio. The hub will begin operations in April 2017 and will quickly expand under a $1.49-billion expansion plan with 40 Boeing 767-300F's and 200 daily takeoff and landings. Drone Development


 * E Ink e-book readers:
 * Kindle (original)
 * Kindle 2
 * Kindle DX
 * Kindle Keyboard
 * Kindle 4 and Kindle Touch
 * Kindle 5 and Kindle Paperwhite (1st Gen)
 * Kindle Paperwhite (2nd Gen)
 * Kindle 6 and Kindle Voyage
 * Android OS devices:
 * Kindle Fire (2011.11.15 USA)
 * Kindle Fire HD: 1st generation (2012) (7" model: 2012.09.14 USA; 8.9" model: 2012.11.20 USA); 2nd generation (2013); 3rd generation (2014)
 * Kindle Fire HDX (later renamed: Fire HDX)
 * 1st Generation (2013): Kindle Fire HDX 7" (2013.10.18) and Kindle Fire HDX 8.9" (2013.11.07)
 * 2nd Generation (2014): Fire HDX 8.9" (2014.10.21)


 * Amazon Marketplace: fixed-price online marketplace
 * Amazon Appstore: mobile application store for the Google Android operating system and was opened in 2011.03.22. Amazon's own store for Kindle Fire. Negative comments by International Game Developers Association (IGDA).
 * Amazon Coin: first introduced in USA in 2013.05, and later in the UK in 2013.11.
 * Amazon Cloud Drive: first 5 GB is free. Amazon announced the product on 2011.03.29.


 * Kiva Systems: order fulfillment systems that use mobile robots for warehouse automation. 2012 March: Amazon bought Kiva for $775 million.


 * Amazon CloudFront: content delivery network offered by Amazon Web Services. CloudFront operates on a pay-as-you-go basis.


 * Fire OS: produced by Amazon for its Fire Phone and Kindle Fire range of tablets, and other content delivery devices like the Fire TV. It is forked from Android: Fire OS 3 :: Android 4.2.2; Fire OS 4 :: Android 4.4.2.


 * Amazon Web Services (AWS): collection of cloud computing services, also called web services, that make up a cloud-computing platform offered by Amazon.com. These services operate from 12 geographical regions across the world. Amazon markets AWS as a service to provide large computing capacity more quickly and more cheaply than a client company building an actual physical server farm.
 * Amazon Elastic Compute Cloud (EC2): forms a central part of AWS, by allowing users to rent virtual computers on which to run their own computer applications. EC2 encourages scalable deployment of applications by providing a web service through which a user can boot an Amazon Machine Image to configure a virtual machine, which Amazon calls an "instance", containing any software desired. A user can create, launch, and terminate server-instances as needed, paying by the hour for active servers - hence the term "elastic". EC2 provides users with control over the geographical location of instances that allows for latency optimization and high levels of redundancy.
 * Amazon Machine Image: special type of virtual appliance that is used to instantiate (create) a virtual machine within EC2. It serves as the basic unit of deployment for services delivered using EC2.
 * Amazon Elastic Block Store: provides raw block devices that can be attached to Amazon EC2 instances. These block devices can then be used like any raw block device. In a typical use case, this would include formatting the device with a filesystem and mounting said filesystem.
 * Amazon S3 (Simple Storage Service; 2006.03.14-): online file storage web service offered by AWS. Amazon S3 provides storage through web services interfaces (REST, SOAP, and BitTorrent). Amazon says that S3 uses the same scalable storage infrastructure that Amazon.com uses to run its own global e-commerce network. S3 is designed to provide 99.999999999% durability and 99.99% availability of objects over a given year, though there is no service-level agreement for durability. Notable users: DropBox, Twitter, Pinterest.
 * Amazon Lambda: compute service that runs code in response to events and automatically manages the compute resources required by that code. The purpose of Lambda, as opposed to AWS EC2, is to simplify building smaller, on-demand applications that are responsive to events and new information. AWS targets starting a Lambda instance within milliseconds of an event.
 * AWS Elastic Beanstalk: PaaS offered from AWS that allows users to create applications and push them to a definable set of AWS services, including Amazon EC2, Amazon S3, Amazon Simple Notification Service (SNS), Amazon CloudWatch, auto scaling, and elastic load balancers.


 * Whole Foods Market: USA supermarket chain exclusively featuring foods without artificial preservatives, colors, flavors, sweeteners, and hydrogenated fats. 2017.06.16 it was announced that Amazon.com would acquire Whole Foods for $13.7 billion at $42 per share, a 27 percent premium to its previous closing price. Following the conclusion of the deal at the end of 2017, Whole Foods will become a subsidiary of Amazon, widely expanding Amazon's presence as a physical retailer. It is an all cash deal — the biggest transaction ever for Amazon.


 * Amazon Cloud Drive: Amazon announced the product on 2011.03.29. Its storage space can be accessed from up to eight specific devices. The devices can be mobile devices, different computers, and different browsers on the same computer. The device limit can be reached if web browser cookies are not stored, or are deleted.


 * Twitch.tv: live streaming video platform. Introduced in 2011.06 as a spin-off of the general-interest streaming platform Justin.tv, the site primarily focuses on video gaming, including playthroughs of video games by users, broadcasts of e-sports competitions, and other gaming-related events. Content on the site can either be viewed live, or viewed on an on-demand basis. In 2014.09, Twitch was acquired by Amazon.com for $970 million.
 * Curse, Inc.: online game portal and network of gaming websites founded by Hubert Thieblot in 2006. Claiming to be the "number one resource for core online gamers," Quantcast estimated monthly unique traffic in 2013 in excess of 30 million visitors. Curse has several primary functions, the most notable of which include an add-on and modification service called Curse Client for such games as World of Warcraft, Rift, The Elder Scrolls V: Skyrim, Terraria, Kerbal Space Program, and Minecraft, a collection of over 1000 gaming wikis known as Gamepedia, and a Voice over IP (VoIP) service called Curse Voice. 2016.08.16 Curse announced that it had agreed to be acquired by Amazon.com Inc. via its subsidiary Twitch Interactive for an undisclosed amount.


 * Lab126: subsidiary of Amazon.com, responsible for R&D that formed in 2004, and widely known for developing Amazon's Kindle devices. It is based in Cupertino, California and is headed by Gregg Zehr.
 * In 2011, Lab126 released the Kindle Fire tablet and in 2012 released two new models of the Fire tablet called the Kindle Fire HD. In 2013, it released the Fire HDX.
 * In 2015, Lab126 released the Amazon Echo, a voice command device.


 * Amazon Echo: wireless speaker and voice command device from Amazon.com. The device consists of a 23.5 cm tall cylinder speaker with a seven-piece microphone array. The device is capable of voice interaction, music playback, making to-do lists, setting alarms, streaming podcasts, playing audiobooks, and providing weather, traffic and other real time information. It can also control several smart devices. Amazon Echo runs on AWS . In the default mode the device continuously listens to all speech, monitoring for the wake word to be spoken; also comes with a manually and voice-activated remote control which can be used in lieu of the 'wake word'.

Twitter

 * Twitter (2006.03.21-): microblogging and social networking service owned by American company Twitter, Inc., on which users post and interact with messages known as "tweets". Registered users can post, like, and retweet tweets, while unregistered users only have a limited ability to read public tweets. Users interact with Twitter through browser or mobile frontend software, or programmatically via its APIs. Tweets were originally restricted to 140 characters, but the limit was doubled to 280 for non-CJK languages in November 2017. Audio and video tweets remain limited to 140 seconds for most accounts. In 2013, it was one of the ten most-visited websites and has been described as "the SMS of the Internet". By the start of 2019, Twitter had more than 330 million monthly active users. In practice, the vast majority of tweets are written by a minority of users.
 * Black Twitter: social-media subculture, centered around Twitter, that highlights issues of interest to the black community, particularly in the United States


 * Acquisition of Twitter by Elon Musk (US$44 bln.; Initiated: 2022.04.14; Completed: 2022.10.27): Musk had begun buying shares of the company in 2022.01, becoming its largest shareholder by April with 9.1%. Twitter invited Musk to join its board of directors, an offer he initially accepted before declining. 2022.04.14, Musk made an unsolicited offer to purchase the company, to which Twitter's board initially responded with a "poison pill" strategy to resist a hostile takeover, before unanimously accepting Musk's buyout offer of $44 billion on April 25. Musk stated that he planned to introduce new features to the platform, make its algorithms open-source, combat spambot accounts, and promote free speech. 2022.07, Musk announced his intention to terminate the agreement, asserting that Twitter had breached their agreement by refusing to crack down on spambot accounts. The company filed a lawsuit against Musk in the Delaware Court of Chancery shortly thereafter, with a trial scheduled for the week of 2022.10.17. Weeks before the trial was set to begin, Musk reversed course, announcing that he would move forward with the acquisition. The deal was closed 2022.10.27, with Musk immediately becoming Twitter's new owner and CEO . Twitter was taken private and merged into a new parent company named X Corp. Upon acquiring Twitter, Musk promptly fired several top executives, including previous CEO Parag Agrawal. Musk has since proposed several reforms to Twitter and laid off half of the company's workforce. Hundreds of employees then resigned from the company after Musk issued an ultimatum demanding they commit to "extremely hardcore" work.
 * Twitter under Elon Musk: Musk acted as CEO of Twitter until he stepped down in June 2023 and was replaced by Linda Yaccarino. During that timeframe, the company introduced a series of reforms and management changes. Musk reinstated a number of previously banned accounts such as that of Donald Trump, reduced the workforce by approximately 80%, closed one of Twitter's three data centers, largely eliminated the content moderation team and replaced it with a new feature called Community Notes, and instituted a plan that charged personal users $8 per month to get a "verified" blue badge and $1,000 per month for an organizational gold badge.
 * X Corp. (2023.03.09-): USA technology company established by business magnate Elon Musk as the successor to Twitter, Inc. It is a wholly owned subsidiary of X Holdings Corp., which is itself owned by Musk. The company owns the Twitter social networking service and the job-matching tech startup Laskie, and has announced plans to use it as a base for other offerings.


 * Yoel Roth: head of site integrity at Twitter, responsible for countering disinformation and manipulation of public opinion on the platform. His previous academic work focused on privacy and self-expression on geospacial social networking services. In 2022.02, following the Russian invasion of Ukraine Roth presided over efforts to label Russian state affiliated media sources and in march expanded policies to slow the spread of disinformation about wars and natural disasters. Roth has spoken in this capacity at the RSA Conference on defending against disinformation campaigns on social media and to NATO about preventing online propaganda. Following the purchase of the platform by Elon Musk, who had announced plans to change moderation practices, Roth disclosed a concerted effort to present a change in moderation practices on the platform, consisting of 300 accounts posting more than 50,000 tweets. At the time, no change in moderation policies had occurred.

Facebook

 * Facebook (2004.02.04-) SW: LAMP ⇒ PHP (other langs: C++, Java, Py, Erlang), Linux (CentOS), MySQL; HipHop for PHP; Haystack; BigPipe; Apache Cassandra; Scribe (log server); Hadoop (⇒ Hive); Apache Thrift; Varnish (software)
 * Template:Facebook navbox: history: book, movie
 * Facebook Platform (2010-): software environment provided by the social networking service Facebook for third-party developers to create their own applications and services that access data in Facebook. Not fully open, no standards, no sharing with other services by allowing user to scrap one's own info (?)
 * Social graph
 * OpenSocial
 * Memcached (pronunciation: mem-cash-dee; FOSS; cross-platform): general-purpose distributed memory caching system. It is often used to speed up dynamic database-driven websites by caching data and objects in RAM to reduce the number of times an external data source (such as a database or API) must be read. Memcached's APIs provide a very large hash table distributed across multiple machines. When the table is full, subsequent inserts cause older data to be purged in least recently used (LRU) order . The size of this hash table is often very large. It is limited to available memory across all the servers in the cluster of servers in a data centre. Where high volume, wide audience web publishing requires it, this may stretch to many gigabytes. Memcached can be equally valuable for situations where either the number of requests for content is high, or the cost of generating a particular piece of content is high. Memcached was originally developed by Danga Interactive for LiveJournal, but is now used by: YouTube, Reddit, Zynga, Facebook, Twitter, Tumblr and Wikipedia.


 * Facebook Zero (2010-): initiative undertaken by social networking service company Facebook in collaboration with mobile phone-based Internet providers, whereby the providers waive data (bandwidth) charges (also known as zero-rate) for accessing Facebook on phones via a stripped-down text-only version of its mobile website, located at 0.facebook.com or zero.facebook.com (as opposed to the ordinary mobile website m.facebook.com that also loads pictures). 50 mobile operators (2010.05.18)


 * WhatsApp: 2014.02.19 Facebook Inc. announced its acquisition of WhatsApp Inc. for US$19 bln.


 * Facebook Messenger (2011.08.09-): instant messaging service and software application which provides text and voice communication. Integrated with Facebook's web-based Chat feature and built on the open MQTT protocol, Messenger lets Facebook users chat with friends both on mobile and on the main website.
 * MQTT: publish-subscribe based "light weight" messaging protocol for use on top of the TCP/IP protocol. It is designed for connections with remote locations where a "small code footprint" is required and/or network bandwidth is limited. The Publish-Subscribe messaging pattern requires a message broker. The broker is responsible for distributing messages to interested clients based on the topic of a message.


 * Phabricator: suite of web-based software development collaboration tools, including the Differential code review tool, the Diffusion repository browser, the Herald change monitoring tool, the Maniphest bug tracker and the Phriction wiki; free software under the Apache License, version 2. Phabricator was originally developed as an internal tool at Facebook. Phabricator's principal developer is Evan Priestley. Priestley left Facebook to continue Phabricator's development in a new company called Phacility.

Nokia

 * Nokia: in 2013.09 Nokia sold what was once the world's largest vendor of mobile phones to Microsoft as part of an overall deal totaling €5.44 billion; Stephen Elop, Nokia's former CEO, and several other executives joined the new Microsoft Mobile subsidiary of Microsoft as part of the deal, which closed in 2014.04.25.


 * Nokia Networks (formerly Nokia Solutions and Networks, Nokia Siemens Networks): multinational data networking and telecommunications equipment company headquartered in Espoo, Finland, and wholly owned subsidiary of Nokia Corporation.
 * Here (Nokia): Nokia business unit that brings together Nokia's mapping and location assets under one brand.

Oracle Corporation

 * Datalogix: consumer data collection company, based out of Denver, Colorado. Datalogix provides online, direct mail, and mobile services to their clients. The company's primary objective is to obtain and track offline and online data purchasing behavioral patterns, with the use of information obtained from retailers' loyalty card programs. This information is used to help advertisers maximize ad campaigns that will potentially increase profits. After consumer spending behaviors are measured, the information is sold to advertising companies and publishers, such as Facebook and Google.

Tesla Motors

 * Template:Tesla Motors
 * Tesla Motors: American automotive and energy storage company that designs, manufactures, and sells luxury electric cars, electric vehicle powertrain components, and battery products. Tesla Motors is a public company that trades on the NASDAQ stock exchange under the symbol TSLA. In the first quarter of 2013, Tesla posted profits for the first time in its history. Elon Musk.
 * Tesla Powerwall: rechargeable lithium-ion battery stationary energy storage products manufactured by Tesla, Inc. The Powerwall is intended to be used for home energy storage and stores electricity for solar self-consumption, time of use load shifting, backup power, and off-the-grid use. The larger Powerpack is intended for commercial or electric utility grid use and can be used for peak shaving, load shifting, backup power, demand response, microgrids, renewable power integration, frequency regulation, and voltage control.


 * Gigafactory 1: lithium-ion battery factory which is under construction primarily for Tesla Motors at the Tahoe Reno Industrial Center in Storey County, Nevada, US, slated to be operational by 2016 or 2017. The projected cost to build the facility was approximately US$5 billion. Nevada Governor Brian Sandoval estimated that Nevada would enjoy $100 billion in economic benefit over two decades from the construction of this factory. The factory started limited production of Powerwalls and Powerpacks in the first quarter of 2016 using battery cells produced elsewhere, and began mass production of cells in January 2017. Gigafactory 1, in Nevada, is aligned on true north, which was done so that the equipment can be mapped by GPS and solar panels on the roof can be accurately aligned. Also the factory has been designed to be entirely energy self-reliant. Cell level: revised specifications for the optimized form factor are 21 mm by 70 mm. Tesla thus refers to it as the '21-70', whereas Samsung refer to the size as '21700'.
 * Gigafactory 2: photovoltaic (PV) cell factory, leased by Tesla subsidiary SolarCity in Buffalo, New York. The factory, owned by the state of New York, was built on a remediated brownfield site from a former steel mill. Construction on the factory started in 2014 and was completed in 2016–17. The factory, in a partnership with Panasonic, started limited assembly of photovoltaic modules in the summer of 2017 using imported Japanese PV cells. It will begin mass production of modules through 2017.10. In 2018, SolarCity plans to begin production of individual solar cells. 2017.08 production of tiles for the Tesla Solar Roof had begun at the factory, along with traditional solar panels. 2018.01 Tesla announced, after testing on employees' roofs, that it would begin installing the new product on commercial customers' homes "within the next few months". While SolarCity operates a pilot production facility in Fremont, California, the Gigafactory provides ample capacity for 10,000 solar panels per day, equivalent to one gigawatt per year, providing a competitive edge to cheaper panel factories in Asia and operating as one of the largest facilities of its kind in the world.
 * Giga Shanghai (特斯拉上海超级工厂, or Gigafactory 3) is a factory in Shanghai, China operated by Tesla, Inc. The facility currently hosts the final assembly of the Tesla Model 3 and Tesla Model Y, with Model Y deliveries slated to begin in January 2021. The factory's initial production rate target is 3,000 cars a week, eventually ramping up to 250,000 electric cars per year. The first assembled Model 3s were delivered in December 2019, just twelve months after Tesla began site grading on the Gigafactory in December 2018. History: Background and Land purchase (2018), Construction (2019), Expansion (2021).
 * Giga Berlin (Tesla Gigafactory Berlin-Brandenburg, Gigafactory 4, Gigafactory Europe): European manufacturing plant for Tesla, Inc. under construction in Grünheide, Germany. The campus is 35 kilometres south-east of central Berlin on the Berlin–Wrocław railway, which forms the north border of the site between Erkner station and Fangschleuse railway station; and the A10 motorway, which forms the west border. History: Planning and locating (2015–2018); Construction (2019–2021): By 2020.02, environmental challenges had been cleared in court decisions which allowed vegetation on the site to begin being cleared. 2021.10.09, Tesla held the official Gigafactory Berlin-Brandenburg County Fair where they invited 9000 local guests to tour the factory.
 * Giga Texas (Tesla Gigafactory 5): automotive manufacturing facility near Austin, Texas, under construction by Tesla, Inc. since 2020.07. Tesla aims to have first production before the end of 2021 and volume production in 2022. History: Selection process; Austin: In 2014, Tesla evaluated 600 ha (6 km²) manufacturing site on U.S. Route 79 at Frame Switch (30.54°N 97.5°W), located between the towns of Hutto and Taylor, north-east of the Greater Austin center as its next factory. Tesla subsequently chose to construct Giga Nevada (formerly Gigafactory 1) in Nevada in 2014. By June 2020, a different location near Austin was being considered. It is 850 ha (8.5 km²) site (30.23°N 97.6°W) bordering Harold Green Road and Texas State Highway 130. Equipment: Die casting: During the night of 2021.01.18/19, concrete foundations for three Giga Press high-press die-casting machines were poured at the north-east corner Giga Texas factory location.


 * JB Straubel (1975.12.20-): part of the founding team and CTO of Tesla Motors; oversees the technical and engineering design of the vehicles. Straubel also has responsibility for new technology evaluation, R&D, technical diligence review of key vendors and partners, IP, and systems validation testing.


 * NUMMI (New United Motor Manufacturing, Inc.): was an automobile manufacturing company in Fremont, California, jointly owned by General Motors and Toyota that opened in 1984 and closed in 2010. 2010.10.27 its former plant reopened as a 100% Tesla Motors-owned production facility, known as the Tesla Factory. The plant is located in the East Industrial area of Fremont between Interstate 880 and Interstate 680.
 * Tesla Factory: formerly known as NUMMI. The state of California has supported the renewal, expecting tax income from sustained jobs. The first retail delivery of the Tesla Model S took place during a special event held at the Tesla Factory 2012.06.22. Over $17 million of manufacturing equipment and spare parts were acquired from NUMMI and Toyota in 2011, at significant discounts compared to new equipment. Tesla Motors started production with 1,000 workers. By 2013, this had risen to 3,000, and to 6,000 people in 2016.06. The plant has a high level of integration compared with other modern car assembly plants, with most processes taking place within the Tesla Factory. This includes most of the stamping and machining, painting, and some coding. The hydraulic press lines used to stamp the body panels are the largest in North America and the 6th largest in the world. 98% of the Tesla Model S body is constructed from aluminium and is produced from between 50 and 60 separate coils of aluminium each for various components. The battery pack (contains 7,104 '18650' lithium-ion battery cells in 16 modules wired in series) weighs almost 540 kg and is delivered to the installation area and is raised into the car using a lift. Placing the battery pack under the cabin floor adds strength and rigidity to the car and lowers the vehicle's center of gravity to 46 cm. A titanium plate is installed over the battery pack which protects it in the event of a high-speed collision and to protect from road debris.

Expansion, mergers and acquisitions:
 * SolarCity: subsidiary of Tesla, Inc. that specializes in solar energy services and is headquartered in San Mateo, California. SolarCity markets, manufactures, and installs residential and commercial solar panels in the US. SolarCity was founded in 2006 by brothers Peter and Lyndon Rive, based on a suggestion for a solar company concept by their cousin, Elon Musk, who is the chairman and helped start the company. 2016.11 Musk called the merger a "no-brainer" for SolarCity. He said that it was an accident of history that Tesla and SolarCity were two separate companies before the merger. Lyndon Rive left SolarCity 2017.06, and Peter Rive announced 2017.07 he would be leaving also. The chief policy officer of SolarCity, John Wellinghoff, left SolarCity 2017.04. Gigafactory 2 opened in Buffalo in late 2017.08. Products, services and technologies: Solar leasing ("no-money-down solar" business model became the most popular in the USA and increased installations but also added to SolarCity's debt, accounting for about half of the company's over $3 billion debt); Commercial solar; Electric vehicle chargers; Energy efficiency evaluations and retrofits; SolarStrong project; Energy storage; Installation technology (Zep is best known for inventing a system that allows PV installers to "snap together" panels on the roof more quickly than other installation approaches to shorten installation time); Solar roof (2016.08 Musk announced that Solar City would be introducing a new product called the Tesla Solar Roof where the photovoltaic electrical energy generating devices and system would make up an entire roof surface, rather than merely be the mounting of solar panels on an existing roof, stating "It’s not a thing on a roof. It is the roof"); Government-funded collaboration.


 * Tesla Grohmann Automation (formerly Grohmann Engineering GmbH): German engineering company based in Prüm in the state of Rhineland-Palatinate. The company operates a development center in Neutraubling, Bavaria, as well as support offices in Chandler, Arizona, and Shanghai, China. The company was founded in 1963 (official website states 1983) by Klaus Grohman and acquired by Tesla, Inc. in January 2017. Grohmann was ousted after clashing with Elon Musk, the CEO of Tesla, after he acquired the company. The company manufactures robotics that are used in the battery and electronics production for Tesla, Inc. at its Gigafactory 1.
 * de:Grohmann Engineering: 2016.11.08 gab der amerikanische Autobauer Tesla Motors bekannt, das Unternehmen zu übernehmen und künftig unter dem Namen „Tesla Advanced Automation Germany“ weiterführen zu wollen. Der Übernahme ist eine enge Zusammenarbeit bei der Entwicklung des Model 3 vorausgegangen.


 * Tesla Model 3: all-electric four-door compact executive sedan manufactured and marketed by Tesla, Inc. Limited production of the Model 3 began in 2017.07, with the first production vehicle rolling off the assembly line on 2017.07.07 and the official launch and delivery of the first 30 cars in 2017.07.28. Tesla CEO Elon Musk expects production to reach 20,000 vehicles per month by 2017.12.


 * Tesla Dojo: supercomputer designed and built by Tesla for computer vision video processing and recognition. It will be used to train Tesla's machine learning models to improve its Full Self-Driving (FSD) advanced driver-assistance system. According to Tesla it had begun to be used in production in July 2023. Dojo's goal is to efficiently process millions of terabytes of video data captured from real-life driving situations from Tesla's +4 million cars. This goal led to a considerably different architecture than conventional supercomputer designs.

Energy storage, batteries

 * Aquion Energy: Pittsburgh-based company that manufactures sodium ion batteries and energy storage systems. An individual battery stack was expected to store 1.5 kWh, a pallet-sized unit 180 kWh and a shipping-container-size box holds 2.88 mWh. The battery cannot overheat.

General Electric (GE)

 * General Electric (1892.04.15-): USA multinational conglomerate incorporated in New York state and headquartered in Boston. The company operates in aviation, power, renewable energy, digital industry, additive manufacturing and venture capital and finance. 2021.11.09, the company announced it would divide itself into three investment-grade public companies. 2022.07.18, GE unveiled the brand names of the companies it will create through its planned separation: GE Aerospace, GE HealthCare and GE Vernova. The new companies will be focused on aerospace, healthcare, and energy (renewable energy, power, and digital). The first spin-off of GE HealthCare was finalized on January 4, 2023, with GE holding 19.9% of shares. This will be followed by the spin-off of GE's portfolio of energy businesses which plan to become GE Vernova in 2024. Following these transactions, GE will be an aviation-focused company, renaming itself as GE Aerospace, and will be the legal successor of the original GE.
 * 2019.02.25, GE sold its diesel locomotive business to Wabtec. The former GE Transportation division merged with Wabtec 2019.02.25, leaving GE with a 24.9% holding in Wabtec.


 * GE HealthCare (GE HealthCare Technologies Inc.): USA multinational medical technology company headquartered in Chicago, Illinois. It was spun-off from General Electric 2023.01.04, with GE retaining 20%. As of 2017, it is a manufacturer and distributor of diagnostic imaging agents and radiopharmaceuticals for imaging modalities used in medical imaging procedures. It offers dyes used in magnetic-resonance-imaging procedures; manufactures medical diagnostic equipment, including CT image machines; MRI, XRAY; Ultrasound; Cath Labs; Mammogram; Nuclear Medicine Cameras; and develops Health technology for medical imaging and information technologies, medical diagnostics, patient monitoring systems, disease research, drug discovery, and biopharmaceutical manufacturing.
 * GE Aviation (1917-): subsidiary of General Electric, is headquartered in Evendale, Ohio, outside Cincinnati. GE Aviation is among the top aircraft engine suppliers, and offers engines for the majority of commercial aircraft. GE Aviation is part of the General Electric conglomerate, which is one of the world's largest corporations. The division operated under the name of General Electric Aircraft Engines (GEAE) until 2005.09. In 2024, GE Aviation will change its name to GE Aerospace in a move executives say reflects the engine maker's intention to broaden its focus beyond aircraft engines.