acm-header
Sign In

Communications of the ACM

Blogroll


bg-corner

How are the bees doing?
From Daniel Lemire's Blog

How are the bees doing?

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...

Do you realize that you are using random hashing?
From Daniel Lemire's Blog

Do you realize that you are using random hashing?

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...

Science: ideals vs. reality
From Daniel Lemire's Blog

Science: ideals vs. reality

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...

The financial value of open source software
From Daniel Lemire's Blog

The financial value of open source software

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...

Probabilities and the C++ standard
From Daniel Lemire's Blog

Probabilities and the C++ standard

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...

Don’t study latin if you want to become a better programmer
From Daniel Lemire's Blog

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

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...

Technology sets the bar higher
From Daniel Lemire's Blog

Technology sets the bar higher

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...

Should you get a PhD?
From Daniel Lemire's Blog

Should you get a PhD?

Most people like to learn, some like it more than others… and they decide to focus their life on learning. They become scholars. I think it is a mistake to pursue...

Elegance as a luxury
From Daniel Lemire's Blog

Elegance as a luxury

As a young student, I was undisciplined. Though I did well in mathematics, I often couldn’t be bothered to write down clean computations. I would do the work mostly...

Probabilities in computing: they may not mean what you think they mean
From Daniel Lemire's Blog

Probabilities in computing: they may not mean what you think they mean

I like to throw off my academic colleagues outside of computer science by pointing out that much of our software relies on probabilities… down to the ubiquitous...

The myth of the scientist as a disinterested individual
From Daniel Lemire's Blog

The myth of the scientist as a disinterested individual

We like to have an idealized view of the scientist. He or she is someone who chose against a high-paying career to pursue the ideals of science and academia. Unlike...

Getting good performance in Go by rewriting parts in C?
From Daniel Lemire's Blog

Getting good performance in Go by rewriting parts in C?

Go is a new programming language invented by Google engineers. Apparently, it came about because they were tired to wait for their C++ code to compile. To run Go...

The rise to power of computer scientists
From Daniel Lemire's Blog

The rise to power of computer scientists

Want to become CEO of a major technology company? Consider the background of the hot CEOs of the hour: Amazon: Jeff Bezos has a degree in electrical engineering...

Compression is never worth slowing down your code?
From Daniel Lemire's Blog

Compression is never worth slowing down your code?

Should you ever compress your data to reduce memory usage? We are in 2050. Nobody uses tapes or disks anymore. The NSA has 1 billion servers. It needs so many to...

To be smarter, try being crazier?
From Daniel Lemire's Blog

To be smarter, try being crazier?

Many of us want to be original in our work. For researchers, it is a job requirement. For software programmers, it makes little sense to redo what others did. Many...

Are C++ and Java declining?
From Daniel Lemire's Blog

Are C++ and Java declining?

In a recent Dr. Dobb’s article, Binstock announced the decline of Java and C++: By all measures, C++ use declined last year, demonstrating that C++11 was not enough...

Why is the NSA grabbing all your private data?
From Daniel Lemire's Blog

Why is the NSA grabbing all your private data?

Snowden revealed to the world that the NSA was systematically spying on all of us. Maybe more critically, we have learned that the NSA is spying on all American...

Bad weather as evidence for global warming
From Daniel Lemire's Blog

Bad weather as evidence for global warming

First let us me run through the usual disclaimers. We are producing lots of greenhouse gases, and they tend to warm up the Earth. The last ten years have been warmer...

Why are there so many science PhDs?
From Daniel Lemire's Blog

Why are there so many science PhDs?

McArdle, an economist, recently wrote that a substantial fraction of PhD programs really shouldn’t exist. McGowan goes further by pointing out that there is little...

Life is sweeter than you think in 2014…
From Daniel Lemire's Blog

Life is sweeter than you think in 2014…

Jokingly, Rao pointed out that Americans are starting 2014 with an optimistic outlook: (…) it’s tough, but let’s just write off polar bears and groundwater pollution...
Sign In for Full Access
» Forgot Password? » Create an ACM Web Account