From Schneier on Security
Artificial intelligence (AI) has been billed as the next frontier of humanity: the newly available expanse whose exploration
…
B. Schneier| February 29, 2024
A hash function is a function that maps a value (such as a string) to an integer value. Typically, we want random-looking values. A Bloom filter is a standard data...Daniel Lemire From Daniel Lemire's Blog | May 26, 2023 at 04:36 PM
The Go programming language makes it easy to call C code. Suppose you have the following C functions: char* allocate() { return (char*)malloc(100); } void free_allocated...Daniel Lemire From Daniel Lemire's Blog | May 19, 2023 at 10:57 AM
While most of our software relies on Unicode strings, we often still encounter legacy encodings such as Latin 1. Before we convert Latin 1 strings to Unicode (e...Daniel Lemire From Daniel Lemire's Blog | May 15, 2023 at 11:46 AM
Modern processors can execute several instructions per cycle. Because processors cannot easily run faster (in terms of clock speed), vendors try to get their processors...Daniel Lemire From Daniel Lemire's Blog | May 12, 2023 at 11:56 AM
Artificial intelligence (ChatGPT) can provide better answers to patients than physicians. Eating chocolate might affect your brain and cognitive functions. It may...Daniel Lemire From Daniel Lemire's Blog | May 6, 2023 at 11:00 AM
Whenever you enter a URL into a system, it must be parsed and validated. It is a surprisingly challenging task: it may require hundreds of nanoseconds and possibly...Daniel Lemire From Daniel Lemire's Blog | May 3, 2023 at 11:22 AM
Many modern programming languages like Java produce useful error messages when they fail. Some indicate where in the program (e.g., down to the line of source code)...Daniel Lemire From Daniel Lemire's Blog | May 1, 2023 at 04:16 PM
Ovaries age quickly in women. By the age of 40, most ovaries are poorly functional. However, there is an ongoing clinical trial to check whether the drug rapamycin...Daniel Lemire From Daniel Lemire's Blog | April 29, 2023 at 06:16 PM
Developers often believe that software performance follows a Pareto distribution: 80% of the running time is spent in 20% of the code. Using this model, you can...Daniel Lemire From Daniel Lemire's Blog | April 27, 2023 at 12:38 PM
A French graduate student reached out by email yesterday with the following problem. Consider a format such as TOML which has line comments: when a ‘#’ character...Daniel Lemire From Daniel Lemire's Blog | April 25, 2023 at 09:51 PM
There are many theories regarding what biological aging. Animals can differ by up to six orders of magnitude (100000x) in longevity. Some animal species like the...Daniel Lemire From Daniel Lemire's Blog | April 22, 2023 at 02:50 PM
Bryan Caplan, an economist, raised an interesting question on Twitter: why aren’t people celebrating the fact that tools like GPT might soon allow us to produce...Daniel Lemire From Daniel Lemire's Blog | April 21, 2023 at 10:29 AM
In a previous blog post, I showed how you could define ‘an interface’ in C++ using concepts. For example, I can specify that a type should have the methods has_next...Daniel Lemire From Daniel Lemire's Blog | April 20, 2023 at 02:50 PM
Some university professor include ‘trigger warnings’ in their course material, to warn students that potentially disturbing content may be encountered. According...Daniel Lemire From Daniel Lemire's Blog | April 15, 2023 at 07:48 PM
We are all familiar with the concept even if we are not aware of it: when you learn about arithmetic in school, you use the same mathematical symbols whether you...Daniel Lemire From Daniel Lemire's Blog | April 14, 2023 at 01:13 PM
Suppose that you assigned everyone an 19 digit number. What is the probability that two human beings would have the same number? It is an instance of the Birthday...Daniel Lemire From Daniel Lemire's Blog | April 12, 2023 at 11:51 AM
When programming, we often need constant variables that are used within a single function. For example, you may want to look up characters from a table. The following...Daniel Lemire From Daniel Lemire's Blog | April 12, 2023 at 10:10 AM
Robert Metcalfe won the Turing Award (the ‘Computer Science Nobel Prize’) for his work on early networking. According to DBLP, Metcalfe published 11 journal articles...Daniel Lemire From Daniel Lemire's Blog | April 11, 2023 at 10:31 PM
GitHub is probably the most popular software repository in the world. One important feature on GitHub is the ‘pull request’: we often contribute to a piece of software...Daniel Lemire From Daniel Lemire's Blog | April 7, 2023 at 01:04 PM
When optimizing software, we routinely measure the time that takes a given function or task. The typical assumption is that we get a normal distribution, and so...Daniel Lemire From Daniel Lemire's Blog | April 6, 2023 at 04:38 PM