Daniel Lemire's blog

Extrinsic motivations are harmful…

, 3 min read

I have argued that when seeking professional success, it is best to avoid zero-sum games (e.g., compete for one prestigious slot). It is more fun, less distracting and more productive to focus on non-zero-sum games. That is, you should try to grow the size of the pie, to create value for others out…

True success is more than winning a zero-sum game

, 4 min read

Fiction writers used to have to submit their manuscripts to 6 or 7 big corporations. Only these corporations could seriously publish a book. Room on library stacks has always been scarce. Only a tiny number of authors could ever become independently wealthy under this system. Amazon.com is…

Toys on my desk (June 2014)

, 1 min read

We all have mobile phones or tablets with lightning or micro-USB plugs, and we all have laptops with USB ports. Sure, you can easily find a USB-to-micro-USB cable, and your iPhone came with a USB-to-lightning cable… but who wants to be carrying around a cable? A company called Nomad makes small…

Software performance is… counterintuitive

, 3 min read

There is a long tradition among computer scientists of counting the number of operations as a way to estimate the running cost of an algorithm. Many computer scientists and naive programmers believe that adding extra instructions to a piece of code necessarily slows this down. This is just wrong.…

Books on my desk (May 2014)

, 1 min read

Manning sent me the second edition of their Hello World: Computer Programming for Kids and Other Beginners. At less than $25 on Amazon, this 450-page color book is a great deal. The first edition got raving reviews. It is a great book for any teenager who wants to learn to program. Princeton…

You shouldn´t use a spreadsheet for important work (I mean it)

, 7 min read

I envy economists. Unlike computer scientists, they seem to be able to publish best-seller books with innovative research. One such book is Piketty’s Capital. The book is reminiscent of Marx’s capital in its scope. If you haven’t heard about the book yet, it has a simple message: the yield on…

Why I still play video games

, 2 min read

Video games are getting flashier, faster, shinier. It has gotten to the point that many of these games make me nauseous—literally. I honestly do not care very much for many of these new games… the same way I do not particularly care for many of the big-budget Hollywood productions. However,…

Decoding over 4 billion integers per second in C

, 1 min read

Programmers routinely work with lists of integers. We recently showed how to compress such lists of integers close to their entropy, while being able to decompress billions of integers per second. To ensure anyone could do it, we published the FastPFOR C++ library. We also published the…

Does moving to a better university make you a better researcher?

, 1 min read

Deville et al. studied the performance of physics professors as they moved from one job to another. They found that moving to a lesser school lowered the impact of one’s research papers on average a tiny bit (by a fraction of a standard deviation)… However, moving to a better school had no…

Have Americans reached peak scholarship?

, 1 min read

Bryan Alexander conjectured that Americans might be reaching peak scholarship. That is, whereas we are used to science as an ever expanding industry… it could be that American scientific production has reached its maximum. You should read Alexander’s article for the reasoning behind such a…

Seth Roberts and research

, 1 min read

Seth Roberts was one of my favourite bloggers. He recently passed away. Seth was an original fellow. He completed his PhD and went on to secure a job at a leading university… only to effectively reject the academic model. He retired early. I have exchanged a few emails with Seth over the years…

How are the bees doing?

, 4 min read

Last year, I wrote a controversial opinion piece to reassure my readers: bees are not going extinct. At the time, the European Union had banned neonicotinoid insecticides and it was widely reported the these new insecticides were responsible for the death of our honey bees. To recap, in Europe and…

Do you realize that you are using random hashing?

, 1 min read

Hashing is a common concept in programming. It is the process of mapping any object to an integer. It is used in fast search algorithms (like Rabin-Karp) and in hash maps. Almost all non-trivial software depends on hashing. Hashing often works best when it appears random. It used to be that hashing…

Science: ideals vs. reality

, 1 min read

Fernando Pérez gave a talk at Pycon 2014 with a brilliant slide: The ideals reality of science: The pursuit of verifiable answers highly cited papers for your c.v. The validation of our results by reproduction convincing referees who did not see your code or data An altruistic, collective…

The financial value of open source software

, 3 min read

We all rely daily on free and open source software, whether we know it or not. The entire Internet is held together by open source software. The cheap router that powers you Wifi network at home uses the Linux kernel. Your android phone is based on the Linux kernel. Google servers run Linux. Almost…

Probabilities and the C++ standard

, 2 min read

The new C++ standard introduced hash functions and hash tables in the language (as “unordered maps”). As every good programmer should know, hash tables only work well if collisions between keys are rare. That is, if you have two distinct keys k1 and k2, you want their hash values h(k1) and…

Don´t study latin if you want to become a better programmer

, 2 min read

I used to think that knowledge was strongly transferable. I believed that learning physics could make you a better mechanic. I believed that learning mathematics could make you a better physicist or computer scientist. After learning a lot of physics and mathematics, I realized that I still found…

Technology sets the bar higher

, 3 min read

I am old enough that, as a kid, I did not have access to a calculator. My mother, a teacher, had an electronic calculator that you had to plug in the wall. She would use it to crunch in the grades at the end of each term. It felt fantastically modern. In any case, one night, when my mother was…