acm-header
Sign In

Communications of the ACM

Blogroll


bg-corner

Compressed bitset libraries in C and C++
From Daniel Lemire's Blog

Compressed bitset libraries in C and C++

The bitset data structure is a clever way to represent efficiently sets of integers. It supports fast set operations such as union, difference, intersection. For...

Science and Technology links (March 30, 2017)
From Daniel Lemire's Blog

Science and Technology links (March 30, 2017)

A famous and highly-funded researcher from Cornel, Brian Wansink, has published many studies regarding how we eat. His work has guided public policy all over the...

Never reason from averages
From Daniel Lemire's Blog

Never reason from averages

StackOverflow published its list of “top paying technologies“. Worldwide, the best-paid programmers, on average, work in Clojure and Rust (these are programming...

The technology of Mass Effect Andromeda
From Daniel Lemire's Blog

The technology of Mass Effect Andromeda

Mass Effect Andromeda is the long-awaited sequel to the popular Mass Effect video game series. It is available to a game console near you. It was given a roughContinue...

Science and Technology links (March 24, 2017)
From Daniel Lemire's Blog

Science and Technology links (March 24, 2017)

There are many claims that innovation is slowing down. In the XXth century, we went from horses to planes. What have we done lately? We have not cured cancer or...

Does software performance still matter?
From Daniel Lemire's Blog

Does software performance still matter?

This morning, a reader asked me about the real-world relevance of software performance: I’m quite interested in your work on improving algorithm performance using...

Science and Technology links (March 17, 2017)
From Daniel Lemire's Blog

Science and Technology links (March 17, 2017)

We live in a world where the most powerful companies in the world have super smart people working on trying to emulate human intelligence in machines. Yann LeCun...

Stable Priority Queues?
From Daniel Lemire's Blog

Stable Priority Queues?

A priority queue is a data structure that holds a set of elements and can return quickly the smallest (or alternatively the largest) element. It is usually implemented...

Science and Technology links (March 10, 2017)
From Daniel Lemire's Blog

Science and Technology links (March 10, 2017)

In Mnemonic Training Reshapes Brain Networks to Support Superior Memory (published in Neuron, March 2017), we learned that 6 weeks of mnemonic training at a rate...

College and inequality
From Daniel Lemire's Blog

College and inequality

Most college professors are squarely on the left ideologically. They believe that part of their mandate is to reduce inequality, by helping to provide college degrees...

The technology of Logan (2017 Wolverine movie set in 2029)
From Daniel Lemire's Blog

The technology of Logan (2017 Wolverine movie set in 2029)

Last night I went to see Logan, the latest and maybe the last Wolverine movie with Hugh Jackman. The movie is set in 2029. The year 2029 is an interesting choice...

How many floating-point numbers are in the interval [0,1]?
From Daniel Lemire's Blog

How many floating-point numbers are in the interval [0,1]?

Most commodity processors support single-precision IEEE 754 floating-point numbers. Though they are ubiquitous, they are often misunderstood. One of my readersContinue...

Tech jobs are already largely automated
From Daniel Lemire's Blog

Tech jobs are already largely automated

Lately, I have been reading a lot about the threat to computer jobs from automation. For example, we have AI systems that can write their own code. And billionaire...

Thoughts on my new laptop (Dell XPS 13 with Windows 10)
From Daniel Lemire's Blog

Thoughts on my new laptop (Dell XPS 13 with Windows 10)

I love computers. Unlike many people, who stick to one brand and one operating system, I like to use many different systems. I own several game consoles, several...

How fast can you count lines?
From Daniel Lemire's Blog

How fast can you count lines?

Inspired by earlier work by Llogiq, I decided to look at how fast I could count the number of lines in a string. By assuming that the string relies on ASCII, UTF...

Sorting sorted arrays in Swift
From Daniel Lemire's Blog

Sorting sorted arrays in Swift

Sorting arrays quickly is a classical computer science problem. It is also a common task worth optimizing. Sadly, there is no best approach, no silver bullet. Most...

Montreal researchers “prove” that aging is the result of a genetic program
From Daniel Lemire's Blog

Montreal researchers “prove” that aging is the result of a genetic program

Unless you are a tree, a lobster, or some other sea creature, you are probably aging over time… which is another way of saying that beyond adulthood, your fitness...

Maps and sets can have quadratic-time performance
From Daniel Lemire's Blog

Maps and sets can have quadratic-time performance

Swift is a new programming language launched by Apple slightly over two years ago. Like C and C++, it offers ahead-of-time compilation to native code but with many...

How expensive are the union and intersection of two unordered_set in C++?
From Daniel Lemire's Blog

How expensive are the union and intersection of two unordered_set in C++?

If you are using a modern C++ (C++11 or better), you have access to set data structures (unordered_set) which have the characteristics of a hash set. The standard...

Deep learning: the silver bullet?
From Daniel Lemire's Blog

Deep learning: the silver bullet?

In 2016, we saw a wide range of breakthroughs having to do with artificial intelligence and deep learning in particular. Google, Facebook, and Baidu announced several...
Sign In for Full Access
» Forgot Password? » Create an ACM Web Account