Software Engineering Glossary
.
- special directory in Unix-based operating systems that represents the current directory
..
- special directory in Unix-based operating systems that represents the parent directory
.htaccess
- configuration file for Apache
- .NET
- open source managed software framework developed by Microsoft based on C#
- 2D
- space with two dimensions
- 3 2 1 backup rule
- states that there should be 3 copies of the data on 2 different media with 1 copy off-site
- 32bit architecture
- architecture for CPUs and operating systems that allows to address 2^32 bytes of memory
- 3D
- space with three dimensions
- 3D printing
- additive manufacturing process of making 3D objects from a digital blueprint
- 3G
- third generation of mobile network technology
- 4G
- fourth generation of mobile network technology
- 64bit architecture
- architecture for CPUs and operating systems that allows to address 2^64 bytes of memory
- 68-95-99.7 rule
- 68% of values lie within one standard deviation of the mean, 95% lie within two, and 99.7% lie within three
7z
- file format for compression, also a program implementing it and command for it
- 802.1x
- IEEE standard for network access control
- 8K UHD, 8K Ultra HD, 8K Ultra High Definition
- video resolution of 7680x4320 pixels
- A record
- DNS record that maps a domain name to an IPv4 address
- AAAA record
- DNS record that maps a domain name to an IPv6 address
- AAC, advanced audio coding
- file format for encooding audio
- AAI
- abbreviation for authentication, authorization and identity
- abandonware
- software that is no longer maintained by its developer and is no longer sold or supported
- ABC, abstract base class
- abstract base classes module in Python which decorates methods as abstract and then registers concrete classes as implementations of the abstract base
- absolute path
- path that starts with the root directory
and points to the same location within file system
regardless of where it is used;
e.g.
/var/log/syslog
; cf. relative path - abstract class
- class containing at least one abstract method
- abstract data type, ADT
- mathematical model for data types defined by its behaviour
- abstract method
- method that has a declaration but does not have an implementation
- abstract syntax tree, AST
- tree representation of the syntax of a code or structure of program
- acceptance criteria
- set of conditions that a software must satisfy to be accepted by a stakeholder or a customer
- access control
- security technique that restricts access to a resource based on authentication and authorization
- access point, AP
- network node that allows devices to connect to the network
- accessibility
- property of a software that makes it usable by people with disabilities or special needs
- account
- representation of the identity of a user in a system
- accuracy
- metric for machine learning and information retrieval which gives the proportion of correct predictions among total number of cases; TN + TP / (TN + TP + FN + FP)
- Acer
- computer manufacturer
- ACID
- set of properties of database transactions; see atomicity, consistency, isolation, durability
ack
- command for searching in text files with regular expressions
- ACL, access control list
- list used by operating systems and network services to manage access permissions to resources
- ACPI, advanced configuration and power interface
- specification for operating systems to discover and configure hardware components
- Acrobat Reader
- program for viewing PDF files developed by Adobe
- activation function
- function that transforms the output of a neuron into a value that is then passed to the next layer; e.g. ReLU, sigmoid, tanh
- activation record
- data structure containing information about a function’s execution state, including parameters, local variables, and return address
- Ada
- statically typed object-oriented high-level programming language developed by the US Department of Defense for embedded systems
- Adam optimizer
- optimizer that uses weight decay and momentum from SGD optimizer
- AdamW optimizer
- optimizer that uses weight decay and momentum from Adam optimizer
- adblock
- software for blocking ads on websites usually in the form of a browser extension
- add-one smoothing
- technique in NLP to adjust probabilities to avoid zero probabilities of OOV words
- additive synthesis
- sound synthesis technique that adds sine waves together
- adequacy
- metric in machine translation which refers to how well the meaning of the source text is preserved in the target text
- Adobe
- company that develops software for creative professionals
- Advent of Code, AOC, AoC
- yearly programming challenge
- AES, ADVANCED ENCRYPTION STANDARD
- encryption algorithm
- affine function
- composition of a linear function followed by a translation
- affordance
- property of an object that suggests how it can be used
- aggregation
- function which combines several items (e.g. rows) into one value; e.g. average, count, min, max, median, sum, range etc.
- AGI, artificial general intelligence
- AI that can perform any intellectual task that a human can
- agile, agile development
- flexible and iterative approach to project management from 90s that prioritizes adaptability and emphasizes lots of small steps and continuous improvement instead of upfront planning and long-term scheduling
- Aho-Corasick algorithm
- algorithm for finding multiple search patterns in a text
- AI alignment
- subfield of AI that studies how to align artificial intelligence) with human values
- AI complete problem
- problem or task that is as hard as any artificial intelligence problem
- Airbyte
- software for connecting a source of data with a consumer of the data
- Airflow
- open source software developed by Apache written in Python for workflow management
- AJAX, asynchronous JavaScript and XML
- technique used in web development to create interactive and dynamic web applications based on JavaScript and XML
- Alexa
- voice assistant developed by Amazon
- AlexNet
- convolutional network model architecture that won the ImageNet competition in 2012
- ALGOL
- high-level programming language developed in 1958
- algorithm
- finite sequence of instructions for solving a problem or doing a computation
- aliasing
- having multiple names for the same thing
- ALPAC
- commitee known for its 1966 negative report impacting funding for machine translation research
- alpha channel
- layer of transparency in a bitmap image
- AlphaGo
- AI algorithm that learned to play the game of go by playing against itself
- AlphaZero
- AI algorithm that learned to play chess, shogi and go by playing against itself
- alpine
- CLI client for email written in C
- Alpine Linux
- lightweight Linux distribution based on musl and busybox
- ALSA, advanced Linux sound architecture
- software framework and part of the Linux kernel for providing an API for sound card device drivers
- alsamixer
- CLI software for controlling sound card drivers
- Alt key
- modifier key on a keyboard that modifies the function of other keys
- ALU, arithmetic logic unit
- core component of a CPU that performs arithmetic and logical operations
- Amazon
- company which started as an online bookstore and has grown into one of the largest companies in the world
- ambiguity
- property of a word or phrase with multiple meanings or interpretations
- AMD, advanced micro devices
- company that produces CPUs and GPUs
- ampersand
- name of the symbol
&
- Anaconda
- distribution of the Python and R programming languages for scientific computing
- Miniconda
- minimal installer for Anaconda containing only conda and Python
- anaphora
- word or phrase that refers to another word or phrase in a text; e.g. “I like the book. It is interesting.”
- anaphora resolution
- NLP task of finding anaphoras in a text
- anchor (HTML)
- HTML element in a hypertext document that links to another document or a specific part of it
- anchor (regular expression)
- regular expression metacharacter that fixes position without matching any characters
- AND
- binary logical operation that outputs true only when both inputs are true
- Android
- mobile operating system developed by Google based on Linux
- Android Studio
- IDE for developing Android apps developed by Google based on IntelliJ
- angel investor
- individual who provides seed funding for a startup
- Angular
- TypeScript web framework developed by Google
- AngularJS
- discontinued (as of 2023) JavaScript web framework developed by Google
- anomaly detection
- machine learning technique for identifying unusual data points in dataset
- anonymous function
- function that does not have a name
- ANSI C
- C standard published by ANSI
- ANSI, American National Standards Institute
- organization that oversees the development of voluntary consensus standards for products, services, processes, systems, and personnel in the United States
- Ansible
- open source CLI automation software developed by Red Hat written in Python; it can configure systems, deploy software, and orchestrate advanced workflows to support application deployment, system updates, and more using ssh execution from controlled to managed nodes
- Ansible Tower
- web-based UI and dashboard for Ansible
- Ant
- build system for Java projects
- anti entropy
- process in distributed systems used to ensure data consistency and synchronization among nodes
- anti join
- join that returns only rows from the left table that do not match any rows in the right table
- Apache software foundation, ASF
- software foundation that develops open source software
- Apache license
- open source software license developed by the Apache software foundation
- Apollo
- GraphQL client and server library for JavaScript
- Apache (HTTP server)
- HTTP server developed by Red Hat
- API, application programming interface
- way for two or more programs to communicate with each other, type of software interface, offering a service to other pieces of software
- APK, Android application package
- file format for Android apps
- APL, a programming language
- programming language developed in the 60s for mathematical notation
- append
- operation which adds items to the end of a list or file
- appimage
- file format for Linux apps
- Apple
- technology company that specializes in consumer electronics, proprietary software, and online services; e.g. macOS, Xcode. Swift, App Store
- AppleScript
- scripting language developed by Apple for macOS
- applet
- small application
- application, app
- see software
- AppStore
- software distribution platform for iOS apps
- apt, advanced packaging tool, aptitude
- CLI package manager for Debian-based Linux distributions
- Arch Linux
- Linux distribution that follows the KISS principle
- architecture (machine learning
- functional form or type of a model; sometimes incorrectly used as a synonym of the model itself
- archive
- file containing one or more files and/or directories
- Ardour
- open source DAW
- Arduino
- microcontroller board
- argc, argument count
- parameter in the main function that represents the number of command line arguments
- argmax
- operation that finds the argument that gives the maximum value from a target function
- argument
- value passed to a function when calling it; it can be passed by value or by reference; cf. parameter
- argv, argument vector
- parameter in the main function that is an array of strings representing the command line arguments
- arithmetic mean
- sum of a collection of numbers divided by the count of numbers in the collection
- ARM, Advanced RISC Machine
- processor architecture using a RISC instruction set
- ARM64
- 64-bit version of the ARM architecture
- array
- data structure for storing a sequence of simpler (usually homogenous) data types
- array programming language
- programming language operating mainly on arrays; e.g. APL, J, K, NumPy
- Arrow
- framework for tabular in-memory analytics developed by Apache
- artificial intelligence, AI
- field of computer science that studies how to make computers do things that people are (or have been) better at
- Asana
- software for project management
- ASCII art
- ASCII text characters and symbols that are combined to create an image
- ASCII, American Standard Code for Information Interchange
- encoding standard for plain text using 7-bit to represent Western European language characters; cf. Unicode
- asciidoc
- markup language for documentation
- ASGI, asynchronous server gateway interface
- protocol for web servers written in Python
- ASP.NET
- web framework developed by Microsoft for C# and .NET
- aspell
- CLI spell checker
- ASR, automatic speech recognition
- see speech recognition
- assembler
- software for converting assembly into machine code
- assembly
- low-level programming language that is a human-readable representation of machine code
- assertion
- expression in a programming language that is assumed to be true; used for debugging but sometimes dropped by compilers or interpreters during runtime
- assignment
- statement that assigns a value to a variable
- association-rule mining
- unsupervised learning technique for finding relations between variables in a dataset; e.g. people who buy diapers also buy beer
- associative array
- data structure that maps keys to values; cf. dictionary and map
- asterisk
- name of the symbol
*
- ASUS
- company that develops hardware
- asymmetric cryptography
- cryptography system that uses different keys for encryption and decryption
- asynchronous operation
- operation that does not block the process from executing other tasks or operations
- asynchronous programming
- programming paradigm that allows the program to concurrently execute multiple tasks without waiting for the completion of the previous task
- at sign
- the name of the symbol
@
- AT&T Bell Labs
- R&D division of AT&T that developed Unix and C
- R&D, research and development
- process of developing new products or services
- Atlasian
- that develops products for software developers, and project managers among other groups
- Atlassian
- company that develops software for software development teams
- atomicity
- property of a transaction that guarantees that either all or none of the operations are performed
- attention
- mechanism in neural networks that allows the network to focus on specific parts of the input
- attribute
- property (feature) of an object
- Audacity
- open source audio editing and recording software
- audio embedding
- embedding of an audio signal
- authentication
- process of verifying the identity of a user or a system
- authoritative name server
- server that stores the DNS records for a domain
- authorization
- process of verifying that a user or a system has access to a resource
- autocompletion, auto-completion
- feature that suggests possible completions for a word or phrase as the user is typing and allows the user to use the completion by pressing a key (tab) or clicking a button
- autocorrelation, auto-correlation
- correlation of a signal with itself shifted by a certain interval called lag
- autoencoder
- type of artificial neural network used for learning efficient codings, typically for the purpose of dimensionality reduction
- autokey cipher
- cipher that incorporates the message into the key for encryption
- automatic variable
- variable that is created and destroyed automatically
by the compiler or interpreter;
e.g.
$@
in make - automation
- process of replacing a manual process with a computerized one
- automaton
- mathematical model of a machine that can perform computations
- autoregressive model
- model which uses past predictions for predicting the value
- availability
- property of a system that ensures that the information is accessible to authorized users
- AVC, advanced video coding
- standard for video compression
- AVI, audio video interleave
- file format for video and audio
- AVL tree, Adelson-Velskii Landis tree
- self-balancing binary search tree with height difference of at most 1 between left and right subtrees
- Awesome WM
- tiling window manager
- AWK, awk, Aho–Weinberger–Kernighan
- programming language for processing files in text format
- AWS, Amazon Web Services
- cloud computing platform from Amazon
- ax
- 16-bit general-purpose register in x86 that is the lower half of eax
- axiom
- formal statement that is assumed to be true
- Azure
- IaaS from Microsoft
- B tree
- TODO
- Byobu
- terminal multiplexer
- B+ tree
- TODO
- B-frame
- frame that is encoded using motion compensation from both the previous and the next frame
- B2B, business to business
- providing services, products to other businesses
- B2C, business to costumer
- business model where a company sells products or services directly to consumers
- Babel
- transpilation library for JavaScript
- BabelNet
- multilingual lexicalized semantic network and ontology automatically created by linking Wikipedia to the WordNet
- back button
- GUI button in a web browser that allows the user to go back to the previously visited page
- back propagation, backprop
- algorithm that iteratively updates weights of the model according to the loss function
- backdoor
- attack TODO
- backend, be, back-end
- part of a software that is not directly accessed by the user and is usually running on a server
- background process, background job
- process that is not directly accessed by the user
- backoff model
- statistical language model that uses a hierarchy of simpler models when data is sparse
- backport
- TODO
- backup
- a copy of data that can be used to restore the original data
- Backus-Naur form
- notation for describing the formal grammar of a programming language
- backward compatibility
- property of a software that allows it to work with older versions of itself
- balanced parentheses
- property of a string that contains an equal number of opening and closing parentheses in the proper order
- bandwidth
- maximum amount of data that can be transferred over a network in a given amount of time
- bar chart
- chart that uses bars to show the frequency of categorical data
- base address
- memory address that serves as a reference point for accessing elements or data structures in memory
- base64
- binary to text encoding that represents binary data in an ASCII string format
- Bash, Bourne Again Shell
- shell for Linux-based operating systems developed by GNU
- BASIC
- programming language from 60s designed for students to learn programming
- batch
- random portion of training data used for forward pass (every time different/random) to save compute time; too small batches may introduce noise in loss values over time
- batch normalization
- technique for normalization of neural networks that normalizes the output of a layer to have mean of 0 and a standard deviation of 1
- batch size
- hyperparameter of neural networks that determines the number of examples in a batch
- Bayes’ rule
- see Bayes’ theorem
- Bayes’ theorem
- if P(x) is true then P(y|x) = P(x|y) * P(y) / P(x); cf. conditional probability
- Bayesian network
- graph that represents conditional dependencies between random variables
- Bazaar
- version control system developed by Canonical
- Bazel
- open source build system developed by Google; similar to make
- Beam
- framework for distributed batch and streaming data processing developed by Apache
- beam search
- algorithm for finding the most likely sequence of words in a language model
- BEAM, Bogdan Erlang Abstract Machine
- virtual machine for Erlang programming language; used also by Elixir
- BeautifulSoup
- Python library for web scraping and HTML parsing
- behavioral pattern
- design pattern that describes communication between objects
- benchmark
- running an experiment on system, component, algorithm to asses its performance, efficiency or other metric
- BERT, Bidirectional Encoder Representations from Transformers
- transformer-based ML technique for NLP pre-training
- bfloat16
- float format suitable for NVIDIA cards
- bias
- constant which is added to the product of features and weights used to offset the result to help the models to shift the activation function towards the positive or negative side
- bidi, bidirectional text
- text containing both left-to-right and right-to-left scripts
- big data
- term for a large amount of data that is too large to be processed by traditional methods or by a single computer
- big O notation, O()
- mathematical notation that describes the time complexity of a function (or algorithm) and puts an upper bound on time, memory or other resources required for the function
- BigQuery
- data warehouse from Google
- bigram
- n-gram of size 2
- BigTable
- distributed database from Google
- binary
- compiled executable file
- binary operator
- operator that takes two operands;
e.g.
1 + 2
- binary representation
- representation of a value (number) in base 2;
i.e. using only
0
s and1
s - binary search
- search algorithm that finds the position of a target value within a sorted array in logarithmic time by a recursive process of splitting the searched part of the array in half
- binary search tree
- binary tree where the left child is smaller than the parent and the right child is larger than the parent
- binary tree
- tree data structure where each node has at most two children
- binomial distribution
- probability distribution that describes the number of successes in a sequence of trials which can have two outcomes (success or failure); as the number of trials increases the distribution approximates normal distribution
- bioinformatics
- interdisciplinary field that studies biology using computer science approaches
- biometrics
- authentication method that uses biological characteristics of a person; e.g. fingerprint
- BIOS, Basic Input/Output System
- firmware that initializes hardware during booting of a computer
- Bison
- parser generator from GNU
- bit
- smallest data representable by a computer, 0 or 1, true or false, on or off
- Bitbucket
- version control system developed by Atlassian
- bitcoin
- cryptocurrency and blockchain protocol
- bitmap
- data structure that represents a bit array
- bitmap image
- digital image represented by a bitmap
- bitrate
- data rate of a digital signal measured in bits per second
- bittorrent
- peer-to-peer file sharing protocol
- bitwise operation
- operation that is performed on bit level
- Blackberry
- smartphone brand
- blade server
- compact server computer with a modular design optimized to minimize the use of physical space and energy
- Blender
- open source 3D graphics software
- BLEU, Bilingual Evaluation Understudy
- metric for evaluating the quality of machine translation
- blob, binary large object
- data type that can store binary data in a database; e.g. an image or a video
- block (video)
- smaller unit within a macroblock, usually 8x8 or 4x4 pixels, used for more detailed processing and compression in video encoding
- block comment
- comment which spans multiple lines;
delimited by special symbols, e.g.
/*
and*/
in C - blockchain
- distributed database that is used to maintain a continuously growing list of records called blocks
- blog
- website that contains posts usually in reverse chronological order
- blogosphere
- all blogs on the internet and their interconnections
- Bloom filter
- probabilistic data structure for set membership queries which may return false positives with configurable small probability and uses O(log n) space
- Blu-ray
- optical disc format
- bluetooth
- wireless technology for exchanging data over short distances
- boilerplate
- code that is repeated in many places; e.g. a HTML header or a menu on a website or Java getters and setters
- bookmark
- URL stored and easily accessible in a browser
- bookmarklet
- short JavaScript code executed by visiting
a URL starting with
javascript:
which operates on the current web page and can be saved as a bookmark in browsers - boolean
- data type that can have only two values: true or false
- Boolean algebra
- branch of mathematics that deals with boolean values and logical operations
- Boolean formula
- formula composed of boolean variables and logic operations
- boolean function
- function that takes boolean values as input and returns a boolean value as output
- boot loader, bootloader
- software that loads the operating system into the computer memory
- secure boot
- UEFI feature that checks the operating system for malware before booting
- OEM, original equipment manufacturer
- company that produces parts and equipment that may be marketed by another manufacturer
- UEFI, Unified Extensible Firmware Interface
- firmware that replaces the traditional BIOS and provides an interface between the operating system and the hardware
- Bootstrap
- CSS framework for responsive web design developed by Twitter
- bot
- software that performs automated tasks; short for robot
- Bottle.py
- Python web framework distributed in a single file
- bottleneck (machine learning)
- layer in a neural network that has a smaller number of parameters than the previous layer
- BOW, bag of words
- simple model for natural language processing that ignores grammar and word order and represents text as a vector of word counts
- Boyer-Moore algorithm
- efficient string-searching algorithm which preprocesses the pattern to be searched for and runs faster as the pattern length increases
- BPF, Berkeley Packet Filter
- technology used for running sandboxed programs in a virtual machine-like construct in the Linux kernel without changing kernel source code or adding additional modules
- Brainfuck
- esoteric programming language with minimalist design, similar to Turing machine
- branch
- version control system term for a development copy of a repository that can be merged back to the original repository
- branch misprediction
- CPU low-level optimization that allows the CPU to continue executing instructions even if the branch has not been resolved yet and if the branch is resolved incorrectly, the instructions that were executed must be discarded
- branch-per-feature workflow
- workflow of using version control where each feature or bug fix is developed in a separate branch
- Brasero
- open source CD and DVD burner
- breadcrumbs
- GUI navigation element that shows the path to the current web page
- breadth first search, BFS
- graph algorithm that starts at the root node and explores all the neighboring nodes before moving to the next level; cf. DFS
- break
- keyword in some programming languages which exits a loop or switch immediately
- breakpoint
- debugging tool that pauses the execution of a program at a specific line of code
- brew
- package manager for macOS
- bricking
- state where an electronic device becomes completely unusable and inoperable
- Brill’s tagger
- error-driven transformation-based algorithm for PoS tagging
- broadband
- network connection with a high data transfer rate
- broadcast
- network communication method where a message is sent to all nodes in the network
- Brother
- printer brand
- browser
- software for viewing and navigating web; usually a GUI application, sometimes TUI application for a terminal
- brute force algorithm
- algorithm that tries all possible solutions to a problem
- BSD, Berkley Software Distribution
- Unix operating system developed at the University of California, Berkley
- BSS section
- section in a assembly code that contains uninitialized variables
- btrfs, B-tree file system
- file system for Linux using B-tree developed by Oracle
- bubble sort
- algorithm for sorting
- buffer
- data structure for storing data in a memory to be processed later
- bug
- undesirable feature in a source code causing an error in compilation or execution
- build
- process of converting source code into an executable program
- bundle
- web app distribution in a single file
- bus
- computer component for transferring data between components; e.g. PCI bus
- bus factor
- minimum number of team members needed for running a business
- business intelligence, BI
- software for analyzing business data
- busy waiting
- process of waiting for a condition to become true by repeatedly checking it; see also polling
- busybox
- software that provides several Unix utilities in a single executable
- byte
- 8 bits
- byte pair encoding
- encoding used in GPT models, shorter tokens are used for encoding longer words (tokens)
- bytecode, byte code
- set of instructions compiled for a runtime; e.g. Java and Python bytecodes
- C#
- object oriented programming language from Microsoft
- C++, cpp
- object oriented programming language
- C, clang
- low level programming language
- cache
- intermediate memory for storing data that is frequently accessed for better performance
- cache memory
- small, high-speed memory storage unit located close to the CPU, used to temporarily store frequently accessed data or instructions to improve overall system performance
- call stack
- data structure that stores information about the active subroutines calls
- callback
- function passed as an argument to another function to be called later
- camelCase
- naming convention for
identifiers where
words are joined together without spaces and
each word starts with a capital letter;
e.g.
getMoreData
- Canonical
- company behind Ubuntu
- Canva
- software for creating graphics
- canvas
- HTML element for drawing graphics
- CAP theorem
- theorem that states that a distributed system cannot be consistent, available and partition tolerant at the same time
- captcha, Completely Automated Public Turing test to tell Computers and Humans Apart
- task for distinguishing humans from bots; e.g. a web page with a distorted image of text
- captive portal
- web page that a user is required to visit and interact with before accessing a public Wi-Fi network
car
- Lisp function for returning the first element of a list
- Cardan grille
- cipher that uses a grid to hide the message
- cardinality
- number of elements in a set
- Cassandra
- distributed NoSQL database from Apache
- casting
- process of converting a data type to another
cat
- Unix command for printing the contents of files
- catastrophic cancellation
- when the difference of two approximate numbers (e.g. lengths) is significantly different from the difference of the real values
- categorical data
- such data which can have only a discrete set of values; e.g. type of education, gender etc.; cf. continuous data
- category (mathematics)
- collection of objects and morphisms between them
- causation
- relationship between two events where one event is the cause of the other event; often confused with correlation
- CB, continuous build
- process of building software after every change to the code base
- CBOW, continuous bag of words
- neural network model for natural language processing using word embedding
- CBR, constant bit rate
- property of audio codec which guarantees that the bitrate is constant; cf. VBR
- CC, creative commons
- family of licenses for creative works
- CC-0
- license that imposes no restrictions on a work
- CC-BY, creative commons attribution
- license which allows sharing, adapting and commercial use of a work as long as the author is credited (attributed)
- CC-NC, creative commons non-commercial share-alike
- license which allows sharing and adapting a work as long as the derived work is licensed under the same license and is not used for commercial purposes
- CC-ND, creative commons non-derivative
- license which allows sharing a work as long as it is not modified
- CC-SA, creative commons attribution share-alike
- license which requires the derived work is licensed under the same license
cd
- command for changing the current directory
- CD ROM
- read only CD
- CD RW
- rewritable CD
- CD, compact disk
- medium for storing data
- CD, continuous delivery
- automatic process of releasing software in short cycles
cdr
, contents of decrement part of register- Lisp function for returning the second element of a list
- ceil
- mathematical function for rounding a number up
- Celery
- Python library for asynchronous tasks
- CentOS
- Linux distribution based on Red Hat Enterprise Linux
- centroid
- center of mass of a shape used in clustering algorithms
- CEO, chief executive officer
- executive position in a company responsible for overall management of a company
- certbot
- software for managing TLS certificates
- certificate
- digital document that certifies the identity of a person or an organization or the ownership of a public key
- certificate authority
- entity that issues digital certificates
- CESNET, Czech Education and Scientific NETwork
- NREN for the Czech Republic
- CGI, common gateway interface
- standard for running programs on a web server
- cgroup
- Linux kernel feature for limiting and isolating resource usage of a process
- chain of responsibility pattern
- behavioral pattern
- chaining
- method of calling multiple methods on an object
in a single statement;
e.g.
obj.method1().method2().method3()
- changelog
- list of changes in a software project
- char
- data type for storing a single character
- character
- representation of a symbol; e.g. a letter, a digit, a punctuation mark etc.
- chatbot
- bot for chatting with humans
- checkbox
- GUI element for selecting one or more options
- checkpoint
- place in a program where the state of the program is saved
- checksum
- value calculated from data for detecting errors in the data when the data is transmitted or stored
- chi-square test
- statistical test for testing the independence of two categorical variables
- Chinchilla
- LLM experiment aimed at exploring the limits of language model scaling
- chip (hardware)
- integrated circuit
- chipset
- set of chips on a motherboard
- Chomsky hierarchy
- classification of formal grammars into four types: regular, context-free, context-sensitive and recursively enumerable
- chroma
- color component of a color space
- chroma subsampling
- method of reducing the amount of data in a video by reducing the resolution of the chroma
- Chrome
- web browser from Google
- Chromebook
- laptop running ChromeOS
- ChromeOS
- operating system from Google based on Linux
- Chromium
- open source web browser from Google
- CI, continuous integration
- frequent merging of small changes to the main branch
- CIDR, classless inter-domain routing
- standard for IP addressing that improves routing efficiency
- cipher
- encryption algorithm
- CircleCI
- Saas for continuous integration and continuous delivery
- circular buffer
- see ring buffer
- class (OOP)
- extensible template for creating objects, providing initial values for state (member variables) and implementations of behavior (member functions)
- class imbalance
- the problem in machine learning where there is an unequal distribution of classes in the dataset
- class inheritance
- mechanism of object oriented programming where a class inherits properties of another class
- class method
- method of a class that is called on the class itself, not on an instance of the class
- classification model
- model which predicts a class or a category e.g. given a picture: what animal is in the picture or given an audio file: what genre is the song in the file; see also regression
- CLI, command line interface, command line
- TUI for interaction with the OS and programs using commands
- ClickUp
- Saas for project management
- client
- computer or browser that requests services from a server
- Clippy
- MS Office assistant in the shape of a paperclip
- Clojure
- functional programming language on JVM runtime based on Lisp
- closure
- function that has access to variables from the scope where it was defined
- cloud computing
- model of computing where resources are provided as a service over a network
- cluster
- group of computers working together
- clustering
- machine learning technique for grouping similar instances in a dataset together
- cmake
- build system for C++
- Cmd key, command key
- modifier key on a keyboard on Apple computers
- cmp
- assembly instruction used for comparing two values or operands which sets the processor flags based on the result of the comparison
- CMS, content management system
- software for managing content on a website; e.g. WordPress
- CMYK, cyan magenta yellow black
- color model used for printing
- CNAME record, canonical name record
- DNS record for mapping a domain to another domain
- COBOL, common business oriented language
- imperative procedural high-level programming language for business applications from the 1950s still in use today (as of 2023)
- code
- text representation of instructions for a computer to execute written in a programming language
- code completion
- IDE feature for completing code based on the context
- code control
- process of controlling changes to a codebase
- code coverage
- measure of how much of the source code is covered by tests
- code injection
- security vulnerability where malicious code is inserted into a program, often leading to unauthorized or unexpected behaviour
- code review
- process of reviewing source code changes resulting either in an approval (for merge) or asking for changes
- code smell
- characteristic in source code that might indicate a deeper problem
- codebase
- collection of source code
- codec
- software for encoding and decoding data, usually audio or video
- codeowner
- individual or team responsible for maintaining and reviewing code changes in a specific part of a software project used in version control systems
- CoffeeScript
- programming language that compiles to JavaScript
- ColdFusion
- programming language for web development from Adobe
- Colemak
- keyboard layout optimized for in English
- collaborative filtering
- machine learning task for filtering out items that a user might like on the basis of reactions by users with similar preferences; by searching a large group of people and finding a smaller set of users with tastes similar to a particular user
- collation
- set of rules that determine how data is sorted and compared in a database
- collectd
- daemon which collects system and application performance metrics
- collection (data type)
- data type that holds multiple values; e.g. array, set
- collection (Mongo)
- group of documents similar to a table in a RDBMS
- collocation
- sequence of words or terms that co-occur more often than would be expected by chance
- color depth
- number of bits used to represent the color of a single pixel in a bitmap
- color model
- model for representing colors as tuples of numbers; e.g. RGB, CMYK
- color space
- color model with a specific color gamut
- columnar database
- database optimized for querying a subset of columns rather then inserting or updating rows
- combinator
- higher-order function
- combobox
- GUI element that combines a textbox with a dropdown
- command line arguments
- parameters provided to a program at runtime via the command line
- command, cmd
- written instruction causing a computer to do something; consists of a program name, arguments
- commit
- version control operation that saves changes to a repository
- Common Lisp
- Lisp dialect Common Lisp
- Lisp dialect
- CommonCrawl
- web crawler making the data available for research
- communicating sequential processes, CSP
- concurrency model where processes communicate by sending messages; also a programming language implementing the model
- compilation
- process of translating source code into machine code
- compiler
- program that translates source code into machine code
- compose key
- modifier key that allows
to enter special characters by pressing
the compose key and then a sequence of
other keys; e.g.
compose
+"
+a
=ä
- compression
- process of reducing the size of data
- compromise
- security breach; e.g. leaking of a private key
- computable function
- function that can be calculated by an algorithm
- computational linguistics
- field of linguistics concerned with the statistical or rule-based modeling of natural language from a computational perspective
- computer
- machine that can be programmed to perform computation
- computer science
- scientific field studying computation, information and automation
- computer security, cybersecurity
- branch of computer science concerned with the protection of computer systems and networks
- computer vision
- subfield of computer science processing and analyzing images
- computer worm
- type of malware that replicates itself in order to spread to other computers
- concatenation, concat
- operation which joins two data structures into one;
e.g. joining two strings or using
cat
command on two files - concept drift
- change in the data distribution over time in machine learning
- concurrency
- property of a program which allows multiple tasks to be executed at the same time
- Conda
- package manager for Python
- conditional probability
- probability of an event given that another event has occurred; written as P(x|y) where x is the event and y is the condition
- conditional statement
- statement that executes a block of code if a condition is true and optionally another block of code if the condition is false
- confidentiality
- property of a system that ensures that only authorized users can access the information
- configuration management
- process of managing changes to a system in a way that it maintains integrity over time
- conflict
- when there are two changes to the same part of a code base which can’t be resolved automatically
- confusion matrix
- 2D matrix showing the number of correct and incorrect predictions made by a classification model
- consensus algorithm
- algorithm used for achieving agreement on a single data value among distributed processes or systems
- consistency
- property of a database which ensures that all data is valid according to defined rules
- consistent hashing
- type of hashing that minimizes the need for remapping keys when a hash table is resized
- console
- TUI for interaction with the OS and programs using commands; cf. terminal
- const
- keyword in some programming languages which declares a variable as constant
- constant
- variable which is not changed during execution of a program
- constructor
- special method of a class which is called when an instance of the class is created
- container
- virtualization technology for running applications in isolation
- content farm
- website that produces large amounts of low-quality content to attract visitors and earn money from ads
- context switching
- process of changing focus when doing multiple tasks
- context-free grammar, CFG
- formal grammar
where each production rule is of the form
A -> α
, whereA
is a non-terminal andα
is a string of terminals and/or nonterminals - context-free language, CFL
- formal language that can be generated by a context-free grammar
- context-sensitive grammar, CSG
- formal grammar
where each production rule is of the form
αAβ -> αγβ
, whereA
is a non-terminal andα
,β
,γ
are strings of terminals and/or nonterminals - continuous data
- data which contain a number that represents a quantity, e.g. weight; cf. categorical data
- contract
- TODO
- convnext
- family of convolutional neural network architectures
- convolution
- operation on two functions which produces a third function expressing how the shape of one is modified by the other
- convolutional neural network, CNN
- neural network containing convolution layers instead of fully connected layers particularly good for computer vision tasks
- coocurrence analysis
- method in computational linguistics to study the frequency and patterns with which words cooccur in texts
- cookies
- small piece of data sent from a server and stored in the user’s browser used to identify the user and store user-specific data
- cooperative multitasking
- tasks must yield when they do not need resources
- coordinate
- number(s) representing a position in space
- copy on write
- optimization technique where a copy of an object is created only when it is modified
- copyleft
- the legal technique of granting certain freedoms over copies of copyrighted works with the requirement that the same rights be preserved in derivative works
- copyright
- legal right to control the use and distribution of a creative work
- Cordova
- open source mobile development framework which allows you to use standard web technologies, HTML5, CSS3, and JavaScript for cross-platform development
- core
- CPU unit that reads and executes instructions; see also multicore
- coredump
- file containing the memory image of a process when it crashed
- coreference
- when two or more expressions in a text refer to the same entity; e.g. “John” and “he” in “John went to the store. He bought milk.”; cf. anaphora
- coreutils
- set of basic Unix CLI tools; e.g. cat
- corollary
- proposition that follows from and is often appended to one already proved
- coroutine
- function that can pause execution and return control to the caller
- corpus lexicography
- field of lexicography that studies corpora for the purpose of creating dictionaries
- corpus linguistics
- field of linguistics that studies language phenomena using corpora
- corpus, text corpus
- collection of documents in a readable format
- correlation
- the strength of a association between two variables; does not imply causation
- correlation coefficient
- measure of how well-correlated two variables are, if CC between X and Y is 1.0, knowing X allows perfect prediction of Y, if CC is 0.0, knowing X tells you nothing about Y, and if it is -1.0, then X predicts Y, but a change in X causes an opposite change in Y
- CORS, cross origin resource sharing
- mechanism that allows restricted resources on a web page to be requested from another domain
- Ceph
- distributed object storage and file system
- Cortex
- complex system for monitoring large systems
- CouchDB
- NoSQL database from Apache
- covariance
- measure of how much two variables change together; correration coefficient is normalized covariance
- CPAN, comprehensive Perl archive network
- public repository of Perl packages
- CPU, central processing unit
- the most important processor in a computer; its “control center”
- CPU-bound process
- process that is limited by the speed of the CPU
- CQT, constant Q transform
- Fourier transform that uses a logarithmically spaced frequency axis
- CRAN, comprehensive R archive network
- public repository of R packages
- crate
- TODO
- CRDT
- TODO
- CRT
- hardware TODO
- creational patterns
- design pattern that deals with object creation mechanisms
- Creative Commons
- non-profit organization that provides licenses for creative works
- credential
- piece of document (or information) of an individual issued by a third party
- CRF, constant rate factor
- variable bitrate encoding method used in video compression to achieve a consistent level of quality throughout the video based on the complexity of the content
- CRISP-DM, cross-industry standard process for data mining
- standard for life cycle for data mining projects
- CRM, customer relationship management
- business strategy for managing a company’s interactions with customers and also software that provides tools for this
- cron
- command line utility for scheduling and running tasks for Unix-like OS
- cronjob
- job or task scheduled and run by cron
- crontab
- configuration file that specifies shell commands to run on a given schedule (on reboot, every 10 minutes, hourly etc.)
- cross compilation
- process of compiling code for one platform on a different platform
- cross entropy
- measure of the difference between two probability distributions
- cross platform development
- development of software that can run on multiple platforms
- cross validation
- technique for assessing how the results of a statistical analysis will generalize to an independent data set
- cross-site scripting, XSS
- security vulnerability in web apps that allows an attacker to execute arbitrary JavaScript code on the client
- CRUD, create, read, update, delete
- set of basic operations for databases
- cryptocurrency
- digital currency that uses cryptography for security
- cryptography
- field of computer science concerned with encryption and decryption in order to securely transmit data
- CSIRT, computer security incident response team
- team that handles computer security incidents
- CSS, cascading style sheets
- programming language for styling HTML documents
- CSS3
- version of CSS
- CSV, comma separated values
- text format for storing tabular data
- CTO, chief technology officer
- executive position in a company responsible for technology used and developed in a company
- Ctrl key, control key
- modifier key on a keyboard
- CUDA, compute unified device architecture
- parallel computing platform and programming model developed by Nvidia for GPUs
- cURL
- command line tool for transferring data over network protocols
- curryfication
- process of transforming a function that takes multiple arguments into a sequence of functions that take one argument each
- curse of dimensionality
- phenomenon in which algorithms suffer from poor performance on data with high dimensionality
- cursor (database)
- pointer to a row in a database table
- cursor (GUI)
- graphical representation of mouse position
- cursor (TUI)
- movable indicator in TUI showing the current position for new text
- CVS, concurrent versions system
- software for tracking changes in a software projects
- cycle
- closed path in a graph
- cyclomatic complexity
- the number of possible execution paths inside a given piece of code
- Cygwin (library)
- collection of GNU libraries dynamic library that provides POSIX compatibility layer for Windows
- Cypher
- query language for graph databases developed by Neo4j
- Cypress
- JavaScript testing framework for web apps
- D3.js, D3
- JavaScript library for producing dynamic, interactive data visualizations
- daemon
- non-interactive background process in Unix whose parent process is init process
- DAG, directed acyclic graph
- graph with no cycles
- DER format
- a binary form of a certificate or private key
- Dagster
- data orchestration framework
- Dart
- programming language for web development from Google
- Dash (library)
- Python framework for building web pplications with interactive visualizations
- Dasher
- software for writing by eye gaze
- data abstraction
- TODO
- data analysis
- process of inspecting, cleansing, transforming and modeling data with the goal of discovering useful information from it
- data augmentation
- technique for increasing the amount of training data by adding slightly modified copies of already existing data
- data contamination
- when test examples are included in a model’s training data
- data flow diagram
- diagram that shows how data is processed by a system
- data hazard
- TODO
- data lake
- scalable storage repository that holds data of various types and formats in its raw form for later data analysis
- data leakage
- see information leakage
- data link layer
- second layer of the OSI model which provides the functional and procedural means to transfer data between network entities and to detect and possibly correct errors that may occur in the physical layer
- data mining
- the process of extracting useful patterns from large datasets
- data model
- model that describes the structure of data and the operations that can be performed on it
- data orchestration
- process of automating data pipelines
- data pipeline
- set of data processing elements connected in series where the output of one element is the input of the next one usually in the form of a DAG
- data science
- field of computer science that uses scientific methods to extract knowledge from data
- data splitting
- splitting dataset into train set, development set, validation, test parts
- data structure
- way of storing various data in computers, e.g. graphs, images, list of words, … usually linked to an algorithm which works with the structure effectively to solve a problem
- data type
- classification of data which tells the compiler or interpreter how the programmer intends to use the data
- data versioning
- process of tracking changes to data
- data visualization
- graphical representation of data which helps to understand the data and find patterns in it
- data warehouse
- centralized repository that stores cleaned and transformed structured data designed for query and analysis
- data wrangling
- process of cleaning, structuring and enriching raw data into a desired format for further use
- data-oriented design, DOD
- programming paradigm that focuses on efficient and flexible organization, processing and storage of data
- database session
- period of time during which a database connection is open
- database, database system, db
- collection of data organized in a way that allows access, management and updates
- dataframe
- data structure for storing data in a tabular format used in Pandas
- dataset
- collection of data used for machine learning or data science
- datepicker
- GUI element for selecting a date
- datetime
- data type for representing a date and time
- DAW, digital audio workstation
- software for recording, editing and producing music in the form of audio files
- DB2
- database management system TODO
- dbt, data build tool
- open source tool for data transformations using SQL queries and which manages data dependencies and abstracts from the infrastructure
- dd
- CLi utility in Unix-like operating systems used for copying and converting data, often used for tasks like disk imaging and backup
- DDD, data display debugger
- GUI tool for several CLI debuggers as GDB
- DDoS, distributed denial of service
- DoS attack that uses multiple computers to perform the attack
- deadlock
- situation in which two or more competing actions are each waiting for the other to finish
- Debian
- Linux distribution
- debugger
- software for debugging software allowing step-by-step execution and inspection; e.g. GDB
- debugging
- process of examining, analyzing, finding and fixing bugs during development of a software
- decentralized system
- system in which components are distributed across a network
- decision tree
- machine learning architecture that uses a tree-like graph to model decisions
- declaration
- statement that introduces a name into a program
- declarative programming language
- programming language that expresses the logic of a computation without describing its control flow; e.g. SQL
- decoding
- process of converting encoded data into its original form
- decorator
- function that takes another function and returns a modified function with additional functionality
- decrement
- unary operation that subtracts one from a number
- decryption
- process of converting encrypted data into its original form
- Deep Blue
- chess-playing supercomputer developed by IBM which beat the world chess champion Garry Kasparov in 1997
- deep learning
- technique to extract and transform data by using multiple layers of neural networks
- Deep Mind
- AI company acquired by Google behind the AlphaGo and AlphaZero programs
- Deep Thought
- computer in the book The Hitchhiker’s Guide to the Galaxy which was built to find the answer to the Ultimate Question of Life, the Universe, and Everything
- DeFi, decentralized finance
- financial services built on top of blockchain technology
- defragmentation
- process of reducing fragmentation of files in a file system
- Delphi
- IDE for Pascal
- demultiplexor
- function or program that performs the inverse operation of a multiplexor
- dense matrix
- matrix with many non-zero elements
- dense vector
- vector with many non-zero elements
- dependency
- software or library or framework that is required for another software, library of framework to work
- dependency injection
- technique for passing dependencies to a function or object from the outside
- deployment
- process of making a software available for use by others
- depth-first search, DFS
- graph algorithm that explores as far as possible along each branch before backtracking
- deque
- data structure that allows adding and removing elements from both ends
- dereferencing
- process of accessing the value stored at a memory address pointed to by a pointer variable
- derivative
- measure of how a function changes when its input changes
- deserialization
- process of converting serialized data into its original form
- design by contract, DBC
- software design approach that uses formal specification of software components
- design for testability pattern
- design pattern that deals with testing
- design pattern
- general, reusable solution to a commonly occurring problem in software design; e.g. MVC
- desktop
- computer designed for regular use at a single location
- desktop application
- software that runs on a desktop
- desktop environment
- graphical user interface for an OS
- deterministic finite automata
- type of finite automata where each state has exactly one transition for each possible input
- dev
- a programmer
- development set, dev set
- see validation set
- DevOps, development and operations
- set of practices that combines software development and IT operations; e.g. CI/CD
- DGT, Directorate General for Translation
- directorate of the European Commission responsible for translation and language services
- dialog (UX)
- UI element that allows users to interact with a computer
- Dice coefficient
- statistical measure for evaluating similarity between two sets used in NLP
- dictionary
- data structure that maps keys to values
- differentiability
- property of a function that it can be approximated by a linear function
dig
, domain information groper- CLI tool for querying DNS servers
- digit
- symbol used to represent numbers; e.g.
2
- digital data
- discrete representation of data
- digital imaging sensor
- sensor that converts an optical image to an electronic signal
- Digital Millennium Copyright act section 1201(A)
- U.S. law that makes it illegal to circumvent digital locks over copyrighted works, restricting user’s ability to access, use, or discuss materials that they own
- DIKW pyramid, data information knowledge wisdom pyramid
- hierarchy of knowledge that describes the relationship between data, information, knowledge and wisdom
- dimension
- the minimum number of coordinates needed to specify any point within a given space
- dimensionality
- number of features in a dataset
- direct memory access, DMA
- feature allowing certain hardware subsystems in a computer to access system memory independently of the CPU
- directory
- file system data structure which contains references to children files and directories in a tree-like structure
- dirty page
- page that has been modified since it was last written
- disambiguation, word sense disambiguation, WSD
- process of identifying the meaning of a word in a given context, usually by selecting from a list of possible meanings
- Discord
- proprietary software for chatting and video conferencing
- discrete Fourier transform, DFT
- Fourier transform of a discrete signal
- discretization
- process of transforming continuous data into discrete data
- disentangled representation
- in the context of machine learning, a vector where every element corresponds to a single factor of variation (e.g. colour, shape, size) cf. distributed representation
- disk drive
- hardware device that reads and writes data to a disk
- disk image
- file that contains the contents of a storage
- disk, disc
- storage device for computers
- dispatcher
- function that receives a request and sends it to the appropriate handler
- display
- physical or virtual screen of a computer
- distributed computing
- field of computer science that studies distributed systems
- distributed representation
- in the context of machine learning, a vector where every element corresponds to multiple factors of variation (e.g. colour, shape, size) cf. disentangled representation
- distributed system
- system whose components are located on different computers in a network
- distribution
- set of programs that are built, tested and distributed together
- dividend
- number that is divided by another number
- divisor
- number that divides another number
- divide and conquer algorithm
- algorithm design paradigm that recursively breaks down a problem into two or more sub-problems of the same or related type, until these become simple enough to be solved directly
- Django
- Python web framework
dmesg
- command in Unix-based systems for displaying messages from the kernel
- DNS packet
- packet that contains a DNS query or a DNS response
- DNS record
- data record in the DNS that contains information about a domain
- DNS resolver
- server that receives DNS queries and returns the corresponding DNS records
- DNS, domain name system
- hierarchical and decentralized naming system for computers, services, or other resources connected to the internet or a private network
- DocBook
- markup language for technical documentation
- Docker
- containerization platform and software for building, running and shipping containers
- Dokku
- platform as a service for web applications with CLI for deploying applications to a server; cf. Heroku
dd
- command in Unix-based systems for copying and converting files
- docker compose
- Docker CLI tool for defining and running multi-container Docker applications
- Docker image
- file that contains a container and all its dependencies
- Dockerfile
- file that contains instructions for building a Docker image
- documentation
- description of the behaviour and functions intended for users
- Docutils
- Python library for parsing reStructuredText into HTML, LaTeX, XML or plain text
- Dojo
- JavaScript toolkit for building web applications
- DOM, document object model
- cross-platform and language-independent API for representing and interacting with XML documents
- domain
- name that identifies one or more IP addresses with a name that is easier to remember and use in URLs
- domain specific language, DSL
- high level abstration programming language that uses concepts and rules from a specific domain
- DoS, denial of service
- cyber attack that prevents legitimate users from accessing a service by overwhelming it with requests
- dot product
- scalar operation that takes two equal-length sequences of numbers and returns a single number
- dotfiles
- files that start with a dot (
.
) and contain configuration for software and operating systems - double
- data type for representing floating point numbers with double precision in C and C++
- double-word, dword
- data size that typically consists of 32 bits or 4 bytes, commonly used for representing integers and memory addressing
- download
- process of copying data from a remote server to a local computer
- dq
- assembly directive used to declare and allocate space for a quadword variable or data in memory
- drag&drop
- UI mechanism for selecting and moving objects on a screen with a pointer device e.g. mouse
- driver
- software that controls a device
- driver code
- short code demonstrating or testing a specific program, function, code
- DRM, digital rights management
- technologies that restrict the use of digital content and devices after purchase
- dropdown
- UI element that allows users to select one value from a list
- Drupal
- content management system written in PHP
- DRY, don’t repeat yourself
- principle of software development that states that every piece of knowledge must have a single, unambiguous, authoritative representation within a system
- DSLR, digital single-lens reflex
- camera that combines the optics and the mechanisms of a single-lens reflex camera with a digital imaging sensor
- DTD, document type definition
- XML markup language that defines the building blocks of an XML document
- durability
- property that ensures database transactions are permanent
- DVD, digital versatile disc
- optical disc format
- Dvorak
- keyboard layout designed for typing speed and comfort
- dw
- assembly directive used to declare and allocate space for a word (16 bits) variable or data in memory.
- dwm, dynamic window manager
- tiling window manager for X11 from suckless
- dynamic library, dll, dynamically linked library
- library that is loaded at runtime
- dynamic programming
- programming paradigm that solves complex problems by breaking them down into simpler subproblems
- dynamic web page
- web page that is generated at runtime; cf. static web page
- dynamically typed language
- programming language that does not require variable types to be defined explicitly
- DynamoDB
- database management system with focus on availability and scalability sacrificing some of the ACID properties
- e-commerce
- business model that lets firms and individuals buy and sell things over the internet
- e-ink
- display technology that mimics the appearance of ink on paper
- e-reader
- device for reading ebooks
- E2E test, end to end test
- test that tests a complete software system from beginning to end
- ELF, executable and linkable format
- file format for executable files and shared libraries in Linux
- core dump
- file containing the memory image of a process when it crashes
- E2EE, end-to-end encryption
- encryption method that protects data between the sender and the recipient
- early adopter
- person who starts using a new software or service before most other people
- early binding
- process of linking a function call to its definition at compile time
- early stopping
- technique to avoid overfitting in ML by stopping the training process early
- eax
- 32-bit general-purpose register in the x86, commonly used for various arithmetic and data operations
- ebook
- book stored in a file format
- Eclipse
- IDE for Java
- Ecma international
- international standards organization for information and communication systems
- ECMAScript
- JavaScript standard by Ecma International
- ecosystem
- libraries, community, online resources etc. related to a given programming language
- ed, line editor
- line-oriented editor
- edge
- link between two nodes in a network
- edge computing
- computing that takes place near the source of data
- edit distance
- measure of how many operations (insertion, deletion, substitution) are required to change one string into another; cf. Levenshtein distance
- editor
- software for editing files
- edx
- 32-bit general-purpose register in the x86, often used in conjunction with eax for extended arithmetic operations
- egg
- logical structure for releasing a specific version of a Python project (code, resources, metadata) which is importable and distributable
- Elasticsearch
- search engine based on Lucene
- Electron
- framework for building desktop applications with web technologies
- element
- component (node) of a XML document;
e.g.
<head>
- Elixir
- functional programming language running on BEAM runtime supporting extreme concurrency and fault tolerance
- EM algorithm, expectation-maximization algorithm
- iterative method for finding maximum likelihood or maximum a posteriori estimates of parameters in statistical models
- Emacs
- text based editor with a built-in Lisp interpreter
- electronic mail sent over a network
- embedded system
- computer system with a dedicated function within a larger mechanical or electrical system
- embedding
- mapping of a discrete feature to a vector
- Ember.js
- JavaScript framework for building web applications
- emdash
- dash that is as wide as the letter
m
- encapsulation
- OOP principle of bundling data and methods that operate on that data
- encoder decoder model
- neural network architecture used in natural language processing for transforming an input to an output
- encoding
- process of converting data from one form to another
- encryption
- process of encoding a message or information in such a way that only authorized parties can access it
- end-to-end model, e2e model
- ML model that processes raw input data to produce the final output with minimal pre-processed features
- endash
- dash that is as wide as the letter
n
- endofunctor
- functor mapping a category to itself
- endpoint
- URL of a web service
- Enron dataset
- dataset of emails from the Enron corporation used for research in NLP and ML
- enshittification
- informal term for the process by which platforms degrade UX over time to maximize profit
- entity
- distinct, separate, identifiable thing or concept often used in the context of data modeling
- entropy
- measure of the amount of information in a message
- enum
- data type representing a set of named constants;
e.g.
enum Color { RED, GREEN, BLUE }
- environment variable
- variable whose value is set outside the program or shell script
- epic
- in agile software development, a large user story that is broken down into smaller tasks
- epilogue
- portion of a function in assembly that performs cleanup tasks, such as restoring registers and stack, before returning control to the caller
- epoch
- one complete pass through the training data
- epub, e-pub
- ebook format based on XML
- equ
- assembly directive used to define symbolic constants or values, which can simplify code readability and maintenance
- ER diagram, entity relationship diagram
- diagram that shows the relationships between entities in a database
- erasure coding
- technique that breaks data into fragments and adds redundancy to recover from errors in distributed systems
- Erathosthenes sieve
- algorithm for finding all prime numbers up to a given limit by filtering out all non-prime numbers iteratively
- ereader, e-reader
- device for reading ebooks in digital format
- ergodic process
- statistical term for a process where its time average is equal to its ensemble average
- ergonomics
- study of designing equipment and devices that fit the human body and its cognitive abilities
- Erlang
- functional programming language supporting extreme concurrency and fault tolerance; uses BEAM runtime
- ERP, enterprise resource planning
- software for managing business processes
- error
- mistake in a program that causes it to behave incorrectly
- error correcting code
- code that can detect and correct errors in data
- error handling
- process of responding to error conditions
- error rate
- the proportion of validation set which was incorrectly predicted or labelled or classified by a model
- error-driven transformation-based learning
- approach in ML where models are iteratively improved by focusing on errors in predictions
- Esc, escape
- key on a keyboard used to generate the escape character (used to exit a mode)
- escape character
- character that signals the start of an escape sequence
- escape sequence
- sequence of characters that represents a special character;
e.g.
\n
represents a newline character in Python - esoteric programming language, esolang
- programming language designed to test the boundaries of programming language design; e.g. Brainfuck
- esports
- competitive video game playing
- estimator
- model that learns from data
- ETH, ether
- cryptocurrency and blockchain platform
- Ethereum
- blockchain platform for smart contracts
- ethernet
- standard set of protocols for LAN, MAN and WAN networks
ethtool
- utility for querying and changing network interface controller and driver settings
- ETL, extract transform load
- process of extracting data from one database and loading it into another
- evaluation (machine learning)
- process of assessing a model’s performance on validation set
- event-driven programming
- programming paradigm in which the flow of the program is determined by events such as user actions, sensor outputs, or messages from other programs
- evolutionary algorithm
- algorithm that uses principles of evolution (mutation, selection, crossover) to solve problems
- ex, extended line editor
- line-oriented text editor for Unix systems
- line-oriented user interface, line-oriented UI
- UI for early text editors where users edited documents one line at a time; e.g. ed, ex
- exabyte
- 10^18 bytes or 1,000 petabytes
- Excel
- spreadsheet application by Microsoft; part of Microsoft Office
- exception
- situation when a program cannot continue its execution due to an error or unexpected situation; the flow of execution is interrupted
- executable, exe
- binary file that can be run as a program
- execution
- process of running a program, command or script
- EXIF, exchangeagle image file format
- standard that specifies formats for images to store special tags (attributes) used by digital cameras
- exponent
- number that indicates how many times a base number is multiplied by itself
- exploit, exploitation
- software that takes advantage of a vulnerability in a system
- expression
- combination of values, variables, operators and functions that is evaluated to a single value
- Ext js
- JavaScript framework for building desktop applications
- ext3
- file system used by Linux
- ext4
- journaling file system used by Linux
- extension
- suffix of filename indicating its file format
- extern
- keyword used in assembly to declare external symbols or variables that are defined in other modules or source files
- extrapolation
- method for estimating unknown values by using known values outside the range of known values
- extreme programming
- agile software development methodology that emphasizes teamwork and communication
- F score, F1 score, F measure
- harmonic mean of precision and recall
- F#, F sharp
- functional programming language running on .NET runtime
- SaaS for social networking, also the name of the company that created it
- factorial
- unary function with the definition f(n) = n! = n * (n-1) * (n-2) * … * 2
- factory
- design pattern that defines an interface for creating an object but lets subclasses decide which class to instantiate
- FAHQMT, fully automatic high quality machine translation
- machine translation system that does not require human intervention or post-editing
- FAISS, Facebook AI Similarity Search
- library for efficient similarity search and clustering of dense vectors
- fallout
- TODO
- false negative
- item which was incorrectly classified as negative (not belonging to a class)
- false positive
- item which was incorrectly classified as positive (belonging to a class)
- false positive rate
- see fallout
- fan in
- number of inputs to a component
- fan out
- number of outputs from a component
- fast.ai
- library which simplifies building and training models built upon Pytorch
- fasttext
- library for efficient text classification and word embedding written in C++
- fat finger
- situation when a user accidentally presses the wrong key on a touch screen
- FAT, file allocation table
- file system for hard drives by Microsoft
- FAT32
- 32-bit version of the FAT file system
- FDD, floppy disk drive
- disk drive that reads and writes data to a floppy disk
- feature (machine learning)
- measurable property of a phenomenon being modeled in machine learning; e.g. a pixel value in an image or a word in a sentence
- feature (software)
- a piece of functionality of a software product
- feature creep, scope creep
- situation when a software product has more features than originally planned
- feature flag
- software development technique that allows to enable or disable a feature without deploying a new version of the software
- federated learning
- machine learning technique where the model is trained on decentralized data
- Fedora
- Linux distribution sponsored by Red Hat
- feedforward neural network
- neural network where the information flows in one direction from one layer to the next
- fetch (git)
- operation that downloads commits from a remote repository to a local repository
- few shot learning
- machine learning technique that learns from a small number of examples
- ffmpeg
- command line tool for manipulating video and audio
- FFT, fast Fourier transform
- algorithm for computing the Fourier transform efficiently TODO
- FIFO, first in first out
- data structure where the first element added is the first element removed
- Figma
- collaborative web app for design
- file
- representation of data stored on a disk; not necessarily contiguous
- file browser, file manager
- UI for navigating the file system
- file buffer
- buffer used to store data read from or written to a file
- file descriptor
- number that uniquely identifies an open file in an operating system
- file format
- standard that specifies the structure and encoding of a file
- file system
- method of storing and organizing files on a disk
find
- command for finding files in a file system
- fine tuning
- transfer learning technique where the parameters of a pretrained model are updated by training for additional epochs; many-shot learning
finger
- command for displaying information about users
- finite automata
- automata with a finite number of states used to model computation and regular expressions
- Firebase
- app development platform by Google
- Firefox
- web browser by Mozilla
- firewall
- security system that monitors and controls incoming and outgoing network traffic
- firmware
- low-level software that is embedded in a device and is not easily changed
- first-order logic
- see predicate logic
- fish, friendly interactive shell
- shell with autocompletion, syntax highlighting and scripting capabilities
- fit
- the process of updating the parameters of a model such that the predictions of the model using the training data match the target labels
- fitness function
- in evolutionary algorithms, a function that measures the quality of a solution
- fixed point (programming language)
- representation of real numbers within a set range by maintaining a fixed number of digits after the decimal point; cf. floating point representation
- Flash
- multimedia platform by Adobe
- flaky test
- test that sometimes passes and sometimes fails without any changes to the code
- flash memory
- see flash storage
- flash storage
- non-volatile storage device that can be electrically erased and reprogrammed
- flash attention
- an optimization technique that enhances the efficiency of attention mechanisms in transformer models, particularly benefitting the training and deployment of LLMs on GPUs by optimizing the computational workload and memory usage
- Flask
- Python web framework
- flat file
- file that contains records with no structured relationships
- flexbox
- CSS layout mode that arranges elements in a single direction
- float
- data type for representing floating point numbers
- floating point number
- binary representation of real numbers
- floor
- mathematical function that rounds a real number down to the nearest integer
- floppy disk, FD
- disk storage device that uses a flexible magnetic disk enclosed in a plastic shell
- FLOPS, floating point operations per second
- measure of performance in the number of floating point operations per second
- fluency
- measure of smoothness and natural flow in language often used in assessing MT quality
- Flutter
- UI toolkit for building mobile applications developed by Google
- fold (functional programming)
- see reduce
- folder
- see directory
- font
- set of glyphs used to render text and digital representation of a typeface
- font family
- set of font styles that share a common design
- foo bar baz
- placeholder names used in code examples
- for loop
- loop that repeats a block of code for a specified number of times
- foreground process, foreground job
- current process that is running and receiving input from the user
- foreign key
- key that references a primary key in another table
- fork
- copy of a repository in a version control system
- formal grammar
- set of rules for constructing valid sequences of word or tokens in a language
- formal language
- set of strings of symbols that may be constrained by rules
- formal verification
- process of proving that a program satisfies a specification
- FORTH
- programming language based on stack data structure
- Fortran
- programming language designed for scientific computing
- forward pass
- applying the model to the data based on the current parameter values
- forward reference
- reference to a label or symbol in assembly before it has been defined which may be resolved during the assembly process
- Fourier transform, FT
- transform that decomposes a signal into frequency components
- fragmentation
- phenomenon where a file is stored in non-contiguous blocks on a disk
- frame
- single image in a sequence of images that make up a video
- FrameNet
- lexical database of English representing the meaning of words in terms of frames and semantic roles
- Borland Turbo
- TODO
- Free Pascal
- IDE and compiler for Pascal and Object Pascal
- Object Pascal
- object-oriented dialect of Pascal
- framerate, fps, frames per second
- number of frames displayed or processed per second
- framework
- collection of tools, components, guidelines and libraries to simplify the development of software
- freedesktop.org
- organization that develops standards for desktop environments
- frontend, FE, front-end
- software component that interacts directly with the user
- fsync
- system call that ensures that all data in the buffer is written to disk
- fsyncgate
- bug in PostgreSQL that caused data loss on Android
- FTP, file transfer protocol
- protocol for transferring files between computers on a network
- FTR
- abbreviation of “for the record”
- full duplex communication
- communication where both parties can send and receive data simultaneously
- full text search
- information retrieval technique for finding documents that contain a given set of words from a query
- fully connected layer
- layer where each neuron is connected to every neuron in the previous layer
- function
- subroutine that can be called from other parts of the program
- functional paradigm
- programming paradigm based on the concept of functions and immutability
- functional programming language
- programming language based on functional paradigm; e.g. Haskell, Erlang
- function component
- React component that is defined as a function
- functor
- morphism function between categories
- FUSE, file system in userspace
- API for implementing file systems in userspace
- g++
- C++ compiler based on GCC
- Gale-Church algorithm
- algorithm for sentence alignment
- Graphene
- Python library for building GraphQL APIs
- garbage collector, GC
- part of a programming language runtime system that manages the memory used by a program; its goal is to identify and reclaim memory which is no longer in use (referenced by the program), prevent memory leaks and improve memory efficiency
- garden path sentence
- ambiguous sentence that leads to an incorrect (partial) interpretation or syntactic analysis; e.g. time flies like an arrow and fruit flies like a banana
- gate (machine learning)
- TODO
- Gatsby
- React-based, open-source web framework; cf. Next.js
- GB, gigabyte
- 10^9 bytes or 1,000 megabytes
- GCC, GNU compiler collection
- collection of compilers for programming languages developed by the GNU project
- gdb, GNU debugger
- debugger for C and C++ developed by the GNU project
- GDPR, General Data Protection Regulation
- EU regulation on data protection and privacy
- gem, Ruby gem
- package of Ruby application or library code
- general-purpose computing on graphics processing units, GPGPU
- the use of a GPUs in applications traditionally handled by the CPU; cf. CUDA, shader
- generative model
- model that can generate new data
- generator
- function whose state is saved then it returns (yields) a value so that execution can be continued from that point the next time it’s called
- generics
- programming language feature allowing to define functions and types that can be used with different types of data
- genetic algorithm
- see evolutionary algorithm
- gensim
- Python library for unsupervised topic modeling and NLP
- geocoding
- process of transforming a description of a location into a location on the Earth
- geohash
- system of geocoding that encodes geographical locations into short strings of digits and letters
- geolocation
- the process of determining the location of a device using its IP address
- geometry
- branch of mathematics that studies the properties of shapes
getaddrinfo
- system call that resolves a domain name to an IP address
- getter
- method that returns the value of a property
- gettext
- program for translating strings in software
- gevent
- coroutine-based Python library for asynchronous programming based on greenlets
- gibibyte
- 2^30 bytes or 1,024 mebibytes
- GIGO, garbage in, garbage out
- principle that states that incorrect or poor quality input will always produce faulty output
- GIL, global interpreter lock
- mutex allowing only one thread to hold the control of the Python interpreter
- GIMP, GNU image manipulation program
- raster graphics editor by the GNU project
- git
- distributed version control system
- GitHub
- SaaS git
- GitLab
- open source SaaS git with self-hosting option
- Google Kubernetes Engine, GKE
- managed Kubernetes service for containers running on GCP
- global scope
- scope that is visible in the whole program
- global variable
- variable with a global scope
- globbing
- specifying a set of files using a simplified regular expression;
e.g.
*.txt
matches all files with the.txt
extension - glue tag
- TODO
- glyph
- graphical representation of a character
- Gmail
- SaaS email service from Google
- GNN, graph neural network
- TODO
- Gnome
- desktop environment for Linux
- GNU, GNU is not Unix
- project to create a free operating system
- GNU public license, GPL
- license that allows to use, modify and distribute software as long as the source code is made available
- GNU/Linux
- Unix-like operating system based on the Linux kernel and the GNU userland; not to be confused with Linux
- Go, golang
- open source programming language designed to be suitable for systems programming
- Good-Turing smoothing
- statistical technique in NLP for estimating the probability of unseen events in a dataset
- Goodreads
- website with book reviews developed by Amazon
- company that provides SaaS services and open source software
- Google AI
- division of Google that focuses on artificial intelligence
- Google Analytics
- SaaS for tracking website traffic by Google
- Google Cloud Platform, GCP
- Iaas by Google
- Google Maps
- SaaS for maps by Google
- Google Play
- SaaS for distributing Android apps
- Google Plus
- discontinued (as of 2019) social network by Google
- Google Search
- SaaS search engine
- Google Wave
- discontinued (as of 2012) SaaS for real-time communication and collaboration developed by Google
- GOP, group of pictures
- a set of frames that are compressed together
- goroutine
- thread in Go
GOTO
- statement that causes the program to jump to another part of the code; included e.g. in BASIC and C
- GPLv3
- TODO
- GPS, global positioning system
- satellite navigation system using the intersection of signal from three satellites to determine the position of a receiver on the Earth
- GPT, generative pre-trained transformer
- family of large language models from OpenAI
- GPT4
- large language model from OpenAI based on GPT architecture
- ChatGPT
- SaaS for chatbot based on GPT models
- GPTQ, generative pre-trained transformer quantization
- type of post-training quantization for LLM compressions (from 32 bits down to 3–4 bits)
- GPU, graphics processing unit
- special type of processor suitable for massive parallel computing
- gradient
- how each element is contributing to the final value (objective function) of the model; it is the slope of the function or the partial derivation; all functions and their elements must be differentiable
- gradient boosting
- machine learning technique for regression and classification problems, which produces a prediction model in the form of an ensemble of weak prediction models, typically decision trees
- gradient descent
- optimization algorithm for finding local/global maxima/minima in a function by iteratively moving in the direction of the negative gradient
- Grafana
- dashboard for time series data
- graph (discrete mathematics)
- set of vertices and edges connecting them
- graph (mathematical analysis)
- visual representation of a function; cf. plot, chart
- graph database
- NoSQL database for storing and easy querying graph data
- graph theory
- branch of mathematics studying graphs
- graphene
- Python library for GraphQL
- graphics card
- hardware component that generates and outputs images to a display it also allows parallel computing
- GraphQL
- query language for API developed by Facebook
- greenlet
- Python library for cooperative multitasking
grep
, global regular expression print- CLI tool for searching and filtering text files
- grid (CSS)
- grid is a set of intersecting horizontal and vertical lines defining the columns and rows
- grid search cross validation
- trying all combinations; suffers from exponential growth of combinations
- gRPC, Google remote procedure call
- implementation of RPC using protobufs sent over HTTP 2.0 protocol in full-duplex mode
- GRU, gated recurrent unit
- recurrent neural network that uses gates to control the flow of information
- GTK, GIMP toolkit
- widget toolkit for creating GUI applications
- guesser
- algorithm which guesses morphological categories and PoS](#pos) in OOV words in NLP of morphologically rich languages
- GUI, graphical user interface
- user interface that allows users to interact with computer programs through graphical icons and visual indicators; a mouse is typically used to manipulate the elements of the user interface
- gulp
- JavaScript build system
- gunicorn
- HTTP server
gzip
- CLI tool for compressing data
- H.264
- see HEVC
- H.265
- video compression standard
- Hadoop
- framework for distributed computing developed by Apache
- HAL2000
- computer in the book 2001: A Space Odyssey
- hallucination
- nonsensical output of a generative model; coined by Andrej Karpathy
- Hamming code
- error-correcting code where each data bit is represented by a parity bit that is the result of a XOR operation on a subset of the data bits
- Hamming window
- window function used in signal processing
- hapax legomenon
- word or expression that occurs only once within a dataset or text corpus
- haptic feedback
- feedback based on the sense of touch particularly in technology that simulates physical sensations
- hardware abstraction layer, HAL
- layer of abstraction that allow the operating system to interact with the hardwareo at a general level rather than at a detailed hardware level
- hardware accelerator
- processor designed to accelerate machine learning tasks
- hardware interrupt
- interrupt generated by external hardware devices to signal the CPU that they require attention, also can trigger interrupt service routines and are used to handle events such as keyboard input or disk I/O
- hardware, hw
- physical part of a computer
- harmonic mean
- reciprocal of the arithmetic mean of the reciprocals of the values
- hash
- result of a hash function
- hash collision, collision
- the situation when two different inputs produce the same output in a hash function
- hash function
- function that maps data of arbitrary size to data of fixed size
- hash table, hash map
- data structure that maps keys to values using a hash function
- hashbang
- see shebang
- Haskell
- functional programming language from 1990s with a strong type system
- HCI, human-computer interaction
- discipline concerned with the design, evaluation and implementation of interactive computing systems for human use and with the study of major phenomena surrounding them
- HDD, hard disk drive
- electro-mechanical non-volatile data storage device
- HDFS, Hadoop Distributed File System
- distributed file system used by Hadoop for storing large datasets
- HDR, high dynamic range
- technology enhancing the range of color and contrast in images by combining multiple images of the same scene taken at different exposures
head
(Unix command)- CLI tool for printing the first few lines of a file
- head (model)
- the part of a pretrained which is removed and replaced with a randomly initialized layers suitable for fine-tuning on the target dataset
- headless browser
- web browser without a GUI usually used for automated testing and web scraping
- heap
- tree based data structure that satisfies the invariant property that the parent node is greater than its children nodes (in the case of a max heap)
- heap sort
- algorithm for sorting using heap in O(n log n)
- Helm
- package manager for Kubernetes
- Heroku
- platform as a service for web applications
- heuristics
- problem-solving approach using practical methods or shortcuts to produce solutions that are not guaranteed to be optimal
- HEVC, high efficiency video coding
- video compression standard improving on its predecessor H.264/MPEG-4 AVC, supporting resolutions up to 8K UHD and 10-bit color depth
- hexadecimal number, hex
- number in base 16
- hibernation
- power-saving state of a computer that uses the least amount of power when the memory is saved to the hard drive
- hidden layer
- layer of a neural network that is not an input layer nor an output layer
- hidden Markov model, HMM
- statistical model that assumes the Markov property and that the state is not directly observable
- high level programming language
- programming language with strong abstraction from the details of the computer
- higher-order function
- function that takes another function as an argument, returns a function as a result, or both
- hitchhiker
- someone who is part of a project but does not actually do any work on it
- home directory
- directory in a file system
that is designated for a particular user
and typically contains the user’s files;
in Unix systems, it is denoted by
~
- homonymy
- language phenomenon when a word that is spelled
the same as another word but has a different meaning;
e.g.
bank
(financial institution) andbank
(land alongside a river) - horizontal scaling
- increasing performance by adding more nodes to a distributed system
- host
- computer connected to a network
- hostname
- identifier that is assigned to a computer connected to a network
- hot swapping
- replacing a module without stopping the whole system
- hotfix
- patch applied to a software to fix a critical bug
- hover
- user interface event when the mouse is moved over an element without pressing any buttons
- HP, Hewlett-Packard
- software and hardware company
- HPC, high-performance computing
- field of computer science that deals with supercomputers and parallel computing
- href
- HTML attribute used to specify the URL of a hyperlink
- HTER, human translation error rate
- metric used in machine translation to measure the post-editing effort, it compares a human-translated text with a machine-translated one
- HTML, hypertext markup language
- markup language for creating hypertext documents used on the web; represented in memory as a DOM
- HTML5
- version of HTML with new elements, attributes, and behaviors
e.g.
<video>
,<audio>
,<canvas>
,<svg>
- htmx
- JavaScript library for AJAX with HTML attributes
htop
- CLI tool for monitoring system resources
- HTTP DELETE
- HTTP method for deleting data
- HTTP GET
- HTTP method for retrieving data
- HTTP header
- part of HTTP request or response containing key-value pairs;
e.g.
Content-Type: application/json
orContent-Length: 1024
- HTTP POST
- HTTP method for creating data
- HTTP PUT
- HTTP method for updating data
- HTTP server
- server that serves HTTP requests
- HTTP verb
- GET, DELETE, PUT, POST etc.
- HTTP, hypertext transfer protocol
- text based protocol for client server communication over the Internet used by the web
- HTTP/1
- version of HTTP
- HTTP/2
- version of HTTP
- HTTPS
- secured HTTP
- hub (network)
- central or core part of a network where connections or paths intersect
- HuggingFace
- company that develops NLP models and framework of the same name
- HuggingFace Space
- platform for sharing NLP models and datasets
- human-readable format
- file format that is easy for humans to read and understand
- hunalign
- program for sentence alignment
- Hungarian notation
- naming convention for variables
where the name of the variable indicates its type;
e.g.
strName
orlNames
- HUP, hangup
- POSIX signal to terminate a process
- hyperlink
- reference to another document or part of it that a reader can follow by clicking
- hyperparameter
- global parameter of the model; e.g. learning rate or batch size
- hyperparameter tuning
- process of finding optimal hyperparameters of a model
- hypertext
- text that contains hyperlinks
- hypervisor
- software that creates and runs virtual machines and manages them
- hyphen
- punctuation mark
-
- I-frame
- frame that contains only the changes from the previous frame
- I/O buffering
- process of temporarily storing data while it is being transferred between two elements in a computer
- IaaS, infrastructure as a service
- cloud computing service that provides virtualized computing resources over the internet
- IBM, International Business Machines
- software and hardware company
- iCloud
- cloud storage service by Apple
- ICMP, internet control message protocol
- network protocol for sending error messages
- icon
- GUI element represented as a graphical symbol used for navigation and interaction
- ICQ
- instant messaging application; the name derives from “I seek you”
- id
- unique identifier, usually a number
- IDE, integrated development environment
- software containing tools to facilitate software development; usually contains a text editor, console, debugger or file browser
- identifier
- name that identifies a variable, function, class, or other object
- idiv
- x86 assembly instruction used for signed integer division which divides the accumulator (rax) by a specified operand, storing the quotient in rax and the remainder in the remainder (rdx) register
- IDL, interface definition language
- programming language for defining interfaces
- IEC, International Electrotechnical Commission
- international standards organization for electrical engineering
- IEEE, Institute of Electrical and Electronics Engineers
- professional association for electrical engineering and computer science
- if statement
- see conditional statement
- iframe
- HTML element that allows to embed another HTML document inside the current one
- IIS, Internet Information Services
- web server by Microsoft
- IM, instant messaging
- form of communication that offers real-time text transmission over the Internet
- image classification
- task in machine learning to classify images into categories
- ImageMagick
- software suite for image manipulation
- ImageNet
- image-based dataset for machine learning with 14 million images in more than 20,000 categories
- IMAP, internet message access protocol
- protocol used my email clients to retrieve emails from email server – messages are kept on the server; cf. POP3
- IMDb
- website with information about movies and TV shows
- immutability
- property of an object or data type that cannot be changed
- imperative programming language
- programming language that uses statements to change a program’s state
- implementation
- realization of a specification in a programming language
- implicit type conversion
- type conversion that is done automatically by the compiler
- IMSI, international mobile subscriber identity
- key used to identify a subscriber on mobile telephony devices
- imul
- x86 assembly instruction used for signed integer multiplication
- inc
- x86 assembly instruction used to increment the value of a register or memory location by 1
- increment, inc
- unary operation that increases a variable by one
- index (programming language)
- indices represent the position of an element in a sequence; e.g. the first element has index 0 in many programming languages
- indexing
- process of creating an index for a database to improve the speed of data retrieval
- inference (logic)
- process of deriving logical conclusions from premises
- inference (ML)
- process of using a model to make predictions
- infimum
- greatest lower bound
- infix
- middle of a string or word
- infix notation
- standard notation where the operator is placed between its operands
- influxdb
- time series database
- information hiding
- TODO
- information leakage
- situation when a model is able to learn validation set from the training data
- information retrieval
- discipline of computer science
- information technology
- TODO
- information theory
- branch of applied mathematics that studies quantification, storage, and communication of information
- ingest
- process of importing multiple data into a single data store
- ingress
- Kubernetes resource that manages external access to the cluster by exposing HTTP and HTTPS routes
- inheritance
- see class inheritance
- INI
- text format used for configuration
- init process
- process with PID 1 in Linux that starts and manages other processes
- init system
- system in Linux that starts and manages services
- initialization
- process of setting the initial values of weights and biases in a neural network
- inner join
- join that only includes rows that match in both tables
- inorder
- tree traversal where the root is visited between the left and right subtrees
- inplace operator
- operator that modifies its operand;
e.g.
+=
in Python - input device
- hardware that sends data to a computer; e.g. keyboard, mouse
INSERT
- SQL statement and operation to insert data into a table
- insert sort, insertion sort
- algorithm for sorting
- Instagram, IG
- social network for sharing photos and videos
- installation
- process of setting up a software
- instance (OOP)
- object of a class
- instruction pointer register, rip
- CPU register that holds the memory address of the next instruction to be executed
- instruction set
- set of instructions that a processor can execute; e.g. x86, ARM, MIPS, RISC-V, …
- integer
- basic data type to represent whole numbers
- integral
- mathematical object that can be interpreted as an area or a volume
- integrated circuit
- electronic circuit made of semiconductor material
- integration test
- test that checks if the components of a system work together
- integrity
- property of a system that ensures that the information is not modified by unauthorized users
- Intel
- company that designs and manufactures microprocessors
- IntelliJ
- IDE for Java and other languages
- inter-annotator agreement, IAA
- measure of the degree of agreement among different annotators in assigning categories to items in NLP
- intercom, intercommunication system
- communication system within a building
- interface
- point of interaction between two systems, APIs, user and a computer
- interface (OOP)
- contract that specifies what a class can do without specifying how it does it
- interlingua
- artificial language used as an intermediary between two natural languages
- internationalization, i18n
- process of designing a software so that it can be adapted to various languages and regions
- internet
- global network of computers; connected via internet protocol
- interpolation
- method for estimating unknown intermediate values by using known values
- interpreted language
- programming language which is not compiled into machine code but is interpreted by an interpreter on the fly; e.g. Python, JavaScript
- interpreter
- software that interprets source code of a programming language and executes it, it can be interactive
- interprocess communication, IPC
- mechanism that allows processes to communicate with each other
- interruption
- situation when a process is stopped by an interrupt request
- intersection
- set of elements that are common to two or more sets
- invariant
- property which stays the same after a set of operations is executed
- IO, I/O, input/output
- type of operation that reads from or writes to a storage
- IO-bound process
- process that is limited by the speed of the IO
- iOS
- operating system for Apple devices
- IoT, internet of things
- network of devices connected to the internet
- IP address
- unique identifier of a device connected to the internet used in the internet protocol
- IP, internet protocol
- set of rules that govern how data is sent and received over a network
- iPad
- tablet developed by Apple
- iPhone
- smartphone developed by Apple
- iptables
- program for configuring firewall in Linux
- IPv4
- version of IP using 4 bytes for addresses
- IPv6
- version of IP using 6 bytes for addresses
- IPython, interactive Python
- interactive shell for Python with features like syntax highlighting, autocompletion, history etc.
- IRC, internet relay chat
- text based instant messaging system
- IRQ, interrupt request
- signal sent to CPU that temporarily stops a running process
- ISO (file format)
- file format for storing disk images
- ISO 8601, ISO date format
- standard for date format
that is in the form
YYYY-MM-DD
and is useful for sorting - ISO 8859-1
- standard for character encoding of Latin alphabet
- ISO, international organization for standardization
- organization that develops and publishes international standards
- isolation
- property of database transactions that ensures that concurrent transactions do not interfere with each other
- ISP, internet service provider
- company that provides access to the internet
- ISR, interrupt service routine
- function in low-level programming that handles interrupts from hardware or software
- issue
- bug or a feature request; cf. ticket
- iterator
- object that allows to iterate over a collection of items
- iTerm
- terminal emulator for macOS
- J
- array programming language
- jar, Java archive
- file format for distributing Java classes and other resources
- Java
- high-level cross-platform object-oriented programming language; developed by Sun Microsystems with syntax similar to C
- Java Virtual Machine, JVM
- virtual machine that executes Java bytecode
- JavaDoc
- documentation generator for Java
- JavaScript
- programming language used mainly for web development
- Jekyll
- static site generator written in Ruby
- Jenkins
- open source automation server for continuous build and continuous deployment
- Jinja
- templating engine and language for Python
- jitter
- variation in latency
- jmp
- assembly instruction used for unconditional branching which transfers control to a specified memory address, allowing for non-sequential execution of code; cf. GOTO
- join
- operation that combines two or more database tables into one
- Joomla
- content management system
- journaling file system
- file system that keeps track of changes not yet commited to the file system’s main part by recording the goal of such changes
- JPEG, JPG, joint photographic experts group
- method of lossy compression for digital images;
files with this compression usually have
.jpg
or.jpeg
extension - jq, JSON query
- CLI tool for parsing and manipulating JSON
- jQuery
- JavaScript library for DOM manipulation
- jQuery UI
- jQuery library for creating user interfaces
- JSF, JavaServer Faces
- Java framework for web development
- JSON, JavaScript Object Notation
- text format for representing structured data
- JSONL, JSON Lines
- text format where each line is a JSON object
- Julia
- LLVM based, dynamically typed programming language for high performance
- Jupyter notebook
- open source web application for creating and sharing computational documents; cf. literate programming
- JWT, JSON web token
- standard for creating access tokens that assert some number of claims
- K
- proprietary array programming language
- k-means clustering
- unsupervised clustering algorithm that
partitions
n
observations intok
clusters by repeatedly calculating the centroid of the current groups and then assigning each observation to the nearest centroid until the centroids do not change anymore - Kafka
- framework for distributed streaming data processing developed by Apache
- Kaggle
- data science competition platform and online community
- Kaimin normalization
torch.nn.init.kaiming_normal_()
- Kali Linux
- Linux distribution for penetration testing
- kanban
- visual system supporting decision making in project management; commonly in combination with scrum
- kata
- short practise, e.g. implementing a known algorithm
- KDD, knowledge discovery in databases
- process of discovering useful knowledge from a collection of data
- KDE, K Desktop Environment
- desktop environment for Linux and other Unix systems
- KDY, Know Your Domain
- process of understanding the domain of the software being developed
- kebab case
- naming convention where words are separated by hyphens;
e.g.
my-temp-variable
- keepassx
- password manager for Linux
- Kendo
- UI library for JavaScript
- Keras
- open source neural network library written in Python
- kernel (machine learning)
- function that takes two inputs and returns a similarity score
- kernel (operating system)
- program at the core of an operating system controlling everything in the system; it manages processes, memory, I/O operations etc
- kerning
- process of adjusting the spacing between characters in a proportional typeface
- key (cryptography)
- piece of information that controls the operation of a cipher
- key binding
- mapping between a key or combination of keys and an action
- key value store
- database that stores data as a collection of key-value pairs
- keyboard
- peripheral device for input of text
- keyframe
- frame that is encoded fully without referencing other frames; cf. B-frame, P-frame
- keylogger
- software that records every keystroke
- keymap
- mapping between physical keys and actions
- keynav
- software for controlling the mouse cursor with the keyboard
- keyring
- see password manager
- kibibyte
- 2^10 bytes or 1,024 bytes
kill
- command to terminate a process by sending it a signal
- kilobyte
- 1,000 bytes
- Kindle
- e-reader developed by Amazon
- Kibana
- a data visualization dashboard for Elasticsearch
- dashboard
- GUI that provides at-a-glance views of indicators relevant to a particular objective or business process
- KISS, keep it simple stupid
- approach to software development based on the idea that most systems work best if they are kept simple rather than made complicated
- kNN, k-nearest neighbors
- classification algorithm
that classifies a new observation by
finding the
k
closest observations in the training set and assigning the new observation to the most common class among thesek
neighbors - knowledge base
- collection of knowledge in digital form
- Kotlin
- programming language for Java virtual machine and Android
- KPI, key performance indicator
- measurable value that demonstrates how effectively a company is achieving key business objectives
- Kubernetes, k8s
- open source system for automating deployment, scaling and managing containerized apps
- KVM, kernel-based virtual machine
- open source virtualization technology built into Linux kernel developed by Red Hat
- KYC, Know Your Customer
- process for identifying and verifying the client’s identity to protect financial institutions against fraud, corruption, money laundering etc.
- L1 cache
- cache that is part of the CPU and is the fastest to access
- L1 regularization
- regularization technique that adds a penalty equal to the sum of the absolute value of the coefficients
- L2 cache
- cache that is part of the CPU and is slower to access than L1 cache
- L2 regularization
- regularization technique that adds a penalty equal to the sum of the squared value of the coefficients
- LED, light emiting diode
- TODO used in screens
- label
- correct answer of the ground truth associated with the input data
- lambda calculus
- mathematical model of computation based on function abstraction and application using variable binding and substitution; introduced by Alonzo Church in 1930s
- lambda function
- anonymous function
- lamma.cpp
- library for running pretrained models; it has a wrapper for Python
- LAN, local area network
- computer network that interconnects computers within a limited area such as a school, university campus or office building
- LanceDB
- open source vector database for machine learning applications
- Laplace smoothing
- technique in for handling OOV in NLP by adding a small value to the count of each word
- laptop
- portable computer
- Laravel
- PHP web framework
- laser printer, laserjet
- printer that uses a laser beam to produce an image on a drum that is rolled through a reservoir of toner and then onto a sheet of paper
- late binding
- technique of deferring the resolution of a symbol until runtime
- latency
- the time between sending a request and receiving a response or initiating an action and seeing the result
- LaTeX
- Tex macro package for typesetting documents using markup language
- lattice
- partially ordered set in which every two elements have a unique supremum and a unique infimum
- layer
- neural network component that transforms input data into output data represented as a matrix
- layout engine
- software component that combines content with a presentation to generate an output that can be displayed on a screen
- lazy evaluation
- evaluation strategy that delays the evaluation of an expression
until its value is needed;
e.g. the second half of
A and B
is not evaluated whenA
is false - LDA, latent Dirichlet allocation
- generative statistical model that allows sets of observations to be explained by unobserved groups that explain why some parts of the data are similar
- LDAP, lightweight directory access protocol
- protocol for accessing and maintaining services over IP; a common use is to provide a central place to store usernames and passwords
- leaderless replication
- replication scheme in which all nodes are equal and there is no distinguished leader
- leaf function
- function that does not call any other functions within its body
- leaf node
- node that has no children
- Leaflet
- open source JavaScript library for mobile-friendly interactive maps
- leaky bucket
- algorithm for controlling data flow in networks by analogy to water flowing out of a bucket
- lean
- set of practices that emphasize efficiency, minimizing waste, and delivering value to customers; originated in Toyota manufacturing
- learner
- combination of a model and data; used e.g. in fastai library
- learning bias
- see bias
- learning rate
- hyperparameter expressing how much to change the weights each pass to move down the loss gradient
- learning rate decay
- learning rate can be dynamic (with regards to the step number within optimization); can be determined by tracking losses while altering learning rates
- least squares
- method for finding the best fit of a set of data points to a linear function by minimizing the sum of the squares between the actual and predicted values
- least upper bound
- element that is greater than or equal to other elements; see also supremum
- Leet Code
- website for practicing design and implementation of algorithms
- left join
- join that returns all rows from the left table and the matched rows from the right table
- legacy code
- code that is old and difficult to maintain
- lemma (linguistics)
- the canonical form of a lexeme
- lemma (mathematics)
- proven proposition which is a corollary to one or more of the axioms of a system
- Lesk algorithm
- algorithm for word sense disambiguation that uses the dictionary definition of a word and the context in which the word appears to resolve ambiguity
less
- command for viewing text files; cf. more
- Let’s Encrypt
- free, automated, and open certificate authority providing digital certificates for website encryption
- Levenshtein distance
- specific type of edit distance
- lexeme
- unit of lexical meaning that underlies a set of words
that are related through inflection;
e.g.
run
,runs
,ran
andrunning
are forms of the same lexemerun
- inflection
- process of adding morphemes that modify a verb’s tense, mood, aspect, voice, person, or number or a noun’s case, gender etc.
- lexer
- program that performs lexical analysis
- lexical analysis
- process of converting a string into a sequence of lexemes
- lexical scoping
- scoping that uses the location of a variable’s definition to determine where it can be used
- LGTM, looks good to me
- commonly used in code review as an approval formula
- libc
- library that defines the system calls and other basic facilities such as string handling
- glibc
- GNU C library
- library
- reusable software usually organized into modules
- license
- legal document that grants permission to use a software under certain conditions
- lifecycle
- steps that an object goes through; in OOP, the steps are between creation and destruction, in issues management, the steps are between creation and resolution
- LIFO, last in first out
- data structure where the last element added is the first one to be removed
- linear data structure
- data structure where the elements are arranged in a linear order
- linear probing
- hashing technique that resolves collisions by trying the next slot in the hash table
- linear regression
- regression analysis with assumed linear relationship between the independent variables and the dependent variable
- linguistics
- scientific study of language
- link farm
- see content farm
- linked list
- data structure for storing a sequence of items
- linker
- program that combines machine code with other libraries to create an executable
- linkrot
- process by which hyperlinks on individual websites in general point to web pages, servers or other resources that have become permanently unavailable
- LINQ, language integrated query
- query syntax that is integrated into the programming language; e.g. SQL in C#
- linter
- program that analyzes source code to flag programming errors, bugs, stylistic errors, and suspicious constructs
- Linux
- open source Unix-like operating system
- Linux distribution
- Linux kernel bundled with additional software; e.g. Ubuntu, Fedora or Arch Linux
- Liskov substitution principle
- principle in object-oriented programming
stating that if
S
is a subtype ofT
, then objects of typeT
may be replaced with objects of typeS
without altering any of the desirable properties of the program - Lisp
- a family of functional programming languages with fully parenthesized syntax from the 1950s which represents code as nested lists
- list
- array containing a sequence of (heterogenous) elements
- list comprehension
- syntax for creating a list based on existing lists in-place;
e.g.
[x**2 for x in range(10)]
- list file, lst
- file generated by an assembler that contains the assembly code along with its corresponding machine code instructions, often used for debugging and analysis
- listeme
- item that is memorized as part of a list as opposed to being generated by a rule; e.g. the word took in the list take, took, taken
- literate programming
- programming paradigm that combines documentation (prose) and source code
- little endian
- byte order of a binary number in which the least significant byte is stored first
- livelock
- situation when two or more processes are in a loop waiting for each other to finish and thus none of them can finish
- LL grammar, left linear grammar
- formal grammar in which
all productions are of the form
A → wB
orA → w
whereA
andB
are nonterminals andw
is a string of terminals - LL1 grammar, left linear grammar with one lookahead
- LL grammar in which
the first terminal of
B
is unique - LLM, large language model
- language model with a large number of parameters usually based on transformers
- LLVM, low level virtual machine
- compiler and toolchain between any instruction set architecture and any programming language written in C++
- LM, language model
- probability distribution over sequences of words
- LMGTFY, let me google that for you
- sarcastic response to a question that could have been easily answered by a search engine
- load balancing
- technique used to distribute workloads across multiple resources
- load factor
- ratio of the current number of elements in a hash table to the size of the hash table
- LOC, line of code
- number of lines of code used as a metric for measuring the size of a software program
- local storage
- storage that is available only to the current browser
- local variable
- variable that is declared inside a function and is only accessible inside that function
- locale
- set of parameters that defines the user’s language, region and preferences
- localhost
- hostname that refers to the current computer
- localization, l10n
- TODO
- lock
- synchronization mechanism for enforcing limits on access to a resource in an environment where there are many threads of execution
- lodash
- JavaScript library that provides utility functions
- log
- special output of a program used for debugging and troubleshooting, monitoring and performance analysis and security and auditing
- log linear time complexity
- time complexity of an algorithm that is proportional to the logarithm of the input size
- log loss
- see cross entropy loss function
- logarithmic time
- time complexity of an algorithm that is proportional to the logarithm of the input size
- logDice score
- statistical measure used in corpus linguistics for evaluating collocation strength coocurrence analysis; cf. Dice coefficient
- logging
- process of recording events, actions or messages that occur during a program execution and which produces logs
- logic
- branch of mathematics
- logic gate
- electronic circuit that implements a logical operation
- logical operation
- function that takes one or more boolean values and produces a boolean value
- logical operator
- symbol that represents a logical operation
- logistic function
- function which startsoff increasing slowly, then grows more rapidly and eventually levels off; the f(x) values are usually between 0 and 1
- logistic regression
- classification algorithm that uses the logistic function to model the probability of a certain class or event existing such as pass/fail, win/lose, alive/dead or healthy/sick
- logit
- function that maps probabilities to the real numbers which are easier to work with in logistic regression
- long
- representation of integers in some programming languages
- lookahead (parser)
- number of tokens that are read ahead to decide which production to use in parsing
- lookahead (regular expression)
- number of characters that are read ahead in a string to decide whether a pattern matches
- loop
- sequence of instructions that is repeated until a certain condition is reached; a part of flow control in programming languages
- loose coupling
- TODO
- loss, loss function
- function which takes a model’s predictions and the desired output and computes a number expressing how good is the model’s prediction; used for driving the stochastic gradient descend; the measure of model’s performance
- lossless compression
- compression where no information is lost when the compressed data are uncompressed; cf. lossy compression
- lossy compression
- compression where some information is lost when the compressed data are uncompressed; cf. lossless compression
- low level abstraction
- abstraction provides little or no abstraction from a computer’s instruction set architecture
- LR grammar, left regular grammar
- formal grammar in which
all productions are of the form
A → wB
orA → w
whereA
andB
are nonterminals andw
is a regular expression - LSM tree, log-structured merge tree
- data structure that maintains a sorted key-value map in persistent storage
lsof
- command for listing open files
- LSP, language server protocol
- protocol for enabling IDE features for a programming language
- LSTM, long short term memory
- recurrent neural network model which can learn long-term dependencies
- LTE, long-term evolution
- standard for wireless broadband communication for mobile devices and data terminals
- LTR, left to right text
- text (or script) written from left to right; e.g. Latin, Cyrillic
- Lua
- programming language designed primarily for embedded systems and clients
- LuaTeX
- TeX engine that uses Lua as an embedded scripting language
- Lucene
- Java library for information retrieval and full-text search
- luma
- brightness component of a color space
- LUW
- acronym for three major operating systems Linux, Unix, and Windows
- LWN.net
- Linux news website and webzine
- m4
- macro processor
- MAC address, media access control address
- unique identifier assigned to a network device for communications at the data link layer
- MXNet
- deep learning framework by Apache
- machine code
- sequence of instructions executed directly by a CPU
- machine language
- lowest-level programming language that is directly executed by a CPU consisting of binary instructions that correspond to specific operations and memory addresses
- machine learning, ML
- field of computer science; training of programs developed by allowing a computer to learn from its experience (training data) rather than through manually coding the individual steps
- machine translation, MT
- NLP task of translating text from one language to another
- MacOS
- operating system for Apple computers
- macro
- rule or pattern that specifies how a certain input sequence should be mapped to a replacement output sequence according to a defined procedure; a part of preprocessor
- macroblock
- block of pixels, typically 16x16, used as the basic unit for processing and compressing video frames which includes luma (brightness) and chroma (color) information
- see email
- mail list, mailing list
- collection of names and addresses used by an individual or an organization to send material to multiple recipients
- mail server
- server that handles email
- main (C)
- function that is called when a C program starts
- main branch, main
- see master branch
- main memory
- see RAM
- mainframe
- large computer that is used by many people at the same time
make
- build automation CLI tool from GNU
- Makefile
- script for make
malloc
- C function for allocating a block of memory on the heap
- malware
- malicious software
- man page
- documentation for a command or other software component in Unix
- MAN, metropolitan area network
- network that interconnects users with computer resources in a geographic area or region larger than that covered by even a large LAN but smaller than the area covered by a WAN
- managed code
- code that runs on a virtual machine and is managed by the runtime
- Mann-Whitney U test
- non-parametric test for comparing the means of two samples
- Mantis
- open source bug tracking system
- mantissa
- part of a floating point number which contains its significant digits
- many to many, m:n
- relationship between two entities where one entity can be associated with many instances of the other entity and vice versa
- map
- see dictionary
- mapping
- function that associates each element of a set with an element of another set
- MapReduce
- algorithm for processing and generating large data sets
- MariaDB
- relational database management system that is a drop-in replacement for MySQL
- markdown, MD
- text format for specifying basic formatting
- Markov chain
- stochastic model describing a sequence of possible events in which the probability of each event depends only on the state attained in the previous event
- Markov property
- property of a stochastic process where the conditional probability distribution of future states of the process depends only upon the present state, not on the sequence of events that preceded it
- markup language
- text format that uses tags to define elements within a document
- masking
- operation that uses a sequence of bits to select or modify a subset of bits
- master branch, master
- branch in a version control system which is considered to be the definitive version of the source code
- material design
- UI design system developed by Google
- material UI
- React component library implementing material design
- Matlab
- programming language and GUI for numerical computing
- Matplotlib
- Python library for data visualization
- matrix
- rectangular array of numbers arranged in rows and columns; a vector of vectors
- Mattermost
- open source, self-hosted Slack alternative
- Maven
- build system for Java projects
- maximum likelihood estimation, MLE
- statistical method for estimating the parameters of a model based on observed data
- mc, midnight commander
- CLI file manager
- McCabe complexity
- see cyclomatic complexity
- MDA, model driven architecture
- software development methodology that focuses on modeling and model transformation
- mean
- quantity that has a value which is intermediate to the extreme values of a set of numbers
- mean squared error, MSE
- loss function for regression defined as the average of the squared differences between the predicted value and the actual value
- mebibyte
- 2^20 bytes or 1,024 kibibytes
- media player
- software for playing multimedia
- median
- value separating the higher half of a sorted data sample from the lower half
- megabytes
- 10^6 bytes or 1,000 kilobytes
- memory
- part of computer that is used to store information for immediate use; see also RAM
- memoization
- caching
- memo (React)
- higher-order component for memoizing a functional component to prevent unnecessary re-renders when its props or state have not changed
- memory address
- representation of the location of bytes in memory
- memory allocation
- process of allocating a block of memory for a variable in a program
- memory footprint
- amount of memory used by a program
- memory leak
- bug in a program that causes it to consume more and more memory over time
- memory management
- consists of tasks like memory alloocation, memory freeing
- memory safety
- property of a programming language that guarantees that a program cannot access memory that it is not authorized to access
- Mercurial
- distributed version control system
- Memcached
- distributed caching system
- merge
- action of adding code changes to an existing code base in a repository; usually integrating commits from a development branch into the main branch
- merge conflict
- situation when two commits cannot be merged automatically by a version control system since they modify the same part of the code
- merge request
- process of asking code maintainers and code reviewers to review code changes; cf. pull request
- merge sort
- algorithm for sorting
- Merkle tree
- tree data structure that is used to efficiently verify the contents of a large data set by storing hashes of the subtrees in nodes
- Metasploit Framework
- penetration testing tool
- msfconsole
- CLI for Metasploit Framework
- message broker
- software that translates messages from the formal messaging protocol of the sender to the formal messaging protocol of the receiver
- metacharacter
- character that has a special meaning in a regular expression; cf. escape sequence
- metadata
- data about data; e.g. EXIF allows adding information about the camera, lens, location and date to an image file for a photo taken with a smartphone
- METEO
- machine translation evaluation metric
- METEOR
- metric used in machine translation that considers word order and semantic similarity, offering a more flexible evaluation compared to BLEU
- method
- function that is defined inside a class
- metric
- function that measures the quality of a model or a system; used for human consuption, cf. loss
- MFC, Microsoft Foundation Classes
- C++ library for developing Windows applications
- MI, mutual information
- measure in information theory that quantifies the mutual dependence between two variables
- micro-benchmark
- short snippet of code used to compare performance or other qualities/properties
- microblogging
- form of blogging that allows users to write brief text updates
- microcontroller
- integrated circuit that contains all the functions of a computer
- microprocessor
- integrated circuit that contains all the functions of a CPU of a computer
- microservice
- software architecture that structures an application as a collection of services that are loosely coupled, independently deployable, organized around business capabilities and owned by a small team
- Microsoft
- company that develops and sells computer software and consumer electronics
- Microsoft Cognitive Toolkit
- deep learning framework
- mid-squared method
- pseudorandom number generator
- middleware
- software that connects two otherwise separate systems
- migration
- process of moving data from one database to another or upgrading a database to a new version
- mindmap
- diagram used to visually organize information often around a single concept
- minification
- process of removing all unnecessary characters from the source code without changing its functionality
- MIPS architecture
- reduced instruction set computer architecture
- MIPS, million instructions per second
- measure of a computer’s performance
- MIT license
- TODO
- mixed type
- data type that can contain values of different types
- Mkdocs
- static site generator for documentation
- MKV, Matroska video, matroska
- video container file format that can hold an unlimited number of video, audio, picture, or subtitle tracks in one file
- MLC, machine learning compilation
- project for running models on various platforms
- MLOps, machine learning operations
- practice of applying DevOps to machine learning
- mmap, memory map
- system call that maps files or devices into memory without copying data
- MMLU, massive multitask language understanding
- multilingual dataset for benchmarking large language models
- mobi
- ebook file format for Kindle
- mobile application
- application designed to run on mobile devices
- mobile friendly website
- website that displays correctly on mobile devices
- mock
- simulated object or function that mimics the behaviour of a real object or function
- Mockito
- Java framework for mocking
- mod rewrite
- module for Apache server that provides a rule-based rewriting engine to rewrite requested URLs on the fly
- modal
- dialog that requires users to interact with it before they can return to the main application which usually overlays the main application window
- modal editor
- editor that has different modes for different operations; e.g. insert mode for inserting text, normal mode for navigation and manipulation, visual mode for highlighting parts of text, command mode for executing commands etc.
- model
- special kind of a general program which can do many things based on weights and its structure
- model parameters
- see parameters
- model view controller, MVC
- software design pattern for implementing user interfaces where model represents the structure of data, view is a way of interpreting the model and controller is a way of controlling the the view and provide the model with new data
- modifier key
- key on keyboard that modifies the action of another key when pressed together with it; e.g. Shift, Alt, Ctrl
- modular design
- design principle that divides a system into smaller parts called modules which can be independently created and then used in different systems
- module
- part of a program that can be used in other programs
- momentum
- hyperparameter of gradient descent that determines how much the previous update influences the current update
- monad
- monoid in the category of endofunctors
- monad (design pattern)
- design pattern in which pipeline implementation are abstracted by wrapping a value in a type
- Mongo, MongoDB
- NoSQL database system
- Mongoose
- ORM in Node.js for MongoDB
- monoid
- algebraic structure with a single associative binary operation and an identity element
- monorepo
- repository that contains more than one project; e.g. both backend and frontend of a web application
- monospace
- type face in which all characters have the same width
- Monte Carlo method
- class of algorithms that rely on repeated random sampling to obtain numerical results for simulations, optimization, and numerical integration
more
- command for viewing text files; cf. less
- morpheme
- smallest meaningful unit of a language
- morphism
- structure-preserving mapping from one mathematical structure to another
- morphological analysis
- process of breaking words down into morphemes or assigning parts of speech to them
- morphology
- branch of linguistics that studies the structure of words
- Moses
- statistical machine translation software
- motherboard
- main printed circuit board in a computer that holds many of the crucial components of the system as CPU, memory, connectors for hard drives, USB ports, etc.
- mouse
- pointing device that detects 2D motion relative to a surface
- mouseless computing
- human-computer interaction technique that allows users to interact with a computer without using a mouse
- mov
- x86 assembly instruction which copies data from one location to another, such as between registers or between memory and registers
- Mozilla
- nonprofit organization that develops open source software
- MPEG, Moving Picture Experts Group
- working group of experts that was formed by ISO and IEC to set standards for audio and video compression and transmission
- MPEG4
- MPEG standard for audio and video compression
- MPI, message passing interface
- standard for message passing between parallel processes
- MPP, massively parallel processing
- architecture that uses many processors to perform a set of coordinated computations in parallel
- MS Access
- database management system from Microsoft
- MS DOS, DOS
- text-based operating system developed by Microsoft
- mul
- x86 assembly instruction which multiplies two integer values and stores the result in the destination operand
- multi-word expression, MWE
- phrase that consists of multiple words that functions as a single unit of meaning; e.g. New York City, United States of America
- multicore
- CPU that contains more than one core
- multimedia
- content that uses a combination of different content forms such as text, audio, images, animations, video, etc.
- multiple dispatch
- process of choosing the right method to apply based on the number of arguments and their type; in OO programming languages the choice is based on the first argument, e.g. in Julia it’s based on the signature of the method
- multiplication
- arithmetic operation
- multiprocessing
- parallel computing technique in which a program is divided into multiple processes which are executed simultaneously on different CPUs
- multitasking
- parallel computing technique in which a program is divided into multiple tasks which are executed simultaneously
- multithreading
- parallel computing technique in which a program is divided into multiple threads which are executed simultaneously on different CPUs
- musl
- libc implementation that is small and fast
- mutability
- property of a data type that can be changed after it has been created
- mutation
- operation which alters the data (e.g. in a database)
- mutex, mutually exclusive flag
- object (lock) which prevents multiple threads from accessing the same resource at the same time
- mutt
- text based email client
- mux, multiplexer
- function or program allowing several input signals to share one device or resource; a multiple-input single-output switch
- MVCC, multi-version concurrency control
- concurrency technique that allows multiple versions of the same data to coexist
- MX record
- DNS record that specifies a mail server responsible for accepting email messages on behalf of a domain
- MyMemory
- translation memory system combining MT with human contributions
- MySQL
- open source relational database management system
- naive Bayes classifier
- simple probabilistic classifier based on applying Bayes’ theorem with strong independence assumptions
- NAL, network abstraction layer
- part of the H.264/AVC and HEVC video coding standards, responsible for formatting the video data in a manner suitable for transport or storage, abstracting the specifics of the network or storage medium
- NVMe, non-volatile memory express
- protocol for accessing flash storage via the PCIe bus
- Nagios
- open source monitoring system
- PCIe, Peripheral Component Interconnect Express
- high-speed serial bus standard for connecting peripherals to a computer
- name binding
- association of data (or code) with identifiers
- named entity, NE
- entity that is referenced by a proper name; e.g. Thomas Jefferson (person), New York (location), Microsoft (company)
- namespace
- set of unique names used to identify and refer to objects
- namespace packages
- way of splitting code of one Python package into separate directories or repositories
- NaN, not a number
- special floating point value that represents an undefined or unrepresentable value
- NAND, not and
- logic gate and binary logical operation that outputs true only when at least one input is false
- Nano
- text based editor for Unix
- NAS, network attached storage
- storage that enables multiple users and heterogeneous client devices to retrieve data from a centralized disk
- NAT, network address translation
- method of mapping IP address space onto another by modifying network address in the IP header
- natural language
- language that has evolved naturally in humans; e.g. English, French, Chinese, etc.
- natural language processing, NLP
- field of computer science that deals with the interaction between computers and humans using natural language; also a subset of AI
- Nautilus
- file manager for the GNOME
- NEF, Nikon Electronic Format
- image file format used by Nikon cameras
- negation
- logical operation that takes a boolean and returns the opposite boolean
- negative caching
- DNS caching of negative responses
- negative lookahead
- TODO
- Neo4j
- graph database
- neomutt
- fork of mutt actively maintained (as of 2023)
- Neovim
- fork of Vim with better support for plugins, LSP and Lua scripting
- NetBeans
- IDE for Java
netcat
- networking utility for reading from and writing to network connections using TCP or UDP
netstat
- CLI tool that displays network connections, routing tables, and a number of network interface statistics
- network
- group of computers connected together
- network interface controller
- hardware component that connects a computer to a network
- neural network
- machine learning model inspired by the neuron model
- neuron model
- mathematical model of a biological neuron
- newline
- special character or sequence of characters that is used to represent the end of a line of text and the start of a new line
- newsgroup
- discussion group on the Internet
- Next.js
- React framework
- NFS, network file system
- file system over network
- Nginx
- HTTP server
- ngram, n-gram
- sequence of n items, usually words or characters
- ngrep, network grep
- network packet analyzer that uses regular expressions for complex pattern matching
- NIST, national institute of standards and technology
- organization that promotes innovation and industrial competitiveness in the United States
- NLTK, natural language toolkit
- Python library for NLP
nmap
, network mapper- network scanner used to discover hosts and services by sending packets and analyzing the responses
- no free lunch theorem
- theorem that states that no machine learning optimization algorithm works best for every problem
- node (graph theory)
- vertex in a network
- node (parallel computing)
- computer in a cluster that is dedicated to performing computation
- Node.js
- JavaScript runtime built on Chrome’s V8 JavaScript engine
- NOHUP
- POSIX signal and command to ignore the HUP signal
- noisy channel model
- model in information theory and SMT
- Nokia
- Finnish multinational telecommunications, information technology, and consumer electronics company
- non-parametric test
- statistical test that does not make assumptions about the population; e.g. Mann-Whitney U test; cf. parametric test
- non-volatile storage, non-volatile memory
- storage that retains its data even when not powered
- nondeterministic finite automata
- type of finite automata where each state can have multiple transitions for the same input
- nondeterministic Turing machine
- Turing machine that can be in multiple states at once
- nonterminal, non-terminal
- symbol that can be replaced by a sequence of other symbols
- NOR, not or
- binary logical operation that outputs true only when both inputs are false
- normal distribution
- probability distribution that is symmetric and bell-shaped
- normal form
- database is in normal form if it satisfies certain constraints that avoid data anomalies
- normalization (database)
- process of organizing data in a database and turning it into a normal form
- normalization (machine learning)
- process of rescaling numeric attributes to a range of values between 0 and 1
- normalized scientific notation
- standardized way of representing real numbers using a mantissa and an exponent
- NoSQL, not only SQL
- database system to store non-tabular data: key-value, documents, graph (nodes and vertices)
- NOT
- unary logical operation that outputs true only when the input is false
- Notepad
- simple text editor available in Windows by default
- Notepad++
- open source text editor for Windows based on Scintilla
- NP problem
- problem that can be solved in polynomial time (O(n^k)) by a nondeterministic Turing machine
- NP-complete problem
- problem that is as hard as any NP problem
- npm, node package manager
- package manager for Node.js
- NREN, national research and education network
- specialised internet service provider dedicated to supporting the needs of the research and education communities within a country
- nroff
- markup language for typesetting documents
- NS record, name server record
- DNS record that specifies the authoritative name servers for a domain
- NSFW, not safe for work
- content (e.g. a comment on a social network) which should be looked at in private as it may contain offensive or indecent material
nsstring
- string class in Objective-C
- NTFS, new technology file system
- proprietary journaling file system developed by Microsoft for Windows
- NTP, network time protocol
- protocol for synchronizing clocks over a network
- NTSC, National Television System Committee
- analog television color system
- null
- constant that typically represents a null pointer, an empty value, or no data
- null pointer
- pointer that does not point to any object
- null pointer exception
- exception that occurs when a program attempts to access a null pointer
- nullish coalescing operator,
??
- logic operator that returns its right-hand side operand when its left-hand side operand is null or undefined, and otherwise returns its left-hand side operand
- NumPy
- Python library for efficient matrix operations
- NVIDIA
- company that designs and manufactures GPUs
- NVIDIA Collective Communications Library, NCCL
- library for parallel computing on GPUs
- NVIDIA Optimized Deep Learning Frameworks, NVIDIA DALI
- library for accelerating data pipelines for machine learning applications
- OAuth, open authorization
- open standard for authentication and authorization
- object
- data structure that contains data and functions to operate on that data
- object code
- see machine code
- object storage
- storage architecture that manages data as objects
- Objective-C
- object oriented programming language developed by Apple for macOS and iOS
- observability
- measure of how well internal states of a system can be inferred from knowledge of its external outputs
- Ocaml
- functional programming language
- OCR, optical character recognition
- technology to convert images of typed or handwritten text into text format
- ODBC, open database connectivity
- standard for database access
- ODS, operational data store
- database designed to integrate data from multiple sources for additional operations on the data
- Office 365
- cloud service by Microsoft that provides access to office software
- Office, MS Office
- suite of office software developed by Microsoft
- offset
- integer value that represents the displacement or distance from a base address, index or position
- OLAP, online analytical processing
- software that enables users to analyze multidimensional data interactively from multiple perspectives; cf. OLTP
- OLTP, online transaction processing
- software that facilitates and manages transaction-oriented applications; cf. OLAP
onclick
- HTML attribute that specifies a JavaScript function to be executed when the element is clicked
- one hot encoding, 1-hot encoding, one-of-V encoding, 1-of-V encoding
- ML method where a categorical variable is converted into a binary vector where each index in the vector corresponds to a category, with a ‘1’ indicating the presence of that category; e.g. the categories ‘red’, ‘green’, and ‘blue’ could be encoded as [1, 0, 0], [0, 1, 0], and [0, 0, 1]
- ontology
- formal representation of knowledge as a set of concepts within a domain and the relationships between those concepts
- OOM, out of memory
- situation when a program tries to allocate more memory than is available
- OOO, out of office
- situation when a person is not available (e.g. on vacation)
- OOP, object oriented programming
- programming paradigm based on the concept of objects and their interactions
- OOV, out of vocabulary
- word that is not in the vocabulary
used by a language model;
usually replaced with
<unk>
or some other special token - open access
- publication model that makes research outputs freely available to the public
- open addressing
- hash table collision resolution technique where the hash function is used to find an alternative location in the table
- open source
- software whose source code is available to the public under a license that specifies conditions of use and modification
- Open Type, OTF
- font format
- Open-closed principle
- software design principle that states that software entities should be open for extension, but closed for modification
- OpenAI
- non-profit AI research company
- OpenCV, open computer vision
- open source computer vision and machine learning software library
- OpenGL
- API for rendering 2D and 3D vector graphics
- OpenOrca
- huge dataset of questions and answers
- OpenShift
- container orchestration platform by Red Hat
- OpenSSL
- library used for secure communication over computer networks
- OpenVPN
- open source VPN software
- operand
- value on which an operator acts
- operation
- function that takes one or more inputs and produces a result; e.g. addition, subtraction, multiplication, division
- operator
- symbol that represents an operation
- operator overloading
- programming language feature that allows operators to be redefined for custom types
- optical disc
- storage medium that uses optical technology to read and write data
- optimistic concurrency control
- concurrency control method that assumes that no conflict will occur
- optimizer
- function that minimizes the loss function by adjusting the weights of a model
- OPUS
- large multilingual parallel corpus
or
- logil operator that returns true if either of its operands is true
- Oracle
- database management system and a company that develops it
- Oracle Cloud
- IaaS and PaaS by Oracle
- orchestration
- process of automating the deployment, management and scaling of containers
- order of magnitude
- power (factor) of 10
- ORM, object relational mapper
- technique for converting data between a relational database and objects in an object oriented programming language
- OS X
- Unix based operating system developed by Apple
- OS, operating system
- software that manages computer and provides common services for applications run on the computer
- OSI model, Open Systems Interconnection model
- conceptual model that characterizes and standardizes the communication functions of a computing system without regard to its underlying internal structure and technology
- outlier
- data point that differs significantly from other observations
- Outlook
- email and calendar software developed by Microsoft
- overfitting
- when a model starts to memorize the training set instead of finding generalizable underlying patterns in the data
- overflow
- when a number is too large to be represented by the data type used to store it
- overlay file system
- file system that stores files on another file system
- Overleaf
- SaaS for LaTeX
- P-frame
- frame that is encoded using the difference between it and the previous frame
- package
- the form of software suitable for distribution
- package manager
- program that automates the process of installing, upgrading, configuring, and removing software modules
- packet
- unit of data that is routed between an origin and a destination on a network
- page
- fixed-length block of memory
- page fault
- when a program tries to access a page that is not in the main memory
- page rank
- algorithm for measuring the importance of a web page for the purpose of search engine
- pagination
- technique for dividing a large dataset or document into smaller parts (called pages)
- pair programming
- software development technique where two programmers work together on the same task usually on one computer
- PAL, phase alternating line
- video encoding system used in Europe
- palindrome
- string that reads the same backward as forward
- PaLM, pathways language model
- large language model from Google AI with 540 billion parameters
- Parquet
- column-oriented data file format designed for efficient data storage and retrieval developed by Apache
- Pandas
- Python library for data analysis
parallel
, GNU parallel- command line tool for parallel computing
- parallel computing
- type of computation where many calculations are performed simultaneously
- parallel corpus
- corpus that contains translations of the same text in multiple languages where each sentence is aligned with its translation
- parameter
- variable that is part of the function definition
- parameters (machine learning)
- sometimes used interchangeable with weights
- parametric test
- statistical test that makes assumptions about the population; e.g. t-test; cf. non-parametric test
- parent class
- class that is inherited from
- parity bit
- bit added to a byte of data to make the number of bits with the value 1 even or odd
- parser
- program for parsing
- parsing, syntactic analysis
- procedure that analyzes the structure of a text according to the rules of a formal grammar
- partial derivation
- derivation of a function with respect to one of its arguments
- partition
- contiguous block of sectors on a disk that is treated as a separate unit
- partition table
- table that stores information about the partitions on a disk
- Pascal
- imperative programming language designed in 1968 for teaching purposes
- pass
- CLI password manager
pass
(Python)- keyword in Python that does nothing
- pass (machine learning)
- one complete presentation of the training set to a model
- pass by reference
- method of passing arguments to a function where the function receives a reference to the original variable instead of a copy of its value
- pass by value
- method of passing arguments to a function where the function receives a copy of the original variable instead of a reference to its value
- password
- string of characters used for authentication
- password manager
- software for securely storing passwords and other credentials
- PATA, parallel AT attachment
- bus interface for connecting mass storage devices, predecessor of SATA
- patch
- software update that fixes bugs
PATH
- environment variable that specifies the directories in which executable programs are searched in Unix command line
- path (graph theory)
- sequence of vertices in a graph where each vertex is connected to the next one
- path (OS)
- string that identifies a file or directory in a file system
- pattern
- see regular expression
- pattern matching
- technique for checking if a string matches a given regular expression
- PayPal
- company that provides online payment services
- PC, personal computer
- computer for personal use
- PCA, principal component analysis
- technique for reducing the dimensionality of a dataset by projecting it onto a lower dimensional space
- PCI, peripheral component interconnect
- bus for connecting hardware devices to a computer
- PDF, portable document format
- file format for storing documents in a device independent manner suitable for printing
- PDO, PHP data objects
- PHP extension for database access
- peer-to-peer network, p2p
- network where all nodes are equal and there is no central server
- PEMDAS, parantheses, exponents, multiplication, division, addition, subtraction
- mnemonic for the order of operations in Python expressions
- pentest, penetration test
- security test of a software or hardware system by attempting to exploit its vulnerabilities
- perfect hash function
- hash function with no collisions
- peripheral
- hardware device that is connected to a computer but is not part of it; e.g. a printer
- Perl
- scripting language
- permalink, permanent link
- URL that points to a specific web page and does not change over time
- perplexity
- measurement in information theory that quantifies how well a model predicts a sample
- persistent memory
- memory that retains its contents even when power is lost
- PERT, program evaluation and review technique
- project management statistical tool for estimating the time required to complete a project developed by the US Navy in the 1958
- pessimistic lock
- lock that prevents other processes from accessing a resource until the lock is released
- petabyte
- 10^15 bytes or 1,000 terabytes
- Petri net
- graph for modeling concurrent systems
- PGP, pretty good privacy
- encryption software
- PhantomJS
- headless browser
- PHP, PHP hypertext preprocessor, personal home page
- programming language for creating dynamic web pages
- phrase-based MT, phrase-based machine translation, PBMT
- approach in MT where translations are made on the basis of phrases rather than individual words; cf. word-based MT
- pi, Ludolph’s number
- constant–the ratio of a circle’s circumference to its diameter, approximately 3.14159
- pickle
- Python standard library module for serializing and deserializing objects
- PID, process identifier
- number used by an operating system to uniquely identify a process
- pie chart
- chart that shows the relative sizes of different categories in a dataset as slices of a pie
- PII, personally identifiable information
- information that can be used to identify a person
- PIL
- Python library for image processing
ping
- Unix command for testing whether a host is reachable using ICMP
- ping of death
- denial of service attack that sends malformed ICMP packets to a host
- social network for sharing images
- pip
- Python package manager
- pipe
- Unix inter-process communication mechanism that connects the standard output of one process to the standard input of another
- pipeline, pipe, |
- method for passing standard output from one process to another as standard input; symbolized by ‘|’ in many shell environments
- pivot table
- table that summarizes data from another table
- pivoting
- technique for rotating a table by turning the columns into rows
- pixel art
- art that is created by placing individual pixels on a canvas
- pixel perfect
- type of design that is implemented with pixel level accuracy
- pixel, px, pel, picture element
- single point in a raster image or the smallest addressable element in a screen
- plain text
- file format for storing text in some encoding
- platform
- software or hardware environment in which applications can run
- platform as a service, PaaS
- cloud computing service that provides a platform for running applications; e.g. Heroku
- PLOS, Public Library of Science
- open access publisher
- plot
- graph that shows the relationship between two variables
- Plotly
- data visualization library
- plugin
- software component that adds a specific feature to an existing program
- PoC, proof of concept
- (software) prototype that demonstrates the feasibility of a concept
- pointer
- variable that stores the memory address of a value
- polling
- technique for periodically checking for new data; e.g. a client periodically checks for new messages; cf. busy waiting
- polymorphism
- programming language feature where a method can be used with different types
- polysemy
- property of a word or phrase that has multiple meanings; e.g. “bank” can mean a financial institution or the land
- pop
- operation that removes an element from a stack
- POP3, Post Office Protocol version 3
- protocol for retrieving email messages which are deleted from the server upon retrieval
- popup
- graphical user interface element that appears on top of the current window
- PoS tagger
- program that assigns a part of speech to each word in a text
- PoS, part of speech
- category of words in a natural language that have similar grammatical properties; e.g. noun, verb, adjective, adverb
- POSIX, portable operating system interface
- family of standards for maintaining compatibility between Unix systems
- post
- message sent to a forum or a wegpage
- post mortem
- analysis of an issue caused by a bug after it has been mitigated
- post-editing (machine translation)
- process of improving translation from MT by human editors
- postfix
- notation where the operator is written after the operands;
e.g.
3 4 +
- PostgreSQL, Postgres, pg
- relational database system with ACID compliance
- Postman
- software for testing APIs
- postorder
- tree traversal where the children of a node are visited before the node itself
- PostScript, PS
- page description language from Adobe
- pothole case
- see snake case
- power law
- relationship between two quantities where one quantity varies as a power of another
- PowerBI
- business intelligence tool from Microsoft
- PowerPoint
- sofware for creating presentations by Microsoft
- PowerShell
- shell and scripting language from Microsoft
- pragma
- directive in source code that provides additional information to the compiler, typically to optimize or modify compilation
- pragmatics
- subfield of linguistics dealing with context-dependent aspects of meaning that are not directly derived from the words of the language
- precedence
- order in which operators are evaluated
- precision
- the fraction of true positives cf. recall
- predicate
- function that returns a boolean value
- predicate logic
- logic that uses quantified variables and quantified predicates
- prediction
- output or result of a model
- preemptive multitasking
- multitasking technique where the scheduler can interrupt a task to run another task
- prefetching
- technique for loading data into cache before it is needed
- prefix
- beginning of a string or word;
e.g.
re
inrethink
,un
inundo
, etc. - prefork server model
- server model where there is a central master process that manages a set of worker processes
- preorder
- tree traversal where the root is visited before the children
- preprocessor
- program that processes a text file before it is compiled
- presupposition
- in pragmatics, a proposition which is assumed to be true in a given discourse
- pretrained model
- model that has weights already trained on some other (usually larger) dataset
- primary key
- column or set of columns that uniquely identifies a row in a table
- prime number, prime
- number that is only divisible by itself and 1; e.g. 11
- Primefaces
- Java library for creating web applications
- primitive
- data type that is not composed of other data types
- principle of compositionality, compositionality principle
- language expression is compositional
if the meaning of it is determined
by the meaning of its constituents;
e.g. the meaning of
red car
is compositional whileWhite house
is not printf
- C function for printing formatted text
- priority queue
- data structure where the element with the highest priority is removed first
- private key
- key used for encryption that is kept secret
- private method
- method that can only be called from within the class where it is defined
- private variable
- variable that can only be accessed from within the class where it is defined
- private network
- network that is not accessible from the public Internet
- probability distribution
- function that describes the probability of a random variable taking certain values
- procedure
- function that does not return a value
- process
- program in execution which has its own memory space
- processor
- hardware component that executes instructions
- production
- deployment of a software that is used by users
- program
- set of instructions for a computer to execute usually in in binary format
- programming language
- artificial language for writing programs
- programming paradigm
- style of programming
- progress bar
- graphical user interface component for showing the progress of a task
- Project Gutenberg
- digital library of public domain books
- project management
- discipline of planning, organizing, and managing resources (time, money, people) to achieve specific goals
- Prolog
- logic programming language from the 1970s
- prologue
- initial set of instructions at the beginning of a function that typically includes stack setup, register saving, and other preparations for the function’s execution
- Prometheus
- software for aggregating metrics from various services; designed to run on one server
- promise
- JavaScript object representing the eventual completion or failure of an asynchronous operation
- prompt (browser)
- JavaScript component for interacting with the user
- prompt (ChatGPT)
- input from the user in a chatbot conversation
- proof of work
- consensus mechanism where the miner must solve a puzzle to add a block to the blockchain
- property
- variable that is accessed like an attribute but is actually a method
- proportional typeface
- typeface where the width of characters varies
- propositional calculus
- branch of logic that deals with propositions and their relationships
- proprietary software
- software that is not open source
- protocol
- set of rules for communication between two entities
- protocol buffer, protobuf
- binary file format developed by Google
- Protractor
- e2e testing framework for Angular
- proxy server
- server intercepting requests and forwarding them to the appropriate servers and then back to users with the goal of load balancing, security, and caching
ps
- command for listing processes in Unix
- pseudorandom number generator
- algorithm that generates a sequence of numbers that appear random, but are actually deterministic
- psql
- command for interacting with a PostgreSQL
- public domain
- intellectual property that is not protected by copyright; license which allows sharing and adapting a work without any restrictions
- public key
- key that is shared publicly; cf. private key
- public method
- method that can be called from outside the class where it is defined
- pull (git)
- operation in a git which fetches and merges changes from a remote repository
- pull request
- request to merge a branch into another branch; cf. merge request
- pumping lemma for regular languages
- lemma that says that all sufficiently long strings in a regular language have a substring that can be repeated an arbitrary number of times to produce a new string that is also part of the language; the lemma is used to prove that a language is not regular
- punctuation
- symbols used in writing to separate sentences and their elements to clarify meaning; e.g. comma, period, question mark, etc.
- Puppet
- configuration management tool
- Puppeteer
- Node.js library for controlling headless Chrome
- push (git)
- operation in a git which sends changes to a remote repository
- push (stack)
- operation that adds an element to a stack
- pushdown automata
- type of finite automata with a stack that can be used to store data
- PWA, progressive web app
- web app that uses modern web capabilities and APIs to deliver an app-like experience
- PyCharm
- IDE for Python
- pypy
- Python implementation written in Python
- Pydantic
- Python library for data validation and settings management
- pySpark
- Python API for Spark
- pytest
- Python testing library
- Python
- dynamically typed programming language
- PyTorch
- machine learning framework for Python
- Q
- high-level, general-purpose programming language used mainly in finance for time series analysis
- QA, quality assurance (software development)
- process for ensuring quality of a software
- QA, question answering (machine learning)
- task of answering a question based on a given context
- QEMU, quick emulator
- virtualization software
- Qt
- cross-platform framework and toolkit for developing GUI applications
- quadratic probing
- hashing technique that uses a quadratic function to find the next available slot in a hash table
- quadratic time
- time complexity of an algorithm that is proportional to the square of the size of the input
- quadtree
- tree in which each internal node has exactly four children used in spatial indexing
- quadword, qword
- data type used to represent 64 bits or 8 bytes of data, often used for storing large integers, memory addresses, and floating point numbers in assembly
- quant
- quantitative analyst
- quantified self
- movement of people tracking personal data; e.g. health, sleep, etc.
- quantifier
- logical operator that binds a variable
in a logical formula; e.g.
∀
and∃
- quantitative analysis
- analysis of numerical data; e.g. stock prices, sales, etc.
- quantization
- process of converting a continuous signal into a discrete signal
- quantum computing
- field of computing that applies principles of quantum physics to information theory and computation
- qubit
- quantum bit, the fundamental unit of quantum information in quantum computing
- query
- request for information from a system
- query language
- programming language for querying data
- query optimization
- process of choosing the most efficient way to execute a query
- queue
- data structure that stores data in FIFO manner
- quick sort
- recursive algorithm for sorting lists
- quorum
- minimum number of votes required for a decision to be valid
- qutebrowser
- web browser focused on keyboard navigation and minimalism which uses Qt and Python for development and Vim key bindings
- QWERTY
- standard keyboard layout
- QWERTZ
- keyboard layout used in Central Europe
- R, rlang
- programming language for statistical computing
- RabbitMQ
- message broker
- race condition
- error that occurs when the timing or sequence of processes’ execution leads to incorrect or unexpected behaviour
- rack (hardware)
- physical frame or enclosure for mounting multiple electronic equipment modules, commonly used in server and networking installations
- radio button
- GUI element that allows the user to select one option from a list of options
- radix sort
- sorting algorithm that classifies data based on the digits of the numbers from the least significant digit to the most significant digit and is efficient for sorting large sets of data with a limited range of possible values
- RAG, retrieval augmented generation
- using a relevant document prepended to the prompt to improve the results of chatbot
- RAID, redundant array of independent disks
- storage technology that combines multiple disks into a single logical unit
- RAID0
- TODO
- RAID1
- storage technology that mirrors data across two or more disks for redundancy
- RAID2
- RAID configuration using Hamming code error correction rarely used in practice
- RAID5
- TODO
- RAM, random access memory
- memory that can be accessed randomly
- random forest
- machine learning architecture that uses an ensemble of decision trees
- random generator
- algorithm that generates a sequence of numbers that cannot be predicted
- random search
- random combination of hyperparameters are used to find the best solution
- random variable
- variable whose possible values are numerical outcomes of a random phenomenon; e.g. the number of heads in 10 coin flips
- ransomware
- malware that encrypts data and demands a ransom from the victim
- Raspberry Pi
- small computer used in IoT
- raster graphics
- representation of graphical components as a collection of pixels
- raster image
- see bitmap image
- RAW
- image file format storing unprocessed data from a digital camera
- rax
- x86 CPU register used as the general-purpose accumulator register
- rbp, base pointer register, RBP, register base pointer
- x86 CPU register commonly used for addressing variables on the stack in function prologues and epilogues
- rbx, rcx
- x86 CPU register used as a general-purpose register for data storage and manipulation
- rc suffix, run commands
- Unix configuration file suffix for running commands at startup
- rdi
- x86 CPU register used for passing the first argument to a function in the calling convention of some operating systems
- rdx
- x86 CPU register used for various purposes, including as a general-purpose register and for holding the high part of a dividend in integer division operations
- React
- JavaScript web framework developed by Facebook
- React component
- UI component in React
- React hook
- React functions (or API)
for directly using state and lifecycle features from
function components, usually starting with
use
- React Redux
- method to share global state in React web app
- README
- plain text file that contains information about a software; usually part of its repository
- real time
- system that responds to events immediately
- recall
- the ratio of retrieved relevant items and all relevant items; also true positive / (true positive + false negatives)
- recaptcha, reCAPTCHA
- CAPTCHA service by Google
- reciprocal
- reciprocal of a number
x
is1/x
- recommendation engine
- see recommendation system
- recommendation system, recommender system
- system that recommends items to users based on their preferences; cf. collaborative filtering
- recursion
- technique of solving a problem by solving a smaller part of the same problem
- recursively enumerable grammar
- TODO
- recursively enumerable grammar, RE grammar
- grammar that can generate all recursively enumerable languages; also known as type-0 grammar or unrestricted grammar
- red black tree
- data structure that is a binary search tree with additional constraints on the nodes
- Red Hat
- company that develops Linux distributions and other software
- Red Hat Enterprise Linux, RHEL
- Linux distribution from Red Hat with long-term support, paid subscription and focus on stability
- red zone
- region in memory in the x86 reserved for temporary data storage for leaf functions
- social media platform
- redirect
- process of forwarding a request to another URL and potentially another server
- Redis
- key-value store
- redo
- operation that repeats the last undo operation
- Redshift
- data warehouse service from AWS
- reduce
- higher-order function that takes a binary function, a starting value (accumulator) and a list, and applies the function to the accumulator and each element of the list
- redundancy
- fault tolerance technique where multiple copies of data are stored
- Redux store
- global state in React Redux
- refactoring
- technique for changing (ideally improving) the design of existing code without changing its behaviour
- register
- small, fast memory location within the CPU that temporarily hold data and instructions during processing
- registry
- database of configuration settings in Windows
- regression analysis
- estimates the expected value of a numeric attribute when all the input attributes are fixed
- regression model
- model which predicts one or more numeric quantities e.g. a temperature or a location; cf. classification
- regression testing
- process of testing a software after a change to ensure that the change did not break the software
- regular expression, regex, regexp, RE
- pattern for matching strings written as a string; cf. regular language
- regular grammar
- formal grammar where all rules are of the form
A -> aB
orA -> a
whereA
andB
are non-terminals anda
is a terminal - regular language
- formal language that can be described by a regular grammar
- regularization
- technique for reducing overfitting; e.g. L1 and L2 regularization
- reinforcement learning, RL
- machine learning technique where an agent learns by interacting with an environment without a specific goal but by maximizing a reward for desired behaviour
- relational database management system, RDBMS
- database and related utilities for storing and retriewing (querying) tabular data
- relative path
- path that is relative to the current directory;
e.g.
../../foo.txt
- release
- version of a software that is ready for production
- ReLU, rectified linear unit
- activation function used
in neural networks which is defined as
max(0, x)
- remote desktop
- desktop environment that is running on a remote server and can be accessed from a client
- remote repository
- repository that is stored on a remote server
- replica
- copy of a database or service that is used to increase availability
- repository, repo
- decentralized storage location for version control system
- research software engineer, RSE
- software engineer building software for other researchers
- resilient distributed dataset, RDD
- data structure that represents a collection of records that can be partitioned across nodes in a cluster and can be operated on in parallel
- ResNet, residual network
- type of convolutional model
- ResNet32
- ResNet with 32 layers
- resolution
- number of pixels in a display, image or video usually expressed as the number of pixels in the horizontal and vertical dimensions; e.g. 1920x1080
- responsive web design
- method of designing web apps that adapts to different screen sizes
- REST API
- API built on HTTP 1.1 protocol based on the principles of REST
- REST, representational state transfer
- software architecture for web services
- RESTful API
- set REST API
- reStructuredText
- markup language for writing technical documents
- reStructuredText, reST
- markup language for writing Python documentation
- resumption
- continuing an operation or process after a pause or interruption
return
- keyword that returns a value from a function
- reverse engineering
- process of analyzing a software or hardware to understand its design and functionality, often for replication or enhancement
- revision
- see commit
- RFC, request for comments
- document proposing a standard
- rFlags, register flags
- CPU register in x86 that holds various flags that indicate the status and results of arithmetic and logical operations
- RGB, red green blue
- color model where each basic color is represented by one byte
- RGBA, red green blue alpha
- color model where each basic color is represented by one byte and the alpha channel is used for transparency
- right join
- join that includes all rows from the right table
and only matching rows from the left table,
when there is no match, the left columns are filled with
NULL
- ring buffer
- data structure that is a queue with a fixed size that overwrites the oldest element when full
- RIP, register instruction pointer
- CPU register in x86-64 indicating the location of the next instruction to execute
- ripgrep,
rg
- command-line tool for searching files using regular expressions; cf. grep, ack
- RISC, reduced instruction set computer
- computer with a small set of simple instructions
- RISC-V
- open source RISC instruction set
- RLHF, reinforcement learning with human feedback
- technique for improving on pure LLM where a human (or a better model) picks a better answer from a selection
- RNN, recurrent neural network
- model architecture for modeling sequential data with layers that are connected to themselves which allows the model to remember previous states
- ROC curve, receiver operating characteristic curve
- graph) that shows the performance of a binary classifier at different thresholds; the curve is obtained by plotting the true positive rate (also known as recall) along the y-axis against the false positive rate
- roll back
- undo a transaction or a deployment
- root (linguistics)
- morpheme that carries the main meaning of a word; e.g. overbooked, underachiever
- root (OS)
- user with the highest level of privileges in Unix systems
- root directory
- directory that contains all other directories denoted as
/
- root node
- node with no parent
- rotating file
- set of files to store recent information where the oldest file is deleted when a new file is created
- router (network)
- device that forwards packets between networks
- router (web app)
- mechanism for mapping URLs to views
- routine
- set of instructions that performs a specific task in a program; generic term for function, method, procedure
- routing table
- data table stored in a router or network host that lists the routes to particular network destinations
- RPC, remote procedure call
- protocol that allows a program to cause a subroutine or procedure to execute in another address space (commonly on another computer on a network) without the programmer explicitly coding the details for this remote interaction
- RPS, request per second
- metric for measuring the performance of a server
- RSA, Rivest–Shamir–Adleman
- cryptographic algorithm for public key encryption
- RSI, repetitive strain injury
- injury caused by overuse of the hands and arms; e.g. by typing or using a mouse
- RSP, Register Stack Pointer
- CPU register that points to the top of the current stack frame in x86
- RDF, resource description framework
- W3C standard for describing resources on the web in the form of triples: subject, predicate, object
- RSS, Rich Site Summary, RDF Site Summary, Really Simple Syndication
- XML format for publishing updated content on web
- RSVP, répondez s’il vous plaît
- request for a response to an invitation (e.g. for a meeting)
- rsync
- CLI program for copying files between two locations effectively by only transferring the differences
- Unison
- file synchronization program similar to rsync
- RTF, rich text format
- file format for storing formatted text
- RTFM, read the fucking manual
- initialism and internet slang
- RTL, right to left text
- text (or script) written from right to left; e.g. Arabic, Hebrew
- rubber duck debugging
- method of finding a solution to a problem just by articulating it in spoken or written form
- Ruby
- dynamic open source programming language
- Ruby on Rails
- web framework written in Ruby
- rule 31
- principle in online communities stating that if it exists, there is internet content of it
- rule-based MT, RBMT, rule-based machine translation
- machine translation approach relying on manually predefined linguistic rules
- ruliad
- abstract object representing the result of following all possible computational rules in all possible ways
- runtime
- instructions executed while a program is running necessary for the proper execution of the code; e.g. garbage collector in Python
- runtime code
- code required to implement runtime system of a programming language
- runtime error
- error that occurs during runtime and which usually can’t be detected beforehand
- Rust
- low-level programming language designed to be memory-safe
- rustacean
- mascot of Rust
- rxvt
- terminal for X11
- S
- programming language for data analysis; cf. R
- Sentry
- self-hosted and cloud-based service for application performance monitoring and error tracking
- S3 (R)
- framework for OO in R
- S3, simple storage service
- cloud storage service by AWS
- SaaS, software as a service
- method of software delivery and licensing in which software is accessed online
- Safari
- web browser by Apple
- Salesforce
- CRM platform and company that develops it
- salt
- random data used as an additional input to a hash function
- Samba
- software suite for file sharing
- Samsung
- South Korean company that manufactures electronics
- sandbox
- isolated environment for testing either separated from production or restricted in terms of resources
- sanity check
- quick test to confirm that a system is working properly or data quality is reasonable
- SAP, systems, applications and products
- software company developing ERP systems
- SAS, statistical analysis system
- software suite for advanced analytics
- Sass
- preprocessor scripting language which is transpiled into CSS
- SAT, satisfiability problem
- problem of determining if there exists an interpretation that satisfies a given Boolean formula
- SATA, serial AT attachment
- bus interface for connecting mass storage devices
sbt
, Scala build tool- build tool for Scala
- Scala
- open source functional programming language that runs on the JVM
- scalar
- single value of a particular type; e.g. integer, float
scanf
- C function for reading formatted input
- scanner
- input device for digitizing documents and images
- scheduler
- process that decides which process to run next
- scheduling
- process of assigning resources to tasks
- schema
- specification of database structure (format of tables, types of columns, etc.)
- Scheme
- functional programming language
- Scikit learn, sklearn, scikit
- Python library for machine learning
- Scintilla
- open source code editing component
- SciPy
- Python library for scientific computing
- scope
- part of a program where a name binding is valid
- Scrapy
- Python library for web scraping
- screen
- display device for a computer
- screen lock
- program that prevents unauthorized access to a computer
- screen reader
- program that reads text displayed on a screen used e.g. by visually impaired users
- screen, GNU screen
- terminal multiplexer
- screencast
- digital recording of computer screen
- screensaver
- program that displays an (animated) image when a computer is idle
- screenshot
- digital image of computer screen
- script
- program written in a scripting language; synonymous with program in some contexts
- scripting language
- programming language used to manipulate, customize and automate existing systems; usually interpreted; e.g. AWK, Bash, Lua, etc.
- scriptio continua
- text or language without spaces between words
- scrolling
- moving displayed text or graphics in a particular direction
- scrum
- agile project management framework focused on adaptability and iterative progress through fixed-length sprints
- scrum master
- person responsible for facilitating the scrum process
- SCSI, small computer system interface
- set of standards for physically connecting and transferring data between computers and peripheral devices
- SD card, secure digital card
- flash memory storage device
- SDK, software development kit
- toolikit for developing software for a specific platform
- Seaborn
- Python library for data visualization
- search engine
- software system that is designed to carry out search in a large collection of documents, e.g. web
- SECAM, Séquentiel couleur à mémoire
- analog television color system
- sector
- smallest unit of storage on a disk
- security by obscurity, security through obscurity
- security through secrecy of design or implementation; e.g. sharing a link with randomly generated URL
- security vulnerability
- weakness in a system that allows an attacker to compromise the confidentiality, integrity or availability of the system
sed
, stream editor- CLI Unix utility for text processing
- seed funding
- first money that a startup receives used usually for product development and market research
- seed, random seed
- value used for initialization of random generator function
- seek
- low level method for jumping to a position in a file
- segmentation
- memory management technique that divides a computer’s primary memory into segments
- segmentation fault, segfault
- runtime error caused by an invalid memory access
SELECT
- SQL statement for querying relational database for selecting columns or rows based on the query
- selection sort, select sort
- sorting algorithm that repeatedly finds the minimum element and puts it at the beginning
- Selenium
- Python library for web scraping
- self
- keyword in some programming languages that refers to the current object
- self balancing tree
- tree data structure that automatically keeps its height small to guarantee fast operations
- self hosting
- running a service on your own (virtual) server
- self join
- join of a table with itself
- SELinux
- security module for Linux kernel
- semantic versioning, semver
- convention for versioning software
in the form of
MAJOR.MINOR.PATCH
whereMAJOR
number is incremented when backward incompatible changes are made,MINOR
is incremented when new functionality is added in a backwards-compatible manner, andPATCH
is incremented when backwards-compatible bug fixes are made - semantics (linguistics)
- study of meaning in language; also level of language carrying meaning
- semaphore
- synchronization primitive used to control access to a shared resource in the context of concurrency
- semiconductor
- material with electrical conductivity between that of a conductor and an insulator
- semicolon
- punctuation mark
;
- sense vote
- preliminary vote to determine the sense of the meeting
- sensitivity
- see recall
- sentence alignment
- NLP technique for aligning sentences in multilingual texts which are translations of each other on document level resulting in parallel corpus
- SEO, search engine optimization
- process of improving the visibility of a web page in search engine results
- separation of concerns
- general principle for software development
- sequence-to-sequence model
- type of ML model used for transforming a sequence of elements from one domain into another commonly used in NLP e.g. for machine translation
- sequential data
- data that is stored in a sequence and the order is an inherent property of it
- sequential search
- technique for finding an element in a list by checking each element in order
- serial port
- hardware interface for serial communication
- serialization
- process of converting data structures or objects into a format that can be stored or transmitted
- series A
- first round of venture capital financing where the money raised are usually used for developing a business plan and to increase revenue
- series B
- second round of venture capital financing where the money raised are usually used for scaling the business and to provide competitive salaries
- series C
- third round of venture capital financing where the money raised are usually used for expanding into new markets and acquisitions
- server
- computer which is connected to a network and provides services to other computers
- serverless
- cloud computing execution model where the cloud provider dynamically manages the allocation of machine resources
- servlet
- Java programming class used to extend the capabilities of servers
- set (data structure)
- data structure that stores unique elements
- setter (OOP)
- method for setting a value of a property
- setuptools
- Python library for packaging
- SGD, stochastic gradient descent
- method for efficiently finding weights for a model
- SGML, standard generalized markup language
- markup language for defining document types
- shader
- program that runs on a GPU to compute rendering effects (lighting or position of vertices and pixels) which can be used for general programming; cf. GPGPU
- Shannon’s game
- game to study the redundancy and information content of the English language
- sharding
- database partitioning technique where each partition is stored on a separate server
- shared library
- library that is loaded at runtime
- Sharepoint
- collaboration platform by Microsoft
- shebang
- in Unix, the first line of a script
that tells the shell which interpreter
to use to execute the script;
e.g.
#!/usr/bin/python
- shell script
- a set of commands for shell stored in a file; cf. program
- shell sort
- sorting algorithm that sorts elements far apart from each other and then reduces the gap between elements to be compared
- shell, sh
- program that interprets and executes commands entered by the user in terminal
- shift
- operation that moves all bits in a binary number to the left or right and which can be used for multiplication or division by powers of 2
- Shift key
- modifier key that is usually used to uppercase letters
- Shiny
- R package for building interactive web apps
- Shopify
- SaaS e-commerce platform
- short option
- command option that is a single character;
e.g.
-h
- sibling
- node that has the same parent
- side effect
- change made by a function that is not part of its return value and remains after the function has finished executing; e.g. modifying a global variable or writing to a file
- sigmoid
- non-linear function with a characteristic S-shaped curve; see also logistic function
- signal
- message sent to a process to notify it of an event
- SignalR
- library for ASP.NET for real-time web functionality
- signed integer
- integer that can be negative or positive
- significance
- measure of how likely it is that an effect is not due to chance
- significand
- see mantissa
- SIGSEGV, segmentation fault
- signal sent to a process when it accesses a memory location that is not allowed
- SIM card, subscriber identity module card
- removable card used in mobile devices which securely stores IMSI
- SIMD, single instruction, multiple data
- parallel computing technique where a single instruction is executed on multiple data points
- similarity search
- search for similar objects in a database or dataset
- Simula
- the first object-oriented programming language which introduced objects, classes, inheritance, coroutines and garbage collection
- simulated annealing
- optimization technique inspired by the process of annealing in metallurgy used to find an approximate global optimum in a large search space by iteratively making small random changes to a solution and accepting those changes according to a specific probability that decreases over time
- single responsibility principle, SRP
- principle in which a module should be responsible to one and only one actor each class should have only one reason for rewriting
- singleton
- class with its only instance or set with only one element
- singleton pattern
- design pattern where a class can only have one instance usually implemented by hiding the constructor
- Siri
- voice assistant by Apple
- skip list
- data structure for storing a sorted list of items using a hierarchy of linked lists for faster search
- skip-gram
- algorithm in NLP used for learning high-quality word embeddings
- Slack
- commercial software for instant messaging
- slice (video)
- subdivision of a video frame used in video compression, self-contained, able to be decoded independently of other slices, which is useful for error recovery and parallel processing
- slider
- GUI element for selecting a value from a range
- slug
- abbreviated portion of a webpage’s URL that uniquely identifies it.
e.g.
https://www.mysite.com/category/post-name
has slugpost-name
- Smalltalk
- object-oriented programming language from the 1970s
- smart contract
- program that runs on a blockchain and can be used to automatically enforce an agreement
- smoothing
- technique in statistics for making a dataset less noisy or more comprehensible
- smoke test
- see sanity check
- SMS, short message service
- protocol for sending text messages over mobile networks
- SMTP, simple mail transfer protocol
- protocol for transmitting emails
- SMTPS, simple mail transfer protocol secure
- secured version of SMTP using TLS
- snake case
- naming convention for identifiers
where words are separated by underscores;
e.g.
num_of_students
- snap (Linux)
- package format for Linux
- snapshot
- copy of a database (or a dataset at a specific point in time
- Snowflake
- Tor pluggable transport
- SOAP, simple object access protocol
- protocol for exchanging XML messages over HTTP
socat
- CLI tool that establishes two bidirectional byte streams and transfers data between them
- social network
- application that allows users to connect with each other over internet, share multimedia content, etc.
- socket (operating system)
- file descriptor used e.f. for inter-process communication
- socket.IO
- JavaScript library for real-time web apps
- SOFSEM
- international conference on current trends in theory and practice of computer science originated in 1974 in Czechoslovakia
- softmax
- non-linear function that exponentiates numbers and normalize them to sum into 1.0; used to make the layer output a probability distribution
- software
- complex program consisting of source code and data, UI and documentation
- software 2.0
- term coined by Andrej Karpathy to distringuish the traditional software development (manually writing a code) and the approach of machine learning—letting the computer learn on its own from training data
- software architecture
- high-level structure of a software
- software design
- process of defining the software architecture
- software development
- process of creating software, programming
- software engineering
- see software development
- SOLID
- set of design principles used in object oriented programming; S for single responsibility principle, O for open-closed principle, L for Liskov substitution principle, I for interface segregation principle and D for dependency inversion principle.
- sort, sorting
- operation with data sequence which re-arranges its elements in ascending or descending order
- sound card
- hardware device that can play and record sound and convert between analog and digital signals
- source code
- see code
- source control
- see version control
- source language
- language from which a translation is made
- SPA, single page application
- web app that loads a single HTML page and dynamically updates the page as the user interacts with it
- space
- set of points
- spam
- unsolicited email messages
- Spark
- framework for distributed computing built on top of Hadoop
- SPARQL
- query language for RDF data
- sparse matrix
- matrix in which most of the elements are zero
- sparse vector
- vector in which most of the elements are zero
- spawn
- method of creating a new process from an existing one
- specification
- document that describes a system to be developed: its requirements properties, user interface, etc.
- specificity
- the proportion of actual negatives that are correctly classified; calculated as TN / (TN + FP)
- speech recognition
- task of converting digial audio signal of speech into text
- spell checker
- software that checks the spelling of words in a text
- spellchecker
- software tool for checking and correcting spelling errors in text
- Sphinx
- Python documentation generator built upon Jinja and Docutils
- splice
- method of inserting or removing elements from an array
- split tunneling
- VPN configuration where only traffic destined for the private network is sent through the VPN and other traffic is sent through the regular connection
- spline
- curve defined by control points in vector graphics
splint
- static analysis tool for C
- spreadsheet
- software or a data structure for working with tabular data
- Spring
- Java framework
- sprint
- interval in agile development during which a team works intensively on a set of tasks; usually 1–4 weeks long
- spyware
- malware that collects information about a user without their knowledge
- SQL injection
- security vulnerability in web apps that allows an attacker to execute arbitrary SQL code on the server
- SQL, structure query language
- domain specific language for managing and manipulating relational databases
- SQLAlchemy
- Python ORM
- SQLite
- single file database system
- square brackets
- brackets
[
and]
- square root
- number that when multiplied by itself gives the original number
- SSD, solid state disk
- storage device based on flash memory
- SSH key
- public key used for SSH authentication
- SSH, secure shell
- protocol and a program for secure communication between two computers over an insecure network
- SSL, secure socket layer
- protocol for establishing an encrypted connection between a client and a server
- SSO, single sign-on
- mechanism for logging in to multiple web apps with a single set of credentials
- SSR, server side rendering
- technique of rendering a web app on the server and sending the result to the client as HTML
- st, simple terminal
- terminal for X11 from suckless
- stack
- data structure that operates in LIFO manner
- stable sort
- sorting algorithm that preserves the order of elements with equal keys
- stack frame
- data structure used to represent the state of a function or subroutine during execution typically including information like local variables and return addresses
- stack overflow
- bug that occurs when a stack is full and a new element is pushed onto it
- stack trace
- list of function calls that led to the current point of execution
- StackOverflow
- online platform for asking and answering questions about programming
- stale link
- hyperlink that leads to an unaccessible web page
- standard
- specification that describes how a system should behave or be structured
- standard deviation
- measure of how spread out a set of values is computed as the square root of the variance
- standard error output, stderr
- output stream for error messages in Unix
- standard input, stdin
- input stream for reading data in Unix systems
- standard library
- set of libraries that are distributed with a programming language
- standard output, stdout
- output stream for writing data in Unix systems
- startup
- newly founded company
- statement
- syntactic unit of a programming language
that expresses some action to be carried out;
e.g.
x = 1
orINSERT INTO users VALUES (1, 'John')
- static analysis
- analysis of a program without executing it
- static linking
- when external libraries are included in a program at compile time by the linker
- static binding
- see early binding
- static memory allocation
- memory allocation where the size of the allocated memory is known at compile time
- static method
- method that is not bound to an object
- static site
- website that doesn’t contain any dynamic content (e.g. JavaScript code)
- static site generator
- software that generates a static site from a set of templates in plain text
- static type checking
- type checking that is performed as static analysis
- statically typed programming language
- programming language that requires type annotations of variables
- statistical machine translation, SMT
- machine translation approach that uses n-gram models to translate text from one language to another
- statistical model
- model that describes a system using statistical methods
- statistics
- branch of mathematics that deals with data analysis
- stem
- part of word without suffix; e.g. booking, booked, books
- stemming
- NLP technique that removes the suffixes from words to reduce the size of the vocabulary or as a kind of word normalization
- stochastic system
- system that has some randomness in it
- Stockfish
- chess software
- storage engine
- part of database that is responsible for storing and retrieving data from the disk
- stored procedure
- function that is stored in a database to be executed later
- streaming
- method of data processing where data is processed as it arrives and not as a whole
- Streamlit
- Python library for building data science web apps
- stress testing
- type of testing that checks the system under heavy load
- string
- data structure for representing text
- strong type system
- type system that does not allow implicit type conversions
struct
- C library for working with structured data
- structural patterns
- group of design patterns that deal with the composition of classes and objects
- structured analysis
- software design method that uses data flow diagrams to describe a system
- structured data
- data that is organized in a certain way and can be easily processed
- structured programming
- paradigm that promotes the use of well-organized, modular code composed of functions or subroutines
- Stuxnet
- computer worm discovered in 2010 known for targeting industrial control systems
- subdomain
- part of a domain; e.g.
www
inwww.example.com
- subprocess
- process that is spawned by another process
- subroutine
- specific type of routine which help avoid code duplication; two types: function and procedure; the term emphasizes that it is a subordinated part of a program
- substring
- part of a string
- subtree
- tree that is a part of another tree
- suckless
- community of open-source developers that create minimalistic software; e.g. st, dwm
- sudo, superuser do
- superuser command in Unix systems that allows to run predefined commands as the root or another user
- suffix
- ending of a string or word;
e.g.
.txt
infile.txt
,rc
in.bashrc
,ing
inrunning
, etc. - sum
- result of adding two or more numbers
- Sun Microsystems
- company that developed Java
- superclass
- see parent class
- supercomputer
- computer with high level of performance
- superuser
- user with the highest level of privileges in Unix systems
- supervised learning
- machine learning task where the model is trained using labeled data
- supremum
- least upper bound
- SVG, scalable vector graphics
- XML-based file format for representing vector graphics
- SVM, support vector machine
- machine learning model for classification and regression
- SVN, Subversion, svn
- open source software for versioning and revisions of source code developed by Apache
- Swagger
- framework for documenting REST APIs
- swapping
- process of moving memory pages between RAM and disk
- SWEBOK, software engineering body of knowledge
- IEEE standard for software engineering which describes generally accepted knowledge about software engineering
- Swift
- programming language developed by Apple running on LLVM
- Swing
- Java GUI toolkit
- switch (statement)
- statement that allows to select one of many code blocks to be executed
- swipe
- TODO
- SWOMPT, subject-verb-object-manner-place-time
- word order in English
- Symfony
- PHP framework
- synchronization (multiprocessing)
- process of coordinating the execution of multiple threads or processes
- syntactic sugar
- syntactic shortcut that makes the code easier to read and write
but does not add any new functionality;
e.g.
x++
vs.x = x + 1
- syntax
- set of rules that defines the combinations of symbols that are considered to be correctly structured programs in a given programming language
- syntax highlighting
- feature of a UI that highlights the syntactic elements of a programming language to make the code easier to read
- SysML, systems modeling language
- UML for systems engineering
- system call, syscall
- request to an operating system to perform a low-level operation; e.g. opening a file, reading a file, etc.
- systemd
- Linux init system
- systemd timers
- systemd unit for scheduling tasks
- SYSTRAN, SYStem TRANslation
- machine translation software
- T-score
- statistical measure used in a variety of contexts, including hypothesis testing in statistics
- TFLOPS, teraflops
- equal to one trillion flops per second
- TTL, time to live
- a mechanism which limits the lifespan of data in a computer or network
- t-test
- parametric test for comparing the means of two samples
- T9
- predictive text technology for mobile phones
- table (database)
- collection of related data held in a structured format within a database
- table (spreadsheet)
- cells organized into rows and columns
- tableless web design
- web design method that avoids using HTML tables for layout control
- tablet
- portable computer with a touchscreen and without a keyboard
- tabular data
- data represented in the form of a table–in rows and columns
- tabular model
- model which predicts one column of a table based on data in other columns of the table
- tabulator, tab
- whitespace character that advances the cursor to the next position usually located at every 4th or 8th column, also the corresponding key on the keyboard
- TAC, traffic acquisition costs
- money paid to other companies for using a company’s product; e.g. Google pays Apple to be their default search engine
- tagset
- a set of PoS tags used by a tagger
tail
- command that prints the last lines of a file
- Tailwind CSS
- CSS framework
- tanh, hyperbolic tangent
- non-linear function used as activation function in neural networks
tar
- Unix command for archiving files
- target language
- language into which a translation is made
- Tatoeba
- parallel corpus aiming to provide example sentences in multiple languages
- TB, terabyte
- 10^12 bytes or 1,000 gigabytes
- tc, traffic control
- Linux program for controlling network traffic
- Tcl
- high-level, interpreted dynamic programming language
- Tcl/Tk
- GUI toolkit for Tcl
- TCP, transmission control protocol
- network protocol for reliable communication between computers on internet
tcpdump
- CLI packet analyzer for network traffic monitoring
- TDD, test-driven development
- software development in which unit tests are written before the code itself
- Teams, MS Teams
- software for communication developed by Microsoft
- tech debt, technical debt
- software development metaphor for the extra work that arises when code that is easy to implement in the short run is used instead of applying the best overall solution
- telephony
- technology for voice communication
- telnet, teletype network
- network protocol for remote terminal access
- templating engine
- software that combines templates with a data model to produce documents
- temporal decomposition
- breadkign down a system or dataset into components or elements based on time; used in time series analysis
- tensor
- [multidimensional] array
- TensorFlow
- machine learning library developed by Google
- TER, translation error rate
- metric used in machine translation to calculate the number of edits needed to change automatically translated text to match a reference text
- terminal
- program that provides a text-based user interface to an operating system; not to be confused with shell
- terminal (NLP)
- symbol that cannot be expanded further
- terminal multiplexer
- software that allows multiple terminal sessions to be accessed simultaneously in a single window
- terminfo
- library and database of terminal capabilities that enables programs to use terminals in a device-independent manner
- ternary operator
- operator that takes three arguments;
e.g.
a ? b : c
- Terraform
- software for managing infrastructure as code
- tessellation
- the covering of a surface using one or more geometric shapes (tiles) with no overlaps and no gaps; see also tiling
- test set
- part of the dataset which is used only for the final evaluation of a model
- test suite
- collection of test cases for testing
- testing
- process of evaluating a software
- TeX
- programming language for typesetting
- text classification
- NLP task of assigning a document to one or more categories
- text format
- file format that stores data as plain text
- text mining
- NLP task of extracting useful information from unstructured text
- TF-IDF, term frequency-inverse document frequency
- statistical measure used to evaluate how important a word is to a document in a collection or corpus
- Thanos
- complex software for monitoring large and complex systems based on Prometheus
- The Jargon File
- glossary of slang terms used by programmers
- Theano
- machine learning library developed by University of Montreal
- thesaurus
- reference work that lists words grouped together according to similarity of meaning, often providing synonyms and antonyms
- thread
- part of a process which executes instructions
- thread safety
- property of a software that guarantees correct execution in a multithreaded environment
- throughput
- amount of work done in a given time
- thunk
- piece of code that does some delayed work; in React Redux context thunks are patterns of writing functions with logic inside that can interact with a Redux store’s dispatcher and other methods
- ticket
- see issue
- Tidyverse
- collection of R packages for data science
- TIFF, tagged image file format
- file format for storing raster graphics
- tiling
- see tessellation
- tiling window manager
- window manager which automatically arranges windows on a screen (or multiple screen) in a tiling fashion
- time complexity
- measure of the amount of time taken by an algorithm to run as a function of the length of the input
- time series
- sequence of data points indexed in time order
- timestamp
- sequence of characters or encoded information identifying when a certain event occurred, usually in the form of Unix time or ISO 8601
- timm, torch image models
- library for PyTorch models
- Tkinter
- GUI toolkit for Python
- TLD, top-level domain
- last part of a domain name;
e.g.
.com
,.org
,.net
,.edu
- TLDR, too long didn’t read, tl;dr
- summary of a long text
- TLR, technology readiness level
- measure of the maturity of a technology from research to deployment
- TLS, transport layer security
- cryptographic protocol for secure communication
- tmux
- terminal multiplexer
- TMX, translation memory exchange
- XML-based format for exchanging translation memories
- TODO, to do
- when used as a comment in source code it means that something needs to be implemented
- token (natural language processing)
- word or a piece of a word separated by whitespace or punctuation
- token (network)
- unit of data that is transmitted over a network
- token bucket
- algorithm for controlling network traffic allowing flexible bandwidth management
- tokenization
- process of splitting texts into tokens
- TOML, Tom’s obvious minimal language
- text format for configurations
- tooltip
- UI component in the form of a small pop-up window that appears when a user pauses the mouse pointer over an element
top
- CLI tool for monitoring system resources
- top-down analysis
- approach that starts with the highest level of conceptual detail and works down to the specifics
- topic modeling
- NLP task of discovering topics in a text corpus
- Tor
- network for anonymous communication developed by the US Navy
- TOTP, time based one time password
- method for two factor authentication using a password which expires quickly
- touchpad
- input device for moving a cursor on a screen by sliding a finger on a surface
- TPU, tensor processing unit
- special processor designed for machine learning developed by Google; see also GPU
- trackball
- input device for moving a cursor on a screen by rotating a ball
- trackpoint
- input device for moving a cursor on a screen by pressing a stick
- Trados
- computer-assisted translation software suite widely used in the translation industry
- training
- see fit
- training data
- see training set
- training set
- part of dataset used for fitting the model; doesn’t contain validation set
- transaction
- sequence of database operations which are executed as a single unit which can be cancelled in the case of failure
- transactional data
- event information such as sale of an item, issuing of an invoice, etc.
- transfer learning
- using a pretrained model for a task different to what it was originally trained for
- transfer rate
- measure of the speed of data transfer
- transformer
- neural network architecture based on attention mechanism
- translation (geometry)
- transformation that moves every point of a figure by the same distance in a given direction
- translation memory
- database of translations used in computer assisted translation
- transpilation
- process of converting source code from one programming language to another; e.g. TypeScript to JavaScript
- tree (data structure)
- data structure that is a collection of nodes connected by edges with uni
- tree (graph theory)
- graph without cycles
- tree height
- number of edges on the longest path between a root and a leaf
- tree shaking
- process of removing unused code from a bundle
- tree traversal
- process of visiting every node in a tree
- trie
- type of search tree used for locating specific keys from within a set
- trigram
- n-gram of size 3
- Troyan horse
- type of malware disguised as legitimate software used to gain access to a user’s system
- true negative
- data point which is negative and correctly predicted by a model as negative
- true negative rage
- see specificity
- true positive
- data point which is positive and correctly predicted by a model as positive
- true positive rate
- see recall
- truecase
- the proper/original case of text
- trunk
- the main branch in a source control system
- trunk-based development
- source control branching approach where developers work in a single branch called trunk/master/main, and do not use other long lived branches
- truth table
- table that shows the output of a logic gate or a boolean function for all possible combinations of inputs
- truthy
- expression which evaluates to true in a boolean context
tshark
- network protocol analyzer part of the Wireshark suite used for CLI-based packet analysis
- TSV, tab separated values
- text format for storing tabular data
- tty, teletypewriter
- device file in Unix systems that represents a terminal
- TUG, TeX Users Group
- non-profit organization for people who are interested in TeX and LaTeX
- TUI, text-based user interface
- user interface based on text; a keyboard is used for input and a terminal for output
- tuple
- immutable finite sequence of items; 2-tuple is called ordered pair or couple or tuple, 3-tuple is called a triple (triplet)
- Turbo Pascal
- Pascal compiler and IDE for DOS and Windows
- Turing machine
- mathematical model of computation that defines an abstract machine which manipulates symbols on a strip of tape according to a table of rules
- Turing test
- test of a machine’s ability to exhibit intelligent behaviour equivalent to or indistinguishable from that of a human
- Turing-complete system
- system that can perform any computation
- Twig
- templating engine for PHP
- Twilio
- cloud communications platform as a service
- Twitch
- live video streaming platform
- social network and microblogging service
- two factor authentication, 2FA
- more secure authentication which adds another layer of security with requiring a second independent way of authentication (with SMS or a mobile application or email
- TXT record
- DNS record that contains text information
- type checking
- process of verifying and enforcing the constraints of type system
- type coercion
- converting a value from one data type to another;
e.g.
4
to"4"
or4.0
- type signature
- description of the input and output of a function
- type system
- set of rules that assigns a property called type to the various constructs of a computer program such as variables, expressions, functions or modules
- type-0 grammar
- see recursively enumerable grammar
- type-1 grammar
- see context sensitive grammar
- type-2 grammar
- see context free grammar
- type-3 grammar
- see regular grammar
- typeface
- set of glyphs that share common design features
- TypeScript, TS
- programming language which is a superset of JavaScript
- Ubuntu
- Linux distribution
- UDP, user datagram protocol
- network protocol for unreliable communication between computers
- UI, user interface
- way for humans to interact with a computer programs; can be graphical or text-based
- ultra high definition, UHD
- video resolution of 3840x2160 pixels
- UML, unified modeling language
- modeling language for software and systems
- unary operation
- operation with a single operand;
e.g.
not
- underfitting
- situation when a model is too simple to capture the underlying structure of the data
- undo
- operation which reverts the last action
- unicameral script
- script that has only one case for each letter as opposed to scripts like Latin or Cyrillic which have both uppercase and lowercase forms
- Unicode
- standard enumerating symbols used in writing systems and assigning a unique number for each
- union
- set operation which creates a new set that contains all the elements that are in at least one of the original sets
uniq
- Unix utility which filters adjacent duplicate lines from standard input
- unit test
- testing unit which tests a subroutine
- universal approximation theorem
- mathematical proof that shows that a neural network can slove any mathematical problem to any level of accuracy
- Unix
- family of operating system with multitasking and multiuser features
- Unix domain socket
- socket which is used for communication between processes on the same host
- Unix epoch
- point in time defined as 00:00:00 UTC on 1 January 1970
- Unix philosophy
- set of software design principles based on Unix which emphasizes modularity and reusability and simplicity
- Unix time
- number of seconds that have elapsed since Unix epoch
- unshift
- operation that adds elements to the beginning of an array in some programming languages
- unsigned integer
- integer that can only be positive; cf. signed integer
- unstructured data
- data that doesn’t have a predefined data model or is not organized in a predefined manner
- unsupervised learning
- machine learning technique where the model is not provided with the correct answers but only with the raw data
UPDATE
- SQL command which updates rows in a table
- update operator
- see inplace operator
- upscaling
- process of increasing the resolution of an image or video often using algorithms to add detail and reduce blur
- upsert
- database operation that updates an existing row if a specified value already exists (in a table) and inserts a new row if the specified value doesn’t already exist; portmanteau of update and insert
- upvote
- vote in favor of something
- URI, uniform resource identifier
- string that unambiguously identifies a resource
- URL, uniform resource locator
- reference to a web that specifies its location on a network
- urxvt
- fork of rxvt supporting Unicode
- usability testing
- process of testing a software with real users to see how easy it is to use, related to UX
- USB, universal serial bus
- standard that defines the cables, connectors and communication protocols used in a bus for peripherals
- Usenet
- network of newsgroups
- user story
- description of a feature from the perspective of the user
useradd
- Unix command which creates a user account
- userland
- part of OS which is not part of the kernel
usermod
- Unix command which modifies a user account
- userspace
- set of locations in memory which are used by processes and kernel modules
- UTF16, unicode transformation format 16
- variable width character encoding standard for Unicode compatible with ASCII using 16–32 bits per character; it’s more efficient than UTF8 for Asian languages
- UTF8, UTF-8, unicode transformation format 8
- variable width character encoding standard for Unicode compatible with ASCII using 8–32 bits per character
- UUID, universally unique identifier
- 128-bit number used to identify information in computer systems; it is usually displayed as a sequence of 32 hexadecimal digits separated into five groups by hyphens
- UUID3
- UUID generated from a namespace and a name
- UUID4
- UUID generated randomly
- uvicorn
- HTTP server for ASGI applications
- uWSGI
- HTTP server
- UX, user experience
- overall experience and satisfaction a user has when interacting with a software
- V8
- JavaScript engine
- Vagrant
- software for building and managing virtual machine environments
- validation set
- part of dataset for training a model which is put aside (usually 20 %) and used to measure the accuracy of the model; the rest of the dataset is called training set
- variable
- container that holds information which has name and a value which can be changed during execution of a program
- variance
- measure of how far a set of numbers is spread out or the average of the squared differences from the mean
- VB.NET
- programming language which is a part of .NET
- VBA, Visual Basic for Applications
- Visual Basic implementation used in Microsoft Office
- VBR, variable bit rate
- property of audio codec which allows the bitrate to vary in time; cf. CBR
- VBScript
- programming language
- vector (data type)
- homogenous sequence of values of the same data type
- vector (mathematics)
- object that has a magnitude and a direction; cf. tensor
- vector database
- database that stores vectors and supports vector operations
- vector graphics
- representation of images as a collection of geometric primitives; cf. raster graphics
- vectorization
- process of converting an algorithm from operating on a single value at a time to operating on a set of values at one time to improve performance
- velocity
- number of points completed per each sprint
- venture capital, VC
- private equity financing provided to startup companies
- verilog
- hardware description language
- vendor lock-in
- situation where a customer is dependent on a vendor for products and services and cannot move to another vendor without substantial costs
- version bump
- increase of a version to a higher (semver) number; a dependency version can be bumped (up) as well
- version control (system)
- software for managing versions of source code
- vertex
- point where two or more lines meet; see also node
- vertical scaling
- improving performance by adding more resources to a single node; e.g. more RAM or CPU
- vertical, vert, vertical format
- text format where every token is on a separate line and linguistic information (e.g. PoS) is on the same line separated by a tab and structure elements (e.g. sentence and documents) are encoded as simple HTML elements
- VGA, video graphics array
- video display standard
- Vi
- modal text based editor from the 70s
- VirtualBox
- software for creating and managing virtual machines
- Viber
- instant messaging and VoIP application
- video conferencing
- videotelephony for groups
- video game
- game played on a computer or a special hardware
- videotelephony
- telecommunication technology for the transmission of audio and video between two or more participants in different locations
- vignette
- more detailed description of a software; cf. README
- Vim
- text based editor, alternative implementation of Vi
- Vim golf
- competition to solve a problem using the fewest number of keystrokes in Vim
- Vim script
- programming language used to extend Vim
- vimdiff
- CLI tool for comparing files in Vim
- vimrc
- Vim configuration file
- virtual assistant
- software that can perform tasks or services for an individual based on verbal commands
- virtual machine
- program that emulates a computer system or operating system within another system
- virtual memory
- memory management technique that allows an OS to compensate for physical memory shortages by temporarily transferring data from RAM to disk
virtualenv
, virtual environment, venv- tool to create isolated Python environments with their own dependencies
- virtualization
- method of running multiple OS on a single computer by using a hypervisor
- virus
- malware that replicates itself
- VisiData,
vd
- TUI for exploring and arranging tabular data
- visitor pattern
- design pattern that separates an algorithm from an object structure on which it operates
- Visual Basic
- programming language
- Visual C++
- programming language from Microsoft
- Visual Studio
- IDE from Microsoft
- Viterbi algorithm
- algorithm for finding the most likely sequence of hidden states in a hidden Markov model
- vlc, video lan client
- media player and streaming server
- VMware
- company that makes virtualization software for x86 architecture
- vnc, virtual network computing
- remote desktop software
- VoIP, voice over IP
- technology that allows making voice calls over internet connection using internet protocol
- volatile
- keyword in some programming languages
- VPN, virtual private network
- network that extends a private network across a public network
- VRML, Virtual Reality Modeling Language
- XML based file format for representing 3D graphics
- Vue.js
- JavaScript web framework
- W3C
- consortium that develops web standards
- w3m
- text based web browser
- WAFT, weighted alignment F-measure with thresholds
- metric used in machine translation for evaluating word alignment accuracy
- wake-on-lan
- technology that allows turning on a computer remotely
- walk
- graph traversal algorithm
- wallpaper
- image used as a background on a computer screen
- WAN, wide area network
- network which covers a large geographical area
- WASM, web assembly
- low-level bytecode for web browsers
watch
- CLI tool to execute a command periodically
- waterfall development
- software development methodology where each phase of the development process is completed before the next phase begins
- WAV
- audio file format
- Wayland
- communication protocol between a display server and clients; also a C library implementation of that protocol; intends to replace older X11
wc
, word count- CLI tool to count lines, words and characters in a file
- web application
- software that runs in a web browser
- web crawling
- process of automatically browsing the web
- web design
- process of creating web pages
- web driver
- software component which enables browsers to communicate with web servers
- web framework
- framework for developing web applications
- web page
- document on the web
- web ring
- collection of websites linked together in a circular structure
- web scale
- term used to describe a system that is designed to handle a large amount of traffic
- web scraping
- technique of extracting data from web pages
- web server
- server which serves web content over HTTP
- web service
- software system designed to support interoperable machine-to-machine interaction over a network
- web session
- period of time during which a user interacts with a web app
- web socket
- protocol for full-duplex communication between a client and a server over a TCP connection
- webhook
- HTTP callback which is triggered by an event
- Webkit
- layout engine used in browsers
- WEBP, web picture
- image file format optimized for the web
- Webpack
- JavaScript module bundler
- website
- collection of web pages with a specific URL
- weight decay
- regularization technique which penalizes large weights by adding a term to the loss function
- weights
- values usually in the form of matrices or tensors; see also parameter
wget
- command for accessing web resources
- instant messaging software and service
- wheel (operating system)
- user account with a wheel bit (additional special system privileges)
- wheel (Python)
- replacement for eggs
- where clause
- clause in a SQL which filters rows
- while loop
- loop which executes a block of code while a condition is true
- Whisper
- speech recognition open source model by OpenAI
- whitespace
- non-printable character; e.g. space, a tabulator, a vertical tabulator
who
- command for displaying information about users
whoami
- command for displaying the current user
- whois
- protocol for querying databases that store the registered users or assignees of an IP address or a domain name
- widget
- GUI component
- wifi, Wi-Fi, wireless fidelity
- wireless communication protocol for LAN
- Wikidata
- collaboratively edited knowledge base
- wikification
- process of adding hyperlinks to a text which disambiguates the words and phrases
- Wikipedia
- collaboratively edited encyclopedia
- wildcard
- character which can be used as a substitute for any other character or characters in a string
- Winamp
- media player for Windows
- window manager, window system
- software that manages different parts of display screens
- Windows
- operating system by Microsoft
- Wine
- compatibility layer for running Windows apps on Linux
- WIP, work in progress
- unfinished work, something which is a subject of change in the future
- wireless
- communication protocol or technology over the air; e.g. wifi, bluetooth
- Wireshark
- open-source packet analyzer
- Wix
- WYSIWYG website builder platform
- WLAN, wireless LAN
- wireless LAN
- Word, MS Word
- word processor by Microsoft
- word
- sequence of characters which is treated as a unit
- word alignment
- process in NLP used in MT for aligning words or phrases in a source language with their translations in a target language
- word embedding
- embedding of words
- word order
- rules for order of words in various languages; e.g. SVOMPT in English
- word processor
- software for creating and editing documents in WYSIWYG fashion
- word size
- number of bits that can be stored in a register
- word-based MT, word-based machine translation
- approach in MT where translations are made on the basis of individual words; cf. phrase-based MT
- word2vec
- group of models in natural language processing used to produce word embeddings involves using shallow neural networks for reconstructing linguistic contexts of words
- WordNet
- lexical database of English with ontology organized in a graph structure
- WordPress, WP
- content management system for web sites written in PHP
- workflow
- sequence of tasks which are executed in a specific order
- WPA supplicant
- software implementing WPA protocol
- WPA, Wi-Fi protected access
- security protocol for Wi-Fi networks
- WPF, Windows presentation foundation
- GUI framework for Windows
- write ahead log, WAL
- database logging technique where changes are written to a log before they are applied to the database
- write once run anywhere
- Java slogan to express its cross-platform nature
- write-only code
- code that is hard to read and understand;
- WSDL, web services description language
- XML-based language for describing web services
- WSL, Windows Subsystem for Linux
- compatibility layer for running Linux binaries on Windows
- WSGI, web server gateway interface
- calling convention for web servers to communicate (forward requests) with web applications written in Python
- WWW, world wide web, web
- system of interlinked hypertext documents accessible via the internet
- WYSIWYG, what you see is what you get
- text editor that shows the final output during editing
- X (company)
- see Twitter
- X Window System, X
- see X11
- X.org foundation
- non-profit organization that develops X11 and other software
- X11
- windowing system for bitmap displays common on Unix systems
- x86
- CPU architecture developed by Intel
- xAI
- company developing AI tools to understand the universe
- XAML, extensible application markup language
- XML based markup language for WPF applications
xargs
- Unix command for building and executing commands from standard input
- Xcode
- IDE for macOS by Apple
xd
, hexdump- command for dumping binary files in hexadecimal format
- XDG, X Desktop Group
- working group of freedesktop.org
- xdotool
- command line tool for automation of X11 tasks
- XeTeX
- TeX typesetting engine supporting Unicode and modern font format as Open Type
- Xfce
- lightweight desktop environment for Linux
- xfwm4
- window manager for Xfce
- XLIFF, XML Localization Interchange File Format
- XML-based format used in software localization
- XML, eXchange markup language
- SGML markup language
- XMLHTTPRequest
- JavaScript API for making HTTP requests
- xmodmap
- utility in X Window System for modifying keymaps and pointer button mappings used for customizing input device behaviour
- XOR, exclusive or
- binary logical operation that outputs true only when both inputs differ
- XP, extreme programming
- methodology that emphasizes close collaboration between developers and customers, continuous feedback, and practices such as test-driven development, pair programming, and continuous delivery
- XPATH, XML path language
- query language for XML documents
xrandr
- CLI tool for managing display outputs in X Window System which enables dynamic control over screen resolution, refresh rates, and orientations
- XSD
- XML based language for describing the structure of XML documents
- XSL
- family of languages used to transform XML documents
- XSLT, extensible stylesheet language transformations
- XML based language for transformation of XML documents
- xterm
- terminal for X11
- Xubuntu
- Linux distribution based on Ubuntu with Xfce as the default desktop environment
xxd
- program for hexadecimal dump of a file
- XXX, x-rated content
- content which is indecent
- xz
- file format and program for compression
- Y’UV, YUV
- color model found in the PAL analogue color TV standard
- YAML, YAML Ain’t Markup Language
- text format for representing structured (nested) data using indentation rather than parantheses
- YAML stanza
- group of lines in YAML file
- Yandex
- Russian technology company
- YCbCr
- color space used in video systems separating a video signal into luma (Y) representing brightness, and chroma (Cb and Cr) representing color
- YDbDr
- color space used in SECAM color TV broadcasting similar to YIQ and YUV, it separates the video signal into Y (luma) and two chrominance components (Db and Dr) for color encoding
- YIQ
- color space used in NTSC color TV broadcasting separating the video signal into Y (luma), I (in-phase color), and Q (quadrature color) optimizing the bandwidth efficiency of the transmission
- YouTube
- video sharing platform
- youtube-dl, youtube downloader
- software for downloading videos from YouTube
- YPbPr
- analog version of the YCbCr color space
- Yubikey
- hardware key for two-factor authentication
- z index
- property in CSS which sets the order of a positioned element on z axis
- ZB, zettabyte
- 10^21 bytes or 1,000 exabytes
- Zend framework
- open source object-oriented web application framework implemented in PHP
- zero day
- type of security vulnerability of software or hardware unknown to the vendor which has zero days to fix the issue
- zero shot learning
- machine learning method where a model is altered to predict classes it has not seen during training
- zeroth-order logic
- see propositional logic
- Zig
- low level programming language Zigbee
- wireless communication protocol used in IoT applications
- zip
- file format for compression
- Zipf’s law
- law that states that the frequency of a word is inversely proportional to its rank in the frequency table
zlib
- library for compression
- Zoom
- proprietary software for videotelephony
zstd
- lossless compression algorithm or the program implementing it
- ZTE, Zhongxing Telecommunication Equipment
- Chinese telecommunications company
- ZX Spectrum
- 8-bit personal computer released in 1982
About
This glossary is WIP.
One of the driving principles of this glossary is to be able to generate Anki flashcards from it.
- When a term is used in a definition it must link to its own definition.
- Basic terms are not defined in this glossary: analysis, average, execution, finite, job, notation, principle, sequence, system, tool, … only if they have a special meaning (e.g. method).
- All non basic terms must be defined in this glossary using the most specific terms possible.
- Abbreviations should be defined together with the full term.
- All terms should be (proper) nouns.
- Multiword terms should be included only if they don’t satisfy the compositionality principle. E.g. there is no point in having term Linux kernel when it can be deduced from the two terms Linux and kernel.
- Avoid using hyphens in lexemes.
- Only the first usage of a term within a definition is hyperlinked.
- Proper noun lexemes should be external links.
- Do not use links to Wikipedia, this glossary should be self-contained.
- Polysemous terms should be defined separately and distinguished with a contextual term in parentheses. The contextual term should be the most general term.
- Avoid using cyclic definitions.
- Avoid using rare abbreviations in definitions.
- The text after semicolon in a definition is not part of the definition. It may contain additional information about the term, examples and references to synonyms or related terms.
- No determiners at the beginning of definitions.
- Definitions should not contain external links.
- Avoid mentioning people.
published: 2023-06-30
last modified: 2024-10-29
https://vit.baisa.cz/notes/code/vocabulary/
last modified: 2024-10-29
https://vit.baisa.cz/notes/code/vocabulary/