acm-header
Sign In

Communications of the ACM

Blogroll


bg-corner

Betting against techno-unemployment
From Daniel Lemire's Blog

Betting against techno-unemployment

There are millions of truck drivers in the US today. In particular, there are about 1.7 million tractor-trailer (human) drivers. There are many more professional...

Can your C compiler vectorize a scalar product?
From Daniel Lemire's Blog

Can your C compiler vectorize a scalar product?

If you have spent any time at all on college-level mathematics, you have probably heard of the scalar product: float scalarproduct(float * array1, float * array2...

The threat of technological unemployment
From Daniel Lemire's Blog

The threat of technological unemployment

There is a widely reported threat to our economy: robots are going to replace human workers. It is nothing new… In 1930, Keynes, the famous economist introduced...

Don’t let the experts define science!
From Daniel Lemire's Blog

Don’t let the experts define science!

We know more than we can tell. We all know what a democracy is… We know that France, Canada, the USA, Japan… are democracies… Russia and China are not democracies...

Performance overhead when calling assembly from Go
From Daniel Lemire's Blog

Performance overhead when calling assembly from Go

The Go language allows you to call C functions and to rewrite entire functions in assembly. As I have previously documented, calling C functions from Go comes with...

What is a useful theory?
From Daniel Lemire's Blog

What is a useful theory?

I was an adept, as a teenager and a young adult, of thinkism. Thinkism is the idea that intelligence alone can solve problems. I thought I was smart so I couldContinue...

Science and technology: what happened in 2016
From Daniel Lemire's Blog

Science and technology: what happened in 2016

This year, you are able to buy CRISPR-based CRISPR gene editing toolkits for $150 on the Internet as well as autonomous drones, and you can ask your Amazon Echo...

How to build robust systems
From Daniel Lemire's Blog

How to build robust systems

Millions of little things go wrong in your body every minute. Your brain processes the data in a noisy manner. Even trained mathematicians can’t think logically...

Don’t assume that safety comes for free: a Swift case study
From Daniel Lemire's Blog

Don’t assume that safety comes for free: a Swift case study

Most modern languages try to be “safer” by checking runtime values in the hope of producing more secure and less buggy software. Sadly, it makes it harder to reason...

Getting a job in the software industry
From Daniel Lemire's Blog

Getting a job in the software industry

I am routinely asked about how to break into the software industry as a programmer. It is true that there is high demand for qualified programmers, but not allContinue...

Software evolves by natural selection
From Daniel Lemire's Blog

Software evolves by natural selection

Software evolves by natural selection, not by intelligent design. It is a massive trial-and-error process. There are many thousands of programmers working every...

On metadata
From Daniel Lemire's Blog

On metadata

I remember a time, before the Web, when you would look for relevant academic papers by reading large books with tiny fonts that would list all relevant work inContinue...

Framed in the past
From Daniel Lemire's Blog

Framed in the past

We can’t predict the future. However, I still read futurologists like Calum Chace, Alvin Toffler, Bruce Sterling, Vernor Vinge, Joël de Rosnay and so forth. A good...

My review of Deus Ex: Mankind Divided (video game)
From Daniel Lemire's Blog

My review of Deus Ex: Mankind Divided (video game)

The Deus Ex series is set in a dystopian futuristic universe. (It reminds me a bit of Japan’s Ghost in the Shell.) The latest game in the series (Deux Ex: Mankind...

Who is keeping an eye on the tech companies?
From Daniel Lemire's Blog

Who is keeping an eye on the tech companies?

A corporation such as Spotify was founded a few years ago by a 23-year-old man, and it now plays a key role in the music industry. YouTube is now the big-boss of...

Update to my VR bet with Greg Linden
From Daniel Lemire's Blog

Update to my VR bet with Greg Linden

I have an ongoing bet with Greg Linden stating that we are going to sell 10 million virtual-reality (VR) units per year by 2019. I have been paying close attention...

Intel will add deep-learning instructions to its processors
From Daniel Lemire's Blog

Intel will add deep-learning instructions to its processors

Some of the latest Intel processors support the AVX-512 family of vector instructions. These instructions operate on blocks of 512 bits (or 64 bytes). The benefit...

A case study in the performance cost of abstraction (C++’s std::shuffle)
From Daniel Lemire's Blog

A case study in the performance cost of abstraction (C++’s std::shuffle)

Statisticians and machine-learning experts sometimes need to shuffle data quickly. There is one standard and simple algorithm to shuffle an array, the so-called...

Variable-length strings can be expensive
From Daniel Lemire's Blog

Variable-length strings can be expensive

Much of our software deals with variable-length strings. For example, my name “Daniel” uses six characters whereas my neighbor’s name (“Philippe”) uses 8 characters...

Can Swift code call C code without overhead?
From Daniel Lemire's Blog

Can Swift code call C code without overhead?

Swift is the latest hot new language from Apple. It is becoming the standard programming language on Apple systems. I complained in a previous post that Swift 3...
Sign In for Full Access
» Forgot Password? » Create an ACM Web Account