Skip to content

Instantly share code, notes, and snippets.

View MangaD's full-sized avatar
📚
studying

David Gonçalves MangaD

📚
studying
View GitHub Profile
@MangaD
MangaD / unix_awk.md
Created July 6, 2026 11:30
🧮 `awk` — the structured text processing powerhouse

🧮 awk — the structured text processing powerhouse

CC0

Disclaimer: ChatGPT generated document.

awk is where things level up.

If:

@MangaD
MangaD / unix_grep.md
Last active July 6, 2026 11:29
🔍 `grep` — the pattern-searching workhorse

🔍 grep — the pattern-searching workhorse

CC0

Disclaimer: ChatGPT generated document.

grep is the fastest way to answer one question:

“Which lines match this pattern?”

@MangaD
MangaD / unix_sed.md
Created July 6, 2026 11:21
🧰 `sed` — the Unix Stream Editor (full practical tutorial)

🧰 sed — the Unix Stream Editor (full practical tutorial)

CC0

Disclaimer: ChatGPT generated document.

sed is one of those tools that looks cryptic at first and then quietly becomes indispensable. It processes text as a stream, line by line, applying commands you specify.

This tutorial is deep and complete, starting from zero and building up to advanced usage.

@MangaD
MangaD / unix_text_processing_course.md
Created July 6, 2026 11:06
Unix Text Processing Course

Unix Text Processing Course

CC0

Disclaimer: ChatGPT generated document.

Below is a complete Unix text-processing course roadmap. “All commands and options” literally spans thousands of pages across POSIX, GNU, BSD, BusyBox, awk, sed, grep, shells, and editors, so this course focuses on the commands, options, combinations, and redirection patterns you actually need to master Unix text processing.

0. Core idea

@MangaD
MangaD / logical-connectives.md
Created July 5, 2026 21:08
Understanding Logical Connections: Conjunction, Disjunction, and Beyond

Understanding Logical Connections: Conjunction, Disjunction, and Beyond

CC0

Disclaimer: ChatGPT generated document.

Logical reasoning underpins everything from mathematics and computer science to everyday decision-making. At the heart of this reasoning lies a set of tools known as logical connectives—ways to combine statements into more complex expressions. Among the most fundamental of these are conjunction, disjunction, and related concepts that describe how ideas join and interact.


@MangaD
MangaD / inspecting-binary-files-in-linux.md
Created July 4, 2026 20:06
Inspecting Binary Files in Linux: An Extensive Practical Guide

Inspecting Binary Files in Linux: An Extensive Practical Guide

CC0

Disclaimer: ChatGPT generated document.

Binary files are everywhere on a Linux system. Every executable program, shared library, object file, kernel module, firmware blob, database file, image, archive, and compiled artifact is ultimately a sequence of bytes. Some of those bytes encode machine instructions. Others encode metadata, tables, strings, relocation records, debug information, compressed data, embedded resources, or application-specific structures.

To most users, a binary file is opaque. You cannot simply open it in a text editor and understand it the way you would read a shell script, C++ source file, JSON document, or configuration file. However, Linux provides a rich ecosystem of tools that allow you to identify, inspect, decode, disassemble, trace, and debug binary files.

@MangaD
MangaD / computer-science-laws.md
Created July 4, 2026 18:29
The Laws of Computer Science: Principles, Observations, and Adages Every Software Engineer Should Know

The Laws of Computer Science: Principles, Observations, and Adages Every Software Engineer Should Know

CC0

Disclaimer: ChatGPT generated document.

Computer science is unique among scientific disciplines in that many of its most influential ideas are not formal mathematical laws, but empirical observations, engineering principles, management heuristics, and even humorous aphorisms. Over decades of software development, researchers, engineers, and practitioners have coined numerous "laws" that describe recurring patterns in programming, project management, hardware evolution, distributed systems, user experience, and organizational behavior.

Although many of these laws originated as witty remarks or informal observations, they have proven remarkably accurate in practice. They explain why software projects run late, why systems become increasingly complex, why hardware has evolved so rapidly, and why

@MangaD
MangaD / gold_file_testing.md
Created July 4, 2026 18:10
Gold Files in Programming: History, Purpose, and Related Concepts

Gold Files in Programming: History, Purpose, and Related Concepts

CC0

Disclaimer: ChatGPT generated document.

In software engineering, the term “gold file” (also called a golden file, golden master, or sometimes snapshot) refers to a file containing the expected output of a program or test. During automated testing, the current output is compared against this “known good” reference to detect regressions or unintended behavioral changes. (Software Engineering Stack Exchange)

Although the concept sounds simple, it touches on several deep ideas in software engineering:

@MangaD
MangaD / cpp_the-most-vexing-parse.md
Last active July 4, 2026 14:17
The Most Vexing Parse in C++: Understanding Declaration Ambiguities, Grammar Rules, and Modern Solutions

The Most Vexing Parse in C++: Understanding Declaration Ambiguities, Grammar Rules, and Modern Solutions

CC0

Disclaimer: ChatGPT generated document.

The most vexing parse is one of the most famous grammar ambiguities in C++, and understanding it requires understanding something fundamental about the language:

In C++, whenever a statement can legally be interpreted as a declaration, the compiler must interpret it as a declaration.

@MangaD
MangaD / cpp_function-parameters.md
Created July 4, 2026 14:11
Function Parameter Type Adjustments and Decay in C++: A Comprehensive Guide

Function Parameter Type Adjustments and Decay in C++: A Comprehensive Guide

CC0

Disclaimer: ChatGPT generated document.

Introduction

One of the first confusing aspects of C++ function declarations is that what you write in a function parameter list is not always the type that the function actually receives.