About me

Name: Daniel Lemire
Location: Montreal, Canada
Occupation: Computer Scientist (full professor)
Home page: http://lemire.me/en/
My Setup: http://daniel.lemire.usesthis.com/ (2013)
Research papers: Google Scholar profile, arXiv, DBLP
Affiliation: TELUQ, Université du Québec; LATECE, UQAM; UNB
Email: lemire at gmail dot com
Headshot: see my home page
Keywords: Data Science, Indexing and Software Performance.

I’ve been an entrepreneur, a government researcher, and a university professor. I once designed, built and sold software for a living. As a researcher, I have worked on many problems: from medical diagnostic to collaborative data processing. My Slope One recommender algorithm is a standard reference in the field of recommender systems. My work on bitmap indexes is used by companies like eBay, Facebook, LinkedIn and Netflix to accelerate their data processing, within platforms such as Apache Hive, Druid, Apache Spark, LinkedIn Pinot, Netflix Atlas and Apache Kylin. The version control system Git is also accelerated by the same compressed bitmaps. Some of my techniques have been adopted by Apache Lucene, the search engine behind sites such as Wikipedia or platforms such as Solr and Elastic. Some of my compression software is used by Apache Arrow and Apache Impala. I love to write: my blog has been featured on Reddit, Hacker News and Slashdot (1, 2).

I also have two sons, two cats, and a beautiful wife. My dog has its own YouTube channel. I make my own bread (every week), my own yogurt (every week), my own beer, my own wine, my own port, my own furniture. I build robots, radio control sailboats and trucks. I grow my own vegetables in the summer using square gardening. I love scifi, both in book and TV format.


Twitter-style bio

My 140-character bio:

Computer science professor at the University of Quebec, contributor to major data-science open-source projects, and long-time blogger.

Formal bio

When requested to provide a formal bio, I use this paragraph:

Daniel Lemire has a B.Sc. and a master in Mathematics from the University of Toronto, and a Ph.D. in Engineering Mathematics from the Ecole Polytechnique and the Université de Montréal. He is a computer science professor at the Université du Québec (TELUQ). He has also been a research officer at the National Research Council of Canada and an entrepreneur. He has written over 70 peer-reviewed publications, including more than 40 journal articles. He has held competitive research grants for the last 15 years. He serves on the program committees of leading computer science conferences (e.g., ACM CIKM, WWW, ACM WSDM, ACM SIGIR, ACM RecSys). His open source software has been used by major corporations such as Google, LinkedIn, Netflix and Facebook. He is a beneficiary of the Google Open Source Peer Bonus Program. His research interests include databases, information retrieval, and high-performance programming. He blogs regularly on computer science at http://lemire.me/blog/.


For academic correspondence, you can use the following address:

Prof. Daniel Lemire
LICEF Research Center
TELUQ, Université du Québec
5800 Saint-Denis
Office 1105
Montreal (Quebec)
H2S 3L5 Canada

Office number: 12.166 (if you come visit)
Email: lemire (at) gmail (dot) com

Favorite quotes

  • Corruptissima re publica plurimae leges. (Tacitus)
    (“The more corrupt the state, the more laws.”)
  • Science is the belief in the ignorance of experts. (Richard Feynman)
  • Nobody ever figures out what life is all about, and it doesn’t matter. Explore the world. Nearly everything is really interesting if you go into it deeply enough. (Richard Feynman)
  • A complex system that works is invariably found to have evolved from a simple system that worked. A complex system designed from scratch never works and cannot be patched up to make it work. You have to start over with a working simple system. (John Gall)
  • Don’t ever make the mistake [of thinking] that you can design something better than what you get from ruthless massively parallel trial-and-error with a feedback cycle. That’s giving your intelligence much too much credit. (Linus Torvalds)
  • Never do anything that bores you. My experience in science is that someone is always telling to do something that leaves you flat. Bad idea. (James D. Watson)
  • It’s not that I’m so smart, it’s just that I stay with problems longer (Albert Einstein)
  • Someone younger at heart should replace you, and that should be you. (George Church)
  • Anybody who doesn’t change their mind a lot is dramatically underestimating the complexity of the world we live in. (…) Only through experimentation can you get real invention. The most important inventions come from trial and error with lots of failure. (Jeff Bezos)
  • Think before you speak is criticism’s motto; speak before you think, creation’s. (E. M. Forster)

Odd facts about me

  • I never memorized the multiplication tables. I never memorized the quadratic formula. I never memorized most trigonometric identities. I do not know my office door number or phone number. In general, I avoid memorizing facts, I prefer to write them down where I and others will find them. That is why I write so much.
  • Up until 2017, I had never owned a cell phone.
  • I get lost easily. Even after living years at the same place, I still cannot locate the major streets by name. I got lost once or twice looking for my own office.
  • I hear that people are sometimes nervous before addressing a crowd. I have no such stress: I am sure I could talk in front of tens of thousands of people without breaking a sweat.
  • I failed kindergarten and was put in a class for students with learning disabilities in first grade. When offered to rejoin a regular class, I chose to remain in the special class. Some of the reasons why they failed me in kindergarten was because I would not memorize my phone number and because I had trouble tying my shoe laces. I still walk with my shoe laces undone most of the time.
  • I lost all the electronic copies of my Ph.D. thesis the same day I sent the second revised version to the printer. Though I had backups, I overwrote all the backups with an empty file, by accident within a few minutes. Had the school asked for a revision, I would have had to retype it.
  • Academically, I consider myself almost entirely self-taught. I am an autodidact with a Ph.D. Though I have been a tenured college professor in computer science for over a decade, with continuous research funding (in computer science) provided by the federal government through competitive grants, I have never taken a computer science class in college. I once attended a first-year computer college course for a couple of weeks, but I gave up quickly. I was once formally offered a job as a business professor at a good university, despite the fact that I never took a business class in college. I have three degrees in Mathematics (B.Sc., M.Sc., Ph.D.), but I derived very little use of all the classes I took. It should be said that I skipped class on every occasion.
  • Going way back to my childhood I always felt bad about competition. When playing board games, I would often intentionally avoid winning… trying to keep the game going.

Social networks

You can find me on Facebook, LinkedIn, GitHub, Twitter, and Google Plus.

3 thoughts on “About me”

  1. Hi there, do you have any guideline to creating a function template that work in a similar way to the STL vector class.

Comments are closed.