An obfuscator is a program designed to make it difficult to understand or reverse engineer source code. The obfuscator takes the clean human-readable source code the programmer has created and does a thorough job shuffling it around, changing simple variables to confusing ones, and otherwise making it difficult for another person to sit down and read the original clean copy (but all while still maintaining the functionality of the source code).
Transcoding is the process of shifting the encoding method of a given media file. For example, if you had a music album in AAC format but the media-playback function in your car’s in-dash digital music player would only accept MP3 files, you would need to use software to transcode the AAC encoded album into an MP3 encoded album.
Just as a compiler turns high-level programming languages into low-level programming languages in order to run them on the computer, a decompiler reverses the process and takes low-level programming language (like machine code) and translates it into higher-level programming languages (like C++).
A compiler is a computer program (or set of programs) that converts source code from the original programming language into another computer language. Typically, this process is used to convert a high-level programming language (such as C++) into a lower level language (such as machine code) so that the program can be run as an executable.
High-level programming languages are computer programming languages with a strong abstraction that provides a high degree of human readability. Unlike low-level programming languages which work by directly interacting with the processor (and as such are machine, not human, readable), high-level programming languages provide natural language systems and structures (such as IF statements and other human-readable functions) that make it easier for programmers to work with the language.
A low-level programming language is a programming language that provides little or no abstraction or divergence from the actual instructions the architecture of the computer uses to execute commands. Machine code is an example of low-level programming language and is the only programming language that allows for direct and untranslated interaction with a computer processor (despite being very difficult to work with and requiring an extreme attention to detail, it is still used when considerable speed and lightweight programming is required).
In computing, a soft reset is a software initiated reset of the hardware and software states. The soft reset is started by the operating system (either automatically or at the request of the user) and a set process is followed to shutdown applications, close out system files, and otherwise gracefully bring the system to a halt before starting it up again. Soft resets are preferred to hard resets (which halt all processes on the hardware level and can cause file corruption and system instability).
In computing, a hard reset is a hardware operation that restarts the system hardware and, in the process, ends all current software activity. Pressing the physical reset button (or holding the power button down for 3-5 seconds in the absence of a reset button) is the most common way to perform a hard reset on a computer.
ANSI art, based on the 256 ANSI character set, was a natural outgrowth of ASCII art. Just like ASCII art uses letters, numbers, and basic symbols to create images out of computer characters, ANSI does the same only with the additional 128 mathematical and foreign characters unavailable in the ASCII character set.
ANSI stands for the American National Standards Institute. The Institute is nearly a century old and responsible for maintaining a wide variety of standards across many industries including nuclear energy, chemical production, and health care information technology, but in computer lingo ANSI is used to refer to ANSI code standard.
ASCII art is artwork created using the set of 128 symbols in the ASCII character set (English letters, numbers, and symbols). By aligning various characters the illusion of or the symbolic representation of an image is achieved. While many examples of ASCII art are multi-line, even a simple combination of characters, such as <(o.o)> , can yield a recognizable pattern.
ASCII, the American Standard Code for Information Interchange, is a character encoding scheme based on the English alphabet that encodes 128 characters (numbers, upper and lower case letters, as well symbols and control codes), into 7-bit machine readable binary integers.
Traceroute is an internet utility that performs a function exactly like its name implies: it traces the route data takes from the local computer back to the remote host. The utility is useful for a variety of diagnostic tasks such as establishing where in a route the connection is lost and how long the route is.
A newbie, alternatively spelled newb or noob, is a neophyte in a given pursuit. The term refers to the lack of skills, experience, and understanding of conventions the individual has in the area in question. Thus one can be a “newbie” to the world of competitive real-time strategies or tennis without being considered generally unskilled or incompetent.
Expansion cards are add-on circuit boards that expand the functionality of a computer. While there have been numerous variations on expansion card designs going back to the 1970s, the current standard is the PCI/PCI Express format. Computer motherboards (excluding laptops and very small form-factor micro desktop models) have expansion ports that allow you to add in additional hardware in order to add or improve a wide variety of functions on the computer such as better sound, additional ports for USB devices, upgrading to a better quality Ethernet card, and more.
In computer architecture, a bus is a communication system that transfers data between other components. Bus systems can be so small and buried in the hardware as to be invisible to the end-user (such as the address bus found within the CPU’s architecture) or can have obvious manifestations that the end user can interact with such as USB (Universal Serial Bus), the ubiquitous computer input connection.
In computer security, a man-in-the-middle attack is a type of attack that relies on the attacker’s ability to temporarily control or divert electronic communications so that they could observe and/or alter the communications. An analog equivalent of a man-in-the-middle attack would be the diversion of mail to a drop address, wherein the malicious recipient could read/alter the mail before sending it on to the correct mailing address.
Spoofing is the process by which a computer is misrepresented on the network as another computer. Spoofing can be done at the hardware level (e.g. MAC address spoofing) or at the TCP/IP level (e.g. IP address spoofing). The primary purpose of spoofing is to allow the unauthorized computer to gain access to a secure network wherein the security is provided by verification of a hardware or IP address. If a Wi-Fi node is locked down to only specific pre-approved MAC addressed, for example, a malicious user seeking to gain entry would need to spoof a valid MAC address to connect to the node.
Data modification is a typical component of network-based computer attacks. Either the data transmitted by the local computer or transmitted back from the remote computer is altered in some fashion. Strong encryption between the local computer and remote computer ensures that the data remains unobserved or altered.
In network security, sniffing is the act of examining network traffic. This is the digital equivalent of eavesdropping on a conversation or telephone call; all unencrypted traffic on the network is visible to anyone with access to the network and appropriate tools to examine the packets of data passing by.
Fault Tolerant Computing is a sub-division of computer design and construction focused on building computer systems that are highly resistant to failure. Such systems typically have redundant and compartmentalized hardware system so that in the event of any hardware failure the system may either be 1) kept online or 2) be shut down gracefully.
In computing, a heartbeat is a tiny exchange between computers, typically used in a server environment where stability and uptime are critical, that checks to make sure all systems on the heartbeat network are available and operational. The operation is called a heartbeat because the exchange happens twice per second and mirrors the regularity of a beating heart.
FLOPS, or FLoating point Operations Per Second, is a measurement of floating point calculations. This measurement is typically used to reference the performance of super computers as it is a better indicator of the performance and computing power of super computer array than referencing the collective processing power of the array. Thus you’ll frequently hear a super computer discussed in terms like 100 teraflops (100 trillion FLOPS) instead of the speed of the processor like one references when talking about desktop and mobile computers.