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
Sometimes you need to filter out or filter in data quickly. Suppose that your employer maintains a list of forbidden passwords or URLs or words. You may store them...Daniel Lemire From Daniel Lemire's Blog | March 31, 2024 at 02:00 PM
In modern C++, as in many popular languages, you can create ‘lambdas’. Effectively, they are potentially anonymous function instances that you can create on the...Daniel Lemire From Daniel Lemire's Blog | March 22, 2024 at 11:14 AM
Suppose you need to read several files on a server using JavaScript. There are many ways to read files in JavaScript with a runtime like Node.js. Which one is best...Daniel Lemire From Daniel Lemire's Blog | March 12, 2024 at 11:43 AM
Canada has several political parties with elected member of parliament: the Liberals, the Conservatives, the Bloc Québecois, de NDP and the Green. But do the behave...Daniel Lemire From Daniel Lemire's Blog | March 8, 2024 at 10:59 AM
When I was young, science fiction was the genre of choice for many engineers and scientists. But the genre declined significantly in recent years. Part of the problem...Daniel Lemire From Daniel Lemire's Blog | February 24, 2024 at 01:35 PM
Modern processor have fancy instructions that can do many operations at one using wide registers: SIMD instructions. Intel and AMD have 512-bit registers and associated...Daniel Lemire From Daniel Lemire's Blog | February 19, 2024 at 04:39 PM
Intel has release a new generation of server processors (Sapphire Rapids) while the latest AMD technology (Zen 4) is now broadly available. There are extensiveContinue...Daniel Lemire From Daniel Lemire's Blog | February 9, 2024 at 02:57 PM
A hash function maps values (e.g., strings) into a fixed number of strings, typically smaller than the original. It is useful to compare quickly two long strings...Daniel Lemire From Daniel Lemire's Blog | February 4, 2024 at 03:29 PM
One of the established and most popular programming languages is the C programming language. It is relatively easy to learn, and highly practical. Maybe surprisingly...Daniel Lemire From Daniel Lemire's Blog | January 21, 2024 at 02:20 PM
In my previous post, I described how you can write a C++ program to estimate your read memory bandwidth. It is not very difficult: you allocate a large memory region...Daniel Lemire From Daniel Lemire's Blog | January 18, 2024 at 10:47 AM
One of the limitations of a compute is the memory bandwidth. For the scope of this article, I define “memory bandwidth” as the maximal number of bytes you can bring...Daniel Lemire From Daniel Lemire's Blog | January 13, 2024 at 04:00 PM
Intel and AMD have expanded the x64 instruction sets over time. In particular, the SIMD (Single instruction, multiple data) instructions have become progressively...Daniel Lemire From Daniel Lemire's Blog | January 11, 2024 at 02:53 PM
Parenting does not appear to be able to determine the personality traits of a child. When the last ice age ended, 12,000 years ago, the Sahara was green and full...Daniel Lemire From Daniel Lemire's Blog | December 30, 2023 at 03:18 PM
Our computers do not read or write memory in units of bits or even bytes. Rather memory is accessed in small blocks of memory called “cache line”. For a given system...Daniel Lemire From Daniel Lemire's Blog | December 12, 2023 at 01:17 PM
When programming in a JavaScript environment such as Node.js, you might recover raw data from the network and need to convert the bytes into strings. In a system...Daniel Lemire From Daniel Lemire's Blog | December 8, 2023 at 12:40 AM
When you recover textual content from the disk or from the network, you may expect it to be a Unicode string in UTF-8. It is the most common format. Unfortunately...Daniel Lemire From Daniel Lemire's Blog | December 5, 2023 at 05:23 PM
Suppose that you want to parse quickly 8-bit integers (0, 1, 2, …, 254, 255) from an ASCII/UTF-8 string. The problem comes up in the simdzone project lead by Jeroen...Daniel Lemire From Daniel Lemire's Blog | November 28, 2023 at 03:17 PM
Modern web applications often use the http/https protocols. However, when the server and client needs to talk to each other in a symmetrical fashion, the WebSocket...Daniel Lemire From Daniel Lemire's Blog | November 27, 2023 at 07:16 PM
Conventional web applications use the http protocol (or the https variant). The http protocol is essentially asymmetrical: a client application such as a browser...Daniel Lemire From Daniel Lemire's Blog | November 25, 2023 at 02:04 PM
Vitamin K2 supplements might reduce the risk of myocardial infarction (heart attacks) and of all-cause death (Hasific et al. 2022). You find vitamin K2 in someContinue...Daniel Lemire From Daniel Lemire's Blog | November 12, 2023 at 01:42 PM