User:Kazkaskazkasako/Books/EECS

From Wikipedia, the free encyclopedia
Jump to: navigation, search

Computer science (CS) and Electrical engineering (EE)

Contents

Intro to CS[edit]

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[edit]

Category:Areas 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

Theory[edit]

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

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

Category:Knowledge representation
Category:Semantic Web

{q.v. #Data/content}

Template:Computable knowledge & Knowledge representation and reasoning
Siri (software) (pronounced /ˈsɪri/): 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").

Hackers, freedom, free software culture[edit]

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.

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[edit]

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[edit]

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.”[1]), 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.

Hardware (HW)[edit]

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

{q.v. #Computer (machine)-human interaction, user interfaces}

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: 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: 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
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[edit]

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[edit]

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[edit]

Category:Information storage
Category:Archives
Category:Computer 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. #3D, 2D, (4D ≡ space-time), emedia} {q.v. User:Kazkaskazkasako/Books/All#Distribution, digital distribution}

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[edit]

Category:Automation

{q.v. #Artificial intelligence (AI), machine learning}

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:
  1. 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))
  2. Sandstorm (vehicle): Carnegie Mellon Uni's Red Team
  3. H1ghlander : Carnegie Mellon Uni's Red Team; sister vehicel of Sandstorm
  4. Kat-5 (vehicle): by The Gray Insurance Company; 100% pure Java; runs both the Mac OS X and Linux OSs.
  5. 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.

Automated vehicles on other planets[edit]

Flight spare of Pathfinder; test rovers: sibling to Spirit & Opportunity, Curiosity.
Wheel size comparison: Pathfinder, Spirit&Opportunity, Curiosity.
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[edit]

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.

Information: storage, processing, communication[edit]

{q.v. #Information storage and distribution} {q.v. User:Kazkaskazkasako/Books/All#Information}

Character encoding[edit]

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#Unicode: writing system of all writing systems (aka "alphabet" of all "alphabets"); a universal charset}:
UTF-8: Unix-like OSs and HTML documents.
Percent-encoding: UTF-8 is mainly chosen (a bit off-topic)
Comparison of Unicode encodings#Processing issues: 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: IsTextUnicode 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.

IT[edit]

5 Laws of IT:

  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. Klaiber's Law: "the silicon wafer size (e.g. 6/5/2011 300 nm) will dictate the largest diameter (e.g. 6/5/2011 315 mm conduit of PVDF) of ultrapure water (UPW) supply piping needed within a semiconductor wafer factory".
    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:
  3. 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)
  4. 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. . 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?
  5. Machrone's law: PC you want to buy will always be $5000 (in 1976-1990), $2000-$3000 (in 2000s)
Growth rate of world population (1950-2010, prediction till 2050) [6/5/2011]

Computing: mathematics[edit]

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

Algorithms[edit]

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

Programming, software[edit]

Category:Computer programming
Category:Computer libraries
Category:Computer programming tools
Category:System software
Category:Computer libraries
Category:Computing infrastructure
Category:Centralized computing
Category:Cloud infrastructure
Category:Computer libraries
Category:Cyberinfrastructure
Category:Middleware

{q.v. User:Kazkaskazkasako/Books/Mathematics#Logics (also philosophical sense)}

Ideas, philosophy, software (SW) development[edit]

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, 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".

Politics, law[edit]

Software patent#Overlap with copyright
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.

Programming languages[edit]

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. #Artificial intelligence (AI), machine learning}
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. #Data/content}
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
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.
Comparison of programming languages:
expressiveness (expressive power of the programming language): C ≤ C++ ≤ Java < Perl = Smalltalk = Python
Template:Programming language comparisons:
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
b:Visual_Basic/Arrays: also dynamic arrays (like in Python, but much more writing/coding overhead!)
b: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 AND function evaluates to false, the overall value must be false; and when the first argument of the OR function evaluates to true, the overall value must be true.
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

Syntax[edit]

Category:Syntax
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: r'<...>').
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.

Functional languages (functional programming languages)[edit]

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[edit]

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.
Comparison of layout engines (ECMAScript): Gecko (Firefox), Presto (Opera), Trident (IE), WebKit (Google Chrome, Safari) support level of various ECMAScript features.
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)[edit]

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[edit]

Category:Python (programming language)
Category:Python implementations
Category:Python software
Category:Python 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
  • 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"; print; separation of text and data: unifying str/unicode types (text type), introducing immutable bytes type and mutable bytearray type (data type)
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
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.
Python libraries[edit]
Category:Python libraries
Category:Python scientific libraries

Python scientific libraries:

NumPy
SciPy
Matplotlib
Sage (mathematics software)

Python libraries:

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

Books[edit]

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

Similarities between programming/scripting philosophies for certain applications[edit]

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[edit]

Category:Programming language topics
Category:Programming language implementation
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.

Programming platforms[edit]

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

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)
.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 (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, MATLAB, .NET, Lua, Java, Fortran.
OpenCL, Open Computing Language: runs on CPUs, GPUs and other processors (i.e. tries to be hardware independent)
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)

Compiling programs[edit]

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:
GnuWin
UnxUtils
diff

Bugs, vulnerabilities[edit]

Category:Software testing
Category:Software bugs
Category:Bug and issue tracking software
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.
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[edit]

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)

Markup languages[edit]

Category:Computer file formats
Category:Markup languages
Category:Computer languages
Category:Data modeling languages
Category:Markup languages
Category:Technical communication
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]
Document markup language
Comparison of document markup languages
Serialization: process of translating data structures or object state into a format that can be stored (for example, in a file or memory buffer, or transmitted across a network connection link) and reconstructed later in the same or another 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. This process of serializing an object is also called marshalling an object.
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: different ways to convert complex objects to sequences of bits (excludes markup languages used exclusively as document file formats). JSON (JavaScript syntax), XML (SGML), JavaScript syntax
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.
ReStructuredText (reST; .rst): part of the Python programming language Docutils project of the Python Doc-SIG (Documentation Special Interest Group); create a set of tools for Python similar to Javadoc for Java or POD for Perl; 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.
Labeled tab-separated values (.ltsv)

XML and family (parents and children)[edit]

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.
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][edit]

Category:TeX
Category:BibTeX
Category:TeX editors
Category:Free TeX software
Template:TeX navbox
TeX (1978-; by Donald Knuth; TeX): 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; Template:LaTeX): document markup language and document preparation system for TeX; set of commands defined in terms of the underlying TeX commands, often at many many layers of abstraction. Concepts like packages
\usepackage{...}
standardized package system, environments
\begin{environment} ... \end{environment}
and document classes
\documentclass{...}
were all introduced by Leslie Lamport in LaTeX. LaTeX is available on most OSs (Win, Mac OS X, UNIX, BSD, Linux, etc.). LaTeX is a wrapper around TeX. latex produces DVI.
LaTeX Project Public License (LPPL) & LaTeX#Licensing: 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[edit]

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".

W3C: web (internet) standards[edit]

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.

Programs working together[edit]

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[edit]

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, Pychecker

Cloud[edit]

Category:Cloud computing
Category:Cloud infrastructure
Category:Cloud standards
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.

3D, 2D, (4D ≡ space-time), emedia[edit]

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 {q.v. User:Kazkaskazkasako/Work#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#Language
User:Kazkaskazkasako/Books/All#Arts, media

}

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[edit]

Category:Computer graphics
Category:Vector graphics
Category:Vector graphics editors
Category:Graphics software
Category:3D computer graphics
Category:DirectX
Category:OpenGL
Category:Computer file formats
Category:Graphics file formats
Category:Image processing {q.v. User:Kazkaskazkasako/Work#Image processing}
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. #Programming platforms}
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.
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.

3D/4D/game engine "languages", standards[edit]

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[edit]

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.
List of Unreal Engine games
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[edit]

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
Portal:Computer graphics & 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[edit]

Category:Infographics
Category:Charts
Category:Diagrams
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
Template:Computer algebra systems: Mathematica, MathCad, Maple
Maxima (software) {Common Lisp}
Template:Numerical analysis software: MATLAB
GNU Octave {C++}: has been built with MATLAB compatibility in mind, and shares many features with MATLAB
Python modules (Template:SciPy ecosystem): numerical and scientific: SciPy, NumPy, matplotlib;
QtiPlot: interactive scientific graphing and data analysis
SciDAVis: interactive scientific graphing and data analysis
Veusz {Qt application written in Python, PyQt and NumPy}: publication-quality plots
SymPy {Python}: symbolic computation; goals of the library are to become a full-featured computer algebra system and to keep a simple code base to promote extensibility and comprehensibility
Computer algebra + numerical analysis SW:
Sage (mathematics software) (previously SAGE; sagemath): 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.
Comparison of statistical packages
Comparison of numerical analysis software
List of computer algebra systems
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).

Compression formats for emedia[edit]

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[edit]

{q.v. #Computer animation, graphics, CAD}

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
Template:Metalworking navbox
Metalworking: history - from gold to steel
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)

Networks (Internet: Web), (tele)communications[edit]

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[edit]

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[edit]

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[edit]

Ethernet: name came from the physical concept of ether
Ethernet physical layer

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#Frequency bands recommended by ITU
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)[edit]
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"[edit]

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
UDP encapsulation.svg
IP stack connections.svg

Applications using network[edit]

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 peer-to-peer 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)
Template:Remote administration software & Remote administration (rooting/0wning; hacking/cracking):
Virtual Network Computing (VNC): cross-platform
Remote Desktop Services (Terminal Services; Remote Desktop Connection (formerly called Terminal Services Client)): Remote Desktop Protocol: (RDP) 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.
Secure Shell (SSH): (PuTTY: originally for Windows, client for SSH)

Communication reliability[edit]

Byzantine fault tolerance
Two Generals' Problem

eCommerce, mCommerce[edit]

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

Websites[edit]

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.
Ranker (2009-): socially minded consumer web platform designed around collaborative and individual list-making and voting. Uses Freebase and Factual.
Pingdom: service that tracks the uptime, downtime, and performance of websites.

Internet: culture[edit]

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[edit]

Category:Computer networking
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.

Data/content[edit]

Category:Data management
Category:Content management systems
Category:Data structures
Category:Semantic Web
Solution stack: set of software subsystems or components needed to deliver a fully functional solution, e.g. a product or service (web application = OS + web server + DB + programming language).
  • LAMP (Linux + Apache + DB (MySQL, ...) + language (PHP, Python, Perl,...))
  • WISA (Windows Server + IIS + SQL Server + ASP.NET {many programming languages}) or WIMP (SQL Server → MySQL, ASP.NET → PHP)
  • others: LYME (LYCE), GLASS, MAMP, LEAP, OpenACS.

Data (data structure; data type, type)[edit]

Category:Programming constructs
Category:Data types
Category:Data structures
  • 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
Row-major order: row-major order and column-major order describe methods for arranging multidimensional arrays in linear storage such as memory.
  • Row-major order: C/C++, Mathematica, PL/I, Pascal, Python, Speakeasy, SAS
  • Column-major order: Fortran, OpenGL and OpenGL ES, MATLAB, GNU Octave, S-Plus, R, Julia, Rasdaman, and Scilab

Databases, labels, indexes, identifiers, schemes[edit]

Category:Database management systems

{q.v. User:Kazkaskazkasako/Books/All#Library, archive}

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.
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.
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. file:///home/username/RomeoAndJuliet.pdf, or http://www.wikipedia.org/) and URN (name, e.g. urn:isbn:0-395-36341-1, same for DOI, though there are DOI resolving HTTP).
URI scheme & Template:URI scheme: top level of URI naming structure. Generic syntax of URIs: <scheme name> : <hierarchical part> [ ? <query> ] [ # <fragment> ], e.g. http://en.wikipedia.org/wiki/URI#Examples_of_URI_references means: http - '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).

Web page, internet page[edit]

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

Semantic web, open data, knowledge base[edit]

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

q.v.:

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 (latitude;longitude) in (X)HTML
hCalendar: semantic (X)HTML
Wikipedia: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.
DBpedia: project aiming to extract structured content from the information created as part of the Wikipedia project
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#Wikidata}.
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.
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
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.
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

Web applications (web application frameworks)[edit]

Category:Web software
Category:Web applications
Category:Web application 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)
CherryPy
Zope: Python killer app.
Plone (software): Py
MoinMoin (CMS, Wiki)
Ruby {6}:
Ruby on rails. History: Basecamp (software)
Scala {4}
Smalltalk {2}

Content management[edit]

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[edit]

Category:Wiki software

List of wikis: Wikipedia, Wikia, TV Tropes, Wiktionary, Uncyclopedia, LyricWiki, wikiHow, Ciitizendium, Wikibooks

List of biological wikis: EcoliWiki, NeuroWiki,
m:List of largest wikis
Wikidot: Polish wiki hosting corporation which owns, operates and supports the community of wiki-based web projects at Wikidot.com, a social networking service and wiki hosting service (or wiki farm), developed in Toruń, Poland.

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}
Microsoft SharePoint
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[edit]

Personal wiki
Semantic Wiki:
Semantic MediaWiki
Freebase: 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
Personal knowledge management:
DokuWiki

Social web, social networking, instant messengers, virtual communities[edit]

Category:Virtual communities

{q.v. User:Kazkaskazkasako/Books/All#Virtual worlds, MMORPGs, online life}

Template:Computer-mediated communication

Virtual community
Collaborative software (groupware): algos: Operational transformation
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 > Open source; Etherpad Lite: almost complete rewrite of the original Etherpad software.
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. #Facebook}
Twitter (2006.03.21-)
Black Twitter: social-media subculture, centered around Twitter, that highlights issues of interest to the black community, particularly in the United States
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+
LinkedIn:
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.
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
Comparison of microblogging services:
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.
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 (Collaborative software)
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.

Computer/programming code documentation[edit]

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[edit]

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
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)).
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[edit]

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[edit]

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:
ShiftSpace: open source (MPL / GPL / LGPL), runs on FF with Greasemonkey.
others (proprietary, closed source, online): Diigo, reddit
See also: Virtual graffiti

Notetaking[edit]

Template:Notetaking software & Comparison of notetaking software

Computer file formats[edit]

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

Computer standards[edit]

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[edit]

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[edit]

Choosing "main programs, stacks": AlternativeTo

{q.v. #Hackers, freedom, free software culture}

Operating system (OS)[edit]

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#Commands: 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 ~/.
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[edit]

Category:Concurrency (computer science)
Category:Concurrent computing
Category:Threads (computing)
Template:Parallel computing: OpenMP (Open Multi-Processing), MPI (Message Passing Interface); threading: simultaneous multithreading (SMT) vs. temporal multithreading
Automatic parallelization
{q.v. #Programming platforms}
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[edit]

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.

Internet browser[edit]

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
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[edit]

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#Citation, references, SW, reference management}

Text editor, regular expressions[edit]

Category:Formal languages
Category:Pattern matching
Category:Regular expressions
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.
Vim (text editor) vs Emacs vs Notepad (software) (→ Notepad2 (305 KiB), Notepad++ (7.58 MB), 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)

Utility software[edit]

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)

Computer security software; Privacy software[edit]

Category:Utility software by type
Category:Computer security software
Category:Privacy software
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.

Media players[edit]

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[edit]

VLC media player
VideoLAN
MPlayer
Media Player Classic
Codecs:
Libavcodec
FFmpeg
K-Lite Codec Pack
Content accessing:
Libdvdcss
DeCSS

Audio[edit]

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[edit]

4D editing (sound, video, 2D, 3D, vector, raster) {q.v. #3D, 2D, (4D = space-time), emedia}
Blender
2D editing
raster:
GIMP (GEGL beta)
vector:
Ai (Adobe Illustrator)
Inkscape (SVG)
raster+vector: Photoshop
Image organizer:
Digikam [2]: "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[edit]

{q.v. #Social web, social networking, instant messengers, virtual communities}

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.

Internet forums, Internet communication, Internet news[edit]

Category:Virtual communities
Category:Internet forums
Category:Usenet
Category:News media

{q.v. #Internet: culture}

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[80] and Jürgen Christoffel from Fraunhofer Society) + 2000.08 (Google)).
Reddit (reddit): entertainment, social networking service and news website where registered community members can submit content, such as text posts or direct links. Only registered users can then vote submissions "up" or "down" to organize the posts and determine their position on the site's pages. Organized by areas of interest called "subreddits". One of the most popular subreddits is IAmA ("I Am A") where a user may post "AMAs" (for "Ask Me Anything"), or similarly "AMAAs" ( for "Ask Me Almost Anything").
Controversial Reddit communities

File sharing, Software cracking, Warez[edit]

Category:File sharing
Category:Copyright infringement of software
Category:Warez
Category:Software cracking
Category:Warez

Synchronization[edit]

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[edit]

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

Office[edit]

{q.v. #Microsoft Office}

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#Comparison of general and technical information

OpenOffice[edit]

Category:OpenOffice
A chart of derivatives of StarOffice, via the open-sourcing of OpenOffice.org.
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.
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+):

PDF[edit]

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.
Association for Information and Image Management (AIIM; founded in 1943 as the National Microfilm Association): non-profit organization that provides education, research, and best practices for document management and enterprise content management (aka electronically stored information)
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[edit]

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

{q.v.:

User:Kazkaskazkasako/Books/All#Arts, media\Distribution\Publishing
User:Kazkaskazkasako/Books/All#Typography

}

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[edit]

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[edit]

Autohotkey (AHK), FontForge

Software add-ons, extensions, themes[edit]

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.

SW as a service[edit]

Wikipedia (q.v. User:Kazkaskazkasako/Books/Wikipedia#Policy and politics, economics)
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.
Wikipedia: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[edit]

Category:Cybernetics
Category:Artificial intelligence
Category:Artificial intelligence applications
Category:Applied machine learning
Category:Expert systems
Category:Natural language processing software
Category:Computer vision
Category:Machine learning
Category:Applied machine learning
Category:Artificial neural networks
Category:Data mining and machine learning software
Category:Deep learning
Category:Machine learning algorithms
Category:History of artificial intelligence

{q.v.

}

Progress in machine classification of images: the error rate (%) of the ImageNet competition winner by year. Red line - the error rate of a trained human annotator (5.1%).
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.
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.
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".
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.
Why The Future Doesn't Need Us (in 2000.04 issue of Wired magazine, by Bill Joy (then Chief Scientist at Sun Microsystems)): he argues (quoting the sub title) that "Our most powerful 21st-century technologies — robotics, genetic engineering, and nanotech — are threatening to make humans an endangered species." Rather than relinquishment of artificial general intelligence, McGinnis argues for a kind of differential technological development in which friendly artificial intelligence is advanced faster than other kinds.
Intelligence explosion: expected outcome of the hypothetically forthcoming technological singularity, that is, the result of man building Artificial General Intelligence (AGI). AGI would be capable of recursive self-improvement leading to the emergence of ASI (Artificial Super Intelligence), the limits of which are unknown. Although technological progress has been accelerating, it has been limited by the basic intelligence of the human brain, which has not, according to Paul R. Ehrlich, changed significantly for millennia. However, with the increasing power of computers and other technologies, it might eventually be possible to build a machine that is more intelligent than humanity. It could then design an even more capable machine, or re-write its own software to become even more intelligent. This more capable machine could then go on to design a machine of yet greater capability. These iterations of recursive self-improvement could accelerate, potentially allowing enormous qualitative change before any upper limits imposed by the laws of physics or theoretical computation set in. Most proposed methods for creating superhuman or transhuman minds fall into one of two categories: intelligence amplification of human brains and artificial intelligence. The means speculated to produce intelligence augmentation are numerous, and include bioengineering, genetic engineering, nootropic drugs, AI assistants, direct brain–computer interfaces and mind uploading. The existence of multiple paths to an intelligence explosion makes a singularity more likely; for a singularity to not occur they would all have to fail. Eliezer Yudkowsky compares intelligence explosion to the changes that human intelligence brought: humans changed the world thousands of times more rapidly than evolution had done, and in totally different ways. An abundance of accumulated hardware that can be unleashed once the software figures out how to use it has been called "computing overhang." A significant problem is that unfriendly artificial intelligence is likely to be much easier to create than friendly AI.
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.
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.
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.
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 (NIPS): machine learning and computational neuroscience conference held every December. According to Microsoft Academic Search, NIPS is the top conference on machine learning.
Nick Bostrom (1973.03.10-): Swedish philosopher at the University of Oxford known for his work on existential risk, the anthropic principle, human enhancement ethics, superintelligence risks, the reversal test, and consequentialism. He holds a PhD from the London School of Economics (2000). In 2011, he founded the Oxford Martin Programme on the Impacts of Future Technology, and he is currently the founding director of the Future of Humanity Institute at Oxford University. Forecasts (when): with 10% confidence is 2024 (mean 2034, st. dev. 33 years), with 50% confidence is 2050 (mean 2072, st. dev. 110 years), and with 90% confidence is 2070 (mean 2168, st. dev. 342 years).
Superintelligence (hyperintelligence): hypothetical agent that possesses intelligence far surpassing that of the brightest and most gifted human minds. ‘’Superintelligence’’ may also refer to the form or degree of intelligence possessed by such an agent. Oxford futurist Nick Bostrom defines superintelligence as "an intellect that is much smarter than the best human brains in practically every field, including scientific creativity, general wisdom and social skills."
Simulation hypothesis: contends that reality is in fact a simulation (most likely a computer simulation), of which we, the simulants, are totally unaware. Some versions rely on the development of simulated reality, a fictional technology. The hypothesis has been a central plot device of many science fiction stories and films.
Postbiological evolution: form of evolution which has transitioned from a biological paradigm, driven by the propagation of genes, to a nonbiological (e.g., cultural or technological) paradigm, presumably driven by some alternative replicator, and potentially resulting in the extinction, obsolescence, or trophic reorganization of the former. Researchers anticipating a postbiological universe tend to describe this transition as marked by the maturation and potential convergence of high technologies, such as artificial intelligence or nanotechnology. Cultural evolution moves at a much faster rate than biological evolution and this is one reason why it isn’t very well understood. Intelligence Principle.
Stochastic gradient descent: gradient descent optimization method for minimizing an objective function that is written as a sum of differentiable functions.
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.

History of AI research, applications, industry[edit]

Category:History of 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.
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.
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.

Computer vision[edit]

Category:Computer vision
Category:Feature detection (computer vision)
Category:Object recognition and categorization
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.

Search, search engines[edit]

Category:Search engine software
Category:Recommender systems
Search Engine Watch
Google Blogoscoped: blog authored by Philipp Lenssen. It has been covering the search engine company Google since 2003.
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[edit]

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 [3]:

  1. Google everywhere, except:
  2. China/PRC: Baidu.com
  3. South Korea: Baidu.com
  4. RU: Yandex.ru
  5. Taiwan/ROC: Yahoo.com
  6. Japan: Yahoo.co.jp
  7. North Korea: NA

The workings of search engines:

Robots exclusion standard: robots.txt
Web crawler: bot/spider (aka ant, worm, indexer, Web scutter).

Natural language processing[edit]

Category:Natural language processing software
Category:Natural language processing toolkits
Natural language processing: 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.
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.

AI/machine learning researchers, neuroscientists/cognitive scientists, computer scientists, bioinformaticians[edit]

{q.v. #Cyborg}

Category:Artificial intelligence researchers
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 (1976-): Chief Scientist at Baidu Research in Silicon Valley. In addition, he is an associate professor in the Department of Computer Science and the Department of Electrical Engineering by courtesy at Stanford University.


AI companies[edit]

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.

AI at Facebook[edit]

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[edit]

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.
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 DeepMind: British artificial intelligence company. Founded in 2011 as DeepMind Technologies, it was acquired by Google in 2014.01.26. Company's focus is on publishing research on computer systems that are able to play games, and developing these systems, ranging from strategy games such as Go to arcade games.
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."
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.
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.

AI at Amazon[edit]

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.
Darwin among the Machines: name of an article published in The Press newspaper on 1863.06.13 in Christchurch, New Zealand; written by Samuel Butler. 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.

Computer (machine)-human interaction, user interfaces[edit]

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
Text editor: Brace matching, Code folding (text folding), Autocomplete (IntelliSense), Syntax highlighting, Line number. Less common features: Elastic tabstop.
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. #Artificial intelligence (AI), machine learning}
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
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[edit]

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).
ArchyUbiquity (Firefox) : dead end (end of coding)

Text user interface; console; command-line[edit]

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[edit]

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.

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

Evolution of mobile web standards
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
  • 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).
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. #Microsoft (MS)}
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
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).
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)

Virtual reality, mixed reality[edit]

Category:Human–machine interaction

Category:Virtual reality
Category:Mixed reality
Category:Display technology

{q.v. User:Kazkaskazkasako/Books/All#Virtual worlds, MMORPGs, online life}

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

Electricity[edit]

Corona discharge: electrical discharge brought on by the ionization of a fluid surrounding a conductor that is electrically energized; discharge will occur when the strength (potential gradient) of the electric field around the conductor is high enough to form a conductive region, but not high enough to cause electrical breakdown or arcing to nearby objects.

Superconductivity[edit]

Category:Superconductivity
Superconductor timeline
Unconventional superconductor: materials that display superconductivity which does not conform to either the conventional BCS theory or the Nikolay Bogolyubov's theory or its extensions. At present it is considered unlikely that cuprate perovskite materials will achieve room-temperature superconductivity.
High-temperature superconductivity (high-Tc, HTS): materials that behave as superconductors at unusually high temperatures. Until 2008, only certain compounds of copper and oxygen (so-called "cuprates") were believed to have HTS properties, however, several iron-based compounds are now known to be superconducting at high temperatures. "Ordinary" or metallic superconductors usually have transition temperatures below 30 K (−243.2 °C), HTS have been observed with transition temperatures as high as 138 K (−135 °C).
Iron-based superconductor (ferropnictides): chemical compounds (containing iron) whosesuperconducting properties have been discovered in 2006.

Electricity generation and distribution[edit]

High-voltage direct current (HVDC): electric power transmission system uses direct current for the bulk transmission of electrical power. Advantages of HVDC over AC: more economic for transmitting large amounts of power point-to-point over long distances (HVDC losses are ~3.5%/1000 km), HVDC powerflow between separate AC systems can be automatically controlled to provide support for either network during transient conditions, but without the risk that a major power system collapse in one network will lead to a collapse in the second; power transmission and stabilization between unsynchronised AC networks; cable systems (underground, undersea). Disadvantages of HVDC over AC: conversion (availability of ~98.5%, converter stations are expensive), switching, control, availability, maintenance, new technology which is fast changing (spare parts are kept for the specific lines, because there is no standardization), realizing multiterminal systems is complex, HVDC circuit breakers are difficult to build (ABB made one in 2012 which switches off the current in 5 ms).
List of HVDC projects:
Tres Amigas SuperStation: focuses on uniting North America’s two major power grids (the Eastern Interconnection and the Western Interconnection) and one minor grid (the Texas Interconnection); 5 GW superconductive high-voltage direct current power transmission lines.
Lithuania and neighbors: NordBalt (SwedLit) - planned submarine power cable between Klaipėda (LT) and Nybro (SE); LitPol Link - planned 1000 MW electricity link between the Baltic transmission system (part of the IPS/UPS system (CIS)) and the synchronous grid of Continental Europe.

Grids:

Super grid ("mega grid"): wide area transmission network that makes it possible to trade high volumes of electricity across great distances.
European super grid: possible future super grid that would ultimately interconnect the various European countries and the regions around Europe's borders.
SuperSmart Grid (SSG): hypothetical wide area electricity network connecting Europe with northern Africa, the Middle East, Turkey and the IPS/UPS system of CIS countries.
Synchronous grid of Continental Europe (Continental Synchronous Area, UCTE grid): largest synchronous electrical grid (by connected power) in the world; interconnected a single phase-locked 50 Hz mains frequency electricity grid that supplies over 400 million customers in 24 countries (most of EU); 2009 - 667 GW of production capacity.
European Network of Transmission System Operators for Electricity (ENTSO-E): association of Europe's transmission system operators for electricity. 5 regional groups: Continental Europe, Ireland, United Kingdom (UKTSOA), Nordic (NORDEL), Baltic (BALTSO)

Companies in EECS[edit]

EECS giants and little ones. HW+SW, mainly HW, mainly SW, server racks (aka "clouds")

Template:Major information technology companies:

mentioned more than once [14/09/29]:
BT Group (UK) [2]: ex-British Telecom
Dell [3]
Fujitsu (JA) [6]
Hitachi (JA) [2]
HP [6]
IBM [5]
NEC (JA; 日本電気株式会社 Nippon Denki Kabushiki Gaisha; till 1983: Nippon Electric Company, Limited) [3]
Nippon Telegraph and Telephone (NTT; JA) [3]
Toshiba (JA) [4]
Oracle [3]
Samsung (KO) [6]
Acer Inc. (ROC) [2]
Apple [3]
Asus (ROC) [2]
Huawei (PRC) [2]
LG (KO) [3]
Sony (JA)
ZTE (PRC) [2]
TCL + Alcatel-Lucent [2]
Cisco [2]
SK Group= SK Telecom + SK Hynix [2]
Semiconductors
Intel (x86, x86-64)
OEMs: Foxconn (ROC, PRC), Quanta (ROC)
Removed:
Nokia (FI) [mobile business sold: 2013.07-2014.04]→ Nokia (new) + Microsoft Mobile (Microsoft owned company)
History of IBM

Chinese (PRC) companies[edit]

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

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[edit]

YouTube {q.v. User:Kazkaskazkasako/Books/All#Distribution, digital distribution, broadcasting}

A graphic made to display the structure of Alphabet Inc.
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".
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 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.
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
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.

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.
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.
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)[edit]

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.
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.

Microsoft Windows family[edit]

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:
  1. Early versions:
    • Windows 2000 (2000.02.17- Extended support ended: 2010.07.13) and earlier NT: 3.1, 3.5, 3.51, 4.0
  2. 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)
  3. Windows Server
Windows Embedded: Embedded Compact (CE); Embedded Automotive; Embedded Industry; Embedded 8
Windows Mobile (obsolete): ↓
Windows Phone (current): ↓

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.
Windows NT[edit]
Category:Windows components
Template:Microsoft Windows components & List of Microsoft Windows components:
  1. 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...)
  1. 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".
  1. 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".
  1. 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.
  1. 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.
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.
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:
  1. File system (basic): dir
  2. File system (advanced):
    tree: graphically displays the directory structure of a drive or path.
  3. Processes: Shutdown
  4. User environment: pushd
  5. networking: ipconfig, netstat (Internet socket), nslookup,
    Net use: drive mapping ("mapping" in MS terminology)
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: pcoming release of the Microsoft Windows operating system. Unveiled in 2014.09.30, it will be released in late 2015.
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). gpupdate. 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). gpresult (specifically gpresult /R 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.
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 peer-to-peer 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[edit]

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[edit]

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[edit]

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[edit]

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

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.
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.
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'.

Facebook[edit]

Facebook (2004.02.04-) SW: LAMP ⇒ PHP (other langs: C++, Java, Py, Erlang), Linux (CentOS), MySQL; Memcached; 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
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.

Nokia[edit]

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[edit]

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[edit]

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 product manufactured by Tesla Motors for home use. It stores electricity for domestic consumption, load shifting, and backup power.
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.
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.

Energy storage, batteries[edit]

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.