Jargon
confusing Internet & computer programming terms explained

Related [edit]


     

1G, 2G, 2.5G, 3G, 4G devices - practically speaking 2G is digital cell phones, > 2G is always on data packet enabled cell phones/devices, and 1G is classic analogue. Officially the ITU states that devices must be able to achieve certain minimum data bandwidth rates (starting at 3 MBits/sec) to be officially recognized as 3G.  Hence the term 2.5G to designate functionally 3G devices with sub 3G bandwidth capabilities.  4G recently referes to WiMax based mobile phones/devices.  More info: 3G/2.5G Controversy: GSM vs. CDMA

3 P's - Marketing after product design boils down to price, place and promotion as they relate to a product brand's positioning strategy and core benefit proposition.

Adaptive Design Layout - A web design that primarily uses fixed width elements to contain primary media content.  This lends itself to single column vertical scrolling stacked design when viewed on low resolution displays, and fixed width multi-column layout when larger displays are detected.  Typically this is used for image galleries and related content that do not entail copious amounts of free running text.  Floating fixed width <div> block elements that stack are common implementation used for this layout.

Algae - A simple primordial plant structure that typically lives on a water surface and produces oxygen when it that grows by combining energy from sun light and abundant dissolved nutrients.  Algae blooms occurs when dissolved nutrients (often from human waste or agricultural run off) are so abundant that algae growth suddenly crashes, then oxygen consuming bacteria consume the excess algae to such an extent oxygen levels depleted to the point other more sophisticated nearby animal life (e.g. fish) suffocate.
Elsewhere: Mountain Empire Community College

Captive Portal
Elsewhere: Wikipedia

AdSense - Google's world dominating advertising revenue account program - very tightly integrated with all their products and services.  Essentially you have to have a special AdSense account to earn any revenue for sponsored content that appears on any of Google's properties.

Agile - Methodology typically for managing small software development teams. Emphasis is placed on reviewing requirements frequently and concentrating development on critical business related features that are rolled out every couple of weeks. Research suggests well disciplined senior developer teams and project managers are suited the best for Agile development methods. Related: SCRUM

AMI/AMR - Advanced Metering Infrastructure / Automatic Meter Reading.
AMI is the use of two way communication between upstream power suppliers and downstream power loads to coordinate exploiting lower rates, turning off non-critical devices, and other actions based of supply/demand information. AMR is simply the ability to remotely gather power meter data.

CI/CD, CICD - The DevOps software development pipeline that combines continuous integration and continuous delivery/deployment.

Class - Practically speaking this is a euphanism for object. C++ and Java have specific syntaxes for defining code to implement a class. Generally speaking a class has methods and properties which correspond to class functions and class data respectively. If one was so disposed, one could get similar functionality by custom mangling classic C function names to deal with a common struct. Basically a class is a way for a compiler to force programmers to enter code within an elaborate OOP guidelines.

Container - usually means a specific instance of a virtual machine. It also means that emulated code running in the VM can't disturb the underlying OS and any other processes it might running besides the VM container. Often a container of certain species have lite, std, and advanced variants simply by offering more baked in library calls (e.g. J2ME, JRE, J2EE).

CSS - Cascading Style Sheets
Elsewhere: less

DAM - Digital Asset Management
Due to the increasing ease of producing non-prose/text based content (i.e. images, music, and video), challenges have emerged in how to usefully store this content.  DAM systems help quickly offload such content from the original device that produced it and shares it fairly with key stakeholders and end users. 

ECMA (European Computer Manufacturers Association) - standards body increasingly used for Internet and software interoperation specifications. ECMA was established in the 1960's though in 1994 their charter expaned to become ECMA International - European association for standardizing information and communication systems. Notable ECMA standards include ...
  • Javascript (i.e. ECMAScript)
  • CLI (Common Language Infrastructure) - Microsoft's .NET is loosely based on this
ESB - Enterprise Service Bus.  A software/information system concept that attempts so partition solution into a collection of independent services that connect with each other over various API's or a messaging bus.  The goal of this approach is to lmit the complexity of any particular service' to both improve long term maintenace and to potetntially scale and contract services to address operation costs and high availability.  Related: SOA
Functional Programming This is a approach to software prgramming that attempts to break all operations into smaller tasks that are also functions.  A key constraint is that all state must be passed directly into the each function, notthing is indirecly referenced with being passed directly at the functional call.  This contrasts with Object Oriented Programming, where complex class state can be used as input and output for method functions. 

Hack - an enhancement made to a mechanical assembly or to source code without regard to any formal design process. To Hack - to disassemble and then reassemble something without compromising its function or referring to its documentation, especially to learn/verify its inner workings. Hacker - someone with sufficient prowess to hack. Origins - hacking as an activity arose as the need increased for skilled people who could maintain advanced technical devices that have inadequate, prohibitively expensive, or non existent original manufacturer support. Evil Hacker - frequent stereotype in popular fiction and sensational news coverage depicting a hacker as synonymous with malevolent intent.

HomePNA/HPNA - typically high performance networking over twisted-pair copper
This allows legacy plain old telephone service (POTS) lines to be leveraged for high performance networking.  Advantages over other more sophisticated transmission mechanisms include modest regulatory overhead, low cost, and compatibility with already installed legacy wiring.  Officially there is also HomePNA® Alliance, now part of the HomeGrid ForumSM, which certifies products to work against various evolving standards to this end.

HTTP - HTTP, HTTP/2, HTTP/3
Hypertext Transfer Protocol by which web sites are accessed.  More recently limitations in encrypted TCP/IP design have been identified, and better newer protocols leveraging simpler less reliable UDP, but with enhanced connection flow control in upper layers of the network stack have been added to HTTP/3.

ITIL - Internet Technology Infrastructure Library
A loosely organized program framework for managing online operations against various functional needs including: service catalog (i.e. general map/specification of important IT services), service level (i.e. contract dictating resources that may escalate/resolve concerns), capacity planning, continuity backup/recovery plans, information security plans.

MEAN - typically a web services stack that uses node.js (a variant of Javascript) to service backend web requests
Typically MEAN web stack is comprised of MongoDB, Express.js, Angular.js, and Node.js .  Compared to LAMP (Linux, Apache, MySQL, PHP), Node.js sits on top of Linux, Express roughly is equivelent to PHP, and MongoDB is equivalent to MySQL.  A more fitting acronym might be LNEM (Linux, Node, Express, MongoDB) to compare with LAMP.  However since MEAN was defined more recently, it embraced the extraordinarily more significant role client side Javascript provides in making web pages increasingly more like single page applications.  As such LAMPJ, adding J for client-side Javascript, is a more functionally equivalent with MEAN, which inserts an A for client side Javascript leveraging the Angular framework.  That said, Node is typically not deployed on front edge servers, but often uses Nginx and Apache proxy web servers to provide initial request handling.  An array of node.js systems then services only dynamic content requests that are forwarded from the front edge servers.

Lean - management methodology
Originally coined as reference to 1980's methodology employed by Toyota manufacturing process.  It's basic tenants include: Identify and clarify key customer focused mission of company/product line/service, identify and minimize all waste throughout production process while maximizing customer value, clear accountability for key metrics to drive preceding point.

Low Voltage Differential (LVD) vs Single-Ended (SE) - Many SCSI drives have multimode capability so they can be used with or without an LVD-capable host adapter. The primary benefits of LVD technology include faster transfer rates, reduced power consumption, increased allowable cable lengths, and improved device connectivity. Older system may function better in SE mode - which often can be forced via a jumper.

Kanban - Typically a message board layout used to better illustrate requests between different groups, often used for manufacturing and software development/release.  Vertical 'swim lanes' are depicted for each phase of production.  Cards/tags are placed in appropriate rows corresponding to each functional group.  Such depiction helps illustrate where backlogs are accumulating, and aid in aligning resources and/or communication to better address overall production challenges.

Object - (see class)

Object Model - usually this is a document that describes how several different kinds of objects are to relate to each other. Rarely is is this anything more than a rough guide. In practice almost all object models breakdown into high level abstracted objects, lowel level interfacing/implementation objects, and glue objects. A notable exception is the Document Object Model (DOM), which all modern web browsers internally use to represent and allow interaction with web pages.

Properties - (see class)

Pull Request - Typically this term is used for software development activity.  Generally this term is used to refer to a source code enhancement developed in a distinct version control branch, which is ready to be merged into the main stream production code base.  Projects that leverage the open source git version control system typically have a master branch, and merging a development branch into it culminates the logical conclusion of a pull request.  That said the phrase "Pull Request" is entirely made up.  Indeed it was coined by github as a web dashboard tool to help perform merges of code from development branches into main branch.

$ checkout master

$ git merge origin/devbranch

$ git push origin master
Elsewhere: OSS Watch

RAID - Redundant Array of Indepedent/Inexpensive Disks
0 - striping only, 1 - disk mirroring, 3 - striping plus parity, 5 - byte level striping and parity

Regular Expression - A standard way of writing text string matching expressions (e.g. *.txt, show all files like notes.txt, info.txt that end with .txt).  Elsewhere: Wikipedia.

Responsive Design Layout - A web design that dynamically reflows content to fill the full extents of a display regardless of resolution.  Typically content that is overwhelmingly comprised of generous runs of free flowing text works best using this layout.  Inline elements <p>, <span>, stretchable <div>'s with percentage and full width set, and dynamical resizing <table> elements that flexibly stretch to flow text are commonly used to implement this layout.

REST - Representational State Transfer. The REST approach to distributed computing accomodates legacy and non-uniform services unlike the more rigid approach used by SOAP or the venerable MIME-RPC. For more about REST, see publications by Roy T. Fielding.

SAN, NAS, DAS - Storage Area Network (e.g. SCSI, Fibre Channel, iSCSI), Network Attached Storage (e.g. SaMBa, NFS, FTP), Direct Attached Storage (e.g. storage controller on motherboards handling IDE/ATA, USB drives)

SCRUM - Project management technique which uses the notion of a Product Owner (secures funding, manages issues list), Development Team, and SCRUM Master which collectively plan Sprints (2 - 4 week development, documentation, and testing regimes) to complete chunks of functionality. Implicit in this methodology is that software development is inherently difficult to predict so empirical iterative rather than highly prescriptive predefined processes tend to produce better results. More information available at SCRUM Alliance. Related: Agile

Six Sigma - originally championed by Motorola, it is a project planning process with heavy emphasis on the use of stastical tools and evaluating production with regard to customer centric product requirements. In practice its use has proven effective only for already well established high volume manufacturing systems.

Service Oriented Architecture (SOA) - The webification of everything: send commands to your toaster, an accounts payable application, ... all exposing web services typically view-able from a web browser or used as 'components' in complex web applications.  'Formal' web services often 'publish' a WSDL 'contract' formatted in XML to describe web services and provide SOAP interfaces as implementation.  However, any form of online connection can provide a web service (e.g. REST - telnet, ftp, http, ...) and as such it can be harnessed as part of a SOA.  Most importantly, they abstract complex system into components that typically interactive with each other over some form of network.  This further decouple the internal complexity and hardware support for each component to scale independently and be tuned to optimize cost, system throughput, and availability.  Some have postulated that SOA systems are a maturation of IT technology which leverages economic capitalism to allow components to evolve and compete to provide a more efficient and resilient IT solutions.
stackoverflow: What is SOA in plain English?

SOAP - Simple Object Access Protocol. More info. Related: REST

SWOT - analysis to identify and analyze the Strengths and Weaknesses of a plan/product/organization, as well as the Opportunities and Threats revealed by the information you have gathered on the external environment. Links: Manager's Resource Center

Technical Debt
When software is deployed initially to meet some business or operational need, often it is done so as an initial prototype unproven to accomodate real world complexity and conditions.  Ideally every line of code has a unit test and all software can be broken apart into to various loosely couple modules that can be scaled independently to meet real world needs.  Technical debt then describes the the amount of work to tune a given system to optimally handle real world complexity and adaptablityi.  More often than not the amount of work for this is not easily determined and instead continuous overdesigning and patching work occurs increasing technical debt to such a great extent that ultimately code dies - requiring a complete rewrite from scratch.
Reference: Wikipedia, Scrum Alliance, Management Debt

UPnP - Universal Plug and Play
Plug and play for computer components has been around since Windows XP.  However new optional UPnP Internet protocals to allow firewalls to be bypassed so games and other peer to peer software can communicate more efficiently.  Inocuous as this may sound, it actually presents glaring security concerns.

UX / UI - User Experience, the high level 'screen play' of content, controls, and transitions that a dynamic graphical user interface a computer application implements.  As such it purposely omits detailed colors, layout dimensions, actual content, and finely rendered controls so that focus is more on system overall function. Wireframe, sketches, and such are typical for these designs. (blue print) User Interface, the near pixel accurate placement, coloring, sizing of a computer application&apos's graphics user interface - but as a flat reference image.  Such artwork is that can be used by computer programmers to implement. (interiral design)

Wear Leveling - Write wear remapping process commonly used by digital storage devices that have memory elements with limited rewrites.  Typically this is needed with solid state devices (SSDs) which are prone to memory element write wearing unlike magnetic storage of traditional hard disks.
Reference: Wikipedia

XML - Extensible Markup Language
Practically speaking it means that data is formatted in a human readable text file.  Formally, there are structured methodologies for parsing and typing XML files.  Recently Javascript's JSON data formatting has displaced XML as AJAX enabled web applications have become more popular.
Reference: W3C