acm-header
Sign In

Communications of the ACM

Blogroll


bg-corner

How programmers make sure that their software is correct
From Daniel Lemire's Blog

How programmers make sure that their software is correct

Our most important goal in writing software is that it be correct. The software must do what the programmer wants it to do. It must meet the needs of the user.Continue...

Science and Technology links (December 19th 2021)
From Daniel Lemire's Blog

Science and Technology links (December 19th 2021)

Becoming a physician increases the use of antidepressants, opioids, anxiolytics, and sedatives, especially for female physicians. When trying to reproduce results...

Science and Technology links (December 4th 2021)
From Daniel Lemire's Blog

Science and Technology links (December 4th 2021)

It used to be that all the exciting new processors came from Intel and AMD, and they were meant for your PC. The mobile revolution changed that: it lead to theContinue...

Can you safely parse a double when you need a float?
From Daniel Lemire's Blog

Can you safely parse a double when you need a float?

In C as well as many other programming languages, we have 32-bit and 64-bit floating-point numbers. They are often referred to as float and double. Most of systems...

Science and Technology links (Novembre 28th 2021)
From Daniel Lemire's Blog

Science and Technology links (Novembre 28th 2021)

Government-funded research is getting more political and less diverse: The frequency of documents containing highly politicized terms has been increasing consistently...

Are tenured professors more likely to speak freely?
From Daniel Lemire's Blog

Are tenured professors more likely to speak freely?

University professors often have robust job security after a time: they receive tenure. It means that they usually do not have to worry about applying for a new...

Converting integers to fix-digit representations quickly
From Daniel Lemire's Blog

Converting integers to fix-digit representations quickly

It is tricky to convert integers into strings because the number of characters can vary according to the amplitude of the integer. The integer ‘1’ requires a single...

Science and Technology links (Novembre 13rd 2021)
From Daniel Lemire's Blog

Science and Technology links (Novembre 13rd 2021)

Pacific rougheye rockfish can live hundreds of years while other rockfish barely live past ten years. Female condors can reproduce without males. The phenomenon...

Checking simple equations or inequalities with z3
From Daniel Lemire's Blog

Checking simple equations or inequalities with z3

When programming, you sometimes need to make sure that a given formula is correct. Of course, you can rely on your mastery of high-school mathematics, but human...

Stop spending so much time being trolled by billionaire corporations!
From Daniel Lemire's Blog

Stop spending so much time being trolled by billionaire corporations!

As a kid, my parents would open the television set, and we would get to watch whatever the state television decided we would watch. It was a push model. Some experts...

Science and Technology (October 31st 2021)
From Daniel Lemire's Blog

Science and Technology (October 31st 2021)

Though exoskeletons are exciting and they allow some of us to carry one with physical activities despite handicaps, they appear to require quite a bit of brainContinue...

In C, how do you know if the dynamic allocation succeeded?
From Daniel Lemire's Blog

In C, how do you know if the dynamic allocation succeeded?

In the C programming language, we allocate memory dynamically (on the heap) using the malloc function. You pass malloc a size parameter corresponding to the number...

In C++, is empty() faster than comparing the size with zero?
From Daniel Lemire's Blog

In C++, is empty() faster than comparing the size with zero?

Most C++ programmers rely on “STL” for their data structures. The most popular data structure is probably vector, which is just a dynamic array. The set and the...

Science and Technology links (October 23rd 2021)
From Daniel Lemire's Blog

Science and Technology links (October 23rd 2021)

Apple announced new processors for its computers. Here is a table with the transistor count of some recent Apple processors: processor release year transistorsContinue...

Converting binary floating-point numbers to integers
From Daniel Lemire's Blog

Converting binary floating-point numbers to integers

You are given a floating-point number, e.g. a double type in Java or C++. You would like to convert it to an integer type… but only if the conversion is exact.Continue...

Science and Technology links (October 16th 2021)
From Daniel Lemire's Blog

Science and Technology links (October 16th 2021)

The thymus is an important component of our immune system. As we age, the thymus degenerates and our immune system becomes less fit: emotional and physical distress...

Calling a dynamically compiled function from Go
From Daniel Lemire's Blog

Calling a dynamically compiled function from Go

Compiled programming languages are typically much faster than interpreted programming language. Indeed, the compilation step produces “machine code” that is ideally...

Science and Technology links (October 10th 2021)
From Daniel Lemire's Blog

Science and Technology links (October 10th 2021)

Evans and Chu suggest, using data and a theoretical model, that as the number of scientists grow, progress may stagnate. Simply put, in a large field, with many...

For software performance, can you always trust inlining?
From Daniel Lemire's Blog

For software performance, can you always trust inlining?

It is easier for an optimizing compiler to spot and eliminate redundant operations if it can operate over a large block of code. Nevertheless, it is still recommended...

Working in virtual reality
From Daniel Lemire's Blog

Working in virtual reality

Inspired by a post by Paul Tomlinson, I wrote my last blog post entirely in virtual reality (VR). You put on goggles and see a virtual version of your computerContinue...
Sign In for Full Access
» Forgot Password? » Create an ACM Web Account