Concepts of Computer Science

Computing

Compute APIs: CUDA, DirectCompute, OpenCL, etc.

Heterogeneous computing

Use more than one kind of processor or cores

  • CPU
  • GPU
  • Digital Signal Processors (DSP)
  • Field Programmable Gate Arrays (FPGAs)
  • other specialized processing capabilities

The main difference between OpenGL and OpenCL is that the OpenGL is used for graphics programming while the OpenCL is used for heterogeneous computing.

CUDA

CUDA (or Compute Unified Device Architecture) is a parallel computing platform and application programming interface (API) that allows software to use certain types of graphics processing unit (GPU) for general purpose processing – an approach called general-purpose computing on GPUs (GPGPU). CUDA is a software layer that gives direct access to the GPU's virtual instruction set and parallel computational elements, for the execution of compute kernels.

NUMA(Non Uniform Memory Access)

NUMA architecture: it takes a different amount of time to access different parts of memory, i.e. memories are not created equal: some are local and some are remote. Each processor has a local memory with low latency and high bandwidth, while remote memory is slower to access.

Idempotence

Idempotence is the property of certain operations in mathematics and computer science, that can be applied multiple times without changing the result beyond the initial application. e.g. HTTP GET.

HyperText

Hypertext = text + hyperlinks + others

Examples:

  • HTML: HyperText Markup Language
  • HAL: Hypertext Application Language

Progressive Disclosure

Progressive Disclosure is a concept in User Interface Design which advocates only presenting to the user the information they need when they need it.

Systems

Systems: groups of components that cooperate to perform some function.

Tethering

Phone as a Modem.

Bootstrapping

Bootstrapping means "to get (oneself or something) into or out of a situation using existing resources."

In computer science, bootstrapping refers to a self-starting process that is supposed to proceed without external input.

Modal Window

A modal window is a child window that disables parent window.

Code-as-Config

Code-as-Config is an architectural and development philosophy that treats configuration parameters, settings, and business logic rules as source code rather than static, manually managed data files (like XML, plain text, or database entries).

For example:

  • HCL: fully compatible with JSON, JSON can be used as completely valid input to a system expecting HCL
  • HOCON

Octet Stream

Octet Stream = Byte Stream.

The term "octet" means 8 bits, which is equivalent to a byte. Therefore, an octet stream is simply a stream of raw bytes.

Time-of-check to time-of-use (TOCTOU)

Time-of-check to time-of-use (TOCTOU) problems are software race conditions where a system verifies a condition (the check) but the state changes before the resource is used. During this brief time gap, attackers can swap resources or alter permissions, leading to privilege escalation, data corruption, and security breaches.

Loading...