a.k.a., my very own soap box (TM)… odds & ends I’ve found useful, interesting, and/or wish I had seen earlier on.

I found that I was repeatedly re-googling links to share with new mentees, so I decided to shove it all in one place.

:star2: markers denote highlights.

🔗 Version Control

🔗 Comments & Documentation

🔗 Good Code: Philosophy

🔗 Good Code: Nuts & Bolts

🔗 Testing, Debugging, Benchmarking, & Profiling

🔗 Horrible, C++-Specific Gotchas

  • static initialization order fiasco
    • “A subtle way to crash your program.” :wine_glass:
  • type aliasing
    • basically, never cast pointers to pointer types besides char * or void *
  • macro operator precedence
    • macro X: 1 + 1
    • macro Y: X * X
    • aaand… Y == 3 (not 4)
  • The Most Vexing Parse
    • A a();
    • you’re just tryna make an A called a
    • but compiler bae thinks you’re tryna declare a function a that returns an A
  • start reading from the TOP of horribly long compiler error messages: unbuffer make 2&>1 | less -r

🔗 Text Editor & Shell

prevent whitespace errors:

getting around faster:

🔗 History

🔗 Ethics

🔗 Personal Narratives & Anecdotes

🔗 Miscellaneous Clever Tools I Like

… some of which I made :man_shrugging:

🔗 Fun

🔗 Let’s Chat!

What resources have you found most useful on your journey as a programmer? What else should I add to this list?

I started a twitter thread (right below) so we can chat :phone: :phone: :phone: