acm-header
Sign In

Communications of the ACM

Blogroll


bg-corner

Bit packing is fast, but integer logarithm is slow
From Daniel Lemire's Blog

Bit packing is fast, but integer logarithm is slow

In How fast is bit packing?, we saw how to store non-negative integers smaller than 2N using N bits per integer by a technique called bit packing. A careful C++...

It is what you do, not what you own
From Daniel Lemire's Blog

It is what you do, not what you own

Over 20 years ago, back when I was in high school, I went on a sailboat trip. I was so impressed that I decided to own a sailboat one day. I realized that a sailboat...

Publicly available large data sets for database research
From Daniel Lemire's Blog

Publicly available large data sets for database research

Most database research papers use synthetic data sets. That is, they use random-number generators to create their data on the fly. A popular generator is dbgen...

Do we need copyright?
From Daniel Lemire's Blog

Do we need copyright?

The concept of property is a social construction. Animals, such as cats, can own a piece of food, or a territory, but only as long as they are able to personally...

From counting citations to measuring usage (help needed!)
From Daniel Lemire's Blog

From counting citations to measuring usage (help needed!)

We sometimes measure the caliber of a researcher by how many research papers he wrote. This is silly. While there is some correlation between quantity and quality...

How fast is bit packing?
From Daniel Lemire's Blog

How fast is bit packing?

Integers values are typically stored using 32 bits. Yet if you are given an array of integers between 0 and 131 072, you could store these numbers using as little...

I
From Daniel Lemire's Blog

I

I’m an introvert. That’s why you don’t see me at meetings and celebrations. If you do, I’m in a corner looking awkward. That’s why I’m not trying to build a large...

What happens when you get more Ph.D.s?
From Daniel Lemire's Blog

What happens when you get more Ph.D.s?

Following the fall of the USSR, hundreds of world class mathematicians emigrated to the USA. Intuitively, this should have made American mathematics stronger. Did...

Bitmaps are surprisingly efficient
From Daniel Lemire's Blog

Bitmaps are surprisingly efficient

Imagine you have to copy an array, and update a few values in the process. What is the most efficient way implementation? Let us look at a concrete example. I am...

Effective compression using frame-of-reference and delta coding
From Daniel Lemire's Blog

Effective compression using frame-of-reference and delta coding

Most generic compression techniques are based on variations on run-length encoding (RLE) and Lempel-Ziv compression. Compared to these techniques and on the right...

Two rules for teaching in the XXIst century
From Daniel Lemire's Blog

Two rules for teaching in the XXIst century

Education in the XXth century has been primarily industrial: organize the workersstudents in groups under the supervision of a managerteacher. We all have been...

Citogenesis in science and the importance of real problems
From Daniel Lemire's Blog

Citogenesis in science and the importance of real problems

Many papers in Computer Science tell the following story: There is a pre-existing problem P. There are few relatively simple but effective solution to problem P...

How to Revise Research Papers After Receiving Harsh Reviews
From Daniel Lemire's Blog

How to Revise Research Papers After Receiving Harsh Reviews

Whether you submit your work scientific journal or just post it on a blog, you can expect to receive harsh criticism from time to time. Sometimes you are facing...

Open access journals in Computer Science
From Daniel Lemire's Blog

Open access journals in Computer Science

Open access journals make articles freely available. Some of them even allow the authors to keep the copyright of their work. It would seem that they offer a compelling...

Should you boycott academic publishers?
From Daniel Lemire's Blog

Should you boycott academic publishers?

There is a growing list of famous scientists who have pledged to boycott Elsevier as a publisher. If I were in charge of Elsevier, I would be very nervous: academic...

Use Random Hashing if you Care About Security?
From Daniel Lemire's Blog

Use Random Hashing if you Care About Security?

Hashing is a programming technique that maps objects (such as strings) to integers. It is a necessary component of hash tables, one of the most frequently used...

Open Science: Why Is It So Hard?
From Daniel Lemire's Blog

Open Science: Why Is It So Hard?

Open access is the idea that scholarship should be accessible to all. Many believe that we should require publicly funded researchers to make their work available...

Do we need patents?
From Daniel Lemire's Blog

Do we need patents?

Whenever I suggest that patents are harmful, people point to the pharmaceutical industry. The pharmaceutical industry is heavily regulated. Marketing a new drug...

Are you a gold prospector, or a construction worker?
From Daniel Lemire's Blog

Are you a gold prospector, or a construction worker?

Most work is akin to construction jobs: you work until the house is built. You just have to keep the servers running day after day. You keep writing code day after...

My favorite posts from 2011
From Daniel Lemire's Blog

My favorite posts from 2011

January: Innovating without permission Not even eventually consistent February: Taking scientific publishing to the next level Ten things Computer Science tells...
Sign In for Full Access
» Forgot Password? » Create an ACM Web Account