Reading Summary: 11/06/2020

Technology

Edsger Dijkstra: The Man Who Carried Computer Science on His Shoulders

The often untold story behind a mastermind of Computer Science: Dijkstra, whose name has been an important algorithm widely used in GPS navigation.

The blog described a wise, hard-thinker, a great mind who made unparallel contributions to both Computer Science as a mathematical and logical view, as well as Software Engineering which focuses on building software and hardware components.

He’s most famous for his private reports, named “EWD”, and continued for more than forty years, describing his views on Computer Science and Software Engineering in general, and sometimes worked as reviews for others’ work. One of the most influencing “EWD” report was “Notes on Structured Programming,” which argued programming as a serious form of skill that demands intellectual rigor.

In 1972, Dijkstra received the ACM Turing Award, he was recognized for:

contributions to programming as a high, intellectual challenge; for eloquent insistence and practical demonstration that programs should be composed correctly, not just debugged into correctness; for illuminating perception of problems at the foundations of program design.

He has great passion for his art, and his strong personality sometimes sparked controversies. One of the most famous was the discussion on critiquing “GOTO” statements as harmful. It brought widespread, heated debate, yet Dijkstra’s view finally prevailed, and his insistence made a monumental change to programming paradigm.

There are much more interesting details around his personal and academic life in the original post, too long to be summarized here. For example, his had a mini-van in Austin, which he often drove to national parks with his wife, and it was named the “Touring Machine.” If you are passionate with computers and software, have a long weekend afternoon, it’s worth a good read.

Programming

WTF Python!

The quirks around the Python programming language. The use cases described in the document are usually not recommended way of using Python, as it might trigger unexpected behaviors. They expose some underlying implementation details, the majority of which for optimizations, and may have some counter-intuitive side-effects.

No programming language, or tool, frameworks is perfect. If you’d like to use something fluently, you’ll also need to understand its weird corner cases.

Studying

Introduction to the Zettelkasten Method

An interesting notebook method I’ve recently bumped into. And I’ve been using Notion notebook with it.

The idea is that: you’ll read and learn many small facts and concepts, but would forget them quickly. Zettelkasten method will record, and connect them into much more powerful ideas and concepts, since innovations often arrive when ideas clash. Used correctly, this personal notebook method could be a significant way of boosting your creativity.

Society

To Combat Conspiracy Theories, Teach Critical Thinking - And Community Values

An interesting idea from studying the spread of conspiracy theory: most followers and spreaders are drawn to conspiracy theories, as they find comfort and a sense of community in it.

Fighting disinformation and conspiracy theories can be hard, but this idea could provide a way of preventing the agents from spreading it.

When someone feels unfit or even abandoned by the mainstream society, they seek comfort in outlandish ideas. The conclusion? One important aspect of fighting conspiracy theory is to build community value.

How Scientism Spawns Pseudoscience And Science Denialism

Scientism is the idea that we should believe in science and scientists no matter what. This idea is the wrong way of pursuing the true spirit of science, is actually considered harmful, and might backfire with denial.