Institutions ranked by the number of AMS Fellows, 2019 edition

Only those with the count of 3 or greater are included. Not counting the deceased. Considering CUNY as a single institution. Source of data.

    1. Rutgers The State University of New Jersey New Brunswick : 44
    2. University of California, Los Angeles : 38
    3. Massachusetts Institute of Technology : 34
    4. University of California, Berkeley : 34
    5. University of Michigan : 32
    6. Cornell University : 26
    7. Princeton University : 26
    8. University of Illinois, Urbana-Champaign : 24
    9. University of Wisconsin, Madison : 24
    10. Brown University : 23
    11. Stanford University : 22
    12. University of Texas at Austin : 22
    13. New York University, Courant Institute : 21
    14. The City University of New York : 21
    15. University of California, San Diego : 21
    16. University of Illinois at Chicago : 21
    17. University of Chicago : 20
    18. University of Washington : 20
    19. Stony Brook University : 19
    20. Texas A&M University : 19
    21. University of California, Santa Barbara : 19
    22. University of Minnesota-Twin Cities : 18
    23. University of Pennsylvania : 17
    24. Duke University : 16
    25. Indiana University, Bloomington : 16
    26. Purdue University : 16
    27. University of Maryland : 16
    28. Georgia Institute of Technology : 15
    29. Northwestern University : 15
    30. Ohio State University, Columbus : 15
    31. Pennsylvania State University : 15
    32. University of California, Irvine : 13
    33. University of Utah : 13
    34. Johns Hopkins University, Baltimore : 12
    35. University of British Columbia : 12
    36. Boston University : 11
    37. Harvard University : 11
    38. University of Notre Dame : 11
    39. University of Toronto : 11
    40. Eidgenössische Technische Hochschule Zürich (ETH Zürich) : 10
    41. University of North Carolina at Chapel Hill : 10
    42. University of Virginia : 10
    43. Vanderbilt University : 10
    44. Brandeis University : 9
    45. University of California, Davis : 9
    46. University of Georgia : 9
    47. Columbia University : 8
    48. Institute for Advanced Study : 8
    49. Rice University : 8
    50. Tel Aviv University : 8
    51. University of Oregon : 8
    52. California Institute of Technology : 7
    53. Ecole Polytechnique Fédérale de Lausanne (EPFL) : 7
    54. Michigan State University : 7
    55. Microsoft Research : 7
    56. North Carolina State University : 7
    57. University of Nebraska-Lincoln : 7
    58. University of Oxford : 7
    59. University of Southern California : 7
    60. Williams College : 7
    61. Carnegie Mellon University : 6
    62. The Hebrew University of Jerusalem : 6
    63. Université Pierre et Marie Curie (Paris VI) : 6
    64. University of Arizona : 6
    65. University of Rochester : 6
    66. Harvey Mudd College : 5
    67. Northeastern University : 5
    68. Temple University : 5
    69. Université Paris-Diderot : 5
    70. University of California, Riverside : 5
    71. University of Colorado, Boulder : 5
    72. Virginia Polytechnic Institute and State University : 5
    73. Boston College : 4
    74. Florida State University : 4
    75. Louisiana State University, Baton Rouge : 4
    76. NYU Polytechnic School of Engineering : 4
    77. Norwegian University of Science and Technology : 4
    78. Rutgers The State University of New Jersey Newark : 4
    79. University of Cambridge : 4
    80. University of Connecticut, Storrs : 4
    81. University of Missouri-Columbia : 4
    82. University of Tennessee, Knoxville : 4
    83. University of Warwick : 4
    84. Washington University : 4
    85. Weizmann Institute of Science : 4
    86. Yale University : 4
    87. Alfréd Rényi Institute of Mathematics, Hungarian Academy of Sciences : 3
    88. Australian National University : 3
    89. Barnard College, Columbia University : 3
    90. Emory University : 3
    91. Imperial College : 3
    92. Københavns Universitet : 3
    93. KTH Royal Institute of Technology : 3
    94. Mathematical Institute, Oxford University : 3
    95. McGill University : 3
    96. Pomona College : 3
    97. Shanghai Jiao Tong University : 3
    98. Tsinghua University : 3
    99. Tufts University : 3
    100. Università degli Studi di Milano : 3
    101. Université Paris-Sud (Paris XI) : 3
    102. Université de Montréal : 3
    103. University of Iowa : 3
    104. University of Melbourne : 3
    105. University of Memphis : 3


Moderatorship connections between Stack Exchange sites

Consider the graph in which the vertices are Stack Exchange sites, connected if two sites share a moderator. What does this graph look like? As being a moderator correlates with some level of expertise or at least interest in the topic, we can expect the structure of the graph to highlight topical connections between the sites.

Unsurprisingly, there is a dominant component (55 sites) centered at Stack Overflow. (Click the image for the larger version.)

Stack Overflow component

Its radius is 6: every site can be joined to Stack Overflow by a path of length at most 6. The five sites at distance 6 from SO are Lifehacks, Martial Arts, Physical Fitness, Space Exploration, and Travel.

By the triangle inequality, the diameter of the SO component is at most 12. In fact it is exactly 12: it takes 12 steps to go from Space to either Fitness, Lifehacks, or Martial Arts.

The center of the SO component is not unique: Web Applications is another site from which every other one can be reached in 6 steps. And it has an advantage over SO in that only four sites in the component are at distance 6 from Web Apps. Naturally, these are the four sites that realize the diameter 12 of the component.

That said, Stack Overflow is the vertex of highest degree (8), meaning that Stack Overflow moderators also take part in moderating eight other sites.

What about other components? Excluding isolated vertices, we have the following picture of small components.

Other nontrivial components

The largest of these is the “language component”: English Language & Usage, English Language Learners, Japanese Language, Portuguese Language, and less logically, Sustainable Living. Other notable components are Unix (with bioinformatics thrown in) and Mathematics.

Source of the information: on the page listing moderators grouped by users I executed a JavaScript one-liner


which gave a list of connections. The rest was done in Python:

import networkx as nx
from itertools import chain, combinations
connections = # copied JS output
edges = list(chain.from_iterable(combinations(c, 2) for c in connections))
G = nx.Graph()
components = sorted(list(nx.connected_components(G)), key=len)
main_component = G.subgraph(components[-1])
pos = nx.kamada_kawai_layout(main_component)
nx.draw_networkx(main_component, pos=pos, node_size=100)

I used different layout algorithms for the dominant component and for the rest. The default “spring” layout makes the SO component too crowded, but is okay for small components:

other_components = G.subgraph(chain.from_iterable(components[:-1]))
pos = nx.spring_layout(other_components, k=0.25) 
nx.draw_networkx(other_components, pos=pos, node_size=100)

The rest was done by various functions of the NetworkX library such as
nx.shortest_path_length(main_component, source="stackoverflow")
nx.shortest_path_length(main_component, source="webapps")

Top 10 xkcd comics according to Stack Overflow

Sorted according to the number of Stack Overflow posts (as of now) in which the comic is linked. The posts themselves can be seen by clicking the “posts” link.

#10: Standards (22 posts)

#9: Compiling (29 posts)

#8: Python (33 posts)

#7: Regular Expressions (36 posts)

#6: ISO 8601 (50 posts)

#5: Password Strength (60 posts)

#4: Wisdom of the Ancients (63 posts)

#3: goto (64 posts)

#2: Random Number (74 posts)

#1: Exploits of a Mom (680 posts)

Most popular topics on Stack Exchange sites

This is an attempt to create a bird’s eye-view picture of Stack Exchange network by picking the most-used tag on every site. The sites are ordered by their size, measured by the number of questions they have so far — so, newer sites are toward the bottom of the list. For each site, I included the description of its audience, as seen on the site list, and the description of the top tag. The tag name is linked to the page with more information, such as tag wiki, and the revision history with the list of contributors.

Stack Overflow

For professional and enthusiast programmers.

Top tag javascript: JavaScript (not to be confused with Java) is a dynamic, weakly-typed language used for both client-side and server-side scripting. Use this tag for questions regarding ECMAScript and its various dialects/implementations (excluding ActionScript and Google-Apps-Script). Unless another tag for a framework/library is also included, a pure JavaScript answer is expected.


For people studying math at any level and professionals in related fields.

Top tag calculus: For basic questions about limits, derivatives, integrals, and applications, mainly of one-variable functions.

Super User

For computer enthusiasts and power users.

Top tag windows-7: For questions specific to Windows 7. Use [windows] instead for questions involving Windows in general.

Ask Ubuntu

For Ubuntu users and developers.

Top tag 14.04: Fifth LTS (Long Term Support) release of Ubuntu, code-named “Trusty Tahr”. Released on 17th April, 2014. Will go End Of Life (EOL) April 2019. Only use this tag if your question is version-specific.

Server Fault

For system and network administrators.

Top tag linux: Linux is the generic term for a UNIX-like open source operating system based on the Linux kernel.

Stack Overflow на русском

For программистов.

Top tag php: PHP — скриптовый язык программирования общего назначения, активно применяемый для разработки веб-приложений. Используйте эту метку, если у Вас возникли вопросы по применению данного языка или о самом языке.

TeX – LaTeX

For users of TeX, LaTeX, ConTeXt, and related typesetting systems.

Top tag tikz-pgf: TikZ is a higher-level drawing language built on top of the PGF graphics framework. For questions specifically about the PGF layer use {pgf-core} instead. Both tags are possible on the same question. The tag {diagrams} is also compatible with this tag.

Unix & Linux

For users of Linux, FreeBSD and other Un*x-like operating systems.

Top tag linux: These questions are about Linux in general — NOT specific to a particular distribution. If the question just happens to be in a Linux environment, please specify your Linux distribution in the body of your question, but do NOT use the /linux tag.

Cross Validated

For people interested in statistics, machine learning, data analysis, data mining, and data visualization.

Top tag r: Use this tag for any *on-topic* question that (a) involves `R` either as a critical part of the question or expected answer, & (b) is not *just* about how to use `R`.


For active researchers, academics and students of physics.

Top tag quantum-mechanics: Quantum mechanics describes the microscopic properties of nature in a regime where classical mechanics no longer applies. It explains phenomena such as the wave-particle duality, quantization of energy and the uncertainty principle and is generally used in single body systems. Use the quantum-field-theory tag for the theory of many-body quantum-mechanical systems.

English Language & Usage

For linguists, etymologists, and serious English language enthusiasts.

Top tag single-word-requests: This tag is for questions seeking a single word that fits a meaning. To ensure your question is not closed as off-topic, please be specific about the intended use of the word. YOU MUST INCLUDE A SAMPLE SENTENCE demonstrating how the word would be used. Please use the “phrase-requests” tag instead if you seek more than just a single word.

Geographic Information Systems

For cartographers, geographers and GIS professionals.

Top tag qgis: QGIS is a cross-platform GIS application licensed under the GNU General Public License.

Ask Different

For power users of Apple hardware and software.

Top tag macos: macOS is the current marketing name for Apple’s Macintosh Operating System. This OS was previously known as OS X, and Mac OS X before that (which itself succeeded the ‘classic’ Mac OS).

Electrical Engineering

For electronics and electrical engineering professionals, students, and enthusiasts.

Top tag arduino: Be sure to use the Arduino Stack Exchange for questions that are more Arduino and less electronics.


For professional mathematicians.

Top tag ag.algebraic-geometry: for questions on algebraic geometry, including algebraic varieties, stacks, sheaves, schemes, moduli spaces, complex geometry, quantum cohomology.

WordPress Development

For WordPress developers and administrators.

Top tag custom-post-types: Custom Post Types extend the WordPress back-end to support additional, non-Post content.


For passionate videogamers on all platforms.

Top tag minecraft: Mojang’s exploration and survival based sandbox game in almost endless, procedurally generated worlds. This tag is for (vanilla) Minecraft on the PC. See the tag wiki for related tags. Please note that questions requesting technical support for modded Minecraft crash issues are off-topic.


For SharePoint enthusiasts.

Top tag 2013: For questions completely specific to all editions of SharePoint 2013 and **not past or future versions**

Stack Overflow em Português

For programadores profissionais e entusiastas.

Top tag php: PHP é uma linguagem de script interpretada do lado do servidor de código aberto, amplamente utilizada no desenvolvimento web. Use esta tag para perguntas sobre classes, métodos, funções, sintaxe e uso geral desta linguagem. Não use esta tag se o PHP é usado circunstancialmente mas não tem relação com o problema da pergunta.

Drupal Answers

For Drupal developers and administrators.

Top tag 7: Version tags should be used only when strictly necessary, for questions that apply to a version only, and not to merely say “I am using Drupal 7 in my site.”


For Salesforce administrators, implementation experts, developers and anybody in-between.

Top tag apex: Questions relating to Apex, the native programming language for the platform. Use it for general questions on syntax, errors, constructs, and rules of use. Most questions should include a code *excerpt* to help answerers understand specifically what has gone wrong or why you need help.


For users of the Magento e-Commerce platform.

Top tag magento-1.9: Magento Community version 1.9

Database Administrators

For database professionals who wish to improve their database skills and learn from others in the community.

Top tag sql-server: All versions of Microsoft SQL Server (not MySQL). Please also add a version-specific tag like sql-server-2016 if that is relevant to the question.

Software Engineering

For professionals, academics, and students working within the systems development life cycle.

Top tag java: Java is a high-level, platform-independent, object-oriented programming language originally developed by Sun Microsystems. Java is currently owned by Oracle, which purchased Sun in 2010.

Code Review

For peer programmer code reviews.

Top tag java: Java (not to be confused with JavaScript) is a class-based, object-oriented, strongly typed, reflective language and run-time environment (JRE). Java programs are compiled to bytecode and run in a virtual machine (JVM) enabling a “write once, run anywhere” (WORA) methodology.

Android Enthusiasts

For enthusiasts and power users of the Android operating system.

Top tag applications: For questions about Android apps in general. (If possible, use a specific application’s tag instead.) Note that Development is off-topic here.)


For users of Wolfram Mathematica.

Top tag plotting: Questions on creating visualizations from functions or data using high-level constructors such as Plot, ListPlot, Histogram, etc.

Science Fiction & Fantasy

For science fiction and fantasy enthusiasts.

Top tag story-identification: Use for help identifying a story and/or its creator(s), including novels, movies, comic books, entire TV series, etc. Use with another tag to specify which type of media, eg. [short-stories]. For identifying a single episode of a known series, whether TV, film, book, or comic, use [episode-identification].

Information Security

For information security professionals.

Top tag encryption: Encryption is the process of transforming plaintext using a cipher to make it unreadable to anyone except those possessing the key.

English Language Learners

For speakers of other languages learning English.

Top tag meaning: This tag is for questions which a dictionary cannot answer about what a word means. If the question is about the meaning of a word that can’t be understood outside its phrase or sentence, the “meaning-in-context” tag should be also used; for the meaning of a phrase, use the “phrase-meaning” tag instead.

Game Development

For professional and independent game developers.

Top tag unity: Unity is a cross-platform game creation system that focuses on easy art pipeline process. It consists of a game engine and an integrated development environment. The game engine’s scripting is built on Mono.

Home Improvement

For contractors and serious DIYers.

Top tag electrical: Distribution and use of electricity throughout the home. Electrical standards vary greatly worldwide, so providing your location in your question or your profile helps ensure you get answers that are relevant to you. Posting photographs of wiring junctions or drawing a wiring diagram and posting it is also highly recommended.


For people who use Blender to create 3D graphics, animations, or games.

Top tag python: Python is an object-oriented programming language. In Blender, it is used as a general purpose scripting language and to create add-ons to extend Blender’s functionality.


For pro webmasters.

Top tag seo: Search Engine Optimization (SEO) is the process of improving the visibility of web content in search engines using an understanding of search engines’ processes and algorithms. Also known as “natural” or “organic” search, it is distinct from paid web advertising.

Stack Overflow en español

For programadores y profesionales de la informática.

Top tag java: Java (no se debe confundir con JavaScript) es un lenguaje de programación de propósito general que soporta programación orientada a objetos. Para correr depende de una Máquina Virtual de Java (JVM). La Plataforma de Java es el nombre de un conjunto de herramientas para desarrollar y ejecutar programas de Java. Use esta etiqueta para preguntas referentes al lenguaje de programación Java o las herramientas de la plataforma de Java.


For road warriors and seasoned travelers.

Top tag visas: Token showing authorization to apply to enter the territory for which it was issued. Don’t forget to include your citizenship when asking!

User Experience

For user experience researchers and experts.

Top tag usability: The extent to which a product can be used by specified users to achieve specified goals with effectiveness, efficiency, and satisfaction in a specified context of use.

Mi Yodeya

For those who base their lives on Jewish law and tradition and anyone interested in learning more.

Top tag halacha: NOTE: Like Wikipedia, this site makes no guarantee of validity, and does not offer professional (particularly rabbinic) advice. Treat information from this site like it came from a crowd of your friends. // Jewish law. Specifically, the legal process beginning with the written Torah and continuing through the Mishna, Talmud, and the legal codes (e.g., Rambam, Tur, Shulchan Aruch).

Web Applications

For power users of web applications.

Top tag gmail: For questions about the Gmail service as accessed by a desktop or mobile browser. Questions about native smartphone apps are off-topic on Web Apps.


For scientists, academics, teachers and students.

Top tag organic-chemistry: Organic chemistry is the study of the structure and reactivity of organic molecules, typically containing carbon and hydrogen in addition to other elements. This tag should be applied to all questions relating to organic molecules and their properties (structure of organic molecules, spectroscopic properties, reaction mechanisms, stereochemistry etc), along with other suitable tags to help narrow down the scope of the question.

Role-playing Games

For gamemasters and players of tabletop, paper-and-pencil role-playing games.

Top tag dnd-5e: Dungeons & Dragons 5th edition, by Wizards of the Coast. D&D 5e is a heroic fantasy RPG inspired by the mechanics and settings of all previous D&D editions. Previously code-named D&D Next.

Graphic Design

For Graphic Design professionals, students, and enthusiasts.

Top tag adobe-photoshop: Questions about Photoshop, Adobe’s graphics and photo editing program. Ask anything related to designing graphics with Photoshop.

Computer Science

For students, researchers and practitioners of computer science.

Top tag algorithms: Questions related to design and analysis of algorithms


For academics and those enrolled in higher education.

Top tag publications: Questions related to academic publications including online and traditional journals, books, and conference proceedings.


For professional, enthusiast and amateur photographers.

Top tag lens: A photographic lens is used to focus the light onto film or a digital sensor. Many cameras have interchangeable lens systems, allowing the photographer to choose the type of lens to use.

Personal Finance & Money

For people who want to be financially literate.

Top tag united-states: For questions that relate to the laws, practices, and products of the United States.

Raspberry Pi

For users and developers of hardware and software for Raspberry Pi.

Top tag raspbian: Raspbian is a GNU/Linux operating system derived from Debian. Version numbering follows that of Debian and the current stable is 8 (Jessie). Raspbian is the most widely used Pi based distro and the one recommended by the Foundation, who distribute their own images of it.

Seasoned Advice

For professional and amateur chefs.

Top tag baking: Questions about cooking by dry heat without direct exposure to a flame, typically in an oven.

Movies & TV

For movie and tv enthusiasts.

Top tag plot-explanation: Seeking to understand a story plot better, or to clear up confusion about certain aspects or plot points.


For biology researchers, academics, and students.

Top tag human-biology: This tag is for questions about the general biological features of human beings (as opposed to the biology of non-humans).

The Workplace

For members of the workforce navigating the professional setting.

Top tag professionalism: Questions referring to how one presents themselves and interacts with others in a professional environment


For Bitcoin crypto-currency enthusiasts.

Top tag transactions: Transactions are signed messages regarding the transfer or generation of bitcoins. They are broadcasted through the network and, if accepted, integrated in the blockchain.


For software developers, mathematicians and others interested in cryptography.

Top tag encryption: Encryption is the process of transforming plaintext using a cipher into ciphertext to make it unreadable to anyone except those possessing the key. Decryption is the process of transforming that ciphertext back into plaintext, using the key.

Motor Vehicle Maintenance & Repair

For mechanics and DIY enthusiast owners of cars, trucks, and motorcycles.

Top tag engine: Internal Combustion Engine. Most engines in road going vehicles are 4-cycle internal combustion gasoline engines.

Japanese Language

For students, teachers, and linguists wanting to discuss the finer points of the Japanese language.

Top tag grammar: 文法. A collective term for syntax (the way sentences are put together) and morphology (forms of words, including the way new words are put together). Often used to describe function words such as particles, to describe word endings, and to talk about general sentence structure.

Software Recommendations

For people seeking specific software recommendations.

Top tag windows: Software to run on the Microsoft Windows family of operating systems.

Signal Processing

For practitioners of the art and science of signal, image and video processing.

Top tag image-processing: In general, image processing is any form of signal processing for which the input is an image, such as a photograph or video frame.


For writers/artists using science, geography and culture to construct imaginary worlds and settings.

Top tag science-based: For questions that require answers based on hard science, not magic or pseudo-science, but do not require scientific citations. Consider, alternatively, the hard-science and reality-check tags. Avoid using this tag as the only tag on a question.

ExpressionEngine® Answers

For administrators, end users, developers and designers for ExpressionEngine® CMS.

Top tag expresso-store: Exp:resso Store is an e-commerce module. You can find more details about Store at


For プログラマーとプログラミングに熱心の人.

Top tag javascript: JavaScriptとは、プログラミング言語のひとつである。Javaと名前が似ているが、異なるプログラミング言語である。

Русский язык

For лингвистов, этимологов, и энтузиастов русского языка.

Top tag пунктуация: Для вопросов, связанных со знаками препинания, а также пунктуационными правилами.


For developers of open-source hardware and software that is compatible with Arduino.

Top tag arduino-uno: The Arduino Uno is the most common of the Arduino boards. It is based on the ATmega328P microcontroller.


For those using, extending or developing Emacs.

Top tag org-mode: is an Emacs major mode for keeping notes, maintaining TODO lists, planning projects, and authoring documents with a fast and effective plain-text system. Because Org mode is a vast subject area, other tags must accompany the `org-mode` tag.

Music: Practice & Theory

For musicians, students, and enthusiasts.

Top tag guitar: For questions about guitar playing in general. For questions specifically about electric guitars, see “electric-guitar”. For questions specifically about acoustic guitars with or without pickup systems, see “acoustic-guitar”.


For people who build and repair bicycles, people who train cycling, or commute on bicycles.

Top tag road-bike: Bikes designed for road use only. Could be any road-only bike, but typically means bikes optimized for speed / racing / club rides with drop handlebars, narrow tires and a crouched-forward rider position.


For those who create, solve, and study puzzles.

Top tag riddle: A riddle gives indirect clues about an unnamed object or concept to be identified. It is often presented in the form of a poem.

Network Engineering

For network engineers.

Top tag cisco: Cisco is a major provider of networking equipment. Cisco devices often run IOS or NX-OS. This is a generic tag to be used when no more specific tags are available. See the partial list of tags in the full Tag Wiki.


For committed Christians, experts in Christianity and those interested in learning more.

Top tag catholicism: The Catholic Church and its teachings and views on specific subjects.


For aircraft pilots, mechanics, and enthusiasts.

Top tag aircraft-design: Aircraft Design describes the different choices that aircraft designers (typically aerospace engineers) make to create an aircraft.

Quantitative Finance

For finance professionals and academics.

Top tag options: A contract that gives the owner the right, but not the obligation, to buy or sell a security at a fixed price in the future.

Theoretical Computer Science

For theoretical computer scientists and researchers in related fields.

Top tag cc.complexity-theory: P versus NP and other resource-bounded computation.

German Language

For speakers of German wanting to discuss the finer points of the language and translation.

Top tag meaning: Bedeutung – Questions on definitions and nuances of words, phrases or sentences.


For those interested in the study of the fundamental nature of knowledge, reality, and existence.

Top tag logic: Logic is the study of formal systems of reasoning, especially of the deductive variety. It is one of the few fundamental philosophical subdisciplines, along with metaphysics, ontology and aesthetics. Logic has taken on considerable importance in recent mathematical developments, and one of the concerns of [tag:philosophy-of-mathematics] involves the role, extent and conceptual architecture of various kinds of logical or formal axiomatic systems.

Board & Card Games

For people who like playing board games, designing board games or modifying the rules of existing board games.

Top tag magic-the-gathering: Magic: The Gathering is a collectible card game for 2 or more players, set in a variety of fantastical realms. The cards represent the player’s resources and available spells and their interactions lead to an often high paced battle of wits.

Sound Design

For sound engineers, producers, editors, and enthusiasts.

Top tag pro-tools: AVID produced DAW. Use this tag for general questions regarding Pro Tools.

Anime & Manga

For anime and manga fans.

Top tag naruto: Naruto is a shounen manga/anime by Masashi Kishimoto about the young ninja Uzumaki Naruto who strives to become the “Hokage”, the leader of his village.

Programming Puzzles & Code Golf

For programming puzzle enthusiasts and code golfers.

Top tag code-golf: Code-golf is a competition to solve a particular problem in the fewest bytes of source code. If you want to score by characters instead of bytes, please state this explicitly in the challenge. If source code length is not the primary scoring criterion, consider using another tag instead.


For scientific skepticism.

Top tag medical-science: Use this tag for questions about the science of medicine and its practices. Use [medications] for questions about the actual cures that people take, and use [alternative-medicine] for claims about cures and practices which are claimed to be alternative to official medical science

Gardening & Landscaping

For gardeners and landscapers.

Top tag identification: Use this tag for questions that ask “what is this thing?” Pictures are helpful, as are descriptive titles. When you get an answer, consider adding a further tag (for the flower, tree, beetle etc that has been identified) so that your question is cataloged correctly. If the question is about determining the cause of a plant problem (e.g. disease), the diagnosis tag is more appropriate.

Craft CMS

For administrators, end users, developers and designers for Craft CMS.

Top tag plugin-development: Questions having to do with constructing plugins.


For Muslims, experts in Islam, and those interested in learning more about Islam.

Top tag sharia: Sharia (Islamic Law) based on the teachings of the Qur’an and Sunnah.


For historians and history buffs.

Top tag united-states: The United States of America is a nation-state stretching across North America between Canada and Mexico, plus Alaska in the continent’s northwest, the mid-Pacific archipelago of Hawaii and several territories in the Pacific & Caribbean. Founded by European émigrés rebelling from British control in the 1700s, the US spread across the continent by conquest and land-purchase to become the most powerful country on the planet after the Cold War in the 1900s.

Physical Fitness

For physical fitness professionals, athletes, trainers, and those providing health-related needs.

Top tag running: Moving rapidly on foot. Questions are about proper running form, race preparation, measuring the benefits and avoiding the pitfalls of running.

Computational Science

For scientists using computers to solve scientific problems.

Top tag linear-algebra: Questions on the algorithmic/computational aspects of linear algebra, including the solution of linear systems, least squares problems, eigenproblems, and other such matters.


For administrators and users of the CiviCRM Constituent Relationship Management software.

Top tag wordpress: Questions specific to CiviCRM installed on WordPress.


For users of Ethereum, the decentralized application platform and smart contract enabled blockchain.

Top tag go-ethereum: Go Ethereum (short: Geth) is a Golang implementation of the Ethereum protocol.


For legal professionals, students, and others with experience or interest in law.

Top tag united-states: For questions specific to the United States as a whole, or that span multiple state jurisdictions.

Software Quality Assurance & Testing

For software quality control experts, automation engineers, and software testers.

Top tag automated-testing: Use for questions involving problems with automated tests. Relevant for designing test automation, debugging test automation, automation tooling questions, and questions about when it is appropriate to automate. Questions regarding specific tools should tag those tools as well.

French Language

For students, teachers, and linguists wanting to discuss the finer points of the French language.

Top tag grammaire: La grammaire est l’étude systématique des éléments constitutifs d’une langue.

Space Exploration

For spacecraft operators, scientists, engineers, and enthusiasts.

Top tag launch: Questions regarding the takeoff or the liftoff phase of the flight of a rocket and the set of activities required for preparation of the launch vehicle leading to it.

Data Science

For Data science professionals, Machine Learning specialists, and those interested in learning more about the field.

Top tag machine-learning: Methods and principles of building “computer systems that automatically improve with experience.”


For Tridion developers and administrators.

Top tag 2011: This tag is for questions specific to SDL Tridion 2011. Version tags should be used **only** when necessary to provide context to the question, and not to simply state that “you are using SDL Tridion 2011” unless that information is needed. A Service Pack and Hotfix Rollup was issued for this version in mid 2012.


For authors, editors, reviewers, professional writers, and aspiring writers.

Top tag fiction: Fiction is a form of prose writing that deals with at least partly artificial or imagined events and characters. This tag should be used for any questions relating to fiction, including fiction formatting and technique, fiction critiques, and the publishing of fiction.


For professional linguists and others with an interest in linguistic research and theory.

Top tag syntax: The study of the internal structure of expressions, especially between words and phrases, and the principles and processes that determine it. This includes words order, but also the grammatical relations that hold between words, as well as structural ambiguity, binding, reference, and similar issues. Common approaches are numerous phrase structure grammars (GPSG, HPSG, LFG, G&B, X-bar, Minimalism, …) and, on the other hand, dependency grammars.


For followers of the Hindu religion and those interested in learning more about Hinduism.

Top tag mythology: For questions about stories that are part of Hindu religious beliefs. Hindu mythology can be found throughout Hindu scriptures like the Vedas, Puranas, Ramayana, and Mahabharata.


For parents, grandparents, nannies and others with a parenting role.

Top tag toddler: Age specific questions from about 1 year to about 3 years. Younger: infant. Older: pre-schooler.

Video Production

For engineers, producers, editors, and enthusiasts spanning the fields of video, and media creation.

Top tag video: Video is the technology of electronically manipulating still images that represent motion.


For Joomla! administrators, users, developers and designers.

Top tag joomla-3.x: For question regarding Joomla 3.x of the Content Management System. This includes versions 3.0 up to 3.6


For professional and academic economists and analysts.

Top tag macroeconomics: Macroeconomics is a branch of economics dealing with the aggregate economy as a whole, rather than individual markets.


For dedicated home brewers and serious enthusiasts.

Top tag fermentation: The anaerobic process by which yeast convert sugars into alcohol and carbon dioxide.


For astronomers and astrophysicists.

Top tag star: Questions regarding large spheres of plasma undergoing fusion.

Cognitive Sciences

For practitioners, researchers, and students in cognitive science, psychology, neuroscience, and psychiatry.

Top tag cognitive-psychology: For questions focusing on the interaction of many internal mental processes. If your question involves only one of memory, attention, language, decision-making, or perception then use the associated specialized tag instead of cognitive-psychology.

elementary OS

For developers and users of elementary OS and applications.

Top tag release-loki: Questions specific to elementary OS 0.4, codenamed “Loki”. Loki is the current stable version of elementary OS.

Chinese Language

For students, teachers, and linguists wanting to discuss the finer points of the Chinese language.

Top tag translation: Questions on specific points regarding translating Chinese to/from another language. Do your own research first!


For people interested in governments, policies, and political processes.

Top tag united-states: The United States of America is a Constitutional Republic located primarily between the Pacific and Atlantic Oceans in the middle of North America. The United States is a federal representative democracy consisting of 50 individual states, each with their own semi-autonomous government. At the national level, the government consists of a bicameral legislature (the Senate and the House of Representatives), a President, and independent Supreme Court.

Biblical Hermeneutics

For professors, theologians, and those interested in exegetical analysis of biblical texts.

Top tag greek: Koiné (from κοινή, “common”) Greek was the form of post-classical Greek spoken and written in Hellenistic and Roman antiquity. It is the language of the Septuagint (LXX), Christian New Testament, and most early Christian theological writings.

Vi and Vim

For people using the vi and Vim families of text editors.

Top tag vimrc: Vim reads initialization commands from a file called vimrc on startup. This can be used to set settings, define functions, execute autocommands, and more.

Spanish Language

For students, teachers, and linguists wanting to discuss the finer points of the Spanish language.

Top tag traducción: Preguntas sobre traducciones y adaptaciones de frases, palabras, términos y conceptos de otras idiomas al idioma español. Questions about translations or adaptations of sentences, words, terms and concepts from other languages into Spanish.


For professionals and students of engineering.

Top tag mechanical-engineering: Questions within the problem domain of mechanical engineering. Mechanical Engineering can be a broad field; consider choosing more specific tags if they apply.

Reverse Engineering

For researchers and developers who explore the principles of a system through analysis of its structure, function, and operation.

Top tag ida: Interactive Disassembler Professional (IDA Pro), a proprietary multi-platform disassembler by Hex-Rays.


For researchers, developers, and users of Tor.

Top tag tor-browser-bundle: The Tor Browser Bundle lets you use Tor without needing to install any software by pairing Firefox and Vidalia.


For medical specialists, students, dietitians, and anyone with health-related questions.

Top tag nutrition: Questions relating to the intake, safety, effects of nutrients, and their biochemical interactions with our body.


For pet owners, caretakers, breeders, veterinarians, and trainers.

Top tag cats: Small, furry (usually), domesticated members of the feline family.

Project Management

For project managers.

Top tag scrum: For questions about using or implementing the Scrum framework.


For people practicing or interested in Buddhist philosophy, teaching, and practice.

Top tag personal-practice: Questions containing or motivated by some aspect of personal experience. The experience can be during formal Buddhist practice or during everyday activity however the experience will be related to Buddhist practice or doctrine. The questions will necessarily have a subjective quality however the question or answers will contain references to Buddhist scripture, doctrine or an established teacher.

The Great Outdoors

For people who love outdoor activities, excursions, and outdoorsmanship.

Top tag gear: Whenever applicable use a more specific tag like backpack, shoes, stoves, tents, … Only questions that do not fit into such a tag and are related to any physical gear for engaging in those activities discussed in The Great Outdoors should use the equipment tag.

Open Data

For developers and researchers interested in open data.

Top tag data-request: Indicates a request for relevant open data sources. Please read for writing a good request.


For participants in team and individual sport activities.

Top tag rules: Questions about the rules of sports, including regulations for particular competitions or formats. Questions must also be tagged for the specific sport or competition.


For serious players and enthusiasts of chess.

Top tag opening: Questions relating to the first few moves in a game

Windows Phone

For enthusiasts and power users of Windows Phone OS.

Top tag 8.1: Questions relating to features introduced in Windows Phone 8.1


For professional robotic engineers, hobbyists, researchers and students.

Top tag arduino: Arduino is an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software. It’s intended for artists, designers, hobbyists, and anyone interested in creating interactive objects or environments.


For people living abroad on a long-term basis.

Top tag usa: Questions regarding emigrating from, immigrating to and living in the United States of America

Ask Patents

For people interested in improving and participating in the patent system.

Top tag patentability: For questions relating to the legal requirements necessary for applications to be granted a patent.
Please include a tag relating to the relevant type of intellectual property protection you are asking about. There are invention patents, design patents and utility models. For an explanation of the differences, read the full tag description.


For entrepreneurs faced with delivering a new product or service under conditions of significant uncertainty.

Top tag legal: Questions about legality related to the startup.

Earth Science

For those interested in the geology, meteorology, oceanography, and environmental sciences.

Top tag meteorology: Meteorology is the study of how the earth’s atmosphere works, including weather forecasting. Use this tag for questions about the earth’s weather. When asking questions specifically about the atmosphere, also include the [atmosphere] tag.

Russian Language

For students, teachers, and linguists wanting to discuss the finer points of the Russian language.

Top tag перевод: All questions about translation of words, phrases, idioms or collocations from English to Russian. Read the FAQ section about translations.

Personal Productivity

For people wanting to improve their personal productivity.

Top tag time-management: Questions regarding how to handle the use of time in one’s life.

Stack Apps

For apps, scripts, and development with the Stack Exchange API.

Top tag support: You need help with the use of the Stack Exchange API, apps built on the API, or assistance building scripts that work on Stack Exchange websites.


For developers and end users of the Sitecore CMS and multichannel marketing software.

Top tag xdb: For questions relating to the Sitecore Experience Database (xDB). If you’re using Sitecore 7.2 or earlier, use the `dms` tag instead.


For LEGO® and building block enthusiasts.

Top tag ev3: EV3 is the current generation of LEGO MINDSTORMS, released in 2013.

Genealogy & Family History

For expert genealogists and people interested in genealogy or family history.

Top tag united-states: For questions about ancestors and records in the USA. This includes previous political entities within the geographical boundaries of the present-day USA, such as the relevant European colonies. Also tag the state if the question is specific to that state.


For people looking to bypass life’s everyday problems with simple tricks.

Top tag cleaning: Tips and tricks relating to cleaning clothing, objects etc. quickly and easily. Please also use another applicable tag (e.g., [clothing], [kitchen], etc.), as THIS TAG IS AMBIGUOUS.

Mathematics Educators

For those involved in the field of teaching mathematics.

Top tag undergraduate-education: For questions about teaching students at the undergraduate (university) level.

Italian Language

For students, teachers, and linguists wanting to discuss the finer points of the Italian language.

Top tag word-usage: Questions about correctly using a word within a particular phrase or context


For professional and amateur woodworkers.

Top tag finishing: Finishing a woodworking project refers to the final steps to beautify and preserve it.

Amateur Radio

For amateur radio enthusiasts.

Top tag antenna: Questions about the design, selection, building, testing, mounting, or properties of antennas. See also specific tags: [antenna-theory], [antenna-construction], [dipole], etc.

Hardware Recommendations

For people seeking specific hardware recommendations.

Top tag laptop: Use this tag when requesting information about laptops or notebook computers. These devices have an integrated hardware keyboard and screen.


For developers and users of the secure, private and untraceable cryptocurrency Monero.

Top tag monero-wallet-cli: Name of official command line wallet available for Monero on Linux, Window and MacOS

History of Science and Mathematics

For people interested in the history and origins of science and mathematics.

Top tag mathematics: For questions about the quantitative study of topics such as numbers, structure, space, and change, carried out by investigating patterns.

Music Fans

For music historians, critics, and fans.

Top tag identify-this-song: For questions looking to identify a song. Be sure to include enough information (lyric snippets, a good quality sound clip, etc.) for someone to be able to identify it.

Open Source

For people organizing, marketing or licensing open source development projects.

Top tag licensing: Licensing refers to applying a license to an area of software. Only use this tag if your question concerns the application of a license to an area of interest. If your question concerns a specific license, use the tag that corresponds to your license. For more general questions, use this tag.


For self-employed and freelance workers.

Top tag contracts: Questions concerning contracts between a freelancer, agent and a client.

Latin Language

For linguists, teachers, and students wanting to discuss the finer points of the Latin language.

Top tag classical-latin: Questions concerning Latin of the classical era, approximately 75 BC to AD 300

Computer Graphics

For computer graphics researchers and programmers.

Top tag opengl: For questions involving use of the OpenGL graphics library.


For serious players and enthusiasts of poker.

Top tag texas-hold-em: Texas Hold’Em is a poker variant in which each player receives two cards (hole cards) that are dealt face down and then five community cards are dealt face-up by the dealer. All players may use their hole cards and the five community cards to make their best five-card poker high hand.

Martial Arts

For students and teachers of all martial arts.

Top tag training: The practice of martial arts. How, what, where, when, why.

Portuguese Language

For linguists, teachers and learners wanting to discuss the finer points of the Portuguese language.

Top tag significado: Para questões sobre o significado de uma palavra ou expressão, para saber o que quer dizer. For questions about the meaning of a word or expression, to know what things mean.

Sustainable Living

For folks dedicated to a lifestyle that can be maintained indefinitely without depleting available resources.

Top tag recycling: using materials that would otherwise be waste to manufacture new materials. For questions specifically on [upcycling] use that tag, for questions on [reuse] use that tag.


For ebook publishers and readers.

Top tag kindle: A brand of e-book readers and tablet devices produced by Amazon.

Esperanto Language

For teachers and students of the Esperanto language.

Top tag single-word-requests: Use this tag when you are searching for a word in order to express a specific meaning.

3D Printing

For 3D printing enthusiasts.

Top tag filament: For questions related to different filaments used as the print material.


For scholars and enthusiasts of literature.

Top tag symbolism: For questions concerning symbolic features in a work of literature.


For enthusiasts and scholars of mythology.

Top tag greek: For questions about Greek mythology and legends, from ancient Greece to the present day.


For vintage-computer hobbyists interested in restoring, preserving, and using the classic computer and gaming systems of yesteryear.

Top tag hardware: For questions about the components of retro devices (computers, etc.)


For people interested in all aspects of producing and consuming coffee.

Top tag brewing-process: Questions on the process of turning coffee beans into a beverage.

Artificial Intelligence

For people interested in conceptual questions about life and challenges in a world where “cognitive” functions can be mimicked in purely digital environment.

Top tag neural-networks: For questions about an artificial neural network (ANN), a network inspired by biological networks, which are used to estimate or approximate functions.

Beer, Wine & Spirits

For alcoholic beverage aficionados and those interested in beer, wine, or spirits.

Top tag taste: Questions about flavor and how it is influenced by various factors such as temperature and glassware.

Arts & Crafts

For artists and crafters.

Top tag drawing: For questions about the use of pens, pencils, chalk, etc. to create images or patterns on a 2-D surface.

Korean Language

For linguists, teachers and students of the Korean language.

Top tag grammar: Questions about the rules that govern and structure the language, and the composition of clauses, phrases and sentences. Also pertains to the syntax and morphology of the Korean language.

Ukrainian Language

For linguists, teachers and students of the Ukrainian language.

Top tag переклад: Для запитань про українські еквіваленти іншомовних слів // For questions about the Ukrainian equivalents of foreign-language words

Language Learning

For students, teachers, polyglots, and anyone interested in the techniques of second-language acquisition.

Top tag learning-methods: For questions about methods, techniques, and/or practices that assist in learning another language

Community Building

For community managers, administrators, and moderators.

Top tag user-behavior: Questions about user behavior, reactions to moderator decisions and other actions they take within the community.

Internet of Things

For users of everyday objects embedded with electronics to be sensed, monitored, and controlled remotely.

Top tag smart-home: For questions about any smart devices and services that help automate or remote control one’s home. Prominent examples are lights, home appliances, roller shutters and radiators.


For software engineers working on automated testing, continuous delivery, service integration and monitoring, and building SDLC infrastructure.

Top tag jenkins: For questions about Jenkins, an open source automation server, and using Jenkins for topics such as building, testing, and deploying software, etc. For questions specifically about Jenkins Plugins use the jenkins-plugins tag.


For those committed to a vegan or vegetarian lifestyle and anyone interested in learning more.

Top tag veganism: In addition to being vegetarian (do not eat meat, poultry, or fish), vegans do not consume or use any animal products (such as eggs, milk, leather, honey, etc.)

35 categories of Stack Overflow comments

Google’s BigQuery dataset now includes Stack Overflow data dump, including the text of over 50 million comments posted on the site. What do these comments say? I picked the most frequent ones and grouped them by topic. The counts are an underestimate: there is only so much time I was willing to spend organizing synonymous comments.

  1. Thank you” comments (128960 in total) are the most common by far. Typical forms: Thank you very/so much!, Thanks a lot :), Perfect, thanks! The popularity of the emoticon in the second version is attributable to the minimal length requirement for comments: they must contain at least 15 characters. The laziest way to pad the text is probably Thank you……
  2. You are welcome” (50090), presumably posted in response to group 1 comments. You’re welcome. You’re welcome! You’re welcome 🙂 Users need that punctuation or emoticon to reach 15 characters. Although those not contracting “you are” don’t have this problem.
  3. Updated answer” (30979) invites whoever raised objections about the previous version of the answer to read it again.
  4.  “What is your question?” (20830) is the most common type of critical comments toward questions.
  5. This is not an answer” (17306) is the most common criticism for answers; usually posted automatically by reviewers. Typical form: This does not provide an answer to the question. To critique or request clarification from an author, leave a comment below their post. Another one is for questions posted in the answer box: If you have a new question, please ask it by clicking the Ask Question button. Include a link to this question if it helps provide context.
  6. What error are you getting?” (13439) is a request for debugging information.
  7. What have you tried?” (12640) often comes with the link and is a sufficiently notorious kind of comments that Stack Overflow software deletes them if anyone “flags” the comment. And it’s easy to cast flags automatically, so I substantially reduced the number of such comments since this data dump was uploaded. Further context: Should Stack Overflow (and Stack Exchange in general) be awarding “A”s for Effort?
  8. Post your code” (11486) can sometimes be a form of “what have you tried”; in other times it’s a logical response to someone posting an error message without the code producing it. Can you post your code? Post your code. Please post your code. Show your code. Where is your code? And so on.
  9. It does not work” (9674) — either the question author, or someone else with the same issue did not benefit from the solution. Maybe it’s wrong, maybe they used it wrong.
  10. This is a link-only answer” (9501) usually comes from reviewers in the standard form While this link may answer the question, it is better to include the essential parts of the answer here and provide the link for reference. Link-only answers can become invalid if the linked page changes.
  11. I updated the question” (8060), presumably in response to critical comments.
  12. Why the downvote(s)?” (6005) is asking whoever voted down the post to explain their position. Usually fruitless; if the voter wanted to say something, they would already.
  13. This is a duplicate question” (3859) is inserted automatically when someone moves for a question to be marked as a duplicate. Such comments are normally deleted automatically when the required number of close-votes is reached; but some remain. The most common by far is possible duplicate of What is a Null Pointer Exception, and how do I fix it? 
  14. I edited your title” (3795) is directed at users who title their questions like “Java: How to read a CSV file?”, using a part of the title as a tag. Standard form: I have edited your title. Please see, “Should questions include “tags” in their titles?“, where the consensus is “no, they should not”.
  15. Post a MCVE” (3775) – the line on which the error is thrown is probably not enough to diagnose the problem; on the other hand, a wall of code with an entire program is too much. One of standard forms: Questions seeking debugging help (“why isn’t this code working?”) must include the desired behavior, a specific problem or error and the shortest code necessary to reproduce it in the question itself. Questions without a clear problem statement are not useful to other readers. See: How to create a Minimal, Complete, and Verifiable example.
  16. That is correct” (3158)  usually refers to a statement made in another comment.
  17. It works” (3109) is the counterpart of group 9 above. Often used with “like a charm” but do charms actually work?
  18. What do you mean?” (2998) – for when an exchange in comments leads to more confusion.
  19. What tool are you using?” (2649) indicates that the question author forgot to specify either the language, OS, or the DBMS they are using.
  20. Good answer” (2607) – various forms of praise, This should be the accepted answer. This is the correct answer. Excellent answer! The first form additionally indicates that the question author did not pick the best answer as “accepted”.
  21. This question is off-topic” (2377) is a template for close votes with a custom explanation. For some years Stack Overflow used This question appears to be off-topic because… but then switched to the more assertive I’m voting to close this question as off-topic because…
  22. This is a low quality answer” (2003) is a response to answers that contain nothing but code, perhaps preceded by “try this”. Example: While this code snippet may solve the question, including an explanation really helps to improve the quality of your post. Remember that you are answering the question for readers in the future, and those people might not know the reasons for your code suggestion.
  23. Is this homework?” (1995) is not a particularly fruitful type of comments.
  24. Does this work?” (1916) is meant to obtain some response from question asker who has not yet acknowledged the answer.
  25. The link is dead” (1250) is a major reason why group 10 comments exist.
  26. . . .” (1117) and nothing but the link. Directs to one of Help Center articles such as “How to ask”. Maybe there should also be “How to Comment”
  27. Thanks are discouraged” (1046) … so all those group 1 comments aren’t meant to be. But this is mostly about posts rather than comments. Unlike forum sites, we don’t use “Thanks”, or “Any help appreciated”, or signatures on Stack Overflow. See “Should ‘Hi’, ‘thanks,’ taglines, and salutations be removed from posts?.
  28. Format your code” (967) – yes, please. Select the code block and press Ctrl-K. Thanks in advance. Oops, forgot about the previous group.
  29. What doesn’t work?” (926) is a response to vague comments of group 9.
  30. Don’t use mysql_* functions” (693) or Russian hackers will pwn your site. Comes with a link-rich explanation: Please, don’t use `mysql_*` functions in new code. They are no longer maintained and are officially deprecated. See the red box? Learn about prepared statements instead, and use PDO or MySQLithis article will help you decide which. If you choose PDO, here is a good tutorial.
  31. Add tags” (625) often comes up in the context of database questions. Which RDBMS is this for? Please add a tag to specify whether you’re using `mysql`, `postgresql`, `sql-server`, `oracle` or `db2` – or something else entirely.
  32. Improve title” (585) is like group 14, but invites the user to edit the title instead of doing it for them.
  33. Use modern JOIN syntax” (301) bemoans obsolete ways of dealing with databases. Bad habits to kick : using old-style JOINs – that old-style *comma-separated list of tables* style was replaced with the *proper* ANSI `JOIN` syntax in the ANSI-92 SQL Standard (more than 20 years ago) and its use is discouraged.
  34. More SQL woes” (272) is another template: Side note: you should not use the `sp_` prefix for your stored procedures. Microsoft has reserved that prefix for its own use (see *Naming Stored Procedures*, and you do run the risk of a name clash sometime in the future. It’s also bad for your stored procedure performance. It’s best to just simply avoid `sp_` and use something else as a prefix – or no prefix at all!
  35. I have the same problem” (241) is a kind of comments that really should not exist.

String matching in Google Sheets /Docs /Apps Script

Here I summarize various ways of matching string patterns in selected Google products: Sheets, Docs, and Apps Script. They are ordered from least to most powerful.

  1. String comparison in Sheets, =if(A1 = "cat", "is", "is not") Perhaps surprisingly, this is not literal comparison, but case-insensitive match: the condition also holds true if A1 has “Cat” or “CAT”. This makes one wonder how to actually test strings for equality; I’ll return to this later.
  2. Substring search: find (case sensitive) and search (case-insensitive).
    Example: =find("Cat", A1)
  3. Wildcards in Sheets functions like countif and sumif: ? matches any single character, * matches any number of any characters.
    Example: =countif(A1:A9, "a?b*")
  4. like comparison in query, the Sheets function using the Google Visualization API Query Language. This is similar to the previous: underscore _ matches any single character, percentage symbol % any number of any characters.
    Example: =query(A1:B9, "select A where B like 'a_b%'").
  5. findText method of objects of class Text in Apps Script, extending Google Docs. Documentation says “A subset of the JavaScript regular expression features are not fully supported, such as capture groups and mode modifiers.” In particular, it does not support lookarounds.
    var body = DocumentApp.getActiveDocument().getBody().editAsText();
    var found = body.findText("ar{3,}gh").getElement().asText().getText();

    Yeah… I find Google Docs API clumsy, verbose and generally frustrating; unlike Google Sheets API.
  6. regexmatch function in Sheets and its relatives regexextract and regexreplace. Uses RE2 regex library, which is performance-oriented but somewhat limited, for example it does not support lookarounds. It does support capture groups.
    Example: =regexmatch(A1, "^h[ao]t+\b")
  7. matches comparison in query, the Sheets function using the Google Visualization API Query Language. Supports regular expressions (matching an entire string), including lookaheads but apparently not lookbehinds. Not clear what exactly is supported.
    Example: =query(A1:B9, "select A where B matches 'a.b(?!c).*'").
  8. JavaScript regular expression methods are supported in Apps Script… to the extent that they are supported in whatever version of Rhino JavaScript engine that GAS runs on. For example, non-capturing groups are broken and won’t be fixed. Be sure to test your regexes in Apps Script itself, not in a regular JS environment.

So what about the literal, case-sensitive string comparison in Google Sheets? Apparently, the way to do it is to use regexmatch… Example: =regexmatch(A1, "^cat$") returns True when A1 contains “cat” in lower case.

Maintaining restyled Google Calendar

RESTYLEgc is a pretty old (2008-11) MIT-licensed project by Brian Gibson, which enables, among other things, replacing the default stylesheet of embedded Google Calendar with a custom one.

Due to various changes on Google’s side made since 2011, the version available from Google Code link above no longer works. So I put up a GitHub repo with slightly modified files; only the two PHP scripts and the CSS file are included, the optional resources are not. (February 2017 update: a JS file is added.)

Keeping up with the changes in Google URL structure

Line 120 of restylegc.php changed from

$url = "" . $_SERVER['QUERY_STRING'];


$url = "" . $_SERVER['QUERY_STRING'];

Line 19 of restylegc-js.php changed from

$url = "" . $_SERVER['QUERY_STRING'];


$url = "https:" . $_SERVER['QUERY_STRING'];

Line 42 of restylegc-js.php changed from

$replacement = '"';


$replacement = '"';

February 2017 update

Google changed the link to the JavaScript file that runs the calendar; it is no longer a direct link to a .js file. (This resulted in the iframe erroring out with “window._init is not a function” and such; the function was defined in the JS file that failed to load.)

To correct the issue, I did the following:

Lines 137-138 of restylegc.php changed from

$pattern = '/src="(.*js)"/';
$replacement = 'src="restylegc-js.php?$1"';


$pattern = '/javascript" src="(\/calendar\S*)"/';
$replacement = 'javascript" src="restylegc-js.php?$1"';

Uncommented line 29 of restylegc-js.php, changing it from

//$url = "http://myserver.tld/path/to/archive/e0437df6468589031e718f3606b03917embedcompiled__en.js";


$url = "gcal.js";

Downloaded the JavaScript file used by the calendar, so that it’s served locally. (This is the gcal.js file referred to above.)

The rest of the post describes cosmetic changes made in the GitHub repo, which are not required for the calendar to work.

Better wrapping of text in narrow calendars

Line 1181 of restylegc.css (rules for .agenda .event-summary, .agenda .event-summary-expanded) changed




Line 1263 of restylegc.css (rules for .agenda .event-summary-expanded) changed




Also (line 1323) added


to the rule

.ie6 .agenda .event-title

although in 2015, IE6 isn’t quite as big a deal anymore.