View On GitHub
awesome
😎 Awesome Stuff
Project maintained by
overengineer
Hosted on GitHub Pages — Theme by
mattgraham
Awesome Stuff
A hand curated list of resources
Table of Contents
C++
Version Control
Docker
Shell Scripting
Algorithms & Data Structures
Programming Conference Talks
Blog Posts
Blogs
Content Feeds
Other Resources
C++
Introduction
Course
- Video series on C++ basics
Modern C++ Features
- Summary of new features on C++ Versions
C++ Cheatsheet
Style Guides
Style Guide
- Google C++ Style Guide
Coding Standarts
- ISO C++ Coding Standarts FAQ
Project Structure
- Guide for project structure
Build System
GCC & Make
- Introduction to GCC and Make
CMake
- Official tutorial
Testing - Benchmarking
Google Test
- Google Test Framework
Google Benchmark
- Google Benchmark Framework
Debugging
GDB
- GNU Debugger
Address Sanitizer
- Detect memory errors
Valgrind
- Debugging, leak detection, profiling
Reverse Engineering Tools
- Also useful for debugging
Version Control
Pro Git, Scott Chacon
- Git Book
Branching Workflows
Docker
Official Documentation
Interactive Tutorials
Best Practices
Docket Optimization Guide
Shell Scripting
What is a TTY?
- Introductory Youtube Video
Shell Field Guide
Greg’s Wiki
Bash Unofficial Strict Mode
Frequently Used Commands
Bash One-liners
Some Useful Tools
JQ
- JSON Query Tool
Pup
- HTML Query Tool
Tshark
- Network Package Analyser
Algorithms & Data Structures
Fundamentals
Cheatsheet
MIT Course
Exercises
System Design & Software Architecture
System Design Book
System Design Primer
Scalability
A Distributed Systems Reading List
refactoring.guru
Key Points of Working Effectively with Legacy Code
Programming Conference Talks
Youtube Playlist
- Mostly about C++, DoD, Software Optimization
Blog Posts
How to have a productive programming day
The XY Problem
How To Ask Questions The Smart Way
Introduction to systems thinking
Some career advice
Reflections on a decade of coding
Software development topics I’ve changed my mind on after 6 years in the industry
It’s probably time to stop recommending Clean Code
Why I prefer making useless stuff
20 Things I’ve Learned in my 20 Years as a Software Engineer
Why hasn’t Zoom been legally cloned and beaten, like by Big Tech?
Planning & Estimating Large-Scale Software Projects
Choose Boring Technology
The days are long but the decades are short
Blogs
lethain.com
- Will Larson - Leadership
mental-reverb.com
- Benjamin Richner
jvns.ca
- Julia Evans - Programming Zines, learning, tooling
programmingisterrible.com
- Programming, Developer’s life
blog.royalsloth.eu
- Programming, Developer’s life
wiki.nikitavoloboev.xyz
- Nikita Voloboev - Personal Wiki
tech.marksblogg.com
- Mark Litwintschik - Optimization, Go, Rust, Python, Backend, Big Data
antonz.org
- Anton Zhiyanov - Python, SQLite
zverok.github.io
- Victor Shepelev - Ruby, Python
sandimetz.com
- Sandi Metz - OOP, SOLID, Refactoring
Content Feeds
Hacker News
Lobsters
Github Trends
Other Resources
Free Courses
Free Computer Books
Free Books on Learnpub
Illustrated Guides
Tech Conferences
Readable Codebases
My Code Snippets
My Gists
My Github Bookmarks
License