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 / software-engineering-issue-management-and-prioritization.md
Created November 4, 2026 09:57
Bug Triage, Incident Management, and Issue Prioritization in Software Development

Bug Triage, Incident Management, and Issue Prioritization in Software Development

CC0

Disclaimer: ChatGPT generated document.

1. Introduction

Software development teams continuously deal with bugs, production incidents, feature requests, technical debt, and operational issues.

@MangaD
MangaD / msvc-vs-clang-on-windows.md
Last active October 30, 2026 14:53
MSVC vs. LLVM Clang on Windows: Compilers, ABIs, Runtimes, and Executables

MSVC vs. LLVM Clang on Windows: Compilers, ABIs, Runtimes, and Executables

CC0

Disclaimer: ChatGPT generated document.

Short answer: MSVC and Clang can produce Windows executables that use the same ABI and runtime libraries, but the executables will generally not be byte-for-byte identical. Clang can also target the MinGW/GNU environment, which is a different configuration from Clang targeting MSVC.

1. Binary identity, ABI compatibility, and behavior

@MangaD
MangaD / bash_strict_mode.md
Created October 29, 2026 15:41
Bash Strict Mode: A Comprehensive Guide to Writing Safer, More Reliable Shell Scripts

Bash Strict Mode: A Comprehensive Guide to Writing Safer, More Reliable Shell Scripts

Understanding error handling, variable safety, pipelines, debugging, and production-ready Bash scripting practices.

CC0

Disclaimer: ChatGPT generated document. Inspired by: http://redsymbol.net/articles/unofficial-bash-strict-mode/

Introduction

@MangaD
MangaD / cpp_msvcrt_vs_ucrt_seh_dwarf_posix_win32_mfc_guide.md
Created October 28, 2026 00:11
Windows C/C++ Toolchains: A Definitive Guide to MSVCRT vs. UCRT, SEH vs. DWARF, POSIX vs. Win32, and MFC

Windows C/C++ Toolchains: A Definitive Guide to MSVCRT vs. UCRT, SEH vs. DWARF, POSIX vs. Win32, and MFC

CC0

Disclaimer: ChatGPT generated document.

Navigating C/C++ development on Windows often feels like swimming in an alphabet soup of compiler configurations. When configuring toolchains like MSVC, MinGW-w64, or Clang, developers face critical configuration choices: MSVCRT vs. UCRT, DWARF vs. SEH, POSIX vs. Win32, and legacy frameworks like MFC.

Choosing the wrong combination results in catastrophic compiler failures, runtime crashes, or subtle memory corruption. This guide breaks down exactly what these terms mean, how they interact, and how to choose the right setup for modern development.

@MangaD
MangaD / big-o-notation-guide.md
Created October 26, 2026 11:23
What Does “Asymptotic” Mean? From Mathematical Limits to Big-O Notation

What Does “Asymptotic” Mean? From Mathematical Limits to Big-O Notation

CC0

Disclaimer: ChatGPT generated document.

A guide to the meaning, origins, and uses of asymptotic reasoning—and why a linear algorithm can technically be O(N!).

Introduction

@MangaD
MangaD / nist.md
Created October 26, 2026 09:59
NIST: What Software Engineers Should Know and Why It Matters

NIST: What Software Engineers Should Know and Why It Matters

CC0

Disclaimer: ChatGPT generated document.

An introduction to the National Institute of Standards and Technology, its influence on modern software engineering, and the standards worth understanding.

Introduction

@MangaD
MangaD / cpp_enable_shared_from_this.md
Created October 23, 2026 15:15
Understanding `std::enable_shared_from_this` in C++: A Complete Guide

Understanding std::enable_shared_from_this in C++: A Complete Guide

CC0

Disclaimer: ChatGPT generated document.

std::enable_shared_from_this<T> is a small but subtle piece of the C++ smart-pointer machinery. Its entire purpose is to let an object that is already owned by a std::shared_ptr safely obtain another shared_ptr participating in the same ownership/control block.

At a conceptual level, it solves this problem:

@MangaD
MangaD / python_tooling_complete_guide.md
Created October 23, 2026 11:06
Understanding Python Modules, Packages, pip, pipx, Virtual Environments, and the Import System

Understanding Python Modules, Packages, pip, pipx, Virtual Environments, and the Import System

CC0

Disclaimer: ChatGPT generated document.

A comprehensive guide to how Python organizes code, installs dependencies, isolates projects, runs command-line tools, and finds modules.

Table of Contents

@MangaD
MangaD / firmware_bootloaders_kernels_hypervisors.md
Last active October 21, 2026 21:28
From Power-On to Applications: Firmware, Bootloaders, Kernels, Hypervisors, and the Hardware–Software Stack

From Power-On to Applications: Firmware, Bootloaders, Kernels, Hypervisors, and the Hardware–Software Stack

CC0

Disclaimer: ChatGPT generated document.

The cleanest way to understand all of these is to stop thinking of them as separate buzzwords and instead follow one CPU from power-on until your application executes.

A typical modern system roughly looks like:

@MangaD
MangaD / terminal_shell_console.md
Created October 21, 2026 21:27
Demystifying the Command Line: Terminal vs. Shell vs. Console (and Beyond)

Demystifying the Command Line: Terminal vs. Shell vs. Console (and Beyond)

CC0

Disclaimer: ChatGPT generated document.

If you are new to Linux, macOS, or system administration, you will quickly encounter a wall of interchangeable jargon: Terminal, Shell, Console, Command Line, and TTY.

To the average user, they all mean "the scary black window where I type text." However, under the hood, these terms refer to entirely different layers of your operating system. Understanding the distinction is the secret to mastering the environment, troubleshooting quirks, and effectively customizing your workflow.