Here Comes Everybody - Book Review

Just finished Clay Shirky’s Here Comes Everybody, which I think it’s a very interesting book. The author shared his insights on how the Internet effectively gathers the power of people, and how it is rapidly reshaping the society today. Book starts with a story on how Internet helps a lady to regain her lost cellphone with the assistance and pressure from people online, and expands discussion to what why it could happen, and what we should do about it. The world is smaller and people are closer than ever before, for better or worse, because of technologies. In this book, the author carefully analyzed ways Internet could affect our lives, what it means to the world.

I listed several observations the authors provided in this book, which I find very interesting.

Read More

Reading Summary 2015-11

Compilers

Directed graph traversal, orderings and applications to data-flow analysis

On the graph traversal and their efficiency.

  • Pre-order depth-first-search
  • Reverse post-order depth-first-search

This could be a very helpful reference when designing data-flow analysis on programs.

Programming

Semantic Version

How to use version numbers in a sensible way: the MAJOR.MINOR.PATCH format. And I quote:

  1. MAJOR version when you make incompatible API changes.
  2. MINOR version when you add functionality in a backwards-compatible manner.
  3. PATCH version when you make backwards-compatible bug fixes.

Internet

I’m a Privacy Advocate, but I Still Use Windows 10 and Google Now

Your personal data is the fuel to power the Internet today, and how should we face it.

Reading Summary in 2015/10

Compilers

Troubles with GCC signed integer overflow optimization

BUG 30475 - assert(int+100>int) optimized away

An interesting ‘bug’ in some versions of GCC (and Clang as well) implementation. Since it’s ‘undefined’ behavior after all, compiler is not obliged to implement it as a defined behavior. Use -fwrapv flag in GCC to inform the compiler that integer value wraps.

Python

Profiling Python in Production

Signal timeout for every small amount of time (say, 1ms in this case) and record the current stack, and we can infer time spent in each function precisely enough. A smart way of profiling large Python programs.

Note: python signal callback passes signal type and signal handler, and signal handler takes signal number and current stack frame.

Hitchhiker’s Guide to Python

Great book to Python, covering code style, best practices and scenario guide. Just started reading it.