This book club has now moved

The content below is now outdated. Please visit to see the most recent content about this book club.


Welcome to the first edition of our online book club sessions. This is a tiny book club. In the first edition, we will be diving into the beautiful world of number theory.

Next meeting on Wed, 10 Mar 2021 at 18:00 UTC

Meeting duration: 40 minutes.

Meeting URL: Zoom link

Meeting Chat: Matrix room

Freenode: IRC channel

Twitter: Follow for updates

† The Matrix room and Freenode channel are bridged together, so if you join one of them, you will automatically receive the updates and messages from the other one too. If you are not an active Freenode user, prefer joining the Matrix room because it is more convenient, e.g., you can close your browser or client and your chat session will still stay alive. You can connect back the next day and catch up with the messages. Doing that with Freenode IRC requires slightly more work (setting up IRC bouncers etc.).

Reference Material

The primary reference book for these meetings is going to be: Introduction to Analytic Number Theory written by Tom M. Apostol. Admittedly, the book is quite expensive but you may find a relatively cheap paperback (softcover) copy on some websites. A DRM-free PDF eBook is available for purchase at

If you are unable to buy the reference book, you can still participate in this book club activity by downloading freely available notes from the University of Illinois: main.pdf.

For solutions to exercise problems, refer to this excellent PDF created by Greg Hurst: apostol_intro_to_ant.pdf.


  1. Who are you?

    Hi! I am Susam. I am just someone who enjoys mathematics, Lisp, and Emacs and wants to spread the joy of spending time with these beautiful things. I have been working as a software professional for about 15 years. Of these 15 years, close to 7 years were spent working with probability theory, calculus, and combinatorics, and another 3 years in implementation of cryptographic utilities.

    I do a lot of teaching as hobby. This is my way of giving something back to the technology community. I have taught Common Lisp, Emacs, Python, C, Vim, and various areas of mathematics. In each one of my previous workplaces, I have created communities around mathematics, algorithms, and/or, cryptography. In the online world, I created the ##algorithms channel on Freenode IRC (my nick there is spal). What started as a tiny hobby club around algorithms 13 years ago is now a thriving community with over 200 members. (Disclosure: I don't participate in it anymore but a highly talented group of moderators helps maintain the channel).

    These hobbies of teaching and forming local and online communities have also led me to write some open source projects. Some are mildly popular and some not so popular but have managed to find its own niche community of users. For example, TeXMe and were born out of the need to share mathematics problems and solutions within these communities. Uncap was born when I used to teach Vim and I wanted Windows users to have a good ergonomic experience. Similarly, Emacs4CL was born while teaching Common Lisp with Emacs and SLIME.

    To summarize, I work in the software industry by profession and I am an open source software developer by hobby. I want to use some part of my leisure time in hosting book club meetings where we pick up good books and work through them together.

  2. Why are you doing this?

    During the course of my career and hobbies, I have found Mathematics, Lisp, and Emacs to be extraordinarily elegant and beautiful and it is my goal to introduce as many people to these things as possible.

    Software development these days focus a lot around stitching together many libraries to accomplish complex tasks. I understand that this is more economical and productive. This approach has certainly made it possible to develop huge and complex software-based infrastructure that has changed the way we live. However, I think, in this fast-paced software development world, the simpler joys of devising or implementing algorithms from scratch and appreciating the underlying beauty of mathematics is taking a backseat. I intend to introduce more and more people to some of these simpler joys, especially, the joy of unravelling the mysteries of prime numbers, appreciating the simplicity and elegance of Lisp, experiencing the remarkable extensibility of Emacs, and so on.

    Also, the more I help others work though a formidable book like Introduction to Analytic Number Theory, the more it helps me too to appreciate some finer and deeper points that I may not have paid due attention to when I read the book for the first time. So I benefit from these club sessions too. Similarly, the more I help someone with Common Lisp programming, the more I have to dive into the Common Lisp HyperSpec which often teaches me a few new things too, so I gain from the experience too.

  3. Have you read the entire book?

    No, I have read approximately half of the book (Introduction to Analytic Number Theory) and I am enjoying it so far. This means that I am a good number of chapters ahead of someone who has just begun reading this book, so I can maintain a steady pace in the club discussions and also be able to tell if some topics or areas of confusion in an earlier chapter will be clarified in a later chapter.

  4. But I want to do book club sessions for another book!

    Start your own book club around it! This is mine. I have chosen number theory as the topic of discussion for now. After a few months, I will move on to topics around Lisp and Emacs. If you have a different topic or book in mind, start your own book club for it. You can reuse my channels (see top of this page) for it or you can do it your own way. If you let me know about it and if I can find the time, I will join your book club too! I think, we need more book clubs, not less!