James's Blog

Sharing random thoughts, stories and ideas.

2017 Highlights

Posted: Dec 10, 2017
◷ 6 minute read

I really like learning things that make me think in fundamentally different ways. I’ve read and watched a lot of stuff in 2017, but only a few actually changed the way I think. Here’s a list of them, and some brief thoughts on how they changed my thinking.

Algebraic Structure

Yes it’s a Wikipedia article. I spent a good amount of time earlier this year re-learning the basics of mathematics online. I thought I knew what algebra is, but turns out I was very wrong; the algebra I learned in school is just a tiny piece of the complete picture. I gained a new appreciation for the meaning of the word “algebra” (i.e. “reunion of broken parts”).

As a side effect, I’ve thought a lot about my own education. There were many “why wasn’t I taught algebra like this in school” moments during my self-learning journey. I felt that there is something fundamentally wrong with the way math is taught in school (especially high school). You could argue that young people (including the younger me) would not have appreciated this knowledge as I do now. But still I wonder, how many other things have we all “learned” in severely deficient ways, and what we could be if we had been taught properly.

The Many Flaws of Dual_EC_DRBG

This is an older article, but I’ve only just learned about it this year. Since this is quite a technical topic, I’ve included a relatively non-technical summary of the background and details involved, see this footnote1.

Being a software engineer with an interest in cryptography, I know a fair bit about the inner workings of how our online communications are secured. This has given me a strong sense of security online that is perhaps stronger than what a regular person (who is not well-versed in crypto) feels, since I know the math behind the encryption schemes. Reading about the NIST elliptic curve “scandal” really shattered that confidence in me.

In the post-Snowden era, our trust in the government has shrunken to near nonexistent. But even then, the fact that the NSA could have compromised our online crypto at the most rudimentary level never really crossed my mind until I read about this incident. I’m generally not a tin foil hat wearing conspiracy theory advocate, but now I’m beginning to think that nothing is secure/safe online. Maybe the rumor that NSA can break RSA is not so wild after all.

Michael Nielsen’s Book on NN and DL

Neural networks, deep learning, and machine learning in general, have been a black box for me. I’ve done a lot of self-studying on these topics this year, and have been through a number of courses/materials (including the famous Coursera course on ML by Andrew Ng). This book by Michael Nielsen has been one of the best intro-level materials, and it gave me very good understanding of the basics of deep learning.

Having the black box of ML exposed to me actually made me more cynical towards the field in general. Now that I know that deep learning is mostly just linear algebra with some calculus, the wonder and magic of the self-improving “AIs” that people are building kind of died in my mind. All that’s left is the unreal amount of hype and insane levels of expectation.

3Blue1Brown’s Video on Fractals

Fractals have fascinated me for a long time, and I’ve played around with them in code since years ago. I know that fractals are intimately related to recursion, but I’ve never really thought about them from the topological perspective. The fact that they can be thought of as fractional dimensions was very eye-opening for me.

What is Space

We have all been taught that matter is made up of particles such as protons and electrons. When I think about the sub-atomic world, I think of actual, physical particles, like balls, hanging around. Sure, quantum mechanics make the exact positions of the particles uncertain, so it’s more like probability clouds of where the actual particles could be. But fundamentally, the particles are still objects that exist in space.

It never really occurred to me that this is merely an interpretation of the reality that we observe. In fact, we don’t really know the true nature of the particles that make up our universe. This article on the nature of space raises a very interesting point (among others), that particles may not exist in space at all, they may simply be the manifestation of the different states of space itself. What we perceive as a proton, for example, could just be a point in space that has a different property than its surroundings. And this property, or state, can be transmitted, which we would observe as the proton moving.

An analogy I was thinking about is that of a computer screen. The pictures displayed on it do not actually exist as a bunch of physical dots, separate from the screen, but rather a combination of the different energy states of the pixels of the screen itself. When a ball moves across the screen, nothing actually moves, only the energy states of some pixels have transferred to others. Perhaps we are indeed part of a simulation, and only exist as “pixels” on some higher-order being’s 4D screen.

Julian Jaynes’ Book on Consciousness

Like many others, I read this book after watching HBO’s Westworld. The actual validity of the bicameral mind theory aside, the book was very thought-provoking for me, especially regarding the various theories on what consciousness is. I have talked casually to others about consciousness in the past, such as when discussing whether machines can be conscious. But now I realize that those conversations were a bit pointless, since we never had any concrete definition of consciousness.

The book says that it is much easier to define what consciousness is not, and I tend to agree with it. I have not yet found a fully satisfactory definition of consciousness, I think it might be one of those philosophical endeavors that will be forever out of our reach. The best (or rather, least worst) definition I’ve seen so far is that consciousness is “that which introspects”.


  1. To make sure that when you are using your bank’s (or Facebook, anything really) website, nobody else can know what you are doing, the traffic on the Internet is secured using encryption. These encryption techniques are based on very complicated math, and it essentially makes it so that nobody can decrypt your data without your key (which only you should have). And there needs to be standards on these techniques, so that we can understand each other’s encryption methods. NIST, the US National Institute of Standards and Technology, publishes a lot of these standards that people use widely (because we trust them). One of the things in the NIST standards is Dual_EC_DRBG, which is basically a math function used to generate keys used for encryption online. A few years ago a rumor leaked (part of the Snowden leak I believe) that the NSA might have colluded with NIST and engineered Dual_EC_DRBG to have a backdoor. This could allow the NSA to decrypt any web traffic that uses this function as part of its encryption. It was never conclusively proven that this was the case, but after a number of suspicious announcements by NIST and NSA, people no longer trusted this function, and some have switched to use others. People also began to question the security of NIST’s others standards, and the organization’s integrity in general. ↩︎