- Introduction
- Debugging Grimoire - The Tome Of Cursed Knowledge
- 1. DevOps ☁️
- 1.1. Set Up SSH for GitHub
- 1.2. Minimal Docker Image for Ruby
- 1.3. Deploying mdBook to Github Pages with GitHub Actions
- 1.4. Cloud Run & GitHub Actions CI/CD Setup
- 1.5. How to Use Google Cloud Domain Mapping to setup a Custom Domain to your container
- 1.6. How to Host Images (or other files) on Google Cloud Storage
- 1.7. Set Up PostgreSQL for Testing Environments
- 2. Virtualization
- 2.1. Set Up PostgreSQL in a Google Cloud VM using Docker Compose
- 2.2. Create an HMAC Server API for the VM
- 3. Linux 🐧
- 3.1. Debian Firewall Configuration With nftables
- 3.2. Linux Process Management
- 4. Database 🐘
- 4.1. PostgreSQL Local Setup Guide
- 4.2. How to Setup Rate Limiting in PostgreSQL
- 4.3. How to Boot Up Redis on Debian
- 5. Cheat Sheet 💡
- 5.1. NeoVim Cheat Sheet
- 5.2. GitHub Cheat Sheet
- 5.3. YAML Cheat Sheet
- 6. Programming Languages 🖥️
- 6.1. SQL 📊
- 6.1.1. Part 1 - Fundamentals
- 6.1.2. Part 2 - GROUP BY
- 6.1.3. Part 3 - JOIN
- 6.1.4. Part 4 - CASE
- 6.1.5. Part 5 - Subqueries
- 6.2. Bash 🐚
- 6.2.1. Bash Completion Tool
- 6.2.2. Grep Guide
- 6.2.3. Curl Guide
- 6.2.4. Exercism Bash Track
- 6.2.4.1. Fizzbuzz but cursed
- 6.2.4.2. DNA Hamming
- 6.2.4.3. Bob
- 6.2.4.4. Scrabble Score Counter
- 6.2.4.5. Armstrong Numbers
- 6.3. C 🏗️
- 6.3.1. Good To Know
- 6.3.1.1. Makefiles: for Multiple File Projects
- 6.3.2. Fundamentals
- 6.3.2.1. Usage of enums
- 6.3.2.2. Usage of cases (switch-case)
- 6.3.2.3. Employee Salary and SSN Generator
- 6.3.2.4. Sea Elephants Weight Generator
- 6.3.2.5. Poker Monte Carlo Simulation
- 6.3.2.6. Bubble Sort
- 6.3.2.7. C as a CLI Tool
- 6.3.2.8. File I/O and Rational Numbers
- 6.3.3. Data Structures
- 6.3.3.1. Simple Linked List
- 6.3.3.2. Working With Linked Lists
- 6.3.3.3. Doubly Linked List and Merge Sort
- 6.3.3.4. Binary Tree
- 6.3.4. ncurses
- 6.3.4.1. Getting Started
- 6.3.4.2. User Input in Menu and Arrow Keys
- 6.3.4.3. A Rogue Like Game Engine
- 6.3.4.4. Input Modes, Color Witchcraft, Ctrl+char
- 6.3.4.5. MenuBar with Submenus
- 6.3.4.6. Utilities
- 6.3.4.7. Color palettes, Chars and Lines
- 6.4. C++ 🤖
- 6.4.1. Fundamentals
- 6.4.1.1. Debugging Tools
- 6.4.1.2. C++ Fundamentals
- 6.4.2. OOP
- 6.4.2.1. General OOP Concepts
- 6.4.2.2. Inheritance and derived classes
- 6.4.2.3. Inheritance and Polymorphism
- 6.4.2.4. Virtual Function Behavior
- 6.4.2.5. Shapes with OOP
- 6.4.2.6. Move Semantics
- 6.4.2.7. Move Semantics pt.2
- 6.4.3. Features
- 6.4.3.1. Templates
- 6.4.3.2. Functional Objects
- 6.4.3.3. Ordered Map vs Unordered Map
- 6.4.3.4. Non Mutating Algorithm: find()
- 6.4.3.5. Lambda expressions: for_each
- 6.4.3.6. Bidirectional iterator: is_palindrome
- 6.4.4. Algorithms
- 6.4.4.1. Dijkstra's algorithm
- 6.4.4.2. Output a Random Graph
- 6.4.4.3. Poker Monte Carlo Simulation
- 6.4.4.4. Kruskal's MST
- 6.4.4.5. Depth First vs. Breadth First Search
- 6.4.4.6. Alpha Beta Pruning
- 6.4.4.7. Reverse Polish Notation
- 6.5. Ruby 💎
- 6.5.1. Ruby Fundamentals
- 6.5.2. OOP
- 6.5.3. :params vs @instance_variables
- 6.5.4. Ruby as a Functional Language
- 6.5.5. Setup a Redis Rate Limiter Middleware in Ruby
- 6.5.6. Use SQLite as Your Rate Limiter in Ruby
- 6.5.7. Quick Sinatra Setup
- 6.5.8. ERB with HTMX
- 6.5.9. Clean Pagination in Sinatra
- 6.6. Python 🐍
- 6.6.1. Python Fundamentals
- 6.6.2. Control Flow
- 6.6.3. Functions
- 6.6.4. OOP
- 6.6.5. Advanced
- 6.6.6. Errors
- 6.7. Go 🐹
- 6.7.1. The Birthday Paradox
- 6.7.2. Rock Paper Scissors
- 6.7.3. Employee Salary Parser
- 6.7.4. Mergesort Algorithm
- 6.7.5. Straight Flush Calculation
- 6.7.6. Doubly Linked List and Palindrome Checker
- 6.7.7. 3D Shape Calculator Using Interfaces
- 6.7.8. Philosopher's Problem
- 6.7.9. Genstack and Testing in Go
- 6.7.10. Dijkstra's Algorithm in Go