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
Given an array of N numbers of type double, the standard way to sort it in C is to invoke the qsort function qsort(array, N, sizeof(double), compare); where compare...Daniel Lemire From Daniel Lemire's Blog | October 11, 2022 at 05:04 PM
Computer programming starts with the organization of the data into data structures. In almost all cases, we work with strings or numbers. It is critical to understand...Daniel Lemire From Daniel Lemire's Blog | September 30, 2022 at 05:50 PM
When programming, it can be wasteful to store the same constant data again and again. You use more memory, you access more data. Thankfully, your optimizing compiler...Daniel Lemire From Daniel Lemire's Blog | September 23, 2022 at 06:35 PM
Attractive female students get better grades. They lose this benefit when courses move online. A research paper is much more likely to be highly ranked if the author...Daniel Lemire From Daniel Lemire's Blog | September 16, 2022 at 09:42 PM
When programming, we often have to ‘escape’ strings. A standard way to do it is to insert the backslash character (\) before some characters such as the doubleContinue...Daniel Lemire From Daniel Lemire's Blog | September 14, 2022 at 11:51 AM
A standard dataset in artificial-intelligence research has ten percent of its images mislabeled. Yet state-of-the-art algorithms achieve better-than-90% classification...Daniel Lemire From Daniel Lemire's Blog | September 12, 2022 at 01:56 PM
The C and C++ languages offer little protection against programmer errors. Errors do not always show up where you expect. You can silently corrupt the content of...Daniel Lemire From Daniel Lemire's Blog | August 20, 2022 at 07:14 PM
A simple C program might print ‘hello world’ on screen: #include <stdio.h> #include <stdlib.h> int main() { printf("hello world\n"); return EXIT_SUCCESS; } YouContinue...Daniel Lemire From Daniel Lemire's Blog | August 9, 2022 at 01:55 PM
Increase in computing performance explain up to 94% of the performance improvements in field such as weather prediction, protein folding, and oil exploration: information...Daniel Lemire From Daniel Lemire's Blog | August 7, 2022 at 11:35 AM
A reader (Richard Ebeling) invited me to revisit an older blog post: Parsing floats in C++: benchmarking strtod vs. from_chars. Back then I reported that switching...Daniel Lemire From Daniel Lemire's Blog | July 27, 2022 at 02:43 PM
Modern game controllers can point in a wide range of directions. Game designers sometimes want to convert the joystick direction to get 8-directional movement.Continue...Daniel Lemire From Daniel Lemire's Blog | July 24, 2022 at 04:34 PM
Compared to 1800, we eat less saturated fat and much more processed food and vegetable oils and it does not seem to be good for us: Saturated fats from animal sources...Daniel Lemire From Daniel Lemire's Blog | July 21, 2022 at 12:19 PM
In the first half of the XXth century, there were relatively few scientists, and these scientists were generally not lavishly funded. Yet it has been convincingly...Daniel Lemire From Daniel Lemire's Blog | July 21, 2022 at 12:10 PM
Many programming languages have two binary floating-point types: float (32-bit) and double (64-bit). It reflects the fact that most general-purpose processors supports...Daniel Lemire From Daniel Lemire's Blog | July 20, 2022 at 12:56 PM
Processors come, roughly, in two large families x64 processors from Intel and AMD, and ARM processors from Apple, Samsung, and many other vendors. For a long time...Daniel Lemire From Daniel Lemire's Blog | July 14, 2022 at 11:04 AM
When programming, we often need to write ‘generic’ functions where the exact data type is not important. For example, you might want to write a simple functionContinue...Daniel Lemire From Daniel Lemire's Blog | July 8, 2022 at 03:54 PM
Most of us write code using higher level languages (Go, C++), but if you want to understand the code that matters to your processor, you need to look at the ‘assembly...Daniel Lemire From Daniel Lemire's Blog | June 28, 2022 at 02:07 PM
I have had access to Amazon’s latest ARM processors (graviton 3) for a few weeks. To my knowledge, these are the first widely available processors supporting Scalable...Daniel Lemire From Daniel Lemire's Blog | June 23, 2022 at 02:02 PM
One of the most expensive operation in a processor and memory system is a random memory access. If you try to read a value in memory, it can take tens of nanosecond...Daniel Lemire From Daniel Lemire's Blog | June 7, 2022 at 05:21 PM
On many systems, memory is accessed in fixed blocks called “cache lines”. On Intel systems, the cache line spans 64 bytes. That is, if you access memory at byte...Daniel Lemire From Daniel Lemire's Blog | June 6, 2022 at 04:19 PM