Learn something this summer - #7
No excuses issue ;) if you want to learn something new, you'll find what to study!
“The best thing for being sad," replied Merlin, beginning to puff and blow, "is to learn something. That's the only thing that never fails. You may grow old and trembling in your anatomies, you may lie awake at night listening to the disorder of your veins, you may miss your only love, you may see the world about you devastated by evil lunatics, or know your honour trampled in the sewers of baser minds. There is only one thing for it then — to learn. Learn why the world wags and what wags it. That is the only thing which the mind can never exhaust, never alienate, never be tortured by, never fear or distrust, and never dream of regretting. Learning is the only thing for you. Look what a lot of things there are to learn.”
― T.H. White, The Once and Future King
Dear Readers,
Summer and holidays are coming up, and we should have a few more free hours than during the working year. Today's issue comes to the rescue in case you get bored: lots of resources to study, to read. As Merlin said, there is something for everyone!
Something to read
This is more than “something”: this is an entire repository, an enormous list of books to read and study, in any language, for every programming language.
List of Free Learning Resources In Many Languages
This GitHub repository, maintained by the Ebook Foundation, offers a vast collection of free programming books in multiple languages, allowing you to expand your knowledge and skills without any financial barriers; everything is free here.
It offers a continually growing list of curated material, including comprehensive guides, reference books and tutorials covering various programming languages, frameworks, algorithms, and more. The repository is regularly updated and enriched by contributors from around the world, ensuring that you have access to fresh and up-to-date content.
This list was originally a clone of StackOverflow - List of Freely Available Programming Books with contributions from Karan Bhangui and George Stocker.
The list was moved to GitHub by Victor Felder for collaborative updating and maintenance. It has grown to become one of GitHub's most popular repositories, with 271,000+ stars, about 9,700 watchers, more than 8,300 commits, 2,400+ contributors, and 54,000+ forks.
The repository is here, but here you can find the dinamic site with a search engine.
The Free Ebook Foundation now administers the repo, a not-for-profit organization devoted to promoting the creation, distribution, archiving, and sustainability of free ebooks.
Something to read, 2
Too much material in the previous link? You think you cannot learn everything. Well, you're probably right, but this second resource will help you learn and retain what you do learn.
Written by Petros Christodoulou and entitled "Learning Exponentially", this article explores the power of self-reinforcing loops to foster exponential growth in our learning journeys. It introduces the concept of self-reinforcing learning loops and draws parallels with the growth of the world's population. The author also looks at the role of spaced repetition, a technique that can exponentially increase our retention and learning efficiency.
It’s just 4 minutes reading, so go grab it: https://saveall.ai/blog/learn-exponentially
📰 If, after this resource, you’re still interested in how to improve the time invested studying, here is another article that explains how to accelerate your learning and be more focused in what you do: The Ultimate Deliberate Practice Guide: How to Be the Best. Deliberate practice is what turns amateurs into professionals, it’s absolutely essential for expert performance, so this reading can be a good place to delve into this technique, which is applicable in almost every aspect of one's life.
Something to try
Believe me: this is TERRIFIC!
This is Nand to Tetris, an entire project full of videos, books, tutorials and other material that brings you from zero to build a general-purpose computer system and a modern software hierarchy. From scratch. Yes, you read well.
It is designed for students, instructors, and self-learners. AS USUAL (here on DeveloperGossip) it is entirely free and open-source, promoting accessibility and collaboration within the non-profit educational community.
Nand to Tetris courses are taught at 400+ universities, high schools, and bootcamps. The students who take them range from high schoolers to Ph.D. students to Google engineers.
Nand to Tetris is run by a big team, but the main maintainers are:
Shimon Schocken: co-founder and director of the Google-Reichman School of Technology; visiting professor at Princeton University's School of Engineering and Applied Science. He was a tenured professor at NYU, a visiting professor at Harvard and Stanford. He also served as chairman of the Computer Science Curriculum committee of Israel's Ministry of Education.
Noam Nisan: professor in the School of Computer Science and Engineering of the Hebrew University of Jerusalem, member of the Center for the Study of Rationality, member of the Israeli Academy of Sciences and Humanities.
Something to try, 2
We have already talked about git and its importance in this newsletter. Here we are again.
Git skills are a necessity for a software developer. Git, a distributed version control system, has become the de facto standard for managing source code, collaborating with teams and ensuring project integrity. With Git, you can confidently experiment with new ideas, iterate on code, and roll back changes when necessary, all while maintaining a well-structured codebase.
Today I am not presenting you a simple course, nor a tutorial or a book, but an online git playground, a game during which you’ll learn git basic (and not just basic) commands: Learn Git Branching!
It has a variety of several levels: if you're a beginner, just go ahead and start with the first. If you already know some Git basics, try some of more challenging levels. Everything is up to you!
So, learn git and enjoy! ;) - Learn Git Branching
📰 BUT if you are new to the general concepts of versioning and git, here is a short but interesting article about versioning and Git Best Practices: this is a “get started with git” article for the newbie with which you’ll learn what is version control, what is Git?, how to set up a new git repository, basic commands to create and commit changes and a lot more!
After reading it, come back and you can easily go through the course above ;)
Something to… bonus!
"Share your knowledge. It’s a way to achieve immortality!" - Dalai Lama
And maybe during summertime you don't just want to learn how to program or commit code. Maybe you want to learn something completely new and different, for example how to play an instrument?
Maybe you want to learn how to play a guitar! FaChords is the site for you: a never-ending source of free resources for guitarist: beginner and experienced. FaChords Guitar provides guitar players with the best chords, scales, fretboard and theory resources: for free!
Games, videos, tutorials, books: choose what best suits you on FaChords!
FaChords is run by a good friend of mine, Giancarlo: a guitar teacher and a software engineer. You can read more about him and FaChords here and also connect with him on his LinkedIn.
And that should be enough for the whole summer, although in the next weeks I will come to you with something new from the endless world of the web.
And now I cannot but wish you an excellent summer, full of study but above all rest. Merlin rested too ;)
See you next time!
David