![]() |
Jargon
confusing Internet & computer programming terms explained |
|
1G, 2G, 2.5G, 3G 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. More info: 3G/2.5G Controversy: GSM vs. CDMA
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).
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
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
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. Reference: W3C