Contact   Services   Source   Commentary 
 
Jargon
confusing Internet & computer programming terms explained
 Design   HOWTOlabs   Astral Musings   Org 
Related

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

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.

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

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

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.

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.

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)

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.

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. Your Toaster, an accounts payable application, ... all exposing web services typically viewable 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.

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

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

zap technologies
printable