Hi, I’m James Smith, a software developer with over 10 years of experience. This is the website for my books and blogs.

I have an interest in fundamental knowledge and first principles, which is reflected in the topics of my books. My books cover topics such as network programming, data structures, databases, compilers, assembly, etc.

I also believe in the “from scratch” approach to learning, inspired by Richard Feynman’s quote “What I cannot create, I do not understand”.