acm-header
Sign In

Communications of the ACM

Blogroll


bg-corner

What do computer scientists know about performance?
From Daniel Lemire's Blog

What do computer scientists know about performance?

Scientists make predictions and are judged on these predictions. If you study global warming, then your job is to predict the climate for the next few decades....

To solve hard problems, you need to use bricolage
From Daniel Lemire's Blog

To solve hard problems, you need to use bricolage

People who think that they can design efficient solutions in the abstract, effectively believe in Oracles. That is, they somehow believe that from their desk, and...

Are 8-bit or 16-bit counters faster than 32-bit counters?
From Daniel Lemire's Blog

Are 8-bit or 16-bit counters faster than 32-bit counters?

Programmers often want to count things. They typically use 32-bit counters (e.g., the int type in Java). But what if you are counting small numbers? Maybe a 16-bit...

To succeed, adopt the post-industrial view
From Daniel Lemire's Blog

To succeed, adopt the post-industrial view

From time to time, students ask me wether such degree or certificate in computer science will help them get a good job. There is no shortage of studies showing...

Funding science: When bureaucrats get out of control
From Daniel Lemire's Blog

Funding science: When bureaucrats get out of control

Throughout most of the world, scientists are almost entirely dependent on one source of funding: their government. So every few years (or more often), professors...

Picking N distinct numbers at random: how to do it fast?
From Daniel Lemire's Blog

Picking N distinct numbers at random: how to do it fast?

To test my algorithms, I like to generate synthetic data. To do so, I often need to generate distinct randomly chosen numbers from a range of values. For example...

Privacy and the Internet: Is Facebook evil?
From Daniel Lemire's Blog

Privacy and the Internet: Is Facebook evil?

For several of my classes, I open Facebook groups so that my students can exchange online. In some instances, it has worked great. Facebook tends to do a better...

Honey bees are not going extinct
From Daniel Lemire's Blog

Honey bees are not going extinct

There is much argument about what science is. To some people, it appears to be mostly the belief that information should be derived reputed sources. That is, if...

Big-O notation and real-world performance
From Daniel Lemire's Blog

Big-O notation and real-world performance

Classical Newtonian mechanics is always mathematically consistent. However, Newtonian mechanics assumes that bodies move without friction and that we stay far from...

Should computer scientists run experiments?
From Daniel Lemire's Blog

Should computer scientists run experiments?

Jeffrey Ullman, a famous computer science professor, published an essay pushing back about the need to run experiments in computer science. Apparently, some conference...

Fast integer compression in Java
From Daniel Lemire's Blog

Fast integer compression in Java

Last year, we published a fast C++ library to quickly compress and decompress arrays of integers. Out of habit, I ported it to Java and published it under the name...

Staying sharp requires “intellectual gardening”
From Daniel Lemire's Blog

Staying sharp requires “intellectual gardening”

Gardening requires consistency. A beautiful garden is unstable. Some plants want to expand their reach and kill out the competition. Some plants are simply out...

Hashing and the Birthday paradox: a cautionary tale
From Daniel Lemire's Blog

Hashing and the Birthday paradox: a cautionary tale

If you meet a stranger, the probability that he will have the same birth date as yourself is probably less than 1%. It is roughly 1/365 if you make simplifying...

Meetings are like sex
From Daniel Lemire's Blog

Meetings are like sex

Meetings are like sex. Everybody thinks that they are good at it… until they ask for the truth. We never have real discussions about it: I did not want to say anything…...

Why I never give straight answers
From Daniel Lemire's Blog

Why I never give straight answers

There are some questions that you should never answer. This is true when you are facing justice, your angry wife, or students. Carl Zimmer, a famous science writer...

Three questions about e-learning in college
From Daniel Lemire's Blog

Three questions about e-learning in college

Timothy Taylor observes that research about online instruction tells us that online teaching is just as effective as classroom teaching. The main drawback of asynchronous...

Crash course in modern economics
From Daniel Lemire's Blog

Crash course in modern economics

I sometimes find it difficult to understand the financial news. So I have written down some notes to help me understand commonly used terms: Austerity: When a government...

A criticism of computer science: models or modèles?
From Daniel Lemire's Blog

A criticism of computer science: models or modèles?

I was recently on a review committee for a PhD proposal. The student was brilliant. His proposal sounded deep and engaging. The methodology looked scientific: build...

How to be effective at open source: by programmers, for programmers
From Daniel Lemire's Blog

How to be effective at open source: by programmers, for programmers

Though it does not get much press, one of the great social and technological innovation of the last 30 years has been open source software. To about 90% of the...

P equal to NP and all that
From Daniel Lemire's Blog

P equal to NP and all that

One of the better known problems in Computer Science is the P versus NP problem. It is often related to the following question: do all problems for which we can...
Sign In for Full Access
» Forgot Password? » Create an ACM Web Account