# encoding: utf-8
require 'metadata/title_guesser'

module Metadata
module PublicationGuesser
extend self

  module Topics
    SCIENCE = "Science"
    ASTRO = "Astronomy"
    ASTROPHYS = "Astrophysics"
    BIOLOGY = "Biology"
      AGRICULTURE = "Agriculture"
      ANATOMY = "Anatomy"
      BIOCHEM = "Biochemistry"
      BIOPHYSICS = "Biophysics"
      BIOINFO = "Bioinformatics"
      NEUROSCI = "Neuroscience"
      VIROLOGY = "Virology"
    CHEMISTRY = "Chemistry"
    CS = "Computer Science"
      FP = "Functional Programming"
      ML = "Machine Learning"
      CHI = "Computer-Human Interaction"
      GFX = "Computer Graphics"
      ALG = "Algorithms"
      TOC = "Theory of Computation"
      DM = "Data Management"
      PL = "Programming Languages"
      AI = "Artificial Intelligence"
      COMPLING = "Computational Linguistics"
      COMPVIS = "Computer Vision"
      SIGNAL_PROCESSING = "Signal Processing"
      CHEMINFO = "Cheminformatics"
      MULTIMEDIA = "Multimedia"
      CRYPTO = "Cryptology"
      ONLINE_ENG = "Online Engineering"
      SYMBCOMP = "Symbolic Computation"
      SOFTSYS = "Software systems"
      WEB = "Web information systems"
      COMPUTATIONAL_GEOMETRY = "Computational Geometry"
      ALGORITHMS_AND_THEORY_OF_COMPUTATION = TOC
      ARTIFICIAL_INTELLIGENCE = AI
      AUTOMATA_AND_FORMAL_LANGUAGE_THEORY = "Automata Theory"
      BIOINFORMATICS_AND_COMPUTATIONAL_BIOLOGY = "Bioinformatics"
      GRAPHICS = GFX
      COMPUTER_NETWORKING = "Computer Networking"
      COMPUTER_VISION = COMPVIS
      COMPUTER_SCIENCE_EDUCATION = "Computer Science Education"
      DATABASES = "Databases"
      INFORMATION_RETRIEVAL_AND_DATA_MINING = "Information Retrieval"
      DISTRIBUTED_AND_PARALLEL_COMPUTING = "Distributed Computing"
      HARDWARE_AND_ARCHITECTURE = "Computer Architecture"
      HUMAN_COMPUTER_INTERACTION = CHI
      MACHINE_LEARNING_AND_PATTERN_RECOGNITION = "Machine Learning"
      OPERATING_NETWORKED_AND_STORAGE_SYSTEMS = "Operating System"
      PROGRAMMING_LANGUAGES = PL
      REAL_TIME_AND_EMBEDDED_SYSTEMS = "Embedded Systems"
      SECURITY_AND_PRIVACY = "Security"
      SCIENTIFIC_COMPUTING = "Scientific Computing"
      SOFTWARE_ENGINEERING = "Software Engineering"
      WIRELESS_SENSOR_NETWORKS = "Wireless Sensor Networks"

    ENG = "Engineering"
      BIOMED = "Biomedical Engineering"
      CHEMENG = "Chemical Engineering"
      ENVENG = "Environmental Engineering"
      ELEENG = "Electrical Engineering"
      HYDENG = "Hydrologic Engineering"
    GEOPHYS = "Geophysics"
      EARTHSCI = "Earth Science"
      HYDROLOGY = "Hydrology"
      GEOCHEM = "Geochemistry"
      MINERALOGY = "Mineralogy"
      GEOLOGY = "Geology"
      OCEANOGRAPHY = "Oceanography"
      GLACIOLOGY = "Glaciology"
      ATMOSPHERE = "Atmospheric Science"
    MATH = "Mathematics"
    MEDICINE = "Medicine"
      ALLERGY = "Allergy"
      ANESTHESIOLOGY = "Anesthesiology"
      PHARSCI = "Pharmaceutical Sciences"
      PSYCHIATRY = "Psychiatry"
      TOXICOLOGY = "Toxicology"
    PHYSICS = "Physics"
      ACOUSTICS = "Acoustics"
      PLASMA = "Plasma Physics"
      MEASUREMENT = "Measurement"
      NUCLEAR = "Nuclear Physics"
      OPTICS = "Optics"
      MATERIALS = "Materials Science"
      LOWTEMP = "Low Temperature Physics"
      CHEMPHYS = "Chemical Physics"
      SOFTMATPHYS = "Soft Matter Physics"
      MEDPHYS = "Medical Physics"
      BIOPHYS = "Biological Physics"
      STATPHYS = "Statistical Physics"
      THEOPHYS = "Theoretical Physics"
    STATISTICS = "Statistics"

    # Humanities
    ARCHAEOLOGY = "Archaeology"
    ART_HISTORY = "Art History"
    DEVELOPMENT_STUDIES = "Development Studies"
    LINGUISTICS = "Linguistics"
    LITERATURE = "Literature"
    ORIENTAL_STUDIES = "Oriental Studies"
    PHILOSOPHY = "Philosophy"
    ETHICS = "Ethics"
    SEMIOTICS = "Semiotics"
    THEOLOGY = "Theology"

    # Social sciences
    ANTHROPOLOGY = "Anthropology"
    AREA_STUDIES = "Area studies"
    SLAVIC_STUDIES = "Slavic studies"
    ECONOMICS = "Economics"
    EDUCATION = "Education"
    GEOGRAPHY = "Geography"
    HISTORY = "History"
    LAW = "Law"
    POLISCI = "Political science"
    PSYCHOLOGY = "Psychology"
    SOCIOLOGY = "Sociology"
  end

  JOURNALS = []

  # Science
  JOURNALS.push(*( [
    ["Philosophical Transactions of the Royal Society", []],
    ["Proceedings of the National Academy of Sciences", []],
    ["Proceedings of the Royal Society", []],
    [/Nature Publishing/, "Nature", []],
    [/Science.AAAS/, "Science", []]
  ].map{|a| a[-1] = [Topics::SCIENCE]+a[-1]; a }))

  # Astronomy
  JOURNALS.push(*( [
    ["Acta Astronomica", []],
    ["Advances in Space Research", []],
    ["Annual Review of Astronomy and Astrophysics", []],
    ["Annual Review of Earth and Planetary Sciences", []],
    ["Apeiron", []],
    ["Astronomical Journal", []],
    ["Astronomy & Astrophysics", []],
    ["Astroparticle Physics", []],
    ["Astrophysical Journal", []],
    ["Astrophysics and Space Science", []],
    ["Baltic Astronomy", []],
    ["Bulletin of the ASI", []],
    ["Bulletin of the Vilnius Astronomical Observatory", []],
    ["Chinese Astronomy", []],
    ["Icarus", []],
    ["Journal of Astrophysics & Astronomy", []],
    ["Journal of Cosmology and Astroparticle Physics", []],
    ["Monthly Notices of the Royal Astronomical Society", []],
    ["New Astronomy", []],
    ["New Astronomy Review", []],
    ["Publications of the Astronomical Society of Japan", []],
    ["Publications of the Astronomical Society of the Pacific", []],
    ["Revista Mexicana de Astronomia y Astrofisica", []],
    ["Space Journal", []],
    ["Vistas in Astronomy", []]
  ].map{|a| a[-1] = [Topics::ASTRO, Topics::ASTROPHYS]+a[-1]; a }))

  # Biology
  JOURNALS.push(*( [
    ["African Invertebrates", []],
    ["American Journal of Botany", []],
    ["American Midland Naturalist", []],
    ["American Naturalist", []],
    ["Annual Review of Ecology, Evolution, and Systematics", []],
    ["Annual Review of Genetics", []],
    ["Annual Review of Genomics and Human Genetics", []],
    ["Annual Review of Microbiology", []],
    ["Annual Review of Physiology", []],
    ["Annual Review of Plant Biology", []],
    ["BioEssays", []],
    ["Biological Reviews", []],
    ["Biology Letters", []],
    ["Biology of Reproduction", []],
    ["Biometrika", []],
    ["Bioscience", []],
    ["Biotropica", []],
    ["Canadian Journal of Forest Research", []],
    ["Cell", []],
    ["Central European Journal of Biology", []],
    ["Disease Models & Mechanisms", []],
    ["Ecological Applications", []],
    ["Ecological Monographs", []],
    ["Ecology", []],
    ["Ecology Letters", []],
    ["Emu", []],
    ["European Journal of Human Genetics", []],
    ["Evolution", []],
    ["Evolution and Development", []],
    ["Evolutionary Ecology", []],
    ["Evolutionary Ecology Research", []],
    ["Faseb Journal", []],
    ["Forest Ecology and Management", []],
    ["Functional Ecology", []],
    ["Genetica", []],
    ["Genetics", []],
    ["Genome Biology", []],
    ["Genome Research", []],
    ["Heredity", []],
    ["International Journal of Biological Sciences", []],
    ["International Journal of Biometeorology", []],
    ["Journal of Applied Ecology", []],
    ["Journal of Animal Ecology", []],
    ["Journal of Ecology", []],
    ["Journal of Evolutionary Biology", []],
    ["Journal of Experimental Biology", []],
    ["Journal of Herpetology", []],
    ["Journal of Mammology", []],
    ["Journal of Molluscan Studies", []],
    ["Journal of Natural History", []],
    ["Journal of Theoretical Biology", []],
    ["Journal of Zoology", []],
    ["Molecular Biology", []],
    ["Molecular Biology and Evolution", []],
    ["Molecular Phylogenetics and Evolution", []],
    ["Molecular Systems Biology", []],
    ["Nature Protocols", []],
    ["Nature Reviews Cancer", []],
    ["Nature Reviews Drug Discovery", []],
    ["Nature Reviews Genetics", []],
    ["Nature Reviews Immunology", []],
    ["Nature Reviews Microbiology", []],
    ["Nature Reviews Molecular Cell Biology", []],
    ["Oecologia", []],
    ["Oikos", []],
    ["Phytochemistry", []],
    ["Plant Physiology", []],
    ["PLoS Biology", []],
    ["Quarterly Review of Biology", []],
    ["Rejuvenation Research", []],
    ["Theoretical Biology and Medical Modelling", []],
    ["Theoretical Population Biology", []],
    ["Trends in Cell Biology", []],
    ["Trends in Ecology and Evolution", []],
    ["Trends in Genetics", []],
    ["Wetlands", []]
  ].map{|a| a[-1] = [Topics::BIOLOGY]+a[-1]; a }))
  # Agriculture
  JOURNALS.push(*( [
    ["Animal Production", []],
    ["Annales de Zootechnie", []],
    ["Applied Animal Behavioral Science", []],
    ["Crop Science", []],
    ["Domestic Animal Endocrinology", []],
    ["Genetic Selection Evolution", []],
    ["Journal of Animal Science", []],
    ["Journal Dairy Research", []],
    ["Journal of Dairy Science", []],
    ["Journal of Food Science", []],
    ["Livestock Production Science", []],
    ["Livestock Science", []],
    ["Poultry Science", []],
    ["Worlds Poultry Science Journal", []]
  ].map{|a| a[-1] = [Topics::BIOLOGY, Topics::AGRICULTURE]+a[-1]; a }))
  # Anatomy
  JOURNALS.push(*( [
    ["Advances in Anatomy, Embryology and Cell Biology", []],
    ["American Journal of Anatomy", []],
    ["Anatomical Record", []],
    ["Anatomy and Embryology", []],
    ["Applied Immunohistochemistry & Molecular Morphology", []],
    ["Cells Tissues Organs", []],
    ["Developmental Dynamics", []],
    ["Journal of Anatomy", []],
    ["Journal of Craniofacial Genetics and Developmental Biology", []],
    ["Journal of Morphology", []],
    ["Journal of Pineal Research", []],
    ["Microscopy Research and Technique", []],
    ["Virchows Archiv - A", []],
    ["Zoomorphology", []]
  ].map{|a| a[-1] = [Topics::BIOLOGY, Topics::ANATOMY]+a[-1]; a }))
  # Biochemistry
  JOURNALS.push(*( [
    ["Annual Review of Biochemistry", []],
    ["Biochemica et Biophysica Acta", []],
    ["Biochemical and Biophysical Research Communications", []],
    ["Biochemical Journal", []],
    ["Biochemical Society Transactions", []],
    ["Biochemistry", []],
    ["Biotechnology and Applied Biochemistry", []],
    ["FEBS Journal", []],
    ["FEBS Letters", []],
    ["Journal of Biochemistry", []],
    ["Journal of Biological Chemistry", []],
    ["Methods in Enzymology", []],
    ["Molecular and Cellular Biochemistry", []],
    ["Nucleic Acids Research", []],
    ["Trends in Biochemistry", []]
  ].map{|a| a[-1] = [Topics::BIOLOGY, Topics::BIOCHEM]+a[-1]; a }))
  # Bioinformatics
  JOURNALS.push(*( [
    ["Applied Bioinformatics", []],
    ["BMC Bioinformatics", []],
    ["Briefings in Bioinformatics", []],
    ["Cancer Informatics", []],
    ["Evolutionary Bioinformatics", []]
  ].map{|a| a[-1] = [Topics::BIOLOGY, Topics::BIOINFO]+a[-1]; a }))
  # Biophysics
  JOURNALS.push(*( [
    ["Annual Review of Biophysics and Biomolecular Structure", []],
    ["Biochemica et Biophysica Acta", []],
    ["Biophysical Journal", []],
    ["FEBS Letters", []],
    ["Journal of Structural Biology", []],
    ["Neurosignals", []],
    ["Progress in Biophysics & Molecular Biology", []],
    ["Quarterly Reviews in Biophysics", []],
    ["Structure", []]
  ].map{|a| a[-1] = [Topics::BIOLOGY, Topics::BIOPHYSICS]+a[-1]; a }))
  # Neuroscience
  JOURNALS.push(*( [
    ["Genes, Brain and Behavior", []],
    ["Nature Reviews Neuroscience", []],
    ["Neurogenetics", []],
    ["Neuron", []],
  ].map{|a| a[-1] = [Topics::BIOLOGY, Topics::NEUROSCI]+a[-1]; a }))
  # Virology
  JOURNALS.push(*( [
    ["Acta Virologica", []],
    ["Advances in Virus Research", []],
    ["AIDS", []],
    ["AIDS Care", []],
    ["AIDS Research and Human Retroviruses", []],
    ["Antiviral Chemistry & Chemotherapy", []],
    ["Antiviral Research", []],
    ["Antiviral Therapy", []],
    ["Archives of Virology", []],
    ["Herpes", []],
    ["International Journal of STD and AIDS", []],
    ["Intervirology", []],
    ["Journal of Acquired Immune Deficiency Syndromes", []],
    ["Journal of Clinical Virology", []],
    ["Journal of General Virology", []],
    ["Journal of Human Virology", []],
    ["Journal of Medical Virology", []],
    ["Journal of Neurovirology", []],
    ["Journal of Viral Hepatitis", []],
    ["Journal of Virology", []],
    ["Journal of Virological Methods", []],
    ["Monographs in Virology", []],
    ["Papillomavirus Report", []],
    ["Retrovirology", []],
    ["Reviews in Medical Virology", []],
    ["Topics in HIV Medicine", []],
    ["Viral Hepatitis", []],
    ["Viral Immunology", []],
    ["Virology", []],
    ["Virology Journal", []],
    ["Virus Genes", []],
    ["Virus Research", []]
  ].map{|a| a[-1] = [Topics::BIOLOGY, Topics::VIROLOGY]+a[-1]; a }))


  # Chemistry
  JOURNALS.push(*( [
    ["Accounts of Chemical Research", []],
    ["Acta Chemica Scandinavica", []],
    ["Acta Crystallographica, Section E, Structure Reports online", []],
    ["Advanced Functional Materials", []],
    ["Advanced Synthesis and Catalysis", []],
    ["Advances in Catalysis", []],
    ["Advances in Organometallic Chemistry", []],
    ["Aldrichimica Acta", []],
    ["The Analyst", []],
    ["Analytical and Bioanalytical Chemistry", []],
    ["Analytical Biochemistry", []],
    ["Analytical Chemistry", []],
    ["Angewandte Chemie International Edition", []],
    ["Annual Reports Section A of the Royal Society of Chemistry", []],
    ["Annual Reports Section B of the Royal Society of Chemistry", []],
    ["Annual Reports Section C of the Royal Society of Chemistry", []],
    ["Annual Review of Physical Chemistry", []],
    ["Applied Organometallic Chemistry", []],
    ["Applied Spectroscopy", []],
    ["Arkivoc", []],
    ["Australian Journal of Chemistry", []],
    ["Australian Journal of Education in Chemistry", []],
    ["Beilstein Journal of Organic Chemistry", []],
    ["Biochemical Journal", []],
    ["Bioconjugate Chemistry", []],
    ["Bioelectrochemistry", []],
    ["Biomacromolecules", []],
    ["Bioorganic and Medicinal Chemistry", []],
    ["Bioorganic and Medicinal Chemistry Letters", []],
    ["Bulletin of the Chemical Society of Japan", []],
    ["Canadian Journal of Chemistry", []],
    ["Catalysis Communications", []],
    ["Catalysis Reviews", []],
    ["Catalysts and Catalysed Reactions", []],
    ["Ceramics-Silikaty", []],
    ["ChemBioChem", []],
    ["Chemical Communications", []],
    ["Chemical Physics", []],
    ["Chemical Physics Letters", []],
    ["Chemical Reviews", []],
    ["Chemical Society Reviews", []],
    ["Chemische Berichte", []],
    ["Chemistry Education Research and Practice", []],
    ["Chemistry: A European Journal", []],
    ["Chemistry: An Asian Journal", []],
    ["Chemistry Letters", []],
    ["Chemistry of Materials", []],
    ["ChemMedChem", []],
    ["ChemPhysChem", []],
    ["Collection of Czechoslovak Chemical Communications", []],
    ["Comptes rendus Chimie", []],
    ["Computers and Chemistry", []],
    ["Coordination Chemistry Reviews", []],
    ["CrystEngComm", []],
    ["Chemistry & Biodiversity", []],
    ["Dalton Transactions", []],
    ["Education in Chemistry", []],
    ["Electrochemistry Communications", []],
    ["Electroanalysis", []],
    ["Electrochimica Acta", []],
    ["Environmental Chemistry", []],
    ["European Journal of Inorganic Chemistry", []],
    ["European Journal of Medicinal Chemistry", []],
    ["European Journal of Organic Chemistry", []],
    ["European Polymer Journal", []],
    ["Faraday Discussions", []],
    ["Faraday Transactions", []],
    ["Geochemical Transactions", []],
    ["Green Chemistry", []],
    ["Helvetica Chimica Acta", []],
    ["Inorganic and Nuclear Chemistry Letters", []],
    ["Inorganic Chemistry Communications", []],
    ["Inorganic Chemistry", []],
    ["Inorganica Chimica Acta", []],
    ["International Journal of Hydrogen Energy", []],
    ["International Journal of Molecular Sciences", []],
    ["International Journal of Quantum Chemistry", []],
    ["International Reviews in Physical Chemistry", []],
    ["Internet Electronic Journal of Molecular Design", []],
    ["Ion Exchange Letters", []],
    ["JAAS Journal of Analytical Atomic Spectrometry", []],
    ["Journal of Agricultural and Food Chemistry", []],
    ["Journal of the American Chemical Society", []],
    ["Journal of Applied Polymer Science", []],
    ["Journal of Biological Chemistry", []],
    ["Journal of Biological Inorganic Chemistry", []],
    ["Journal of the Brazilian Chemical Society", []],
    ["Journal of Catalysis", []],
    ["Journal of Chemical Education", []],
    ["Journal of Chemical Information and Modeling", []],
    ["Journal of Chemical Physics", []],
    ["Journal of Chemical Research", []],
    ["Journal of the Chemical Society", []],
    ["Journal of Chromatography, A", []],
    ["Journal of Cluster Science", []],
    ["Journal of Combinatorial Chemistry", []],
    ["Journal of Computational Chemistry", []],
    ["Journal of Electroanalytical Chemistry", []],
    ["Journal of the Electrochemical Society", []],
    ["Journal of Environmental Monitoring", []],
    ["Journal of Fluorescence", []],
    ["Journal of Inorganic and Nuclear Chemistry - see Polyhedron", []],
    ["Journal of Inorganic Biochemistry", []],
    ["Journal of Macromolecular Science, Part A Pure and Applied Chemistry", []],
    ["Journal of Macromolecular Science, Part C,Polymer Reviews", []],
    ["Journal of Materials Chemistry", []],
    ["Journal of Materials Research", []],
    ["Journal of Mathematical Chemistry", []],
    ["Journal of Molecular Structure", []],
    ["Journal of Molecular Structure: THEOCHEM", []],
    ["Journal of Medicinal Chemistry", []],
    ["Journal of Natural Products home)", []],
    ["Journal of Organic Chemistry", []],
    ["Journal of Organometallic Chemistry", []],
    ["Journal of Physical Chemistry A", []],
    ["Journal of Physical Chemistry B", []],
    ["Journal of Physical Chemistry C", []],
    ["Journal of Polymer Science Part A: Polymer Chemistry", []],
    ["Journal of Polymer Science Part B: Polymer Physics", []],
    ["Journal of Radioanalytical and Nuclear Chemistry", []],
    ["Journal of the Royal Institute of Chemistry", []],
    ["Lab on a Chip", []],
    ["Langmuir", []],
    ["Liebigs Annalen der Chemie", []],
    ["Macromolecules", []],
    ["Magnetic Resonance in Chemistry", []],
    ["Medicinal Research Reviews", []],
    ["Mendeleev Communications", []],
    ["Methods in Organic Synthesis", []],
    ["Molbank", []],
    ["Molecular BioSystems", []],
    ["Molecular Physics", []],
    ["Molecules", []],
    ["Nano Letters", []],
    ["Natural Product Reports", []],
    ["Nature Chemical Biology", []],
    ["Nature Materials", []],
    ["Nature Protocols", []],
    ["New Journal of Chemistry", []],
    ["Organic and Biomolecular Chemistry", []],
    ["Organic Letters", []],
    ["Organometallics", []],
    ["Outlooks on Pest Managemment journal home)", []],
    ["Perkin Transactions", []],
    ["Pesticide Outlook", []],
    ["Photochemical and Photobiological Sciences", []],
    ["Photochemistry and Photobiology", []],
    ["PhysChemComm", []],
    ["Physical Chemistry Chemical Physics", []],
    ["Polyhedron", []],
    ["Polymer", []],
    ["Proceedings of the Chemical Society", []],
    ["Progress in Inorganic Chemistry", []],
    ["Progress in Solid State Chemistry", []],
    ["Radiochimica acta", []],
    ["Radiochemistry", []],
    ["Russian Chemical Bulletin", []],
    ["Russian Chemical Reviews", []],
    ["Scientia Pharmaceutica", []],
    ["Separation and Purification Reviews", []],
    ["Separation and Purification Technology", []],
    ["Separation Science and Technology", []],
    ["Soft Matter", []],
    ["Solvent Extraction and Ion Exchange", []],
    ["Spectrochimica Acta", []],
    ["Spectrochimica Acta Part A: Molecular and Biomolecular Spectroscopy", []],
    ["Spectrochimica Acta Part B: Atomic Spectroscopy", []],
    ["Spectroscopy Letters", []],
    ["Surface Science", []],
    ["Surface Science Letters", []],
    ["Surface Science Reports", []],
    ["Synlett", []],
    ["Synthesis", []],
    ["Sensors and Actuators", []],
    ["Talanta", []],
    ["Tetrahedron", []],
    ["Tetrahedron Asymmetry", []],
    ["Tetrahedron Letters", []],
    ["Theoretical Chemistry Accounts", []],
    ["Zeitschrift für Physikalische Chemie", []]
  ].map{|a| a[-1] = [Topics::CHEMISTRY]+a[-1]; a }))

  # Computer science
  JOURNALS.push(*( [
    ["ACM Computing Reviews", []],
    ["ACM Transactions on Graphics", [Topics::GFX]],
    ["ACM Transactions on Multimedia Computing, Communications, and Applications", [Topics::MULTIMEDIA]],
    ["Archives and Museum Informatics", []],
    ["Artificial Intelligence", [Topics::AI]],
    ["Bell Labs Technical Journal", []],
    ["Communications of the ACM", []],
    ["Computational Linguistics", [Topics::COMPLING]],
    [/\bComputer\b.{0,10}IEEE/, "Computer", []],
    ["Computer Graphics", [Topics::GFX]],
    ["The Computer Journal", []],
    ["Computer Law and Security Report", []],
    ["EURASIP Journal on Advances in Signal Processing", [Topics::SIGNAL_PROCESSING]],
    ["Electronic Letters on Computer Vision and Image Analysis", [Topics::COMPVIS]],
    ["Electronic Notes in Theoretical Computer Science", [Topics::TOC]],
    ["Formal Aspects of Computing", []],
    ["HOOPLA", []],
    ["ICGA Journal", []],
    ["IEEE Annals of the History of Computing", []],
    ["IEEE MultiMedia", []],
    ["IEEE Software", []],
    ["IEEE Spectrum", []],
    ["IEEE Transactions on Computers", []],
    ["IEEE Transactions on Evolutionary Computation", []],
    ["IEEE Transactions on Pattern Analysis and Machine Intelligence", []],
    ["IEEE Transactions on Software Engineering", []],
    ["iJOE", [Topics::ONLINE_ENG]],
    ["INFOCOMP Journal of Computer Science", []],
    ["Innovations in Systems and Software Engineering", []],
    ["International Journal of Computational Cognition", []],
    ["International Journal of Critical Computer-Based Systems", []],
    ["JOT: Journal of Object Technology", []],
    ["Journal of the ACM", []],
    ["Journal of Artificial Intelligence Research", [Topics::AI]],
    ["Journal of Chemical Information and Modeling", [Topics::CHEMINFO]],
    ["Journal of Cryptology", [Topics::CRYPTO]],
    ["Journal of Functional Programming", [Topics::FP]],
    ["Journal of Information Technology & Politics", []],
    ["Journal of Machine Learning Research", [Topics::ML]],
    ["Journal of Multimedia", [Topics::MULTIMEDIA]],
    ["Journal of Statistical Software", [Topics::STATISTICS]],
    ["Journal of Symbolic Computation", [Topics::SYMBCOMP]],
    ["Journal of Systems and Software", [Topics::SOFTSYS]],
    ["Journal of Web Semantics", [Topics::WEB]],
    ["Kairos: a journal of rhetoric, technology, and pedagogy", []],
    [/\bLNCS|Lecture Notes in Computer Science\b/, "Lecture Notes in Computer Science", []],
    ["Logical Methods in Computer Science", []],
    ["Machine Learning", [Topics::ML]],
    ["Natural Computing", []],
    ["QSAR & Combinatorial Science", []],
    ["RISKS Digest", []],
    ["Russian IT Quarterly", []],
    ["SIAM Journal on Computing", []],
    ["Scientific Computing & Instrumentation", []],
    ["Software Engineering Notes", []],
    ["Software and Systems Modeling", []],
    ["Theoretical Computer Science", [Topics::TOC]],
    ["Theory of Computing", [Topics::TOC]]
  ].map{|a| a[-1] = []+a[-1]; a }))
  JOURNALS.push(*( [
    ["Computing Reviews", []],
    ["ACM Transactions on Computer-Human Interaction", [Topics::CHI]],
    ["CHI Letters", [Topics::CHI]],
    [/\bLNCS|Lecture Notes in Computer Science\b/, "Lecture Notes in Computer Science", []]
  ].map{|a| a[-1] = [Topics::CS]+a[-1]; a }))

  # Earth and atmospheric sciences
  JOURNALS.push(*( [
    ["Eos", []],
    ["Geophysical Research Letters", []],
    ["Nature Geoscience", []],
    ["Episodes", []],
    ["Geophysics", []],
    ["Journal of Geophysical Research", []],
    ["Reviews of Geophysics", []],
  ].map{|a| a[-1] = [Topics::GEOPHYS]+a[-1]; a }))
  # Earth Science
  JOURNALS.push(*( [
    ["Journal of Earth System Science", []],

    ["American Journal of Science", []],
    ["Canadian Journal of Earth Science", []],
    ["Earth and Planetary Science Letters", []],
    ["Earth in Space", []],
    ["Earth Interactions", []],
    ["Earth-Science Reviews", []],
    ["Global Environmental Change", []],
    ["International Journal of Remote Sensing", []]
  ].map{|a| a[-1] = [Topics::EARTHSCI]+a[-1]; a }))
  # Hydrology
  JOURNALS.push(*( [
    ["Advances in Water Resources", []],
    ["Journal of Hydrology", []],
    ["Water Resources Research", []],
  ].map{|a| a[-1] = [Topics::HYDROLOGY]+a[-1]; a }))
  # Geochemistry and Mineralogy
  JOURNALS.push(*( [
    ["American Mineralogist", []],
    ["Applied Geochemistry", []],
    ["Canadian Mineralogist", []],
    ["Chemical Geology", []],
    ["Clays and Clay Minerals", []],
    ["Geochemical Transactions", []],
    ["Geochimica et Cosmochimica Acta", []],
    ["Geomicrobiology Journal", []],
    ["Mineralogical Magazine", []],
    ["Organic Geochemistry", []],
    ["Physics and Chemistry of Minerals", []],
    ["Reviews in Mineralogy & Geochemistry", []],
  ].map{|a| a[-1] = [Topics::GEOCHEM, Topics::MINERALOGY]+a[-1]; a }))
  # Geology
  JOURNALS.push(*( [
    ["Bulletin of Volcanology", []],
    ["Canadian Mineralogist", []],
    ["Geodinamica Acta", []],
    ["Geofluids", []],
    ["Geological Journal", []],
    ["Geology", []],
    ["Geomorphology", []],
    ["Holocene", []],
    ["International Journal of Speleology", []],
    ["Journal of Geology", []],
    ["Journal of Metamorphic Geology", []],
    ["Journal of Sedimentary Research", []],
    ["Journal of Structural Geology", []],
    ["Journal of the Geological Society", []],
    ["Journal of Volcanology and Geothermal Research", []],
    ["Lithos", []],
    ["Northeastern Geology", []],
    ["Oil and Gas Journal", []],
    ["Palaios", []],
    ["Sedimentary Geology", []],
    ["Sedimentary Petrolology", []],
    ["Sedimentology", []]
  ].map{|a| a[-1] = [Topics::GEOLOGY]+a[-1]; a }))
  # Oceanography
  JOURNALS.push(*( [
    ["Atmosphere-Ocean", []],
    ["Deep-Sea Research Part I", []],
    ["Deep-Sea Research Part II", []],
    ["Journal of Geophysical Research- Atmosphere", []],
    ["Journal of Geophysical Research- Planets", []],
    ["Journal of Geophysical Research- Solids", []],
    ["Journal of Physical Oceanography", []],
    ["Limnology & Oceanography", []],
    ["Marine Chemistry", []],
    ["Marine Geology", []],
    ["Netherlands Journal of Sea Research", []],
    ["Oceanography & Marine Biology", []],
    ["Paleoceanography", []],
    ["Progress in Oceanography", []],
    ["Reviews in Aquatic Sciences", []]
  ].map{|a| a[-1] = [Topics::OCEANOGRAPHY]+a[-1]; a }))
  # Glaciology
  JOURNALS.push(*( [
    ["Journal of Glaciology", []],
    ["Annals of Glaciology", []]
  ].map{|a| a[-1] = [Topics::GLACIOLOGY]+a[-1]; a }))
  # Atmospheric Science
  JOURNALS.push(*( [
    ["Aerobiologica", []],
    ["Agricultural and Forest Meteorology", []],
    ["Atmosphere-Ocean", []],
    ["Atmospheric and Oceanic Physics", []],
    ["Atmospheric Chemistry and Physics", []],
    ["Atmospheric Environment", []],
    ["Atmospheric Research", []],
    ["Atmospheric Science Letters", []],
    ["Boundary-Layer Meteorology", []],
    ["Bulletin of the American Meteorological Society", []],
    ["Climate Dynamics", []],
    ["Climatic Change", []],
    ["Contributions to Atmospheric Physics", []],
    ["Electronic Journal of Operational Meteorology", []],
    ["Electronic Journal of Severe Storms Meteorology", []],
    ["International Journal of Biometeorology", []],
    ["International Journal of Climatology", []],
    ["Journal of Applied Meteorology and Climatology", []],
    ["Journal of Atmospheric and Oceanic Technology", []],
    ["Journal of Atmospheric and Solar-terrestrial Physics", []],
    ["Journal of Atmospheric Chemistry", []],
    ["Journal of Climate and Applied Meteorology", []],
    ["Journal of Climate", []],
    ["Journal of Hydrometeorology", []],
    ["Journal of the Atmospheric Sciences", []],
    ["Journal of the Meteorological Society of Japan", []],
    ["Journal of Meteorology", []],
    ["Journal of Paleoclimatology", []],
    ["Meteorological Applications", []],
    ["Meteorological Monographs", []],
    ["Meteorology and Atmospheric Physics", []],
    ["Monthly Weather Review", []],
    ["Progress in Biometeorology", []],
    ["Quarterly Journal of the Royal Meteorological Society", []],
    ["National Weather Digest", []],
    ["Tellus. Series A: Dynamic Meteorology and Oceanography", []],
    ["Tellus. Series B: Chemical and Physical Meteorology", []],
    ["Weather and Forecasting", []],
    [/\bWeather\s+\(?Royal Met(\.|eorological) Soc(\.|iety)/, "Weather", []]
  ].map{|a| a[-1] = [Topics::ATMOSPHERE]+a[-1]; a }))

  # Engineering
  JOURNALS.push(*( [
    ["Advances in Production Engineering & Management", []],
    ["Annual Review of Biomedical Engineering", [Topics::BIOMED]],
    ["Fluid Phase Equilibria", []],
    ["Industrial & Engineering Chemistry Research", [Topics::CHEMENG]],
    ["Journal of Environmental Engineering", [Topics::ENVENG]],
    ["Journal of Hydrologic Engineering", [Topics::HYDENG]],
    ["Journal of the IEST", []],
    ["NASA Tech Briefs", []],
    ["Post Office Electrical Engineers' Journal", [Topics::ELEENG]]
  ].map{|a| a[-1] = [Topics::ENG]+a[-1]; a }))

  # Materials science
  JOURNALS.push(*( [
    ["Advanced Materials", []],
    ["Advanced Functional Materials", []],
    ["JOM", []],
    ["Journal of Electronic Materials", []],
    ["Materials Today", []],
    ["Metallurgical and Materials Transactions", []],
    ["Nature Materials", []]
  ].map{|a| a[-1] = [Topics::MATERIALS]+a[-1]; a }))

  # Mathematics
  JOURNALS.push(*( [
    ["Acta Mathematica Academiae Paedagogicae Nyíregyháziensis", []],
    ["Acta Mathematica Universitatis Comenianae", []],
    ["Acta Mathematica", []],
    ["Acta Numerica", []],
    ["Acta Scientiarum Mathematicarum", []],
    ["Advances in Applied Mathematics", []],
    ["Advances in Difference Equations", []],
    ["Advances in Geometry", []],
    ["Advances in Mathematics", []],
    ["Advances in Theoretical and Mathematical Physics", []],
    ["Algebra & Number Theory", []],
    ["Algebraic & Geometric Topology", []],
    ["American Journal of Mathematics", []],
    ["American Mathematical Monthly", []],
    ["Analysis & PDE", []],
    ["Annales Academiae Scientiarum Fennicae. Mathematica", []],
    ["Annales Henri Poincaré", []],
    ["Annales Scientifiques de l'École Normale Supérieure", []],
    ["Annali della Scuola Normale Superiore di Pisa - Classe di Scienze", []],
    ["Annals of Mathematics", []],
    ["Annals of Mathematical Statistics", []],
    ["Applied Mathematics E - Notes", []],
    ["Applied Sciences", []],
    ["Archive for Rational Mechanics and Analysis", []],
    ["Archivum Mathematicum", []],
    ["Asian journal of mathematics", []],
    ["Atti dell'Accademia Peloritana dei Pericolanti - Classe di Scienze Fisiche, Matematiche e Naturali", []],
    ["Balkan Journal of Geometry and Its Applications", []],
    ["Banach Journal of Mathematical Analysis", []],
    ["Boletin Asociacio Matematica Vanezolana", []],
    ["Boundary Value Problems", []],
    ["Brazilian Journal of Probability and Statistics", []],
    ["Bulletin of TICMI", []],
    ["Bulletin of the American Mathematical Society", []],
    ["Bulletin of the London Mathematical Society", []],
    ["Bulletin, Classes des Sciences Mathematiques et Naturelles, Sciences", []],
    ["Bulletin of Statistics & Economics", []],
    ["Canadian Mathematical Bulletin", []],
    ["Canadian Journal of Mathematics", []],
    ["Combinatorics, Probability and Computing", []],
    ["Commentarii Mathematici Helvetici", []],
    ["Communications in Algebra", []],
    ["Communications in Mathematical Analysis", []],
    ["Communications in Mathematical Physics", []],
    ["Communications on Pure and Applied Mathematics", []],
    ["Compositio Mathematica", []],
    ["Computational and Applied Mathematics", []],
    ["Differential Equations and Control Processes", []],
    ["Differential Equations and Nonlinear Mechanics", []],
    ["Differential Geometry - Dynamical systems", []],
    ["Discrete Dynamics in Nature and Society", []],
    ["Discrete Mathematics & Theoretical Computer Science", []],
    ["Divulgaciones Matematicas", []],
    ["Documenta Mathematica", []],
    ["Duke Mathematical Journal", []],
    ["Electronic Journal of Combinatorics", []],
    ["Electronic Journal of Linear Algebra", []],
    ["Electronic Journal of Qualitative Theory of Differential Equations", []],
    ["Electronic Research Announcements of the American Mathematical Society", []],
    ["Electronic Transactions on Numerical Analysis", []],
    ["Ergodic Theory and Dynamical Systems", []],
    ["European Journal of Applied Mathematics", []],
    ["Far East Journal of Mathematical Sciences", []],
    ["Fibonacci Quarterly", []],
    ["Filomat", []],
    ["Fixed Point Theory and Applications", []],
    ["Formalized Mathematics", []],
    ["Forum Geometricorum: A Journal on Classical Euclidean Geometry", []],
    ["Fundamenta Mathematicae", []],
    ["Geometry & Topology", []],
    ["Glasgow Mathematical Journal", []],
    ["Glasnik Matematicki", []],
    ["Hiroshima Mathematical Journal", []],
    ["Homology, Homotopy and Applications", []],
    ["Indiana University Mathematics Journal", []],
    ["Integers: Electronic Journal of Combinatorial Number Theory", []],
    ["Integral Equations and Operator Theory", []],
    ["InterJournal", []],
    ["Interdisciplinary Information Sciences", []],
    ["International Journal for Mathematics Teaching and Learning", []],
    ["International Journal of Applied Mathematics and Computer Science", []],
    ["International Journal of Applied Mathematics & Statistics", []],
    ["International Journal of Intelligent Technologies and Applied Statistics", []],
    ["International Journal of Mathematics", []],
    ["International Journal of Mathematics and Statistics", []],
    ["International journal of simulation. Systems, science and technology", []],
    ["International Journal of Tomography and Statistics", []],
    ["Inventiones Mathematicae", []],
    ["Involve, a Journal of Mathematics", []],
    ["Journal de Mathématiques Pures et Appliquées", []],
    ["Journal für die reine und angewandte Mathematik - the oldest surviving mathematical periodical", []],
    ["Journal of Algebra", []],
    ["Journal of Applied Mathematics", []],
    ["Journal of the Australian Mathematical Society", []],
    ["Journal of Commutative Algebra", []],
    ["Journal of Differential Geometry", []],
    ["Journal of Fluid Mechanics", []],
    ["Journal of Functional Analysis", []],
    ["Journal of Geometry", []],
    ["Journal of Graph Algorithms and Applications", []],
    ["Journal of Inequalities in Pure and Applied Mathematics", []],
    ["Journal of Integer Sequences", []],
    ["Journal of Mathematical Physics", []],
    ["Journal of Mathematical Sciences", []],
    ["Journal of Mathematics and Statistics", []],
    ["Journal of Nonlinear Mathematical Physics", []],
    ["Journal of Number Theory", []],
    ["Journal of Online Mathematics and its Applications", []],
    ["Journal of Operator Theory", []],
    ["Journal of Pure and Applied Algebra", []],
    ["Journal of the American Mathematical Society", []],
    ["Journal of the London Mathematical Society", []],
    ["Journal of the Institute of Mathematics of Jussieu", []],
    ["Kyungpook Mathematical Journal", []],
    ["Kyushu Journal of Mathematics", []],
    ["Lobachevskii Journal of Mathematics", []],
    ["Manuscripta Mathematica", []],
    ["Matematicki Vesnik", []],
    ["Mathematica Scandinavica", []],
    ["Mathematical Inequalities & Applications", []],
    ["Mathematical Journal of Okayama University", []],
    ["Mathematical Physics Electronic Journal", []],
    ["Mathematical Problems in Engineering", []],
    ["Mathematical Proceedings of the Cambridge Philosophical Society", []],
    ["Mathematical Structures in Computer Science", []],
    ["Mathematics of Computation", []],
    ["Mathematische Annalen", []],
    ["Mathematische Nachrichten", []],
    ["Mathematische Zeitschrift", []],
    ["Missouri Journal of Mathematical Sciences", []],
    ["Multiscale Modeling and Simulation", []],
    ["Nagoya Mathematical Journal", []],
    ["Nexus Network Journal: architecture and mathematics", []],
    ["Notices of the American Mathematical Society", []],
    ["Pacific Journal of Mathematics", []],
    ["Proceedings of Symposia in Pure Mathematics", []],
    ["Proceedings of the American Mathematical Society", []],
    ["Proceedings of the Edinburgh Mathematical Society", []],
    ["Proceedings of the Indian Academy of Sciences: Mathematical Sciences", []],
    ["Proceedings of the Japan Academy. Series A, Mathematical Sciences", []],
    ["Proceedings of the Royal Society of Edinburgh: Section A Mathematics", []],
    ["Proyecciones- Revista de matemetica", []],
    ["Publications Mathematiques de l'IHES", []],
    ["Publications de l'Institut Mathematique", []],
    ["Quaestiones Mathematicae", []],
    ["Rendiconti del Seminario Matematico della Università e Politecnico di Torino", []],
    ["Rendiconti del Seminario Matematico della Università di Padova", []],
    ["Ricerche di Matematica", []],
    ["SIAM Journal on Applied Dynamical Systems", []],
    ["SIAM Journal on Applied Mathematics", []],
    ["SIAM Journal on Computing", []],
    ["SIAM Journal on Control and Optimization", []],
    ["SIAM Journal on Discrete Mathematics", []],
    ["SIAM Journal on Mathematical Analysis", []],
    ["SIAM Journal on Matrix Analysis and Applications", []],
    ["SIAM Journal on Numerical Analysis", []],
    ["SIAM Journal on Optimization", []],
    ["SIAM Journal on Scientific Computing", []],
    ["SIAM Review", []],
    ["Seminaire Lotharingien de Combinatoire", []],
    ["Siberian Electronic Mathematical Reports", []],
    ["Siberian Mathematical Journal", []],
    ["Solstice : An Electronic Journal of Geography and Mathematics", []],
    ["Southwest Journal of Pure and Applied Mathematics", []],
    ["Studia Mathematica", []],
    ["Symmetry, Integrability and Geometry: Methods and Applications", []],
    ["Taiwanese Journal of Mathematics, TJM", []],
    ["The Electronic Journal of Combinatorics", []],
    ["The Mathematics Educator", []],
    ["The Montana Mathematics Enthusiast", []],
    ["The New York Journal of Mathematics", []],
    ["Theory and Applications of Categories", []],
    ["Theory of Probability and Its Applications", []],
    ["Topology", []],
    ["Topology and its Applications", []],
    ["Transactions of the American Mathematical Society", []],
    ["Turkish Journal of Mathematics", []]
  ].map{|a| a[-1] = [Topics::MATH]+a[-1]; a }))

  # Medicine
  JOURNALS.push(*( [
    ["AACN Clinical Issues", []],
    ["Academic Emergency Medicine", []],
    ["Academic Medicine", []],
    ["Academic Physician & Scientist", []],
    ["ACIMED", []],
    ["ACP Journal", []],
    ["ACSM's Health & Fitness Journal", []],
    ["Acta Anaesthesiologica Scandinavica", []],
    ["Acta Cientifica Estudiantil", []],
    ["Acta Neurologica Belgica", []],
    ["Acta Neurologica Scandinavica", []],
    ["Acta Otorhinolaryngologica Italica", []],
    ["Acta Paediatrics", []],
    ["Acta Psychiatrica Scandinavica", []],
    ["Acta Radiologica", []],
    ["Addictive Behavior", []],
    ["Addictive Disorders and Their Treatment", []],
    ["Advances in Anatomic Pathology", []],
    ["Advances in Mind-Body Medicine", []],
    ["Advances in Neurology", []],
    ["Advances in Renal Replacement Therapy", []],
    ["Advances in Skin & Wound Care", []],
    ["AIDS", []],
    ["Alzheimer's Care Today", []],
    ["Alzheimer's Disease and Associated Disorders", []],
    ["American Family Physician", []],
    ["American Journal of Clinical Oncology", []],
    ["American Journal of Epidemiology", []],
    ["American Journal of Gastroenterology", []],
    ["American Journal of Medical Genetics", []],
    ["The American Journal of the Medical Sciences", []],
    ["American Journal of Obstetrics and Gynecology", []],
    ["American Journal of Physical Medicine & Rehabilitation", []],
    ["American Journal of Public Health", []],
    ["American Journal of Sports Medicine", []],
    ["American Journal of Surgery", []],
    ["American Journal of Therapeutic Medicine", []],
    ["The American Journal of Surgical Pathology", []],
    ["Anaesthesia", []],
    ["Anesthesia & Analgesia", []],
    ["Anesthesiology", []],
    ["Annals of Emergency Medicine", []],
    ["Annals of Family Medicine", []],
    ["Annals of Human Biology", []],
    ["Annals of Human Genetics", []],
    ["Annals of Internal Medicine", []],
    ["Annals of Plastic Surgery", []],
    ["Annals of Surgery", []],
    ["Annals of Surgery", []],
    ["Annual Review of Medicine", []],
    ["Anti-Cancer Drugs", []],
    ["Applied Immunohistochemistry & Molecular Morphology", []],
    ["Archives of Dermatology", []],
    ["Archives of Disease in Childhood", []],
    ["Archives of Facial Plastic Surgery", []],
    ["Archives of General Psychiatry", []],
    ["Archives of Internal Medicine", []],
    ["Archives of Neurology", []],
    ["Archives of Ophthalmology", []],
    ["Archives of Otolaryngology - Head & Neck Surgery", []],
    ["Archives of Pediatric & Adolescent Medicine", []],
    ["Archives of Surgery", []],
    ["Archives of Medicine", []],
    ["Archives, The International Journal of Medicine", []],
    ["Arteriosclerosis, Thrombosis, and Vascular Biology", []],
    ["ASAIO Journal", []],
    ["Asian Journal of Oral and Maxillofacial Surgery", []],
    ["Behavioural Pharmacology", []],
    ["Biology of the Neonate", []],
    ["BioMed Central", []],
    ["Biometrika", []],
    ["Biopharmaceutics & Drug Disposition", []],
    ["Blood", []],
    ["Blood Coagulation and Fibrinolysis", []],
    ["Blood Pressure Monitoring", []],
    ["Brain", []],
    ["Brain & Development", []],
    ["Brazilian Journal of Medical and Biological Research", []],
    ["British Journal of Anaesthesia", []],
    ["British Journal of Cancer'", []],
    ["BJHCM: British Journal of Healthcare Management", []],
    ["British Journal of Hospital Medicine", []],
    ["British Journal of Industrial Medicine", []],
    ["British Journal of Medical Practitioners", []],
    ["British Journal of Obstetrics and Gynecology", []],
    ["British Journal of Sexual Medicine", []],
    ["British Journal of Urology", []],
    ["British Medical Journal", []],
    ["Bulletin of the World Health Organization", []],
    ["CA - A Cancer Journal for Clinicians", []],
    ["Calicut Medical Journal", []],
    ["Canadian Journal of Emergency Medicine", []],
    ["Canadian Medical Association Journal", []],
    ["Cardiology in Review", []],
    ["Circulation", []],
    ["Circulation: Arrhythmia and Electrophysiology", []],
    ["Circulation: Cardiovascular Imaging", []],
    ["Circulation Research", []],
    ["Circulation: Heart Failure", []],
    ["Child Development", []],
    ["Clinical Dysmorphology", []],
    ["Clinical Journal of Sports Medicine", []],
    ["Clinical Microbiology Review", []],
    ["Clinical Neuropharmacology", []],
    ["Clinical Nuclear Medicine", []],
    ["Clinical Obstetrics and Gynecology", []],
    ["Clinical Pulmonary Medicine", []],
    ["Clinical Science", []],
    ["Clinical Obstetrics and Gynecology", []],
    ["Cognitive and Behavioral Neurology", []],
    ["Contemporary Surgery", []],
    ["CONTINUUM", []],
    ["Contraception", []],
    ["Cornea", []],
    ["Coronary Artery Disease", []],
    ["Critical Care Medicine", []],
    ["Critical Pathways in Cardiology", []],
    ["Current Opinion in Allergy and Clinical Immunology", []],
    ["Current Opinion in Anaesthesiology", []],
    ["Current Opinion in Cardiology", []],
    ["Current Opinion in Clinical Nutrition and Metabolic Care", []],
    ["Current Opinion in Critical Care", []],
    ["Current Opinion in Endocrinology, Diabetes and Obesity", []],
    ["Current Opinion in Gastroenterology", []],
    ["Current Opinion in HIV and AIDS", []],
    ["Current Opinion in Hematology", []],
    ["Current Opinion in Infectious Diseases", []],
    ["Current Opinion in Internal Medicine", []],
    ["Current Opinion in Lipidology", []],
    ["Current Opinion in Nephrology and Hypertension", []],
    ["Current Opinion in Neurology", []],
    ["Current Opinion in Obstetrics and Gynecology", []],
    ["Current Opinion in Oncology", []],
    ["Current Opinion in Ophthalmology", []],
    ["Current Opinion in Organ Transplantation", []],
    ["Current Opinion in Otolaryngology & Head and Neck Surgery", []],
    ["Current Opinion in Pediatrics", []],
    ["Current Opinion in Psychiatry", []],
    ["Current Opinion in Pulmonary Medicine", []],
    ["Current Opinion in Rheumatology", []],
    ["Current Opinion in Supportive and Palliative Care", []],
    ["Current Opinion in Urology", []],
    ["Current Orthopaedic Practice", []],
    ["Current Sports Medicine Reports", []],
    ["British Journal of Dermatology", []],
    ["Deutsche Medizinische Wochenschrift", []],
    ["Diabetes/Metabolism: Research and Reviews", []],
    ["Diagnostic Molecular Pathology", []],
    ["Disaster Medicine and Public Health Preparedness", []],
    ["Drug and Alcohol Dependence", []],
    ["Dutch Journal of Medicine", []],
    ["ecancermedicalscience", []],
    ["Ear and Hearing", []],
    ["Emergency Medicine Journal", []],
    ["Emergency Medicine News", []],
    ["Endocrinology", []],
    ["ENToday", []],
    ["Epidemiology", []],
    ["Epilepsy Currents", []],
    ["European Journal of Cancer Prevention", []],
    ["European Journal of Cardiovascular Prevention & Rehabilitation", []],
    ["European Journal of Emergency Medicine", []],
    ["European Journal of Endocrinology", []],
    ["European Journal of Gastroenterology and Hepatology", []],
    ["European Journal of Pediatrics", []],
    ["Evidence-Based Gastroenterology", []],
    ["Evidence-Based Ophthalmology", []],
    ["Exercise and Sport Sciences Reviews", []],
    ["Experimental Gerontology", []],
    ["Eye and Contact Lens: Science and Clinical Practice", []],
    ["ePlasty, Open Access Journal of Plastic Surgery", []],
    ["Family & Community Health", []],
    ["Family Practice Management", []],
    ["Fertility and Sterility", []],
    ["Focus on Alternative and Complementary Therapies", []],
    ["From Theory to More Theory: Journal of Medical Sociology", []],
    ["Gastroenterology", []],
    ["Genetics in Medicine", []],
    ["Growth, Genetics, and Hormones", []],
    ["Gynecological Surgery", []],
    ["Harefuah", []],
    ["Health Care Management Review", []],
    ["Health Data Matrix", []],
    ["Health Physics", []],
    ["Heart", []],
    ["Heart Insight", []],
    ["Highlights of Ophthalmology", []],
    ["Hormone Research", []],
    ["Hospital Pharmacy", []],
    ["Human Psychopharmacology", []],
    ["Human Reproduction", []],
    ["Hypertension", []],
    ["Implant Dentistry", []],
    ["Indian Journal of Medical Sciences", []],
    ["Infants and Young Children", []],
    ["Infectious Diseases in Clinical Practice®", []],
    ["Innovations: Technology and Techniques in Cardiothoracic and Vascular Surgery", []],
    ["International Anesthesiology Clinics", []],
    ["International Clinical Psychopharmacology", []],
    ["International Journal of Biological Sciences", []],
    ["International Journal of Biometeorology", []],
    ["International Journal of Geriatric Psychiatry", []],
    ["International Journal of Gynecological Pathology", []],
    ["International Journal of Health Science", []],
    ["International Ophthalmology Association In The Web Journal", []],
    ["International Journal of Gynaecology and Obstetrics", []],
    ["International Journal of Medical Sciences", []],
    ["International Journal of Psychoanalysis", []],
    ["International Journal of Rehabilitation Research", []],
    ["International Journal of Medicine, The", []],
    ["International Ophthalmology Clinics", []],
    ["Internet Journal of Medical Update", []],
    ["Intervention", []],
    ["Investigative Ophthalmology & Visual Science", []],
    ["Investigative Radiology", []],
    ["Israel Medical Association Journal", []],
    ["Israel Journal of Psychiatry and Related Sciences", []],
    ["Indian Journal of Medical Microbiology", []],
    ["Insuficiencia Cardiaca", []],
    ["JAMA & Archives", []],
    ["JAMA & Archives Continuing Medical Education", []],
    ["JAMA & Archives For The Media", []],
    ["Journal of Acquired Immune Deficiency Syndromes", []],
    ["Journal of Addiction Medicine", []],
    ["Journal of American Physicians and Surgeons", []],
    ["The Journal of Applied Research in Clinical and Experimental Therapeutics", []],
    ["Journal of Bone & Joint Surgery", []],
    ["Journal of Bronchology", []],
    ["Journal of Burn Care & Research", []],
    ["Journal of Cardiopulmonary Rehabilitation and Prevention", []],
    ["Journal of Cardiovascular Medicine", []],
    ["Journal of Cardiovascular Pharmacology", []],
    ["Journal of Clinical Endocrinology & Metabolism", []],
    ["Journal of Clinical Engineering", []],
    ["Journal of Clinical Epidemiology", []],
    ["Journal of Clinical Gastroenterology", []],
    ["Journal of Clinical Investigation", []],
    ["Journal of Clinical Oncology", []],
    ["Journal of Clinical Neuromuscular Disease", []],
    ["Journal of Clinical Neurophysiology", []],
    ["Journal of Clinical Neurophysiology", []],
    ["Journal of Clinical Psychopharmacology", []],
    ["Journal of Clinical Sleep Medicine", []],
    ["Journal of Computer Assisted Tomography", []],
    ["Journal of Computer Assisted Tomography", []],
    ["Journal of Developmental & Behavioral Pediatrics", []],
    ["Journal of Epidemiology and Community Health", []],
    ["Journal of Experimental Medicine", []],
    ["Journals of Gerontology Series A: Biological Sciences and Medical Sciences", []],
    ["Journal of Glaucoma", []],
    ["Journal of Hypertension", []],
    ["Journal of Immunology", []],
    ["Journal of Immunotherapy", []],
    ["Journal of Infection in Developing Countries", []],
    ["Journal of Investigative Dermatology", []],
    ["Journal of Investigative Medicine", []],
    ["Journal of Lower Genital Tract Disease", []],
    ["Journal of Medical Biography", []],
    ["Journal of Medical Case Reports", []],
    ["Journal of Medical Genetics", []],
    ["Journal of Medical Practice Management", []],
    ["Journal of Medical Sciences Research", []],
    ["Journal of Minimally Invasive Gynecology", []],
    ["Journal of Neuro-Ophthalmology", []],
    ["Journal of Neurologic Physical Therapy", []],
    ["Journal of Neuropathology & Experimental Neurology", []],
    ["Journal of Neurosurgical Anesthesiology", []],
    ["Journal of Occupational and Environmental Medicine", []],
    ["Journal of Oncology Practice", []],
    ["Journal of Orthopaedic Trauma", []],
    ["Journal of Patient Safety", []],
    ["Journal of Pediatric Gastroenterology and Nutrition", []],
    ["Journal of Pediatric Hematology/Oncology", []],
    ["Journal of Pediatric Orthopaedics", []],
    ["Journal of Pediatric Orthopaedics B", []],
    ["Journal of Pelvic Medicine & Surgery", []],
    ["Journal of Pineal Research", []],
    ["Journal of Postgraduate Medicine", []],
    ["Journal of Prosthetics and Orthotics", []],
    ["Journal of Psychiatric Practice", []],
    ["Journal of Psychiatric Practice", []],
    ["Journal of Public Health Management and Practice", []],
    ["Journal of Reproductive Immunology", []],
    ["Journal of Reproductive Medicine", []],
    ["Journal of Spinal Disorders & Techniques", []],
    ["Journal of Studies on Alcohol", []],
    ["Journal of Thoracic Imaging", []],
    ["Journal of Thoracic Oncology", []],
    ["Journal of the American Academy of Child & Adolescent Psychiatry", []],
    ["Journal of the American Geriatrics Society", []],
    ["Journal of the American Medical Association", []],
    ["Journal of the American Osteopathic Association", []],
    ["Journal of the National Medical Association", []],
    ["The Journal of the Trauma", []],
    ["Journal of the Royal Society of Medicine", []],
    ["Journal of Burns and Wounds", []],
    ["The Lancet", []],
    ["The Laryngoscope", []],
    ["Läkartidningen", []],
    ["Malta Medical Journal", []],
    ["McGill Journal of Medicine", []],
    ["Medical Journal Armed Forces India", []],
    ["The Medical Journal of Australia", []],
    ["The Medical Letter on Drugs and Therapeutics", []],
    ["Medical Care", []],
    ["Medicine", []],
    ["Medicine & Science in Sports & Exercise", []],
    ["Medicine, Conflict and Survival", []],
    ["Melanoma Research", []],
    ["Menapause", []],
    ["Molecular Medicine", []],
    ["Mount Sinai Journal of Medicine", []],
    ["National Medical Journal of India", []],
    ["Nature Clinical Practice Cardiovascular Medicine", []],
    ["Nature Clinical Practice Endocrinology and Metabolism", []],
    ["Nature Clinical Practice Gastroenterology and Hepatology", []],
    ["Nature Clinical Practice Nephrology", []],
    ["Nature Clinical Practice Neurology", []],
    ["Nature Clinical Practice Oncology", []],
    ["Nature Clinical Practice Rheumatology", []],
    ["Nature Clinical Practice Urology", []],
    ["Nature Medicine", []],
    ["Nature Neuroscience", []],
    ["Nature Reviews Cancer", []],
    ["Nature Reviews Immunology", []],
    ["Nature Reviews Microbiology", []],
    ["Nederlands Tijdschrift voor Geneeskunde", []],
    ["Nephrology Times", []],
    ["Neuroanatomy is an annual journal of clinical neuroanatomy.", []],
    ["Neurology", []],
    ["Neurology Now", []],
    ["Neurology India", []],
    ["NeuroReport", []],
    ["Neurosurgery", []],
    ["Neurosurgery Quarterly", []],
    ["New England Journal of Medicine", []],
    ["New Zealand Medical Journal", []],
    ["New Zealand Medical Student Journal", []],
    ["Nuclear Medicine Communications", []],
    ["Nutrition Today", []],
    ["Obstetrical and Gynecological Survey", []],
    ["Obstetrics and Gynecology", []],
    ["Obstetrics and Gynecology Clinics of North America", []],
    ["Paediatrics", []],
    ["Pediatric Emergency Care", []],
    ["Pediatric Nursing", []],
    ["Pediatric Research", []],
    ["Pediatrics in Review", []],
    ["Pharmacoepidemiology and Drug Safety", []],
    ["Plastic & Reconstructive Surgery", []],
    ["PLoS Medicine", []],
    ["Le Practicien en Anesthésie Réanimation", []],
    ["Prenatal Diagnosis", []],
    ["Psycho-Oncology", []],
    ["Public Health", []],
    ["QJM: An International Journal of Medicine", []],
    ["Radiology Case Reports", []],
    ["Rejuvenation Research", []],
    ["Retina", []],
    ["Reviews in Medical Virology", []],
    ["Revista de la Sociedad Medico-Quirurgica del Hospital de Emergencia Perez de Leon", []],
    ["Scientia Pharmaceutica", []],
    ["Sexually Transmitted Diseases", []],
    ["Sexually Transmitted Infections", []],
    ["South African Family Practice Journal", []],
    ["Solapur Medical Journal", []],
    ["Spine", []],
    ["Sports Medicine", []],
    ["Statistical Methods in Medical Research", []],
    ["Statistics in Medicine", []],
    ["Stroke", []],
    ["Surgical Endocscopy", []],
    ["Techniques in Shoulder and Elbow Surgery", []],
    ["The International Journal of Medical Robotics and Computer Assisted Surgery", []],
    ["The International Journal of Medicine", []],
    ["The Journal of Gene Medicine", []],
    ["The Medical Journal of Australia", []],
    ["The Medical Letter on Drugs and Therapeutics", []],
    ["The New Iraqi Journal of Medicine", []],
    ["Tissue Engineering and Regenerative Medicine", []],
    ["Trends in Molecular Medicine", []],
    ["Trillium Report", []]
  ].map{|a| a[-1] = [Topics::MEDICINE]+a[-1]; a }))
  # Allergy
  JOURNALS.push(*( [
    ["Journal of Allergy Clinical Immunology", []],
    ["Allergy", []],
    ["Clinical & Experimental Allergy", []],
    ["International Archives of Allergy and Immunology", []],
    ["Pediatric Allergy and Immunology", []],
    ["Annual of Allergy and Asthma Immunology", []],
    ["Clinical Review of Allergy Immunology", []],
    ["Contact Dermatitis", []],
    ["Journal of Asthma", []],
    ["Allergy Asthma Proceedings", []],
    ["Annals of Allergy", []],
    ["European Journal of Allergy & Clinical Immunology", []]
  ].map{|a| a[-1] = [Topics::MEDICINE, Topics::ALLERGY]+a[-1]; a }))
  # Anesthesiology
  JOURNALS.push(*( [
    ["Pain", []],
    ["Anesthesiology", []],
    ["Clinical Journal of Pain", []],
    ["British Journal of Anaesthesia", []],
    ["Anesthesia & Analgesia", []],
    ["Anaesthesia", []],
    ["European Journal of Pain", []],
    ["Regional Anesthesia and Pain Medicine", []],
    ["Acta Anaesthesiologica Scandinavica", []],
    ["Canadian Journal of Anaesthesia", []],
    ["International Anesthesiology Clinics", []],
    ["Journal of Clinical Monitoring", []],
    ["Le Practicien en Anesthésie Réanimation", []]
  ].map{|a| a[-1] = [Topics::MEDICINE, Topics::ANESTHESIOLOGY]+a[-1]; a }))
  # Pharmaceutical Sciences
  JOURNALS.push(*( [
    ["Biopharmaceutics & Drug Disposition", []],
    ["Cell Biochemistry and Function", []],
    ["European journal of Pharmaceutical sciences", []],
    ["Health Economics", []],
    ["Human Psychopharmacology: Clinical & Experimental", []],
    ["International Journal of Geriatric Psychiatry", []],
    ["Indian Journal of Pharmaceutical Sciences", []],
    ["International Journal of Medical Sciences", []],
    ["International Journal of Pharmaceutics", []],
    ["Journal of Pharmaceutical sciences", []],
    ["Pharmacoepidemiology and Drug Safety", []],
    ["Phytotherapy Research", []],
    ["Scientia Pharmaceutica", []],
    ["The Journal of Gene Medicine", []],
    ["The Quality Assurance Journal", []],
    ["Tissue Engineering and Regenerative Medicine", []],
    ["American Journal of Pharmaceutical Education", []],
    ["Biological & Pharmaceutical Bulletin", []],
    ["Brazilian Journal of Pharmaceutical Sciences", []],
    ["Canadian Pharmaceutical Marketing", []],
    ["Chemical & Pharmaceutical Bulletin", []],
    ["European Pharmaceutical Review", []],
    ["Indian Journal of Pharmaceutical Education and Research", []],
    ["Indian Journal of Pharmaceutical Sciences", []],
    ["Iranian Journal of Pharmaceutical Research", []],
    ["Journal of Biomedical & Pharmaceutical Engineering", []],
    ["Journal of Pharmacy and Pharmaceutical Sciences", []],
    ["Pharmaceutical and Medical Packaging News", []],
    ["Pharmaceutical Executive", []],
    ["Pharmaceutical Journal", []],
    ["Pharmaceutical Manufacturing", []],
    ["Pharmaceutical Processing", []],
    ["Pharmaceutical Technology", []],
    ["Pharmaceutical Technology Europe", []],
    ["Pharmaceuticals", []],
    ["South African Pharmaceutical Journal", []],
    ["Tropical Journal of Pharmaceutical Research", []]
  ].map{|a| a[-1] = [Topics::MEDICINE, Topics::PHARSCI]+a[-1]; a }))
  # Psychiatry
  JOURNALS.push(*( [
    ["Archives of General Psychiatry", []],
    ["Molecular Psychiatry", []],
    ["American Journal of Psychiatry", []],
    ["Schizophrenia Bulletin", []],
    ["British Journal of Psychiatry", []],
    ["Biological Psychiatry", []],
    ["Schizophrenia Research", []],
    ["Journal of Clinical Psychiatry", []],
    ["Neuropsychopharmacology", []],
    ["Sleep", []]
  ].map{|a| a[-1] = [Topics::MEDICINE, Topics::PSYCHIATRY]+a[-1]; a }))
  # Toxicology
  JOURNALS.push(*( [
    ["Toxicology", []],
    ["The Journal of Toxicological Sciences", []]
  ].map{|a| a[-1] = [Topics::MEDICINE, Topics::TOXICOLOGY]+a[-1]; a }))

  # Physics (general)
  JOURNALS.push(*( [
    ["Acta Physica Polonica", []],
    ["Advances in Physics", []],
    ["American Journal of Physics", []],
    ["Anales de Física", []],
    ["Annalen der Physik", []],
    ["Annales de Physique", []],
    ["Annals of Physics", []],
    ["Annual Review of Fluid Mechanics", []],
    ["Applied Physics Letters", []],
    ["Doklady Physics", []],
    ["European Physical Journal", []],
    ["Europhysics Letters", []],
    ["Fizika", []],
    ["Helvetica Physica Acta", []],
    ["Journal de Physique", []],
    ["Journal of Physics", []],
    ["Journal of Applied Physics", []],
    ["Nature Physics", []],
    ["Physica Scripta", []],
    ["Physical Review", []],
    ["Physics Reports", []],
    ["Journal of the Physical Society of Japan", []],
    ["Journal of Experimental and Theoretical Physics", []],
    ["Physics Today", []],
    ["Reports on Progress in Physics", []],
    ["Reviews of Modern Physics", []],
    ["Technical Physics", []],
    ["Uspekhi Fizicheskikh Nauk", []]
  ].map{|a| a[-1] = [Topics::PHYSICS]+a[-1]; a }))
  # Acoustics
  JOURNALS.push(*( [
    ["Ultrasound in Obstetrics & Gynecology", []],
    ["Ultrasonic Imaging", []],
    ["Ultrasonic Sonochemistry", []],
    ["IEEE Transactions On Ultrasonics, Ferroelectrics, And Frequency Control", []],
    ["Journal of the Acoustic Society of America", []],
    ["Journal of Ultrasound in Medicine", []],
    ["IEEE Transactions on Audio, Speech & Language Processing", []],
    ["Journal of the Audio Engineering Society", []],
    ["Journal of Clinical Ultrasound", []],
    ["Phonetica", []],
    ["Wave Motion", []],
    ["Technical Acoustics", []]
  ].map{|a| a[-1] = [Topics::PHYSICS, Topics::ACOUSTICS]+a[-1]; a }))
  # Atomic and molecular physics
  JOURNALS.push(*( [
    ["Physical Review A", []],
    ["European Physical Journal D", []],
    ["Journal of Physics B", []],
    ["Laser Physics", []]
  ].map{|a| a[-1] = [Topics::PHYSICS]+a[-1]; a }))
  # Plasma physics
  JOURNALS.push(*( [
    ["IEEE Transactions on Plasma Science", []],
    ["Journal of Plasma Physics", []],
    ["Nuclear Fusion", []],
    ["Plasma Physics and Controlled Fusion", []],
    ["Physics of Plasmas", []],
    ["Plasma Sources Science and Technology", []],
    ["Plasma Science and Technology", []]
  ].map{|a| a[-1] = [Topics::PHYSICS, Topics::PLASMA]+a[-1]; a }))
  # Measurement
  JOURNALS.push(*( [
    ["Measurement Science and Technology", []],
    ["Metrologia", []],
    ["Review of Scientific Instruments", []]
  ].map{|a| a[-1] = [Topics::PHYSICS, Topics::MEASUREMENT]+a[-1]; a }))
  # Nuclear physics
  JOURNALS.push(*( [
    ["Physical Review C", []],
    ["Nuclear Physics A", []],
    ["Atomic Data and Nuclear Data Tables", []],
    ["Nuclear Data Sheets", []],
    ["Nuclear Instruments and Methods in Physics Research", []],
    ["European Physical Journal A", []],
    ["Journal of Physics G", []]
  ].map{|a| a[-1] = [Topics::PHYSICS, Topics::NUCLEAR]+a[-1]; a }))
  # Optics
  JOURNALS.push(*( [
    ["Advances in Atomic, Molecular, and Optical Physics", []],
    ["Applied Physics B", []],
    ["Applied Optics", []],
    ["Optics Communications", []],
    ["Optics Express", []],
    ["Optics Letters", []],
    ["Journal of Biomedical Optics", []],
    ["Journal of Optics A", []],
    ["Journal of Physics B", []],
    ["Journal of the European Optical Society: Rapid Publications", []],
    ["Journal of the Optical Society of America A", []],
    ["Journal of the Optical Society of America B", []],
    ["Progress in Optics", []],
    ["Nature Photonics", []]
  ].map{|a| a[-1] = [Topics::PHYSICS, Topics::OPTICS]+a[-1]; a }))
  # Condensed Matter and Materials Science
  JOURNALS.push(*( [
    ["Applied Physics A", []],
    ["European Physical Journal B", []],
    ["International Journal of Modern Physics B", []],
    ["Journal of Physics and Chemistry of Solids", []],
    ["Journal of Physics: Condensed Matter", []],
    ["Journal of Non-crystalline Solids", []],
    ["Journal of Magnetism and Magnetic Materials", []],
    ["Modern Physics Letters B", []],
    ["Nature Materials", []],
    ["Philosophical Magazine", []],
    ["Philosophical Magazine Letters", []],
    ["Physica B", []],
    ["Physica C", []],
    ["Physica E", []],
    ["Physica Status Solidi", []],
    ["Physics of Fluids", []],
    ["Physics of the Solid State", []],
    ["Semiconductors", []],
    ["Solid State Communications", []],
    ["Synthetic Metals", []]
  ].map{|a| a[-1] = [Topics::PHYSICS, Topics::MATERIALS]+a[-1]; a }))
  # Low Temperature Physics
  JOURNALS.push(*( [
    ["Journal of Low Temperature Physics", []],
    ["Low Temperature Physics", []]
  ].map{|a| a[-1] = [Topics::PHYSICS, Topics::LOWTEMP]+a[-1]; a }))
  # Chemical Physics
  JOURNALS.push(*( [
    ["Chemical Physics Letters", []],
    ["Chemical Physics", []],
    ["Journal of Chemical Physics", []],
    ["Physical Chemistry Chemical Physics", []]
  ].map{|a| a[-1] = [Topics::PHYSICS, Topics::CHEMPHYS]+a[-1]; a }))
  # Soft Matter Physics
  JOURNALS.push(*( [
    ["Granular Matter", []],
    ["Journal of Polymer Science B: Polymer Physics", []],
    ["Soft Matter", []],
    ["European Physical Journal E", []]
  ].map{|a| a[-1] = [Topics::PHYSICS, Topics::SOFTMATPHYS]+a[-1]; a }))
  # Medical Physics
  JOURNALS.push(*( [
    ["Medical Physics", []],
    ["Physics in Medicine and Biology", []],
    ["Journal of Applied Clinical Medical Physics", []],
    ["Radiotherapy and Oncology", []],
    ["International Journal of Radiation Oncology Biology Physics", []]
  ].map{|a| a[-1] = [Topics::PHYSICS, Topics::MEDPHYS]+a[-1]; a }))
  # Biological Physics
  JOURNALS.push(*( [
    ["Biophysical Journal", []],
    ["Biophysics", []],
    ["European Biophysics Journal", []],
    ["Journal of Biological Physics", []]
  ].map{|a| a[-1] = [Topics::PHYSICS, Topics::BIOPHYS]+a[-1]; a }))
  # Statistical and Nonlinear Physics
  JOURNALS.push(*( [
    ["Physica A", []],
    ["Journal of Statistical Physics", []],
    ["Journal of Statistical Mechanics", []],
    ["Chaos", []]
  ].map{|a| a[-1] = [Topics::PHYSICS, Topics::STATPHYS]+a[-1]; a }))
  # Theoretical Physics
  JOURNALS.push(*( [
    ["Advances in Theoretical and Mathematical Physics", []],
    ["Annales de l'Institut Henri Poincaré A", []],
    ["Classical and Quantum Gravity", []],
    ["Communications in Mathematical Physics", []],
    ["Journal of Mathematical Physics", []],
    ["Progress of Theoretical Physics", []],
    ["International Journal of Modern Physics A", []],
    ["Nuclear Physics B", []],
    ["Theoretical and Mathematical Physics", []]
  ].map{|a| a[-1] = [Topics::PHYSICS, Topics::THEOPHYS]+a[-1]; a }))

  # Statistics
  JOURNALS.push(*( [
    ["Journal of Agricultural, Biological, and Environmental Statistics", []],
    ["Journal of the American Statistical Association", []],
    ["The American Statistician", []],
    ["Annals of Applied Probability", []],
    ["Annals of Applied Statistics", []],
    ["The Annals of Probability", []],
    ["The Annals of Statistics", []],
    ["Journal of Applied Econometrics", []],
    ["Bernoulli", []],
    ["Biometrics", []],
    ["Biometrika", []],
    ["Biostatistics", []],
    ["Journal of Biopharmaceutical Statistics", []],
    ["Journal of Business & Economic Statistics", []],
    ["The Canadian Journal of Statistics", []],
    ["Clinical Trials: Journal of the Society for Clinical Trials", []],
    ["Communications in Statistics", []],
    ["Journal of Computational and Graphical Statistics", []],
    ["Journal of Econometrics", []],
    ["Journal of Industrial and Management Optimization", []],
    ["The International Journal of Biostatistics", []],
    ["International Journal of Intelligent Technologies and Applied Statistics", []],
    ["Journal of the Royal Statistical Society", []],
    ["Statistical Applications in Genetics and Molecular Biology", []],
    ["Statistical Science", []],
    ["Statistics in Medicine", []],
    ["Statistics in Biopharmaceutical Research", []],
    ["Journal of Statistical Software", []],
    ["Technology Innovations in Statistics Education", []],
    ["Technometrics", []],
    ["Journal of Time Series Analysis", []]
  ].map{|a| a[-1] = [Topics::STATISTICS]+a[-1]; a }))


  # Humanities journals
  # Archaeology
  JOURNALS.push(*( [
    ["American Antiquity", []],
    ["American Journal of Archaeology", []],
    ["Ancient Mesoamerica", []],
    ["Antiquity", []],
    ["Arabian Archaeology and Epigraphy", []],
    ["Journal of Field Archaeology", []],
    ["Latin American Antiquity", []],
    ["International Journal of South American Archaeology", []],

    ["Archaeological Prospection", []],
    ["Babesch - Bulletin Antieke Beschaving", []],
    ["Caeculus", []],
    ["International Journal of Osteoarchaeology", []],
    ["Terra Incognita", []],
    ["Revue d'Égyptologie", []]
  ].map{|a| a[-1] = [Topics::ARCHAEOLOGY]+a[-1]; a }))
  # Art history
  JOURNALS.push(*( [
    ["Gentse Bijdragen tot de Interieurgeschiedenis", []]
  ].map{|a| a[-1] = [Topics::ART_HISTORY]+a[-1]; a }))
  # Development studies
  JOURNALS.push(*( [
    ["Journal of International Development online)", []],
    ["Public Administration and Development online)", []]
  ].map{|a| a[-1] = [Topics::DEVELOPMENT_STUDIES]+a[-1]; a }))
  # Linguistics
  JOURNALS.push(*( [
    ["Bulletin de la Société de Linguistique de Paris", []],
    ["Cahiers de l'Institut de Linguistique de Louvain", []],
    ["ITL - International Journal of Applied Linguistics", []],
    ["L'Information Grammaticale", []],
    ["Leuvense Bijdragen", []],
    ["Naamkunde", []],
    ["Onoma", []],
    ["Orbis", []],
  ].map{|a| a[-1] = [Topics::LINGUISTICS]+a[-1]; a }))
  # Literature
  JOURNALS.push(*( [
    ["MELUS", []],
    ["Ons Geestelijk Erf", []],
    ["PMLA", []],
    ["Spiegel der Letteren", []]
  ].map{|a| a[-1] = [Topics::LITERATURE]+a[-1]; a }))
  # Oriental studies
  JOURNALS.push(*( [
    ["Anatolica", []],
    ["Ancient Near Eastern Studies", []],
    ["ARAM Periodical", []],
    ["Bibliotheca Orientalis", []],
    ["Eastern Christian Art", []],
    ["Iranica Antiqua", []],
    ["Journal Asiatique", []],
    ["Journal of Coptic Studies", []],
    ["Journal of Eastern Christian Studies", []],
    ["Journal of Kurdish Studies", []],
    ["Khil'a", []],
    ["Le Muséon", []],
    ["MIDEO", []],
    ["Orientalia Lovaniensia Periodica", []],
    ["Persica", []],
    ["Revue des Études Arméniennes", []],
    ["Revue des Études Juives", []],
    ["Studia Iranica", []],
    ["Studia Rosenthaliana", []],
    ["Turcica", []]
  ].map{|a| a[-1] = [Topics::ORIENTAL_STUDIES]+a[-1]; a }))
  # Philosophy and ethics
  JOURNALS.push(*( [
    ["Bijdragen", []],
    ["Contemporary Pragmatism", []],
    ["Ethical Perspectives", []],
    ["Ethische Perspectieven", []],
    ["Recherches de théologie et de philosophie médiévales", []],
    ["Revue Philosophique de Louvain", []]
  ].map{|a| a[-1] = [Topics::PHILOSOPHY]+a[-1]; a }))
  # Semiotics
  JOURNALS.push(*( [
    ["Biosemiotics", []],
    ["Cognitive Semiotics", []],
    ["Semiotica", []],
    ["Sign Systems Studies", []],
    ["The American Journal of Semiotics", []],
    ["Zeitschrift für Semiotik", []]
  ].map{|a| a[-1] = [Topics::SEMIOTICS]+a[-1]; a }))
  # Theology
  JOURNALS.push(*( [
    ["Hebraic Political Studies", []],
    ["Cultic Studies Review", []],
    ["Ephemerides Theologicae Lovanienses", []],
    ["INTAMS review", []],
    ["Journal of Hellenic Religion", []],
    ["Journal of the European Society of Women in Theological Research", []],
    ["Louvain Studies", []],
    ["Nova Religio", []],
    ["Questions Liturgiques", []],
    ["Revue Théologique de Louvain", []],
    ["Studies in Interreligious Dialogue", []],
    ["Studies in Spirituality", []]
  ].map{|a| a[-1] = [Topics::THEOLOGY]+a[-1]; a }))

  # Social sciences
  # Anthropology
  JOURNALS.push(*( [
    ["American Anthropologist", []],
    ["Anthrosource: list of journals of the American Anthropological Association", []],
    ["Anthropology Today, Published on behalf of the Royal Anthropological Institute", []],
    ["Cultural Anthropology", []],
    ["Cultural Survival", []],
    ["Current Anthropology published by University of Chicago Press, is a peer-reviewed journal of Open Peer Commentary", []],
    ["Journal of World Anthropology", []],
    ["Social Evolution & History", []],
    ["Southern African Humanities", []],
    ["Structure and Dynamics eJournal of the Anthropological and Related Sciences", []],
    ["Terrain", []],
    ["The Web of Culture", []],
    ["Anthropology & Health Journal", []],
    ["International Journal of Dental Anthropology - IJDA", []],
  ].map{|a| a[-1] = [Topics::ANTHROPOLOGY]+a[-1]; a }))
  # Area studies
  JOURNALS.push(*( [
    ["Abbia: Cameroon Cultural Review", []],
    ["American Quarterly", []],
    ["Azure", []],
    ["Central Asia Monitor", []],
    ["Central Asian Review", []],
    ["Harvard Journal of Asiatic Studies", []],
    ["Iranian Studies Journal", []],
    ["Journal of Asian Studies", []],
    ["Journal of Japanese Studies", []],
    ["Journal of Latin American Studies", []],
    ["Journal of Modern Greek Studies", []],
    ["Journal of Near Eastern Studies", []],
    ["Journal of the American Research Center in Egypt", []],
    ["Monumenta Nipponica", []],
    ["Pacific Northwest Quarterly", []],
    ["Palestine-Israel Journal", []],
    ["Problems of Post-Communism", []],
    ["SOAS Bulletin of Burma Research", []],
  ].map{|a| a[-1] = [Topics::AREA_STUDIES]+a[-1]; a }))
  # Slavic studies
  JOURNALS.push(*( [
    ["Die Welt der Slaven", []],
    ["International Journal of Slavic Linguistics and Poetics", []],
    ["Journal of Slavic Linguistics", []],
    ["The Russian Review", []],
    ["Sarmatian Review", []],
    ["Scando-Slavica", []],
    ["Slavic and East European Journal", []],
    ["Slavic Review", []],
    ["Studies in Slavic and General Linguistics", []],
    ["The Slavonic and East European Review", []],
    ["Croatica et slavica iadertina", []],
    ["Slovenski jezik", []],
    ["Russian Linguistics", []]
  ].map{|a| a[-1] = [Topics::AREA_STUDIES, Topics::SLAVIC_STUDIES]+a[-1]; a }))
  # Economics
  JOURNALS.push(*( [
    ["Applied Econometrics and International Development", []],
    ["American Economic Review", []],
    ["American Journal of Agricultural Economics", []],
    ["Asian Economic Papers", []],
    ["Berkeley Electronic Press journals", []],
    ["Cambridge Journal of Economics", []],
    ["Canadian Journal of Economics", []],
    ["Comparative Technology Transfer and Society", []],
    ["Computational Economics", []],
    ["D+C Development and Cooperation", []],
    ["Eastern Economic Journal", []],
    ["Econ Journal Watch", []],
    ["Econometrics Journal", []],
    ["Economic Journal", []],
    ["Econometric Theory", []],
    ["Econometrica", []],
    ["Economic Modelling", []],
    ["Economic Theory", []],
    ["Economics Letters", []],
    ["Economy and Society", []],
    ["Education Finance and Policy", []],
    ["Energy Economics", []],
    ["European Economic Review", []],
    ["European Political Economy Review", []],
    ["Games and Economic Behavior", []],
    ["Health Economics", []],
    ["Industrial and Labor Relations Review", []],
    ["International Economic Review", []],
    ["International Journal of Central Banking", []],
    ["Japanese Economic Review", []],
    ["Journal of Applied Econometrics", []],
    ["Journal of Behavioral Finance", []],
    ["Journal of Business and Economic Statistics", []],
    ["Journal of Development Economics", []],
    ["Journal of Econometrics", []],
    ["Journal of Economic Behavior and Organization", []],
    ["Journal of Economic Dynamics and Control", []],
    ["Journal of Economic Education", []],
    ["Journal of Economic Issues", []],
    ["Journal of Economic Literature", []],
    ["Journal of Economic Perspectives", []],
    ["Journal of Economic Theory", []],
    ["Journal of Environmental Economics", []],
    ["Journal of Environmental Economics and Management", []],
    ["Journal of the European Economic Association", []],
    ["Journal of Financial Economics", []],
    ["Journal of Human Resources", []],
    ["Journal of Institutional Economics", []],
    ["Journal of International Economics", []],
    ["Journal of Labor Economics", []],
    ["Journal of Mathematical Economics", []],
    ["Journal of Monetary Economics", []],
    ["Journal of Money, Credit and Banking", []],
    ["Journal of Policy Modelling", []],
    ["Journal of Political Economy", []],
    ["Journal of Public Economics", []],
    ["Journal of Technology Transfer", []],
    ["Land Economics", []],
    ["Macroeconomic Dynamics", []],
    ["Manchester School", []],
    ["National Institute Economic Review", []],
    ["National Tax Journal", []],
    ["ORDO, The Annual Review of Economic and Social Order", []],
    ["Oxford Review of Economic Policy", []],
    ["Quarterly Journal of Austrian Economics", []],
    ["Quarterly Journal of Economics", []],
    ["Rand Journal of Economics", []],
    ["Rethinking Marxism", []],
    ["Review of Austrian Economics", []],
    ["Review of Economic Dynamics", []],
    ["Review of Economic Studies", []],
    ["Review of Economics and Statistics", []],
    ["Review of Environmental Economics and Policy", []],
    ["Review of International Political Economy", []],
    ["Review of Political Economy", []],
    ["Review of Radical Political Economics", []],
    ["Scandinavian Journal of Economics", []],
    ["Science and Society", []],
    ["Scottish Journal of Political Economy", []],
    ["Small Business Economics", []],
    ["South African Journal of Economics", []]
  ].map{|a| a[-1] = [Topics::ECONOMICS]+a[-1]; a }))
  # Education & educational technology
  JOURNALS.push(*( [
    ["ALT-J - Research in Learning Technology", []],
    ["Australasian Journal of Educational Technology", []],
    ["International Journal of Educational Technology", []],
    ["Educational Technology & Society", []],
    ["Educational Evaluation and Policy Analysis", []]
  ].map{|a| a[-1] = [Topics::EDUCATION]+a[-1]; a }))
  # Geography
  JOURNALS.push(*( [
    ["Antipode", []],
    ["Area", []],
    ["Journal of Biogeography", []],
    ["Geographical Review", []],
    ["Journal of Quaternary Science", []],
    ["National Geographic", []],
    ["Polar Research", []],
    ["The Geographical Journal", []],
    ["The Professional Geographer", []],
    ["Transactions of the Institute of British Geographers", []],
  ].map{|a| a[-1] = [Topics::GEOGRAPHY]+a[-1]; a }))
  # History
  JOURNALS.push(*( [
    ["Agricultural History Review", []],
    ["Alaska History", []],
    ["Albion", []],
    ["American Historical Review", []],
    ["American Journal of Archaeology", []],
    ["Annales du Service des Antiquités", []],
    ["Annales. Histoire, Sciences Sociales", []],
    ["Annual Register", []],
    ["Antiguo Oriente", []],
    ["Arthuriana", []],
    ["Australian Historical Studies", []],
    ["Bibliothèque de l'École des Chartes", []],
    ["Book History", []],
    ["British Museum Quarterly", []],
    ["Bulletin de la Société d'archéologie Copte", []],
    ["Bulletin de la Société d'Égyptologie", []],
    ["Bulletin de la Société française d'égyptologie", []],
    ["Bulletin de l'Institut Français d'archéologie Orientale", []],
    ["Bulletin des Musées Royaux d'Art et d'Histoire", []],
    ["Bulletin of the American Schools of Oriental Research", []],
    ["Bulletin of the Australian Centre for Egyptology", []],
    ["Bulletin of the Egyptological Seminar", []],
    ["Bulletin of the Institute of Historical Research", []],
    ["Bulletin of the John Rylands Library", []],
    ["Bulletin of the Metropolitan Museum of Art", []],
    ["Canadian Journal of History/ Annales canadiennes d'histoire", []],
    ["Chronique d'Égypte", []],
    ["Chung-Hsing Historiography", []],
    ["Church History", []],
    ["Economic History Review", []],
    ["English Historical Review", []],
    ["Environmental History", []],
    ["Gaines Junction: Undergraduate Interdisciplinary Journal of History", []],
    ["Göttinger Miszellen", []],
    ["The Historian", []],
    ["Historical Journal", []],
    ["Historical Research", []],
    ["Historical Studies in the Physical and Biological Sciences", []],
    ["Historische Zeitschrift", []],
    ["Historisk tidskrift", []],
    ["Historisk tidskrift för Finland", []],
    ["Historisk tidsskrift", []],
    ["Historisk tidsskrift", []],
    ["History", []],
    ["History Workshop Journal", []],
    ["Idaho Yesterdays", []],
    ["Indiana Magazine of History", []],
    ["International Review of Social History", []],
    ["Iranian Studies Journal", []],
    ["Isis", []],
    ["Israel Exploration Journal", []],
    ["Joan of Arc: Primary Sources Series", []],
    ["Journal for the History of Astronomy", []],
    ["Journal of African History", []],
    ["Journal of American History", []],
    ["Journal of Egyptian Archaeology", []],
    ["Journal of the Gilded Age and Progressive Era", []],
    ["Journal of Hellenic Studies", []],
    ["Journal of Interdisciplinary History", []],
    ["Journal of Joan of Arc Studies", []],
    ["Journal of Medieval History", []],
    ["Journal of Medieval Military History", []],
    ["Journal of Modern History", []],
    ["Journal of Near Eastern Studies", []],
    ["Journal of Policy History", []],
    ["Journal of Social History", []],
    ["Journal of the American Oriental Society", []],
    ["Journal of the American Research Center in Egypt", []],
    ["Journal of the History of Ideas", []],
    ["Journal of the Manchester Egyptian and Oriental Society", []],
    ["Journal of the Royal Asiatic Society", []],
    ["Journal of the Siam Society", []],
    ["Journal of the West", []],
    ["Le Cygne", []],
    ["Mitteilungen des Deutschen Archäologischen Instituts Abteilung Kairo", []],
    ["Montana The Magazine of Western History", []],
    ["Oregon Historical Quarterly", []],
    ["Oriens Extremus", []],
    ["Osiris", []],
    ["Ostracon", []],
    ["Pacific Historical Review", []],
    ["Pacific Northwest Quarterly", []],
    ["Palestine Exploration Quarterly", []],
    ["Parlement", []],
    ["Past & Present", []],
    ["Pennsylvania Magazine of History and Biography", []],
    ["Proceedings of the Society of Biblical Archaeology", []],
    ["Rivista Storica Italiana", []],
    ["Sixteenth Century Journal: The Journal of Early Modern Studies", []],
    ["The Seventeenth Century", []],
    ["SOAS Bulletin of Burma Research", []],
    ["The Social History of Alcohol and Drugs: An Interdisciplinary Journal", []],
    ["Speculum", []],
    ["Studien zur Altägyptischen Kultur", []],
    ["Swedish-American Historical Quarterly", []],
    ["Transactions of the Jewish Historical Society of England", []],
    ["Transactions of the Royal Historical Society", []],
    ["Vestnik Drevnel Istorii", []],
    ["Western Historical Quarterly", []],
    ["William and Mary Quarterly", []],
    ["Zeitschrift für ägyptische Sprache und Altertumskunde", []]
  ].map{|a| a[-1] = [Topics::HISTORY]+a[-1]; a }))
  # Law
  JOURNALS.push(*( [
    ["Alternative Law Journal", []],
    ["American Journal of Trial Advocacy", []],
    ["Ateneo Law Journal", []],
    ["Boston University Law Review", []],
    ["Butterworths Journal of International Banking and Financial Law", []],
    ["Brigham Young University Prelaw Review", []],
    ["California Law Review", []],
    ["Cambridge Law Journal", []],
    ["Canadian Journal of Family Law", []],
    ["Case Western Reserve Law Review", []],
    ["Chicago Journal of International Law", []],
    ["Civil Law Commentaries", []],
    ["Columbia Law Review", []],
    ["Construction Law Journal", []],
    ["Delta Theta Phi Law Review", []],
    ["European Competition Law Review", []],
    ["European Intellectual Property Review", []],
    ["Freilaw Freiburg Law Students Journal", []],
    ["Hamline Law Review", []],
    ["Harvard Law Review", []],
    ["Immigration and Nationality Law Review", []],
    ["International Journal of Evidence and Proof", []],
    ["Journal of Intellectual Property Law & Practice", []],
    ["Justice of the Peace Journal for the Magistrates Courts", []],
    ["Kyiv Student Journal of International Law", []],
    ["Kansas Journal of Law & Public Policy", []],
    ["Kansas Law Review", []],
    ["Law Quarterly Review", []],
    ["Loyola Consumer Law Review", []],
    ["Loyola of Los Angeles Law Review", []],
    ["Medical Law International", []],
    ["Michigan Law Review", []],
    ["Michigan State Law Review", []],
    ["Minnesota Law Review", []],
    ["Modern Law Review", []],
    ["New Law Journal", []],
    ["Otago Law Review", []],
    ["Oxford University Commonwealth Law Journal", []],
    ["Philippine Law Journal", []],
    ["Public Law", []],
    ["Slovenian Law Review", []],
    ["Stanford Law Review", []],
    ["Socio-Legal Review", []],
    ["Thomas M. Cooley Law Review", []],
    ["Tolley's Corporate Rescue & Insolvency Law Journal", []],
    ["Tolley's Employment Law Newsletter", []],
    ["University of Alberta Law Review", []],
    ["University of Chicago Law Review", []],
    ["University of Florida Law Review", []],
    ["University of Florida Journal of Law and Public Policy", []],
    ["University of Florida Journal of Technology Law and Policy", []],
    ["University of Florida Journal of International Law", []],
    ["Vanderbilt Law Review", []],
    ["Wake Forest Intellectual Property Law Journal", []],
    ["Web Journal of Current Legal Issues", []],
    ["Women's Rights Law Reporter", []],
    ["Yale Journal of International Law", []],
    ["Yale Law Journal", []]
  ].map{|a| a[-1] = [Topics::LAW]+a[-1]; a }))
  # Political science
  JOURNALS.push(*( [
    ["American Journal of Political Science", []],
    ["American Political Science Review", []],
    ["Annual Review of Political Science", []],
    ["Australian Quarterly", []],
    ["British Journal of Politics and International Relations", []],
    ["Canadian Journal of Political Science", []],
    ["Comparative Politics", []],
    ["European Political Economy Review", []],
    ["Foreign Policy", []],
    ["Foreign Affairs", []],
    ["Government and Opposition", []],
    ["International Affairs", []],
    ["Journal of Common Market Studies", []],
    ["Journal of Conflict Resolution", []],
    ["Journal of Democracy", []],
    ["Journal of International Policy Solutions", []],
    ["Journal of Peace Research", []],
    ["Journal of Politics", []],
    ["Journal of Politics & Society", []],
    ["Economic and Political Weekly", []],
    ["Michigan Journal of Political Science", []],
    ["Peace Review", []],
    ["Perspectives on Politics", []],
    ["Politica", []],
    ["Political Geography", []],
    ["The Political Quarterly", []],
    ["Political Science Forum", []],
    ["Political Science Quarterly", []],
    ["Political Studies", []],
    ["Political Studies Review", []],
    ["Politics and Policy", []],
    ["Politics", []],
    ["Politics & Society", []],
    ["Politikon", []],
    ["PS: Political Science & Politics", []],
    ["Public Administration and Development", []],
    ["Review of Politic", []],
    ["Revista de Ciencia Política", []],
    ["World Political Science Review", []]
  ].map{|a| a[-1] = [Topics::POLISCI]+a[-1]; a }))
  # Psychology
  JOURNALS.push(*( [
    ["Acheronta: Revista de Psicoanálisis y Cultura", []],
    ["Adaptive Behavior", []],
    ["Adolescence early clinical and scientific reports", []],
    ["Advances in Experimental Social Psychology", []],
    ["American Journal of Psychiatry", []],
    ["American Journal of Psychology", []],
    ["American Psychologist", []],
    ["The American Physiological Society Abstracts", []],
    ["American Psychologist", []],
    ["Analyses of Social Issues and Public Policy", []],
    ["Annales de Psicologia", []],
    ["Annual Review of Psychology", []],
    ["APS Observer", []],
    ["Aphasiology", []],
    ["Applied Psychology", []],
    ["Asian Journal of Social Psychology", []],
    ["Archives of Clinical Neuropsychology", []],
    ["Archives of General Psychiatry", []],
    ["Athletic Insight: The Online Journal of Sport Psychology", []],
    ["Australian Psychologist", []],
    ["Behavioral and Brain Sciences", []],
    ["Behavior Analyst Today", []],
    ["Behavior Research Methods", []],
    ["Behavior Research & Therapy", []],
    ["Behavior Development Bulletin", []],
    ["BMC Neurology", []],
    ["BMC Neuroscience", []],
    ["BMC Psychiatry", []],
    ["Brain", []],
    ["Brain and Language", []],
    ["Brain and Mind Magazine", []],
    ["British Journal of Clinical Psychology", []],
    ["British Journal of Developmental Psychology", []],
    ["British Journal of Educational Psychology", []],
    ["British Journal of Health Psychology", []],
    ["British Journal of Mathematical and Statistical Psychology", []],
    ["British Journal of Medical Psychology", []],
    ["British Journal of Psychology", []],
    ["British Journal of Social Psychology", []],
    ["British Journal of Sports Medicine", []],
    ["Canadian Journal of Behavioural Science", []],
    ["Canadian Journal of Experimental Psychology", []],
    ["Canadian Journal of Psychiatry", []],
    ["Canadian Journal of Psychology", []],
    ["Canadian Psychology", []],
    ["Canadian Undergraduate Journal of Cognitive Science", []],
    ["Cerebral Cortex", []],
    ["Chemical Senses", []],
    ["Child and Adolescent Psychiatry Online", []],
    ["Child Development", []],
    ["Clinical Psychology Newsletter", []],
    ["Clinical Psychology: Science and Practice", []],
    ["Cognition", []],
    ["Cognition and Emotion", []],
    ["Cognitive Neuropsychiatry", []],
    ["Cognitive Neuropsychology", []],
    ["Cognitive Therapy and Research", []],
    ["Complexity International", []],
    ["Consciousness and Cognition Contemporary Psychology", []],
    ["Counseling and Clinical Psychology Journal", []],
    ["Cross-Cultural Psychology Bulletin", []],
    ["Cross Cultural Research", []],
    ["Cultic Studies Review", []],
    ["Current Directions in Psychological Science", []],
    ["Current Neuroscience Reports", []],
    ["Current Psychiatry Reports", []],
    ["Current Psychosis and Therapeutic Reports", []],
    ["Current Research in Social Psychology", []],
    ["Cybernetics and Human Knowing", []],
    ["Developmental Psychology", []],
    ["Development and Pathology", []],
    ["Dynamical Psychology", []],
    ["Ecological Psychology", []],
    ["Education & Treatment of Children", []],
    ["Educational Policy Analysis Archives", []],
    ["Educational Psychology", []],
    ["The Electronic Journal of Communicative Psychoanalysis", []],
    ["The Electronic Journal of Human Sexuality", []],
    ["Electronic Journal of Research in Educational Psychology", []],
    ["The EMDR Practitioner", []],
    ["Employee Responsibilities and Rights Journal", []],
    ["European Journal of Behavior Analysis", []],
    ["European Journal of Neuroscience", []],
    ["European Journal of Work and Organizational Psychology", []],
    ["Europe's Journal of Psychology", []],
    ["European Eating Disorders Review", []],
    ["European Psychologist", []],
    ["Evidenced-Based Mental Health", []],
    ["Family relations", []],
    ["Gatherings: seeking ecopsychology", []],
    ["General Hospital Psychiatry", []],
    ["Genes, Brain and Behavior", []],
    ["Genetic, Social, and General Psychology Monographs", []],
    ["German Journal of Psychiatry", []],
    ["Gestalt!", []],
    ["Gestalt Review", []],
    ["Gestalt theory", []],
    ["The Harvard Brain", []],
    ["History of Psychology", []],
    ["Impulse", []],
    ["Individual Difference Research", []],
    ["International Bulletin of Political Psychology", []],
    ["International Journal of Aviation Psychology", []],
    ["International Journal of Behavior Development", []],
    ["International Journal of Behavioral Nutrition and Physical Activity", []],
    ["International Journal of Behavior Consultation and Therapy", []],
    ["International Journal of Clinical and Experimental Hypnosis", []],
    ["International Journal of Comparative Psychology", []],
    ["International Journal of Forensic Psychology", []],
    ["International Journal of Human Computer Studies", []],
    ["International Journal of Psychology", []],
    ["International Journal of Psychopathology, Psychopharmacology, and Psychotherapy", []],
    ["International Journal of Rural Psychology", []],
    ["International Psychogeriatrics", []],
    ["International Journal of Transgenderism", []],
    ["Internet Journal of Mental Health", []],
    ["Internet Journal of Ophthalmology and Visual Science", []],
    ["Journal of Abnormal Child Psychology", []],
    ["Journal of Abnormal Psychology", []],
    ["Journal of the Acoustical Society of America", []],
    ["Journal of the Acoustical Society of Japan", []],
    ["Journal of Addictive Diseases", []],
    ["Journal of the American Academy of Child & Adolescent Psychiatry", []],
    ["Journal of the American Psychoanalytic Association", []],
    ["Journal of Applied Behavior Analysis", []],
    ["Journal of Applied Psychology", []],
    ["Journal of Applied Psychoanalysis", []],
    ["Journal of Artificial Intelligence Research", []],
    ["Journal of Australian Psychology", []],
    ["Journal of Behavioral and Neuroscience Research", []],
    ["Journal of Clinical Child and Adolescent Psychology", []],
    ["Journal of Clinical and Experimental Neuropsychology", []],
    ["Journal of Clinical Psychiatry", []],
    ["Journal of Community and Applied Social Psychology", []],
    ["Journal of Consciousness Studies", []],
    ["Journal of Credibility Assessment and Witness Psychology", []],
    ["Journal of Cross-Cultural Psychology", []],
    ["Journal of Early and Intensive Behavior Intervention", []],
    ["Journal of the Experimental Analysis of Behavior", []],
    ["Journal of Cognitive Neuroscience", []],
    ["Journal of Cognitive and Behavioral Psychotherapies", []],
    ["Journal of Cognitive Rehabilitation", []],
    ["Journal of Consulting and Clinical Psychology", []],
    ["Journal of the Experimental Analysis of Behavior", []],
    ["Journal of Experimental Psychology: Animal Behavior Processes", []],
    ["Journal of Experimental Psychology: Applied", []],
    ["Journal of Experimental Psychology: General", []],
    ["Journal of Experimental Psychology: Human Perception and Performance", []],
    ["Journal of Experimental Psychology: Learning, Memory, and Cognition", []],
    ["Journal of Family Therapy", []],
    ["Journal of Family Violence", []],
    ["Journal of General Psychology", []],
    ["Journal of Genetic Psychology", []],
    ["Journal of Health Psychology", []],
    ["Journal of Intelligent Systems", []],
    ["Journal of Marriage and Family", []],
    ["Journal of Humanistic Psychology", []],
    ["Journal of Mind and Behavior", []],
    ["Journal of Neurophysiology", []],
    ["Journal of Neuroscience", []],
    ["Journal of Online Behavior", []],
    ["Journal of Occupational and Organizational Psychology", []],
    ["Journal of Occupational Health Psychology", []],
    ["Journal of Pastoral Care", []],
    ["Journal of Personality and Social Psychology", []],
    ["Journal of Postgraduate Medicine", []],
    ["Journal of Psychology: Interdisciplinary and Applied", []],
    ["Journal of Research in Personality", []],
    ["Journal of Research Practice", []],
    ["Journal of Rural Community Psychology", []],
    ["Journal of Sex & Marital Therapy", []],
    ["Journal of Sex Research", []],
    ["Journal of Social & Psychological Sciences", []],
    ["Journal of Speech-Language Pathology and Applied Behavior Analysis", []],
    ["Journal of Theoretical and Philosophical Psychology", []],
    ["Journal of Undergraduate Neuroscience Education", []],
    ["Journal of Undergraduate Psychology Research", []],
    ["Journal of Virtual Environments", []],
    ["Journal of Vision", []],
    ["Journal of Vocational Behavior", []],
    ["Journal of Worry & Affective Experience", []],
    ["Kindheit und Entwicklung", []],
    ["Language and Cognitive Processes", []],
    ["Learning and Memory", []],
    ["Legal and Criminological Psychology", []],
    ["Metaphor and Symbolic Activity", []],
    ["Medicine, Mind and Adolescence", []],
    ["Memory", []],
    ["Merrill-Palmer Quarterly", []],
    ["Modern Psychological Studies", []],
    ["Music Perception", []],
    ["Neural Information Processing", []],
    ["Neuroanatomy", []],
    ["Neurocase", []],
    ["Neuroingegneria", []],
    ["Neuropsychological Rehabilitation", []],
    ["The Neuroscientist", []],
    ["Noetica: A Cognitive Science Forum", []],
    ["North American Journal of Psychology", []],
    ["Personality and Individual Differences", []],
    ["Personnel Psychology", []],
    ["Perspectives on Psychological Science", []],
    ["Practical Assessment, Research & Evaluation", []],
    ["Professional Psychology: Research and Practice", []],
    ["Psicologia & Giustizia: The Italian Review of Forensic Psychology", []],
    ["Psicologica", []],
    ["Psyche", []],
    ["Psychiatric Rehabilitation Journal", []],
    ["Psychiatry Online Italia", []],
    ["Psychnology", []],
    ["Psychologica Belgica", []],
    ["Psychology and Psychotherapy: Theory, Research and Practice", []],
    ["Psychological Assessment", []],
    ["Psychological Bulletin", []],
    ["Psychological Methods", []],
    ["Psychological Review", []],
    ["Psychological Science", []],
    ["Psychological Science in the Public Interest", []],
    ["The Psychologist- House magazine of British Psychological Society", []],
    ["Psychology Journal", []],
    ["Psychology in Spain", []],
    ["Psychology Online Journal", []],
    ["Psychology of Music", []],
    ["Psychology Software News", []],
    ["Psycoloquy", []],
    ["Psychometrika", []],
    ["Psychosomatic Medicine", []],
    ["Psychotherapie - Zeitschrift für Moderne Psychotherapie & Gesellschaft", []],
    ["Psychotherapy: Theory\\Practice\\Research\\Training", []],
    ["Psyplomacy", []],
    ["Radical Pedegology", []],
    ["Radical Psychology", []],
    ["Reading Online", []],
    ["Revista Internacional de Psicoanálisis", []],
    ["Sex Roles: A Journal of Research", []],
    ["Technical Acoustics", []],
    ["TIP: The Industrial-Organizational Psychologist", []],
    ["Theory and Psychology", []],
    ["Theory and Review in Psychology", []],
    ["Theory and Science", []],
    ["Thinking & Reasoning", []],
    ["Traumatology", []],
    ["Trends in Cognitive Sciences", []],
    ["TRN Newsletter", []],
    ["Tutorials in Quantitative Methods for Psychology", []],
    ["Universitas Psychologica", []],
    ["Vision Research", []],
    ["Visual Cognition", []],
    ["Visual Neuroscience", []]
  ].map{|a| a[-1] = [Topics::PSYCHOLOGY]+a[-1]; a }))
  # Sociology
  JOURNALS.push(*( [
    ["Acta Sociologica", []],
    ["American Journal of Economics and Sociology", []],
    ["American Journal of Sociology", []],
    ["American Sociological Review", []],
    ["Annee Sociologique", []],
    ["Ateneo Student Review for the Social Sciences", []],
    ["Annual Review of Sociology", []],
    ["British Journal of Sociology", []],
    ["Comparative Studies in Society and History JSTOR", []],
    ["Contemporary Sociology", []],
    ["Electronic Journal in Sociology", []],
    ["Ethnic and Racial Studies", []],
    ["European Sociological Review", []],
    ["Feminist Studies", []],
    ["Journal of Mundane Behavior", []],
    ["Journal of Social Structure", []],
    ["Kölner Zeitschrift für Soziologie und Sozialpsychologie", []],
    ["Mobilization: The International Quarterly Review of Social Movement Research", []],
    ["Qualitative Sociology Springer", []],
    ["Rationality & Society", []],
    ["Rural Sociology", []],
    ["Signs: Journal of Women in Culture and Society", []],
    ["Sociologia Ruralis", []],
    ["Social Forces JSTOR", []],
    ["Sociological Research Online", []],
    ["Sociological Methods and Research", []],
    ["Sociological Inquiry", []],
    ["Sociological Spectrum", []],
    ["Sociological Theory", []],
    ["Teaching Sociology", []],
    ["Tönnies-Forum", []],
    ["Sociology of Education", []],
    ["Soziale Welt", []],
    ["Voices", []],
    ["Youth & Society", []],
    ["Zeitschrift für Soziologie", []]
  ].map{|a| a[-1] = [Topics::SOCIOLOGY]+a[-1]; a }))

  PUBLICATIONS = JOURNALS.map{|pattern,name,topics|
    unless topics
      topics = name
      name = pattern
      pattern = /\b#{Regexp.escape(name)}\b/
    end
    [pattern, name, topics]
  }.sort_by{|p,n,g|
    [TitleGuesser::WORDS[n.strip.downcase] ? 1 : 0, -n.length, -g.length]
  }
  # Sort by length, descending. Non-words first.
  # If many have same name, put ones with most topics first.

  CS_CONFERENCES = []

  # Algorithms and Theory of Computation
  CS_CONFERENCES.push(*( [
    [/\b(STOC([^a-zA-Z]?\d*)|ACM\ Symposium\ on\ Theory\ of\ Computing)\b/u, "ACM Symposium on Theory of Computing", [Topics::TOC]],
    [/\b(FOCS([^a-zA-Z]?\d*)|IEEE\ Symposium\ on\ Foundations\ of\ Computer\ Science)\b/u, "IEEE Symposium on Foundations of Computer Science", [Topics::TOC]],
    [/\b(LICS([^a-zA-Z]?\d*)|Logic\ in\ Computer\ Science)\b/u, "Logic in Computer Science", [Topics::TOC]],
    [/\b(SODA([^a-zA-Z]?\d*)|Symposium\ on\ Discrete\ Algorithms)\b/u, "Symposium on Discrete Algorithms", [Topics::ALG]],
    [/\b(CRYPTO([^a-zA-Z]?\d*)|International\ Cryptology\ Conference)\b/u, "International Cryptology Conference", [Topics::CRYPTO]],
    [/\b(SoCG([^a-zA-Z]?\d*)|ACM\ Symposium\ on\ Computational\ Geometry)\b/u, "ACM Symposium on Computational Geometry", [Topics::COMPUTATIONAL_GEOMETRY]],
    [/\b(SPAA([^a-zA-Z]?\d*)|ACM\ Symposium\ on\ Parallel\ Algorithms\ and\ Architectures)\b/u, "ACM Symposium on Parallel Algorithms and Architectures", [Topics::ALG]],
    [/\b(COLT([^a-zA-Z]?\d*)|Computational\ Learning\ Theory)\b/u, "Computational Learning Theory", [Topics::TOC]],
    [/\b(CADE([^a-zA-Z]?\d*)|Conference\ on\ Automated\ Deduction)\b/u, "Conference on Automated Deduction", [Topics::ALG]],
    [/\b(CCC([^a-zA-Z]?\d*)|Conference\ on\ Computational\ Complexity)\b/u, "Conference on Computational Complexity", [Topics::TOC]],
    [/\b(STACS([^a-zA-Z]?\d*)|Symposium\ on\ Theoretical\ Aspects\ of\ Computer\ Science)\b/u, "Symposium on Theoretical Aspects of Computer Science", [Topics::TOC]],
    [/\b(ISSAC([^a-zA-Z]?\d*)|International\ Symposium\ on\ Symbolic\ and\ Algebraic\ Computation)\b/u, "International Symposium on Symbolic and Algebraic Computation", [Topics::SYMBCOMP]],
    [/\b(WADS([^a-zA-Z]?\d*)|Workshop\ on\ Algorithms\ and\ Data\ Structures)\b/u, "Workshop on Algorithms and Data Structures", [Topics::ALG]],
    [/\b(EuroCOLT([^a-zA-Z]?\d*)|European\ Conference\ on\ Computational\ Learning\ Theory)\b/u, "European Conference on Computational Learning Theory", []],
    [/\b(ISTCS([^a-zA-Z]?\d*)|Israel\ Symposium\ on\ Theory\ of\ Computing\ Systems)\b/u, "Israel Symposium on Theory of Computing Systems", [Topics::TOC]],
    [/\b(FSTTCS([^a-zA-Z]?\d*)|Foundations\ of\ Software\ Technology\ and\ Theoretical\ Computer\ Science)\b/u, "Foundations of Software Technology and Theoretical Computer Science", []],
    [/\b(MFCS([^a-zA-Z]?\d*)|Mathematical\ Foundations\ of\ Computer\ Science)\b/u, "Mathematical Foundations of Computer Science", [Topics::TOC]],
    [/\b(GD([^a-zA-Z]?\d*)|Symposium\ on\ Graph\ Drawing)\b/u, "Symposium on Graph Drawing", [Topics::ALG]],
    [/\b(IPCO([^a-zA-Z]?\d*)|Integer\ Programming\ and\ Combinatorial\ Optimization)\b/u, "Integer Programming and Combinatorial Optimization", []],
    [/\b(ALT([^a-zA-Z]?\d*)|Algorithmic\ Learning\ Theory)\b/u, "Algorithmic Learning Theory", []],
    [/\b(CSL([^a-zA-Z]?\d*)|Computer\ Science\ Logic)\b/u, "Computer Science Logic", []],
    [/\b(CCCG([^a-zA-Z]?\d*)|Canadian\ Conference\ on\ Computational\ Geometry)\b/u, "Canadian Conference on Computational Geometry", []],
    [/\b(FCT([^a-zA-Z]?\d*)|Fundamentals\ of\ Computation\ Theory)\b/u, "Fundamentals of Computation Theory", []],
    [/\b(WG([^a-zA-Z]?\d*)|Workshop\ on\ Graph\-Theoretic\ Concepts\ in\ Computer\ Science)\b/u, "Workshop on Graph-Theoretic Concepts in Computer Science", []],
    [/\b(LATIN([^a-zA-Z]?\d*)|Latin\ American\ Theoretical\ INformatics)\b/u, "Latin American Theoretical INformatics", []],
    [/\b(ALENEX([^a-zA-Z]?\d*)|Algorithm\ Engineering\ and\ Experimentation)\b/u, "Algorithm Engineering and Experimentation", []],
    [/\b(ASIAN([^a-zA-Z]?\d*)|Asian\ Computing\ Science\ Conference)\b/u, "Asian Computing Science Conference", []],
    [/\b(COCOON([^a-zA-Z]?\d*)|Computing\ and\ Combinatorics)\b/u, "Computing and Combinatorics", []],
    [/\b(LFCS([^a-zA-Z]?\d*)|Logical\ Foundations\ of\ Computer\ Science)\b/u, "Logical Foundations of Computer Science", []],
    [/\b(SIROCCO([^a-zA-Z]?\d*)|Colloquium\ on\ Structural\ Information\ &\ Communication\ Complexity)\b/u, "Colloquium on Structural Information & Communication Complexity", []],
    [/\b(ICTCS([^a-zA-Z]?\d*)|Italian\ Conference\ on\ Theoretical\ Computer\ Science)\b/u, "Italian Conference on Theoretical Computer Science", []]
  ].map{|a| a[-1] = [Topics::ALGORITHMS_AND_THEORY_OF_COMPUTATION]+a[-1]; a }))
  # Artificial Intelligence
  CS_CONFERENCES.push(*( [
    [/\b(AAAI([^a-zA-Z]?\d*)|National\ Conference\ on\ Artificial\ Intelligence)\b/u, "National Conference on Artificial Intelligence", []],
    [/\bInternational\ Conference\ on\ Genetic\ Algorithms\b/u, "International Conference on Genetic Algorithms", []],
    [/\b(IJCAI([^a-zA-Z]?\d*)|International\ Joint\ Conference\ on\ Artificial\ Intelligence)\b/u, "International Joint Conference on Artificial Intelligence", []],
    [/\b(KR([^a-zA-Z]?\d*)|Principles\ of\ Knowledge\ Representation\ and\ Reasoning)\b/u, "Principles of Knowledge Representation and Reasoning", []],
    [/\b(UAI([^a-zA-Z]?\d*)|Uncertainty\ in\ Artificial\ Intelligence)\b/u, "Uncertainty in Artificial Intelligence", []],
    [/\b(ICMAS([^a-zA-Z]?\d*)|International\ Conference\ on\ Multiagent\ Systems)\b/u, "International Conference on Multiagent Systems", []],
    [/\b(AAMAS\(Agents\)([^a-zA-Z]?\d*)|Autonomous\ Agents\ and\ Multiagent\ Systems\/International\ Conference\ on\ Autonomous\ Agents)\b/u, "Autonomous Agents and Multiagent Systems/International Conference on Autonomous Agents", []],
    [/\b(ICAPS\(AIPS\)([^a-zA-Z]?\d*)|International\ Conference\ on\ Automated\ Planning\ and\ Scheduling\/Artificial\ Intelligence\ Planning\ Systems)\b/u, "International Conference on Automated Planning and Scheduling/Artificial Intelligence Planning Systems", []],
    [/\b(ICRA([^a-zA-Z]?\d*)|International\ Conference\ on\ Robotics\ and\ Automation)\b/u, "International Conference on Robotics and Automation", []],
    [/\b(ECAI([^a-zA-Z]?\d*)|European\ Conference\ on\ Artificial\ Intelligence)\b/u, "European Conference on Artificial Intelligence", []],
    [/\b(ICAIL([^a-zA-Z]?\d*)|International\ Conference\ on\ Artificial\ Intelligence\ and\ Law)\b/u, "International Conference on Artificial Intelligence and Law", []],
    [/\b(ICCBR([^a-zA-Z]?\d*)|Case\-Based\ Reasoning\ and\ Development)\b/u, "Case-Based Reasoning and Development", []],
    [/\b(JELIA([^a-zA-Z]?\d*)|Logics\ in\ Artificial\ Intelligence)\b/u, "Logics in Artificial Intelligence", []],
    [/\b(KI([^a-zA-Z]?\d*)|German\ Conference\ on\ Artificial\ Intelligence)\b/u, "German Conference on Artificial Intelligence", []],
    [/\bArtificial\ Intelligence\ and\ the\ Simulation\ of\ Behaviour\b/u, "Artificial Intelligence and the Simulation of Behaviour", []],
    [/\b(EuroGP([^a-zA-Z]?\d*)|European\ Conference\ on\ Genetic\ Programming)\b/u, "European Conference on Genetic Programming", []],
    [/\b(AIA([^a-zA-Z]?\d*)|Artificial\ Intelligence\ and\ Applications)\b/u, "Artificial Intelligence and Applications", []],
    [/\b(ICTAI([^a-zA-Z]?\d*)|International\ Conference\ on\ Tools\ with\ Artificial\ Intelligence)\b/u, "International Conference on Tools with Artificial Intelligence", []],
    [/\b(EPIA([^a-zA-Z]?\d*)|Portuguese\ Conference\ on\ Artificial\ Intelligence)\b/u, "Portuguese Conference on Artificial Intelligence", []],
    [/\b(SETN([^a-zA-Z]?\d*)|Hellenic\ Conference\ on\ Artificial\ Intelligence)\b/u, "Hellenic Conference on Artificial Intelligence", []],
    [/\b(IAIA([^a-zA-Z]?\d*)|Congress\ of\ the\ Italian\ Association\ for\ Artificial\ Intelligence)\b/u, "Congress of the Italian Association for Artificial Intelligence", []],
    [/\b(AI&M([^a-zA-Z]?\d*)|Artificial\ Intelligence\ and\ Mathematics)\b/u, "Artificial Intelligence and Mathematics", []],
    [/\b(MICAI([^a-zA-Z]?\d*)|Mexican\ International\ Conference\ on\ Artificial\ Intelligence)\b/u, "Mexican International Conference on Artificial Intelligence", []],
    [/\bCanadian\ Conference\ on\ Artificial\ Intelligence\b/u, "Canadian Conference on Artificial Intelligence", []],
    [/\b(AISC([^a-zA-Z]?\d*)|Artificial\ Intelligence\ and\ Symbolic\ Computation)\b/u, "Artificial Intelligence and Symbolic Computation", []],
    [/\bArtificial\ Intelligence\ and\ Soft\ Computing\b/u, "Artificial Intelligence and Soft Computing", []],
    [/\b(AIMDM([^a-zA-Z]?\d*)|Conference\ on\ Artificial\ Intelligence\ in\ Medicine\ and\ Medical\ Decision\ Making)\b/u, "Conference on Artificial Intelligence in Medicine and Medical Decision Making", []],
    [/\b(IC-AI([^a-zA-Z]?\d*)|International\ Conference\ on\ Artificial\ Intelligence)\b/u, "International Conference on Artificial Intelligence", []],
    [/\b(PRICAI([^a-zA-Z]?\d*)|Pacific\ Rim\ International\ Conference\ on\ Artificial\ Intelligence)\b/u, "Pacific Rim International Conference on Artificial Intelligence", []],
    [/\b(IAAI([^a-zA-Z]?\d*)|Innovative\ Applications\ of\ Artificial\ Intelligence)\b/u, "Innovative Applications of Artificial Intelligence", []],
    [/\b(AIMSA([^a-zA-Z]?\d*)|Artificial\ Intelligence:\ Methodology,\ Systems,\ Applications)\b/u, "Artificial Intelligence: Methodology, Systems, Applications", []],
    [/\b(AUS-AI([^a-zA-Z]?\d*)|Australian\ Joint\ Conference\ on\ Artificial\ Intelligence)\b/u, "Australian Joint Conference on Artificial Intelligence", []],
    [/\b(IEA\/AIE([^a-zA-Z]?\d*)|Industrial\ and\ Engineering\ Applications\ of\ Artificial\ Intelligence\ and\ Expert\ Systems)\b/u, "Industrial and Engineering Applications of Artificial Intelligence and Expert Systems", []],
    [/\bArtificial\ Intelligence\ and\ Cognitive\ Science\b/u, "Artificial Intelligence and Cognitive Science", []],
    [/\bArtificial\ Intelligence\ from\ the\ Information\ Processing\ Perspective\b/u, "Artificial Intelligence from the Information Processing Perspective", []],
    [/\bArtificial\ Intelligence\ in\ Education\b/u, "Artificial Intelligence in Education", []],
    [/\bArtificial\ Intelligence\ in\ Structural\ Engineering\b/u, "Artificial Intelligence in Structural Engineering", []],
    [/\bAssistive\ Technology\ and\ Artificial\ Intelligence\b/u, "Assistive Technology and Artificial Intelligence", []],
    [/\b(SBIA([^a-zA-Z]?\d*)|Brazilian\ Symposium\ on\ Artificial\ Intelligence)\b/u, "Brazilian Symposium on Artificial Intelligence", []],
    [/\b(DAI([^a-zA-Z]?\d*)|Distributed\ Artificial\ Intelligence)\b/u, "Distributed Artificial Intelligence", []],
    [/\bFundamentals\ of\ Artificial\ Intelligence\ Research\b/u, "Fundamentals of Artificial Intelligence Research", []],
    [/\b(ICML([^a-zA-Z]?\d*)|International\ Conference\ on\ Machine\ Learning)\b/u, "International Conference on Machine Learning", []],
    [/\bMusic\ and\ Artificial\ Intelligence\b/u, "Music and Artificial Intelligence", []],
    [/\b(NIPS([^a-zA-Z]?\d*)|Neural\ Information\ Processing\ Systems)\b/u, "Neural Information Processing Systems", []],
    [/\b(IS\/KI([^a-zA-Z]?\d*)|Workshop\ on\ Information\ Systems\ and\ Artificial\ Intelligence)\b/u, "Workshop on Information Systems and Artificial Intelligence", []],
    [/\b(WOCFAI([^a-zA-Z]?\d*)|World\ Conference\ on\ the\ Fundamentals\ of\ Artificial\ Intelligence)\b/u, "World Conference on the Fundamentals of Artificial Intelligence", []],
    [/\b(WSEAS([^a-zA-Z]?\d*)|International\ Conference\ on\ Neural\ Networks)\b/u, "International Conference on Neural Networks", []],
    [/\b(WSEAS([^a-zA-Z]?\d*)|International\ Conference\ on\ Fuzzy\ Systems)\b/u, "International Conference on Fuzzy Systems", []],
    [/\b(WSEAS([^a-zA-Z]?\d*)|International\ Conference\ on\ Evolutionary\ Computing)\b/u, "International Conference on Evolutionary Computing", []],
    [/\b(GECCO([^a-zA-Z]?\d*)|Genetic\ and\ Evolutionary\ Computation\ Conference\ \(ACM\))\b/u, "Genetic and Evolutionary Computation Conference", []],
    [/\b(FOGA([^a-zA-Z]?\d*)|Foundations\ of\ Genetic\ Algorithms)\b/u, "Foundations of Genetic Algorithms", []],
    [/\b(ANTS([^a-zA-Z]?\d*)|International\ Conference\ on\ Ant\ Colony\ Optimization\ and\ Swarm\ Intelligence)\b/u, "International Conference on Ant Colony Optimization and Swarm Intelligence", []],
    [/\b(InTech([^a-zA-Z]?\d*)|International\ Conference\ on\ Intelligent\ Technologies)\b/u, "International Conference on Intelligent Technologies", []]
  ].map{|a| a[-1] = [Topics::ARTIFICIAL_INTELLIGENCE]+a[-1]; a }))
  # Automata and Formal Language Theory
  CS_CONFERENCES.push(*( [
    [/\b(ICALP([^a-zA-Z]?\d*)|International\ Colloquium\ on\ Automata,\ Languages\ and\ Programming)\b/u, "International Colloquium on Automata, Languages and Programming", []],
    [/\b(DLT([^a-zA-Z]?\d*)|International\ Conference\ on\ Developments\ in\ Language\ Theory)\b/u, "International Conference on Developments in Language Theory", []],
    [/\b(CIAA([^a-zA-Z]?\d*)|International\ Conference\ on\ Implementation\ and\ Application\ of\ Automata)\b/u, "International Conference on Implementation and Application of Automata", []],
    [/\b(AFL([^a-zA-Z]?\d*)|International\ Conference\ on\ Automata\ and\ Formal\ Languages)\b/u, "International Conference on Automata and Formal Languages", []],
    [/\b(DCFS([^a-zA-Z]?\d*)|International\ Workshop\ on\ Descriptional\ Complexity\ of\ Formal\ Systems)\b/u, "International Workshop on Descriptional Complexity of Formal Systems", []],
    [/\b(LATA([^a-zA-Z]?\d*)|International\ Conference\ on\ Language\ and\ Automata\ Theory\ and\ Applications)\b/u, "International Conference on Language and Automata Theory and Applications", []]
  ].map{|a| a[-1] = [Topics::AUTOMATA_AND_FORMAL_LANGUAGE_THEORY]+a[-1]; a }))
  # Bioinformatics and Computational Biology
  CS_CONFERENCES.push(*( [
    [/\bIntelligent\ Systems\ in\ Molecular\ Biology\b/u, "Intelligent Systems in Molecular Biology", []],
    [/\b(RECOMB([^a-zA-Z]?\d*)|Research\ in\ Computational\ Molecular\ Biology)\b/u, "Research in Computational Molecular Biology", []],
    [/\bPacific\ Symposium\ on\ Biocomputing\b/u, "Pacific Symposium on Biocomputing", []],
    [/\b(VBC([^a-zA-Z]?\d*)|Visualization\ in\ Biomedical\ Computing)\b/u, "Visualization in Biomedical Computing", []],
    [/\bComputational\ Methods\ in\ Systems\ Biology\b/u, "Computational Methods in Systems Biology", []],
    [/\b(WABI([^a-zA-Z]?\d*)|Algorithms\ in\ Bioinformatics)\b/u, "Algorithms in Bioinformatics", []],
    [/\b(APBC([^a-zA-Z]?\d*)|Asia\-Pacific\ Bioinformatics\ Conference)\b/u, "Asia-Pacific Bioinformatics Conference", []],
    [/\bWorkshop\ on\ Biomedical\ Image\ Registration\b/u, "Workshop on Biomedical Image Registration", []],
    [/\bEuropean\ Conference\ on\ Computational\ Biology\b/u, "European Conference on Computational Biology", []],
    [/\b(METMBS([^a-zA-Z]?\d*)|Mathematics\ and\ Engineering\ Techniques\ in\ Medicine\ and\ Biological\ Scienes)\b/u, "Mathematics and Engineering Techniques in Medicine and Biological Scienes", []],
    [/\b(CIBCB([^a-zA-Z]?\d*)|IEEE\ Symposium\ on\ Computational\ Intelligence\ in\ Bioinformatics\ and\ Computational\ Biology)\b/u, "IEEE Symposium on Computational Intelligence in Bioinformatics and Computational Biology", []],
    [/\b(CSB([^a-zA-Z]?\d*)|IEEE\ Computer\ Society\ Bioinformatics\ Conference)\b/u, "IEEE Computer Society Bioinformatics Conference", []],
    [/\b(IEEE([^a-zA-Z]?\d*)|International\ Symposium\ on\ Biomedical\ Imaging)\b/u, "International Symposium on Biomedical Imaging", []],
    [/\b(WOB([^a-zA-Z]?\d*)|Brazilian\ Workshop\ on\ Bioinformatics\]\])\b/u, "Brazilian Workshop on Bioinformatics]]", []],
    [/\b(BIBE([^a-zA-Z]?\d*)|IEEE\ International\ Conference\ on\ Bioinformatics\ and\ Bioengineering)\b/u, "IEEE International Conference on Bioinformatics and Bioengineering", []],
    [/\b(GCB([^a-zA-Z]?\d*)|German\ Conference\ on\ Bioinformatics)\b/u, "German Conference on Bioinformatics", []],
    [/\b(BCEC([^a-zA-Z]?\d*)|Biocomputing\ and\ Emergent\ Computation)\b/u, "Biocomputing and Emergent Computation", []],
    [/\bEvolution\ and\ Biocomputation\b/u, "Evolution and Biocomputation", []]
  ].map{|a| a[-1] = [Topics::BIOINFORMATICS_AND_COMPUTATIONAL_BIOLOGY]+a[-1]; a }))
  # Graphics
  CS_CONFERENCES.push(*( [
    [/\b(SIGGRAPH([^a-zA-Z]?\d*)|Annual\ Conference\ on\ Computer\ Graphics)\b/u, "Annual Conference on Computer Graphics", []],
    [/\b(SI3D([^a-zA-Z]?\d*)|Symposium\ on\ Interactive\ 3D\ Graphics)\b/u, "Symposium on Interactive 3D Graphics", []],
    [/\b(IEEE([^a-zA-Z]?\d*)|Visualization\ \-\ IEEE\ Visualization)\b/u, "Visualization - IEEE Visualization", []],
    [/\bEurographics\ Workshop\ on\ Rendering\ Techniques\b/u, "Eurographics Workshop on Rendering Techniques", []],
    [/\b(VolVis([^a-zA-Z]?\d*)|Volume\ Visualization\ and\ Graphics)\b/u, "Volume Visualization and Graphics", []],
    [/\b(VVS([^a-zA-Z]?\d*)|Volume\ Visualization)\b/u, "Volume Visualization", []],
    [/\b(HWWS([^a-zA-Z]?\d*)|SIGGRAPH\/EUROGRAPHICS\ Workshop\ On\ Graphics\ Hardware)\b/u, "SIGGRAPH/EUROGRAPHICS Workshop On Graphics Hardware", []],
    [/\bGraphics\ Interface\b/u, "Graphics Interface", []],
    [/\b(INFOVIS([^a-zA-Z]?\d*)|IEEE\ Symposium\ on\ Information\ Visualization)\b/u, "IEEE Symposium on Information Visualization", []],
    [/\b(CA([^a-zA-Z]?\d*)|Computer\ Animation\ Conference)\b/u, "Computer Animation Conference", []],
    [/\b(Non-Photorealistic\ Animation\ and\ Rendering)\b/u, "Non-Photorealistic Animation and Rendering", []],
    [/\b(PRS([^a-zA-Z]?\d*)|Parallel\ Rendering\ Symposium)\b/u, "Parallel Rendering Symposium", []],
    [/\b(SCA([^a-zA-Z]?\d*)|Symposium\ on\ Computer\ Animation)\b/u, "Symposium on Computer Animation", []],
    [/\b(VBC([^a-zA-Z]?\d*)|Visualization\ in\ Biomedical\ Computing)\b/u, "Visualization in Biomedical Computing", []],
    [/\bPacific\ Conference\ on\ Computer\ Graphics\ and\ Applications\b/u, "Pacific Conference on Computer Graphics and Applications", []],
    [/\b(VisSym([^a-zA-Z]?\d*)|Joint\ Eurographics\ \-\ IEEE\ TCVG\ Symposium\ on\ Visualization)\b/u, "Joint Eurographics - IEEE TCVG Symposium on Visualization", []],
    [/\b(VMV([^a-zA-Z]?\d*)|Vision\ Modeling\ and\ Visualization)\b/u, "Vision Modeling and Visualization", []],
    [/\b(VR([^a-zA-Z]?\d*)|IEEE\ Virtual\ Reality)\b/u, "IEEE Virtual Reality", []],
    [/\b(VRST([^a-zA-Z]?\d*)|Virtual\ Reality\ Software\ and\ Technology)\b/u, "Virtual Reality Software and Technology", []],
    [/\b(GRAPHITE([^a-zA-Z]?\d*)|Computer\ graphics\ and\ interactive\ techniques\ in\ Austalasia\ and\ South\ East\ Asia)\b/u, "Computer graphics and interactive techniques in Austalasia and South East Asia", []],
    [/\b(CGI([^a-zA-Z]?\d*)|Computer\ Graphics\ International)\b/u, "Computer Graphics International", []],
    [/\bSmart\ Graphics\b/u, "Smart Graphics", []],
    [/\b(CGIM([^a-zA-Z]?\d*)|Conference\ on\ Computer\ Graphics\ and\ Imaging)\b/u, "Conference on Computer Graphics and Imaging", []],
    [/\b(WSCG([^a-zA-Z]?\d*)|International\ Conference\ in\ Central\ Europe\ on\ Computer\ Graphics\ and\ Visualization)\b/u, "International Conference in Central Europe on Computer Graphics and Visualization", []],
    [/\b(PVG([^a-zA-Z]?\d*)|IEEE\ Symposium\ on\ Parallel\ and\ Large\-Data\ Visualization\ and\ Graphics)\b/u, "IEEE Symposium on Parallel and Large-Data Visualization and Graphics", []],
    [/\b(SIBGRAPI([^a-zA-Z]?\d*)|Brazilian\ Symposium\ on\ Computer\ Graphics\ and\ Image\ Processing)\b/u, "Brazilian Symposium on Computer Graphics and Image Processing", []],
    [/\b(Graphicon([^a-zA-Z]?\d*)|International\ Conference\ on\ Computer\ Graphics\ &\ Vision)\b/u, "International Conference on Computer Graphics & Vision", []],
    [/\b(GREC([^a-zA-Z]?\d*)|Graphics\ Recognition)\b/u, "Graphics Recognition", []],
    [/\bEurographics\ Workshop\ on\ Parallel\ Graphics\ and\ Visualization\b/u, "Eurographics Workshop on Parallel Graphics and Visualization", []],
    [/\bAdvances\ in\ Computer\ Graphics\b/u, "Advances in Computer Graphics", []],
    [/\bAdvances\ in\ Computer\ Graphics\ Hardware\b/u, "Advances in Computer Graphics Hardware", []],
    [/\b(VAST([^a-zA-Z]?\d*)|Virtual\ reality,\ archeology,\ and\ cultural\ heritage)\b/u, "Virtual reality, archeology, and cultural heritage", []],
    [/\bEurographics\ Workshop\ on\ Programming\ Paradigms\ in\ Graphics\ \/\ Object\-Oriented\ Graphics\b/u, "Eurographics Workshop on Programming Paradigms in Graphics / Object-Oriented Graphics", []],
    [/\b(ICCG([^a-zA-Z]?\d*)|International\ Conference\ on\ Computer\ Graphics)\b/u, "International Conference on Computer Graphics", []],
    [/\bAustrographics\b/u, "Austrographics", []],
    [/\b(MHVR([^a-zA-Z]?\d*)|Multimedia,\ Hypermedia,\ and\ Virtual\ Reality)\b/u, "Multimedia, Hypermedia, and Virtual Reality", []]
  ].map{|a| a[-1] = [Topics::GRAPHICS]+a[-1]; a }))
  # Computer Networking
  CS_CONFERENCES.push(*( [
    [/\b(SIGCOMM([^a-zA-Z]?\d*)|ACM\ Conference\ of\ the\ Special\ Interest\ Group\ on\ Data\ Communication)\b/u, "ACM Conference of the Special Interest Group on Data Communication", []],
    [/\b(MOBICOM([^a-zA-Z]?\d*)|ACM\ Conference\ on\ Mobile\ Communication\ Systems)\b/u, "ACM Conference on Mobile Communication Systems", []],
    [/\b(INFOCOM([^a-zA-Z]?\d*)|IEEE\ Conference\ on\ Computer\ Communications)\b/u, "IEEE Conference on Computer Communications", []],
    [/\b(MOBIHOC([^a-zA-Z]?\d*)|ACM\ International\ Symposium\ on\ Mobile\ Ad\ Hoc\ Networking\ and\ Computing)\b/u, "ACM International Symposium on Mobile Ad Hoc Networking and Computing", []],
    [/\b(IMC([^a-zA-Z]?\d*)|USENIX\/ACM\ Internet\ Measurement\ Conference)\b/u, "USENIX/ACM Internet Measurement Conference", []],
    [/\b(ICNP([^a-zA-Z]?\d*)|IEEE\ International\ Conference\ on\ Network\ Protocols)\b/u, "IEEE International Conference on Network Protocols", []],
    [/\b(CONEXT([^a-zA-Z]?\d*)|ACM\ International\ Conference\ on\ emerging\ Networking\ EXperiments\ and\ Technologies)\b/u, "ACM International Conference on emerging Networking EXperiments and Technologies", []],
    [/\bPassive\ and\ Active\ Network\ Measurement\b/u, "Passive and Active Network Measurement", []],
    [/\bGlobal\ Internet\ Symposium\b/u, "Global Internet Symposium", []],
    [/\b(WMCSA([^a-zA-Z]?\d*)|Workshop\ on\ Mobile\ Computing\ Systems\ and\ Applications)\b/u, "Workshop on Mobile Computing Systems and Applications", []],
    [/\b(MA([^a-zA-Z]?\d*)|International\ Symposium\ on\ Mobile\ Agents)\b/u, "International Symposium on Mobile Agents", []],
    [/\b(DIAL-M([^a-zA-Z]?\d*)|Workshop\ on\ Discrete\ Algorithms\ and\ Methods\ for\ Mobile\ Computing\ and\ Communications)\b/u, "Workshop on Discrete Algorithms and Methods for Mobile Computing and Communications", []],
    [/\b(NGC([^a-zA-Z]?\d*)|Networked\ Group\ Communication)\b/u, "Networked Group Communication", []],
    [/\b(MSWiM([^a-zA-Z]?\d*)|International\ Workshop\ on\ Modeling\ Analysis\ and\ Simulation\ of\ Wireless\ and\ Mobile\ Systems)\b/u, "International Workshop on Modeling Analysis and Simulation of Wireless and Mobile Systems", []],
    [/\b(FORTE([^a-zA-Z]?\d*)|Formal\ Techniques\ for\ Networked\ and\ Distributed\ Systems)\b/u, "Formal Techniques for Networked and Distributed Systems", []],
    [/\bHigh\ Performance\ Networking\b/u, "High Performance Networking", []],
    [/\bPolicies\ for\ Distributed\ Systems\ and\ Networks\b/u, "Policies for Distributed Systems and Networks", []],
    [/\b(PCRCW([^a-zA-Z]?\d*)|Parallel\ Computer\ Routing\ and\ Communication)\b/u, "Parallel Computer Routing and Communication", []],
    [/\b(PfHSN([^a-zA-Z]?\d*)|Protocols\ for\ High\-Speed\ Networks)\b/u, "Protocols for High-Speed Networks", []],
    [/\b(PERCOM([^a-zA-Z]?\d*)|IEEE\ International\ Conference\ on\ Pervasive\ Computing\ and\ Communications)\b/u, "IEEE International Conference on Pervasive Computing and Communications", []],
    [/\bIntegrated\ Network\ Management\b/u, "Integrated Network Management", []],
    [/\bIEEE\ International\ Conference\ on\ Communications\b/u, "IEEE International Conference on Communications", []],
    [/\b(GlobeCom([^a-zA-Z]?\d*)|IEEE\ Global\ Telecommunications\ Conference)\b/u, "IEEE Global Telecommunications Conference", []],
    [/\b(MobiDE([^a-zA-Z]?\d*)|ACM\ International\ Workshop\ on\ Data\ Engineering\ for\ Wireless\ and\ Mobile\ Access)\b/u, "ACM International Workshop on Data Engineering for Wireless and Mobile Access", []],
    [/\b(MDM([^a-zA-Z]?\d*)|Mobile\ Data\ Management)\b/u, "Mobile Data Management", []],
    [/\b(ICCCN([^a-zA-Z]?\d*)|International\ Conference\ on\ Computer\ Communications\ and\ Networks)\b/u, "International Conference on Computer Communications and Networks", []],
    [/\bP2P|IEEE\ Conference\ on\ Peer\-to\-Peer\ Computing\b/u, "IEEE Conference on Peer-to-Peer Computing", []],
    [/\b(DAS-P2P([^a-zA-Z]?\d*)|International\ Workshop\ on\ Dependable\ and\ Sustainable\ Peer\-to\-Peer\ Systems)\b/u, "International Workshop on Dependable and Sustainable Peer-to-Peer Systems", []],
    [/\b(MOBIQUITOUS([^a-zA-Z]?\d*)|International\ Conference\ on\ Mobile\ and\ Ubiquitous\ Systems:\ Networking\ and\ Services)\b/u, "International Conference on Mobile and Ubiquitous Systems: Networking and Services", []],
    [/\bNetworking\b/u, "Networking", []],
    [/\b(IWAN([^a-zA-Z]?\d*)|Active\ Networks)\b/u, "Active Networks", []],
    [/\b(CANPC([^a-zA-Z]?\d*)|Communication,\ Architecture,\ and\ Applications\ for\ Network\-Based\ Parallel\ Computing)\b/u, "Communication, Architecture, and Applications for Network-Based Parallel Computing", []],
    [/\b(HPCN Europe([^a-zA-Z]?\d*)|High\-Performance\ Computing\ and\ Networking)\b/u, "High-Performance Computing and Networking", []],
    [/\b(WWIC([^a-zA-Z]?\d*)|Wired\/Wireless\ Internet\ Communications)\b/u, "Wired/Wireless Internet Communications", []],
    [/\b(CNSR([^a-zA-Z]?\d*)|Conference\ on\ Communication\ Networks\ and\ Services\ Research)\b/u, "Conference on Communication Networks and Services Research", []],
    [/\b(LCN([^a-zA-Z]?\d*)|IEEE\ Conference\ on\ Local\ Computer\ Networks)\b/u, "IEEE Conference on Local Computer Networks", []],
    [/\b(Ad-Hoc\ Networks\ and\ Wireless)\b/u, "Ad-Hoc Networks and Wireless", []],
    [/\b(ICWN([^a-zA-Z]?\d*)|International\ Conference\ on\ Wireless\ Networks)\b/u, "International Conference on Wireless Networks", []],
    [/\b(HSNMC([^a-zA-Z]?\d*)|High\ Speed\ Networks\ and\ Multimedia\ Communications)\b/u, "High Speed Networks and Multimedia Communications", []],
    [/\b(CIC([^a-zA-Z]?\d*)|Communications\ in\ Computing)\b/u, "Communications in Computing", []],
    [/\b(AINA([^a-zA-Z]?\d*)|Advanced\ Information\ Networking\ and\ Applications)\b/u, "Advanced Information Networking and Applications", []],
    [/\bNetwork\ Computing\ and\ Applications\b/u, "Network Computing and Applications", []],
    [/\b(WMTE([^a-zA-Z]?\d*)|Wireless\ and\ Mobile\ Technologies\ in\ Education)\b/u, "Wireless and Mobile Technologies in Education", []],
    [/\b(QoS-IP([^a-zA-Z]?\d*)|Quality\ of\ Service\ in\ Multiservice\ IP\ Networks)\b/u, "Quality of Service in Multiservice IP Networks", []],
    [/\b(ICOIN([^a-zA-Z]?\d*)|International\ Conference\ on\ Information\ Networking)\b/u, "International Conference on Information Networking", []],
    [/\b(ICN([^a-zA-Z]?\d*)|International\ Conference\ on\ Networking)\b/u, "International Conference on Networking", []],
    [/\b(TestCom([^a-zA-Z]?\d*)|IFIP\ International\ Conference\ on\ Testing\ of\ Communicating\ Systems)\b/u, "IFIP International Conference on Testing of Communicating Systems", []],
    [/\bBroadband\ Communications\b/u, "Broadband Communications", []],
    [/\b(IPCCC([^a-zA-Z]?\d*)|International\ Performance,\ Computing,\ and\ Communications\ Conference)\b/u, "International Performance, Computing, and Communications Conference", []],
    [/\b(SCN([^a-zA-Z]?\d*)|Security\ in\ Communication\ Networks)\b/u, "Security in Communication Networks", []],
    [/\b(CNIS([^a-zA-Z]?\d*)|Communication,\ Network,\ and\ Information\ Security)\b/u, "Communication, Network, and Information Security", []],
    [/\b(POMC([^a-zA-Z]?\d*)|Principles\ of\ Mobile\ Computing)\b/u, "Principles of Mobile Computing", []],
    [/\b(I&SN([^a-zA-Z]?\d*)|Intelligence\ and\ Services\ in\ Networks)\b/u, "Intelligence and Services in Networks", []],
    [/\b(WS([^a-zA-Z]?\d*)|Wireless\ Security)\b/u, "Wireless Security", []],
    [/\b(DARPA([^a-zA-Z]?\d*)|Active\ Networks\ Conference\ and\ Exposition)\b/u, "Active Networks Conference and Exposition", []],
    [/\b(ONDM([^a-zA-Z]?\d*)|Optical\ Network\ Design\ and\ Modelling)\b/u, "Optical Network Design and Modelling", []],
    [/\b(IWACA([^a-zA-Z]?\d*)|International\ Workshop\ on\ Advanced\ Teleservices\ and\ High\-Speed\ Communication\ Architectures)\b/u, "International Workshop on Advanced Teleservices and High-Speed Communication Architectures", []],
    [/\b(ATM Networks([^a-zA-Z]?\d*)|Modelling\ and\ Evaluation\ of\ ATM\ Networks)\b/u, "Modelling and Evaluation of ATM Networks", []],
    [/\b(WMASH([^a-zA-Z]?\d*)|Wireless\ Mobile\ Applications\ And\ Services\ On\ Wlan\ Hotspots)\b/u, "Wireless Mobile Applications And Services On Wlan Hotspots", []],
    [/\b(WMAN([^a-zA-Z]?\d*)|Workshop\ \303\274ber\ Mobile\ Ad\-Hoc\ Netzwerke)\b/u, "Workshop \303\274ber Mobile Ad-Hoc Netzwerke", []],
    [/\b(ENSS([^a-zA-Z]?\d*)|Conference\ On\ Embedded\ Networked\ Sensor\ Systems)\b/u, "Conference On Embedded Networked Sensor Systems", []],
    [/\bInformation\ Network\ and\ Data\ Communication\b/u, "Information Network and Data Communication", []],
    [/\b(IPCC([^a-zA-Z]?\d*)|International\ Professional\ Communication\ Conference)\b/u, "International Professional Communication Conference", []],
    [/\b(SmartNet([^a-zA-Z]?\d*)|Intelligence\ in\ Networks)\b/u, "Intelligence in Networks", []],
    [/\bInternational\ Zurich\ Seminar\ on\ Digital\ Communications\b/u, "International Zurich Seminar on Digital Communications", []],
    [/\bWireless\ Mobile\ Internet\b/u, "Wireless Mobile Internet", []],
    [/\b(ICCC([^a-zA-Z]?\d*)|International\ Conference\ on\ Computer\ Communication)\b/u, "International Conference on Computer Communication", []],
    [/\b(DIAL M([^a-zA-Z]?\d*)|Workshop\ on\ Discrete\ Algothrithms\ and\ Methods\ for\ MOBILE\ Computing\ and\ Communications)\b/u, "Workshop on Discrete Algothrithms and Methods for MOBILE Computing and Communications", []],
    [/\b(MDM([^a-zA-Z]?\d*)|MDA|Int\.\ Conf\.\ on\ Mobile\ Data\ Access\/Management)\b/u, "Int. Conf. on Mobile Data Access/Management", []],
    [/\bNetwork\ Security\b/u, "Network Security", []],
    [/\b(CMC([^a-zA-Z]?\d*)|International\ Conference\ on\ Cooperative\ Multimodal\ Communication)\b/u, "International Conference on Cooperative Multimodal Communication", []],
    [/\bData\ Communications\ and\ their\ Performance\b/u, "Data Communications and their Performance", []],
    [/\bWide\ Area\ Networks\ and\ High\ Performance\ Computing\b/u, "Wide Area Networks and High Performance Computing", []],
    [/\bDatabases\ In\ Telecommunications\b/u, "Databases In Telecommunications", []],
    [/\b(NETA([^a-zA-Z]?\d*)|Conference\ on\ Network\ Administration)\b/u, "Conference on Network Administration", []],
    [/\b(NETWORKS([^a-zA-Z]?\d*)|NETWORKS)\b/u, "NETWORKS", []],
    [/\bPerformance\ of\ Distributed\ Systems\ and\ Integrated\ Communication\ Networks\b/u, "Performance of Distributed Systems and Integrated Communication Networks", []],
    [/\bLocal\ Area\ Network\ Security\b/u, "Local Area Network Security", []],
    [/\bComputer\ and\ Telecommunications\ Performance\ Engineering\b/u, "Computer and Telecommunications Performance Engineering", []]
  ].map{|a| a[-1] = [Topics::COMPUTER_NETWORKING]+a[-1]; a }))
  # Computer Vision
  CS_CONFERENCES.push(*( [
    [/\b(ICCV([^a-zA-Z]?\d*)|International\ Conference\ on\ Computer\ Vision)\b/u, "International Conference on Computer Vision", []],
    [/\b(ECCV([^a-zA-Z]?\d*)|European\ Conference\ on\ Computer\ Vision)\b/u, "European Conference on Computer Vision", []],
    [/\b(BMVC([^a-zA-Z]?\d*)|British\ Machine\ Vision\ Conference)\b/u, "British Machine Vision Conference", []],
    [/\b(VRIC([^a-zA-Z]?\d*)|Virtual\ Reality\ International\ Conference)\b/u, "Virtual Reality International Conference", []],
    [/\b(CVPR([^a-zA-Z]?\d*)|Computer\ Vision\ and\ Pattern\ Recognition)\b/u, "Computer Vision and Pattern Recognition", []],
    [/\b(CVRMed([^a-zA-Z]?\d*)|Computer\ Vision,\ Virtual\ Reality\ and\ Robotics\ in\ Medicine)\b/u, "Computer Vision, Virtual Reality and Robotics in Medicine", []],
    [/\b(CGIV([^a-zA-Z]?\d*)|Computer\ Graphics,\ Imaging\ and\ Visualization)\b/u, "Computer Graphics, Imaging and Visualization", []],
    [/\b(Scale-Space([^a-zA-Z]?\d*)|Scale\-Space\ Theories\ in\ Computer\ Vision)\b/u, "Scale-Space Theories in Computer Vision", []],
    [/\b(PSIVT([^a-zA-Z]?\d*)|IEEE\ Pacific\-Rim\ Symposium\ on\ Image\ and\ Video\ Technology)\b/u, "IEEE Pacific-Rim Symposium on Image and Video Technology", []],
    [/\b(ICVS([^a-zA-Z]?\d*)|International\ Conference\ on\ Computer\ Vision\ Systems)\b/u, "International Conference on Computer Vision Systems", []],
    [/\b(EMMCVPR([^a-zA-Z]?\d*)|Energy\ Minimization\ Methods\ in\ Computer\ Vision\ and\ Pattern\ Recognition)\b/u, "Energy Minimization Methods in Computer Vision and Pattern Recognition", []],
    [/\bApplications\ of\ Invariance\ in\ Computer\ Vision\b/u, "Applications of Invariance in Computer Vision", []],
    [/\b(BMCV([^a-zA-Z]?\d*)|Biologically\ Motivated\ Computer\ Vision)\b/u, "Biologically Motivated Computer Vision", []],
    [/\b(ACCV([^a-zA-Z]?\d*)|Asian\ Conference\ on\ Computer\ Vision)\b/u, "Asian Conference on Computer Vision", []],
    [/\b(ICVGIP([^a-zA-Z]?\d*)|Indian\ Conference\ on\ Computer\ Vision,\ Graphics\ and\ Image\ Processing)\b/u, "Indian Conference on Computer Vision, Graphics and Image Processing", []],
    [/\bComputer\ Vision\ meets\ Databases\b/u, "Computer Vision meets Databases", []],
    [/\b(RobVis([^a-zA-Z]?\d*)|Robot\ Vision)\b/u, "Robot Vision", []],
    [/\b(IWAIT([^a-zA-Z]?\d*)|International\ Workshop\ on\ Advanced\ Image\ Technology)\b/u, "International Workshop on Advanced Image Technology", []],
    [/\b(TFCV([^a-zA-Z]?\d*)|Theoretical\ Foundations\ of\ Computer\ Vision)\b/u, "Theoretical Foundations of Computer Vision", []],
    [/\bShape,\ Contour\ and\ Grouping\ in\ Computer\ Vision\b/u, "Shape, Contour and Grouping in Computer Vision", []]
  ].map{|a| a[-1] = [Topics::COMPUTER_VISION]+a[-1]; a }))
  # Computer Science Education
  CS_CONFERENCES.push(*( [
    [/\b(SIGCSE([^a-zA-Z]?\d*)|Technical\ Symposium\ on\ Computer\ Science\ Education)\b/u, "Technical Symposium on Computer Science Education", []],
    [/\b(ITiCSE([^a-zA-Z]?\d*)|Annual\ Joint\ Conference\ Integrating\ Technology\ into\ Computer\ Science\ Education)\b/u, "Annual Joint Conference Integrating Technology into Computer Science Education", []],
    [/\b(ITS([^a-zA-Z]?\d*)|Intelligent\ Tutoring\ Systems)\b/u, "Intelligent Tutoring Systems", []],
    [/\b(CATE([^a-zA-Z]?\d*)|Computers\ and\ Advanced\ Technology\ in\ Education)\b/u, "Computers and Advanced Technology in Education", []],
    [/\b(WMTE([^a-zA-Z]?\d*)|Wireless\ and\ Mobile\ Technologies\ in\ Education)\b/u, "Wireless and Mobile Technologies in Education", []],
    [/\bInternational\ Conference\ on\ Computers\ in\ Education\b/u, "International Conference on Computers in Education", []],
    [/\b(ICWL([^a-zA-Z]?\d*)|International\ Conference\ on\ Web\-Based\ Learning)\b/u, "International Conference on Web-Based Learning", []],
    [/\b(ASCILITE([^a-zA-Z]?\d*)|Australian\ Society\ for\ Computers\ in\ Tertiary\ Education)\b/u, "Australian Society for Computers in Tertiary Education", []],
    [/\b(ICALT([^a-zA-Z]?\d*)|International\ Conference\ on\ Advanced\ Learning\ Technologies)\b/u, "International Conference on Advanced Learning Technologies", []],
    [/\b(WCCE([^a-zA-Z]?\d*)|World\ Conference\ on\ Computers\ in\ Education)\b/u, "World Conference on Computers in Education", []],
    [/\b(CITC([^a-zA-Z]?\d*)|Conference\ On\ Information\ Technology\ Education)\b/u, "Conference On Information Technology Education", []],
    [/\b(MSE([^a-zA-Z]?\d*)|Microelectronics\ Systems\ Education)\b/u, "Microelectronics Systems Education", []],
    [/\b(CSEE&T([^a-zA-Z]?\d*)|Conference\ on\ Software\ Engineering\ Education\ and\ Training)\b/u, "Conference on Software Engineering Education and Training", []],
    [/\bInternational\ Conference\ on\ Computers\ and\ Learning\b/u, "International Conference on Computers and Learning", []],
    [/\b(CALISCE([^a-zA-Z]?\d*)|Computer\ Aided\ Learning\ and\ Instruction\ in\ Science\ and\ Engineering)\b/u, "Computer Aided Learning and Instruction in Science and Engineering", []],
    [/\b(FPLE([^a-zA-Z]?\d*)|Functional\ Programming\ Languages\ in\ Education)\b/u, "Functional Programming Languages in Education", []],
    [/\b(EEF([^a-zA-Z]?\d*)|European\ Educational\ Forum)\b/u, "European Educational Forum", []],
    [/\bArtificial\ Intelligence\ in\ Education\b/u, "Artificial Intelligence in Education", []],
    [/\b(CSCL([^a-zA-Z]?\d*)|International\ Conference\ on\ Computer\ Supported\ Collaborative\ Learning)\b/u, "International Conference on Computer Supported Collaborative Learning", []],
    [/\b(ICEE([^a-zA-Z]?\d*)|International\ Conference\ on\ Computers\ in\ Education)\b/u, "International Conference on Computers in Education", []]
  ].map{|a| a[-1] = [Topics::COMPUTER_SCIENCE_EDUCATION]+a[-1]; a }))
  # Databases, Information Retrieval and Data Mining
  CS_CONFERENCES.push(*( [
    [/\b(SIGMOD([^a-zA-Z]?\d*)|International\ Conference\ on\ Management\ of\ Data)\b/u, "International Conference on Management of Data", []],
    [/\b(VLDB([^a-zA-Z]?\d*)|Very\ Large\ Data\ Bases)\b/u, "Very Large Data Bases", []],
    [/\b(PODS([^a-zA-Z]?\d*)|Symposium\ on\ Principles\ of\ Database\ Systems)\b/u, "Symposium on Principles of Database Systems", []],
    [/\b(SIGIR([^a-zA-Z]?\d*)|Research\ and\ Development\ in\ Information\ Retrieval)\b/u, "Research and Development in Information Retrieval", []],
    [/\b(KDD([^a-zA-Z]?\d*)|Knowledge\ Discovery\ and\ Data\ Mining)\b/u, "Knowledge Discovery and Data Mining", []],
    [/\b(ICDE([^a-zA-Z]?\d*)|International\ Conference\ on\ Data\ Engineering)\b/u, "International Conference on Data Engineering", []],
    [/\b(ICDT([^a-zA-Z]?\d*)|International\ Conference\ on\ Database\ Theory)\b/u, "International Conference on Database Theory", []],
    [/\b(DOOD([^a-zA-Z]?\d*)|Deductive\ and\ Object\-Oriented\ Databases)\b/u, "Deductive and Object-Oriented Databases", []],
    [/\b(SSD([^a-zA-Z]?\d*)|Symposium\ on\ Large\ Spatial\ Databases)\b/u, "Symposium on Large Spatial Databases", []],
    [/\b(CIDR([^a-zA-Z]?\d*)|Conference\ on\ Innovative\ Data\ Systems\ Research)\b/u, "Conference on Innovative Data Systems Research", []],
    [/\b(EDBT([^a-zA-Z]?\d*)|Extending\ Database\ Technology)\b/u, "Extending Database Technology", []],
    [/\b(CIKM([^a-zA-Z]?\d*)|International\ Conference\ on\ Information\ and\ Knowledge\ Management)\b/u, "International Conference on Information and Knowledge Management", []],
    [/\b(WebDB([^a-zA-Z]?\d*)|International\ Workshop\ on\ the\ Web\ and\ Databases)\b/u, "International Workshop on the Web and Databases", []],
    [/\b(DMKD([^a-zA-Z]?\d*)|Research\ Issues\ on\ Data\ Mining\ and\ Knowledge\ Discovery)\b/u, "Research Issues on Data Mining and Knowledge Discovery", []],
    [/\bBerkeley\ Workshop\ on\ Distributed\ Data\ Management\ and\ Computer\ Networks\b/u, "Berkeley Workshop on Distributed Data Management and Computer Networks", []],
    [/\b(IWDOM\/OODBS([^a-zA-Z]?\d*)|International\ Workshop\ on\ Distributed\ Object\ Management\/Workshop\ on\ Object\-Oriented\ Database\ Systems)\b/u, "International Workshop on Distributed Object Management/Workshop on Object-Oriented Database Systems", []],
    [/\b(RIDE([^a-zA-Z]?\d*)|Research\ Issues\ in\ Data\ Engineering)\b/u, "Research Issues in Data Engineering", []],
    [/\b(EDS([^a-zA-Z]?\d*)|Expert\ Database\ Systems)\b/u, "Expert Database Systems", []],
    [/\b(ER\(OOER\)([^a-zA-Z]?\d*)|Object\-Oriented\ and\ Entity\-Relationship\ Modelling\/International\ Conference\ on\ Conceptual\ Modeling\ \/\ the\ Entity\ Relationship\ Approach)\b/u, "Object-Oriented and Entity-Relationship Modelling/International Conference on Conceptual Modeling / the Entity Relationship Approach", []],
    [/\b(CoopIS([^a-zA-Z]?\d*)|Conference\ on\ Cooperative\ Information\ Systems)\b/u, "Conference on Cooperative Information Systems", []],
    [/\b(DS([^a-zA-Z]?\d*)|IFIP\ Working\ Conference\ on\ Database\ Semantics)\b/u, "IFIP Working Conference on Database Semantics", []],
    [/\b(JCDKB([^a-zA-Z]?\d*)|International\ Conference\ on\ Data\ and\ Knowledge\ Bases)\b/u, "International Conference on Data and Knowledge Bases", []],
    [/\b(ADBT([^a-zA-Z]?\d*)|Advances\ in\ Data\ Base\ Theory)\b/u, "Advances in Data Base Theory", []],
    [/\b(FODO([^a-zA-Z]?\d*)|Conference\ on\ Foundations\ of\ Data\ Organization\ and\ Algorithms)\b/u, "Conference on Foundations of Data Organization and Algorithms", []],
    [/\b(SWDB([^a-zA-Z]?\d*)|Semantic\ Web\ and\ Databases)\b/u, "Semantic Web and Databases", []],
    [/\b(RIDS([^a-zA-Z]?\d*)|Rules\ in\ Database\ Systems)\b/u, "Rules in Database Systems", []],
    [/\b(SSDBM([^a-zA-Z]?\d*)|Statistical\ and\ Scientific\ Database\ Management)\b/u, "Statistical and Scientific Database Management", []],
    [/\b(SDM([^a-zA-Z]?\d*)|SIAM\ International\ Conference\ on\ Data\ Mining)\b/u, "SIAM International Conference on Data Mining", []],
    [/\b(CAiSE([^a-zA-Z]?\d*)|Conference\ on\ Advanced\ Information\ Systems\ Engineering)\b/u, "Conference on Advanced Information Systems Engineering", []],
    [/\b(DPDS([^a-zA-Z]?\d*)|International\ Symposium\ on\ Databases\ in\ Parallel\ and\ Distributed\ Systems)\b/u, "International Symposium on Databases in Parallel and Distributed Systems", []],
    [/\b(GIS([^a-zA-Z]?\d*)|Workshop\ on\ Advances\ in\ Geographic\ Information\ Systems)\b/u, "Workshop on Advances in Geographic Information Systems", []],
    [/\b(KRDB([^a-zA-Z]?\d*)|Knowledge\ Representation\ Meets\ Databases)\b/u, "Knowledge Representation Meets Databases", []],
    [/\b(DEXA([^a-zA-Z]?\d*)|Database\ and\ Expert\ Systems\ Applications)\b/u, "Database and Expert Systems Applications", []],
    [/\bData\ Base\ Workshops\b/u, "Data Base Workshops", []],
    [/\b(DBSEC([^a-zA-Z]?\d*)|IFIP\ Workshop\ on\ Database\ Security)\b/u, "IFIP Workshop on Database Security", []],
    [/\b(IWDM([^a-zA-Z]?\d*)|International\ Workshop\ on\ Database\ Machines)\b/u, "International Workshop on Database Machines", []],
    [/\b(DILS([^a-zA-Z]?\d*)|Data\ Integration\ in\ the\ Life\ Sciences)\b/u, "Data Integration in the Life Sciences", []],
    [/\b(WIDM([^a-zA-Z]?\d*)|Web\ Information\ and\ Data\ Management)\b/u, "Web Information and Data Management", []],
    [/\b(DDB([^a-zA-Z]?\d*)|Symposium\ on\ Distributed\ Data\ Bases)\b/u, "Symposium on Distributed Data Bases", []],
    [/\b(DBA([^a-zA-Z]?\d*)|Databases\ and\ Applications)\b/u, "Databases and Applications", []],
    [/\b(XP([^a-zA-Z]?\d*)|Workshops\ on\ Database\ Theory)\b/u, "Workshops on Database Theory", []],
    [/\b(IDEAS([^a-zA-Z]?\d*)|International\ Database\ Engineering\ and\ Application\ Symposium)\b/u, "International Database Engineering and Application Symposium", []],
    [/\b(ADC([^a-zA-Z]?\d*)|Australasian\ Database\ Conference)\b/u, "Australasian Database Conference", []],
    [/\b(VDB([^a-zA-Z]?\d*)|Visual\ Database\ Systems)\b/u, "Visual Database Systems", []],
    [/\b(BNCOD([^a-zA-Z]?\d*)|British\ National\ Conference\ on\ Databases)\b/u, "British National Conference on Databases", []],
    [/\b(DASFAA([^a-zA-Z]?\d*)|Database\ Systems\ for\ Advanced\ Applications)\b/u, "Database Systems for Advanced Applications", []],
    [/\b(IW-MMDBBS([^a-zA-Z]?\d*)|Int\.\ Workshop\ on\ Multi\-Media\ Data\ Base\ Management\ Systems)\b/u, "Int. Workshop on Multi-Media Data Base Management Systems", []],
    [/\bDeductive\ Database\ Workshops\b/u, "Deductive Database Workshops", []],
    [/\b(XSym([^a-zA-Z]?\d*)|International\ XML\ Database\ Symposium)\b/u, "International XML Database Symposium", []],
    [/\b(MFDBS([^a-zA-Z]?\d*)|Mathematical\ Fundamentals\ of\ Database\ Systems)\b/u, "Mathematical Fundamentals of Database Systems", []],
    [/\b(ICOD([^a-zA-Z]?\d*)|International\ Conference\ on\ Databases)\b/u, "International Conference on Databases", []],
    [/\b(TDB([^a-zA-Z]?\d*)|Workshop\ on\ Temporal\ Databases)\b/u, "Workshop on Temporal Databases", []],
    [/\b(DNIS([^a-zA-Z]?\d*)|Databases\ in\ Networked\ Information\ Systems)\b/u, "Databases in Networked Information Systems", []],
    [/\b(ADBIS([^a-zA-Z]?\d*)|Advances\ in\ Databases\ and\ Information\ Systems)\b/u, "Advances in Databases and Information Systems", []],
    [/\b(EWDW([^a-zA-Z]?\d*)|East\/West\ Database\ Workshops)\b/u, "East/West Database Workshops", []],
    [/\b(SBBD([^a-zA-Z]?\d*)|Brazilian\ Symposium\ on\ Databases)\b/u, "Brazilian Symposium on Databases", []],
    [/\b(ICEIS([^a-zA-Z]?\d*)|International\ Conference\ on\ Enterprise\ Information\ Systems)\b/u, "International Conference on Enterprise Information Systems", []],
    [/\b(ADB([^a-zA-Z]?\d*)|Applications\ of\ Databases)\b/u, "Applications of Databases", []],
    [/\b(CODAS([^a-zA-Z]?\d*)|International\ Symposium\ on\ Cooperative\ Database\ Systems\ for\ Advanced\ Applications)\b/u, "International Symposium on Cooperative Database Systems for Advanced Applications", []],
    [/\b(EFIS([^a-zA-Z]?\d*)|EFDBS|Engineering\ Federated\ Information\ \(Database\)\ Systems)\b/u, "Engineering Federated Information (Database) Systems", []],
    [/\b(RTDB([^a-zA-Z]?\d*)|Workshop\ on\ Real\-Time\ Databases)\b/u, "Workshop on Real-Time Databases", []],
    [/\b(LID([^a-zA-Z]?\d*)|Logic\ in\ Databases)\b/u, "Logic in Databases", []],
    [/\b(High([^a-zA-Z]?\d*)|Performance\ Web\ Databases)\b/u, "Performance Web Databases", []],
    [/\b(IDS([^a-zA-Z]?\d*)|Interfaces\ to\ Database\ Systems)\b/u, "Interfaces to Database Systems", []],
    [/\b(IADT([^a-zA-Z]?\d*)|Issues\ and\ Applications\ of\ Database\ Technology)\b/u, "Issues and Applications of Database Technology", []],
    [/\b(DANTE([^a-zA-Z]?\d*)|Database\ Applications\ in\ Non\-Traditional\ Environments)\b/u, "Database Applications in Non-Traditional Environments", []],
    [/\b(NLDB([^a-zA-Z]?\d*)|Applications\ of\ Natural\ Language\ to\ Data\ Bases)\b/u, "Applications of Natural Language to Data Bases", []],
    [/\b(STDBM([^a-zA-Z]?\d*)|Spatio\-Temporal\ Database\ Management)\b/u, "Spatio-Temporal Database Management", []],
    [/\b(DAISD([^a-zA-Z]?\d*)|Deductive\ Approach\ to\ Information\ Systems\ and\ Databases)\b/u, "Deductive Approach to Information Systems and Databases", []],
    [/\bWorkshop\ on\ Information\ Quality\ in\ Information\ Systems\b/u, "Workshop on Information Quality in Information Systems", []],
    [/\b(ARTDB([^a-zA-Z]?\d*)|Active\ and\ Real\-Time\ Database\ Systems)\b/u, "Active and Real-Time Database Systems", []],
    [/\b(COMAD([^a-zA-Z]?\d*)|International\ Conference\ on\ Management\ of\ Data)\b/u, "International Conference on Management of Data", []],
    [/\b(CDB([^a-zA-Z]?\d*)|Constraint\ Databases\ and\ Applications)\b/u, "Constraint Databases and Applications", []],
    [/\b(ACM International\ Workshop\ on\ Multimedia\ Databases)\b/u, "ACM International Workshop on Multimedia Databases", []],
    [/\bInference\ Control\ in\ Statistical\ Databases\b/u, "Inference Control in Statistical Databases", []],
    [/\b(DIWeb([^a-zA-Z]?\d*)|Data\ Integration\ over\ the\ Web)\b/u, "Data Integration over the Web", []],
    [/\b(INTEROP([^a-zA-Z]?\d*)|Interoperating\ Geographic\ Information\ Systems)\b/u, "Interoperating Geographic Information Systems", []],
    [/\b(CISMOD([^a-zA-Z]?\d*)|Conference\ on\ Information\ Systems\ and\ Management\ of\ Data)\b/u, "Conference on Information Systems and Management of Data", []],
    [/\b(TAPD([^a-zA-Z]?\d*)|Tabulation\ in\ Parsing\ and\ Deduction)\b/u, "Tabulation in Parsing and Deduction", []],
    [/\b(ISD([^a-zA-Z]?\d*)|Integrated\ Spatial\ Databases)\b/u, "Integrated Spatial Databases", []],
    [/\bFuture\ Databases\b/u, "Future Databases", []],
    [/\bSemantics\ in\ Databases\b/u, "Semantics in Databases", []],
    [/\b(IGIS([^a-zA-Z]?\d*)|International\ Workshop\ on\ Advanced\ Research\ in\ Geographic\ Information\ Systems)\b/u, "International Workshop on Advanced Research in Geographic Information Systems", []],
    [/\b(ICOODB([^a-zA-Z]?\d*)|International\ Conference\ on\ Object\ Databases)\b/u, "International Conference on Object Databases", []]
  ].map{|a| a[-1] = [Topics::DATABASES,Topics::INFORMATION_RETRIEVAL_AND_DATA_MINING]+a[-1]; a }))
  # Distributed and Parallel Computing
  CS_CONFERENCES.push(*( [
    [/\b(PODC([^a-zA-Z]?\d*)|Symposium\ on\ Principles\ of\ Distributed\ Computing)\b/u, "Symposium on Principles of Distributed Computing", []],
    [/\b(PPoPP([^a-zA-Z]?\d*)|Principles\ &\ Practice\ of\ Parallel\ Programming)\b/u, "Principles & Practice of Parallel Programming", []],
    [/\b(SPAA([^a-zA-Z]?\d*)|ACM\ Symposium\ on\ Parallel\ Algorithms\ and\ Architectures)\b/u, "ACM Symposium on Parallel Algorithms and Architectures", []],
    [/\b(SC([^a-zA-Z]?\d*)|Supercomputing)\b/u, "Supercomputing", []],
    [/\b(ICS([^a-zA-Z]?\d*)|International\ Conference\ on\ Supercomputing)\b/u, "International Conference on Supercomputing", []],
    [/\b(ICDCS([^a-zA-Z]?\d*)|International\ Conference\ on\ Distributed\ Computing\ Systems)\b/u, "International Conference on Distributed Computing Systems", []],
    [/\b(HPDC([^a-zA-Z]?\d*)|IEEE\ International\ Symposium\ on\ High\ Performance\ Distributed\ Computing)\b/u, "IEEE International Symposium on High Performance Distributed Computing", []],
    [/\b(PDIS([^a-zA-Z]?\d*)|Conference\ on\ Parallel\ and\ Distributed\ Information\ Systems)\b/u, "Conference on Parallel and Distributed Information Systems", []],
    [/\b(JSSPP([^a-zA-Z]?\d*)|Job\ Scheduling\ Strategies\ for\ Parallel\ Processing)\b/u, "Job Scheduling Strategies for Parallel Processing", []],
    [/\b(LCPC([^a-zA-Z]?\d*)|Languages\ and\ Compilers\ for\ Parallel\ Computing)\b/u, "Languages and Compilers for Parallel Computing", []],
    [/\b(ICPP([^a-zA-Z]?\d*)|International\ Conference\ on\ Parallel\ Processing)\b/u, "International Conference on Parallel Processing", []],
    [/\b(SRDS([^a-zA-Z]?\d*)|Symposium\ on\ Reliability\ in\ Distributed\ Software)\b/u, "Symposium on Reliability in Distributed Software", []],
    [/\b(DISC([^a-zA-Z]?\d*)|WDAG|Workshop\ on\ Distributed\ Algorithms\/International\ Symposium\ on\ Distributed\ Computing)\b/u, "Workshop on Distributed Algorithms/International Symposium on Distributed Computing", []],
    [/\b(PARLE([^a-zA-Z]?\d*)|Parallel\ Architectures\ and\ Languages\ Europe)\b/u, "Parallel Architectures and Languages Europe", []],
    [/\b(PACT([^a-zA-Z]?\d*)|International\ Conference\ on\ Parallel\ Architectures\ and\ Compilation\ Techniques)\b/u, "International Conference on Parallel Architectures and Compilation Techniques", []],
    [/\b(IPDPS([^a-zA-Z]?\d*)|International\ Parallel\ and\ Distributed\ Processing\ Symposium)\b/, "International Parallel and Distributed Processing Symposium", []],
    [/\b(IPPS([^a-zA-Z]?\d*)|International\ Parallel\ Processing\ Symposium)\b/u, "International Parallel Processing Symposium", []],
    [/\b(DAS([^a-zA-Z]?\d*)|P2P\ \-\ International\ Workshop\ on\ Dependable\ and\ Sustainable\ Peer\-to\-Peer\ Systems)\b/u, "P2P - International Workshop on Dependable and Sustainable Peer-to-Peer Systems", []],
    [/\b(Euro-Par([^a-zA-Z]?\d*)|European\ Conference\ on\ Parallel\ Processing)\b/u, "European Conference on Parallel Processing", []],
    [/\b(DPDS([^a-zA-Z]?\d*)|International\ Symposium\ on\ Databases\ in\ Parallel\ and\ Distributed\ Systems)\b/u, "International Symposium on Databases in Parallel and Distributed Systems", []],
    [/\b(PPSC([^a-zA-Z]?\d*)|Parallel\ Processing\ for\ Scientific\ Computing)\b/u, "Parallel Processing for Scientific Computing", []],
    [/\b(IOPADS([^a-zA-Z]?\d*)|I\/O\ in\ Parallel\ and\ Distributed\ Systems)\b/u, "I/O in Parallel and Distributed Systems", []],
    [/\b(FORTE([^a-zA-Z]?\d*)|Formal\ Techniques\ for\ Networked\ and\ Distributed\ Systems)\b/u, "Formal Techniques for Networked and Distributed Systems", []],
    [/\bGrid\ Computing\b/u, "Grid Computing", []],
    [/\bPolicies\ for\ Distributed\ Systems\ and\ Networks\b/u, "Policies for Distributed Systems and Networks", []],
    [/\b(ISCOPE([^a-zA-Z]?\d*)|International\ Symposium\ on\ Computing\ in\ Object\-Oriented\ Parallel\ Environments)\b/u, "International Symposium on Computing in Object-Oriented Parallel Environments", []],
    [/\b(IRREGULAR([^a-zA-Z]?\d*)|Workshop\ on\ Parallel\ Algorithms\ for\ Irregularly\ Structured\ Problems)\b/u, "Workshop on Parallel Algorithms for Irregularly Structured Problems", []],
    [/\b(CONPAR([^a-zA-Z]?\d*)|Conference\ on\ Algorithms\ and\ Hardware\ for\ Parallel\ Processing)\b/u, "Conference on Algorithms and Hardware for Parallel Processing", []],
    [/\b(ISORC([^a-zA-Z]?\d*)|Object\-Oriented\ Real\-Time\ Distributed\ Computing)\b/u, "Object-Oriented Real-Time Distributed Computing", []],
    [/\b(FMOODS([^a-zA-Z]?\d*)|Formal\ Methods\ for\ Open\ Object\-Based\ Distributed\ Systems)\b/u, "Formal Methods for Open Object-Based Distributed Systems", []],
    [/\b(SPDP([^a-zA-Z]?\d*)|Symposium\ on\ Parallel\ and\ Distributed\ Processing)\b/u, "Symposium on Parallel and Distributed Processing", []],
    [/\b(LCI([^a-zA-Z]?\d*)|LCI\ International\ Conference\ on\ High\-Performance\ Clustered\ Computing)\b/u, "LCI International Conference on High-Performance Clustered Computing", []],
    [/\b(SPDT([^a-zA-Z]?\d*)|Symposium\ on\ Parallel\ and\ Distributed\ Tools)\b/u, "Symposium on Parallel and Distributed Tools", []],
    [/\bEnterprise\ Distributed\ Object\ Computing\ Conference\b/u, "Enterprise Distributed Object Computing Conference", []],
    [/\b(PDCN([^a-zA-Z]?\d*)|Parallel\ and\ Distributed\ Computing\ and\ Networks)\b/u, "Parallel and Distributed Computing and Networks", []],
    [/\b(CLUSTER([^a-zA-Z]?\d*)|Cluster\ Computing)\b/u, "Cluster Computing", []],
    [/\bEuropean\ Across\ Grids\ Conference\b/u, "European Across Grids Conference", []],
    [/\bInternational\ Symposium\ on\ Parallel\ and\ Distributed\ Computing\b/u, "International Symposium on Parallel and Distributed Computing", []],
    [/\bInternational\ Symposium\ on\ Parallel\ and\ Distributed\ Processing\ and\ Applications\b/u, "International Symposium on Parallel and Distributed Processing and Applications", []],
    [/\bGrid\ and\ Cooperative\ Computing\b/u, "Grid and Cooperative Computing", []],
    [/\bAdvanced\ Parallel\ Programming\ Technologies\b/u, "Advanced Parallel Programming Technologies", []],
    [/\b(PDCS([^a-zA-Z]?\d*)|Parallel\ and\ Distributed\ Computing\ Systems)\b/u, "Parallel and Distributed Computing Systems", []],
    [/\b(FTDCS([^a-zA-Z]?\d*)|Future\ Trends\ of\ Distributed\ Computer\ Systems)\b/u, "Future Trends of Distributed Computer Systems", []],
    [/\b(DSOM([^a-zA-Z]?\d*)|Distributed\ Systems,\ Operations\ and\ Management)\b/u, "Distributed Systems, Operations and Management", []],
    [/\b(ICPP([^a-zA-Z]?\d*)|International\ Conference\ on\ Parallel\ Processing\ Workshops)\b/u, "International Conference on Parallel Processing Workshops", []],
    [/\b(DAIS([^a-zA-Z]?\d*)|Distributed\ Applications\ and\ Interoperable\ Systems)\b/u, "Distributed Applications and Interoperable Systems", []],
    [/\b(PDPTA([^a-zA-Z]?\d*)|Parallel\ and\ Distributed\ Processing\ Techniques\ and\ Applications)\b/u, "Parallel and Distributed Processing Techniques and Applications", []],
    [/\bParallel\ Processing\ and\ Applied\ Mathematics\b/u, "Parallel Processing and Applied Mathematics", []],
    [/\b(HIPS([^a-zA-Z]?\d*)|High\-Level\ Parallel\ Programming\ Models\ and\ Supportive\ Environments)\b/u, "High-Level Parallel Programming Models and Supportive Environments", []],
    [/\bInternational\ Workshop\ on\ Cluster\ Computing\b/u, "International Workshop on Cluster Computing", []],
    [/\b(IFIP PACT([^a-zA-Z]?\d*)|Parallel\ Architectures\ and\ Compilation\ Techniques)\b/u, "Parallel Architectures and Compilation Techniques", []],
    [/\b(PARA([^a-zA-Z]?\d*)|Workshop\ on\ Applied\ Parallel\ Computing)\b/u, "Workshop on Applied Parallel Computing", []],
    [/\bParallel\ Computing\ in\ Electrical\ Engineering\b/u, "Parallel Computing in Electrical Engineering", []],
    [/\bInternational\ Symposium\ on\ Parallel\ Architectures,\ Algorithms\ and\ Networks\b/u, "International Symposium on Parallel Architectures, Algorithms and Networks", []],
    [/\bInternational\ Conference\ On\ Principles\ Of\ Distributed\ Systems\b/u, "International Conference On Principles Of Distributed Systems", []],
    [/\bOpen\ Distributed\ Processing\b/u, "Open Distributed Processing", []],
    [/\bEuropean\ Distributed\ Memory\ Computing\ Conference\b/u, "European Distributed Memory Computing Conference", []],
    [/\bApplications\ in\ Parallel\ and\ Distributed\ Computing\b/u, "Applications in Parallel and Distributed Computing", []],
    [/\bDistributed\ Event\-Based\ Systems\b/u, "Distributed Event-Based Systems", []],
    [/\b(PaCT([^a-zA-Z]?\d*)|Parallel\ Computing\ Technologies)\b/u, "Parallel Computing Technologies", []],
    [/\b(ICPADS([^a-zA-Z]?\d*)|International\ Conference\ on\ Parallel\ and\ Distributed\ Systems)\b/u, "International Conference on Parallel and Distributed Systems", []],
    [/\b(WDAS([^a-zA-Z]?\d*)|Workshop\ on\ Distributed\ Data\ and\ Structures)\b/u, "Workshop on Distributed Data and Structures", []],
    [/\b(VECPAR([^a-zA-Z]?\d*)|Vector\ and\ Parallel\ Processing)\b/u, "Vector and Parallel Processing", []],
    [/\b(PASCO([^a-zA-Z]?\d*)|International\ Symposium\ on\ Parallel\ Symbolic\ Computation)\b/u, "International Symposium on Parallel Symbolic Computation", []],
    [/\b(PARCO([^a-zA-Z]?\d*)|Parallel\ Computing)\b/u, "Parallel Computing", []],
    [/\b(DDSS([^a-zA-Z]?\d*)|Distributed\ Data\ Sharing\ Systems)\b/u, "Distributed Data Sharing Systems", []],
    [/\bParallel\ Algorithms\ and\ Architectures\b/u, "Parallel Algorithms and Architectures", []],
    [/\b(MOVEP([^a-zA-Z]?\d*)|Modeling\ and\ Verification\ of\ Parallel\ Processes)\b/u, "Modeling and Verification of Parallel Processes", []],
    [/\b(Euro([^a-zA-Z]?\d*)|PDS\ \-\ Parallel\ and\ Distributed\ Systems)\b/u, "PDS - Parallel and Distributed Systems", []],
    [/\bProgramming\ Environments\ for\ Parallel\ Computing\b/u, "Programming Environments for Parallel Computing", []],
    [/\b(TPPP([^a-zA-Z]?\d*)|Theory\ and\ Practice\ of\ Parallel\ Programming)\b/u, "Theory and Practice of Parallel Programming", []],
    [/\bCooperative\ Environments\ for\ Distributed\ Systems\ Engineering\b/u, "Cooperative Environments for Distributed Systems Engineering", []],
    [/\b(TreDS([^a-zA-Z]?\d*)|Trends\ in\ Distributed\ Systems)\b/u, "Trends in Distributed Systems", []],
    [/\b(OBPDC([^a-zA-Z]?\d*)|Object\-Based\ Parallel\ and\ Distributed\ Computation)\b/u, "Object-Based Parallel and Distributed Computation", []],
    [/\bProcess\ in\ Distributed\ Operating\ Systems\ and\ Distributed\ Systems\ Management\b/u, "Process in Distributed Operating Systems and Distributed Systems Management", []],
    [/\bParallel\ Symbolic\ Computing\b/u, "Parallel Symbolic Computing", []],
    [/\b(CFCP([^a-zA-Z]?\d*)|Canada\-France\ Conference\ on\ Parallel\ and\ Distributed\ Computing)\b/u, "Canada-France Conference on Parallel and Distributed Computing", []],
    [/\b(Fault-Tolerant\ Distributed\ Computing)\b/u, "Fault-Tolerant Distributed Computing", []],
    [/\b(WOPPLOT([^a-zA-Z]?\d*)|Workshop\ on\ Parallel\ Processing:\ Logic,\ Organization,\ and\ Technology)\b/u, "Workshop on Parallel Processing: Logic, Organization, and Technology", []],
    [/\bDistributed\ Computing\ Environment\b/u, "Distributed Computing Environment", []],
    [/\b(Parcella([^a-zA-Z]?\d*)|Parallel\ Processing\ by\ Cellular\ Automata\ and\ Arrays)\b/u, "Parallel Processing by Cellular Automata and Arrays", []],
    [/\b(HiPC([^a-zA-Z]?\d*)|International\ Conference\ on\ High\ Performance\ Computing)\b/u, "International Conference on High Performance Computing", []]
  ].map{|a| a[-1] = [Topics::DISTRIBUTED_AND_PARALLEL_COMPUTING]+a[-1]; a }))
  # Hardware and Architecture
  CS_CONFERENCES.push(*( [
    [/\b(ASPLOS([^a-zA-Z]?\d*)|International\ Conference\ on\ Architectural\ Support\ for\ Programming\ Languages\ and\ Operating\ Systems)\b/u, "International Conference on Architectural Support for Programming Languages and Operating Systems", []],
    [/\b(ISCA([^a-zA-Z]?\d*)|International\ Symposium\ on\ Computer\ Architecture)\b/u, "International Symposium on Computer Architecture", []],
    [/\b(DAC([^a-zA-Z]?\d*)|Design\ Automation\ Conference)\b/u, "Design Automation Conference", []],
    [/\b(MICRO([^a-zA-Z]?\d*)|International\ Symposium\ on\ Microarchitecture)\b/u, "International Symposium on Microarchitecture", []],
    [/\b(ICCAD([^a-zA-Z]?\d*)|International\ Conference\ on\ Computer\ Aided\ Design)\b/u, "International Conference on Computer Aided Design", []],
    [/\b(HPCA([^a-zA-Z]?\d*)|International\ Symposium\ on\ High\-Performance\ Computer\ Architecture)\b/u, "International Symposium on High-Performance Computer Architecture", []],
    [/\b(FCCM([^a-zA-Z]?\d*)|Field\-Programmable\ Custom\ Computing\ Machines)\b/u, "Field-Programmable Custom Computing Machines", []],
    [/\b(ICCD([^a-zA-Z]?\d*)|International\ Conference\ on\ Computer\ Design)\b/u, "International Conference on Computer Design", []],
    [/\b(ISPD([^a-zA-Z]?\d*)|International\ Symposium\ on\ Physical\ Design)\b/u, "International Symposium on Physical Design", []],
    [/\b(DATE([^a-zA-Z]?\d*)|Design,\ Automation,\ and\ Test\ in\ Europe)\b/u, "Design, Automation, and Test in Europe", []],
    [/\b(ECRTS([^a-zA-Z]?\d*)|Euromicro\ Conference\ on\ Real\-Time\ Systems)\b/u, "Euromicro Conference on Real-Time Systems", []],
    [/\b(ASP-DAC([^a-zA-Z]?\d*)|Asia\ and\ South\ Pacific\ Design\ Automation\ Conference)\b/u, "Asia and South Pacific Design Automation Conference", []],
    [/\b(VLSI Design)\b/u, "VLSI Design", []],
    [/\b(ISCAS([^a-zA-Z]?\d*)|IEEE\ International\ Symposium\ on\ Circuits\ and\ Systems)\b/u, "IEEE International Symposium on Circuits and Systems", []],
    [/\b(HIPEAC([^a-zA-Z]?\d*)|High\ Performance\ and\ Embedded\ Architecture\ and\ Compilation)\b/u, "High Performance and Embedded Architecture and Compilation", []]
  ].map{|a| a[-1] = [Topics::HARDWARE_AND_ARCHITECTURE]+a[-1]; a }))
  # Human Computer Interaction
  CS_CONFERENCES.push(*( [
    [/\b(SIGCHI([^a-zA-Z]?\d*)|CHI'?\d\d|CHI\d\d\d\d|Computer\ Human\ Interaction)\b/u, "Computer Human Interaction", []],
    [/\b(CSCW([^a-zA-Z]?\d*)|Conference\ on\ Computer\ Supported\ Cooperative\ Work)\b/u, "Conference on Computer Supported Cooperative Work", []],
    [/\b(UIST([^a-zA-Z]?\d*)|User\ Interface\ Software\ and\ Technology)\b/u, "User Interface Software and Technology", []],
    [/\b(IUI([^a-zA-Z]?\d*)|Intelligent\ User\ Interfaces)\b/u, "Intelligent User Interfaces", []],
    [/\b(DIS([^a-zA-Z]?\d*)|Designing\ Interactive\ Systems)\b/u, "Designing Interactive Systems", []],
    [/\b(AVI([^a-zA-Z]?\d*)|Working\ Conference\ on\ Advanced\ Visual\ Interfaces)\b/u, "Working Conference on Advanced Visual Interfaces", []],
    [/\b(BCS\ HCI\ Conference)\b/u, "BCS HCI Conference", []],
    [/\b(INTERACT([^a-zA-Z]?\d*)|IFIP\ Conference\ on\ Human\-Computer\ Interaction)\b/u, "IFIP Conference on Human-Computer Interaction", []],
    [/\b(ICMI([^a-zA-Z]?\d*)|Int\.\ Conf\.\ on\ Multimodal\ Interfaces)\b/u, "Int. Conf. on Multimodal Interfaces", []],
    [/\b(DSV-IS([^a-zA-Z]?\d*)|Design,\ Specification,\ and\ Verification\ of\ Interactive\ Systems)\b/u, "Design, Specification, and Verification of Interactive Systems", []],
    [/\bSymposium\ on\ Haptic\ Interfaces\ for\ Virtual\ Environment\ and\ Teleoperator\ Systems\b/u, "Symposium on Haptic Interfaces for Virtual Environment and Teleoperator Systems", []],
    [/\b(EHCI([^a-zA-Z]?\d*)|Engineering\ for\ Human\-Computer\ Interaction)\b/u, "Engineering for Human-Computer Interaction", []],
    [/\b(MobileHCI([^a-zA-Z]?\d*)|Human\-Computer\ Interaction\ with\ Mobile\ Devices\ and\ Services)\b/u, "Human-Computer Interaction with Mobile Devices and Services", []],
    [/\bUser\ Interfaces\ for\ All\b/u, "User Interfaces for All", []],
    [/\b(TAMODIA([^a-zA-Z]?\d*)|Task\ Models\ and\ Diagrams\ for\ User\ Interface\ Design)\b/u, "Task Models and Diagrams for User Interface Design", []],
    [/\b(EWHCI([^a-zA-Z]?\d*)|EWHCI)\b/u, "EWHCI", []],
    [/\b(HCI([^a-zA-Z]?\d*)|Human\-Computer\ Interaction)\b/u, "Human-Computer Interaction", []],
    [/\b(HSI([^a-zA-Z]?\d*)|Human\ System\ Interaction)\b/u, "Human System Interaction", []],
    [/\b(IDC([^a-zA-Z]?\d*)|Interaction\ Design\ And\ Children)\b/u, "Interaction Design And Children", []],
    [/\b(DPPI([^a-zA-Z]?\d*)|Designing\ Pleasurable\ Products\ and\ Interfaces)\b/u, "Designing Pleasurable Products and Interfaces", []],
    [/\bHaptic\ Human\-Computer\ Interaction\b/u, "Haptic Human-Computer Interaction", []],
    [/\b(UIDIS([^a-zA-Z]?\d*)|User\ Interfaces\ to\ Data\ Intensive\ Systems)\b/u, "User Interfaces to Data Intensive Systems", []],
    [/\b(IWAI([^a-zA-Z]?\d*)|International\ Workshop\ on\ Affective\ Interactions)\b/u, "International Workshop on Affective Interactions", []],
    [/\b(VCHCI([^a-zA-Z]?\d*)|Vienna\ Conference\ on\ Human\ Compter\ Interaction)\b/u, "Vienna Conference on Human Compter Interaction", []],
    [/\b(VL\/HCC([^a-zA-Z]?\d*)|Visual\ Languages\ and\ Human\-Centric\ Computing)\b/u, "VL/HCC - Visual Languages and Human-Centric Computing", []]
  ].map{|a| a[-1] = [Topics::HUMAN_COMPUTER_INTERACTION]+a[-1]; a }))
  # Machine Learning and Pattern Recognition
  CS_CONFERENCES.push(*( [
    [/\b(ICML([^a-zA-Z]?\d*)|International\ Conference\ on\ Machine\ Learning)\b/u, "International Conference on Machine Learning", []],
    [/\b(UAI([^a-zA-Z]?\d*)|Uncertainty\ in\ Artificial\ Intelligence)\b/u, "Uncertainty in Artificial Intelligence", []],
    [/\b(COLT([^a-zA-Z]?\d*)|Computational\ Learning\ Theory)\b/u, "Computational Learning Theory", []],
    [/\b(ECML([^a-zA-Z]?\d*)|European\ Conference\ on\ Machine\ Learning)\b/u, "European Conference on Machine Learning", []],
    [/\b(NIPS([^a-zA-Z]?\d*)|Neural\ Information\ Processing\ Systems)\b/u, "Neural Information Processing Systems", []],
    [/\b(EuroCOLT([^a-zA-Z]?\d*)|European\ Conference\ on\ Computational\ Learning\ Theory)\b/u, "European Conference on Computational Learning Theory", []],
    [/\b(ICPR([^a-zA-Z]?\d*)|International\ Conference\ on\ Pattern\ Recognition)\b/u, "International Conference on Pattern Recognition", []],
    [/\b(MLMTA([^a-zA-Z]?\d*)|Machine\ Learning;\ Models,\ Technologies\ and\ Applications)\b/u, "Machine Learning; Models, Technologies and Applications", []],
    [/\b(NCI([^a-zA-Z]?\d*)|Neural\ Networks\ and\ Computational\ Intelligence)\b/u, "Neural Networks and Computational Intelligence", []],
    [/\bIberoamerican\ Congress\ on\ Pattern\ Recognition\b/u, "Iberoamerican Congress on Pattern Recognition", []],
    [/\b(ICANN([^a-zA-Z]?\d*)|Int\.\ Conference\ on\ Artificial\ Neural\ Networks)\b/u, "Int. Conference on Artificial Neural Networks", []],
    [/\b(IJCNN([^a-zA-Z]?\d*)|IJCNN)\b/u, "IJCNN", []],
    [/\b(WIRN([^a-zA-Z]?\d*)|Italian\ Workshop\ on\ Neural\ Neural\ Nets)\b/u, "Italian Workshop on Neural Neural Nets", []],
    [/\bPattern\ Recognition\ in\ Information\ Systems\b/u, "Pattern Recognition in Information Systems", []],
    [/\b(ICAPR([^a-zA-Z]?\d*)|Advances\ in\ Pattern\ Recognition)\b/u, "Advances in Pattern Recognition", []],
    [/\bGraph\ Based\ Representations\ in\ Pattern\ Recognition\b/u, "Graph Based Representations in Pattern Recognition", []],
    [/\b(SSPR([^a-zA-Z]?\d*)|International\ Workshop\ on\ Structural\ and\ Syntactic\ Pattern\ Recognition)\b/u, "International Workshop on Structural and Syntactic Pattern Recognition", []],
    [/\b(MLDM([^a-zA-Z]?\d*)|Machine\ Learning\ and\ Data\ Mining\ in\ Pattern\ Recognition)\b/u, "Machine Learning and Data Mining in Pattern Recognition", []],
    [/\b(DAGM([^a-zA-Z]?\d*)|Symposium\ Symposium\ for\ Pattern\ Recognition)\b/u, "Symposium Symposium for Pattern Recognition", []],
    [/\bEmergent\ Neural\ Computational\ Architectures\ Based\ on\ Neuroscience\b/u, "Emergent Neural Computational Architectures Based on Neuroscience", []],
    [/\b(NC([^a-zA-Z]?\d*)|ICSC\ Symposium\ on\ Neural\ Computation)\b/u, "ICSC Symposium on Neural Computation", []],
    [/\b(IWANN([^a-zA-Z]?\d*)|International\ Work\-Conference\ on\ Artificial\ and\ Natural\ Neural\ Networks)\b/u, "International Work-Conference on Artificial and Natural Neural Networks", []],
    [/\b(SBRN([^a-zA-Z]?\d*)|Brazilian\ Symposium\ on\ Neural\ Networks)\b/u, "Brazilian Symposium on Neural Networks", []],
    [/\bSummer\ School\ on\ Neural\ Networks\b/u, "Summer School on Neural Networks", []],
    [/\bMachine\ Learning\ Summer\ School\b/u, "Machine Learning Summer School", []],
    [/\b(ANNA([^a-zA-Z]?\d*)|Analysis\ of\ Neural\ Network\ Applications)\b/u, "Analysis of Neural Network Applications", []],
    [/\bKnowledge\ Representation\ and\ Organization\ in\ Machine\ Learning\b/u, "Knowledge Representation and Organization in Machine Learning", []],
    [/\bArtificial\ Neural\ Neutworks\b/u, "Artificial Neural Neutworks", []]
  ].map{|a| a[-1] = [Topics::MACHINE_LEARNING_AND_PATTERN_RECOGNITION]+a[-1]; a }))
  # Multi-disciplinary
  CS_CONFERENCES.push(*( [
    [/\bCompute2008\ \-\ ACM\ Compute\ 2008\ Bangalore\b/u, "Compute2008 - ACM Compute 2008 Bangalore", []],
    [/\b(ExpCS([^a-zA-Z]?\d*)|Experimental\ Computer\ Science)\b/u, "Experimental Computer Science", []],
    [/\b(ICCIT([^a-zA-Z]?\d*)|International\ Conference\ on\ Computer\ and\ Information\ Technology)\b/u, "International Conference on Computer and Information Technology", []],
    [/\b(SAC([^a-zA-Z]?\d*)|ACM\ Symposium\ On\ Applied\ Computing)\b/u, "ACM Symposium On Applied Computing", []]
  ].map{|a| a[-1] = [Topics::CS]+a[-1]; a }))
  # Multimedia
  CS_CONFERENCES.push(*( [
    [/\b(MM([^a-zA-Z]?\d*)|ACM\ Multimedia\ Conference)\b/u, "ACM Multimedia Conference", []],
    [/\b(SPIE([^a-zA-Z]?\d*)|Storage\ and\ Retrieval\ for\ Image\ and\ Video\ Databases)\b/u, "Storage and Retrieval for Image and Video Databases", []],
    [/\b(ICME\(ICMCS\)([^a-zA-Z]?\d*)|International\ Conference\ on\ Multimedia\ Computing\ and\ Systems\/International\ Conference\ on\ Multimedia\ and\ Expo)\b/u, "International Conference on Multimedia Computing and Systems/International Conference on Multimedia and Expo", []],
    [/\bInternational\ Conference\ on\ Image\ Processing\b/u, "International Conference on Image Processing", []],
    [/\b(AVBPA([^a-zA-Z]?\d*)|Audio\-\ and\ Video\-Based\ Biometric\ Person\ Authentication)\b/u, "Audio- and Video-Based Biometric Person Authentication", []],
    [/\b(MICCAI([^a-zA-Z]?\d*)|Medical\ Image\ Computing\ and\ Computer\-Assisted\ Intervention)\b/u, "Medical Image Computing and Computer-Assisted Intervention", []],
    [/\bConference\ on\ Image\ and\ Video\ Retrieval\b/u, "Conference on Image and Video Retrieval", []],
    [/\b(IDMS([^a-zA-Z]?\d*)|Interactive\ Distributed\ Multimedia\ Systems\ and\ Telecommunication\ Services)\b/u, "Interactive Distributed Multimedia Systems and Telecommunication Services", []],
    [/\bDocument\ Image\ Analysis\ for\ Libraries\b/u, "Document Image Analysis for Libraries", []],
    [/\bMultimedia\ Information\ Retrieval\b/u, "Multimedia Information Retrieval", []],
    [/\b(CAIP([^a-zA-Z]?\d*)|Computer\ Analysis\ of\ Images\ and\ Patterns)\b/u, "Computer Analysis of Images and Patterns", []],
    [/\b(SCIA([^a-zA-Z]?\d*)|Scandinavian\ Conference\ on\ Image\ Analysis)\b/u, "Scandinavian Conference on Image Analysis", []],
    [/\bDigital\ Image\ Computing:\ Techniques\ and\ Applications\b/u, "Digital Image Computing: Techniques and Applications", []],
    [/\b(WOWMOM([^a-zA-Z]?\d*)|Workshop\ on\ Wireless\ Mobile\ Multimedia)\b/u, "Workshop on Wireless Mobile Multimedia", []],
    [/\bIberian\ Conference\ on\ Pattern\ Recognition\ and\ Image\ Analysis\b/u, "Iberian Conference on Pattern Recognition and Image Analysis", []],
    [/\b(CAIVD([^a-zA-Z]?\d*)|Content\-Based\ Access\ of\ Image\ and\ Video\ Databases)\b/u, "Content-Based Access of Image and Video Databases", []],
    [/\b(MIS([^a-zA-Z]?\d*)|Workshop\ on\ Multimedia\ Information\ Systems)\b/u, "Workshop on Multimedia Information Systems", []],
    [/\b(IEEE Pacific\ Rim\ Conference\ on\ Multimedia)\b/u, "IEEE Pacific Rim Conference on Multimedia", []],
    [/\bSouthwest\ Symposium\ on\ Image\ Analysis\ and\ Interpretation\b/u, "Southwest Symposium on Image Analysis and Interpretation", []],
    [/\bApplied\ Imagery\ Pattern\ Recognition\ Workshop\b/u, "Applied Imagery Pattern Recognition Workshop", []],
    [/\b(ECMAST([^a-zA-Z]?\d*)|European\ Conference\ on\ Multimedia\ Applications,\ Services\ and\ Techniques)\b/u, "European Conference on Multimedia Applications, Services and Techniques", []],
    [/\b(ICIAP([^a-zA-Z]?\d*)|International\ Conference\ on\ Image\ Analysis\ and\ Processing)\b/u, "International Conference on Image Analysis and Processing", []],
    [/\b(MMM([^a-zA-Z]?\d*)|Multimedia\ Modeling)\b/u, "Multimedia Modeling", []],
    [/\b(SIP([^a-zA-Z]?\d*)|Signal\ and\ Image\ Processing)\b/u, "Signal and Image Processing", []],
    [/\bImage\ Processing,\ Image\ Quality,\ Image\ Capture\ Systems\ Conference\b/u, "Image Processing, Image Quality, Image Capture Systems Conference", []],
    [/\b(IEEE Workshop\ on\ Detection\ and\ Recognition\ of\ Events\ in\ Video)\b/u, "IEEE Workshop on Detection and Recognition of Events in Video", []],
    [/\b(ACM International\ Workshop\ on\ Multimedia\ Databases)\b/u, "ACM International Workshop on Multimedia Databases", []],
    [/\b(AMCP([^a-zA-Z]?\d*)|Advanced\ Multimedia\ Content\ Processing)\b/u, "Advanced Multimedia Content Processing", []],
    [/\bWorkshop\ on\ Digital\ and\ Computational\ Video\b/u, "Workshop on Digital and Computational Video", []],
    [/\bMultimedia\ Technology\ and\ Management\b/u, "Multimedia Technology and Management", []],
    [/\b(MINAR([^a-zA-Z]?\d*)|Multimedia\ Information\ Analysis\ and\ Retrieval)\b/u, "Multimedia Information Analysis and Retrieval", []],
    [/\bInternational\ Conference\ on\ Parallel\ Image\ Analysis\b/u, "International Conference on Parallel Image Analysis", []],
    [/\bMultimedia\ Electronic\ Documents\b/u, "Multimedia Electronic Documents", []],
    [/\b(BSDIA([^a-zA-Z]?\d*)|Brazilian\ Symposium\ on\ Document\ Image\ Analysis)\b/u, "Brazilian Symposium on Document Image Analysis", []],
    [/\bDigital\ Image\ Processing\ Systems\b/u, "Digital Image Processing Systems", []],
    [/\b(DFmA([^a-zA-Z]?\d*)|Distributed\ Frameworks,\ Multimedia\ and\ Applicationslink\ DFmA)\b/u, "Distributed Frameworks, Multimedia and Applicationslink DFmA", []],
    [/\b(MIV([^a-zA-Z]?\d*)|WSEAS\ Conference\ Multimedia,\ Internet\ and\ Video\ Technologies)\b/u, "WSEAS Conference Multimedia, Internet and Video Technologies", []],
    [/\b(ESTIMedia([^a-zA-Z]?\d*)|IEEE\ Workshop\ on\ Embedded\ Systems\ for\ Real\-time\ Multimedia)\b/u, "IEEE Workshop on Embedded Systems for Real-time Multimedia", []],
    [/\b(MHVR([^a-zA-Z]?\d*)|Multimedia,\ Hypermedia,\ and\ Virtual\ Reality)\b/u, "Multimedia, Hypermedia, and Virtual Reality", []]
  ].map{|a| a[-1] = [Topics::MULTIMEDIA]+a[-1]; a }))
  # Operating, Networked and Storage Systems
  CS_CONFERENCES.push(*( [
    [/\b(SIGCOMM([^a-zA-Z]?\d*)|ACM\ Conference\ of\ the\ Special\ Interest\ Group\ on\ Data\ Communication)\b/u, "ACM Conference of the Special Interest Group on Data Communication", []],
    [/\b(SOSP([^a-zA-Z]?\d*)|ACM\ SIGOPS\ Symposium\ on\ Operating\ Systems\ Principles)\b/u, "ACM SIGOPS Symposium on Operating Systems Principles", []],
    [/\b(MOBICOM([^a-zA-Z]?\d*)|ACM\ Conference\ on\ Mobile\ Communication\ Systems)\b/u, "ACM Conference on Mobile Communication Systems", []],
    [/\b(ASPLOS([^a-zA-Z]?\d*)|Architectural\ Support\ for\ Programming\ Languages\ and\ Operating\ Systems)\b/u, "Architectural Support for Programming Languages and Operating Systems", []],
    [/\b(OSDI([^a-zA-Z]?\d*)|USENIX\/ACM\ Symposium\ on\ Operating\ Systems\ Design\ and\ Implementation)\b/u, "USENIX/ACM Symposium on Operating Systems Design and Implementation", []],
    [/\b(NSDI([^a-zA-Z]?\d*)|USENIX\/ACM\ Symposium\ on\ Networked\ Systems\ Design\ and\ Implementation)\b/u, "USENIX/ACM Symposium on Networked Systems Design and Implementation", []],
    [/\b(USENIX Security([^a-zA-Z]?\d*)|USENIX\ Security\ Symposium)\b/u, "USENIX Security Symposium", []],
    [/\b(USENIX([^a-zA-Z]?\d*)|USENIX\ Annual\ Technical\ Conference)\b/u, "USENIX Annual Technical Conference", []],
    [/\b(EuroSys([^a-zA-Z]?\d*)|The\ European\ Conference\ in\ Computer\ Systems)\b/u, "The European Conference in Computer Systems", []],
    [/\b(SIGMETRICS([^a-zA-Z]?\d*)|ACM\ Conference\ on\ Measurement\ and\ Modeling\ of\ Computer\ Systems)\b/u, "ACM Conference on Measurement and Modeling of Computer Systems", []],
    [/\b(FAST([^a-zA-Z]?\d*)|USENIX\ Conference\ on\ File\ and\ Storage\ Technologies)\b/u, "USENIX Conference on File and Storage Technologies", []],
    [/\b(WWW([^a-zA-Z]?\d*)|World\ Wide\ Web\ Conference\ Series)\b/u, "World Wide Web Conference Series", []],
    [/\b(SC([^a-zA-Z]?\d*)|Supercomputing)\b/u, "Supercomputing", []],
    [/\b(ICDCS([^a-zA-Z]?\d*)|International\ Conference\ on\ Distributed\ Computing\ Systems)\b/u, "International Conference on Distributed Computing Systems", []],
    [/\b(HPDC([^a-zA-Z]?\d*)|IEEE\ International\ Symposium\ on\ High\ Performance\ Distributed\ Computing)\b/u, "IEEE International Symposium on High Performance Distributed Computing", []],
    [/\b(IPTPS([^a-zA-Z]?\d*)|International\ Workshop\ on\ Peer\-to\-peer\ Systems)\b/u, "International Workshop on Peer-to-peer Systems", []],
    [/\b(HotOS([^a-zA-Z]?\d*)|WWOS|Workshop\ on\ Hot\ Topics\ in\ Operating\ Systems)\b/u, "Workshop on Hot Topics in Operating Systems", []],
    [/\b(DSN([^a-zA-Z]?\d*)|International\ Conference\ on\ Dependable\ Systems\ and\ Networks)\b/u, "International Conference on Dependable Systems and Networks", []],
    [/\b(NOSSDAV([^a-zA-Z]?\d*)|Network\ and\ Operating\ System\ Support\ for\ Digital\ Audio\ and\ Video)\b/u, "Network and Operating System Support for Digital Audio and Video", []],
    [/\b(MobiSys([^a-zA-Z]?\d*)|International\ Conference\ on\ Mobile\ Systems,\ Applications,\ and\ Services)\b/u, "International Conference on Mobile Systems, Applications, and Services", []],
    [/\b(Middleware([^a-zA-Z]?\d*)|International\ Middleware\ Conference)\b/u, "International Middleware Conference", []],
    [/\b(SIGOPS([^a-zA-Z]?\d*)|European\ Workshop)\b/u, "European Workshop", []],
    [/\b(MSST([^a-zA-Z]?\d*)|IEEE\ Conference\ on\ Mass\ Storage\ Systems\ and\ Technologies)\b/u, "IEEE Conference on Mass Storage Systems and Technologies", []],
    [/\b(MASCOTS([^a-zA-Z]?\d*)|Modeling,\ Analysis,\ and\ Simulation\ On\ Computer\ and\ Telecommunication\ Systems)\b/u, "Modeling, Analysis, and Simulation On Computer and Telecommunication Systems", []]
  ].map{|a| a[-1] = [Topics::OPERATING_NETWORKED_AND_STORAGE_SYSTEMS]+a[-1]; a }))
  # Programming languages
  CS_CONFERENCES.push(*( [
    [/\b(POPL([^a-zA-Z]?\d*)|Symposium\ on\ Principles\ of\ Programming\ Languages)\b/u, "Symposium on Principles of Programming Languages", []],
    [/\b(PLDI([^a-zA-Z]?\d*)|SIGPLAN\ Conference\ on\ Programming\ Language\ Design\ and\ Implementation)\b/u, "SIGPLAN Conference on Programming Language Design and Implementation", []],
    [/\b(ASPLOS([^a-zA-Z]?\d*)|International\ Conference\ on\ Architectural\ Support\ for\ Programming\ Languages\ and\ Operating\ Systems)\b/u, "International Conference on Architectural Support for Programming Languages and Operating Systems", []],
    [/\b(ECOOP([^a-zA-Z]?\d*)|European\ Conference\ on\ Object\-Oriented\ Programming)\b/u, "European Conference on Object-Oriented Programming", []],
    [/\b(OOPSLA([^a-zA-Z]?\d*)|Conference\ on\ Object\-Oriented\ Programming\ Systems,\ Languages,\ and\ Applications)\b/u, "Conference on Object-Oriented Programming Systems, Languages, and Applications", []],
    [/\b(ICLP([^a-zA-Z]?\d*)|JICSLP|International\ Conference\ on\ Logic\ Programming\/Joint\ International\ Conference\ and\ Symposium\ on\ Logic\ Programming)\b/u, "International Conference on Logic Programming/Joint International Conference and Symposium on Logic Programming", []],
    [/\b(ICFP([^a-zA-Z]?\d*)|International\ Conference\ on\ Functional\ Programming)\b/u, "International Conference on Functional Programming", []],
    [/\b(ESOP([^a-zA-Z]?\d*)|European\ Symposium\ on\ Programming)\b/u, "European Symposium on Programming", []],
    [/\b(PLILP([^a-zA-Z]?\d*)|Symposium\ on\ Programming\ Language\ Implementation\ and\ Logic\ Programming)\b/u, "Symposium on Programming Language Implementation and Logic Programming", []],
    [/\b(CP([^a-zA-Z]?\d*)|Principles\ and\ Practice\ of\ Constraint\ Programming)\b/u, "Principles and Practice of Constraint Programming", []],
    [/\b(CC([^a-zA-Z]?\d*)|Compiler\ Construction)\b/u, "Compiler Construction", []],
    [/\b(ICCL([^a-zA-Z]?\d*)|International\ Conference\ on\ Computer\ Languages)\b/u, "International Conference on Computer Languages", []],
    [/\b(ALP([^a-zA-Z]?\d*)|Algebraic\ and\ Logic\ Programming)\b/u, "Algebraic and Logic Programming", []],
    [/\b(SSR([^a-zA-Z]?\d*)|ACM\ SIGSOFT\ Symposium\ on\ Software\ Reusability)\b/u, "ACM SIGSOFT Symposium on Software Reusability", []],
    [/\b(FASE([^a-zA-Z]?\d*)|Fundamental\ Approaches\ to\ Software\ Engineering)\b/u, "Fundamental Approaches to Software Engineering", []],
    [/\b(PADL([^a-zA-Z]?\d*)|Practical\ Aspects\ of\ Declarative\ Languages)\b/u, "Practical Aspects of Declarative Languages", []],
    [/\b(LOPSTR([^a-zA-Z]?\d*)|Logic\ Program\ Synthesis\ and\ Transformation)\b/u, "Logic Program Synthesis and Transformation", []],
    [/\b(FLOPS([^a-zA-Z]?\d*)|Fuji\ International\ Symposium\ on\ Functional\ and\ Logic\ Programming)\b/u, "Fuji International Symposium on Functional and Logic Programming", []],
    [/\bInternational\ Conference\ on\ Applications\ of\ Prolog\b/u, "International Conference on Applications of Prolog", []],
    [/\b(HIPS([^a-zA-Z]?\d*)|High\-Level\ Parallel\ Programming\ Models\ and\ Supportive\ Environments)\b/u, "High-Level Parallel Programming Models and Supportive Environments", []],
    [/\b(SFP([^a-zA-Z]?\d*)|Scottish\ Functional\ Programming\ Workshops)\b/u, "Scottish Functional Programming Workshops", []],
    [/\bPrograms\ as\ Data\ Objects\b/u, "Programs as Data Objects", []]
  ].map{|a| a[-1] = [Topics::PROGRAMMING_LANGUAGES]+a[-1]; a }))
  # Real Time and Embedded Systems
  CS_CONFERENCES.push(*( [
    [/\b(RTSS([^a-zA-Z]?\d*)|IEEE\ Real\-Time\ Systems\ Symposium)\b/u, "IEEE Real-Time Systems Symposium", []],
    [/\b(FTRTFT([^a-zA-Z]?\d*)|Formal\ Techniques\ in\ Real\-Time\ and\ Fault\-Tolerant\ Systems)\b/u, "Formal Techniques in Real-Time and Fault-Tolerant Systems", []],
    [/\b(LCTES([^a-zA-Z]?\d*)|Languages,\ Compilers,\ and\ Tools\ for\ Embedded\ Systems)\b/u, "Languages, Compilers, and Tools for Embedded Systems", []],
    [/\b(CASES([^a-zA-Z]?\d*)|Compilers,\ Architecture,\ and\ Synthesis\ for\ Embedded\ Systems)\b/u, "Compilers, Architecture, and Synthesis for Embedded Systems", []],
    [/\b(EMSOFT([^a-zA-Z]?\d*)|International\ Workshop\ on\ Embedded\ Systems)\b/u, "International Workshop on Embedded Systems", []],
    [/\b(ECRTS([^a-zA-Z]?\d*)|Euromicro\ Conference\ on\ Real\-Time\ Systems)\b/u, "Euromicro Conference on Real-Time Systems", []],
    [/\b(ISORC([^a-zA-Z]?\d*)|Object\-Oriented\ Real\-Time\ Distributed\ Computing)\b/u, "Object-Oriented Real-Time Distributed Computing", []],
    [/\b(RTCSA([^a-zA-Z]?\d*)|Real\-Time\ Computing\ Systems\ and\ Applications)\b/u, "Real-Time Computing Systems and Applications", []],
    [/\b(ESA([^a-zA-Z]?\d*)|Embedded\ Systems\ and\ Applications)\b/u, "Embedded Systems and Applications", []],
    [/\bSoftware\ and\ Compilers\ for\ Embedded\ Systems\b/u, "Software and Compilers for Embedded Systems", []],
    [/\b(ENSS([^a-zA-Z]?\d*)|Conference\ On\ Embedded\ Networked\ Sensor\ Systems)\b/u, "Conference On Embedded Networked Sensor Systems", []],
    [/\b(Object([^a-zA-Z]?\d*)|Oriented\ Modeling\ of\ Embedded\ Real\-Time\ Systems)\b/u, "Oriented Modeling of Embedded Real-Time Systems", []],
    [/\b(ESTIMedia([^a-zA-Z]?\d*)|IEEE\ Workshop\ on\ Embedded\ Systems\ for\ Real\-time\ Multimedia)\b/u, "IEEE Workshop on Embedded Systems for Real-time Multimedia", []]
  ].map{|a| a[-1] = [Topics::REAL_TIME_AND_EMBEDDED_SYSTEMS]+a[-1]; a }))
  # Security and Privacy
  CS_CONFERENCES.push(*( [
    [/\b(S&P([^a-zA-Z]?\d*)|IEEE\ Symposium\ on\ Security\ and\ Privacy)\b/u, "IEEE Symposium on Security and Privacy", []],
    [/\b(CRYPTO([^a-zA-Z]?\d*)|International\ Cryptology\ Conference)\b/u, "International Cryptology Conference", []],
    [/\b(CCS([^a-zA-Z]?\d*)|Computer\ and\ Communications\ Security)\b/u, "Computer and Communications Security", []],
    [/\b(EUROCRYPT([^a-zA-Z]?\d*)|Theory\ and\ Application\ of\ Cryptographic\ Techniques)\b/u, "Theory and Application of Cryptographic Techniques", []],
    [/\b(CSFW([^a-zA-Z]?\d*)|Computer\ Security\ Foundations\ Workshop)\b/u, "Computer Security Foundations Workshop", []],
    [/\b(NDSS([^a-zA-Z]?\d*)|Network\ and\ Distributed\ System\ Security\ Symposium)\b/u, "Network and Distributed System Security Symposium", []],
    [/\b(ASIACRYPT([^a-zA-Z]?\d*)|ASIACRYPT)\b/u, "ASIACRYPT", []],
    [/\b(WiSe([^a-zA-Z]?\d*)|Wireless\ Security\ Workshop)\b/u, "Wireless Security Workshop", []],
    [/\bInformation\ Hiding\ Workshop\b/u, "Information Hiding Workshop", []],
    [/\b(ESORICS([^a-zA-Z]?\d*)|European\ Symposium\ on\ Research\ in\ Computer\ Security)\b/u, "European Symposium on Research in Computer Security", []],
    [/\b(FSE([^a-zA-Z]?\d*)|Fast\ Software\ Encryption)\b/u, "Fast Software Encryption", []],
    [/\bFinancial\ Cryptography\b/u, "Financial Cryptography", []],
    [/\b(ACSAC([^a-zA-Z]?\d*)|Annual\ Computer\ Security\ Applications\ Conference)\b/u, "Annual Computer Security Applications Conference", []],
    [/\b(CT-RSA([^a-zA-Z]?\d*)|The\ Cryptographer's\ Track\ at\ RSA\ Conference)\b/u, "The Cryptographer's Track at RSA Conference", []],
    [/\b(CHES([^a-zA-Z]?\d*)|Cryptographic\ Hardware\ and\ Embedded\ Systems)\b/u, "Cryptographic Hardware and Embedded Systems", []],
    [/\b(PKC([^a-zA-Z]?\d*)|Public\ Key\ Cryptography)\b/u, "Public Key Cryptography", []],
    [/\b(RAID([^a-zA-Z]?\d*)|Recent\ Advances\ in\ Intrusion\ Detection)\b/u, "Recent Advances in Intrusion Detection", []],
    [/\b(NSPW([^a-zA-Z]?\d*)|Workshop\ on\ New\ Security\ Paradigms)\b/u, "Workshop on New Security Paradigms", []],
    [/\b(SACMAT([^a-zA-Z]?\d*)|Symposium\ on\ Access\ Control\ Models\ and\ Technologies)\b/u, "Symposium on Access Control Models and Technologies", []],
    [/\bTheory\ of\ Cryptography\b/u, "Theory of Cryptography", []],
    [/\b(ACISP([^a-zA-Z]?\d*)|Australasian\ Conference\ on\ Information\ Security\ and\ Privacy)\b/u, "Australasian Conference on Information Security and Privacy", []],
    [/\b(DRM([^a-zA-Z]?\d*)|ACM\ Digital\ Rights\ Management\ Workshop)\b/u, "ACM Digital Rights Management Workshop", []],
    [/\b(ISC([^a-zA-Z]?\d*)|ISW|Information\ Security\ Conference\/Information\ Security\ Workshop)\b/u, "Information Security Conference/Information Security Workshop", []],
    [/\b(ICICS([^a-zA-Z]?\d*)|International\ Conference\ on\ Information\ and\ Communication\ Security)\b/u, "International Conference on Information and Communication Security", []],
    [/\b(MMM-ACNS([^a-zA-Z]?\d*)|Mathematical\ Methods,\ Models,\ and\ Architectures\ for\ Network\ Security\ Systems)\b/u, "Mathematical Methods, Models, and Architectures for Network Security Systems", []],
    [/\b(ICISC([^a-zA-Z]?\d*)|Information\ Security\ and\ Cryptology)\b/u, "Information Security and Cryptology", []],
    [/\b(IEEE([^a-zA-Z]?\d*)|International\ Workshop\ on\ Information\ Assurance)\b/u, "International Workshop on Information Assurance", []],
    [/\b(TDM([^a-zA-Z]?\d*)|Twente\ Data\ Management\ workshop\ on\ Privacy\ Aware\ Data\ Management)\b/u, "Twente Data Management workshop on Privacy Aware Data Management", []],
    [/\b(ARES([^a-zA-Z]?\d*)|Conference\ \-\ The\ International\ Conference\ on\ Availability,\ Reliability\ and\ Security)\b/u, "Conference - The International Conference on Availability, Reliability and Security", []]
  ].map{|a| a[-1] = [Topics::SECURITY_AND_PRIVACY]+a[-1]; a }))
  # Scientific Computing
  CS_CONFERENCES.push(*( [
    [/\b(ISSAC([^a-zA-Z]?\d*)|International\ Symposium\ on\ Symbolic\ and\ Algebraic\ Computation)\b/u, "International Symposium on Symbolic and Algebraic Computation", []],
    [/\b(SYMSAC([^a-zA-Z]?\d*)|Symposium\ on\ Symbolic\ and\ Algebraic\ Manipulation)\b/u, "Symposium on Symbolic and Algebraic Manipulation", []],
    [/\b(PPSC([^a-zA-Z]?\d*)|Parallel\ Processing\ for\ Scientific\ Computing)\b/u, "Parallel Processing for Scientific Computing", []],
    [/\b(DISCO([^a-zA-Z]?\d*)|Design\ and\ Implementation\ of\ Symbolic\ Computation\ Systems)\b/u, "Design and Implementation of Symbolic Computation Systems", []],
    [/\b(EUROSAM([^a-zA-Z]?\d*)|Symbolic\ and\ Algebraic\ Computation)\b/u, "Symbolic and Algebraic Computation", []],
    [/\bNumerical\ Methods\ and\ Applications\b/u, "Numerical Methods and Applications", []],
    [/\b(AISC([^a-zA-Z]?\d*)|Artificial\ Intelligence\ and\ Symbolic\ Computation)\b/u, "Artificial Intelligence and Symbolic Computation", []],
    [/\b(LSSC([^a-zA-Z]?\d*)|Large\-Scale\ Scientific\ Computing)\b/u, "Large-Scale Scientific Computing", []],
    [/\b(PASCO([^a-zA-Z]?\d*)|International\ Symposium\ on\ Parallel\ Symbolic\ Computation)\b/u, "International Symposium on Parallel Symbolic Computation", []],
    [/\bNumerical\ Analysis\ and\ Its\ Applications\b/u, "Numerical Analysis and Its Applications", []],
    [/\bSymbolic\ and\ Numerical\ Scientific\ Computation\b/u, "Symbolic and Numerical Scientific Computation", []],
    [/\bParallel\ Symbolic\ Computing\b/u, "Parallel Symbolic Computing", []],
    [/\bAccurate\ Scientific\ Computations\b/u, "Accurate Scientific Computations", []],
    [/\b(HSNC([^a-zA-Z]?\d*)|History\ of\ Scientific\ and\ Numeric\ Computation)\b/u, "History of Scientific and Numeric Computation", []]
  ].map{|a| a[-1] = [Topics::SCIENTIFIC_COMPUTING]+a[-1]; a }))
  # Software engineering
  CS_CONFERENCES.push(*( [
    [/\bComputer\ Aided\ Verification\b/u, "Computer Aided Verification", []],
    [/\bInternational\ Conference\ on\ Software\ Engineering\b/u, "International Conference on Software Engineering", []],
    [/\b(SIGSOFT([^a-zA-Z]?\d*)|FSE\(FSE\)\ \-\ Foundations\ of\ Software\ Engineering\/Foundations\ of\ Software\ Engineering\ \(SIGSOFT\))\b/u, "FSE(FSE) - Foundations of Software Engineering/Foundations of Software Engineering (SIGSOFT)", []],
    [/\b(TACAS([^a-zA-Z]?\d*)|Tools\ and\ Algorithms\ for\ Construction\ and\ Analysis\ of\ Systems)\b/u, "Tools and Algorithms for Construction and Analysis of Systems", []],
    [/\b(PEPM([^a-zA-Z]?\d*)|Partial\ Evaluation\ and\ Semantic\-Based\ Program\ Manipulation)\b/u, "Partial Evaluation and Semantic-Based Program Manipulation", []],
    [/\b(SAS\(WSA\)([^a-zA-Z]?\d*)|Static\ Analysis\ Symposium\/Workshop\ on\ Static\ Analysis)\b/u, "Static Analysis Symposium/Workshop on Static Analysis", []],
    [/\b(TAPSOFT([^a-zA-Z]?\d*)|TAPSOFT)\b/u, "TAPSOFT", []],
    [/\b(ESEC([^a-zA-Z]?\d*)|European\ Software\ Engineering\ Conference)\b/u, "European Software Engineering Conference", []],
    [/\b(SESPSDE([^a-zA-Z]?\d*)|Software\ Engineering\ Symposium\ on\ Practical\ Software\ Development\ Environments)\b/u, "Software Engineering Symposium on Practical Software Development Environments", []],
    [/\bWorking\ Conference\ on\ Reverse\ Engineering\b/u, "Working Conference on Reverse Engineering", []],
    [/\bRewriting\ Techniques\ and\ Applications\b/u, "Rewriting Techniques and Applications", []],
    [/\b(ICSM([^a-zA-Z]?\d*)|International\ Conference\ on\ Software\ Maintenance)\b/u, "International Conference on Software Maintenance", []],
    [/\b(FoSSaCS([^a-zA-Z]?\d*)|Foundations\ of\ Software\ Science\ and\ Computation\ Structure)\b/u, "Foundations of Software Science and Computation Structure", []],
    [/\b(ITC([^a-zA-Z]?\d*)|International\ Test\ Conference)\b/u, "International Test Conference", []],
    [/\b(ASE([^a-zA-Z]?\d*)|Automated\ Software\ Engineering)\b/u, "Automated Software Engineering", []],
    [/\b(IWSSD([^a-zA-Z]?\d*)|International\ Workshop\ on\ Software\ Specifications\ &\ Design)\b/u, "International Workshop on Software Specifications & Design", []],
    [/\b(UML([^a-zA-Z]?\d*)|The\ Unified\ Modeling\ Language)\b/u, "The Unified Modeling Language", []],
    [/\b(SSR([^a-zA-Z]?\d*)|ACM\ SIGSOFT\ Symposium\ on\ Software\ Reusability)\b/u, "ACM SIGSOFT Symposium on Software Reusability", []],
    [/\b(FASE([^a-zA-Z]?\d*)|Fundamental\ Approaches\ to\ Software\ Engineering)\b/u, "Fundamental Approaches to Software Engineering", []],
    [/\b(RE([^a-zA-Z]?\d*)|IEEE\ Int\.\ Conf\.\ on\ Requirements\ Engineering\ P)\b/u, "IEEE Int. Conf. on Requirements Engineering P", []],
    [/\b(IEEE International\ Conference\ on\ Formal\ Engineering\ Methods)\b/u, "IEEE International Conference on Formal Engineering Methods", []],
    [/\b(IFM([^a-zA-Z]?\d*)|Integrated\ Formal\ Methods)\b/u, "Integrated Formal Methods", []],
    [/\bInternational\ Conference\ on\ Software\ Reuse\b/u, "International Conference on Software Reuse", []],
    [/\bInternational\ Workshop\ on\ Formal\ Approaches\ to\ Testing\ of\ Software\b/u, "International Workshop on Formal Approaches to Testing of Software", []],
    [/\b(HASE([^a-zA-Z]?\d*)|High\-Assurance\ Systems)\b/u, "High-Assurance Systems", []],
    [/\b(ICECCS([^a-zA-Z]?\d*)|International\ Conference\ on\ Engineering\ of\ Complex\ Computer\ Systems)\b/u, "International Conference on Engineering of Complex Computer Systems", []],
    [/\b(APSEC([^a-zA-Z]?\d*)|Asia\-Pacific\ Software\ Engineering\ Conference)\b/u, "Asia-Pacific Software Engineering Conference", []],
    [/\b(COMPSAC([^a-zA-Z]?\d*)|International\ Computer\ Software\ and\ Applications\ Conference)\b/u, "International Computer Software and Applications Conference", []],
    [/\b(SEKE([^a-zA-Z]?\d*)|Software\ Engineering\ and\ Knowledge\ Engineering)\b/u, "Software Engineering and Knowledge Engineering", []],
    [/\bAustralian\ Software\ Engineering\ Conference\b/u, "Australian Software Engineering Conference", []],
    [/\b(FSE([^a-zA-Z]?\d*)|Foundations\ of\ Software\ Engineering)\b/u, "Foundations of Software Engineering", []],
    [/\bCanadian\ University\ Software\ Engineering\ Conference\b/u, "Canadian University Software Engineering Conference", []],
    [/\b(SEPG([^a-zA-Z]?\d*)|Software\ Engineering\ Process\ Group)\b/u, "Software Engineering Process Group", []],
    [/\b(INFORMATICS-INFORMATIQUE)\b/u, "INFORMATICS-INFORMATIQUE", []],
    [/\b(ICALEPS([^a-zA-Z]?\d*)|International\ Conference\ on\ Accelerator\ and\ Large\ Experimental\ Physics\ Control\ Systems\ Conference)\b/u, "International Conference on Accelerator and Large Experimental Physics Control Systems Conference", []],
    [/\b(UYMS([^a-zA-Z]?\d*)|National\ Software\ Engineering\ Symposium|Ulusal\ Yaz\304\261l\304\261m\ M\303\274hendisli\304\237i\ Sempozyumu)\b/u, "Ulusal Yaz\304\261l\304\261m M\303\274hendisli\304\237i Sempozyumu", []]
  ].map{|a| a[-1] = [Topics::SOFTWARE_ENGINEERING]+a[-1]; a }))
  # Wireless Sensor Networks
  CS_CONFERENCES.push(*( [
    [/\b(SenSys([^a-zA-Z]?\d*)|ACM\ Conference\ on\ Embedded\ Networked\ Sensor\ Systems)\b/u, "ACM Conference on Embedded Networked Sensor Systems", []],
    [/\b(IPSN([^a-zA-Z]?\d*)|ACM\/IEEE\ International\ Conference\ on\ Information\ Processing\ in\ Sensor\ Networks)\b/u, "ACM/IEEE International Conference on Information Processing in Sensor Networks", []],
    [/\b(EWSN([^a-zA-Z]?\d*)|European\ Workshop\ on\ Wireless\ Sensor\ Networks)\b/u, "European Workshop on Wireless Sensor Networks", []],
    [/\b(Percom([^a-zA-Z]?\d*)|IEEE\ Conference\ on\ Pervasive\ Computing\ and\ Communications)\b/u, "IEEE Conference on Pervasive Computing and Communications", []],
    [/\b(WiOpt([^a-zA-Z]?\d*)|ICST\ International\ Symposium\ on\ Modeling\ and\ Optimization\ in\ Mobile,\ Ad\ Hoc,\ and\ Wireless\ Networks)\b/u, "ICST International Symposium on Modeling and Optimization in Mobile, Ad Hoc, and Wireless Networks", []],
    [/\b(ESAS([^a-zA-Z]?\d*)|European\ Workshop\ on\ Security\ in\ Ad\-hoc\ and\ Sensor\ Networks)\b/u, "European Workshop on Security in Ad-hoc and Sensor Networks", []],
    [/\b(SENSORCOMM([^a-zA-Z]?\d*)|International\ Conference\ on\ Sensor\ Technologies\ and\ Applications)\b/u, "International Conference on Sensor Technologies and Applications", []]
  ].map{|a| a[-1] = [Topics::WIRELESS_SENSOR_NETWORKS]+a[-1]; a }))


  SIG_CONFERENCES = [
    ["ACT", [Topics::ALG, Topics::TOC]],
    ["CHI", [Topics::CHI]],
    ["MOD", [Topics::DM]],
    ["GRAPH", [Topics::GFX]],
    ["PLAN", [Topics::PL]]
  ]

  CONFERENCES = (
    SIG_CONFERENCES.map{|s,g|
      [/\bSIG#{s}\b/, "SIG#{s}", [Topics::CS]+g]
    } +
    CS_CONFERENCES.map{|a| a[-1] = [Topics::CS] + a[-1]; a} +
    [
      [/\bDocEng[^a-zA-Z]/, "DocEng", [Topics::CS]],
      [/\bInt\. Symp\. on Smart Graphics\b/i, "Int. Symp. on Smart Graphics", [Topics::CS, Topics::GFX]]
    ]
  ).sort_by{|p,n,g|
    [TitleGuesser::WORDS[n.strip.downcase] ? 1 : 0, -n.length, -g.length]
  }
  # Sort by length, descending. Non-words first.
  # If many have same name, put ones with most topics first.


  def find_publication(str)
    pubs = PUBLICATIONS.find_all{|p,n| str =~ p}
    pub = pubs[0]
    return pub if pub
    nil
  end

  def find_conference(str)
    confs = CONFERENCES.find_all{|p,n| str =~ p}
    conf = confs[0]
    return conf if conf
  end

  def find_publish_time(str, pub)
    s = str[str.index(pub[0]), 40]
    y = s.scan(/^[a-zA-Z\.\s]+['’](\d\d\d\d)\b/u).flatten[0]
    return y.to_i if y and y.to_i <= (Time.now.year + 2)
    y = s.scan(/^[a-zA-Z\.\s]+['’](\d\d)\b/u).flatten[0]
    return y.to_i + 1900 if y and y.to_i > 60
    return y.to_i + 2000 if y and (y.to_i + 2000) <= (Time.now.year + 2)
    y = s.scan(/\b\d\d\d\d\b/)[0]
    return y.to_i if y and y.to_i > 1960 and y.to_i <= (Time.now.year + 2)
    y = s.scan(/\b\d\d\b/)[0]
    return y.to_i + 1900 if y and y.to_i > 60
    ys = str.scan(/\b\d\d\d\d\b/)
    y = ys[-1]
    return y.to_i if y and y.to_i > 1960 and y.to_i <= (Time.now.year + 2)
    y = ys[0]
    return y.to_i if y and y.to_i > 1960 and y.to_i <= (Time.now.year + 2)
    nil
  end

  def find_year(str, pub)
    find_publish_time(str, pub)
  end

  def find_publisher(str, pub)
    nil
  end

  def find_organizer(str, conf, year)
    nil
  end

  def guess_pubdata(str)
    pages = str.strip.split(/\f+/)
    str = Metadata.remove_ligatures( pages.first )
    conference = find_conference(str)
    if conference
      year = find_year(str, conference)
      organizer = find_organizer(str, conference, year)
      conference = conference.dup
      conference[1] = conference[1] + " #{year}" if year
    end
    if !conference
      publication = find_publication(str)
      publisher = find_publisher(str, publication)
      publish_time = find_publish_time(str, publication) if publication
    end
    h = {}
    h['Doc.PublishTime'] = Metadata.parse_time(publish_time.to_s) if publish_time
    h['Doc.Publication'] = publication[1] if publication
    h['Doc.Publisher'] = publisher[1] if publisher
    h['Doc.Genre'] = publication[2].join(", ") if publication and publication[2]
    h['Event.Name'] = conference[1] if conference
    h['Event.Organizer'] = organizer[1] if organizer
    h
  end

end
end

