Technology

Computer Programming

Languages Skill Subgroups Skill Modifiers Software Development Hacking
 
 
 
COMPUTER PROGRAMMING SUBGROUPS
Computer Programming is divided into many subgroups in the MetaCyber setting that must be purchased separately as indicated by the below table.
Subgroups are optional, but a character takes a -2 skill penalty when using Computer Programming for a task in a Subgroup they don't have. Penalty Skill Levels cannot be purchased to apply to this penalty.
EXAMPLE: A character lacking the Infrastructure subgroup would suffer a -2 penalty when using their Computer Programming skill to read, write, modify, understand, debug, or otherwise interact with infrastructure oriented code such as firmware or a system admininstration utility.
A brief description of each subgroup follows
INFRASTRUCTURE
METACYBER COMPUTER PROGRAMMING SUBGROUPS
  • INFRASTRUCTURE
    • NETWORK CONFIG
    • FIRMWARE / EMBEDDED
    • MACHINE INTERFACE
    • SYSTEM ADMINISTRATION
  • GAME SOFTWARE
    • GRAPHICS
    • ENGINE
  • BUSINESS SOFTWARE
    • DATA ANALYSIS
    • ADMINISTRATION
    • TRANSACTIONAL
  • MALWARE
    • VIRUSES
    • SNIFFERS
  • HEURISTIC SOFTWARE
    • AGENTS
    • BOTS
  • HACKING
    • INFILTRATION
    • DEFENSE
  • DATABASING
  • NEURALLY ENABLED CONTENT
  • ELECTRONIC LOCKING DEVICES
  • PROPRIETARY CORPORATE TECH
    • Bought individually for 1 point
 
To interact with low level basic machine interfaces, configurations controlling the functionality of hardware, or embedded systems, a character needs the Infrastructure subgroup. Some embedded systems are written in E or E+. Most configuration is done via a wizard or simple scripts, but WSO and PFRC are needed to program or configure some higher end  interface hardware.
GAME SOFTWARE
To design or understand software used for recreational purposes, particularly the logic and capabilities of underlying game engines, components, and graphics algorithms, a character needs the Game Software subgroup.
Most Game Software is written in W12 or Pix-it, but many simple games are written in SW. Some games use components written in E or E+ to handle resource intensive or critical tasks making these excellent complementary languages.
BUSINESS SOFTWARE
To design or understand software used for business purposes, understand the purpose of data schemas associated with applications and the data stored therein, the logic and purpose of software that serves to administer or automate tasks, and transactional data tracking activity between one or more computers a character needs the Business Software subgroup. Business Software typically is written in E+, or W12. However, some lower budget, less robust, or rapidly developed applications are written in VD3. FS is new, but for the last several years a large share of new development has been done using it.
MALWARE
To design or understand software used for malicious purposes, particularly viruses and data sniffers, a character needs the Malware subgroup. This is a conceptual subgroup that represents specialized knowledge. Malware can be written in just about any language, but E or E+ is the most common since many types of viruses attack systems at the OS level, and E is ideal for that.
HEURISTIC SOFTWARE
To design and understand software written to be self-improving, with the ability to proactively make decisions based upon criteria rather than when told, or in other ways mimic the individuality of living people to some extent, a character needs the Heuristic Software subgroup. There is no standard Heuristic Software language; in general this discipline represents design concepts implemented in either mainstream or limited purpose custom languages. This skill is of little practical use in the current timeframe of MetaCyber, being largely theoretical...but also cutting edge.
HACKING
To dynamically interact with security measures, exploit or defend vulnerabilities, gain or prevent illicit access to, or otherwise suborn or reinforce the intended purpose of software, requires the Hacking subgroup. It also covers basic tricks of the trade related to disguising or recognizing Hacking activity. This is a conceptual subgroup that represents specialized knowledge and techniques, and is typically partnered with software tools and broader Computer Programming disciplines in execution. It is also strongly complemented by the Security Systems Skill (typically with the Only for Computer Security; -1/2 Limitation).
The Infiltration subgroup is of critical importance to would be "hackers", and the Defense subgroup is of critical importance to any party attempting to harden their systems against being hacked.
DATABASING
To understand, analyze, design, and administer databases and database components of various types requires the Databasing subgroup. This is a conceptual subgroup that represents specialized knowledge. In the modern era of MetaCyber, this is usually partnered with LDS and LQS.
ELECTRONIC LOCKING DEVICES
To program or circumvent higher end Electronic Locking Devices (ELDs) that use simple Computers for various purposes a Computer Programmer needs the Electronic Locking Device subgroup. Most ELDs use embedded processes, but if physical access to an interface port can be managed they can be reprogrammed to open or close as desired as a Tricky Task or harder (depending on the ELD). Most ELD's use WSO, but some use a stripped down version of Enoch, and others use a semi-custom syntax that is very similar to PFRC.
NEURALLY ENABLED CONTENT
To develop content usable via the "virtual reality" of the NET a character needs the Neurally Enabled Content (NEC) subgroup. This can be used alone for generic content, but needs to be combined with another subgroup to design specific content; for instance to design business applications that are Neurally Enabled would require both the Business Software and Neurally Enabled Content subgroups.
Neurally Enabled Content is written in a language called Neural Stimuli Descriptive Language (NSDL), which is included in this group. A completed set of NSDL code is effectively a wrapper for some other application written in a fully fledged language and is referred to as a NSDL Wrapper. A Wrapper basically serves to associate Neural Stimuli with emitted data from the wrapped application. NSDL has no support for debugging per se, but it does support a powerful benchmarking harness that can identify content that is outside of accepted neurally safe ranges.
PROPRIETARY TECHNOLOGY
Some corporations use proprietary technology and / or standards, which they usually guard the details of closely. This serves as a security deterrent to Computer Programmers that have not been exposed to the proprietary concepts. Characters must buy each proprietary technology they are able to program with effectively for 1 point.