Reading & Watching List
This is a collection of articles, books and videos I have read or watched and would recommend to others. Most of them will be software development related but not necessarily. This is also a very useful lookup/bookmarking tool as I might remember that I've read something about a certain subject but not where.
2022
Books
"The ANSI C Programming Language 2nd edition" by Brian Kernighan and Dennis Ritchie
I honestly didn't finish this book as it was just very repetitive. However in what I read I could definitely tell that it was very detailed in its explanations. It was also interesting to see what they thought about the language so many years ago and how little has changed. You might also find it here as a pdf."Effective C" by Robert C. Seacord
I found this a good introduction and has some very good knowledge on C. I was a bit confused by the structure of the book especially the first few chapters but the content is great. You might also find it here as a pdf.
Articles
"A Complete Guide to Flexbox" by Chris Coyier:
Good graphical explanation of flex/flexboxes in CSS including all the possible options and matching attributes."React Function Components" by Robin Wieruch:
Explanation of function components in React from begging to end."How Does C Compilation Work?" by Brennan D Baraban:
Not a to in depth explanation but just enough of how C compilers (specifically gcc) work."Understanding User and Kernel Mode" by Jeff Atwood
A very in depth and good explanation on how operating systems are structured and what role the user and kernel mode play."System level I/O with Unix/Linux" by Kedi
Helped me understand how file I/O works with POSIX system calls."File I/O by university of chicago"
Helped me understand how file I/O works with POSIX system calls."The forgotten art of Struct Packing in C/C++" by Josh Caratelli
Helped me understand how structs are stored in memory."Complete Stream Zoo"
Overview of Streams and Reader/Writers in Java."Learn Makefiles by Theicfire"
Good, concise makefile tutorial that helped me learn and summarize how to use makefiles."An Introduction to Modern CMake by Cliutils"
Extensive CMake Tutorial."CS231n: Deep Learning for Computer Vision"
Explains some basics of using deep learning for computer vision whilst starting of with some more classical classification examples."Handling Short And Long Content In CSS by Ahmad Shadeed"
Explains well how text should be handled on web pages.
Videos
"C Programming For Beginners - Master the C Language - Udemy course by Jason Fedin"
This course helped me improve my C knowledge and summarize it for one of my university courses. The course gives a pretty good and extensive introduction to the language."Advanced C Programming Course - Udemy course by Jason Fedin"
This is the advanced course of the course mentioned above which also covers more complex topics.HowToGraphQL (Fundamentals)
These 4 short videos explained the advantages of GraphQL and how it works very well."Mathematical Foundations of Machine Learning - Udemy course by Jon Krohn"
This course helped me refresh my linear algebra knowledge whilst showing how the maths can be done in python code. It also helped me understand some more advanced topics such as SVD and pseudoinverses.
2021
This website was created in 2022 so this is just what I remember of the top of my head.
Books
"Pro Git" by Scott Chacon and Ben Straub
Hands down the best book to learn and understand git, don't just be a user. This book greatly enhances your knowledge and understanding of more complex subjects like branching merging etc. and how it works under the hood. You can read the online version here."Introducing Maven" by Balaji Varanasi
Short but has everything you need to know, even how to create your own archetypes amongst other things."Java: A Beginner's Guide, Seventh Edition" by Herbert Schildt
Allthought Java is my strongest langauge I still managed to pick up a few things from this book."Clean code" by Robert C. Martin
The must read book for programmers. In the beginning I really liked it however I need to read it again at later point of time when I have more knowledge as some of the more advanced concepts like concurrent programming I have learnt yet. You might also find it here as a pdf.