A set of top Computer Science blogs
This started out as a list of top Computer Science blogs, but it more closely resembles a set: the order is irrelevant and there are no duplicate elements; membership of this set of blogs satisfies all of the following conditions:
- they are written by computer scientists and focus on computer science research;
- they are of consistently high quality;
- I regularly read them.
N.B. I have deliberately excluded blogs primarily focusing on computer science education (for another time).
The Endeavour by John D. Cook (@JohnDCook)
John’s blog cuts across using computing, programming and mathematics to solve real-world problems, pulling in his wide expertise as a mathematics professor, programmer, consultant, manager and statistician. Some great posts across the technical and socio-technical spectrum. Also runs a number of useful Twitter tip accounts, including @CompSciFact, @UnixToolTip, @RegexTip and @TeXtip.
Serious Engineering by Anthony Finkelstein (@profserious)
Anthony is Dean of the Faculty of Engineering Sciences at UCL, having previously been the Head of the UCL Computer Science. His regular blog posts are an insightful and thought-provoking journey across computer science, engineering, research and academia.
Computational Complexity by Lance Fortnow (@fortnow) and Bill Gasarch
Since 2002, the first major theoretical computer science blog; computational complexity and other fun stuff in mathematics and computer science.
Daniel Lemire’s blog by Daniel Lemire (@lemire)
Daniel Lemire is a professor in the Cognitive Computer Science research group at LICEF in Canada, with his popular blog covering topics across his research areas (databases, data warehousing, information retrieval and recommender systems), as well as programming, education, economics and open science.
Gödel’s Lost Letter and P=NP by Dick Lipton (@rjlipton) and Ken Regan
This is a blog on and other questions in the theory of computing, named after the famous letter that Gödel wrote to von Neumann which essentially stated the question decades before Cook and Karp. Defined by the authors as a personal view of the theory of computation, it talks about the “who” as much as the “what”.
Editor’s Letters by Moshe Vardi (@vardi)
Moshe Vardi, a distinguished and award-winning theoretical computer scientist, has served as Editor-in-Chief of Communications of the ACM since 2008, discussing a wide range of topics across computer science, research and technology. Certainly worth following on Twitter too.
Alan Winfield’s Web Log by Alan Winfield (@alan_winfield)
Alan is the Hewlett-Packard Professor of Electronic Engineering at UWE and his blog is mostly, but not exclusively, about robots. It also touches upon artificial intelligence, artificial culture, ethics and biology, highlighting his definition of robotics as both engineering and experimental philosophy.
Lambda the Ultimate, the Programming Languages Weblog (@lambda_ultimate)
This site deals with issues directly related to programming languages and programming language research, as well as forays to bordering issues such as programmability and language in general. This is a community, but not for specific programming problems in some language; unfounded generalisations about programming languages are usually frowned on.
BLOG@CACM by Communications of the ACM (@blogCACM)
The Communications site publishes two types of blogs: the on-site BLOG@CACM expert blogs, as well as a blogroll of syndicated blogs, essentially covering the spectrum of computer science, research, education and technology. Something for everyone!
Google Research Blog by Google (@googleresearch)
The latest news on Google research, focusing on some of their key areas of interest: e-commerce, algorithms, HCI, information retrieval, machine learning, data mining, NLP, multimedia, computer vision, statistics, security and privacy.
Clearly this set is incomplete — please post your computer science research blog recommendations in the comments below; I’d be particularly interested in blogs covering compilers, concurrency and computer architectures.