Links I find interesting
I roughly categorize by topic. But this is a weak categorization, as many of my favorite bloggers and website authors think about a variety of subjects.
Math and Mathlike
These are math blogs that I recommend.
- My collaborator Alex Walker's site, Mathematics and Miscellany.
- Fredrik Johansson's blog. The open source mathematical software world depends in many ways on Fredrik's work.
- Beni Bogoşel's blog.
- Gowers's weblog.
- The n-Category Café.
- Closely related to the n-Category Cafe, Azimuth.
- Terry Tao's blog What's New, which was one of my inspirations when first starting a math blog in 2011.
- Ben Allen's blog PLEKTIX.
- Gil Kalai's blog Combinatorics and more.
- Michael Nielsen's blog.
- Jordan Ellenberg's blog Quomodocumque.
- The Aperiodical.
- Matt Baker's math blog.
- Wildon's weblog.
- Michael Harris's blog Mathematics without Apologies.
- Scott Aaronson's blog, which defies classification but includes aspects of physics, philosophy, and a lot else.
- Gödel's Lost Letter and P=NP
- Good Math/Bad Math.
- Peter Woit's blog Not Even Wrong.
Jeremy Kun's blog Math n Programming.
The Polymath Blog.
These are perhaps dead, but still contain very interesting things.
- Qiaochu Yuan's blog.
- Michelle Delcourt's blog.
- PhD + Epsilon, which was a really great blog. It's too bad the AMS discontinued their blogging operations.
- Inclusion/Exclusion, another great blog from the AMS that was discontinued.
Both this and PhD + Epsilon owe much to the excellent writing of Adriana Salerno.
If you are interested in learning math (including possibly research math), then you should know about the following. Initial contributions can be a bit scary, but these communities are extremely valuable tools.
- Math.StackExchange, where I have been a moderator for several years.
- MathOverflow, aimed at research mathematicians.
- Stats.StackExchange (also called CrossValidated).
- History of Science and Math.StackExchange.
Are you interested in seeing a research talk, possibly online? See researchseminars.org.
Now I focus more strongly on topics specific to number theorists.
- The expository writing of Keith Conrad, who also serves as an inspiration to me.
- The expository writing of Thomas Bloom.
The expository writing of Paull Garrett.
- Number Theory Conferences, New and Old.
- Various online number theory lecture notes.
- The L-functions and modular form database, LMFDB.org.
Programming, Computer Science, and Related
- Julia Evan's Blog, which I highly recommend.
- Rachel by the Bay, which I also highly recommend.
- Dan Luu's blog.
- Camille Fourier's blog Elided Branches.
- Brent Yorgey's blog :: Brent -> [String].
- The Universe of Discourse.
- Jacob Steinhardt's blog Bounded Regret
- Cathy O'Neil's blog mathbabe. By the name, you might expect this to be mathematical. And it is! But also very computer science-y.
- Bartosz's blog.
- Arthur O'Dwyer's blog, mostly about C++.
- Coding Horror, which is rarely updated but which is typically very insightful. This is Jeff Atwood, one of the founders of StackOverflow.
- Joel on Software, which is also rarely updated but which is also very insightful. This is Joel Spolsky, the other founder of StackOverflow.
- Computers are Bad.
- CR.YP.TO and associated microblog.
- David Foster.
- Dennis Yurichev's blog.
- Drew DeVault's Blog.
- Eli Bendersky's blog.
- Ned Bastchelder's blog. Ned is also one of the main hosts of Boston Python, a very nice meetup.
- Schneier on Security, perhaps the best crypgoraphy-oriented blog out there.
- rdist, hardware oriented security.
Maybe dead, but still great.
- MIT Technology Review is actually great.
- Quanta Magazine.
- American Mathematical Monthly. The AMM frequently has fantastic exposition. The limitations on the techniques and audience serve as productive constraints in this case.
- HackerNews, my preferred link-sharing forum/discussion board.
Books I recommend or find interesting
The following books serve as excellent hooks for various fields or studies in mathematics or computer science.1 1Note all that Amazon links below are affiliate links.
Algebra and Number Theory
- Cox's Primes of the form $x^2 + ny^2$. This is one of the best books motivating algebraic number theory that I know. The reader should know what a proof is and how to prove unique factorization (e.g. have taken one course in elementary number theory).
- Ireland and Rosen's Classical Introduction to Modern Number Theory. This is aimed at a more sophisticated audience, but the clarity of exposition is outstanding. I wish that I'd read this as soon as I knew some algebra and complex analysis.
- Silverman and Tate's Rational Points on Elliptic Curves. This is an excellent introduction to elliptic curves and a good way to prepare for reading the (much) more sophisticated books of Silverman on them. I have friends who use this as the primary introduction to all elementary number theory!
- Barbeau's Polynomials problem book. (The whole Problem Books in Math series is outstanding). This would be very appropriate to an advanced high school student or undergraduate who likes to learn by solving problems.
- Barbeau's Pell's Equation problem book. Though conceptually unrelated, this is more advanced than Polynomials. It is still appropriate for an advanced high school student or undergraduate student.
- Murty's Problem books on Analytic Number Theory, Algebraic Number Theory, or Modular Forms. These are different than the earlier problem books in that they should be done in addition to typically learning a subject, but they help make many things concrete.
- generatingfunctionology, which is free and ful of fun.
Cryptography comes in a couple of different forms. The Mathematics of cryptography could in principle be done completely without a computer; tidbits of this appear in some number theory books. Practical cryptography requires coding. I have a bit of both here.
Hoffstein, Pipher, and Silverman's Introduction to Mathematical Cryptography is the most accessible book I know on the mathematics behind modern cryptography.
The Handbook of Applied Cryptography is an outstanding book. It's usually accessible. Unfortunately, it's a bit old and its age does show now. (I would still recommend it to someone seriously starting with cryptography).
Applied Cryptography, by Schneier (whose blog Schneier on Security I also recommend) is the reference on many forms of cryptography. There is code, it is in C, and it is not always accessible. But it is honest.
I don't have good experience with first books in programming. There are an enormous number of avenues to first learn programming (from books to classes to online lectures), and I simply haven't done them. My recommendations below are thus not for people completely new to programming.
- Fluent Python is an outstanding second book in python programming. It's perhaps the best accessible book at seeing how to write "pythonic" code.
- Effective Python and Serious Python are great books for people who want to become more serious about python.
I'll note that Serious Python is published by No Starch Press, which is extremely hit-or-miss. I don't recommend many of their books.
Computational Mathematics with SageMath and (the free online version of Sage for Undergraduates) both offer superpowers to mathematicians. Being skilled in a computer algebra system has many nonobvious advantages. Sage is a CAS made by mathematicians and designed for mathematicians, free forever.
Effective C++ is an outstanding second book in C++. All of Scott Meyers's C++ books are great, almost necessary to make sense of an extremely complicated language.
There is a big problem in C++ books, which is that the language had a major paradigm shift in 2011. All books written before 2011 still apply, but the nature of the application is just different. The similarly-titled Effective Modern C++, also by Scott Meyers, can be thought of as addressing these changes. But it actually covers different material!
Unfortunately, it is often best to first learn old-style intermediate C++, and then to learn modern best-practices. Presumably more books will slowly be written that address this, but this is the current landscape!
- Effective STL and The C++ Standard Library are very good at learning out how to use the standard library.
Finally, I give broad recommendations.
- CODE: the hidden language of computer hardware and software. This doesn't sound interesting, but it's actually great.
- The elements of computing systems. The question here is how does one go from $0$s and $1$s to a modern computer? This book tries to explain how. An enduring legacy of this book is how to write Tetris using only "nand" logic gates (elsewhere called nand2tetris).
- Wetherall's book Etudes for Programmers seems to be out of print, but it's possible to find copies of it. And it's a great source of interesting projects and prompts for write-in-one-weekend type adventures.