Resources
Computer Programming
-
Bash man pages: The manual pages for the GNU Bourne-Again SHell. If you program on Linux at all and haven’t read this yet, do yourself a favor and give this a read. Most Linux machines come with Bash pre-installed, so by reading this text you’ll be able to automate all sorts of tasks on many machines, without needing to rely on downloading an external programs like a Python interpreter. If you prefer to watch a video instead of read a book, then I recommend this 7 hour free course on YouTube.
-
Vim as your editor: Michael Paulson, AKA ThePrimeagen, provides a series of entertaining and informative videos about how to use the Vim text editor.
-
The Big OOPs: Anatomy of a Thirty-five-year Mistake: Casey Muratori examines the history of object-oriented programming in order to determine how the paradigm became so popular in the software engineering industry.
-
How I program C: Eskil Steenberg explains why he only writes code using the 1989 C standard, despite it being decades old.
Writing
-
Style: Lessons in Clarity and Grace: Joseph Williams and Joseph Bizup give concrete advice on how to make your writing more clear and enjoyable to read. I link to the 12th edition here, but I would recommend picking up an older version from a site such as AbeBooks since that is likely to be more affordable.
-
The Elements of Style: William Strunk provides fundamental writing advice. I recommend reading a later edition, such as the 4th edition, for additional insights from E.B. White.