Reading Material

Last Updated: 2020-12-15

This is a small, but growing, list of interesting readings for young and old players.
 

Articles:

http://laputan.org/mud/mud.html#BigBallOfMud
A good read for anyone that is in a software development project, try to read it in parts and after you finish reading, start over one more time to really absorb the concepts.

https://www.joelonsoftware.com/2000/08/09/the-joel-test-12-steps-to-better-code/
An easy checklist to see how good(or bad) your current company is at keeping developers happy and productive.

https://blog.codinghorror.com/the-programmers-bill-of-rights/
Great read, this probably should be printed and stamped at every programmers office.

https://www.joelonsoftware.com/2001/12/25/getting-things-done-when-youre-only-a-grunt/
Lots of ideas for you disgruntled employees that want to do the right thing and nobody lets them, also works as a guide in how to start doing the right thing.

https://www.joelonsoftware.com/2000/04/06/things-you-should-never-do-part-i/
Before reading this piece, I never really thought about how bad, and expensive, it could be to rewrite a complex piece of software from scratch versus the idea that you could rewrite it in situ and modernize the codebase without having to throwaway everything and start over.

https://deadliestwebattacks.com/2012/12/26/toctou-twins/
Simple article that explains Time of Check&Time of Use bugs from a web developer view.

https://www.cs.utexas.edu/users/EWD/transcriptions/EWD03xx/EWD340.html
“The humble programmer” by E.W. Dijkstra is a must read for any programmer.

https://www.win.tue.nl/~aeb/linux/hh/thompson/trust.html
“Reflections on Trusting Trust” by Ken Thompson, interesting read with many ramifications if you think hard about the problem described.

 

Cookbooks:

https://goalkicker.com/
Nice website with lots of cookbooks, not an easy or that useful read for newcomers but a godsend for old-timers.

You probably should at least skim by as many books on this site as you can, but if you are short on time, my top picks are.

  1. https://goalkicker.com/LinuxBook/
  2. https://goalkicker.com/PHPBook/
  3. https://goalkicker.com/BashBook/
  4. https://goalkicker.com/GitBook/

https://htaccesscheatsheet.com/
htaccess cheat sheet, if you use apache webservers it’s a good bookmark to have.
http://arduinoinfo.mywikis.net/wiki/HOME
Ardunio Tutorial and guides.
https://openwall.info/wiki/people/solar/pocorgtfo
The international journal of PoC || GTFO doesn’t need introduction
 

PHP guides:

https://phptherightway.com/
A webpage with the best practices for programming in PHP, a must read for any php developer

https://www.cyberciti.biz/tips/php-security-best-practices-tutorial.html
Old But still usefull checkbox style article to secure php instalations.

https://phpdelusions.net/pdo
As the name says, the only proper PDO tutorial, you probably shouldn’t be creating your own database abstraction, but if you are this site is a good starting point

https://www.youtube.com/watch?v=pW-SOdj4Kkk
Jonathan’s talk from DevGAMM 2019 “Preventing the Collapse of Civilization”

https://www.youtube.com/watch?v=goclfp6a2IQ
Introduction to ansible, It’ a litte too long, but has a good amount of knowledge and many nuggets useful of information, I cannot recommend the whole series enough.

https://www.youtube.com/watch?v=kgVz4-SEhbE
Introduction to clustering using a cluster of Raspberry Pi, although the content is focused on the rpi and ARM, you can easily replicate with virtual machines running on your localhost or with digital ocean droplets.

 

RFC:

https://www.ietf.org/rfc/rfc2119.txt
An interesting RFC defining the meaning of the words “must”, “require” and “shall”, among others.

 

Sites:

https://www.server-world.info/en/
A Goto tutorials site, if you have some experience as a sysadmin you probably visited this site more than a few times without noticing it, real quality content.

Final Considerations

This will be an ever expanding list, so checkout from time to time to see if something has changed, I’ll keep the date of the last update on top so you’ll know if the version that you are seeing newer then the last time.