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 / Entropy_Lehman-Laws_Conway-Law.md
Last active January 16, 2026 04:52
Entropy, Lehman’s Laws of Software Evolution, and Conway’s Law

Entropy

CC0

Disclaimer: ChatGPT generated document.

“Entropy” has a deep meaning in physics and information theory, and the idea has been borrowed into software engineering, systems design, and even project/organizational dynamics. I’ll unpack it from first principles, connect the dots rigorously, and show how the metaphor works in codebases, architectures, and teams.


@MangaD
MangaD / SecurityCourse.md
Created January 15, 2026 17:32
🔒 THE COMPLETE SECURITY COURSE

🔒 THE COMPLETE SECURITY COURSE (FULL EDITION)

CC0

Disclaimer: ChatGPT generated document.

Everything from cryptographic primitives → protocols → system design → modern security architecture

Here is the full, long-form, structured, end-to-end course on all major security concepts, from cryptography to TLS/IPsec/QUIC/WireGuard, to authentication, E2EE, hardware security, network design, protocols, threat modeling, and attacker mindset. This is a full multi-module curriculum, written at a graduate / security engineer level, but without assuming prior crypto expertise.

@MangaD
MangaD / VibeCoding.md
Created January 14, 2026 18:21
Vibe coding

Vibe coding

CC0

Disclaimer: ChatGPT generated document.

“Vibe coding” is a phrase that didn’t originally come from formal software development, but from online culture (YouTube, Twitch, TikTok, Discord, lo-fi streams, etc). Over the past few years it’s evolved into a recognizable micro-culture and workflow pattern with surprisingly deep psychological, social, and productivity dynamics. Since you asked for everything, here’s a comprehensive breakdown that treats it seriously:


@MangaD
MangaD / endianness_alignment_padding.md
Created January 4, 2026 16:52
Endianness, Alignment, and Padding

Endianness, Alignment, and Padding

A Systems-Level Deep Dive for C and C++ Developers

CC0

Disclaimer: ChatGPT generated document.

Below is a full, deep, and comprehensive article on endianness, alignment, and padding, written from a systems / C++ perspective and aimed at someone who already thinks about ABI, performance, and portability.

@MangaD
MangaD / cpp_unions.md
Last active January 4, 2026 01:13
Deep Dive into Unions in C and C++

Deep Dive into Unions in C and C++

CC0

Disclaimer: Grok generated document.

Unions are a fundamental feature in both C and C++ for defining data types that can store different types of data in the same memory location. They are particularly useful for memory optimization, type punning (with caveats), and implementing variant-like structures. This guide covers everything from basics to advanced topics, including syntax, semantics, differences between C and C++, pitfalls, use cases, and modern alternatives. I'll use code examples, tables for comparisons, and explanations grounded in language standards (up to C23 and C++23 as of 2025).

1. Introduction to Unions

@MangaD
MangaD / cpp_internal_linkage.md
Created December 27, 2025 19:20
Why C++ Has `static` and Unnamed Namespaces: The Purpose of Internal Linkage

Why C++ Has static and Unnamed Namespaces: The Purpose of Internal Linkage

CC0

Disclaimer: ChatGPT generated document.

C++ offers two closely related mechanisms—static at namespace scope and unnamed namespaces—to control internal linkage. While they often appear simple or even redundant, they exist to solve fundamental problems in large-scale, multi-file programs.

This article explains what internal linkage is, why it exists, and why unnamed namespaces are the modern, preferred tool.

@MangaD
MangaD / cpp_namespaces.md
Created December 27, 2025 16:35
Comprehensive Guide to C++ Namespaces

Comprehensive Guide to C++ Namespaces

CC0

Disclaimer: Grok generated document.

Namespaces in C++ are a fundamental feature for organizing code, preventing name collisions, and providing scoped declarations. Introduced in C++98, they have evolved with features in later standards (C++11, C++17, etc.). This guide covers everything from basics to advanced topics, syntax, rules, best practices, and interactions with other language features.

1. Introduction and Purpose

@MangaD
MangaD / WinForms_vs_OpenGL.md
Created December 25, 2025 17:26
OpenGL vs WinForms

OpenGL vs WinForms

CC0

Disclaimer: Gemini generated document.

In most scenarios, OpenGL is actually more resource-efficient than WinForms when it comes to rendering performance, but it may have a higher "baseline" memory footprint due to the overhead of initializing graphics drivers and the GPU context.

The comparison depends on whether you are measuring raw hardware efficiency (where OpenGL wins) or startup/idle simplicity (where WinForms wins).

@MangaD
MangaD / Determinism_vs_NonDeterminism.md
Created December 23, 2025 23:05
Determinism vs Non-Determinism in Computer Science: Predictability, Choice, and Computation

Determinism vs Non-Determinism in Computer Science: Predictability, Choice, and Computation

CC0

Disclaimer: ChatGPT generated document.

At a high level, determinism is about predictability, while non-determinism is about multiple possible outcomes given the same starting point.

Let’s unpack that carefully, from intuition to formal models, with concrete examples.

@MangaD
MangaD / cpp_disambiguation_in_templates.md
Created December 23, 2025 10:42
Disambiguation in C++ Templates: Why `typename` and `template` Exist (and Why the Compiler Can’t Guess)

Disambiguation in C++ Templates: Why typename and template Exist (and Why the Compiler Can’t Guess)

CC0

Disclaimer: ChatGPT generated document.

C++ templates are famously powerful—and famously subtle. Among the features that puzzle even experienced developers are the seemingly redundant keywords typename and template, especially in expressions like:

t.template foo<int>();