Sign In

Communications of the ACM

Blogroll



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

Resizing arrays can be slow in Swift
From Daniel Lemire's Blog

Resizing arrays can be slow in Swift

Swift a recent high-performance programming language. It is still primarily used develop iOS applications, but it has the potential to be a general-purpose language...

How quickly can you remove spaces from a string?
From Daniel Lemire's Blog

How quickly can you remove spaces from a string?

Sometimes programmers want to prune out characters from a string of characters. For example, maybe you want to remove all line-ending characters from a piece of...

Best programming language for high performance (January 2017)?
From Daniel Lemire's Blog

Best programming language for high performance (January 2017)?

I keep hoping that the field of programming language will evolve. I am a bit tired to program in Java and C… I’d like better languages. I am particularly interested...

Predicting the future job market: the librarians
From Daniel Lemire's Blog

Predicting the future job market: the librarians

People spend a lot of time worrying that robots and computers are going to wipe out all jobs. My belief is that the job market is a lot more complex and simplistic...
Sign In for Full Access
» Forgot Password? » Create an ACM Web Account
Read CACM in a free mobile app!
Access the latest issue, plus archived issues and more
ACM Logo
  • ACM CACM apps available for iPad, iPhone and iPod Touch, and Android platforms
  • ACM Digital Library apps available for iOS, Android, and Windows devices
  • Download an app and sign in to it with your ACM Web Account
Find the app for your mobile device
ACM DL Logo