Reading Summary 2016-12

C/C++

How to find size of an array in C without sizeof

The difference between arr and &arr - basically, arr is of type int *, and &arr is of type (int *)[size].

Very excellent article on the fundamentals of C/C++!

What Every C Programmer Should Know About Undefined Behavior

Some “gotchas” and pitfalls in the C programming language and how sometimes compiler optimizations can make it worse. Long story short is, steer away from undefined behaviors.

This post is from Chris Lattner himeself. Really nice article.

Python

Python Has Big Impact At Red Hat

Why Python is such a cool language and how Python is used in Redhat. Most of redhat’s important infrastructure is written in Python, including but not limited to firewalld, yum, and its successor dnf, and many cloud PaaS tools for OpenShift.

Statistics For Hackers - PyCon2016 (Video)

How to write a few lines of Python to simulate for a statistic problem which otherwise be onerous with all the math theorems and formulas.

Refactoring Python: Why and how to restructure your code - PyCon2016 (Video)

How to write clean, well-structured and “Pythonic” code.

Python Language - PyCon2016 (Video)

By no one but Guido van Rossum himself, on the status of Python 3, and how he created Python.

(And Death to Python 2!!)

Stop Writing Classes - PyCon2012 (Video)

Stop writing classes - when, and when not to use classes. Stop thinking in Java (no offense), and learn to be “Pythonic”, for a smaller, cleaner, and more well-structured project code base.

Misc.

If You’re So Smart, Why Aren’t You Rich?

Conscientiousness - “A Personality trait marked by diligence, perseverance and self-discipline”.

Thinking about thinking

Daniel Kahneman - I’ve been recently reading his book “Thinking: Fast and Slow”. It’s often listed as work in economics, but from what I’ve read it’s also an amazing book on psychology and human cognitives.

Reading more books is definitely one of my New Year resolutions. Just started this book, will finish.